*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
94843cc1
GM
12001-05-31 Gerd Moellmann <gerd@gnu.org>
2
3 * term.c: (tty_cursor_hidden): New variable.
4 (update_begin): Don't call tty_hide_cursor. Clean up.
5 (update_end, set_terminal_window, set_scroll_region): Clean up.
6 (ring_bell, reset_terminal_modes): Clean up.
7 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
8 on tty_cursor_hidden.
9 (write_glyphs): Call tty_hide_cursor.
10
db3a49a6
SM
112001-05-30 Stefan Monnier <monnier@cs.yale.edu>
12
13 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
14
8bd189fb
GM
152001-05-30 Gerd Moellmann <gerd@gnu.org>
16
6f1be3b9
GM
17 * xfns.c (enum image_value_type): New enumerator
18 IMAGE_STRING_OR_NIL_VALUE.
19 (parse_image_spec): Handle it.
20 (xbm_format, pbm_format): Use it for :foreground and :background.
21 (xbm_load, pbm_load): Check for nil color names.
22
8bd189fb
GM
23 * xterm.c (note_mouse_highlight): If an overlapping overlay
24 exists, but we find that we highlight the same overlay as before,
25 don't do the highlighting again.
26
7bdba03c
GM
272001-05-29 Gerd Moellmann <gerd@gnu.org>
28
4c329aa8
GM
29 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
30 Protect unibyte strings created by replacing their multibyte
31 equivalents in menu_items.
32
e15e2828
GM
33 * keymap.c (Fsingle_key_description): NUL-terminate the string
34 buffer before calling build_string.
35
7bdba03c
GM
36 * callproc.c (Fcall_process): Deal with decode_coding returning
37 CODING_FINISH_INCONSISTENT_EOL.
38
89c8dc6c
GM
392001-05-28 Gerd Moellmann <gerd@gnu.org>
40
db3a49a6 41 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
42 an item's name with its key description in case the description
43 is a multibyte string.
44
45 * keymap.c (Fsingle_key_description): Create a multibyte string
46 only if necessary.
47
eb04d6cd
GM
48 * macros.c (Fstart_kbd_macro): Doc fix.
49
8bd6307f
GM
50 * xterm.c (cursor_in_mouse_face_p): New function.
51 (x_draw_stretch_glyph_string): Use it to choose a different GC
52 when drawing a cursor within highlighted text.
53
e26c4089
GM
54 * editfns.c (char_property_eq): Put in #if 0.
55
56 * indent.c (string_display_width): Put in #if 0.
57
58 * lread.c (Fload): Remove unused label.
59
89c8dc6c
GM
60 * termcap.c (speeds): Put in #if 0.
61
9a1211f2
GM
622001-05-18 Gerd Moellmann <gerd@gnu.org>
63
29148a3f
GM
64 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
65
9a1211f2
GM
66 * xfaces.c (xlfd_point_size): Don't divide pixel size from
67 transformation matrix by 10.
68
09393d07
GM
692001-05-16 Gerd Moellmann <gerd@gnu.org>
70
71 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
72 only if it's equal to the former foreground pixel color.
db3a49a6 73 (x_set_foreground_color, x_set_background_color)
09393d07
GM
74 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
75
460e6bae
GM
762001-05-16 Dave Love <fx@gnu.org>
77
78 * insdel.c (signal_before_change, signal_after_change): Consider a
79 local change hook which changes the buffer.
99c78ce8
GM
80
81 * process.c (read_process_output): Don't call signal_after_change
82 and update_compositions after insert_from_string_before_markers.
83
dbcf3c03
GM
842001-05-16 Gerd Moellmann <gerd@gnu.org>
85
a90b3d3c
GM
86 * xfaces.c (split_font_name): Use the right field when
87 checking for `[...]' syntax.
88
1b7818b4
GM
89 * buffer.c (copy_overlays): New function.
90 (clone_per_buffer_values): Use it.
91
92 * buffer.h (OVERLAY_PLIST): New macro.
93
9bae8781
GM
94 * keymap.c (Fsingle_key_description): Replace a build_string with
95 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
96
dbcf3c03
GM
97 * fontset.c (Ffontset_info): Check that face is non-null
98 before accessing its fields.
99
8a1ae4dd
GM
1002001-05-15 Gerd Moellmann <gerd@gnu.org>
101
18a0a39e
GM
102 * keyboard.c (read_key_sequence): Prevent generating a fake
103 prefix key twice.
104
e335b66a
GM
105 * xfaces.c (split_font_name): Handle `[...]' for the right
106 font name fields.
107
8a1ae4dd
GM
108 * ccl.c (ccl_driver): Don't copy remaining bytes in case
109 of CCL_STAT_INVALID_CMD.
110
3cf80731
SM
1112001-05-14 Stefan Monnier <monnier@cs.yale.edu>
112
33568849
SM
113 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
114 in <var> has no default value yet.
115
3cf80731
SM
116 * xfaces.c (try_alternative_families): First try the FAMILY.
117 And if nothing is found in the end, try again with scalable fonts.
118 (try_font_list): Let try_alternative_families do a bit more of
119 the work. Only use FAMILY if it is not nil.
120 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
121
933b0249
GM
1222001-05-14 Gerd Moellmann <gerd@gnu.org>
123
58e5af83
GM
124 * xterm.c (note_mouse_highlight): Avoid changing the mouse
125 pointer shape when show_mouse_face has already done it.
33568849 126
58e5af83 127 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
128 full-width rows.
129
7b16a6bf
GM
130 * xfaces.c (split_font_name): Make sure to leave the loop
131 with the right value of `i'.
3cf80731 132
933b0249
GM
133 * xfaces.c (split_font_name): Handle matrix transformations
134 in the pixel and point size fields of XLFD font names.
135 (xlfd_point_size): Likewise.
136
dddcbf00
EZ
1372001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
138
3cf80731 139 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
140 (x_to_w32_font): Add prototype.
141
7689ef0b
EZ
142 * regex.c (malloc, realloc, free) [emacs]: Undefine before
143 redefining, to avoid compiler warnings.
144
e7c15bba
EZ
145 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
146
dddcbf00
EZ
147 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
148 (w32_get_bdf_glyph): Cast between unsigned char and char when
149 passing arguments to subroutines, to shut up compiler warnings.
150 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
151 GET_HEX_VAL.
152
153 * xfaces.c: Include keyboard.h before frame.h, not after it.
154
155 * widget.c: Include keyboard.h before frame.h.
156
157 * w32term.h (struct image, struct face): Forward declaration, to
158 avoid compiler warnings.
159
7bd2d083
GM
1602001-05-11 Gerd Moellmann <gerd@gnu.org>
161
47e72862
GM
162 * keyboard.c (read_key_sequence): Don't modify events when
163 generating fake prefix keys (mode-line, scroll-bar, ...) since
164 this prevents proper processing of such events when pushed back
165 into unread-command-events.
166
dd5f324b
GM
167 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
168 actually redrawn. Make the function static.
169 (note_mouse_highlight): Fix a case where the mouse cursor
170 was changed back to the text cursor.
171
172 * xterm.h (clear_mouse_face): Remove prototype.
173
d88a79d4
GM
174 * xdisp.c (try_window_id): Fix the fix and set the right
175 window_end_vpos.
176
177 * xdisp.c (try_window_id): Fix computation of window end in the
178 case that lines were deleted at the end of the window. Add some
179 more debug_method_adds.
0416532f 180
7bd2d083
GM
181 * xfaces.c (try_alternative_families): New function.
182 (try_font_list): Use it. If ATTRS specifies a family, check
183 fonts from that family first.
184 (choose_face_font): Remove code setting the family part of
185 the pattern to nil.
186
23fca891
GM
1872001-05-10 Gerd Moellmann <gerd@gnu.org>
188
ff9aa2ca
GM
189 * xdisp.c (try_window_id): Fix case of all changes before
190 the window start.
7b2654b5 191
23fca891
GM
192 * xdisp.c (try_window_id): Add some xasserts.
193
e9726794
GM
1942001-05-09 Gerd Moellmann <gerd@gnu.org>
195
196 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
197
9e53a675
GM
1982001-05-09 Dave Love <fx@gnu.org>
199
200 * xdisp.c (GIVE_UP): Fix for K&R C.
201
0d487c52
GM
2022001-05-09 Gerd Moellmann <gerd@gnu.org>
203
fe88d421
GM
204 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
205
0d487c52
GM
206 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
207 back to the text cursor shape without need.
208
1e9fc92e
GM
2092001-05-07 Gerd Moellmann <gerd@gnu.org>
210
a2a6232e
GM
211 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
212
213 * dispextern.h (inverse_video): Declare extern.
214
1e9fc92e
GM
215 * keyboard.c (delete_kboard): Handle the case that selected_frame
216 has been deleted in the course of x_connection_closed.
217
12949a7f
EZ
2182001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
219
7b2654b5
SM
220 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
221 Fix the change from 2001-04-30.
12949a7f 222
2fa2f461
GM
2232001-05-03 Gerd Moellmann <gerd@gnu.org>
224
a779d213
GM
225 * xfns.c (file_dialog_unmap_cb): New function.
226 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
227 where a dialog is closed via the window manager.
228
7b2654b5 229 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
230 the window start or all below the window end mostly rewritten.
231 (redisplay_window): Move the tests if try_window_id is
232 applicable to try_window_id.
233 (GIVE_UP): New macro.
234
3356df63
GM
2352001-05-02 Gerd Moellmann <gerd@gnu.org>
236
a39202f6 237 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
238 currently being updated, mark the frame garbaged.
239 Fix computation of rows intersecting the exposed rectangle.
a39202f6 240 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 241
3356df63
GM
242 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
243 again if it has already been drawn.
244
a9d2fd1d
SM
2452001-05-01 Stefan Monnier <monnier@cs.yale.edu>
246
247 * syntax.c (update_syntax_table): Check that oldi has the same
248 properties as old_prop before deciding not to invalidate.
249
c95fc5f1
GM
2502001-04-30 Gerd Moellmann <gerd@gnu.org>
251
a9793e45
GM
252 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
253 read-only text that is so because of text properties.
254
c95fc5f1 255 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 256 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
257 windows that are components of a Lucid menu bar.
258
5a5d9185
GM
2592001-04-27 Gerd Moellmann <gerd@gnu.org>
260
261 * term.c (turn_on_face): Fix reverse video handling on terminals
262 that don't support colors.
263
ba973f7a
GM
2642001-04-26 Gerd Moellmann <gerd@gnu.org>
265
266 * editfns.c (save_excursion_restore): Don't use XBUFFER on
267 a non-buffer.
268
8c56a983
GM
2692001-04-25 Gerd Moellmann <gerd@gnu.org>
270
a728644c
GM
271 * term.c (toggle_highlight): New function.
272 (turn_on_face): Change handling of reverse video.
273
7b2654b5
SM
274 * process.c (wait_reading_process_input):
275 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 276
bfd8410f
GM
277 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
278 of the number of overlays to check.
279
be2488ca
GM
280 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
281
8c56a983
GM
282 * xdisp.c (try_window_id): Fix a case where window_end_pos
283 and window_end_bytepos were not adjusted.
284
522d42f7
GM
2852001-04-23 Gerd Moellmann <gerd@gnu.org>
286
287 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
288 zero instead of -1.
289
78c1afb6
EZ
2902001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
291
a9d2fd1d
SM
292 * process.c (wait_reading_process_input) [!subprocesses]:
293 Don't reference waiting_for_user_input_p, it's not defined in the
294 branch without async subprocesses support.
78c1afb6 295
a2fab450
GM
2962001-04-19 Gerd Moellmann <gerd@gnu.org>
297
a122a38e
GM
298 * keyboard.c (delete_kboard): Prevent a dangling reference
299 from current_kboard to KB, which is freed.
300
a9d2fd1d
SM
301 * process.c (wait_reading_process_input):
302 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
303 read_key_sequence aware of buffer changes from under it.
304
0f8d6dc7
GM
3052001-04-18 Gerd Moellmann <gerd@gnu.org>
306
eeffb293
GM
307 * xfaces.c (Qscalable_fonts_allowed): New variable.
308 (realizing_basic_faces_p): Removed.
2fa2f461
GM
309 (x_face_list_fonts): Special handling for realizing_basic_faces_p
310 removed.
eeffb293 311 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
312 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
313 for scalable-fonts-allowed to t.
eeffb293 314
0f8d6dc7
GM
315 * fileio.c (Finsert_file_contents): If the file size returned from
316 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 317 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 318
eec2d1de
EZ
3192001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
320
321 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
322 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
323 (__memalign_hook): Make the two prototypes consistent.
324
f4f480bd
GM
3252001-04-17 Gerd Moellmann <gerd@gnu.org>
326
327 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
328 matrix of mini-windows.
329
52283633
SM
3302001-04-12 Stefan Monnier <monnier@cs.yale.edu>
331
332 * intervals.c (find_interval): Don't rebalance during signal handling.
333
ec2423c9
GM
3342001-04-11 Gerd Moellmann <gerd@gnu.org>
335
30cb0001 336 * fns.c: Include blockinput.h.
52283633 337
ec2423c9
GM
338 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
339
719d83ad
GM
3402001-04-10 Gerd Moellmann <gerd@gnu.org>
341
60f8d735
GM
342 * fns.c (Fcompare_strings): Fix return values.
343
afffeb57
GM
344 * window.c (window_scroll): Change the meaning of N to mean
345 N screen-fulls or N lines.
346 (window_scroll_pixel_based, window_scroll_line_based)
347 (scroll_command, Fscroll_other_window): Change accordingly.
348
52283633
SM
349 * window.c (window_scroll_pixel_based, Frecenter):
350 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
351 height of the window.
352
353 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
354 instead of using it.last_visible_y for the height of the window.
52283633 355
719d83ad 356 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 357 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
358
359 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
360 able to write to hidden and system files. From Dan Holmsand
361 <dan@eyebee.com>.
719d83ad 362
8ddf3ee1
GM
363 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
364 Holmsand <dan@eyebee.com>.
719d83ad 365
522ed7fb
GM
3662001-04-09 Gerd Moellmann <gerd@gnu.org>
367
9170e5d4
GM
368 * fns.c (Fplist_get, Fplist_put): Add QUITs.
369
522ed7fb
GM
370 * window.c (window_internal_height): Return 1 less if the
371 window has a header line.
372
373 * xdisp.c (try_window_id): When scrolling on a terminal, take
374 the change of window_internal_height into account.
375
ceeb3d7d
EZ
3762001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
377
378 * gmalloc.c (align): If the argument SIZE would overflow
379 __malloc_ptrdiff_t, fail right away.
380
63685b9d
GM
3812001-04-06 Gerd Moellmann <gerd@gnu.org>
382
383 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
384 Make sure the tooltip is completely visible.
385 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
386
387 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
388
389 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
390
3ffb33bb
DL
3912001-04-06 Dave Love <fx@gnu.org>
392
52283633
SM
393 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
394 Fix test of `from'.
3ffb33bb 395
869fb12c
GM
3962001-04-06 Gerd Moellmann <gerd@gnu.org>
397
52283633 398 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 399
869fb12c
GM
400 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
401
441bf856
GM
4022001-04-05 Gerd Moellmann <gerd@gnu.org>
403
4d664b04
GM
404 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
405
52283633 406 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 407
30ca89f5
GM
408 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
409 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
410
411 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
412 shell widget's position only if it is non-null.
413
52283633
SM
414 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
415 Set f->output_data.x->widget to null after destroying it.
30ca89f5 416
81a81c0f
GM
417 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
418 FILENAME to bring it in synch with the documentation.
419
441bf856
GM
420 * xfaces.c (realizing_basic_faces_p): Renamed from
421 realize_default_face_p.
422 (realize_basic_faces): Set/clear realizing_basic_faces_p.
423 (realize_default_face): Don't set the flag.
424
702a1e8e
GM
4252001-04-04 Gerd Moellmann <gerd@gnu.org>
426
1013f4e3
GM
427 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
428
52283633
SM
429 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
430
1013f4e3
GM
431 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
432 the buffer that was used for echoing.
433
702a1e8e
GM
434 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
435 (first_font_matching): Removed unused function.
436 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
437 (may_use_scalable_font_p): Remove parameter FONT; rename
438 parameter NAME to FONT.
439 (x_face_list_fonts): Fix missing bounds check.
440 (realizing_default_face_p): New variable.
441 (realize_default_face): Set and clear that flag.
442 (x_face_list_fonts): When called during the realization of the
443 default face, and no matching fonts are found when ignoring
444 scalable fonts and fonts matching a regexp from
445 face-ignored-fonts, try without ignoring fonts.
446
f9dbcda4
GM
4472001-04-03 Gerd Moellmann <gerd@gnu.org>
448
ad18ffb1
GM
449 * xfns.c (postprocess_image): New function.
450 (lookup_image): Call it for all image types except PostScript.
451 (x_kill_gs_process): Call postprocess_image.
452
f9dbcda4
GM
453 * xterm.c (x_use_underline_position_properties): New variable.
454 (x_draw_glyph_string): Use it.
455 (syms_of_xterm): DEFVAR_BOOL it.
456
651f03b6
GM
4572001-04-02 Gerd Moellmann <gerd@gnu.org>
458
459 * xterm.c (x_alloc_nearest_color_1): New function.
460 (x_alloc_nearest_color): Use it.
461 (x_color_cells): Take a Display as argument, instead of a frame.
462 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
463 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
464 (x_initialize): Register cvt_string_to_pixel as resource converter
465 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
466
73d75a62
GM
4672001-03-30 Gerd Moellmann <gerd@gnu.org>
468
b2046df8
GM
469 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
470 (set_iterator_to_next): If a string from a display property ends,
471 consider the case that this might also be the end of an
472 overlay string having the display property.
473
52283633 474 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 475
87d8eba4
GM
476 * xdisp.c (reseat_to_string): Undo last change.
477
73d75a62
GM
478 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
479 matrix of a window when the header line changes, when
480 new rows are allocated, or when the width changes.
481
911a2406
EZ
4822001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
483
52283633 484 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 485
aea51abe
EZ
4862001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
487
488 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
489 deprecated.
490
176bc847
GM
4912001-03-29 Gerd Moellmann <gerd@gnu.org>
492
ed31fabf
GM
493 * data.c (Fsubr_interactive_form): New function.
494 (syms_of_data): Defsubr it.
495
176bc847
GM
496 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
497 (live_float_p, live_misc_p): Return 1 only if the offset of the
498 pointer in its block is >= 0.
499
e59d0e9d
GM
5002001-03-28 Paul Eggert <eggert@twinsun.com>
501
502 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
503 microseconds calcuation. Avoid double-rounding problem.
504 In doc string, warn that the result is approximate.
505
f827b862
GM
5062001-03-28 Gerd Moellmann <gerd@gnu.org>
507
30a3f61c
GM
508 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
509 bind `inhibit-eval-during-redisplay' to t.
510
511 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
512
513 * xdisp.c (inhibit_eval_during_redisplay)
514 (Qinhibit_eval_during_redisplay): New variables.
515 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
516 don't eval, return nil instead.
517 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
518 Initialize Qinhibit_eval_during_redisplay.
519
e719f5ae
GM
520 * xdisp.c (reseat_to_string): If STRING is multibyte, set
521 the iterator's multibyte_p flag.
522
deb2613a
GM
523 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
524 instead of setting it to zero; it's incremented for each frame
525 where the menu face is changed.
526
52283633
SM
527 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
528 change bottom shadow accordingly.
529
530 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
531 intersections here.
532 (expose_window): Do it here instead.
52283633 533 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 534
f827b862
GM
535 * bytecode.c (BYTE_CODE_QUIT): New macro.
536 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
537
4bde0ebb
GM
5382001-03-27 Gerd Moellmann <gerd@gnu.org>
539
607ec83c
GM
540 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
541 Give up if matrix starts in an ellipsis.
542 (init_from_display_pos): Do nothing if POS doesn't specify
543 a dpvec_index but the iterator has such a position.
544
0245398f
GM
545 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
546
aba25348
GM
547 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
548 x/y position is (0, 0) after destroying the menu bar, restore
549 its original position.
550
4bde0ebb
GM
551 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
552 (init_from_display_pos): Use it.
553 (try_window_reusing_current_matrix): Don't use cursor_row_p.
554
8cdb267e
GM
5552001-03-26 Gerd Moellmann <gerd@gnu.org>
556
557 * xdisp.c (try_window_id): Undo last change.
558
9948db79
EZ
5592001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
560
561 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
562
563 * buffer.c (syms_of_buffer): Doc fix.
564
2eddf899
GM
5652001-03-26 Gerd Moellmann <gerd@gnu.org>
566
567 * xfaces.c (x_update_menu_appearance): Use local variable
568 popup_path for setting font resources.
569
6c145d35
EZ
5702001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
571
6a65b1b5
EZ
572 * frame.c (Fframe_list): Don't reference tip_frame if
573 HAVE_WINDOW_SYSTEM is not defined.
574
6c145d35
EZ
575 * emacs.c (main): Update the copyright year. From Werner LEMBERG
576 <wl@gnu.org>.
577
d74c1900
GM
5782001-03-25 Gerd Moellmann <gerd@gnu.org>
579
20fbd925
GM
580 * xdisp.c (init_from_display_pos): Test invisible property
581 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 582
927c5b3b
GM
583 * xdisp.c (redisplay_internal) <update one window>: Make sure
584 last_arrow_position and last_arrow_string are set.
585
d74c1900
GM
586 * frame.c (Fframe_list): Don't return a tooltip frame.
587
091f8878
GM
5882001-03-23 Gerd Moellmann <gerd@gnu.org>
589
52283633
SM
590 * xdisp.c (mark_window_display_accurate_1): New function,
591 extracted from mark_window_display_accurate.
592 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
593 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
594 (mark_window_display_accurate): Use it.
595 (redisplay_internal): Use it for the selected window.
596 (redisplay_internal): Avoid duplicate mark_window_display_accurate
597 for the selected frame.
598
ac90c44f
GM
599 * xdisp.c Use make_number, for readability.
600 (try_window_id): Disable rows below the window end.
601 (try_window_reusing_current_matrix): Use cursor_row_p.
602 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
603 of rows.
604 (init_from_display_pos): If POS specifies a position in a display
605 vector, maybe get the iterator set up for that ellipsis.
43c09969 606
091f8878
GM
607 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
608
991786dd
EZ
6092001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
610
611 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
612
6c29b43c
GM
6132001-03-23 Gerd Moellmann <gerd@gnu.org>
614
615 * xfaces.c (x_update_menu_appearance): Use a different path
616 for Lucid popup menus.
617
d8731202
SM
6182001-03-22 Stefan Monnier <monnier@cs.yale.edu>
619
620 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
621
622 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
623 (string_buffer_position): Use `make_number'.
624
f61a541b
GM
6252001-03-22 Gerd Moellmann <gerd@gnu.org>
626
3c9e997b
GM
627 * xfaces.c (x_update_menu_appearance): Renamed from
628 x_set_menu_face_resources. Use different resources for popups.
629
630 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
631 (GC_CHECK_STRING_BYTES): Don't define.
632
364cd450
GM
633 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
634 Removed, together with subroutines.
635 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 636 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 637
d8731202
SM
638 * dispextern.h (x_set_menu_resources_from_menu_face):
639 Remove prototype.
364cd450 640
d8731202 641 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
642 Remove calls to x_set_menu_resources_from_menu_face.
643
d8731202
SM
644 * xfaces.c (xm_set_menu_resources_from_menu_face):
645 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
646
647 * xmenu.c: Include widget.h.
648 (single_submenu): Return int. Some cleanup.
649 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
650
140330de
GM
6512001-03-21 Gerd Moellmann <gerd@gnu.org>
652
653 * xterm.c (x_update_window_end): Handle overwritten mouse face
654 also for tool bar windows.
655 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
656 DRAW is DRAW_IMAGE_RAISED.
657
1741905c
GM
6582001-03-20 Gerd Moellmann <gerd@gnu.org>
659
fa88947e
GM
660 * print.c (syms_of_print): Doc fixes.
661
1741905c
GM
662 * fns.c (Fmd5): Doc fix.
663
ade0bee1
GM
6642001-03-19 Gerd Moellmann <gerd@gnu.org>
665
357e7376
GM
666 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
667 Clear area of the frame not occupied by the scroll bar.
668
c2c097cc
GM
669 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
670 tip frame's root window buffer to *tip* right after creating
671 the frame.
672
ade0bee1
GM
673 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
674 is an integer don't have to be for space characters.
675
88c6e37e
GM
6762001-03-16 Gerd Moellmann <gerd@gnu.org>
677
52283633
SM
678 * indent.c (current_column, current_column_1, Fmove_to_column)
679 (compute_motion): Handle characters from display vectors differently.
88c6e37e 680
c62eed76
KH
6812001-03-15 Kenichi Handa <handa@etl.go.jp>
682
683 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
684 drawing glyph string.
685
c899e7e6
GM
6862001-03-15 Gerd Moellmann <gerd@gnu.org>
687
d0bbfc99
GM
688 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
689 (command_loop_1): Undo last change.
690
03d1a189
GM
691 * xterm.c (fast_find_position): Return the correct vpos.
692
c899e7e6 693 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 694 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
695 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
696 Call store_symval_forwarding with BUF null.
697 (set_internal): Call store_symval_forwarding with the BUF
698 parameter passed to set_internal. Formerly, the value was always
699 set in the current buffer; the buffer recorded in specbind for
700 this case wasn't used.
701 (arith_driver): Reindent.
702
52283633
SM
703 * buffer.c (swap_out_buffer_local_variables):
704 Call store_symval_forwarding with BUF null.
c899e7e6
GM
705
706 * lisp.h (store_symval_forwarding): Change prototype.
707
708 * eval.c (specbind): Call store_symval_forwarding with BUF null.
709
57ac7c81
GM
7102001-03-14 Gerd Moellmann <gerd@gnu.org>
711
697617d9
GM
712 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
713 FOR_DELETION. Avoid resizing the mini-window of the selected
714 frame if FOR_DELETION is set.
715 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
716 (Fmake_frame_invisible): Change calls to do_switch_frame for new
717 signature.
718
719 * window.c (Fset_window_configuration): Change call to
720 do_switch_frame to new format.
721
722 * keyboard.c (quit_throw_to_read_char): Change call to
723 do_switch_frame to new format.
724
725 * lisp.h (do_switch_frame): Change prototype.
726
819dce0f
GM
727 * frame.c (Fframe_parameters): In the `buffer-list' frame
728 parameter, store the buffer list of FRAME, not the list of the
729 selected frame.
730
57ac7c81
GM
731 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
732 box just because the glyph row's full_width_p flag is set.
733
65008712
GM
7342001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
735
736 * xdisp.c (highlight_trailing_whitespace): On character terminals,
737 skip the padding blanks inserted in extend_face_to_end_of_line,
738 before checking for trailing whitespace.
739
159cf431
GM
7402001-03-13 Gerd Moellmann <gerd@gnu.org>
741
52283633 742 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
743 Remove special handling for LessTif/Motif.
744 (toplevel): Don't include Xm/Xm.h.
745
52283633
SM
746 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
747 Remove workaround code for LessTif; it doesn't work anymore.
748
2564ea1b 749 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 750 Xm/ScrollBarP.h.
afcdc0a1 751
52283633
SM
752 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
753 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
754 contemporary LessTif.
755
52283633
SM
756 * xfaces.c (xm_set_menu_resources_from_menu_face):
757 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 758
159cf431
GM
759 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
760 removing button grabs.
761
c6f7429a
KH
7622001-03-13 Kenichi Handa <handa@etl.go.jp>
763
cb82d767
KH
764 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
765 and clip-large-size-font as obsolete.
766
c6f7429a
KH
767 * lread.c (read_multibyte): Check the validity of multibyte
768 sequence. If invalid, return the first byte.
769
760cefb5
GM
7702001-03-12 Gerd Moellmann <gerd@gnu.org>
771
772 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
773 before running the command; timer functions or process
774 filters may have set it.
775
5141f9d0
EZ
7762001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
777
778 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
779 Doc fix.
780
b6a15240
GM
7812001-03-12 Gerd Moellmann <gerd@gnu.org>
782
783 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
784 to sprintf.
785
95522746
GM
7862001-03-09 Gerd Moellmann <gerd@gnu.org>
787
db14cfc5
GM
788 * dispextern.h (string_buffer_position): Add prototype.
789
52283633 790 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
791 (single_display_prop_string_p): New functions.
792
793 * xterm.c (note_mouse_highlight): If there's no help-echo on
794 a string, look at the buffer text ``under'' it.
795
796 * keyboard.c (make_lispy_event): Add string info to the event,
797 analogous to what's done on mode lines.
798 (read_key_sequence): For a click on a string, consider `local-map'
799 and `keymap' of that string.
800
52283633
SM
801 * keyboard.c (make_lispy_event, make_lispy_movement):
802 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
803
804 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
805
806 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
807 POS; return void.
808
95522746
GM
809 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
810 flags argument to emacs_open; it seems to conflict with O_EXCL.
811
898a399d
KH
8122001-03-09 Kenichi Handa <handa@etl.go.jp>
813
28cd4910
KH
814 * composite.h (struct composition): Change types of members;
815 glyph_len to unsigned, width to unsigned short.
898a399d 816
4cdf6a6c
AI
8172001-03-08 Andrew Innes <andrewi@gnu.org>
818
819 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
820 menu titles.
821
129004d3
GM
8222001-03-08 Gerd Moellmann <gerd@gnu.org>
823
221dd3e7
GM
824 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
825 instead of nil.
826
52283633 827 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
828 help-echo in strings.
829 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
830 (fast_find_string_pos): New function.
831
52283633
SM
832 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
833 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
834
835 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
836 Handle `mouse-face'.
837
838 * dispextern.h (face_at_string_position): Change prototype.
839
52283633 840 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 841
129004d3
GM
842 * keyboard.c (make_lispy_event): Avoid generating drag events
843 if the mouse hasn't actually moved to another buffer position.
52283633 844
80c8ab8c
DL
8452001-03-08 Dave Love <fx@gnu.org>
846
129004d3 847 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 848
989521fd
GM
8492001-03-08 Gerd Moellmann <gerd@gnu.org>
850
851 * process.c (Fset_process_window_size): Fix a typo.
852
bb5c338d
KH
8532001-03-08 Kenichi Handa <handa@etl.go.jp>
854
855 * coding.c (detect_coding_sjis): Do more rigid check.
856 (detect_coding_big5): Likewise.
857 (decode_coding_sjis_big5): Likewise.
858 (Fdetect_coding_region): Call detect_coding_system with tailing
859 anchor byte `\0' for more rigid detection.
52283633 860 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
861 (Fdetect_coding_string): Likewise.
862
8b8f9197
SM
8632001-03-07 Stefan Monnier <monnier@cs.yale.edu>
864
865 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
866 a string before extracting its data.
867
3bdf2660
GM
8682001-03-07 Gerd Moellmann <gerd@gnu.org>
869
870 * window.c (Frecenter): Rewrite code handling negative values
871 of ARG on graphical frames.
872
8732001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
874
875 * window.c (displayed_window_lines): If W->start is outside the
876 accessible portion of the buffer, call start_display with BEGV or
877 ZV instead of W->start.
878
471f86b9
GM
8792001-03-07 Gerd Moellmann <gerd@gnu.org>
880
2ab62c6c
GM
881 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
882
471f86b9
GM
883 * process.c (Fset_process_filter): Don't crash if the input
884 file descriptor of PROCESS is closed.
885 (Fset_process_window_size): Likewise.
886
101922c3
GM
8872001-03-06 Kenichi Handa <handa@etl.go.jp>
888
889 * xterm.c (XTflash): Make the timeout of select shorter, and call
890 select repeatedly until the desired time expires.
891
45d051a7
GM
8922001-03-06 Gerd Moellmann <gerd@gnu.org>
893
894 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
895
896 * xfns.c (Fx_create_frame): Clear Vwindow_list.
897
898 * lisp.h (Vwindow_list): Declare extern.
899
8f372c46
EZ
9002001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
901
902 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
903
f16a7aa5
GM
9042001-03-06 Gerd Moellmann <gerd@gnu.org>
905
157ae273
GM
906 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
907 to detect a case where we have to highlight a different region
908 despite not having left the currently highlighted region.
909 Set mouse_face_overlay in the x_display_info.
45d051a7 910 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
911
912 * xterm.h (struct x_display_info): Add mouse_face_overlay.
913
914 * buffer.c (mouse_face_overlay_overlaps): New function.
915
916 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
917 (Qmouse_face): Declare extern.
918
f16a7aa5
GM
919 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
920 if face_change_count is non-zero.
921
827afcac
KH
9222001-03-06 Kenichi Handa <handa@etl.go.jp>
923
924 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
925 that the source is unibyte.
926
14c7242e
DL
9272001-03-05 Dave Love <fx@gnu.org>
928
827afcac 929 * xterm.c (XTmouse_position): Fix typo.
14c7242e 930
c28b847b
GM
9312001-03-05 Gerd Moellmann <gerd@gnu.org>
932
933 * minibuf.c (read_minibuf): Clean up the binding stack if
934 called noninteractively.
935
b86644f2
KH
9362001-03-05 Kenichi Handa <handa@etl.go.jp>
937
938 * coding.c (syms_of_coding): Docstring modified.
939
203682cc 9402001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
941
942 * charset.c (char_to_string): If a single byte char has modifier
943 bits that can't be reflected to the character code, ignore them
45d051a7 944 instead of signaling an error.
b86644f2 945
e30bd7b7
EZ
9462001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
947
948 * s/msdos.h: Update copyright notice.
949
950 * dosfns.h: Update copyright notice.
951
952 * dosfns.c: Update copyright notice.
953
954 * msdos.c: Update copyright notice.
955
b52b65bd
GM
9562001-03-02 Gerd Moellmann <gerd@gnu.org>
957
958 * xterm.c (glyph_rect): New function.
959 (XTmouse_position): Use it to raise the threshold for mouse
960 movement event generation.
961
53c4b1e6
EZ
9622001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
963
964 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
965 specifies (reverse . t), reverse the initial screen colors.
966 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
967 but we are reversing the colors, set bg_set, not fg_set.
968 Likewise for setting background-color and reversing: set fg_set.
969 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
970 in effect.
971
972 * xfaces.c (Finternal_set_lisp_face_attribute)
973 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
974 parameters alist.
975
f964b4d7
GM
9762001-03-02 Gerd Moellmann <gerd@gnu.org>
977
ef53d75e
GM
978 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
979 to a single slash in the middle of file names.
980
52283633 981 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
982 Accept only alphanumeric time zone names.
983
f964b4d7
GM
984 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
985 or width area.
986 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
987 a widget to zero height.
52283633 988
c3c45f65
GM
9892001-03-01 Gerd Moellmann <gerd@gnu.org>
990
991 * window.c (Fwindow_end): Call move_it_past_eol only if
992 ending up on a partially visible line.
993
028d739a
DL
9942001-03-01 Dave Love <fx@gnu.org>
995
996 * ccl.c (Fccl_execute): Doc fix.
997
57c5889c
GM
9982001-03-01 Gerd Moellmann <gerd@gnu.org>
999
35f59f6b
GM
1000 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
1001 of the tool bar before calling x_figure_window_size.
1002
f84ff02c
GM
1003 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
1004 NULL after destroying it, otherwise XTread_socket can access a
1005 destroyed widget when input is unblocked.
1006
8b8f9197 1007 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 1008
57c5889c
GM
1009 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
1010 same name as before, although there was a change in fontsets.
1011
224227d1
KR
10122001-02-28 Ken Raeburn <raeburn@gnu.org>
1013
4560730a
KR
1014 * lisp.h (Fframe_parameter): Declare.
1015
224227d1 1016 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 1017 Lisp_Object.
224227d1 1018
ece93c02
GM
10192001-02-28 Gerd Moellmann <gerd@gnu.org>
1020
11ef99b9
GM
1021 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
1022 NULL instead.
1023
1024 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
1025 NULL instead.
1026
ece93c02
GM
1027 * alloc.c (toplevel): Include process.h.
1028 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
1029 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
1030 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
1031 (allocate_vector, allocate_hash_table, allocate_window)
1032 (allocate_frame, allocate_process, allocate_other_vector):
1033 New functions.
ece93c02
GM
1034 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
1035 (mark_maybe_pointer): New function.
52283633 1036 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
1037 remain and not Lisp_Objects.
1038 (min_heap_address, max_heap_address): New variables.
1039 (mem_find): Return MEM_NIL if START is below min_heap_address or
1040 above max_heap_address.
1041 (mem_insert): Compute min_heap_address and max_heap_address.
1042
1043 * process.c (make_process): Use allocate_process.
1044
1045 * frame.c (make_frame): Use allocate_frame.
1046
1047 * window.c (make_window, make_dummy_parent): Use allocate_window.
1048 (Fcurrent_window_configuration): Use allocate_other_vector.
1049
1050 * lisp.h (allocate_vectorlike): Remove prototype.
1051 (allocate_vector, allocate_other_vector, allocate_frame)
1052 (allocate_window, allocate_process, allocate_hash_table):
1053 Add prototypes.
1054
1055 * fns.c (Fdelete, larger_vector): Use allocate_vector.
1056 (make_hash_table, copy_hash_table): Use allocate_hash_table.
1057
063af457
KH
10582001-02-27 Kenichi Handa <handa@etl.go.jp>
1059
1060 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
1061 treat the produced bytes as a valid multibyte sequence.
1062
1063 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
1064 (ccl_driver) <CCL_WriteMultibyteChar2>:
1065 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
1066 <ccl_finish>: Set ccl->eight_bit_control properly.
1067
1068 * ccl.h (struct ccl_program): New member eight_bit_control.
1069
f58c6494
SM
10702001-02-26 Stefan Monnier <monnier@cs.yale.edu>
1071
1072 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
1073 accessible_keymaps_char_table.
1074 (accessible_keymaps_char_table): Obey `is_metized'.
1075 (where_is_internal, Fwhere_is_internal): Don't confuse int and
1076 Lisp_Object.
1077
c596c392
GM
10782001-02-26 Gerd Moellmann <gerd@gnu.org>
1079
1080 * dispnew.c: Check HAVE_TERM_H before including term.h.
1081
425de386
AI
10822001-02-24 Andrew Innes <andrewi@gnu.org>
1083
1084 * makefile.w32-in: Update copyright notice.
1085
2ba11bbd
SM
10862001-02-24 Stefan Monnier <monnier@cs.yale.edu>
1087
1088 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
1089
66c56ed1
KH
10902001-02-24 Kenichi Handa <handa@etl.go.jp>
1091
4c1593ce
KH
1092 * Makefile.in (lisp): Add international/utf-8.elc.
1093
66c56ed1
KH
1094 * fontset.c (Fnew_fontset): Fix handling of the case that an
1095 element of FONTLIST is a cons of family and registry.
1096
796ead7e
JR
10972001-02-23 Jason Rumney <jasonr@gnu.org>
1098
1099 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
1100 to height unconditionally.
1101
1102 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 1103 background face to the end of the drawing area in the text area, only.
796ead7e
JR
1104 (x_insert_glyphs): Call window_box_left to obtain the left
1105 x-coordinate of the area to shift.
1106
1107 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
1108 safe_run_hooks.
1109
f6839838
AI
11102001-02-22 Andrew Innes <andrewi@gnu.org>
1111
52283633 1112 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1113 ($(BLD)\dispnew.obj):
1114 ($(BLD)\editfns.obj):
1115 ($(BLD)\fileio.obj):
1116 ($(BLD)\filelock.obj):
1117 ($(BLD)\keyboard.obj):
1118 ($(BLD)\w32proc.obj):
1119 ($(BLD)\process.obj):
1120 ($(BLD)\sysdep.obj): Ditto.
1121
1122 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1123 header files.
52283633
SM
1124 ($(BLD)/dispnew.$(O)):
1125 ($(BLD)/editfns.$(O)):
1126 ($(BLD)/fileio.$(O)):
1127 ($(BLD)/filelock.$(O)):
1128 ($(BLD)/keyboard.$(O)):
1129 ($(BLD)/w32proc.$(O)):
1130 ($(BLD)/process.$(O)):
f6839838
AI
1131 ($(BLD)/sysdep.$(O)): Ditto.
1132
c224f70b
GM
11332001-02-22 Gerd Moellmann <gerd@gnu.org>
1134
51695746
GM
1135 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1136 at the start of the function, check that the \n in it->c is
1137 from the iterator's current position.
52283633 1138
a61b7058
GM
1139 * xdisp.c (handle_single_display_prop): Add parameter
1140 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1141 properties which replace the display of text with something else.
1142 (handle_display_prop): Call handle_single_display_prop with
1143 additional argument saying if we already replaced text display
1144 with something else. Use AREF.
52283633 1145 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1146 (decode_mode_spec_coding): Use AREF and ASIZE.
1147
3473f362
GM
1148 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1149 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1150 * vmstime.h: Files removed.
52283633 1151
2bb58df3
GM
1152 * unexencap.c, unexfx2800.c: Files removed.
1153
c224f70b
GM
1154 * dispnew.c (direct_output_for_insert): Give up if we are showing
1155 a message or just cleared the message because we might need to
1156 resize the echo area window or display an empty echo area.
1157
ffc9ff0c
GM
11582001-02-21 Gerd Moellmann <gerd@gnu.org>
1159
0528abe1
GM
1160 * xdisp.c (redisplay_internal): Do the
1161 mark_window_display_accurate after all windows have been
1162 redisplayed because this call resets flags in buffers which are
1163 needed for proper redisplay.
1164
52283633
SM
1165 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1166 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1167 the old names.
1168
52283633
SM
1169 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1170 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1171
1172 * msdos.h (struct x_output): Rename busy_window to
1173 hourglass_window, busy_p to hourglass_p.
1174
52283633
SM
1175 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1176 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1177
1178 * xfns.c: Rename everything containing *busy_cursor* and similar
1179 to *hourglass*.
1180 (syms_of_w32fns): Rename x-busy-pointer-shape to
1181 x-hourglass-pointer-shape, display-busy-cursor to
1182 display-hourglass, busy-cursor-delay to hourglass-delay.
1183
1184 * w32fns.c: Rename everything containing *busy_cursor* and similar
1185 to *hourglass*.
1186 (syms_of_w32fns): Rename x-busy-pointer-shape to
1187 x-hourglass-pointer-shape, display-busy-cursor to
1188 display-hourglass, busy-cursor-delay to hourglass-delay.
1189
1190 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1191 of its busy_p flag.
1192
1193 * dispextern.h (start_hourglass, cancel_hourglass)
1194 (display_hourglass_p): Renamed from *busy_cursor*.
1195
ab2c5f0a
GM
11962001-02-20 Gerd Moellmann <gerd@gnu.org>
1197
d17e49a8
GM
1198 * keyboard.c (read_char): When an event from unread-command-events
1199 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1200
fa97adf6
GM
1201 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1202 equal to the current buffer.
1203
ab2c5f0a
GM
1204 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1205 nil, otherwise we're left with truncate_lines t when a message
1206 is printed with message-truncate-lines bound to t.
1207
aeac019e
GM
12082001-02-19 Gerd Moellmann <gerd@gnu.org>
1209
c8bc6f65
GM
1210 * window.c (Fmove_to_window_line): Undo last change.
1211 (displayed_window_lines): Call line_bottom_y to determine
1212 the line's bottom position.
1213
1214 * dispextern.h (line_bottom_y): Add prototype.
1215
52283633 1216 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1217 (pos_visible_p): Use it.
1218
980a2d69
GM
1219 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1220 set redisplaying_p to 0 here instead of in Frecursive_edit.
1221 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1222 set redisplaying_p.
1223
52283633 1224 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1225 New variables.
1226 (syms_of_xdisp): Initialize new variables.
1227 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1228 Specbind `inhibit-menubar-update' when updating the menu bar.
1229
65048e97
GM
1230 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1231 safe_run_hooks.
1232
1233 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1234 safe_run_hooks.
1235
a57c4026
GM
1236 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1237 is null.
1238
aeac019e
GM
1239 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1240 to the start of the file.
1241
76846b31
GM
12422001-02-16 Gerd Moellmann <gerd@gnu.org>
1243
f3f053f3 1244 * window.c (set_window_buffer): Fix last change.
52283633 1245
f3f053f3
GM
1246 * window.c (set_window_buffer): Set window's vscroll to 0.
1247
dad75588
GM
1248 * window.c (coordinates_in_window): Increase width of area
1249 where the vertical line can be dragged.
1250
c220b753
GM
1251 * xterm.c (x_set_glyph_string_background_width): Extend the
1252 background face to the end of the drawing area in the text
1253 area, only.
1254
c56b1c1b
GM
1255 * xdisp.c (handle_single_display_prop): Set iterator's position
1256 to where the `display' property starts, like for images.
1257 (dump_glyph): New function.
1258 (dump_glyph_row): Use it. Dump info about marginal areas.
1259
1260 * dispnew.c (direct_output_for_insert): Recognize more cases where
1261 glyphs can be written instead of being inserted.
1262
1263 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1264 the left x-coordinate of the area to shift.
1265
76846b31
GM
1266 * dired.c (directory_files_internal): Set result list to nil
1267 before retrying.
1268
0fc71a77
KH
12692001-02-15 Kenichi Handa <handa@etl.go.jp>
1270
1271 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1272 invalid multibyte sequence, treat *SRC as a character of
1273 eight-bit-graphic.
1274
25078b54
EZ
12752001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1276
1277 * textprop.c (Fset_text_properties): Doc fix.
1278
8399f8a0
GM
12792001-02-15 Gerd Moellmann <gerd@gnu.org>
1280
1281 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1282
9a2a6f73
DL
12832001-02-14 Dave Love <fx@gnu.org>
1284
1285 * coding.c: Doc and message fixes.
1286
bf853fee
AI
12872001-02-14 Andrew Innes <andrewi@gnu.org>
1288
1289 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1290 Emacs frame above the screen size.
1291
78c663d8
GM
12922001-02-14 Gerd Moellmann <gerd@gnu.org>
1293
1294 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1295
7cc9f69f
GM
12962001-02-13 Gerd Moellmann <gerd@gnu.org>
1297
0a411995
GM
1298 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1299 case that TO ends up beyond ZV after running before-change-functions.
1300
5ddc1b75
GM
1301 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1302 the selected window if it is showing the buffer in question.
1303
7cc9f69f
GM
1304 * dired.c (directory_files_internal): Initialize errno.
1305 (toplevel): Include errno.h.
1306
2e6621ca
GM
13072001-02-13 Kenichi Handa <handa@etl.go.jp>
1308
1309 * xfaces.c (best_matching_font): New parameter width_ratio.
1310 Multiply avgwidth by width_ratio.
1311 (choose_face_font): Call best_matching_font with width_ratio
1312 calculated from the column width of C.
1313
60222d69
AI
13142001-02-12 Andrew Innes <andrewi@gnu.org>
1315
1316 The following changes are to draw box lines inside characters area
1317 if line-width is negative.
52283633 1318
60222d69
AI
1319 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1320 face->box_line_width is negative.
1321 (x_produce_stretch_glyph): Likewise.
1322 (x_produce_glyphs): Likewise.
1323 (x_estimate_mode_line_height): Likewise.
1324 (x_draw_glyph_string_background): Likewise.
1325 (x_draw_glyph_string_foreground): Likewise.
1326 (x_draw_composite_glyph_string_foreground): Likewise.
1327 (x_draw_glyph_string_box): Likewise.
1328 (x_draw_image_foreground): Likewise.
1329 (x_draw_image_relief): Likewise.
1330 (x_draw_image_foreground_1): Likewise.
1331 (x_draw_image_glyph_string): Likewise.
1332
9804b846
KH
13332001-02-09 Kenichi Handa <handa@etl.go.jp>
1334
1335 The following changes are to draw box lines inside characters area
1336 if line-width is negative.
52283633 1337
9804b846
KH
1338 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1339 face->box_line_width is negative.
1340 (x_produce_stretch_glyph): Likewise.
1341 (x_produce_glyphs): Likewise.
1342 (x_estimate_mode_line_height): Likewise.
1343 (x_draw_glyph_string_background): Likewise.
1344 (x_draw_glyph_string_foreground): Likewise.
1345 (x_draw_composite_glyph_string_foreground): Likewise.
1346 (x_draw_glyph_string_box): Likewise.
1347 (x_draw_image_foreground): Likewise.
1348 (x_draw_image_relief): Likewise.
1349 (x_draw_image_foreground_1): Likewise.
1350 (x_draw_image_glyph_string): Likewise.
1351
1352 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1353 and :line-width can be negative.
52283633 1354 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1355
49be9f70
JR
13562001-02-09 Jason Rumney <jasonr@gnu.org>
1357
1358 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1359 characters the same as ASCII and latin-1.
1360 (x_display_and_set_cursor): Check for the focus frame's selected
1361 window instead of selected_window.
1362 (x_after_update_window_line): Don't clear if frame's internal
1363 border width is zero.
1364 (x_new_font): Don't change a tooltip's size.
1365 (w32_initialize): Set char_ins_del_ok to 1.
1366
1367 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1368 (x_set_font): If font hasn't changed, avoid recomputing
1369 faces and other things.
52283633
SM
1370 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1371 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1372 (x_create_tip_frame): Prevent changing the tooltip's
1373 background color by specifying a color for the default font
1374 in .Xdefaults.
1375 (Qcancel_timer): New variable.
1376 (syms_of_w32fns): Initialize and staticpro it.
1377 (Fx_hide_tip, Fx_show_tip): Use it.
1378 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1379 the timer.
1380 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1381
1382 * w32.c (init_environment): Duplicate local string before putenv.
1383
555e35d2
SZ
13842001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1385
1386 * charset.c (Fstring): A typo.
1387
19c92c94
KH
13882001-02-09 Kenichi Handa <handa@etl.go.jp>
1389
e47a1c33
KH
1390 * charset.c (Fstring): If all arguments are less than 256, return
1391 a unibyte string.
1392
1393 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1394 return a unibyte string.
1395
19c92c94
KH
1396 * coding.c (code_convert_region): After detecting a coding, if
1397 nothing found, set coding->composing to COMPOSITION_NO.
1398 (decode_coding_string): Likewise.
1399
d8e675f5
SM
14002001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1401
1402 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1403 to avoid overflow.
1404
bd503487
KH
14052001-02-07 Kenichi Handa <handa@etl.go.jp>
1406
1407 * charset.c (parse_str_to_multibyte): New function.
1408
1409 * charset.h (parse_str_to_multibyte): Extern it.
1410
1411 * print.c (print_string): If we are going to print a unibyte
1412 string into a multibyte buffer, convert the string to multibyte by
1413 str_to_multibyte.
1414
a8370d72
AI
14152001-02-06 Andrew Innes <andrewi@gnu.org>
1416
1417 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1418 been created. It seems we can get sent window messages such as
1419 WM_ERASEBKGND before we properly update a frame.
1420
c363a1d6
GM
14212001-02-06 Gerd Moellmann <gerd@gnu.org>
1422
1423 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1424 Avoid some unnecessary cursor positioning.
1425
a08332c0
GM
14262001-02-05 Gerd Moellmann <gerd@gnu.org>
1427
52283633 1428 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1429 (LFACE_AVGWIDTH): New macro.
1430 (LFACEP): Use AREF.
1431 (check_lface_attrs): Check LFACE_AVGWIDTH.
1432 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1433 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1434 (merge_face_vectors): Check LFACE_AVGWIDTH.
1435 (Finternal_make_lisp_face): Use AREF.
1436 (xm_set_menu_resources_from_menu_face)
1437 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1438 (Finternal_lisp_face_empty_p): Use AREF.
1439 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1440 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1441 Compare average widths..
1442 (best_matching_font): Arrange for comparing average widths.
1443
52283633
SM
1444 * dispextern.h (enum lface_attribute_index):
1445 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1446
5cb3c8d4
DL
14472001-02-05 Dave Love <fx@gnu.org>
1448
1449 * puresize.h: Revert last change following loadup.el change.
1450
193fba87
AI
14512001-02-05 Andrew Innes <andrewi@gnu.org>
1452
1453 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1454 invocation of temacs, to work with Windows 2000.
1455 (bootstrap-emacs): Ditto.
1456
e16f52ce
GM
14572001-02-05 Gerd Moellmann <gerd@gnu.org>
1458
7a58ab59
GM
1459 * xterm.c (x_display_and_set_cursor): Check for the focus
1460 frame's selected window instead of selected_window.
1461
e89aaabd
GM
1462 * xdisp.c (try_scrolling): If point is in the line below the
1463 window, make sure to move the iterator at least a canonical
1464 char height down.
1465
52283633 1466 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1467
789ce875
KH
14682001-02-05 Kenichi Handa <handa@etl.go.jp>
1469
52283633
SM
1470 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1471 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1472 (ccl_driver): If the CCL program is terminated because of
1473 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1474 destination instead of throwing them away.
1475
20b28f82
GM
14762001-02-02 Gerd Moellmann <gerd@gnu.org>
1477
79fb38c0
GM
1478 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1479 faces and other things.
1480
20b28f82
GM
1481 * xdisp.c (get_next_display_element): Fix case of empty
1482 display table entry.
1483
5a72551e
EZ
14842001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1485
eb24d0bf
EZ
1486 * editfns.c (Fconstrain_to_field): Doc fix.
1487
6a3f48c7
EZ
1488 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1489 into `thoroughly', to make it consistent with the doc string.
1490
5a72551e
EZ
1491 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1492
01acdb05
GM
14932001-02-01 Gerd Moellmann <gerd@gnu.org>
1494
0353b28f
GM
1495 * search.c (search_buffer): Call set_search_regs with a byte
1496 position, not a character position.
1497
01acdb05
GM
1498 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1499 minibuffer-only,
1500
e86b5133
EZ
15012001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1502
1503 * frame.c (Fmodify_frame_parameters): Doc fix.
1504
7442878f
GM
15052001-01-31 Gerd Moellmann <gerd@gnu.org>
1506
01acdb05
GM
1507 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1508 identifier which is not reserved by Standard C.
52283633 1509
7442878f
GM
1510 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1511
1512 * window.c (enum window_part): New enumeration.
1513 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1514 Qright_bitmap_area.
1515 (coordinates_in_window): Return an enumerator from enum
1516 window_part. Fix handling of right scroll bar.
1517 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1518 `right-fringe' instead of `left-bitmap-area' and
1519 `right-bitmap-area'. Use enumerators from enum window_part
1520 instead of hard-coded integers.
52283633
SM
1521 (check_window_containing, window_from_coordinates):
1522 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1523 (syms_of_window): Replace Qleft_bitmap_area and
1524 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1525
7c132cba
EZ
15262001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1527
1528 * editfns.c (Fformat_time_string): Doc fix.
1529
c359dd9e
SM
15302001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1531
1532 * keymap.c (Fwhere_is_internal): Use the first valid binding
1533 if no ascii binding is found (when firstonly is t).
1534
ce070307
GM
15352001-01-31 Gerd Moellmann <gerd@gnu.org>
1536
b4f30ec5
GM
1537 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1538 instead of Finteractive_p.
1539
1540 * lisp.h (interactive_p): Add prototype.
1541
1542 * eval.c (interactive_p): New function.
1543 (Finteractive_p): Use it.
1544
ce070307
GM
1545 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1546
f57b6e64
DL
15472001-01-31 Dave Love <fx@gnu.org>
1548
d61c7afe
DL
1549 * .gdbinit (hook-run): Define to run xreload.
1550
f57b6e64
DL
1551 * textprop.c (Fset_text_properties): Fix newline in doc string.
1552
eef93f99
GM
15532001-01-30 Gerd Moellmann <gerd@gnu.org>
1554
52283633
SM
1555 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1556 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1557
1558 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1559 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1560 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1561
1562 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1563 height.
1564
d9c1f6f9
DL
15652001-01-30 Dave Love <fx@gnu.org>
1566
1567 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1568 AFTER_POTENTIAL_GC.
1569
e8f044a0
GM
15702001-01-29 Gerd Moellmann <gerd@gnu.org>
1571
52283633
SM
1572 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1573 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1574
8e1db7b3
EZ
15752001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1576
1577 * textprop.c (Fset_text_properties): Doc fix.
1578
4eefd9d2
GM
15792001-01-29 Gerd Moellmann <gerd@gnu.org>
1580
1581 * xdisp.c (forward_to_next_line_start): Remove xassert.
1582
fccb8288
EZ
15832001-01-29 Jason Rumney <jasonr@gnu.org>
1584
4eefd9d2 1585 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1586 returning without releasing it.
1587
76581eab
KH
15882001-01-29 Kenichi Handa <handa@etl.go.jp>
1589
1590 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1591 for '^', '$', and '\0'.
1592
83a96b4d
AC
15932001-01-28 Andrew Choi <akochoi@i-cable.com>
1594
5604ec34
AC
1595 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1596 regex for '^', '$', and '\0'.
1597
83a96b4d
AC
1598 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1599 only if current_sblock has been initialized.
1600
1601 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1602 terminal frame even if it is the only visible frame.
1603
c09a6440
KH
16042001-01-28 Kenichi Handa <handa@etl.go.jp>
1605
1606 * fontset.c (font_family_registry): Even if FONTNAME conform to
1607 XLFD, if it specifies other fields than family and registry,
52283633 1608 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1609 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1610 a signle byte character. Don't set FAMILY part to nil here.
1611 It is handled by the caller choose_face_font.
c09a6440
KH
1612 (Fnew_fontset): Call font_family_registry with FORCE 0.
1613 (Fset_fontset_font): Likewise.
1614
4dcd74e6
GM
16152001-01-27 Gerd Moellmann <gerd@gnu.org>
1616
1617 * xdisp.c (display_line): Don't treat a newline as fitting
1618 on the line.
1619
d2906bf8
GM
16202001-01-26 Gerd Moellmann <gerd@gnu.org>
1621
0130fe1a
GM
1622 * window.c (size_window): Set the window's orig_top to nil when
1623 changing heights, so that a future shrink_mini_window won't
1624 restore a bogus height.
1625
550f0e6a
GM
1626 * frame.c (do_switch_frame): If selected frame has a mini-window,
1627 resize that to exact size.
1628
b7b20fbd
GM
1629 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1630
a47b7816
GM
1631 * xdisp.c (display_line): Simplify check for glyphs fitting
1632 entirely in the line.
1633
d2906bf8
GM
1634 * xfns.c (xic_style): New variable.
1635 (create_frame_xic): Move static variable to global scope for
550f0e6a 1636 the case that `static' gets defined away.
d2906bf8 1637
73df2b1e
KH
16382001-01-26 Kenichi Handa <handa@etl.go.jp>
1639
1640 * coding.c (decode_coding): Set a flag for inhibiting
1641 inconsistent eol.
1642 (code_convert_region): Always set saved_coding_symbol.
1643 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1644 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1645
6613cfc4
GM
16462001-01-25 Gerd Moellmann <gerd@gnu.org>
1647
c5e6e06b
GM
1648 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1649 XClearArea.
1650
1651 * xterm.c (x_after_update_window_line): Don't clear if frame's
1652 internal border width is zero.
1653 (x_clear_area): New function.
1654 (x_after_update_window_line, x_clear_end_of_line)
1655 (x_scroll_bar_create, x_scroll_bar_set_handle)
1656 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1657 instead of XClearArea.
1658
1659 * xterm.h (x_clear_area): Add prototype.
1660
6613cfc4
GM
1661 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1662 which doesn't seem necessary anymore with Lesstif 0.92.
1663
650cc6cc
DL
16642001-01-25 Dave Love <fx@gnu.org>
1665
34ac3367
DL
1666 * puresize.h (BASE_PURESIZE): Up to 720000.
1667
650cc6cc
DL
1668 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1669
5e37dc22
GM
16702001-01-25 Gerd Moellmann <gerd@gnu.org>
1671
e1e441f9
GM
1672 * xdisp.c (echo_area_display): Don't call redisplay_internal
1673 when Emacs is shutting down. We can't run hooks etc. that
1674 would be necessary to do a redisplay.
1675
5e37dc22
GM
1676 * lread.c (read_integer): Use type EMACS_INT instead of int.
1677
0fb94c7f
EZ
16782001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1679
1680 * ccl.c (ccl_driver): Fix last change.
1681
e3778624
KH
16822001-01-25 Kenichi Handa <handa@etl.go.jp>
1683
1684 * ccl.h (sturct ccl_program): New member suppress_error.
1685
bb264518 1686 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1687 insert error message to the output.
1688 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1689
1690 * coding.h (struct coding_system): New member suppress_error.
1691
1692 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1693 (Fset_terminal_coding_system_internal): Set the member
1694 suppress_error to 1.
1695 (Fset_safe_terminal_coding_system_internal): Likewise.
1696
245ed2b1
SM
16972001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1698
1699 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1700 as if it was a `charset'.
1701
f9aaedb6
GM
17022001-01-24 Gerd Moellmann <gerd@gnu.org>
1703
1704 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1705 value in where_is_cache; the next lookup in the cache returns
1706 something bogus if we do.
1707
c3902c3e
EZ
17082001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1709
1710 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1711 if HAVE_WINDOW_SYSTEM isn't defined.
1712
3497f73e
GM
17132001-01-24 Gerd Moellmann <gerd@gnu.org>
1714
e7e41584
GM
1715 * fns.c (sweep_weak_table): Fix code taking items out of
1716 the hash collision chain. Some cleanup.
1717
3497f73e
GM
1718 * xterm.c (x_new_font): Don't change a tooltip's size.
1719
1720 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1721 background color by specifying a color for the default font
1722 in .Xdefaults.
1723
3d48e687
KH
17242001-01-24 Kenichi Handa <handa@etl.go.jp>
1725
96531b20
KH
1726 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1727 a workaround for SunOS 4's cc.
1728 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1729 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1730 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1731 statement.
3d48e687 1732
a30629d2
GM
17332001-01-23 Gerd Moellmann <gerd@gnu.org>
1734
1735 * xterm.c (x_set_window_size_1): New function extracted from
1736 x_set_window_size.
1737 (x_set_window_size): Use it.
1738 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1739 doesn't have a widget, like tooltips.
1740
5a43decf
EZ
17412001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1742
52283633 1743 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1744
b0e98867
KH
17452001-01-23 Kenichi Handa <handa@etl.go.jp>
1746
1747 * fns.c (Fset_char_table_default): Fix to make sub char-table
1748 correctly.
1749
50606b4c
GM
17502001-01-22 Gerd Moellmann <gerd@gnu.org>
1751
cb2ddc53 1752 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1753 a desired tool bar string, even if there are no tool bar items.
1754
57c28064
GM
1755 * xdisp.c (Ftool_bar_lines_needed): New function.
1756 (syms_of_xdisp): Defsubr it.
1757
50606b4c
GM
1758 * editfns.c (Fformat): Don't extend text properties from arguments
1759 to padding chars in the result.
1760
2f169c38
EZ
17612001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1762
1763 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1764
0f32f023
AI
17652001-01-20 Andrew Innes <andrewi@gnu.org>
1766
52283633 1767 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1768 (w32_initialize): Don't set term hooks that aren't actually needed
1769 in windowed mode.
1770
1771 * xfaces.c (realize_default_face):
1772 (realize_face):
1773 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1774
1775 * xdisp.c (handle_single_display_prop): Remove references to
1776 FRAME_W32_CONSOLE_P.
1777
52283633 1778 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1779
1780 * frame.h (output_method): Remove output_w32_console method.
1781 (FRAME_W32_CONSOLE_P): Remove macro.
1782
1783 * frame.c (Qw32_console): Remove variable.
1784 (Fframep): Remove references to it.
1785 (syms_of_frame): Ditto.
1786 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1787
1788 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1789 redefinition.
1790
7173eada
KH
17912001-01-20 Kenichi Handa <handa@etl.go.jp>
1792
1793 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1794
755b45ce
AI
17952001-01-19 Andrew Innes <andrewi@gnu.org>
1796
1797 * w32.c (init_environment): Add a version-independent site-lisp
1798 directory to EMACSLOADPATH, after the version dependent one.
1799
0a949811
GM
18002001-01-19 Gerd Moellmann <gerd@gnu.org>
1801
8501998a
GM
1802 * editfns.c (Fbuffer_substring): Doc fix.
1803
52283633
SM
1804 * xdisp.c (message_dolog, message2, message2_nolog):
1805 Rename parameter LEN to NBYTES.
0a949811 1806
e6ebcbbe
KH
18072001-01-19 Kenichi Handa <handa@etl.go.jp>
1808
200ecca2
KH
1809 * charset.c (strwidth): Use c_string_width.
1810 (c_string_width): New function.
1811 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1812 Caller changed.
1813
1814 * charset.h (c_string_width, lisp_string_width): Extern them.
1815
52283633 1816 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1817
e6ebcbbe
KH
1818 * indent.c (check_composition): Check validity of composition.
1819
200ecca2
KH
1820 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1821 characters by calling c_string_width.
1822 (x_consider_frame_title): Get byte length of frame tile string
1823 correctly.
1824 (display_mode_element): Pay attention to width of non-ASCII
1825 characters by calling strwidth.
1826
8692ca92
GM
18272001-01-18 Gerd Moellmann <gerd@gnu.org>
1828
8962e303
GM
1829 * xfns.c (Qcancel_timer): New variable.
1830 (syms_of_xfns): Initialize and staticpro it.
1831 (Fx_hide_tip, Fx_show_tip): Use it.
1832 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1833 the timer.
1834 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1835
91523be9
GM
1836 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1837
1838 * window.h (WINDOW_LIVE_P): New macro.
1839
b0b7ed0e
GM
1840 * window.c (window_size_fixed): New variable.
1841 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1842 the doc string.
1843
06bccf8e
GM
1844 * eval.c (specbind): If binding a per-buffer variable which
1845 doesn't have a buffer-local value in the current buffer, change
1846 the global value by changing the value of the symbol bound in all
1847 buffers not having their own value, to make it consistent with
1848 what happens with other buffer-local variables.
1849
8692ca92
GM
1850 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1851
1852 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1853 when searching for a newline.
1854
bb3a3b50
KH
18552001-01-18 Kenichi Handa <handa@etl.go.jp>
1856
1857 * xdisp.c (display_string): Fix previous change.
1858
c2cc16fa
JR
18592001-01-18 Jason Rumney <jasonr@gnu.org>
1860
1861 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1862 GLYPH_DEBUG is defined.
1863 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1864 true for images with `:ascent 100'.
1865 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1866 meantime, use face MOUSE_FACE_ID.
1867 If first glyph isn't a character glyph, use the ASCII NUL
1868 character to determine the face.
1869 (expose_area): Do not treat left margin specially.
1870 (note_mode_line_highlight): If no local_map, check global keymap.
1871 (note_mouse_highlight): Initialize overlay.
52283633 1872 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1873 (show_scroll_bars): Remove unused function.
1874 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1875 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1876 Clip to row.
52283633 1877 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1878 (x_free_frame_resources): Unload relief colors.
1879
9c11f79e
GM
18802001-01-17 Gerd Moellmann <gerd@gnu.org>
1881
3aec8722 1882 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1883 get_next_display_element when the newline is already found.
1884 This may change the iterator's position, when its current position is
3aec8722
GM
1885 equal to the iterator's stop_charpos.
1886
f3ffc2c3
GM
1887 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1888 zero, use this method only at the end of a line.
1889
52283633 1890 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1891 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1892 if SCALABLE_FONTS_P is set.
52283633 1893
d26d6fd9
GM
1894 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1895 so that scalable fonts are included.
1896
9c11f79e
GM
1897 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1898 In the cache, use a key containing the information if scalable
1899 fonts are included.
1900 (x_load_font): Adapt to change of keys in the font cache.
1901
19022001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1903
d26d6fd9
GM
1904 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1905 XListFonts to take advantage of font caching.
1906
9c11f79e
GM
1907 * xterm.c (x_list_fonts): Ensure caching font information when
1908 called for a null frame, which is the case frequently when Emacs
1909 starts.
1910
51446987
GM
19112001-01-17 Gerd Moellmann <gerd@gnu.org>
1912
f864120f
GM
1913 * xfns.c (QCconversion): Replaces QCalgorithm.
1914
1915 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1916
1917 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1918 of :algorithm.
52283633 1919
e37d1417
GM
1920 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1921 not everything could be displayed.
1922
51446987
GM
1923 * line.h, x-list-font.c: Files removed because unused.
1924
9ad4f3e5
AI
19252001-01-17 Andrew Innes <andrewi@gnu.org>
1926
1927 * dired.c (directory_files_internal): Convert result from readdir
1928 to a unibyte string initially, to avoid possible misinterpretation
1929 of some bytes as the internal form of Emacs characters.
1930
2eda09b5
KH
19312001-01-17 Kenichi Handa <handa@etl.go.jp>
1932
1933 * fns.c (concat): Be sure to avoid putting the same `composition'
1934 property on the adjacent regions.
1935
826f3788
GM
19362001-01-16 Gerd Moellmann <gerd@gnu.org>
1937
52283633 1938 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1939 (Fscroll_right, Fscroll_left): Set it here instead, if called
1940 interactively.
1941
d57b83b3
GM
1942 * buffer.c (Fset_buffer_modified_p): Set buffer's
1943 prevent_redisplay_optimizations_p flag.
1944
826f3788 1945 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1946 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1947 with additional arg.
1948
1949 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1950 Change prototype.
826f3788 1951
826f3788
GM
1952 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1953 FROM_WHERE, for debugging.
1954
261d788b
KH
19552001-01-16 Kenichi Handa <handa@etl.go.jp>
1956
1957 * ccl.c (Fregister_ccl_program): Handle the return value of
1958 resolve_symbol_ccl_program correctly.
52283633 1959 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1960
bccee4f2
GM
19612001-01-15 Gerd Moellmann <gerd@gnu.org>
1962
e4ded23c
GM
1963 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1964 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1965
1966 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1967 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1968 the display; we didn't open it.
1969
bccee4f2
GM
1970 * dispnew.c (save_or_restore_current_matrices): Function removed.
1971 (save_current_matrix, restore_current_matrix): New functions.
1972 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1973 restore the frame's current matrix. Due to the glyph pointer
1974 setup done in adjust_glyph_matrix, there is no easy way to make
1975 saving the current matrix in the desired matrix generally correct,
1976 so don't try it.
1977
ebeccffa
KH
19782001-01-15 Kenichi Handa <handa@etl.go.jp>
1979
1980 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1981 truncation glyphs.
1982 (display_line): Optimize for wide characters.
e4ded23c 1983 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1984 partially. On ttys, produce more than one truncation glyph for
1985 multi-column characters that don't fit on the line.
1986
64388126
KH
19872001-01-13 Kenichi Handa <handa@etl.go.jp>
1988
52283633
SM
1989 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1990 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1991
8edb0a6f
JR
19922001-01-13 Jason Rumney <jasonr@gnu.org>
1993
1994 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1995 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1996 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1997 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1998
52283633
SM
1999 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
2000 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
2001 (x_draw_image_glyph_string): Adapt to change of image margins.
2002
2003 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
2004 variables.
2005
2006 * w32bdf.c (search_file_line, get_cached_font_char)
2007 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
2008
2009 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
2010
2011 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
2012 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
2013 (Fw32_send_sys_command): Remove unused variables.
2014 (w32_msg_pump): Add parentheses.
2015
2016 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
2017 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
2018 Add parentheses.
2019
4956d1ef
GM
20202001-01-12 Gerd Moellmann <gerd@gnu.org>
2021
b30623be
GM
2022 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
2023 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
2024 being a pair of margins.
2025 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
2026 to DEFVAR_LISP. Extend doc.
2027
2028 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
2029 margins.
2030 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
2031 pair of integers `(X . Y)', use X for the horizontal and Y for the
2032 vertical margin.
2033 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
2034 (parse_image_spec): Check it.
52283633
SM
2035 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
2036 (tiff_format, gif_format, gs_format):
2037 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 2038
52283633
SM
2039 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
2040 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
2041 (x_draw_image_glyph_string): Adapt to the change of image margins.
2042
2043 * dispextern.h (struct image): Replace member `margin' with
2044 `hmargin' and `vmargin'.
2045
4554cc79
GM
2046 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
2047 and GLYPHS.
2048
2049 * dispnew.c (update_text_area): Put code which decrements the
2050 stop position when the row's face extends to the end of the
3bffc665 2051 line in #if 0.
4554cc79 2052
3cccce8d
GM
2053 * xfns.c (x_set_mouse_color): Fix color allocation.
2054
4956d1ef
GM
2055 * keyboard.c: Call get_local_map with new argument list.
2056
2057 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
2058
2059 * intervals.h (enum map_property): Removed.
2060 (get_local_map): Change prototype.
2061
2062 * keymap.c: Call get_local_map with new argument list.
2063 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
2064
2c2ff7f2
GM
20652001-01-11 Gerd Moellmann <gerd@gnu.org>
2066
a23887b9
GM
2067 * xdisp.c (build_desired_tool_bar_string): Correct the computation
2068 of the size needed for the tool bar string. For the last image,
2069 use a `display' property that reaches to the end of the string.
2070
a7ee2d2e
GM
2071 * xselect.c (selection_request_dpyinfo): New variable.
2072 (x_handle_selection_request): Set it.
2073 (x_selection_request_lisp_error): Don't call
2074 x_decline_selection_request if selection request's display has
2075 been closed.
2076
52283633
SM
2077 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
2078 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 2079
457b792c
GM
20802001-01-10 Dave Love <fx@gnu.org>
2081
2082 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
2083 ${SOME_MACHINE_LISP}, not ${lisp}.
2084
c1efd260
GM
20852001-01-10 Gerd Moellmann <gerd@gnu.org>
2086
52283633
SM
2087 * xdisp.c (display_line): On ttys, produce more than one truncation
2088 glyph for multi-column characters that don't fit on the line.
a98b5ed9 2089
ac95a621
GM
2090 * xselect.c (x_reply_selection_request): Add a comment.
2091
c1efd260
GM
2092 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
2093 XkbGetNames instead of XkbGetKeyboard.
2094
1bfb1345
DL
20952001-01-10 Dave Love <fx@gnu.org>
2096
2097 * sysdep.c (random): Revert the declaration.
2098
38119822
GM
20992001-01-09 Gerd Moellmann <gerd@gnu.org>
2100
52283633
SM
2101 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
2102 Call function string_bytes.
35f464a7
GM
2103 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
2104
2105 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
2106 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
2107 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
2108 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
2109 the current sblock.
2110 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
2111 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
2112 after sweeping strings, and at the end.
2113 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2114
38119822
GM
2115 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2116 ensure that pop_message is called.
2117
2118 * keyboard.c (Fexecute_extended_command): Use a
2119 record_unwind_protect to ensure that pop_message is called.
2120
2121 * lisp.h (push_message_unwind): Add prototype.
2122
2123 * xdisp.c (push_message_unwind): New function.
2124
2125 * fileio.c (do_auto_save_unwind): Do the pop_message here
2126 instead of in Fdo_auto_save.
2127 (Fdo_auto_save): Don't call pop_message.
2128
f47a9ec4
KR
21292001-01-08 Ken Raeburn <raeburn@gnu.org>
2130
2131 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2132 in inner block.
2133
a758f97d
GM
21342001-01-08 Gerd Moellmann <gerd@gnu.org>
2135
6d0afc03
GM
2136 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2137 when increasing window's vscroll.
2138
a758f97d
GM
2139 * macros.c (Qkbd_macro_termination_hook): New variable.
2140 (syms_of_macros): Initialize and staticpro it.
2141 (pop_kbd_macro): Run kbd-macro-termination-hook.
2142
2143 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2144
1bfb1345 21452001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2146
2147 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2148 arglist, for documentation's sake.
2149
0dac6924
AI
21502001-01-06 Andrew Innes <andrewi@gnu.org>
2151
2152 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2153 of *.pdb.
2154
8182406a
AI
21552001-01-05 Andrew Innes <andrewi@gnu.org>
2156
2157 * term.c (update_end): Don't check updating_frame; for some reason
2158 this can be 0 sometimes, such as after dismissing a popup menu,
2159 and isn't necessary given the explicit frame argument.
2160
3828218c
GM
21612001-01-05 Gerd Moellmann <gerd@gnu.org>
2162
2163 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2164 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2165
2f5ded21
GM
21662001-01-04 Gerd Moellmann <gerd@gnu.org>
2167
52283633 2168 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2169
2170 * xfns.c (x_create_tip_frame): Preserve the value of
2171 face_change_count around the creation of the tip frame.
52283633 2172
2f5ded21
GM
2173 * xfns.c (last_show_tip_args): New variable.
2174 (compute_tip_xy): New function.
2175 (Fx_show_tip): Reuse an existing tip frame, if possible.
2176 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2177
dfad65fa
DL
21782001-01-04 Dave Love <fx@gnu.org>
2179
64d4ec0f
DL
2180 * editfns.c (Fformat): Doc fix.
2181
dfad65fa
DL
2182 * systime.h (set_file_times): Prototype.
2183
2184 * widget.h (EmacsFrameSetCharSize_): Prototype.
2185
2186 * sysdep.c (random, srandom): Declare explicitly.
2187
2188 * dispextern.h (move_it_vertically_backward): Declare.
2189
85fe3b5e
GM
21902001-01-04 Gerd Moellmann <gerd@gnu.org>
2191
0f2ac578
GM
2192 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2193 like in Fx_create_frame.
2194
482cca61
GM
2195 * xfaces.c (set_font_frame_param): Don't do anything for
2196 non-graphical frames.
2197
85fe3b5e
GM
2198 * window.c (Fdelete_other_windows): Set window's window_end_valid
2199 to nil when changing the window's start. Don't change the
2200 window's start when its top position hasn't changed. If we do,
2201 this will set the window's optional_new_start, which act's like a
2202 force_start during redisplay with C-x 1 M-> under particular
2203 circumstances (see report from Per Starback to emacs-pretest-bug
2204 from 2000-12-13.).
2205
3e99d3b4
GM
22062001-01-03 Gerd Moellmann <gerd@gnu.org>
2207
a77dc1ec
GM
2208 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2209 short cut at the start of the function. Add an assertion.
2210 (reseat_at_next_visible_line_start): Add an assertion.
2211
2f3cad6c
GM
2212 * window.c (Frecenter): When changing the window start, set the
2213 window's window_end_valid to nil.
2214 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2215
2216 * dispextern.h (move_it_past_eol): Add prototype.
2217
2218 * xdisp.c (move_it_past_eol): New function.
2219
3e99d3b4
GM
2220 * window.c (Fwindow_end): Doc fix.
2221
22222001-01-03 Dave Love <fx@gnu.org>
2223
52283633 2224 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2225
bafb434c
GM
22262001-01-03 Gerd Moellmann <gerd@gnu.org>
2227
2228 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2229 the enabled_p flag of the glyph row at window_end_vpos to 0.
2230 (handle_single_display_prop): Fix last change.
2231
5297fb00
RS
22322001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2233
2234 * window.c (Frecenter): Doc fix.
2235
13d6a61c
AI
22362001-01-02 Andrew Innes <andrewi@gnu.org>
2237
2238 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2239
2240 * frame.h (output_method): Add output_w32_console method.
2241 (FRAME_W32_CONSOLE_P): New macro.
2242
2243 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2244 use output_w32_console method.
2245 (Qw32_console): New Lisp_Object.
2246 (Fframep): Return it.
2247 (syms_of_frame): Init it.
52283633 2248 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2249
2250 * xfaces.c (realize_default_face): Set face foreground and
2251 background to unspecified for w32_console frames.
2252 (realize_face): Realize face cache for w32_console frames.
2253 (realize_tty_face): Accept w32_console frames.
2254
52283633 2255 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2256 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2257 necessary, even if running interactively.
2258
2259 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2260 w32_console frames.
2261
52283633
SM
2262 * w32term.c (x_update_begin):
2263 (x_update_end):
2264 (x_clear_frame):
2265 (x_ins_del_lines):
2266 (x_change_line_highlight):
2267 (x_delete_glyphs):
2268 (w32_ring_bell):
2269 (x_update_begin):
2270 (x_update_end):
2271 (w32_reassert_line_highlight):
2272 (w32_frame_rehighlight):
13d6a61c
AI
2273 (w32_frame_raise_lower): Do nothing if not w32 frame.
2274
2275 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2276
2277 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2278 system doesn't tell us directly.
2279 (Fx_display_visual_class): Implement properly.
2280
d6bb0c0d
GM
22812001-01-02 Gerd Moellmann <gerd@gnu.org>
2282
2283 * window.c (Frecenter): Handle centering in graphical frames
2284 specially. Centering on the basis of line counts doesn't work
2285 reliably with variable-height lines.
52283633 2286
315f5865
EZ
22872001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2288
2289 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2290 and al[].
2291
52283633 2292 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2293 (update_compositions): Remove unused variable `hook'.
2294
2295 * intervals.c (get_local_map): Remove unused variable `tem'.
2296
2297 * doprnt.c (doprnt1): Remove unused variable `size'.
2298
2299 * fns.c (Flength): Remove unused variable `tail'.
2300 (Fdelete): Remove unused variable `size'.
2301
2302 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2303 and `gcpro2'.
2304
52283633 2305 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2306
2307 * data.c (find_symbol_value): Remove extra 3rd argument in the
2308 call to swap_in_symval_forwarding.
2309
52283633 2310 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2311
2312 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2313 (trivial_regexp_p): Remove unused variable `c'.
2314 (boyer_moore): Remove unused variable `k'.
2315
2316 * indent.c (current_column): Remove unused variable `stopchar'.
2317 (Fcompute_motion): Remove unused variable `contin'.
2318
2319 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2320
2321 * dired.c (directory_files_internal): Fix a typo in a comment.
2322 Remove an unused variable `handler'.
52283633 2323 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2324 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2325 on BSD4_2.
2326
52283633 2327 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2328
2329 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2330 and `buf'.
2331 (Fmarker_insertion_type): Remove unused variable `buf'.
2332
2333 * insdel.c (make_gap): Remove unused variable `result'.
2334
52283633 2335 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2336 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2337 (menu_bar_items): Remove unused function-scope variable `tem'.
2338
2339 * fontset.c (fontset_ref): Remove unused variable `i'.
2340 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2341 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2342 (make_fontset_for_ascii_face): Remove unused variable `name'.
2343 (fs_load_font): Remove unused variable `font_idx'.
52283633 2344 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2345 (list_fontsets): Remove unused variable `tail'.
2346 (Fnew_fontset): Remove unused variables `family' and `registry'.
2347 (accumulate_font_info): Remove unused variable `tmp'.
2348 (Ffontset_font): Remove unused variable `id'.
2349 (syms_of_fontset): Remove unused variable `i'.
2350
2351 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2352 to x_term_init.
2353 (lookup_image): Remove unused variable `file'.
2354 (xbm_load): Remove unused variables `bitmap_data', `height', and
2355 `width'. Remove function-local variable `i', leave the
2356 block-local one.
2357 (gif_load): Remove unused variable `inc'.
2358
52283633 2359 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2360 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2361 leave only the one in the inner block.
2362
2363 * xfaces.c (face_fontset, realize_default_face): Remove unused
2364 variable `fontset'.
2365 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2366
2367 * term.c (encode_terminal_code): Remove unused variable `c'.
2368
2369 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2370 char *' instead of `char *'.
2371
2372 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2373 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2374 (Fchar_category_set): Remove unused variables `val', `charset',
2375 `c1' and `c2'.
2376
52283633
SM
2377 * coding.c (detect_coding_iso2022, setup_coding_system):
2378 Remove unused variable `i'.
315f5865
EZ
2379 (detect_coding_mask): Remove unused variable `idx'.
2380 (detect_coding): Remove unused variable `i'.
2381 (ccl_coding_driver): Remove unused variable `result'.
2382 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2383 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2384 (encode_coding_string): Remove unused variables `gcpro1' and
2385 `saved_coding_symbol'.
2386 (Ffind_coding_systems_region_internal): Remove function-local
2387 variable args[], leave only the block-local one.
2388 (code_convert_region1): Remove unused variable `len'.
2389
2390 * charset.c (char_printable_p): Remove unused variable `chars'.
2391 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2392 (str_to_multibyte): Remove unused variable `c'.
2393
2394 * window.c (size_window): Remove block-local variable `min_size'.
2395
2396 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2397 `header_line_height'.
2398 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2399 enum display_element_type.
2400
1a8a9daf
GM
24012001-01-02 Gerd Moellmann <gerd@gnu.org>
2402
6dde6abc 2403 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2404 statements that call X. Save away the error message in a local copy.
2405
1883b2c6
GM
2406 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2407 the start.
2408
a13be207
GM
2409 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2410 in or at the start of invisible text.
2411
1a8a9daf
GM
2412 * dispnew.c (update_window): Don't check_current_matrix_flags.
2413
3608c0f9
JR
24142001-01-01 Jason Rumney <jasonr@gnu.org>
2415
2416 * w32fns.c (x_figure_window_size): Do not allow new_height and
2417 new_width of frame to override specified values.
2418
abb1acc4
KH
24192000-12-30 Kenichi Handa <handa@etl.go.jp>
2420
52283633 2421 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2422
762a68ec
GM
24232000-12-29 Gerd Moellmann <gerd@gnu.org>
2424
52283633 2425 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2426 (update_window) [GLYPH_DEBUG]: Call it.
2427 (scrolling_window): Prevent including current rows which are below
2428 what's displayed in the window.
2429
2430 * xdisp.c (try_window_reusing_current_matrix)
2431 <new start <= old start>: Disable rows in the current matrix
2432 which are below the window after scrolling.
52283633 2433
762a68ec
GM
2434 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2435 is zero. It's not worth the complexity.
2436 (invisible_text_between_p): Put in #if 0 because unused.
2437
2d5912c1
GM
24382000-12-28 Gerd Moellmann <gerd@gnu.org>
2439
46f6a258
GM
2440 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2441 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2442
89f93679
GM
2443 * keyboard.c (echo_char): If C is an integer, always call
2444 push_key_description. Former code could signal an invalid
2445 character error.
2446
2447 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2448 If set, print multibyte text.
2449 (Fsingle_key_description): Call push_key_description with
2450 FORCE_MULTIBYTE set.
2451 (describe_buffer_bindings): Likewise.
2452
2453 * lisp.h (push_key_description): Add prototype.
2454
c06017fb
GM
2455 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2456 around the call to redisplay_internal.
2457
f1d2ce7f
GM
2458 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2459
2d5912c1
GM
2460 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2461
9371f831
KH
24622000-12-28 Kenichi Handa <handa@etl.go.jp>
2463
2464 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2465 (ccl_driver): New local variable `extra_bytes'.
2466
2467 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2468
52283633
SM
2469 * coding.c (setup_coding_system):
2470 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2471 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2472
0c80628a
KH
24732000-12-28 Kenichi Handa <handa@etl.go.jp>
2474
2475 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2476 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2477 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2478 (decode_composition_emacs_mule): New function.
2479 (decode_coding_emacs_mule): Decode composition sequence by calling
2480 decode_composition_emacs_mule.
2481 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2482 (encode_coding_emacs_mule): Changed from macro to function.
2483 If a text contains compositions, encode them correctly.
0c80628a
KH
2484 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2485 that decoding and encoding are required.
2486
3e32cc27
GM
24872000-12-27 Gerd Moellmann <gerd@gnu.org>
2488
5e25feee
GM
2489 * xfaces.c (PT_PER_INCH): New macro.
2490 (xlfd_point_size): Compute real point size from font's pixel size.
2491 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2492 instead of 72.
2493
892d8fcd
GM
2494 * .gdbinit: Comment out the line pointing to the Lesstif source
2495 directory.
2496
12c8b416
GM
2497 * window.c (Frecenter): Use displayed_window_lines instead
2498 of window_internal_height.
2499
6061fbf0
GM
2500 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2501 instead of x-toolkit-scroll-bars-p.
2502 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2503
2504 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2505 instead of x-toolkit-scroll-bars-p.
2506 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2507
3e32cc27
GM
2508 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2509 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2510 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2511 New variables.
2512 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2513 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2514 (build_frame_matrix_from_leaf_window): Remove unused code.
2515 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2516 redisplay history.
2517 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2518 (update_window) [GLYPH_DEBUG]: Likewise.
2519 (syms_of_display): Defsubr dump-redisplay-history.
2520
31798cfe
GM
25212000-12-23 Gerd Moellmann <gerd@gnu.org>
2522
f717c2ba
GM
2523 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2524 the end of the prompt. Set echo_after_prompt to the offset
2525 of echoptr in echobuf.
2526
aeb2b8fc
GM
2527 * xdisp.c (init_from_display_pos): Pop until the iterator's
2528 stack is empty; there may be frames for stretch or images
2529 on the stack.
2530
31798cfe
GM
2531 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2532 (save_or_restore_current_matrix): New function for the same
2533 purpose, but more efficient.
2534 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2535
f8156156
EZ
25362000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2537
2538 * xdisp.c (syms_of_xdisp): Fix last change.
2539
bdd6d4e8
GM
25402000-12-23 Gerd Moellmann <gerd@gnu.org>
2541
2542 * xdisp.c (syms_of_xdisp): Doc fix.
2543
2544 * xdisp.c (redisplay_window): Remove label restore_buffers;
2545 use finish_scroll_bars instead to make sure that scroll bars
2546 are redeemed. If we don't do this, flickering can result from
2547 scroll bars being destroyed and recreated.
2548
9436cdf9
JR
25492000-12-22 Jason Rumney <jasonr@gnu.org>
2550
2551 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2552 in the wrong colors when the foreground is not black.
2553 (expose_window): Don't redraw the window that's currently being
2554 updated.
2555
951f9df5
GM
25562000-12-22 Gerd Moellmann <gerd@gnu.org>
2557
856ff7a7
GM
2558 * window.c (size_window): When setting the window's too_small_ok
2559 flag, compare old size with minimum size depending on WIDTH_P,
2560 don't compare with window_min_width.
52283633 2561
951f9df5
GM
2562 * window.c (delete_window): Simplify somewhat.
2563 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2564 freeing window matrices. The flag windows_or_buffers_changed is
2565 set, so the next redisplay will consider all windows; this should
2566 suffice.
2567
886bc933
KH
25682000-12-22 Kenichi Handa <handa@etl.go.jp>
2569
2570 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2571
2572 * ccl.h (struct ccl_program): New member cr_consumed.
2573
2574 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2575 (CCL_READ_CHAR): Handle EOL conversion here.
2576 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2577
177f4e88
GM
25782000-12-21 Gerd Moellmann <gerd@gnu.org>
2579
52283633 2580 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2581
2582 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2583 otherwise tabs of different size compare equal.
2584
2585 * callint.c (Fcall_interactively): Prevent a compiler warning.
2586
2587 * print.c (print_unwind): Return nil.
2588 (PRINTDECLARE): Initialize all local variables.
2589 (print_preprocess): Add a default case.
2590
8e15274f
GM
2591 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2592
2593 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2594
52283633 2595 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2596 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2597
2598 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2599
2600 * dispnew.c (ensure_frame_matrix): Removed.
2601 (save_frame_matrix, restore_frame_matrix): New functions.
2602 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2603
2604 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2605 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2606
99012074
AI
26072000-12-21 Andrew Innes <andrewi@gnu.org>
2608
2609 * w32term.c (x_update_begin): Regenerate the palette here, rather
2610 than for each window.
2611
2612 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2613 palette is NULL, since this corrupts memory! Also get
2614 display_info reference from frame.
2615
29ef7d2d
JR
26162000-12-21 Jason Rumney <jasonr@gnu.org>
2617
2618 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2619
2620 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2621 to avoid returning without releasing it.
3e27fa1f 2622
3f9d67a6
KH
26232000-12-21 Kenichi Handa <handa@etl.go.jp>
2624
587fc3f9
KH
2625 * keymap.c (push_key_description): Don't convert eight-bit-control
2626 and eight-bit-graphic to multibyte character.
2627
3f9d67a6
KH
2628 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2629 generic character and CODE1 is nil, return the smallest character
2630 in CHARSET.
2631
774ba8c9
DL
26322000-12-20 Dave Love <fx@gnu.org>
2633
2634 * s/osf5-0.h (NSIG): Don't redefine.
2635
88416888
SM
26362000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2637
2638 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2639 excluding menu-bar and tool-bar.
2640 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2641 (menu_item_p): Remove.
2642 (where_is_internal_1): Don't ignore menu-items.
2643
a6426c6f
GM
26442000-12-20 Gerd Moellmann <gerd@gnu.org>
2645
03ff8aab
GM
2646 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2647 into account.
2648
2649 * window.c (make_window): Initialize window's min_hscroll.
2650 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2651 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2652 to zero.
2653 (struct saved_window): New member min_hscroll.
2654 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2655 (Fset_window_configuration): Set window's min_hscroll.
2656 (save_window_save): Save window's min_hscroll.
2657 (compare_window_configurations): Compare min_hscroll values.
2658
2659 * window.h (struct window): New member min_hscroll.
2660
2661 * keyboard.c (echo_prompt): Prevent a compiler warning.
2662
8de4aaf8
GM
2663 * xdisp.c (try_cursor_movement): Fix last change. The real
2664 condition is that PT is at the end of the row, and should
2665 be displayed at the start of the next row.
52283633 2666
3f7e3031
GM
2667 * xdisp.c (try_cursor_movement): If we end on a partially
2668 visible line, end we already decided to scroll, return -1.
2669
a6426c6f
GM
2670 * dispextern.h (ensure_frame_matrix): Add prototype.
2671
2672 * window.c (delete_window, Fsplit_window)
2673 (Fset_window_configuration): Call ensure_frame_matrix.
2674
52283633
SM
2675 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2676 New functions.
a6426c6f
GM
2677 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2678 completed, call fake_current_matrices instead of marking frame
2679 garbaged.
2680
57fa2774
JR
26812000-12-20 Jason Rumney <jasonr@gnu.org>
2682
2683 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2684
d925df90
EZ
26852000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2686
2687 * fns.c (Frequire): Doc fix.
2688
7b93a85b
GM
26892000-12-19 Gerd Moellmann <gerd@gnu.org>
2690
52283633 2691 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2692
c74e645b
GM
2693 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2694 currently displaying a message.
2695
7b93a85b
GM
2696 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2697 xterm.h.
2698 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2699
90d97e64
AI
27002000-12-18 Andrew Innes <andrewi@gnu.org>
2701
2702 * w32.c (w32_strerror): New function.
2703
2704 * w32.h (w32_strerror): New extern.
2705
2706 * w32fns.c (Fw32_shell_execute): Use it.
2707
91c9e6ce
GM
27082000-12-18 Gerd Moellmann <gerd@gnu.org>
2709
2710 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2711
6f4745e2
EZ
27122000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2713
2714 * msdos.c (IT_set_face): Obey inverse_video.
2715
c9e088ce
KH
27162000-12-18 Kenichi Handa <handa@etl.go.jp>
2717
2718 * dired.c (directory_files_internal): Always return decoded filenames.
2719
c3695f5f
GM
27202000-12-18 Gerd Moellmann <gerd@gnu.org>
2721
52d8e4ff
GM
2722 * xterm.c (x_connection_closed): Prevent being called recursively
2723 because of an error condition in XtCloseDisplay.
52283633 2724
62be9979
GM
2725 * xdisp.c (init_iterator): If noninteractive, and the frame's
2726 face cache is null, make one.
2727
52283633 2728 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2729
c3695f5f
GM
2730 * process.c (wait_reading_process_input): Check for pending
2731 input when running timers.
2732
78555fbe
EZ
27332000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2734
52283633 2735 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2736
b2b36264
KH
27372000-12-18 Kenichi Handa <handa@etl.go.jp>
2738
2739 * process.c (read_process_output): Don't run a filter if the code
2740 decoder produces nothing but carryover.
2741
9c543fbf
AI
27422000-12-17 Andrew Innes <andrewi@gnu.org>
2743
2744 * w32.c (sys_rename): Only check errno against EEXIST, and not
2745 EACCES, when determining whether rename failed because the target
2746 exists. This was resulting in indefinite looping on Windows 9x if
2747 the source file was locked by another process.
2748
2749 * w32fns.c (Ffile_system_info): New function.
2750 (syms_of_w32fns): Defsubr it.
2751
10c2b5a8
GM
27522000-12-17 Gerd Moellmann <gerd@gnu.org>
2753
b0228ace
GM
2754 * window.c (coordinates_in_window): Fix computation for
2755 position on vertical line between mode lines.
2756
10c2b5a8
GM
2757 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2758 Don't alter tip_frame or tip_window.
2759 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2760 was deleted.
2761
c844a81a
GM
2762 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2763 Don't alter tip_frame or tip_window.
2764 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2765 was deleted.
2766
6c825f8e
EZ
27672000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2768
2769 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2770 be consistent with the doc string. Reported by NAKAJIMA Mikio
2771 <minakaji@osaka.email.ne.jp>.
2772
af4bb4c8
KH
27732000-12-16 Kenichi Handa <handa@etl.go.jp>
2774
2775 * xfaces.c (Vface_ignored_fonts): New variable.
2776 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2777 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2778
8062e53a
GM
27792000-12-15 Gerd Moellmann <gerd@gnu.org>
2780
e87b8809
GM
2781 * dispnew.c (update_window): Detect pending input every nth line
2782 updated, i.e. do it depending on real work done, and not on the
2783 vpos of the line.
2784
2785 * xterm.c (expose_window): Don't redraw the window that's
2786 currently being updated.
2787
a6768cc5
GM
2788 * window.c (Fset_window_point): Remove test for
2789 cursor_in_non_selected_windows.
2790
4ea7fdca
GM
2791 * lread.c (read1): Recognize end of file after `\\'.
2792
8062e53a
GM
2793 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2794 not unwind_create_frame.
2795
bb7959c1
GM
27962000-12-15 Dave Love <fx@gnu.org>
2797
2798 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2799 bcopy & al.
2800
2801 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2802
ced04c42
KH
28032000-12-15 Kenichi Handa <handa@etl.go.jp>
2804
c5443913
KH
2805 * coding.c (setup_coding_system): Clear all members of the struct
2806 coding_system at first.
bc137305
KH
2807 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2808 argument.
2809 (code_convert_region): Don't override coding->src_multibyte and
2810 coding->dst_multibyte.
c5443913 2811
ced04c42
KH
2812 * fns.c (Fmd5): Docstring improved.
2813
c2d7f289
MB
28142000-12-15 Miles Bader <miles@gnu.org>
2815
2816 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2817 are actually marked as mode-lines; otherwise use
2818 estimate_mode_line_height.
2819
9d7d9263
GM
28202000-12-14 Gerd Moellmann <gerd@gnu.org>
2821
2822 * editfns.c (Fformat): Prevent a buffer overrun when the format
2823 specifies a precision.
2824
7cf0153a
EZ
28252000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2826
2827 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2828 argument is outside the range [2..3].
2829
1de0f662
AI
28302000-12-14 Andrew Innes <andrewi@gnu.org>
2831
2832 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2833 nothing to do. Bind inhibit-quit.
2834 (tip_frame): Make it a Lisp_Object.
2835 (x_create_tip_frame): Set tip_frame after it has been added to
2836 Vframe_list.
2837 (Fx_show_tip): Don't set tip_frame here.
52283633 2838 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2839 (unwind_create_frame, unwind_create_tip_frame): New functions.
2840 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2841 while a frame is only partially constructed.
2842
2843 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2844 (x_free_frame_resources): New function.
2845 (x_destroy_window): Use it.
2846
02387dcc
GM
28472000-12-14 Gerd Moellmann <gerd@gnu.org>
2848
2849 * xfns.c (Fx_backspace_delete_keys_p): New function.
2850 (syms_of_xfns): Defsubr it.
2851
2852 * config.in (HAVE_XKBGETKEYBOARD): Add.
2853
0544ef49
KH
28542000-12-14 Kenichi Handa <handa@etl.go.jp>
2855
98d62747
KH
2856 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2857 Always store string in multibyte representation in echobuf.
2858 (echo_char): Always store string in multibyte representation in
2859 echobuf.
2860 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2861 (read_key_sequence): Adjusted for the change of echo_prompt.
2862
a20193cd
KH
2863 * fns.c (Fmd5): Docstring improved.
2864
191b83b6
KH
2865 * lisp.h (detect_coding_system): Prototype adjusted.
2866
0544ef49
KH
2867 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2868 (detect_coding_emacs_mule, detect_coding_iso2022,)
2869 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2870 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2871 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2872 (detect_coding_mask, detect_coding_system): New argument
2873 MULTIBYTEP. Callers changed.
1da1bb05
KH
2874 (decode_coding_string): Set coding->src_multibyte and
2875 coding->dst_multibyte before calling detect_coding and detect_eol.
2876 Update them after some coding system is detected.
52283633 2877
d5b3eb1b
SM
28782000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2879
2880 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2881
2882 * keyboard.c (menu_bar_items, tool_bar_items):
2883 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2884
f7f8bb69
GM
28852000-12-13 Gerd Moellmann <gerd@gnu.org>
2886
52283633 2887 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2888 New variables.
2889 (unwind_create_frame, unwind_create_tip_frame): New functions.
2890 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2891 while a frame is only partially constructed.
2892
2893 * xterm.h (x_free_frame_resources): Declare.
2894
2895 * xterm.c (x_free_frame_resources): New function.
2896 (x_destroy_window): Use it.
2897
e10da507
GM
2898 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2899 don't interrupt the update for pending input initially, i.e.
2900 update at least some lines.
2901
2902 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2903
d5b3eb1b 2904 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2905
2906 * xfns.c (gray_bitmap_bits): Declare `char *'.
2907
90aa2856
GM
29082000-12-12 Gerd Moellmann <gerd@gnu.org>
2909
2910 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2911 lines start with a relief line.
2912
a308c9cd
DL
29132000-12-12 Dave Love <fx@gnu.org>
2914
2915 * window.c (Fdisplay_buffer): Doc fix.
2916 (Fwindow_list): Remove unused var.
2917
2918 * buffer.h (mmap_set_vars): Declare.
2919
2920 * window.h (Fset_window_point): Declare.
2921
d575011f
EZ
29222000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2923
bf6282d2 2924 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2925 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2926 variable `area'. When looking for a row under (X,Y), give up if some
2927 of the previous rows is not enabled.
d575011f 2928
ecf4d726
GM
29292000-12-12 Gerd Moellmann <gerd@gnu.org>
2930
2ebf6139
GM
2931 * window.c (Fset_window_point): If displaying cursors in windows
2932 other than the selected window, make sure redisplay updates
2933 other windows to show the new value of point in the window.
2934
2935 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2936
bfdb75ee
GM
2937 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2938 the buffer is the sole visible buffer when in the mini-buffer.
2939
52283633 2940 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2941 Bind `inhibit-read-only' to t.
2942 (unwind_with_echo_area_buffer): Use AREF.
2943
c0006262
GM
2944 * xfns.c (Fx_hide_tip): Simplified.
2945
52283633
SM
2946 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2947 instead of `1'.
e9a59cad 2948
ecf4d726
GM
2949 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2950
e5959a9a
GM
29512000-12-11 Gerd Moellmann <gerd@gnu.org>
2952
a3642e49 2953 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2954
44b5a125
GM
2955 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2956 nothing to do. Bind inhibit-quit.
2957 (tip_frame): Make it a Lisp_Object.
2958 (x_create_tip_frame): Set tip_frame after it has been added to
2959 Vframe_list.
2960 (Fx_show_tip): Don't set tip_frame here.
2961
2962 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2963
2964 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2965 Lisp_Object.
2966
2967 * dispextern.h: Change external declaration of tip_frame.
2968
d990421f
GM
2969 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2970 return an empty string.
2971
4db87380
GM
2972 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2973 of the window's update_mode_line flag, since the former is set by
2974 force-mode-line-update, not the latter. This makes
2975 column-number-mode slightly faster.
52283633 2976
e5959a9a
GM
2977 * xdisp.c (try_window_id) <all changes above window start>:
2978 Set the cursor.
2979
169fe44e
GM
29802000-12-11 Paul Eggert <eggert@twinsun.com>
2981
2982 * config.in (HAVE_FTELLO): Remove.
2983 (HAVE_FSEEKO): Add.
2984 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2985 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2986 HAVE_FTELLO.
2987 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2988 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2989
59ec59ae
MB
29902000-12-11 Miles Bader <miles@gnu.org>
2991
2992 * window.c (displayed_window_lines): Don't round up when
2993 converting empty space at bottom to lines.
ff904dd6
MB
2994 Handle non-newline-terminated final lines properly.
2995 (Fwindow_text_height): New function (used to be in lisp).
2996 (syms_of_window): Initialize it.
59ec59ae 2997
42ebfa31
SM
29982000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2999
3000 * syntax.c (scan_lists): Check that the right quote char has the
3001 right Sstring syntax when jumping over strings.
3002 (init_syntax_once): Use Smax rather than 13.
3003
5cdb3cf3
MB
30042000-12-09 Miles Bader <miles@gnu.org>
3005
3006 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
3007 with PARTIALLY, inverting the sense.
3008 (window_scroll_pixel_based): Scroll partially visible lines into
3009 place if we hit the beginning or end of the buffer.
a12167c5
MB
3010 (displayed_window_lines): Don't include partially visible lines.
3011 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 3012
842b2a94
GM
30132000-12-08 Gerd Moellmann <gerd@gnu.org>
3014
3015 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
3016
3017 * tparam.c (tparam1): Change the way buffers are reallocated to be
3018 portable and less obfuscated.
3019
3020 * termcap.c (tgetent): Change the way buffers are reallocated to
3021 be portable and less obfuscated.
3022
3023 * macros.c (store_kbd_macro_char): Change the way buffers are
3024 reallocated to be portable and less obfuscated.
3025
3026 * lread.c (read1): Change the way buffers are reallocated to be
3027 portable and less obfuscated.
3028
3029 * doc.c (Fsubstitute_command_keys): Change the way buffers
3030 are reallocated so that it is portable.
3031
137cad7c
EZ
30322000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
3033
3034 * dosfns.c (Ffile_system_info): New function.
3035 (syms_of_dosfns): Defsubr it.
3036
5c7f629c
SM
30372000-12-07 Stefan Monnier <monnier@cs.yale.edu>
3038
3039 * alloc.c (gc_sweep): Add comment.
3040
959e647d
GM
30412000-12-07 Gerd Moellmann <gerd@gnu.org>
3042
52283633
SM
3043 * sound.c (vox_configure): Change order of ioctls.
3044 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
3045 Ignore errors when changing volume.
3046 (vox_close): Don't reset the device.
3047
926b7e5e
GM
3048 * process.c (read_process_output): Make sure the process marker's
3049 position is valid when the process buffer is changed in
3050 after-change functions. W3 does that.
52283633 3051
959e647d
GM
3052 * xfns.c (x_free_gcs): New function.
3053
3054 * xterm.h (x_free_gcs): Add prototype.
3055
3056 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
3057 freeing GCs here.
3058
3059 * xterm.c (x_destroy_window): Call x_free_gcs so that
3060 resources of non-toolkit X windows will be freed.
3061
478ea067
AI
30622000-12-07 Andrew Innes <andrewi@gnu.org>
3063
3064 * w32fns.c (xlfd_charset_of_font): Fix last change.
3065
fbee3231
DL
30662000-12-06 Dave Love <fx@gnu.org>
3067
67292061
DL
3068 * md5.h (__P): Don't define -- it comes from config.h.
3069
fbee3231
DL
3070 * strftime.c: Change some #if foo to #ifdef foo.
3071
4ee87dbb
AI
30722000-12-06 Andrew Innes <andrewi@gnu.org>
3073
3074 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
3075
52283633 3076 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 3077 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 3078 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 3079
9765b4a4
GM
30802000-12-06 Gerd Moellmann <gerd@gnu.org>
3081
d285b373
GM
3082 * alloc.c (gc_sweep): Prevent symbols read during loadup
3083 from being freed.
3084
384333ee
GM
3085 * xdisp.c (underlying_face_id): New function.
3086 (handle_face_prop, face_before_or_after_it_pos): Use it
3087 to determine the face ``under'' a string. Let strings inherit
3088 the face of the buffer under them.
3089
3090 * xfaces.c (face_at_string_position): Update function comment.
52283633 3091
d4b72d58
GM
3092 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
3093 matrix if the window's left position has changed; we need to
3094 redraw it in this case.
3095
3096 * dispextern.h (struct glyph_matrix): Add member window_left_x.
3097
e1d05387
GM
3098 * window.c (coordinates_in_window): Check mouse on mode-line or
3099 header-line first.
3100
eb1b0c74
GM
3101 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
3102 advertized by the function documentation.
3103
d94d636f
GM
3104 * window.c (syms_of_window): Doc fix.
3105
3887b449
GM
3106 * sound.c (vox_configure): Set volume for left and right channel.
3107 (sound_cleanup): Return nil.
3108
efc8f57a
GM
3109 * xdisp.c (move_it_by_lines): Fix paren typo.
3110
9765b4a4
GM
3111 * xterm.c (x_load_font): Don't use the font's max_bounds for
3112 computing the height of the font. If max_bounds' ascent or
3113 descent are greater than the font's ascent or descent, this means
3114 glyphs overlap, which should be handled now by redisplay.
3115
6529ed87
GM
3116 * window.c (Veven_window_heights): New variable.
3117 (syms_of_window): DEFVAR_LISP it.
3118 (Fdisplay_buffer): Check Veven_window_heights before evening the
3119 window heights.
52283633 3120
0eb2ecde
MB
31212000-12-06 Miles Bader <miles@gnu.org>
3122
3123 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3124 update `default-frame-alist' instead of setting no frame parameters.
3125
03d7a167
KH
31262000-12-06 Kenichi Handa <handa@etl.go.jp>
3127
3128 * composite.c (update_compositions): Fix typo (use the correct
3129 variable).
3130
5f8803c2
JR
31312000-12-05 Jason Rumney <jasonr@gnu.org>
3132
3133 * md5.h: Remove underscores from function declarations.
3134 (__attribute__, __alignof__) [!__GNUC__]: Define.
3135
3136 * md5.c: Delay include of md5.h until after namespace cleaning.
3137
c28a075b
JR
3138 * makefile.w32-in (fns.o): Depend on md5.h
3139 (md5.o): New target.
3140 (sunfns.o): Remove.
3141
3142 * makefile.nt: Likewise.
3143
ff3c7056
JR
31442000-12-05 Jason Rumney <jasonr@altavista.net>
3145
3146 * w32term.c (expose_area): Complete last change.
3147
0c21eeeb
KR
31482000-12-05 Ken Raeburn <raeburn@gnu.org>
3149
3150 * minibuf.c: Include intervals.h.
3151
f201d732
JR
31522000-12-05 Jason Rumney <jasonr@gnu.org>
3153
3154 * w32term.c (x_produce_glyphs): If a font for a component of
3155 a composition is not found, use 1 pixel dot ascent and 0 dot
3156 descent value to avoid displaying terribly tall empty boxes.
3157 (expose_area): Pass x-coordinate relative to the exposed
3158 area to x_draw_glyphs instead of a window-relative coordinate.
3159
21999ab9
GM
31602000-12-05 Gerd Moellmann <gerd@gnu.org>
3161
4d2036e4
GM
3162 * xdisp.c (next_element_from_ellipsis): Save face before selective
3163 display in saved_face_id, and set face_before_selective_p.
3164 (reseat_1): Reset face_before_selective_p.
3165 (append_space, extend_face_to_end_of_line): If iterator's
3166 face_before_selective_p is set, use the face from saved_face_id.
3167 (extend_face_to_end_of_line): For tty frames, make sure to
3168 use the right face id when producing spaces at the end of
3169 the line.
3170
3171 * dispextern.h (struct it): Add face_before_selective_p.
3172
52be17cc
GM
3173 * keyboard.c (record_char): Don't record identical help-echo
3174 events in recent_keys.
3175
8a4f36cc
GM
3176 * xterm.c [USE_X_TOOLKIT]: Close the display.
3177 (xim_close_dpy): Handle case that the display has been closed.
3178
57d6e381
GM
3179 * xterm.c (x_destroy_window): Reset the frame's X window after
3180 destroying it.
3181
21999ab9
GM
3182 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3183 variable window_width.
3184 (line_draw_cost): Fix code skipping over spaces at the end of the
3185 line when must_write_spaces is not set.
3186 (scrolling_window): Fix code inserting runs in list of all runs.
3187
91372bb7
KH
31882000-12-05 Kenichi Handa <handa@etl.go.jp>
3189
3190 * coding.c (setup_coding_system): Be sure to initialize
3191 coding->category_idx.
3192
6c083b4c
GM
31932000-12-04 Gerd Moellmann <gerd@gnu.org>
3194
0c68ce6f 3195 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3196
6452929e
GM
3197 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3198 area to x_draw_glyphs instead of a window-relative coordinate.
3199
d7f31e22
GM
3200 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3201 error in the message.
3202
ae18aa3b
GM
3203 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3204 timer after having read a key. It's not good for code reading
3205 several keys in a loop, like an input method.
3206
caa15ef7
GM
3207 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3208 record undo information for format-decode.
3209
3210 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3211 current buffer is read-only, not if it isn't.
3212
6c083b4c
GM
3213 * keyboard.c (record_char): Record `help-echo' input events
3214 in recent_keys only if they display some help. Don't record
3215 `help-echo' events as macro char.
3216
caa15ef7
GM
32172000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3218
3219 * editfns.c (save_excursion_restore): Don't move point
3220 in another window if it is showing the wrong buffer.
3221 Avoid the call to Fwindow_live_p, for speed.
3222
5a13529b
KH
32232000-12-04 Kenichi Handa <handa@etl.go.jp>
3224
e225faa7
KH
3225 * xfaces.c (struct font_name): New member registry_priority.
3226 (split_font_name): Initialize the above member to zero.
3227 (concat_font_list): New function.
3228 (font_list): Include fonts of all alternative registries.
3229 (FONT_POINT_SIZE_QUANTUM): New macro.
3230 (better_font_p): Ignore point size difference less than
3231 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3232
e89648b4
KH
3233 * xterm.c (x_produce_glyphs): If a font for a component of
3234 a composition is not found, use 1 pixel dot ascent and 0 dot
3235 descent value to avoid displaying terribly tall empty boxes.
3236
5a13529b
KH
3237 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3238
d7935eb6
KR
32392000-12-03 Ken Raeburn <raeburn@gnu.org>
3240
3241 * coding.h (code_convert_string1): Declare.
3242
3243 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3244
52283633 3245 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3246
0dd5e255
JR
32472000-12-02 Jason Rumney <jasonr@gnu.org>
3248
3249 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3250 correctly for single byte character case.
3251 (w32_per_char_metric): Do not try to make any assumptions about
3252 the metrics of BDF fonts.
250cfece 3253 (x_estimate_mode_line_height): If `mode-line' face
52283633 3254 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3255 (note_mouse_highlight): Change the cursor shape on the vertical
3256 border between windows [not enabled].
3257
3258 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3259
3260 * w32fns.c (Fx_create_frame): Reintroduce the call to
3261 face-set-after-frame-defaults.
3262 (Vx_window_horizontal_drag_shape): New variable.
3263 (syms_of_xfns): DEFVAR_LISP it.
3264 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3265 enabled].
0dd5e255 3266
b5d8d2ca
GM
32672000-12-02 Simon Josefsson <simon@josefsson.org>
3268
3269 * fns.c (Fmd5): Use a different logic to decide the coding system
3270 to use.
3271
3272 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3273
fbb87147
EZ
32742000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3275
52283633 3276 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3277
447e9da0
GM
32782000-12-01 Gerd Moellmann <gerd@gnu.org>
3279
7708ced0
GM
3280 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3281 height for YNegative.
3282 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3283 height; also see comment there.
3284
447e9da0
GM
3285 * window.c (coordinates_in_window): Handle computations for
3286 positions on the vertical bar and fringes differently for
3287 window-system frames. Consider some pixels near the vertical bar
3288 as on the bar if the frame doesn't have vertical scroll bars.
3289 Associate positions between mode or header lines with the
3290 right window, the left one.
3291
86d1db20
JR
32922000-12-01 Jason Rumney <jasonr@gnu.org>
3293
3294 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3295
3296 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3297 invalid frame.
3298
a1d58e5b
GM
32992000-12-01 Gerd Moellmann <gerd@gnu.org>
3300
52283633 3301 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3302 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3303 (save_window_save, Fset_window_configuration): Save/restore
3304 window's orig_top and orig_height.
3305
89c609af
JR
33062000-12-01 Jason Rumney <jasonr@gnu.org>
3307
4d177746 3308 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3309
89c609af
JR
3310 * w32fns.c (x_set_cursor_color): Fix last change.
3311
eccc05db
GM
33122000-11-30 Gerd Moellmann <gerd@gnu.org>
3313
31b6671b
GM
3314 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3315 sure that the next redisplay displays the minibuffer, so that
3316 the cursor will be replaced with what the minibuffer wants.
3317
eccc05db
GM
3318 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3319 #ifndef instead of using #if.
3320 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3321 USE_TOOLKIT_SCROLL_BARS is defined.
3322
162de750
JR
33232000-11-30 Jason Rumney <jasonr@gnu.org>
3324
3325 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3326 x_display_cursor.
3327
693c4692
GM
33282000-11-30 Gerd Moellmann <gerd@gnu.org>
3329
3330 * fns.c (Fmd5): Doc fix.
3331
b5d8d2ca 33322000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3333
3334 * fns.c (Fmd5): New function.
3335 (syms_of_fns): Defsubr md5.
3336
3337 * Makefile.in (obj): Add md5.o
3338
b02cd40b
GM
33392000-11-30 Gerd Moellmann <gerd@gnu.org>
3340
edfb795e
GM
3341 * md5.h, md5.c: New files, taken from glibc.
3342
df3aedcf
GM
3343 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3344
b02cd40b 3345 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3346 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3347
8b5176cd
SM
33482000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3349
3350 * eval.c (Frun_hooks): Allow 0 arguments.
3351
346598f1
GM
33522000-11-29 Gerd Moellmann <gerd@gnu.org>
3353
f9396e03
GM
3354 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3355 is over the menu bar widget, say it's not on the frame.
3356
4a967a9b
GM
3357 * xfns.c (Fx_create_frame): Reintroduce the call to
3358 face-set-after-frame-defaults.
3359
346598f1
GM
3360 * eval.c (Fsignal): Reset handling_signal.
3361
222456a1
JR
33622000-11-28 Jason Rumney <jasonr@gnu.org>
3363
3364 * w32menu.c (add_menu_item): Reset menu item text when changing
3365 type to radio button.
3366
8049ddc0
GM
33672000-11-28 Gerd Moellmann <gerd@gnu.org>
3368
346598f1 3369 * xselect.c: Update copyright.
f4f4ee4d 3370
bebe4a2c
GM
3371 * window.c (coordinates_in_window): If on a mode or header line,
3372 but sufficiently close to its start, return ``on vertical
3373 border''. This gives us a way to drag windows horizontally when
3374 using toolkit scroll bars.
3375
3376 * xterm.c (note_mouse_highlight): Change the cursor shape
3377 on the vertical border between windows.
3378
3379 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3380
3381 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3382 (syms_of_xfns): DEFVAR_LISP it.
3383 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3384
8d2c2642
GM
3385 * textprop.c (text_read_only): New function.
3386 (verify_interval_modification): Use it instead of signaling
3387 `text-read-only'. This makes it easier to catch this error
52283633 3388 with a breakpoint.:
8d2c2642 3389
52283633 3390 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3391 not end of line, which includes CR.
3392
5a2bae6c
KH
33932000-11-28 Kenichi Handa <handa@etl.go.jp>
3394
3395 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3396 include no-conversion.
3397
ae31f84d
JR
33982000-11-27 Jason Rumney <jasonr@gnu.org>
3399
3400 * w32fns.c (w32_load_system_font): Always mark font as double byte
3401 if codepage is unicode.
3402
67f1cf4c
GM
34032000-11-27 Gerd Moellmann <gerd@gnu.org>
3404
4a74d071 3405 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3406 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3407
902ae620
GM
3408 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3409 `vertical-line', `mode-line' and `header-line' events.
3410
3411 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3412 of a character, a TAB for instance. This is easier than to set
3413 up the iterator exactly, and it's not a frequent case, so the
3414 additional effort wouldn't really pay off.
3415
c1e279c2
AC
34162000-11-26 Andrew Choi <akochoi@i-cable.com>
3417
67f1cf4c 3418 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3419 init_window_once.
3420
a609568a
JR
34212000-11-25 Jason Rumney <jasonr@gnu.org>
3422
52283633
SM
3423 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3424 Args to window_from_coordinates should be pixel coordinates.
48b21762 3425
a609568a
JR
3426 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3427 redisplay handles them properly.
3428
a658d039
MB
34292000-11-25 Miles Bader <miles@gnu.org>
3430
3431 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3432
d3416cca
JR
34332000-11-24 Jason Rumney <jasonr@gnu.org>
3434
3435 * w32.c (init_environment): Set LANG environment variable based on
3436 locale settings, if not set.
3437
3438 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3439 making tool bar smaller. When clearing the frame, also
3440 clear current matrices. Clear frame when tool bar disappears.
3441 Don't use more lines for the tool-bar than is available.
3442 (x_change_window_heights): New function.
3443
ba193890
GM
34442000-11-24 Gerd Moellmann <gerd@gnu.org>
3445
2be8f184
GM
3446 * xdisp.c (init_from_display_pos): If POS says we're already after
3447 an overlay string ending at POS, make sure to pop the iterator
3448 because it will be in front of that overlay string. When POS is
3449 ZV, we've thereby also ``processed'' overlay strings at ZV.
3450
ba193890
GM
3451 * xfaces.c (lface_from_face_name): Function comment fix.
3452
1862a24e
MB
34532000-11-24 Miles Bader <miles@gnu.org>
3454
3455 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3456 apply `mode-line-inverse-video' -- zero means force display using
3457 the default face, non-zero means display using the specialized face.
3458 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3459
f07fa1b8
KH
34602000-11-23 Kenichi Handa <handa@etl.go.jp>
3461
3462 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3463 hard coded `4'.
3464
2bcdf662
EZ
34652000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3466
3467 * coding.c (decode_coding_emacs_mule): Fix the case of
3468 CODING_EOL_LF, which used uninitialized value of c.
3469
ba8299ff
SM
34702000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3471
3472 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3473
f4117c4d
GM
34742000-11-22 Gerd Moellmann <gerd@gnu.org>
3475
03e757c1
GM
3476 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3477 buffer object.
3478
f4117c4d
GM
3479 * frame.h (struct frame): Replace desired_tool_bar_items,
3480 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3481 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3482
3483 * frame.c (make_frame): Change initialization of tool bar
3484 items accordingly.
3485
3486 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3487 Change references to members deleted from struct frame to use the
f4117c4d
GM
3488 new ones.
3489
3490 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3491 references to members deleted from struct frame to use the new ones.
f4117c4d 3492
52283633 3493 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3494
3495 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3496
3497 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3498 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3499 from struct frame to use the new ones.
3500
f8e2f3f2
MB
35012000-11-23 Miles Bader <miles@gnu.org>
3502
3503 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3504 the face's inverse-video attribute, rather than overriding it.
3505
60e8e0a5
GM
35062000-11-22 Gerd Moellmann <gerd@gnu.org>
3507
3508 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3509 making tool bar smaller.
3510
92dd1b29
DL
35112000-11-22 Dave Love <fx@gnu.org>
3512
3513 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3514
e672fdce
MB
35152000-11-22 Miles Bader <miles@gnu.org>
3516
3a17d6cc
MB
3517 * keyboard.c (Vminibuffer_message_timeout): New variable.
3518 (command_loop_1): Use it to determine message timeout.
3519 (syms_of_keyboard): Initialize it.
3520
60e8e0a5 3521 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3522
e9655d81
KH
35232000-11-22 Kenichi Handa <handa@etl.go.jp>
3524
3525 * sysdep.c: Move the code for declaring h_errno after #include
3526 <netdb.h>.
3527
77270fac
GM
35282000-11-21 Gerd Moellmann <gerd@gnu.org>
3529
cd913aae
GM
3530 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3531 the menu bar when the tooltip is unmapped.
3532
77270fac
GM
3533 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3534 sole visible buffer when we're currently in the mini-buffer, and
3535 give up if so.
52283633 3536
556635d6
JR
35372000-11-21 Jason Rumney <jasonr@gnu.org>
3538
3539 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3540 put on the clipboard.
3541 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3542 copy of what Emacs last put there. If they are the same, do not
52283633 3543 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3544
5b7bde64
MB
35452000-11-22 Miles Bader <miles@gnu.org>
3546
3547 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3548 (syms_of_minibuf): Initialize it.
3549 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3550 to prompt, don't make read-only.
3551
ff23e1dd
GM
35522000-11-21 Gerd Moellmann <gerd@gnu.org>
3553
52283633
SM
3554 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3555 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3556
7aaf4388
GM
3557 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3558
f5f47add 3559 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3560
ff23e1dd
GM
3561 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3562
37c35586
KH
35632000-11-21 Kenichi Handa <handa@etl.go.jp>
3564
3565 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3566 ... #endif scope.
3567
ff9ab414
GM
35682000-11-20 Gerd Moellmann <gerd@gnu.org>
3569
52283633 3570 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3571 screen supports it.
3572
29a01b72
GM
3573 * s/gnu-linux.h: Don't use `#cpu'.
3574
09dfdf85
GM
3575 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3576 not defined in mman.h.
3577
52283633 3578 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3579 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3580 and store an index in the XClientMessageEvent. Storing a
3581 Lisp_Object or pointer can fail on a 64 bit system, since X only
3582 transfers 32 bits.
52283633
SM
3583 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3584
81459ac9
DL
35852000-11-20 Dave Love <fx@gnu.org>
3586
3587 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3588
56c13ae6
GM
35892000-11-20 Gerd Moellmann <gerd@gnu.org>
3590
3591 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3592
495a6df3
KH
35932000-11-20 Kenichi Handa <handa@etl.go.jp>
3594
2bcf3714
KH
3595 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3596 by WIDTH.
3597
495a6df3
KH
3598 * alloc.c (make_string): Fix previous change. Be sure to make
3599 unibyte string correctly.
3600
6d950f4c
GM
36012000-11-19 Gerd Moellmann <gerd@gnu.org>
3602
39b39373
GM
3603 * window.c (Fwindow_list): Change parameter list to be XEmacs
3604 compatible.
3605 (window_list_1): New function.
3606 (window_loop): Use it instead of Fwindow_list.
3607
b95b34e5
GM
3608 * sysdep.c (emacs_ospeed): New variable.
3609 (toplevel): Don't declare ospeed extern.
3610 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3611
3612 * termcap.c (ospeed): Remove.
3613 (tputs) [!emacs]: Remove unused code.
3614 (tgetent): Avoid a compiler warning.
3615
e83dc917
GM
3616 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3617 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3618 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3619
3620 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3621 removed.
3622 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3623 Take the X display as additional argument.
3624 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3625 `Widget' is a pointer type that's not easily stored in Lisp_Object
3626 form in a portable way.
52283633 3627
6d950f4c
GM
3628 * dispnew.c (update_text_area): Fix last change.
3629
e47306e6
GM
36302000-11-18 Gerd Moellmann <gerd@gnu.org>
3631
fb3cd89b
GM
3632 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3633
3634 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3635 clear current matrices.
3636
edaa9aed
GM
3637 * buffer.c (mmap_enlarge): Don't print a message on stderr
3638 if mapping new memory at the end of the existing region fails.
3639
e47306e6
GM
3640 * dispnew.c (update_text_area): Don't skip over equal glyphs
3641 when the last current glyph overlaps the glyph to its right.
3642
509633e3
MB
36432000-11-18 Miles Bader <miles@gnu.org>
3644
3645 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3646 lines that *end* with "..." too (that's the most common case!).
3647
d392e9c5
GM
36482000-11-18 Gerd Moellmann <gerd@gnu.org>
3649
67988445
GM
3650 * xdisp.c (resize_mini_window): Temporarily change to the
3651 mini-window's buffer if necessary.
1bfdbe43 3652
d392e9c5
GM
3653 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3654 the tooltip obscures less text under it.
3655
36562000-11-17 Gerd Moellmann <gerd@gnu.org>
3657
3658 * puresize.h (BASE_PURESIZE): Increase to 700000.
3659
92bb977f
JR
36602000-11-18 Jason Rumney <jasonr@gnu.org>
3661
3662 * w32term.c (w32_draw_bitmap): Use face to set colors.
3663
26fbf20b
DL
36642000-11-17 Dave Love <fx@gnu.org>
3665
3666 * lread.c (Fload): Fix #ifdef for pcc.
3667
100b593b
GM
36682000-11-17 Gerd Moellmann <gerd@gnu.org>
3669
3670 * xdisp.c (pos_visible_p): Compute the default character height
3671 differently.
3672
a288d0d1
GM
36732000-11-16 Gerd Moellmann <gerd@gnu.org>
3674
cac94de6 3675 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3676 knowing the line's height; use the default font's height in that case.
cac94de6 3677
a288d0d1
GM
3678 * xfaces.c (weight_table): Add `demi' with the same meaning as
3679 `demibold'.
3680
981fb6f6
KH
36812000-11-16 Kenichi Handa <handa@etl.go.jp>
3682
2cca872d 3683 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3684 (clear_glyph_row): Delete local static variable null_row.
3685
e5fa381b
JR
36862000-11-15 Jason Rumney <jasonr@gnu.org>
3687
3688 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3689 (w32_alloc_lighter_color): Use new brightness calculations from
3690 xterm.c. Scale delta to be in the range expected by W32.
3691 (w32_draw_relief_rect): Use frame relief colors.
3692
8e42f043
GM
36932000-11-15 Gerd Moellmann <gerd@gnu.org>
3694
6d133d1f
GM
3695 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3696 (Qinhibit_default_face_x_resources): New variable.
3697 (syms_of_frame): Initialize it.
3698 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3699
3700 * xdisp.c (pos_visible_p): Improve function comment.
3701
3702 * lisp.h (BINDING_STACK_SIZE): New macro.
3703
8e42f043
GM
3704 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3705 reading the directory if readdir returns null and errno is EAGAIN
3706 or EINTR.
3707
e8c87124
SM
37082000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3709
3710 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3711 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3712 Set amount_to_scroll to max of dx and scroll_step so that
3713 scroll-conservatively doesn't defeat scroll-step>1.
3714 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3715 scroll-conservatively for line-at-a-time scrolling.
3716
5f0c971d
GM
37172000-11-14 Gerd Moellmann <gerd@gnu.org>
3718
3719 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3720 extra argument.
3721
3722 * xdisp.c (current_mode_line_height, current_header_line_height):
3723 New variables.
3724 (init_xdisp): Initialize them.
3725 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3726 and use exact mode line heights if it is set.
3727
3728 * lisp.h (pos_visible_p): Change prototype.
3729
3730 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3731 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3732 and current_header_line_height first.
52283633
SM
3733 (current_mode_line_height, current_header_line_height):
3734 Declare extern.
5f0c971d 3735
d7361edf
MB
37362000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3737
3738 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3739 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3740 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3741
ee5e440a
MB
37422000-11-14 Miles Bader <miles@gnu.org>
3743
3744 * xterm.c (x_alloc_lighter_color): Include an additive component
3745 too for dark colors, because FACTOR isn't enough.
3746 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3747 New macros.
3748
5ca020fc
GM
37492000-11-13 Gerd Moellmann <gerd@gnu.org>
3750
3751 * keyboard.c (show_help_echo): Call message3_nolog with number of
3752 bytes in the help string as 2nd parameter, instead of the number
3753 of characters.
3754
9d348294
MB
37552000-11-13 Miles Bader <miles@gnu.org>
3756
3757 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3758 (Fload): Use new openp return protocol.
3759 Don't try to use Vload_source_file_function to load .elc files.
3760 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3761 openp return protocol.
3762 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3763
1729bb9a
KH
37642000-11-11 Kenichi Handa <handa@etl.go.jp>
3765
4e677396
KH
3766 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3767
3768 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3769 Defined these macros.
3770 (NLIST_STRUCT): Avoid re-defining it.
3771
1729bb9a
KH
3772 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3773 -I/usr/contrib/X11R6/include.
3774 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3775
a82fe213
JR
37762000-11-10 Jason Rumney <jasonr@gnu.org>
3777
3778 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3779
3780 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3781 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3782
3783 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3784 (Qw32_charset_vietnamese): New symbol.
3785 (xlfd_charset_of_font): New function.
3786 (w32_load_system_font): Use it.
3787 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3788 when Vw32_charset_info_alist is nil to ensure default face always
3789 has font. Use Fcar and Fcdr for safety.
3790 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3791 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3792 pseudo-codepages for special cases.
3793 (w32_to_x_font): New parameter to allow charset portion to be
3794 specified where there is many to one mapping. Callers changed.
3795 (w32_list_fonts): Avoid listing fonts that won't display.
3796
52d89894
GM
37972000-11-10 Gerd Moellmann <gerd@gnu.org>
3798
3799 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3800 (font_list_1): Renamed from font_list.
3801 (font_list): New function, trying alternative registries from
3802 Vface_alternative_font_registry_alist.
3803 (Finternal_set_alternative_font_registry_alist): New function.
3804 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3805 Vface_alternative_font_registry_alist.
3806 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3807
651cd3da
KR
38082000-11-09 Ken Raeburn <raeburn@gnu.org>
3809
3810 * lisp.h (Flooking_at): Declare.
3811
388ac098
GM
38122000-11-09 Gerd Moellmann <gerd@gnu.org>
3813
778fbc46 3814 * dired.c (directory_files_internal): Fix a braino.
52283633 3815
388ac098
GM
3816 * dired.c (directory_files_internal): Add missing GCPRO's.
3817 Some cleanup.
3818
ecaedde1
GM
38192000-11-08 Gerd Moellmann <gerd@gnu.org>
3820
f7eb32aa
GM
3821 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3822 (resize_mini_window): Return quickly if Vresize_mini_window is
3823 nil. Don't return if Vmax_mini_window_height is nil.
3824
3825 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3826 (syms_of_xdisp): Initialize them.
3827 (resize_mini_window): Act according to the setting of
3828 Vresize_mini_window.
3829 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3830
ecaedde1
GM
3831 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3832 scroll bar widget after configuring it, so that it will appear at
3833 the right position from the start.
3834 (XTredeem_scroll_bar): Cleaned up.
3835
3747ef2c
KH
38362000-11-08 Kenichi Handa <handa@etl.go.jp>
3837
3838 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3839 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3840 division by two.
3841
3842 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3843
03391420
DL
38442000-11-07 Dave Love <fx@gnu.org>
3845
7758f1c1 3846 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3847
3848 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3849
b5de343d
GM
38502000-11-07 Gerd Moellmann <gerd@gnu.org>
3851
acad3c0b
GM
3852 * window.c (Fset_window_configuration): Don't try to preserve
3853 point in the current buffer, if that buffer is displayed in more
3854 than one window.
3855
b5de343d
GM
3856 * xfaces.c (lookup_named_face): If default face isn't realized,
3857 try to realize it. Return -1 if not successful.
3858 (Fx_list_fonts): Handle case that face cannot be determined.
3859 (Fface_font): Likewise.
3860
cdb1fe49
GM
38612000-11-06 Gerd Moellmann <gerd@gnu.org>
3862
3863 * window.c (displayed_window_lines): Detect partially
3864 visible lines at the bottom correctly.
3865
d3a67486
SM
38662000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3867
3868 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3869 when ensuring we don't do visit in indirect buffer.
3870
ff8dd5d5
KH
38712000-11-06 Kenichi Handa <handa@etl.go.jp>
3872
3873 * composite.h (compose_chars_in_text): Add prototype.
3874
3875 * composite.c (Vcomposition_function_table): New variable.
3876 (Qcomposition_function_table): New variable.
3877 (run_composition_function): Call
3878 Vcompose_chars_after_function with three arguments.
3879 (compose_chars_in_text): New function.
3880 (syms_of_composite): Modified the doc-string of
3881 Vcompose_chars_after_function. Declare composition-function-table
3882 as a lisp variable, and initialize it.
3883
3884 * xfns.c (x_encode_text): Suppress producing escape sequences for
3885 composition.
3886
3887 * xselect.c: Include composite.h.
3888 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3889
d1145f85
AI
38902000-11-05 Andrew Innes <andrewi@gnu.org>
3891
3892 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3893
3894 * sysdep.c (read_input_waiting): Remove extraneous argument to
3895 read_socket_hook.
3896
3897 * w32fns.c (Fx_server_version): Include w32_build_number in the
3898 return list.
3899
3900 * w32heap.c (w32_build_number): New variable.
3901 (cache_system_info): Set it.
3902
3903 * w32heap.h (w32_build_number): Add extern.
3904
3905 * emacs.c (syms_of_emacs): Update docstring for
3906 system-configuration, to reflect the actual usage on MS-Windows.
3907
e85ee976
GM
39082000-10-31 Gerd Moellmann <gerd@gnu.org>
3909
26dcb81b
GM
3910 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3911 process idle timers while waiting for another event.
3912
52283633 3913 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3914 the default face are colored.
3915
e85ee976
GM
3916 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3917 window height hasn't changed.
3918
01b220b6
JR
39192000-10-31 Jason Rumney <jasonr@gnu.org>
3920
3921 * w32term.c (x_produce_glyphs): Handle composite characters.
3922 (x_draw_glyph_string_foreground)
3923 (x_draw_composite_glyph_string_foreground): Restore old font.
3924
4e6b7204
MB
39252000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3926
3927 * minibuf.c (read_minibuf): Reset the undo history just before
3928 starting the recursive-edit.
3929
d4358b37
GM
39302000-10-30 Gerd Moellmann <gerd@gnu.org>
3931
563f68f1
GM
3932 * xfaces.c (menu_face_change_count): New variable.
3933 (Finternal_set_lisp_face_attribute): Increment it for changes
3934 of the `menu' face.
3935 (realize_basic_faces): Reflect changes in the `menu' faces
3936 in menu bars.
3937
82e274d1
GM
3938 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3939 dy obtained from the iterator's y-position after moving from
3940 scroll_margin_pos to PT; see comment there.
52283633 3941
0dbf9fd2
GM
3942 * xdisp.c (safe_eval_handler): Call add_to_log.
3943
906b3b14
GM
3944 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3945 is not a symbol or string.
3946
d4358b37
GM
3947 * xdisp.c (echo_area_display): Don't perform a display update from
3948 inside redisplay. The update will happen anyway at the end of
3949 redisplay, and it can confuse redisplay (GC messages while
3950 redisplaying, for instance.)
3951
70c825df
SM
39522000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3953
cf9b4b0b
SM
3954 * xrdb.c (x_load_resources): Use the class name in the defaults.
3955
70c825df
SM
3956 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3957 (regex_compile): Catch bogus \(\1\).
3958
a1d34b1e
GM
39592000-10-30 Gerd Moellmann <gerd@gnu.org>
3960
cae71efe
GM
3961 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3962 RGB values.
52283633 3963
35efe0a1
GM
3964 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3965 we have a color cache, check that the cached color equals the
3966 allocated color. If not, clear the color cache.
3967
1d3baf74
GM
3968 * window.c (displayed_window_lines): Change buffers if necessary.
3969 Fix computation of displayed lines.
3970
a1d34b1e
GM
3971 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3972 update_menu_bindings to DEFVAR_BOOL.
3973
70737ea9
KH
39742000-10-30 Kenichi Handa <handa@etl.go.jp>
3975
70c825df 3976 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3977
fa0cb51d
KH
3978 * puresize.h (BASE_PURESIZE): Increase to 680000.
3979
70737ea9
KH
3980 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3981
0e4c08e8
JR
39822000-10-29 Jason Rumney <jasonr@gnu.org>
3983
3984 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3985
3986 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3987 (w32_cache_char_metrics): Handle possibility that 'x' does not
3988 exist in a BDF font.
3989 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3990
3991 * w32bdf.h (bdffont): Add nchars.
3992
3993 * w32bdf.c (set_bdf_font_info): Set it.
3994 (w32_BDF_TextOut): Swap byte order of double byte characters.
3995 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3996
45b84006
EZ
39972000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3998
3999 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
4000 don't override the colors in frame's param_alist, unless they are
4001 unspecified.
4002
4003 * term.c (reassert_line_highlight): If inverse_video is non-zero,
4004 reverse the effect of the highlight flag.
4005
caf9deee
KR
40062000-10-27 Ken Raeburn <raeburn@gnu.org>
4007
4008 * window.h (Fwindow_live_p): Declare.
4009
ae0b9b46
KR
4010 * undo.c (record_delete): Check that last_undo_buffer is really a
4011 buffer before applying XBUFFER to it.
4012
4013 * keymap.c (where_is_internal): Pass lisp object, not integer, to
4014 Faref.
4015
02067692
SM
40162000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4017
4018 * lisp.h (KEYMAPP): New macro.
4019 (get_keymap): Remove.
4020 (get_keymap_1): Rename get_keymap.
4021
4022 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
4023
4024 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
4025
4026 * xmenu.c (single_submenu): Use KEYMAPP.
4027 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4028 Use KEYMAPP rather than Fkeymapp.
4029
4030 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
4031
4032 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
4033 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
4034 Use KEYMAPP rather than Fkeymapp.
4035 (single_submenu): Use KEYMAPP.
4036 (w32_menu_show, w32_dialog_show): Use TRUE.
4037
4038 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
4039
4040 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
4041 (Fkeymapp): Use KEYMAPP.
4042 (get_keymap): Rename from get_keymap_1. Remove old def.
4043 Return t when autoload=0 and error=0 and the keymap needs autoloading.
4044 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
4045 (Fminor_mode_key_binding): Don't raise an error if the binding
4046 is not a keymap.
4047 (Fuse_global_map, Fuse_local_map): Allow autoloading.
4048 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
4049
4050 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
4051 Allow Vspecial_event_map to be autoloaded.
4052 (menu_bar_items): Fetch the keymap rather than using keymapp.
4053 (menu_bar_one_keymap): No need to follow func-indirect any more.
4054 (parse_menu_item): get_keymap_1 -> get_keymap.
4055 (tool_bar_items): Fetch the keymap rather than using keymapp.
4056 (read_key_sequence): Use KEYMAPP.
4057
4058 * intervals.c (get_local_map): Use get_keymap rather than following
4059 function-indirections explicitly.
4060
4061 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
4062
f9d80af3
JR
40632000-10-27 Jason Rumney <jasonr@gnu.org>
4064
4065 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
4066 point, as Windows has oversized fonts.
4067
4068 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
4069
a3ba27da
GM
40702000-10-27 Gerd Moellmann <gerd@gnu.org>
4071
4072 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
4073 (freehook, reallochook): Handle null pointer arguments.
4074 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
4075
aa3b80cc
SM
40762000-10-27 Stefan Monnier <monnier@cs.yale.edu>
4077
4078 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
4079 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
4080 Giving in to popular pressure to shut up the compiler with casts.
4081
e24e84cc
GM
40822000-10-27 Gerd Moellmann <gerd@gnu.org>
4083
4084 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
4085 signed value, and use a default value computed from the font's
4086 maximum descent.
4087
05ea7ef2
MB
40882000-10-27 Miles Bader <miles@lsi.nec.co.jp>
4089
4090 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
4091 that specify a negative underline position can still use underlines.
4092
4093 * window.c (Fpos_visible_in_window_p): Make POS default to
4094 WINDOW's point, not the current buffer's point.
4095
0b95284b
DL
40962000-10-26 Dave Love <fx@gnu.org>
4097
4098 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
4099 when it's necessary.
4100
6c5b90af
GM
41012000-10-26 Gerd Moellmann <gerd@gnu.org>
4102
8b6d9dc9
GM
4103 * window.c (size_window): Compute size difference from sum of old
4104 child window sizes instead of from parent's size.
4105
6bc92b2e
GM
4106 * xdisp.c (pos_visible_p): Change current buffer if necessary.
4107 Handle obscured lines at the top of the window.
4108
4109 * frame.c (Fdelete_frame): Doc fix. Move running the hook
4110 down after the last error condition check.
4111
6c5b90af
GM
4112 * frame.c (Fdelete_frame): Run delete-frame-hook.
4113
42f92d4d
KH
41142000-10-26 Kenichi Handa <handa@etl.go.jp>
4115
4116 * coding.c (decode_coding): Fix previous change (check also
4117 CODING_MODE_LAST_BLOCK).
4118
d97151cb
SM
41192000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4120
e7efc503
SM
4121 * regex.c: More `unsigned char' -> `re_char' changes.
4122 Also change several `int' into `re_wchar_t'.
4123 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4124 (PUSH_FAILURE_POINTER): Don't cast any more.
4125 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4126 We want GCC to complain, since this piece of code makes
4127 re_match non-reentrant, which *should* be fixed.
4128 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4129 (EXTEND_BUFFER): Use RETALLOC.
4130 (SET_LIST_BIT): Don't cast.
4131 (re_wchar_t): New type.
4132 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4133 that those two functions will always properly return.
4134 (IMMEDIATE_QUIT_CHECK): Cast to void.
4135 (analyse_first): Use recursion rather than an explicit stack.
4136 (re_compile_fastmap): Can't fail anymore.
4137 (re_search_2): Don't check re_compile_fastmap for failure.
4138 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4139 Now also sets the new value (passed in a new argument).
4140 (re_match_2_internal): Use it.
4141 Also, use a new var `reg' of type size_t when looping through regs
4142 rather than reuse the inappropriate `mcnt'.
4143
d97151cb
SM
4144 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4145 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4146 (where_is_internal): Renamed from Fwhere_is_internal.
4147 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4148 (Fwhere_is_internal): New function wrapping where_is_internal.
4149 (where_is_internal_1): Handle the case where we're filling the cache.
4150 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4151
d5789b65
MB
41522000-10-25 Miles Bader <miles@gnu.org>
4153
4154 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4155
4ecda532
GM
41562000-10-25 Gerd Moellmann <gerd@gnu.org>
4157
4158 * window.c (pos_fully_visible_p): Removed.
4159 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4160 if position is visible and/or fully visible.
4161
4162 * lisp.h (pos_visible_p): Add prototype.
4163
4164 * xdisp.c (pos_visible_p): New function.
4165
68c3a137
KH
41662000-10-25 Kenichi Handa <handa@etl.go.jp>
4167
4168 * process.c (send_process): If OBJECT is t, it means that the data
4169 is from C string, but we should encode it. Before calling
4170 setup_raw_text_coding_system, be sure to flush out data by the
4171 previous coding system.
4172
7ae1c032
MB
41732000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4174
ff4dcd4b
MB
4175 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4176 assignment of startpos to prev when startpos == pos.
4177
7ae1c032
MB
4178 * editfns.c (find_field): Set the field stickiness correctly from
4179 overlay fields. Use renamed `text_property_stickiness'.
4180 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4181 Only check text properties, not overlays.
7ae1c032
MB
4182 * textprop.c (get_char_property_and_overlay): New function.
4183 (Fget_char_property): Use it.
4184 * intervals.h (get_char_property_and_overlay): Add declaration.
4185
49801145
SM
41862000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4187
4188 * keymap.c: Use AREF, ASET and ASIZE macros.
4189 (Fmake_sparse_keymap): Docstring fix.
4190 (synkey): Remove.
4191 (shadow_lookup): Move up.
4192 Handle the case where lookup-key returns an integer.
4193 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4194 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4195 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4196 Simplify/rewrite the keymap-finding code.
4197 Add check for command shadowing, using shadow_lookup.
4198
39e776cd
SM
41992000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4200
4201 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4202 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4203 a symbol.
4204
2488aba5
AI
42052000-10-24 Andrew Innes <andrewi@gnu.org>
4206
4207 * dired.c (directory_files_internal_unwind): New function.
4208 (directory_files_internal): Use it to ensure closedir is called
4209 even if expand-file-name or file-attributes throw, eg. because of
4210 a user interrupt. Also enable immediate_quit while calling
4211 re_search, so that matching can be interrupted as well.
4212
b94fdf61
AI
42132000-10-24 Andrew Innes <andrewi@gnu.org>
4214
4215 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4216 NT-Emacs only.
4217 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4218 so that re_search functions only quit when callers expect them to.
4219
42202000-10-24 Kenichi Handa <handa@etl.go.jp>
4221
4222 * regex.c (regex_compile): Change the way of handling a range from
4223 a char less than 256 to a char not less than 256.
4224
1946f901
GM
42252000-10-24 Gerd Moellmann <gerd@gnu.org>
4226
7ae2f10f
GM
4227 * window.c (size_window): Prevent setting window's width or
4228 height to a negative value (esp. with XSETFASTINT).
4229
5dcab13e
GM
4230 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4231 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4232 (protect_malloc_state) [GC_MALLOC_CHECK &&
4233 GC_PROTECT_MALLOC_STATE]: New function.
4234 (PROTECT_MALLOC_STATE): New macro.
4235 (__malloc_initialize, morecore, _malloc_internal)
4236 (_free_internal) _realloc_internal): Use it to make _heapinfo
4237 read-only outside of gmalloc.
4238
63e1b552
GM
4239 * keymap.c: Update copyright.
4240
1946f901
GM
4241 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4242 a symbol.
4243
4fa09beb
GM
42442000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4245
4246 * filelock.c (unlock_all_files): Use unlock_file to expand each
4247 buffer's file_truename before trying remove its lock file.
4248
23afac01
EZ
42492000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4250
4251 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4252 or CRLF, decode EOLs.
4253
04448b95
KH
42542000-10-24 Kenichi Handa <handa@etl.go.jp>
4255
4256 * window.c (Fdisplay_buffer): Fix doc.
4257
3090a5a5
JR
42582000-10-23 Jason Rumney <jasonr@gnu.org>
4259
4260 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4261 ASCII font of default fontset on Windows.
4262
4263 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4264 xterm.c comment below).
4265
4266 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4267
a83fee2c
GM
42682000-10-23 Gerd Moellmann <gerd@gnu.org>
4269
4270 * xterm.c (x_connection_closed): Reset handling_signal.
4271
52283633 4272 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4273
6ffdb539
MB
42742000-10-23 Miles Bader <miles@gnu.org>
4275
4276 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4277 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4278 maintain old behavior.
4279 * minibuf.c (Fminibuffer_complete): Likewise.
4280
7f1c969b
MB
42812000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4282
4283 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4284 that when a font can't be exactly centered, it errs up rather than
4285 down.
4286
23afac01 42872000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4288
52283633 4289 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4290
1a578e9b
AC
42912000-10-23 Andrew Choi <akochoi@i-cable.com>
4292
4293 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4294
4295 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4296 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4297
4298 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4299 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4300 syms_of_search, x_term_init, and init_keyboard before calling
4301 init_window_once. Also, call syms_of_xmenu.
4302
4303 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4304 default fontset to Monaco.
4305
4306 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4307 NewMacWindow and DisposeMacWindow.
4308 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4309 instead of calling NewMacWindow and setting fields of
4310 f->output_data.mac directly. Call init_frame_faces.
4311 (Fdelete_frame) [macintosh]: Remove unused code.
4312 (Fmodify_frame_parameters) [macintosh]: Call
4313 x_set_frame_parameters instead of mac_set_frame_parameters.
4314
4315 * frame.h [macintosh]: Define menu_bar_lines field in struct
4316 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4317
4318 * keyboard.c [macintosh]: Include macterm.h.
4319 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4320 and menu_bar_activate_event type events as for X and NT.
4321 (make_lispy_event) [macintosh]: Construct lisp events of type
4322 MENU_BAR_EVENT as for X and NT.
4323
4324 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4325 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4326 (sys_subshell) [macintosh]: Remove definition entirely.
4327 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4328 Vwindow_system_version here. Remove initialization of
4329 Vx_bitmap_file_path.
4330 (read_input_waiting): Correct the number of parameters passed to
4331 read_socket_hook.
4332 Move all Macintosh functions to mac/mac.c.
4333
4334 * term.c [macintosh]: Include macterm.h.
4335
4336 * window.c [macintosh]: Include macterm.h.
4337
4338 * xdisp.c [macintosh]: Include macterm.h. Declare
4339 set_frame_menubar and pending_menu_activation.
4340 (echo_area_display) [macintosh]: Do not return if terminal frame
4341 is the selected frame.
4342 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4343 Allow only the selected frame to set menu bar.
4344 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4345 calling FRAME_EXTERNAL_MENU_BAR (f).
4346 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4347
4348 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4349 and check_x. Declare XCreateGC. Define x_create_gc and
4350 x_free_gc. Initialize font_sort_order.
4351 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4352 but call x_list_fonts instead of w32_list_fonts.
4353 (Finternal_face_x_get_resource) [macintosh]: Do not call
4354 display_x_get_resource.
4355 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4356 (realize_x_face) [macintosh]: Load the font if it is specified in
4357 ATTRS.
52283633 4358 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4359
1ffbabe3
SM
43602000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4361
4362 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4363 is nil: since we go to the end of submap anyway, we'd end up
4364 setting nil to nil.
4365 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4366 doesn't obey autoload.
4367
bed43f1d
EZ
43682000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4369
1ffbabe3 4370 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4371
ea4233a7
JR
43722000-10-21 Jason Rumney <jasonr@gnu.org>
4373
4374 * w32term.c (w32_cache_char_metrics): Double check that font is
4375 really fixed pitch before trusting tmPitchAndFamily.
4376
f3d3c491
AI
43772000-10-21 Andrew Innes <andrewi@gnu.org>
4378
4379 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4380
4381 * w32term.h: Extern decl for w32_cache_char_metrics.
4382
4383 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4384
4385 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4386 (w32_unload_font): Free per_char array if present.
4387
4388 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4389 cached information in emulated XFontStruct to handle common cases
4390 quickly. Do not allocate XCharStruct for return.
4391 (w32_native_per_char_metric): New function.
4392 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4393 allocating one.
4394 (x_produce_glyphs): Don't get an HDC. Change calls to
4395 w32_per_char_metric to match arg change above. Remove calls to
4396 free results.
4397 (w32_get_glyph_overhangs): Ditto.
4398 (w32_cache_char_metrics): New function.
4399
4400 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4401 ($(BLD)/casefiddle.$(O)): Remove compile command.
4402 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4403 ($(BLD)/dispnew.obj):
4404 ($(BLD)/keyboard.obj):
4405 ($(BLD)/w32inevt.obj):
4406 ($(BLD)/w32bdf.obj):
4407 ($(BLD)/alloc.obj):
4408 ($(BLD)/buffer.obj):
4409 ($(BLD)/editfns.obj):
4410 ($(BLD)/emacs.obj):
4411 ($(BLD)/fileio.obj):
4412 ($(BLD)/fns.obj):
4413 ($(BLD)/indent.obj):
4414 ($(BLD)/insdel.obj):
4415 ($(BLD)/intervals.obj):
4416 ($(BLD)/minibuf.obj):
4417 ($(BLD)/print.obj):
4418 ($(BLD)/scroll.obj):
4419 ($(BLD)/sysdep.obj):
4420 ($(BLD)/textprop.obj):
4421 ($(BLD)/widget.obj):
f3d3c491
AI
4422 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4423 ($(BLD)/term.obj): Add dependency on dispextern.h.
4424
52283633
SM
4425 * makefile.nt ($(BLD)\dispnew.obj):
4426 ($(BLD)\keyboard.obj):
4427 ($(BLD)\w32inevt.obj):
4428 ($(BLD)\w32bdf.obj):
4429 ($(BLD)\alloc.obj):
4430 ($(BLD)\buffer.obj):
4431 ($(BLD)\editfns.obj):
4432 ($(BLD)\emacs.obj):
4433 ($(BLD)\fileio.obj):
4434 ($(BLD)\fns.obj):
4435 ($(BLD)\indent.obj):
4436 ($(BLD)\insdel.obj):
4437 ($(BLD)\intervals.obj):
4438 ($(BLD)\minibuf.obj):
4439 ($(BLD)\print.obj):
4440 ($(BLD)\scroll.obj):
4441 ($(BLD)\sysdep.obj):
4442 ($(BLD)\textprop.obj):
4443 ($(BLD)\widget.obj):
f3d3c491
AI
4444 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4445 ($(BLD)\term.obj): Add dependency on dispextern.h
4446
18ad4821
EZ
44472000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4448
4449 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4450 with an additional argument of Qt.
4451
de54681a
MB
44522000-10-21 Miles Bader <miles@gnu.org>
4453
4454 * window.c (pos_fully_visible_in_window_p): New function.
4455 (Fpos_visible_in_window_p): Add FULLY argument.
4456 Use pos_fully_visible_in_window_p.
4457 (window_scroll_pixel_based, window_scroll_line_based): Update
4458 calls to Fpos_visible_in_window_p.
4459 * lisp.h (Fpos_visible_in_window_p): Update prototype
4460
13c844fb
GM
44612000-10-20 Gerd Moellmann <gerd@gnu.org>
4462
4463 * alloc.c (toplevel): Conditionalize compilation of mem_*
4464 functions differently.
52283633 4465
d9506268
JR
44662000-10-20 Jason Rumney <jasonr@gnu.org>
4467
4468 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4469 mem_init where it used to be. mem_z etc not defined otherwise.
4470
8094989b
GM
44712000-10-20 Gerd Moellmann <gerd@gnu.org>
4472
4473 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4474 GC_MALLOC_CHECK.
4475 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4476 structure definition and related variabled to the top of the file.
4477 Include this code when GC_MALLOC_CHECK is defined.
4478 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4479 register/unregister allocated region.
4480 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4481 which isn't allocated.
4482 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4483 something which is already in use.
4484 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4485 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4486 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4487 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4488
4489 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4490 _malloc_internal instead of malloc.
4491 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4492 of free.
4493
ea456eb4
AI
44942000-10-20 Andrew Innes <andrewi@gnu.org>
4495
4496 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4497 Windows.
4498 (my_strftime) <macro>: Don't use macro arg list when redefining as
4499 _strftime_copytm.
4500 (my_strftime) <function>: Supply 0 as ut argument.
4501
e64c3a75
JR
45022000-10-19 Jason Rumney <jasonr@altavista.net>
4503
4504 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4505 including dispextern.h, as it stops faces from working.
4506
4507 * w32fns.c (Fx_create_frame): Don't bother calling
4508 face-set-after-frame-default since the caller does it for us
4509 anyway. Clean up calls to x_get_arg to be consistent with X.
4510
4511 * w32term.c (x_produce_glyphs): Handle
4512 unibyte_display_via_language_environment correctly.
4513 (w32_draw_box_rect): Fix the calculation of width and height.
4514
4515 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4516 as it has stopped working.
4517 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4518 menu-bar.
4519
17401c97
GM
45202000-10-19 Gerd Moellmann <gerd@gnu.org>
4521
4522 * eval.c (skip_debugger): Prevent a compiler warning.
4523 (Fcondition_case): Likewise.
4524 (Fbacktrace_frame): Use a null interactive spec.
4525
773272d8
KH
45262000-10-19 Kenichi Handa <handa@etl.go.jp>
4527
4528 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4529
a42943e9
GM
45302000-10-18 Gerd Moellmann <gerd@gnu.org>
4531
e50517d9
GM
4532 * strftime.c: Sync with glibc, file version 1.78.
4533 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4534 should no longer be used according to ISO 8601.
4535
9035a35a
GM
4536 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4537 no map for meta_prefix_char, don't try to use it as a keymap.
4538 Instead, if T_OK is non-zero, look up a default binding, if any,
4539 otherwise, if T_OK is zero, return nil.
4540
a42943e9
GM
4541 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4542 (x_to_xcolors, png_load): Use x_query_color.
4543
52283633
SM
4544 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4545 New functions.
a42943e9
GM
4546 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4547 which can be slow.
4548 (x_copy_color, x_alloc_lighter_color): Likewise.
4549
4550 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4551 (x_query_color, x_query_colors): Add prototype.
4552
4553 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4554 check_string_bytes only if not noninteractive, increase count to 50.
4555
00de2987
MB
45562000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4557
4558 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4559 markers correctly.
4560
54918e2b
GM
45612000-10-17 Gerd Moellmann <gerd@gnu.org>
4562
1f0b3fd2
GM
4563 * alloc.c (pure_bytes_used): Renamed from pureptr.
4564 (ALIGN): New macro.
4565 (pure_alloc): New function.
4566 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4567 Use it.
4568 (Fpurecopy): Use PURE_POINTER_P.
4569
68c5d1db
GM
4570 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4571 PT has moved backward.
52283633 4572
9a038881
GM
4573 * xdisp.c (cursor_row_p): Take continued lines into account.
4574
361b097f
GM
4575 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4576 string's size_byte.
4577 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4578 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4579 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4580 string allocated.
4581
54918e2b
GM
4582 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4583 of selective display off while searching for the next line start.
4584
03ed0806
KH
45852000-10-17 Kenichi Handa <handa@etl.go.jp>
4586
4587 * Makefile.in (term.o): Depend on dispextern.h.
4588
7e05cdaf
SM
45892000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4590
4591 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4592
a6801fd1
GM
45932000-10-16 Gerd Moellmann <gerd@gnu.org>
4594
483de32b
GM
4595 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4596 the iterator at the beginning, so that they can be set later on,
4597 for instance in reseat_at_next_visible_line_start, without being
4598 overwritten.
4599
a6801fd1
GM
4600 * xfns.c (pbm_format): Add :foreground and :background keywords.
4601 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4602 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4603
dbf1fcc1
EZ
46042000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4605
4606 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4607
52283633 4608 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4609
4610 * msdos.c (IT_set_face): Compare highlighted face with the default
4611 face, and invert colors if these faces' colors are identical.
4612 (Fmsdos_remember_default_colors): Don't swap foreground and
4613 background colors in initial_colors[].
4614 (IT_set_frame_parameters): Don't swap frame's foreground and
4615 background pixels. If ALIST includes "(reverse . t)", swap
4616 foreground-color and background-color properties in frame's
4617 param_alist. If the original frame's param_alist doesn't specify
4618 the colors, store unspecified-fg and unspecified-bg, reversed if
4619 required.
4620
4621 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4622 the colors are unspecified and reversed, reverse fore- and back-
4623 ground in the returned value.
4624 (Fframe_parameter): Ditto.
4625
b41fe2c3 46262000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4627
3a6b59d9
GM
4628 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4629 get_last_unchanged_at_beg_row.
4630 (find_first_unchanged_at_end_row): Renamed from
4631 get_first_unchanged_at_end_row.
4632 (find_first_unchanged_at_end_row): Convert assertions to
4633 unconditional tests which abort. When looking for a row in
4634 unchanged text, don't go further back than first_text_row.
4635
b41fe2c3
GM
4636 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4637 Don't add in the last line's height when deciding if the new
4638 position is below the scroll margin.
9d1af64f 4639
b41fe2c3 46402000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4641
4642 * editfns.c (Fconstrain_to_field): Check carefully for field
4643 boundaries if either OLD_POS or NEW_POS has a non-nil field
4644 property, even if they're the same.
4645
c412cb7b
KH
46462000-10-16 Kenichi Handa <handa@etl.go.jp>
4647
4648 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4649 height for XFillRectangle.
4650
5586f3eb
SM
46512000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4652
4653 * syntax.c (Fstring_to_syntax): New function extracted from
4654 Fmodify_syntax_entry.
4655 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4656 (skip_chars, Fforward_comment): Remove unused variables.
4657 (syms_of_syntax): Add defsubr for string-to-syntax.
4658 (describe_syntax): Add code for comment and string fences.
4659
db785038
SM
46602000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4661
4662 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4663 Do the meta->esc mapping. Call get_keyelt before returning.
4664 Start scanning from the second element (the first is always `keymap')
4665 to make it easier to detect when we reach a parent map.
4666 Handle the case of inheriting from a symbol whose function is a map.
4667 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4668 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4669 (get_keyelt, Flookup_key): Update call to access_keymap.
4670 Remove the meta->esc mappings.
4671 (define_as_prefix): Delete old disabled code.
4672 (menu_item_p): New function.
4673 (where_is_internal_1): Skip over the few remaining menu items.
4674 * lisp.h (access_keymap): Update prototype.
4675 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4676 Update call to access_keymap.
4677 (follow_key, read_key_sequence): Update calls to access_keymap.
4678 Remove the meta->esc mappings.
4679
cafafe0b
GM
46802000-10-13 Gerd Moellmann <gerd@gnu.org>
4681
a2e2a7f6
GM
4682 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4683 with additional argument.
4684
cafafe0b
GM
4685 * xdisp.c (cursor_row_p): New function.
4686 (try_cursor_movement, display_line): Use it.
52283633 4687
cafafe0b
GM
4688 * xdisp.c (append_space): Also save/restore iterator's current
4689 character and its length.
4690
4691 * xdisp.c (init_from_display_pos): Add an assertion.
4692 (handle_stop): Don't set iterator's add_overlay_start.
4693 (handle_invisible_prop): Likewise.
4694 (load_overlay_strings): If text under an overlay is invisible,
4695 take both before- and after-strings into account when the iterator
4696 is positioned either at the start or at the end of the overlay.
4697 (forward_to_next_line_start): Rewritten.
4698 (reseat_at_next_visible_line_start): Rewritten.
4699 (set_iterator_to_next): Add parameter RESEAT_P.
4700
4701 * dispextern.h (struct it): Remove member add_overlay_start.
4702 (set_iterator_to_next): Change prototype.
4703
c744452b
KH
47042000-10-13 Kenichi Handa <handa@etl.go.jp>
4705
4706 * coding.c (code_convert_region): Be sure to initialize
4707 coding->category_idx.
e4a3f4e1
KH
4708 (decode_coding_string): Set coding->src_multibyte and
4709 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4710 (encode_coding_string): Set coding->src_multibyte and
4711 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4712
321fd26f
SM
47132000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4714
4715 * xfns.c (Fx_create_frame): Don't bother calling
4716 face-set-after-frame-default since the caller does it for us anyway.
4717
76832439
EZ
47182000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4719
4720 * window.c (coordinates_in_window): Fix detection of vertical line
4721 on character terminals.
4722
2483cf58
GM
47232000-10-12 Gerd Moellmann <gerd@gnu.org>
4724
4725 * editfns.c (save_excursion_save): Additionally record the
4726 selected window.
4727 (save_excursion_restore): If buffer was visible in a window, and a
4728 different window was selected, and the old selected window is
4729 still live, restore point in that window.
4730
eb991b25
KH
47312000-10-12 Kenichi Handa <handa@etl.go.jp>
4732
8a0eba09
KH
4733 * xterm.c (x_produce_glyphs): Handle
4734 unibyte_display_via_language_environment correctly.
4735
20401fcc
KH
4736 * regex.c (regex_compile): Change the way of handling a range from
4737 unibyte char to multibyte char.
4738
4739 * syntax.c (skip_chars): Change the way of handling a range from
4740 unibyte char to multibyte char.
4741
eb991b25
KH
4742 * process.c (read_process_output): Cancel previous change.
4743
365dd325
EZ
47442000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4745
c1b096cb
EZ
4746 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4747
365dd325
EZ
4748 * charset.c (Ffind_charset_string): Doc fix.
4749 (Ffind_charset_region): Doc fix.
4750
eb483c2b
KH
47512000-10-11 Kenichi Handa <handa@mule.m17n.org>
4752
4753 * process.c (read_process_output): Fix previous change. Adjust
4754 multibyteness of text to insert in a buffer by
52283633 4755 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4756
b40bfb99
AS
47572000-10-10 Andreas Schwab <schwab@suse.de>
4758
4759 * alloc.c (mark_object): Remove all workarounds installed on
4760 1993-08-08.
4761
caff31d4
KH
47622000-10-10 Kenichi Handa <handa@etl.go.jp>
4763
52283633 4764 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4765 (base64_encode_1): Make it work for a text of multibyte form.
4766 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4767 case. Don't call str_to_multibyte because base64_decode_1
4768 produces correct multibyte form for eight-bit codes.
52283633 4769 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4770 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4771 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4772 codes.
4773
4774 * charset.h (CHAR_STRING): Optimized for single byte characters.
4775
cba026ef
AS
47762000-10-09 Andreas Schwab <schwab@suse.de>
4777
4778 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4779 -1 after socket is closed, to fall through to error processing.
4780
1e21fe48
EZ
47812000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4782
4783 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4784 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4785 background-color, change also the colors of the default face for
4786 this frame.
4787
a640322e
EZ
47882000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4789
4790 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4791 them extern (they are defined on xfaces.c).
4792 (syms_of_msdos): Don't intern and don't staticpro
4793 Qbackground_color and Qforeground_color.
4794
a115794c
EZ
47952000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4796
4797 * frame.c (Fframe_parameter): For non-windowed frames, if
4798 f->param_alist says foreground or background color is unspecified,
4799 call tty_color_name to return the color name computed from the
4800 frame's current colors.
4801
f5533b63
DL
48022000-10-06 Dave Love <fx@gnu.org>
4803
4804 * terminfo.c (ospeed): Don't declare.
4805
4806 * sysdep.c: Don't include string.h.
4807 (h_errno): Declare conditional also on TRY_AGAIN.
4808
4809 * charset.c (Ffind_charset_string): Doc fix.
4810
52283633 4811 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4812 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4813 error messages.
4814
2b06561a
DL
48152000-10-05 Dave Love <fx@gnu.org>
4816
4817 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4818 position like menu-bar.
4819
ca839c85
GM
48202000-10-05 Gerd Moellmann <gerd@gnu.org>
4821
4822 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4823
4824 * xdisp.c (handle_single_display_prop): Use safe_call1.
4825 (safe_call): Renamed from call_function.
4826 (safe_call1): New function.
4827 (handle_fontified_prop): Use safe_call1 instead of call1.
4828 (safe_eval): Renamed from eval_form.
4829 (safe_eval_handler): Renamed from eval_handler.
4830 (handle_single_display_prop, display_mode_element): Use safe_eval
4831 instead of eval_form.
4832
4833 * xfaces.c (merge_face_heights): Use safe_call instead of
4834 call_function.
4835
4836 * keyboard.c (show_help_echo): Use safe_call instead of
4837 call_function; use safe_eval instead of eval_form.
4838
4839 * lisp.h (safe_call): Renamed from call_function.
4840 (safe_eval): Renamed from eval_form.
4841 (safe_call1): Add prototype.
4842
a3489ece
MB
48432000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4844
4845 * xfns.c (image_ascent): Rearrange ascent calculation for the
4846 has-a-font case.
4847
35810b6f
SM
48482000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4849
4850 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4851 (where_is_internal_1): Don't bother ignoring menu-items any more.
4852
3dc78168
GM
48532000-10-04 Gerd Moellmann <gerd@gnu.org>
4854
4855 * keyboard.c (update_menu_bindings): New variable.
4856 (parse_menu_item): Use AREF. If update_menu_bindings
4857 is 0, don't update menu bindings.
4858 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4859
1efc2bb9
EZ
48602000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4861
4862 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4863 to `mark_object'.
4864
3f679f55
SM
48652000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4866
4867 * syntax.c (forw_comment): Match nestedness of ender/starter.
4868 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4869 (prev_char_comstart_first): Remove.
4870 (back_comment): Check two-char comment markers more carefully
4871 to better handle overlapping cases like *//* or /* */* */ ...
4872 Match nestedness of ender/starter.
4873
2021ab61
DL
48742000-10-02 Dave Love <fx@gnu.org>
4875
4876 * config.in (HAVE_GAI_STRERROR): Add undef.
4877
4878 * process.c (Fopen_network_stream): Use it.
4879
4880 * m/alpha.h (NO_REMAP): Don't define.
4881
64e6cc18
GM
48822000-10-02 Gerd Moellmann <gerd@gnu.org>
4883
4884 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4885 return with a string converted to an integer or vice versa when
4886 Vmocklisp_arguments is t.
4887 (Fsignal): Likewise. The function can return for `quit'.
4888 (struct gcpro): Declare member `var' to point to a volatile
4889 Lisp_Object.
4890
4891 * eval.c (error): Prevent compiler warning.
4892
b1904cd9
SM
48932000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4894
4895 * keymap.c (keymap_memberp): New function.
4896 (Fset_keymap_parent): Use it.
4897 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4898 Use keymap_memberp to avoid creating cycles.
4899 (access_keymap): Use KEYMAPP.
4900
71c9ec51
GM
49012000-09-30 Gerd Moellmann <gerd@gnu.org>
4902
4903 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4904 gai_strerror. Make sure xerrno is set if connect fails. Improve
4905 error recovery.
71c9ec51 4906
c70c6b58
JR
49072000-09-29 Jason Rumney <jasonr@gnu.org>
4908
4909 * w32term.c (w32_char_font_type, w32_encode_char)
4910 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4911 (w32_bdf_per_char_metric): New function.
4912 (w32_per_char_metric): Use it.
4913 (x_draw_glyph_string_background): Always draw background for BDF
4914 glyphs.
4915
4916 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4917 GDI object which is a scarce resource.
4918
4919 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4920 (get_quoted_string): Fix limit on memchr search.
4921 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4922 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4923 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4924 (get_cached_font_char, cache_char_offset): Use macro
4925 BDF_CODEPOINT_RANGE_COVER_P.
4926 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4927 (clear_cached_bitmap_slots): New function.
4928 (GET_HEX_VALUE): G-Z, g-z are not hex.
4929 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4930 (get_bitmap_with_cache): Use new cache implementation.
4931 (create_offscreen_bitmap): New function.
4932 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4933
4934 * w32term.c (x_produce_glyphs): If the distance from the current
4935 position to the next tab stop is less than a canonical character
4936 width, use the tab stop after that.
4937 (x_draw_glyphs): Handle case START and END are out of bounds more
4938 carefully.
4939 (x_clear_mouse_face): Block/unblock input.
4940 (x_display_and_set_cursor): Don't show a hollow box cursor for
4941 buffers whose cursor_type is nil.
4942
fe01239f
GM
49432000-09-29 Gerd Moellmann <gerd@gnu.org>
4944
52283633 4945 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4946
4947 * dispextern.h (updating_frame): Declare extern.
4948
e7c52f1f
AS
49492000-09-29 Andreas Schwab <schwab@suse.de>
4950
4951 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4952
de6e1f7c
GM
49532000-09-29 Gerd Moellmann <gerd@gnu.org>
4954
25126faa
GM
4955 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4956 use its function definition.
4957 (tool_bar_items): Likewise.
4958
de6e1f7c 4959 * lisp.h (fatal): Declare NO_RETURN.
52283633 4960
454ee39b
KH
49612000-09-29 Kenichi Handa <handa@etl.go.jp>
4962
4963 * keymap.c: Remove the line "#undef NULL".
4964
96301c5f
GM
49652000-09-28 Gerd Moellmann <gerd@gnu.org>
4966
52283633 4967 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4968
efffeeb4
DL
49692000-09-28 Dave Love <fx@gnu.org>
4970
ecb8b666
DL
4971 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4972
dc3cd20f
DL
4973 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4974
4975 * .gdbinit (xreload): Note its need on GNU/Linux.
4976
efffeeb4
DL
4977 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4978 r_alloc, r_alloc_free.
4979
8610d903
KH
49802000-09-28 Kenichi Handa <handa@etl.go.jp>
4981
4982 * syntax.c (skip_chars): Handle negation correctly.
4983
8901d1ac
GM
49842000-09-27 Gerd Moellmann <gerd@gnu.org>
4985
6f22f1ad
GM
4986 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4987 with non-zero FORCE_P argument.
4988
52283633 4989 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4990 Add assertions.
4991
4992 * xdisp.c (window_box_height): Add an assertion.
4993
4994 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4995 tool-bar than is available.
4996 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4997
36f1966f
DL
49982000-09-27 Dave Love <fx@gnu.org>
4999
efffeeb4 5000 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 5001
31d929e5
GM
50022000-09-26 Gerd Moellmann <gerd@gnu.org>
5003
c98863bf
GM
5004 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
5005 instead of BITS_PER_INT.
5006 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
5007 EMACS_UINT, respectively.
5008 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
5009
5010 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
5011
5012 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
5013
77072ab1
GM
5014 * window.c (freeze_window_starts): Construct last argument for
5015 foreach_window differently.
5016
5017 * xfns.c (x_decode_color): Don't return a Lisp_Object.
5018
5019 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
5020 EMACS_UINT instead of `int' and `unsigned int'.
5021 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
5022
5023 * frame.h (struct frame): Make the `nothing' member of union
5024 output_data an EMACS_INT.
5025
52283633 5026 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
5027 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
5028 size in the sdata structure.
5029 (SDATA_NBYTES, SDATA_DATA): New macros.
5030 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
5031 differently for the different layout of the sdata structure.
5032 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
5033 in sdata.
5034 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
5035 Check that size recorded in the string size and size recorded in
5036 the sdata structure agree.
5037
3e60b029
DL
50382000-09-25 Dave Love <fx@gnu.org>
5039
5040 * buffer.c: Include stdio.h.
5041
5042 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 5043
3e60b029
DL
5044 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
5045
5046 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 5047 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
5048 (__malloc_extra_blocks): Declare as __malloc_size_t.
5049
8ff16b4e
GM
50502000-09-25 Gerd Moellmann <gerd@gnu.org>
5051
755a2ccd
GM
5052 * alloc.c (mark_image): Use GC_NILP instead of NILP.
5053
d8b4516f
GM
5054 * keyboard.c (show_help_echo): Set help_echo_showing_p.
5055 (read_char): If help-echo is showing, preserve the echo area
5056 when redisplaying.
5057
5058 * xdisp.c (help_echo_showing_p): New variable.
5059 (set_message): Reset it to 0.
5060 (init_xdisp): Initialize help_echo_showing_p.
5061
5062 * dispextern.h (help_echo_showing_p): Declare extern.
5063
5064 * config.in: Fix typo in __GNUC_MINOR__.
5065
5066 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
5067
b11af2dd
GM
5068 * s/freebsd.h (POSIX_SIGNALS): Define.
5069
8ff16b4e
GM
5070 * xterm.c (x_clear_mouse_face): Block/unblock input.
5071
844eb643
DL
50722000-09-24 Dave Love <fx@gnu.org>
5073
5074 * fns.c (base64_encode_1): Fix last change.
5075
b30ab1b3
GM
50762000-09-22 Gerd Moellmann <gerd@gnu.org>
5077
5078 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
5079
5080 * xdisp.c (try_window_reusing_current_matrix): More fixes
5081 for the case window has a header-line.
5082
c6cbe5f0
DL
50832000-09-22 Dave Love <fx@gnu.org>
5084
4c7c1f3f
DL
5085 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
5086 a doc string.
5087
5088 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
5089
c6cbe5f0
DL
5090 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
5091
550a625e
GM
50922000-09-21 Gerd Moellmann <gerd@gnu.org>
5093
4c7c1f3f 5094 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
5095 for GCC >= 2.5.
5096
52283633
SM
5097 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
5098 Declare NO_RETURN.
fca99116 5099
80d26f99
GM
5100 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
5101 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
5102 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
5103 warnings.
52283633 5104
80d26f99
GM
5105 * marker.c (byte_char_debug_check): Return void.
5106
623a0aae
GM
5107 * xfns.c (Fx_create_frame): Set default frame parameter value
5108 for tool-bar-lines to 1.
5109
5110 * dispnew.c (scrolling_window): Compare y-positions of rows
5111 equal at the start. Some simplification.
5112
5113 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5114 reused rows' y-position in the case window has a header-line, and
5115 new window start is greater than old window start.
5116
42ac0ae5
GM
5117 * process.c (process_sent_to): New variable.
5118 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5119 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5120 Declare more parameters volatile.
5121
550a625e
GM
5122 * lread.c (Vrecursive_load_depth_limit): New variable.
5123 (Fload): Check recursive loads whose recursion depth exceeds
5124 Vrecursive_load_depth_limit.
5125 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5126
8320414c
GM
51272000-09-20 Gerd Moellmann <gerd@gnu.org>
5128
f46c275e
GM
5129 * fileio.c (Fread_file_name): Doc fix.
5130
5131 * editfns.c (Fmessage_or_box): Doc fix.
5132
5133 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5134
b7e11c5b 5135 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5136
8320414c
GM
5137 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5138 symbols are specified, add color translations to the cache.
52283633 5139 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5140 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5141 xpm_cache_color.
5142 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5143 structures to xpm_init_color_cache.
5144
da1608d9
GM
51452000-09-19 Gerd Moellmann <gerd@gnu.org>
5146
52283633 5147 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5148
6badfa25
AI
51492000-09-19 Andrew Innes <andrewi@gnu.org>
5150
5151 * makefile.nt (bootstrap-emacs): Don't change directory.
5152
3a5f42bb
KH
51532000-09-19 Kenichi Handa <handa@etl.go.jp>
5154
1b7649bd
KH
5155 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5156
3a5f42bb
KH
5157 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5158 If output buffer is too small, signal an appropriated error.
5159
9f83cf0b
DL
51602000-09-18 Dave Love <fx@gnu.org>
5161
52283633 5162 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5163 (current_active_maps): Remove redundant get_local_map call.
5164
28c7826c
GM
51652000-09-18 Gerd Moellmann <gerd@gnu.org>
5166
5cefa566
GM
5167 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5168 cursor for buffers whose cursor_type is nil.
52283633 5169
6fed3546
GM
5170 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5171 a feature to implement that is already implemented.
5172 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5173 warnings.
5174
5175 * xfns.c (x_clear_image_1): New function.
5176 (x_clear_image): Use it.
52283633 5177 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5178
05b1f851
GM
5179 * dispnew.c (update_window): Move test for invisible lines
5180 at the top to update_window_line.
5181 (update_window_line): Handle invisible lines here.
5182
f4779de9
GM
5183 * xfns.c (clear_image_cache): Clear current matrices of all
5184 frames sharing an image cache. Block input while freeing
5185 images. Fix timestamp comparison.
5186 (x_clear_image): Also free the mask.
5187
28c7826c
GM
5188 * xfns.c (lookup_image): Block input while loading the image so
5189 that we won't get interrupted in a state where the image isn't yet
5190 set up completely.
5191 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5192 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5193 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5194 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5195
b7412313
GM
51962000-09-16 Gerd Moellmann <gerd@gnu.org>
5197
5198 * dispnew.c (update_window): Make sure to make desired rows
5199 current even if they are completely invisible at the top
5200 of a window.
5201
47e351a3
GM
52022000-09-15 Gerd Moellmann <gerd@gnu.org>
5203
7f8f1edc
GM
5204 * xfns.c (lookup_image): Build mask before applying an algorithm.
5205 Recognize algorithm `disabled'.
5206 (cross_disabled_images): New variable.
5207 (COLOR_INTENSITY): New macro.
5208 (x_detect_edges): Use COLOR_INTENSITY.
5209 (x_disable_image): New function.
5210 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5211
5212 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5213 disabled state, don't apply an image transformation algorithm if
5214 the user specified an image for the disabled state. Use
28c7826c 5215 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5216 user hasn't specified an image.
5217
ebb8f116
GM
5218 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5219 allocation functions with the XPM lib.
5220 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5221 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5222 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5223 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5224 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5225 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5226 functions, if possible, because these handle color allocation
5227 failure more gracefully.
5228 (Fimage_mask_p): New function.
5229
47e351a3
GM
5230 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5231 (Qedge_detection, Qheuristic): New symbols.
5232 (syms_of_xfns): Initialize new symbols.
5233 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5234 `algorithm (edge-detection ...)'.
5235 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5236 (tiff_format, gif_format, gs_format): Add `:mask'.
5237 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5238 (GIF_MASK, GS_MASK): New enumerators.
5239 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5240 (emboss_matrix, laplace_matrix): New variables.
5241 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5242 (x_edge_detection): New functions.
5243 (x_laplace): Rewritten in terms of x_detect_edges.
5244 (x_build_heuristic_mask): If image has a mask, free it.
5245
fe83b953
AI
52462000-09-14 Andrew Innes <andrewi@gnu.org>
5247
5248 * makefile.w32-in: Revert to Unix line endings.
5249
3021e816
AI
52502000-09-14 Andrew Innes <andrewi@gnu.org>
5251
5252 * makefile.w32-in: Standardize indentation somewhat.
5253 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5254 cater for differences between shells.
5255
5256 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5257
2a32b5ea
GM
52582000-09-14 Gerd Moellmann <gerd@gnu.org>
5259
5260 * xterm.c (x_produce_glyphs): If the distance from the current
5261 position to the next tab stop is less than a canonical character
5262 width, use the tab stop after that.
5263
b4331e96
DL
52642000-09-14 Dave Love <fx@gnu.org>
5265
5266 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5267
ef9e4345
GM
52682000-09-14 Gerd Moellmann <gerd@gnu.org>
5269
085536c2
GM
5270 * xdisp.c (handle_fontified_prop): While running fontification
5271 functions, bind `fontification-functions' and
5272 `after-change-functions' to nil.
5273
ef9e4345
GM
5274 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5275 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5276
5277 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5278
5279 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5280 USE_MMAP_FOR_BUFFERS.
5281
5282 * insdel.c (make_gap): Use enlarge_buffer_text.
5283
5284 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5285 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5286 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5287 from former r_alloc_* functions in ralloc.c.
52283633 5288 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5289 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5290 (mmap_init) [REL_ALLOC_MMAP]: New function.
5291 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5292 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5293 BUFFER_FREE.
5294
5295 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5296 (enlarge_buffer_text): Add prototype.
5297
5298 * ralloc.c: Remove everything having to do with the use of mmap.
5299
f8608968
GM
53002000-09-13 Gerd Moellmann <gerd@gnu.org>
5301
2a494b2d
GM
5302 * sound.c (Fplay_sound): Doc fix.
5303
8c907a56
GM
5304 * keyboard.c: Avoid some more compiler warnings.
5305 (parse_tool_bar_item): Ignore cached key bindings.
5306
f8608968
GM
5307 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5308 and allocation of Lisp data.
5309
6ab70e9a
GM
53102000-09-12 Gerd Moellmann <gerd@gnu.org>
5311
d12d0a9b
GM
5312 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5313 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5314 defaults first.
5315
6ab70e9a
GM
5316 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5317
63c36c3c
KH
53182000-09-12 Miyashita Hisashi <himi@meadowy.org>
5319
5320 * ccl.c: Comment fixed.
5321 (MAX_MAP_SET_LEVEL): Increased to 30.
5322 (PUSH_MAPPING_STACK): Enclose with do-while block.
5323 (POP_MAPPING_STACK): Likewise.
5324 (stack_idx_of_map_multiple): New variable.
5325 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5326 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5327 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5328 (ccl_driver) <CCL_MapSingle>: Likewise.
5329 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5330 with the case where looking up process reaches to the end of
5331 map-set, and call CCL programs as the above change.
5332
7ee3bd7b
GM
53332000-09-11 Gerd Moellmann <gerd@gnu.org>
5334
8ec8a5ec
GM
5335 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5336 that might be clobbered by longjmp.
5337 (check_x_display_info, x_decode_color, create_frame_xic)
5338 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5339 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5340
f74b0705
GM
5341 * lread.c (init_lread): Set Vloads_in_progress to nil.
5342 (Fload): Show list of recursively loaded files, when signaling an
5343 error.
5344
7ee3bd7b
GM
5345 * lread.c (Vloads_in_progress): New variable.
5346 (record_load_unwind): New function.
5347 (Fload): Check for recursive loads.
5348 (syms_of_lread): Initialize Vloads_in_progress.
5349 (read_integer, read1): Avoid some compiler warnings.
5350
5351 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5352 compiler warnings.
5353
974e1e5b
MB
53542000-09-11 Miles Bader <miles@gnu.org>
5355
5356 * editfns.c (Fbuffer_string): Doc fix.
5357
9824c4e3
GM
53582000-09-10 Gerd Moellmann <gerd@gnu.org>
5359
5360 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5361
6a72fdd1
KR
53622000-09-09 Ken Raeburn <raeburn@gnu.org>
5363
5364 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5365 whether to include other header files.
5366
28e6fb66
GM
53672000-09-09 Gerd Moellmann <gerd@gnu.org>
5368
52283633 5369 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5370 by Fmemq as a boolean.
28e6fb66 5371
7f8b6551
SM
53722000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5373
5374 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5375
a8710abf
GM
53762000-09-08 Gerd Moellmann <gerd@gnu.org>
5377
d1a02881
GM
5378 * ralloc.c (mmap_fd): Remove initializer which can make it
5379 read-only in a dumped Emacs.
5380 (mmap_fd_1): New variable.
5381 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5382 restore it from there.
5383 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5384 unconditionally so that mmap_fd can be initialized there.
5385 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5386 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5387 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5388
c454aac1
GM
5389 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5390
5391 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5392 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5393
fc653ef2
GM
5394 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5395
3015eec0
GM
5396 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5397 inheritance.
5398
bfe0ee88
GM
5399 * xdisp.c (try_window_id): When trying to locate cursor in
5400 unchanged rows at the top, handle the case that we can't find it.
5401
a8710abf
GM
5402 * xterm.c (x_draw_glyphs): Handle case START and END are out
5403 of bounds more carefully.
5404
6b7d4ae4
DL
54052000-09-08 Dave Love <fx@gnu.org>
5406
423193c5
DL
5407 * s/sol2.h (REL_ALLOC_MMAP): Define.
5408 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5409
5410 * ralloc.c: Don't include string.h (redundant).
5411 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5412 [!MAP_ANON]: Include fcntl.h.
5413 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5414 (r_alloc, r_re_alloc, r_alloc_free)
5415 (mmap_enlarge, mmap_set_vars): Use it.
5416 (r_alloc_init_fd): New function.
5417 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5418 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5419 malloc type.
5420
5421 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5422 Remove vm-limit.o.
5423
6b7d4ae4
DL
5424 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5425 change to __NetBSD__.
5426
44d31981
KH
54272000-09-08 Kenichi Handa <handa@etl.go.jp>
5428
5429 * search.c (compile_pattern): Check the multibyteness of cached
5430 string and PATTERN.
5431
aad40737
MB
54322000-09-08 Miles Bader <miles@gnu.org>
5433
5434 * xfaces.c (default_face_vector): Function removed.
5435 (Finternal_merge_in_global_face): Restore old global/local
5436 attribute override order. Use inline loop instead of calling
5437 default_face_vector.
5438
91a211b5
GM
54392000-09-07 Gerd Moellmann <gerd@gnu.org>
5440
5441 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5442 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5443 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5444 where necessary, in case POINTER_TYPE is `void'.
5445
03419440
EZ
54462000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5447
5448 * frame.c (make_terminal_frame): Initialize frame foreground and
5449 background colors to unspecified, for the initial instance of an
5450 MSDOS frame.
5451
f46f845b
GM
54522000-09-07 Gerd Moellmann <gerd@gnu.org>
5453
24f76fbf
GM
5454 * ralloc.c (mmap_find): Fix overlap computation.
5455 (mmap_enlarge): Compute nbytes before trying to find an
5456 overlapping region.
5457
f46f845b
GM
5458 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5459 instead of `!='.
5460
5461 * lread.c (syms_of_lread): Change value of regexp
5462 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5463
5464 * xmenu.c (xdialog_show): When looking up the selection in
5465 menu_items, take `quote' boundaries into account; this corresponds
5466 to a nil ITEM in x-popup-dialog.
5467
3c014385
KH
54682000-09-07 Kenichi Handa <handa@etl.go.jp>
5469
fd6f711b
KH
5470 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5471 not 0x81.
5472 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5473
3c014385 5474 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5475 encoding, not decoding. Fix the handling of latin-jisx0201.
5476 Check for the charset katakana-jisx0201 too.
3c014385 5477 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5478 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5479
0da3ecef
GM
54802000-09-07 Gerd Moellmann <gerd@gnu.org>
5481
ab0ee409
GM
5482 * xfaces.c (Vparam_value_alist): New variable.
5483 (syms_of_xfaces): Initialize it.
5484 (Finternal_set_lisp_face_attribute): Avoid more consing.
5485
5486 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5487 specially.
5488 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5489 (Qbackground_mode): New variable.
5490 (syms_of_frame_1): Initialize Qbackground_mode.
5491
5492 * lisp.h (Qdisplay): Declare extern.
1091dd67 5493
0da3ecef
GM
5494 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5495 change face on all frames, and change the default for new frames.
5496
b14654b9
DL
54972000-09-07 Dave Love <fx@gnu.org>
5498
5499 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5500
d24fd56f
KH
55012000-09-07 Kenichi Handa <handa@etl.go.jp>
5502
794f3670
KH
5503 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5504
0fddd0dc
KH
5505 * charset.c: Include composite.h
5506 (lisp_string_width): New function.
5507 (Fstring_width): Call lisp_string_width instead of strwidth.
5508
5509 * Makefile.in (charset.o): Depends on composite.h.
5510
d24fd56f
KH
5511 * process.c (read_process_output): Before inserting the decoded
5512 text in the buffer, adjust the multibyteness.
5513
fa0b693c
GM
55142000-09-06 Gerd Moellmann <gerd@gnu.org>
5515
52283633 5516 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5517 buffer's text buffer is null, map new memory.
5518
0a58f946
GM
5519 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5520 POINTER_TYPE and size_t.
5521 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5522 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5523 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5524 [REL_ALLOC_MMAP]: New macros.
5525 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5526 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5527 [REL_ALLOC_MMAP]: New functions.
5528
5529 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5530 before and after unexec.
5531
5532 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5533 text buffers if necessary.
5534
5535 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5536 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5537 in prototypes.
5538
fa0b693c
GM
5539 * config.in (HAVE_MMAP): Add #undef.
5540
877055f6
GM
55412000-09-05 Gerd Moellmann <gerd@gnu.org>
5542
08ba3862
GM
5543 * frame.c (Qdisplay_type): New variable.
5544 (syms_of_frame_1): Initialize it.
5545 (Fframe_parameter): New function that avoids consing.
5546 (syms_of_frame): Defsubr it.
5547
66ffe51c
GM
5548 * buffer.c (Fother_buffer): Consider buffers as invisible when
5549 they are displayed in a window on an invisible frame.
5550
877055f6
GM
5551 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5552 get-largest-window always return nil.
5553
bb970e67
GM
55542000-09-04 Gerd Moellmann <gerd@gnu.org>
5555
5556 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5557 variable; recognize Emacs 19 elc files.
5558
7a3d0e0e
MB
55592000-09-04 Miles Bader <miles@gnu.org>
5560
5561 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5562 before initially popping up the menu, so the menu doesn't flash
52283633 5563 when the face settings are significantly different from the defaults.
7a3d0e0e 5564
14473664
SM
55652000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5566
5567 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5568 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5569 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5570 (BIT_UNIBYTE): Remove.
5571 (re_match_2_internal): Delete corresponding code and streamline the
5572 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5573 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5574 (re_wctype_t): New type.
5575 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5576 (regex_compile): Use them and fix handling of overly long char classes.
5577
c1174479
AI
55782000-09-03 Andrew Innes <andrewi@gnu.org>
5579
f8803e97
AI
5580 * makefile.w32-in: Change to DOS line endings.
5581
c1174479
AI
5582 * s/ms-w32.h (ORDINARY_LINK): New define.
5583
5584 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5585 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5586
5587 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5588 (distclean): Delete them here instead.
5589
44ef7cf6
AI
5590 * w32proc.c (compare_env): Convert to uppercase for comparison,
5591 not lowercase, to match how the native Windows shell works.
5592
49b3bd82
JR
55932000-09-03 Jason Rumney <jasonr@gnu.org>
5594
5595 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5596 CVS changes the line-ends when checking in/out on DOS/Windows.
5597
5598 * makefile.nt (emacs): Do not change directory to run temacs, as
5599 the load-path is set relative to current directory.
5600
a3d35a39
MB
56012000-09-03 Miles Bader <miles@gnu.org>
5602
5603 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5604
d276b0cf
GM
56052000-09-02 Gerd Moellmann <gerd@gnu.org>
5606
715e84c9
GM
5607 * xdisp.c (redisplay_mode_lines): New function.
5608 (display_mode_lines): Return number of mode lines displayed.
5609 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5610 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5611
8892f40b
GM
5612 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5613 string.h and strings.h.
5614 (index) [HAVE_INDEX]: Add prototype.
5615
d276b0cf
GM
5616 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5617 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5618
5619 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5620 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5621
38404229
GM
56222000-09-01 Gerd Moellmann <gerd@gnu.org>
5623
5624 * lread.c (read1): Accept `?' as symbol constituent, for
5625 compatiblity with XEmacs.
5626
c0f9ea08
SM
56272000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5628
5629 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5630 (struct re_pattern_buffer): Remove newline_anchor.
5631 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5632 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5633 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5634 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5635 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5636 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5637 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5638 Get rid of references to newline_anchor.
5639 (regcomp): Allocate and precompute a fastmap.
5640
8c0f83fe
GM
56412000-08-31 Gerd Moellmann <gerd@gnu.org>
5642
5643 * lread.c (openp): GCPRO local variable `filename'.
5644
4bb91c68
SM
56452000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5646
5647 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5648
5649 * regex.c: Merge some changes from GNU libc. Add prototypes.
5650 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5651 Use memcmp and memcpy instead of bcopy and bcmp.
5652 (init_syntax_once): Use ISALNUM.
5653 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5654 (REG_UNSET_VALUE): Remove. Use NULL instead.
5655 (REG_UNSET, re_match_2_internal): Use NULL.
5656 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5657 New macros.
5658 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5659 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5660 (regex_compile): In handle_interval, return an error rather than try to
5661 unfetch the interval if we can't find the closing brace.
5662 Obey the RE_NO_GNU_OPS syntax bit.
5663 (TOLOWER): New macro.
5664 (regcomp): Use it.
5665 (regexec): Allocate regs.start and regs.end as one block.
5666
5226a931
GM
56672000-08-30 Gerd Moellmann <gerd@gnu.org>
5668
868dd24b
GM
5669 * xdisp.c (echo_area_display): Check display_completed instead
5670 of calling detect_input_pending.
5671
5672 * dispnew.c (update_frame): Only set display_completed here; move
5673 the update_begin and update_end calls here from update_frame_1.
5674 (update_frame_1): Don't set display_completed here, don't call
5675 update_begin/update_end.
5676
5226a931
GM
5677 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5678 instead of store_frame_param.
5679
2a8bd25f
GM
56802000-08-29 Gerd Moellmann <gerd@gnu.org>
5681
5682 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5683 desired window matrix hasn't been displayed, use the current row
5684 instead. Make sure that only those frame rows are updated for
5685 which there exists a corresponding enabled desired row.
52283633 5686
ba3478d9
MB
56872000-08-29 Miles Bader <miles@gnu.org>
5688
5689 * xfaces.c (default_face_vector): New function.
5690 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5691
87d0f685
GM
56922000-08-29 Gerd Moellmann <gerd@gnu.org>
5693
5694 * lread.c (openp): Prevent temporary string passed to
5695 Ffile_readable_p from being garbage collected.
5696
6fa86045
DL
56972000-08-28 Dave Love <fx@gnu.org>
5698
5699 * keymap.c (store_in_keymap): Add `static' to declaration.
5700
bb17930d
GM
57012000-08-28 Gerd Moellmann <gerd@gnu.org>
5702
5703 * emacs.c, callint.c, doc.c, editfns.c
5704 (toplevel) [HAVE_STRING_H]: Include string.h.
5705 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5706 (index): Remove prototypes which might conflict with non-standard
5707 definitions of index/strchr.
5708
5709 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5710 (rindex): Define only if !HAVE_RINDEX.
5711
5712 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5713
5714 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5715
87188200
MB
57162000-08-28 Miles Bader <miles@gnu.org>
5717
5718 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5719 made inconsistent by a font-related attribute in FROM.
5720 (merge_face_inheritance): Add function comment.
5721
41a68aef
KH
57222000-08-28 Kenichi Handa <handa@etl.go.jp>
5723
5724 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5725 the 4th arg (PREV_EVENT) Qt to suppress input method.
5726
f7c436c1
SM
57272000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5728
0b32bf0e
SM
5729 * regex.c: Indent cpp directives and remove parens after `defined'.
5730 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5731 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5732 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5733 (re_compile_pattern): Use size_t for length.
5734 (init_syntax_once): Move to a better place.
5735 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5736 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5737
f7c436c1
SM
5738 * syntax.c (back_comment): Detect cases where a comment-starter is
5739 actually inside another comment as in: /* a // b */ c // d \n.
5740 Make it clear that `comstart_pos' is unused for nested comments.
5741
5742 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5743 (KEYMAPP): New macro.
5744 (Fkeymap_parent, Fset_keymap_parent): Use it.
5745 (fix_submap_inheritance): Mark it static.
5746 (define_as_prefix, describe_buffer_bindings, describe_command)
5747 (describe_translation, describe_map): Complete prototypes.
5748
5749 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5750
5751 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5752 to better match the key-lookup behavior.
5753
6288c62f
GM
57542000-08-27 Gerd Moellmann <gerd@gnu.org>
5755
5756 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5757 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5758
e931344e
EZ
57592000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5760
5761 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5762 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5763 (xterm.o): Depend on coding.h
5764
d10dfeef
KH
57652000-08-26 Kenichi Handa <handa@etl.go.jp>
5766
5767 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5768 the corresponding '#endif'.
5769
2d73e8d3
MB
57702000-08-26 Miles Bader <miles@gnu.org>
5771
5772 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5773 * xfaces.c (QCinherit): New variable.
5774 (syms_of_xfaces): Initialize it.
5775 (LFACE_INHERIT): New macro.
5776 (Finternal_get_lisp_face_attribute)
52283633 5777 (merge_face_vector_with_property)
2d73e8d3
MB
5778 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5779 (check_lface_attrs): Allow new types of face height. Check
5780 inherit attribute.
5781 (CYCLE_CHECK): New macro.
5782 (merge_face_inheritance): New function.
5783 (merge_face_vectors): Merge inherited faces too. Add F and
5784 CYCLE_CHECK arguments.
5785 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5786 (lookup_named_face, lookup_derived_face, realize_named_face)
5787 (face_at_string_position, face_at_buffer_position): Supply
5788 new F and CYCLE_CHECK arguments to merge_face_vectors.
5789 (merge_face_heights): New function.
52283633 5790 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5791 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5792 handle relative face heights.
5793 (lface_same_font_attributes_p): Compare heights using EQ.
5794
6ce974d4
KH
57952000-08-26 Kenichi Handa <handa@etl.go.jp>
5796
5797 * charset.c (char_to_string): Check the character validity.
52283633 5798 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5799
dc1e502d
SM
58002000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5801
5802 * regex.c (PUSH_FAILURE_COUNT): New macro.
5803 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5804 Handle popping of a register's or a counter's data.
5805 (POP_FAILURE_POINT): Use the new name.
5806 (re_match_2_internal): Push counter data on the stack for succeed_n,
5807 jump_n and set_number_at and remove misleading dead code in succeed_n.
5808
bd9d0f3f
GM
58092000-08-25 Gerd Moellmann <gerd@gnu.org>
5810
5811 * xdisp.c (redisplay_internal): If considering all windows on all
5812 frames, update the display for each frame as soon as possible,
5813 instead of first building all desired matrices for all frames, and
5814 then updating them all.
5815 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5816
aa5b8e15
GM
58172000-08-24 Gerd Moellmann <gerd@gnu.org>
5818
17494071
GM
5819 * bytecode.c (mark_byte_stack): Add a comment.
5820
52283633
SM
5821 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5822 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5823 a graphical frame.
5824
c543db81
KH
58252000-08-24 Kenichi Handa <handa@etl.go.jp>
5826
d246d5f5
KH
5827 * minibuf.c (do_completion): Always use compare-string, not
5828 string-equal because the latter doesn't pay attention to
5829 multibyteness of strings.
5830
c543db81
KH
5831 * process.c (create_process): Don't setup raw-text coding here.
5832 (Fopen_network_stream): Don't set coding->src_multibyte and
5833 coding->dst_multibyte here.
5834 (read_process_output): For process filter, return unibyte string
5835 if default-enable-multibyte-characters is nil.
5836 (send_process): If OBJECT is multibyte text, be sure to encoded it
5837 by the specified coding system for the process. Otherwise, setup
5838 raw-text coding.
52283633 5839 (init_process): Don't initialize default-process-coding-system here.
c543db81 5840
9b47cfe0
EZ
58412000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5842
5843 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5844 <scroll-down-aggressively>: Likewise.
5845
f5a36960
KH
58462000-08-23 Kenichi Handa <handa@etl.go.jp>
5847
5848 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5849 zero. Set coding->produced_char correctly.
5850
69a7ffa7
AI
58512000-08-22 Andrew Innes <andrewi@gnu.org>
5852
5853 * makefile.w32-in: New file.
5854
5855 * unexw32.c (unexec): Ignore old_name, and use the actual location
5856 of the current executable instead. Base new_name on this.
5857
5858 * w32proc.c (create_child): Remove reference to security
5859 descriptor, which isn't needed and doesn't compile with mingw32.
5860
5861 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5862 up dllimport attributes.
5863 (x_update_window_end): Update prototype.
5864
5865 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5866 extern, which screws up dllimport attributes.
5867
5868 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5869 up dllimport attributes.
5870
5871 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5872 screws up dllimport attributes.
5873
5874 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5875 up dllimport attributes.
5876 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5877 screws up dllimport attributes.
5878
5879 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5880 up dllimport attributes.
5881
5882 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5883 screws up dllimport attributes.
5884
5885 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5886 screws up dllimport attributes.
5887
5888 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5889 up dllimport attributes.
5890
5891 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5892 unnecessary extern, which screws up dllimport attributes.
5893 (main): Ditto.
5894
5895 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5896 up dllimport attributes.
5897
5898 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5899 unnecessary extern, which screws up dllimport attributes.
5900
5901 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5902 screws up dllimport attributes.
5903
5904 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5905 up dllimport attributes.
5906
5907 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5908
52283633
SM
5909 * w32bdf.c (search_file_line):
5910 (set_bdf_font_info):
5911 (seek_char):
5912 (w32_get_bdf_glyph):
69a7ffa7
AI
5913 (w32_BDF_to_x_font): Fix compile warnings.
5914
52283633 5915 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5916
5917 * w32select.c: Include keyboard.h before frame.h.
5918
5919 * w32fns.c (max): Define macro.
5920 (JOHAB_CHARSET): Define if not known.
5921 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5922 (Fx_show_tip): Synch with X version.
5923
5924 * w32xfns.c: Include keyboard.h before frame.h.
5925
5926 * w32fns.c: Include keyboard.h before frame.h.
5927
5928 * w32term.c: Include keyboard.h before frame.h.
5929
5930 * fontset.c: Include keyboard.h before frame.h.
5931
5932 * w32inevt.c: Include keyboard.h before frame.h.
5933 (MOUSE_MOVED): Define if not known.
5934
5935 * minibuf.c: Include keyboard.h before frame.h.
5936
5937 * keyboard.c: Include keyboard.h before frame.h.
5938
5939 * indent.c: Include keyboard.h before frame.h.
5940
5941 * dispnew.c: Include keyboard.h before frame.h.
5942
5943 * buffer.c: Include keyboard.h before frame.h.
5944
5945 * alloc.c: Include keyboard.h before frame.h.
5946
5947 * print.c: Include keyboard.h before frame.h.
5948
5949 * process.c: Include keyboard.h before frame.h.
5950
5951 * scroll.c: Include keyboard.h before frame.h.
5952
5953 * sysdep.c: Include keyboard.h before frame.h.
5954
5955 * term.c: Include keyboard.h before frame.h.
5956
5957 * window.c: Include keyboard.h before frame.h.
5958
5959 * xdisp.c: Include keyboard.h before frame.h.
5960 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5961
5962 * frame.c: Include keyboard.h before frame.h.
5963
5964 * w32heap.h: Undefine min, max.
5965
5966 * w32gui.h: Undefine min, max.
5967
5968 * unexw32.c: Change PUCHAR to PCHAR.
5969 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5970 (relocate_offset):
5971 (get_section_info):
69a7ffa7
AI
5972 (copy_executable_and_dump_data): Remove unnecessary static defs.
5973 (copy_executable_and_dump_data): Fix compile warnings.
5974
5975 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5976
5977 * w32console.c (min): Define macro.
5978 (clear_frame, write_glyphs): Fix compile warning.
5979
52283633 5980 * w32proc.c (compare_env):
69a7ffa7
AI
5981 (find_child_console): Fix compile warning.
5982
5983 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5984 sys_errlist instead of _sys_errlist.
5985 (get_emacs_configuration_options): New function.
5986
5987 * s/ms-w32.h (sys_nerr): Provide default definition.
5988 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5989 name with _ prepended.
5990 (NSIG): Define if not known.
5991 (get_emacs_configuration): Provide extern declaration.
5992 (get_emacs_configuration_options): Provide extern declaration.
5993 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5994
5995 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5996 (map_w32_filename):
69a7ffa7
AI
5997 (read_unc_volume): Fix compile warning.
5998
5999 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
6000 definitions from being used.
6001
6002 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
6003
52283633 6004 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
6005 (open_unc_volume): Make arg const.
6006
6007 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
6008 (read_input_waiting): Remove excess parameter.
6009
6010 * w32.c (init_environment): Call _access.
6011 (check_windows_init_file): Call _close.
6012 (init_user_info): Call _putenv.
6013 (init_environment): Call _putenv and _strdup.
6014 (init_ntproc): Reset volume info cache on startup.
6015
6016 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
6017 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
6018 cannot override the CRT malloc.
6019
6020 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
6021 (LINK_FLAGS): Append to original value of LINK_FLAGS.
6022
6023 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
6024 unless we are linking with a static CRT.
6025 (RVA_TO_PTR): Cast result to unsigned char*.
6026
6027 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
6028 (add_volume_info): Use xstrdup.
6029
25060080
SM
60302000-08-22 Stefan Monnier <monnier@cs.yale.edu>
6031
6032 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
6033 (do_completion, Fminibuffer_complete_word): Use it.
6034 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
6035 var so it can take non-boolean values.
6036
6917e6bb
GM
60372000-08-21 Gerd Moellmann <gerd@gnu.org>
6038
acb7cc89 6039 * editfns.c (find_field): Formatting changes.
52283633 6040 (toplevel): Some old-style function forward declarations
acb7cc89
GM
6041 changed to prototypes, some new protypes added, some functions
6042 made static.
6043
6044 * lisp.h (set_time_zone_rule): Add prototype.
6045 (use_dialog_box): External declaration.
6046
0bbfdc25
GM
6047 * keyboard.c (gen_help_event): Add parameter SIZE.
6048 (kbd_buffer_events_waiting): Slightly rewritten.
6049 (clear_event): New function.
6050 (kbd_buffer_get_event): Use it, and clear the input_events of
6051 HELP_EVENTs.
6052 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
6053 don't fill the newly created array with nils.
6054 (toplevel): Convert some old-style function forward declarations
6055 to prototypes.
6056
6057 * keyboard.h (gen_help_event): Change prototype.
6058
6059 * xterm.c (XTread_socket): Change calls to gen_help_event.
6060
6061 * w32term.c (w32_read_socket): Change calls to gen_help_event.
6062
6917e6bb
GM
6063 * eval.c (Fmacroexpand): Doc fix.
6064
e5cd3d11
JR
60652000-08-20 Jason Rumney <jasonr@gnu.org>
6066
6067 * w32term.h (x_display_info_for_display): Remove as this function
6068 does not exist on W32.
6069
6070 * w32term.c (help_echo_window): New variable.
6071 (syms_of_w32term): staticpro it.
6072 (note_mode_line_highlight): Set it.
6073 (XTextExtents16): Removed as there is no equivalent on W32.
6074 (x_compute_glyph_string_overhangs): Incomplete body removed, as
6075 the X way of doing this will not work for W32.
6076 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
6077 (x_draw_image_foreground): Avoid drawing outside of the clip area
6078 when image doesn't have a mask.
6079 (note_mouse_highlight): Process overlays in the right order of
6080 priority. Set help_echo_window.
6081 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
6082 because that's more visible for large images.
6083
6084 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
6085 name to single_keymap_panes.
6086 (w32_menu_show): Set wv->title when dealing with titles.
6087 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
6088
6e69ab8c
MB
60892000-08-21 Miles Bader <miles@gnu.org>
6090
6091 * minibuf.c (do_completion): Try again if we rewrite the input
6092 string, but no completion was done, so that any completion message
6093 will be correct.
6094
511bd4eb
GM
60952000-08-20 Gerd Moellmann <gerd@gnu.org>
6096
6097 * xfaces.c (lface_equal_p): Compare strings differently.
6098 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
6099 (realize_tty_face): Use them.
6100 (syms_of_xfaces): Initialize new variables.
6101 (map_tty_color): New function, extracted from realize_tty_face.
6102 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
6103 foreground or background color, store the new color name in the
6104 realized face; previous code trying to do this had no effect.
6105 (realize_tty_face): Use map_tty_color.
6106 (Fclear_face_cache): Set face_change_count and ensure thorough
6107 redisplay.
6108
1433385f
GM
61092000-08-19 Gerd Moellmann <gerd@gnu.org>
6110
511bd4eb
GM
6111 * undo.c (record_first_change, record_marker_adjustment): Don't
6112 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6113
419ac0a2
KH
61142000-08-18 Kenichi Handa <handa@etl.go.jp>
6115
6116 * coding.c (decode_coding_string): Set members consumed,
6117 consumed_char, produced, produced_char of *coding correctly. If
6118 decode_coding doesn't consume any byte, don't try anymore.
6119 (encode_coding_string): Likewise.
6120
7eb9e30d
GM
61212000-08-18 Gerd Moellmann <gerd@gnu.org>
6122
511bd4eb
GM
6123 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6124 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6125
6126 * xdisp.c (redisplay_internal): Compare windows for equality with
6127 EQ, instead of applying XWINDOW to something that might not
6128 be a window.
52283633 6129
dd34a735
KH
61302000-08-18 Kenichi Handa <handa@etl.go.jp>
6131
6132 * fontset.c (Finternal_char_font): Search only the selected frame
6133 for a window of the current buffer.
6134
385ff9e3
GM
61352000-08-18 Gerd Moellmann <gerd@gnu.org>
6136
511bd4eb 6137 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6138 Lisp_Objects.
6139
385ff9e3
GM
6140 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6141 second half of a HELP_EVENT is found at the start of kbd_buffer.
6142
d6abb4c7
MB
61432000-08-18 Miles Bader <miles@gnu.org>
6144
4618074a
MB
6145 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6146
d6abb4c7
MB
6147 * editfns.c (save_restriction_save): Rewrite to use markers.
6148 (save_restriction_restore): Rewrite to understand new form of data
6149 saved by save_restriction_save.
6150 (Fsave_restriction): Remove cautionary note in doc-string.
6151
a7b28523
GM
61522000-08-17 Gerd Moellmann <gerd@gnu.org>
6153
6154 * fileio.c (build_annotations): Add a comment explaining the
6155 return value of format-annotate-function. Replace a spurious call
6156 to Flength with a CONSP test. Call format-annotate-function with
6157 a fifth arg specifying how many times the function is been called
6158 in a row, to let it choose temporary buffers appropriately.
6159
03c9ed77
DL
61602000-08-17 Dave Love <fx@gnu.org>
6161
6162 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6163 declare make_temp_name twice.
6164
52283633 6165 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6166 (unreadpure): Give it an arg.
6167
6168 * unexalpha.c: Prototype fatal_unexec, mark_x,
6169 update_dynamic_symbols. Declare unexec as void.
6170
6171 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6172 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6173
6174 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6175 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6176
6177 * alloca.c: Use #error.
6178 [POINTER_TYPE]: Use it.
6179
6180 * eval.c (Fdefvar): Doc fix.
6181
6182 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6183 INITIALIZE_INTERVAL.
6184
6185 * buffer.h: Avoid DECLARE_INTERVALS.
6186
6187 * config.in: Add size_t.
6188
aae41d97
EZ
61892000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6190
6191 * w16select.c (set_clipboard_data): If there's not enough memory
6192 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6193 expects. In case of other failures, return 3.
6194 (system_error_msg): New error message.
6195 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6196 system_error_msg.
6197
65aa5e85
GM
61982000-08-16 Gerd Moellmann <gerd@gnu.org>
6199
6200 * term.c (write_glyphs): Also turn off inverse video after turning
6201 off other appearances in case TS_exit_attribute_mode is not equal
6202 to TS_end_standout_mode.
6203 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6204 with the same face.
6205 (turn_off_face): Reset standout_mode only if
6206 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6207 is equal to TS_end_standout_mode.
6208
ece23901
KH
62092000-08-16 Kenichi Handa <handa@etl.go.jp>
6210
9d7bcb2e
KH
6211 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6212 sequence at the end of the source block.
6213
ece23901
KH
6214 * ccl.c (Fccl_program_p): Docstring modified.
6215 (Fccl_execute): Likewise.
6216 (Fccl_execute_on_string): Likewise.
6217
5e30eaa2
EZ
62182000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6219
6220 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6221
290602fd
KH
62222000-08-16 Kenichi Handa <handa@etl.go.jp>
6223
6224 The following changes are mainly to fix bugs of
6225 encode/decode-coding-string failing if encoding/decoding return
6226 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6227 variable conversion_buffer.
6228
6229 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6230 decrement dst_end to avoid buffer overflow in the later call of
6231 string_as_multibyte
6232
6233 * coding.h (conversion_buffer_size, conversion_buffer)
6234 (get_conversion_buffer): Extern deleted.
6235
6236 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6237 (conversion_buffer, conversion_buffer_size): Variables deleted.
6238 (get_conversion_buffer): Function deleted.
6239 (struct conversion_buffer): New structure.
6240 (MAX_ALLOCA): New macro.
6241 (allocate_conversion_buffer): New macro.
6242 (extend_conversion_buffer, free_conversion_buffer): New functions.
6243 (ccl_coding_driver): Set coding->result.
6244 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6245 this is the last block of source.
6246 (encode_coding): Likewise. Handle the source block as the last
6247 one only when the whole source text is consumed.
6248 (decode_coding_string): Handle the case that the output buffer is
6249 too small to decode the whole source text. Use
6250 allocate_conversion_buffer, extend_conversion_buffer and
6251 free_conversion_buffer, not get_conversion_buffer.
6252 (encode_coding_string): Likewise.
6253 (init_coding): Function deleted.
52283633 6254 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6255
6256 * emacs.c (main): Don't call init_coding.
6257
52283633 6258 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6259
6260 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6261 (insert_glyphs): Likewise.
6262
6263 * w32console.c (write_glyphs): Use a locally declared
6264 conversion_buffer.
6265
b9f80d41
EZ
62662000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6267
6268 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6269 member of display_info is NULL.
6270
32dc52f7
GM
62712000-08-15 Gerd Moellmann <gerd@gnu.org>
6272
52283633 6273 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6274
32dc52f7 6275 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6276 appearances with capability `me'.
32dc52f7
GM
6277 (write_glyphs): Switch on inverse video before each face change.
6278
4eb22d33
DL
62792000-08-14 Dave Love <fx@gnu.org>
6280
6281 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6282 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6283 (lisp_free): Declare and make static.
6284
6285 * window.c: Fix embedded comment.
6286 (syms_of_window): Fix doc string.
6287
90cbf47e
GM
62882000-08-14 Gerd Moellmann <gerd@gnu.org>
6289
52283633 6290 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6291 make sure to print `C-' before `M-', like in the manual.
6292
440fc135
GM
62932000-08-11 Gerd Moellmann <gerd@gnu.org>
6294
6295 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6296 since they aren't relocated anymore.
52283633 6297 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6298
6299 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6300 partially visible line which is smaller than the window's height.
440fc135 6301
6e264fad
KH
63022000-08-11 Kenichi Handa <handa@etl.go.jp>
6303
6304 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6305 the multibyte form of eight-bit-control characters.
6e264fad
KH
6306 (Fccl_execute_on_string): Initialize ccl->multibyte.
6307
6308 * ccl.h (struct ccl_program): New member multibyte.
6309
6310 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6311
c371f69a
KH
63122000-08-11 Kenichi Handa <handa@etl.go.jp>
6313
6314 * regex.c (regex_compile) <normal_char>: Pay attention to
6315 multibyteness.
6316 (analyse_first) <exactn>: Setup fastmap correctly for
6317 eight-bit-control characters.
6318
63192000-08-11 Kenichi Handa <handa@etl.go.jp>
6320
52283633 6321 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6322
6323 * keyboard.c (make_lispy_event): Handle the new event type
6324 multibyte_char_keystroke.
6325
6326 * xterm.c: Include coding.h.
6327 (XTread_socket): Work around a bug of XmbLookupString. If the
6328 input is from XIM, decode it according to the current locale. In
6329 that case, generate multibyte_char_keystroke events.
6330
b8ddbe71
KH
63312000-08-11 Kenichi Handa <handa@etl.go.jp>
6332
6333 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6334 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6335
47589c8c
GM
63362000-08-10 Gerd Moellmann <gerd@gnu.org>
6337
6338 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6339 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6340 (move_it_in_display_line_to): Record iterator's ascent and descent
6341 before producing glyphs, and restore them when we know the glyph
6342 doesn't fit on the line.
6343 (move_it_to): Restructured so that it's easier to debug. If
6344 moving to a vpos, and not moving to an x or character position,
6345 stop as soon as the specified vpos is reached; don't move further
6346 into that line because that might change the computed line height.
6347 (try_cursor_movement): New function, extracted from the cursor
6348 movement branch of redisplay_window. If ending on a partially
6349 visible line, don't try to scroll if the cursor line is taller
6350 than the window.
6351 (redisplay_window): Use try_cursor_movement.
6352
6353 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6354 because that function doesn't cope with variable-height lines.
6355
6356 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6357 box cursor because that's better visible for large images.
52283633 6358
c51bacd6
MB
63592000-08-10 Miles Bader <miles@gnu.org>
6360
6361 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6362
bea56df7
GM
63632000-08-10 Gerd Moellmann <gerd@gnu.org>
6364
6365 * xdisp.c (Vmessages_buffer_name): New variable.
6366 (message_dolog): Use it.
6367 (syms_of_xdisp): Initialize it.
6368
99cd7364
EZ
63692000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6370
52283633 6371 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6372 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6373 redundant now that keyboard.h is included.
6374
7d093d56
EZ
63752000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6376
6377 * keyboard.c (kbd_buffer_events_waiting): New function.
6378
6379 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6380
6381 * msdos.c: Include keyboard.h.
6382 (XMenuActivate): Empty no_event events from the event buffer. If
6383 no events are left after that, call clear_input_pending.
6384 (mouse_clear_clicks): New function, code moved from mouse_init.
6385 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6386 mouse driver to ``forget'' any past clicks.
6387
6388 * Makefile.in (msdos.o): Depend on keyboard.h.
6389
41e757a6
GM
63902000-08-09 Gerd Moellmann <gerd@gnu.org>
6391
8e7bd231
GM
6392 * lisp.h (input_pending): External declaration.
6393
6394 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6395
8e7bd231
GM
6396 * xdisp.c (echo_area_display): Display thoroughly if input is
6397 pending. Bind redisplay-dont-pause to t during the redisplay.
6398 in case input is pending.
6399
6400 * dispnew.c (Qredisplay_dont_pause): New variable.
6401 (syms_of_display): Initialize and staticpro it.
6402 (update_frame_1): Don't interrupt the display for pending input if
6403 redisplay_dont_pause is set.
52283633 6404
43028b7e
GM
6405 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6406
41e757a6
GM
6407 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6408
2f2174fa
KH
64092000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6410
6411 * callproc.c (Fcall_process): Terminate the unwind-protect around
6412 the post-read-conversion of coding system.
6413
0a6fd67e
MB
6414 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6415 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6416 * buffer.h (overlays_at): Update prototype.
6417 * xdisp.c (next_overlay_change): Update call to overlays_at.
6418 * xfaces.c (face_at_buffer_position): Likewise.
6419 * textprop.c (Fget_char_property): Likewise.
6420 * xterm.c (note_mouse_highlight): Likewise.
6421
0c80756e
MB
6422 * minibuf.c (do_completion): Don't consider a simple change of
6423 case as `completion'.
6424
975f250a
KR
64252000-08-08 Ken Raeburn <raeburn@gnu.org>
6426
52283633 6427 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6428 * undo.c (record_delete): Make sure last_point_position_buffer is
6429 a buffer before comparing pointers.
6430
6431 * coding.h (decode_coding_string): Declare.
6432
6433 * intervals.h (Fprevious_single_char_property_change): Declare.
6434
6435 * textprop.c (Fprevious_single_char_property_change): Don't do
6436 arithmetic directly on lisp objects.
6437
52283633 6438 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6439
6440 * keyboard.h (menu_item_eval_property): Declare.
6441
6442 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6443 reuse as buffer name, instead of recreating (and discarding) every
6444 time a message is logged.
6445 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6446 (current_message_1, truncate_message_1, set_message_1)
6447 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6448 (current_message, truncate_echo_area, display_echo_area)
6449 (resize_echo_area_axactly): Changed calls.
b347b3fd 6450
975f250a 6451 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6452 Lisp object.
975f250a 6453 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6454 must be an integer, not a Lisp object.
975f250a 6455
46dc9912
KH
64562000-08-08 Kenichi Handa <handa@etl.go.jp>
6457
6458 * charset.c (Fchar_width): Doc fix.
6459
9f6d1a6c
GM
64602000-08-08 Gerd Moellmann <gerd@gnu.org>
6461
6462 * charset.c (Fstring_width): Doc fix.
6463
ff3d9573
GM
64642000-08-07 Gerd Moellmann <gerd@gnu.org>
6465
41e757a6 6466 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6467 line, clear ascent and descent members of the iterator structure;
6468 the height of the continued line does not affect the height of the
6469 continuation line.
6470 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6471 line taller than the window.
6472 (redisplay_window) <forced window start>: Handle case that the
6473 middle of the window is not found in any row.
6474 (dump_glyph_row): Show more information.
6475 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6476 first text line in a glyph matrix.
6477
6478 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6479 of the clip area when image doesn't have a mask.
6480
70fc58b3
GM
6481 * fns.c (sweep_weak_table): Fix survival conditions for
6482 key-or-value and key-and-value weakness.
6483
6484 * .gdbinit (xhashtable): New command.
6485
ac0e96ee
GM
6486 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6487 tables out of the list of all weak hash tables.
6488
ff3d9573
GM
6489 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6490 a new buffer is created, make sure echo_area_buffer[] references
6491 the new buffer.
6492
e0d8827b
EZ
64932000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6494
6495 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6496 the doc string.
6497
c6f35378
KH
64982000-08-07 Kenichi Handa <handa@etl.go.jp>
6499
6500 * syntax.c (skip_chars): Fix previous change. Make the handling
6501 of unibyte string consistent with that of regex search.
6502
1fd4c450
GM
65032000-08-05 Gerd Moellmann <gerd@gnu.org>
6504
e49aa397
GM
6505 * xmenu.c (popup_get_selection): Use xfree instead of free.
6506
6507 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6508
6509 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6510
6511 * callproc.c (child_setup): Use xfree instead of free.
6512
6513 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6514 instead of malloc.
6515 (run_mac_command, closedir): Use `xfree' instead of `free'.
6516
6517 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6518
6519 * eval.c (error): Use xfree instead of free.
6520
1fd4c450
GM
6521 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6522
6523 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6524 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6525
82d497fc
KH
65262000-08-05 Kenichi Handa <handa@etl.go.jp>
6527
6528 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6529 conversion.
6530
59f953a2
NF
65312000-08-04 Noah Friedman <friedman@splode.com>
6532
6533 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6534 docstring.
6535
688351f2
GM
65362000-08-04 Gerd Moellmann <gerd@gnu.org>
6537
6538 * syntax.c (skip_chars): Fix typo in error message.
6539
2dad51cc
AS
65402000-08-04 Andreas Schwab <schwab@suse.de>
6541
6542 * m/ia64.h: Moved from s/ia64.h.
6543
99bb2c60
KH
65442000-08-04 Kenichi Handa <handa@etl.go.jp>
6545
082a1df2
KH
6546 * process.c (read_process_output): Big simplification. Handle
6547 composition and post-read-conversion of coding system correctly.
6548 (send_process): Handle composition correctly.
6549
6550 * callproc.c (Fcall_process): Handle post-read-conversion of
6551 coding system if any.
6552
99bb2c60
KH
6553 * coding.c (decode_coding_iso2022): More strict check for handling
6554 single shifting.
082a1df2
KH
6555 (coding_restore_composition): Pay attention to the case that
6556 cmp_data is not set properly (because of invalid code in the
6557 source text).
6558 (run_pre_post_conversion_on_str): Include text properties in the
6559 resulting string.
6560 (decode_coding_string): Set members of coding correctly.
99bb2c60 6561
f4988be7
GM
65622000-08-03 Gerd Moellmann <gerd@gnu.org>
6563
6564 * s/ia64.h: New file.
6565
6566 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6567 Use NULL instead of 0 at the end of variable argument list of
6568 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6569 sizeof (int) < sizeof (void *).
6570
6571 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6572 of variable argument lists of XtVaGetValues and XtVaSetValues.
6573
6574 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6575 variable argument lists of XtVaGetValues and XtVaSetValues.
6576
ead53494
GM
65772000-08-02 Gerd Moellmann <gerd@gnu.org>
6578
6579 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6580 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6581
6582 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6583 prototype.
6584
6585 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6586 in call to Fsingle_key_description.
6587
6588 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6589 Callers changed.
6590
65912000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6592
6593 * window.c (display_buffer_reuse_frames): New variable.
6594 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6595 frames displaying BUFFER.
52283633 6596 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6597
10b0f752
MB
65982000-08-01 Miles Bader <miles@gnu.org>
6599
6600 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6601 when to constrain NEW_POS (they were pretty screwed up before).
6602
16425c4a
EZ
66032000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6604
6605 * msdos.c (run_msdos_command): Save and restore the master
6606 environment, for the case that child_setup signals an error.
6607 When mirroring slashes in DOS shell commands, don't fail when
6608 argv[2] has embedded blanks.
da288c14
EZ
6609 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6610 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6611 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6612
6613 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6614 using alloca; free it after run_msdos_command returns.
6615
27f73852
DL
66162000-07-27 Dave Love <fx@gnu.org>
6617
52283633
SM
6618 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6619 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6620
6621 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6622
c0261b5e
EZ
66232000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6624
6625 * editfns.c (lisp_time_argument): Fix last change.
6626
b548072f
GM
66272000-07-27 Gerd Moellmann <gerd@gnu.org>
6628
3ab82477
GM
6629 * fns.c (Fdelete): Make it work on vectors and strings in addition
6630 to lists.
6631
b548072f
GM
6632 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6633 (syms_of_fns): Initialize new variables.
52283633 6634 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6635 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6636 weakness, with t meaning the same as `key-and-value'.
6637
91ae8751
KH
66382000-07-27 Kenichi Handa <handa@etl.go.jp>
6639
6640 * coding.h (struct coding_system): Member safe_charset deleted.
6641
6642 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6643 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6644 New variables.
91ae8751
KH
6645 (coding_safe_chars): New function.
6646 (CODING_SAFE_CHAR_P): New macro.
6647 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6648 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6649 (detect_coding_iso2022): New local variable safe_chars.
6650 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6651 safe_charsets member of the coding system.
6652 (decode_coding_iso2022): New local variable safe_chars.
6653 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6654 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6655 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6656 (ENCODE_UNSAFE_CHARACTER): New macro.
6657 (encode_coding_iso2022): New local variable safe_chars. Check
6658 unsafe chars.
6659 (setup_coding_system): Delete the code to initialize
6660 coding->safe_charses
6661 (intersection, find_safe_codings): New functions.
6662 (Ffind_coding_systems_region_internal): New function.
6663 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6664 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6665 variable and initialize it.
6666
6667 * fns.c (char_table_ref_and_index): New function.
6668
6669 * lisp.h (char_table_ref_and_index): Add prototype.
6670
34a7a267
SS
66712000-07-26 Sam Steingold <sds@gnu.org>
6672
6673 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6674 (Ffloat_time): New built-in Lisp function.
34a7a267 6675
a95cb10a
GM
66762000-07-26 Gerd Moellmann <gerd@gnu.org>
6677
3353ef5a
GM
6678 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6679 for the character code.
6680
6681 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6682 GNU/Linux.
6683
a95cb10a
GM
6684 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6685 if called for a popup menu.
6686 (xmenu_show): Store help string in widget values.
6687
b4a12321
DL
66882000-07-26 Dave Love <fx@gnu.org>
6689
6690 * syswait.h: Move some definitions.
6691 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6692 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6693 perspicuous definitions.
6694 (WTERMSIG): Fix bit pattern used.
6695
13f5ad37
KH
66962000-07-26 Kenichi Handa <handa@etl.go.jp>
6697
6698 * print.c (print_object): If vector printing is truncated, print
6699 "..." to indicate it as well as the case of list printing.
6700
070fe99c
GM
67012000-07-25 Gerd Moellmann <gerd@gnu.org>
6702
969065c3
GM
6703 * xdisp.c (next_element_from_display_vector): Improve comments.
6704
6705 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6706 for the character code, and the rest for the face id as in 20.x.
6707 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6708
6709 * window.c (window_display_table): Cleaned up.
6710
070fe99c
GM
6711 * syntax.c (Fforward_word): Add last arg nil in call of
6712 Fconstrain_to_field.
6713
bad77ef7
EZ
67142000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6715
969065c3 6716 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6717 identical but for the letter-case, don't call
6718 barf_or_query_if_file_exists.
bad77ef7 6719
c28da489
MB
67202000-07-25 Miles Bader <miles@gnu.org>
6721
6722 * editfns.c (find_field): Honor special `boundary' fields.
6723 (Qboundary): New variables.
6724 (syms_of_editfns): Initialize Qboundary.
6725 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6726 Use scan_buffer instead of find_before_next_newline, because it
6727 allows us to detect the boundary case where there's a newline at
6728 the search limit.
6729 * lisp.h (Fconstrain_to_field): Update external declaration.
6730
e3c31fd5
GM
67312000-07-24 Gerd Moellmann <gerd@gnu.org>
6732
6733 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6734 if that is nil.
c28da489 6735
c66c29a2
DL
67362000-07-24 Dave Love <fx@gnu.org>
6737
6738 * s/sunos4-0.h, s/sol2.h:
6739 (LIBS_TERMCAP): Move from m/sparc.h.
6740
6741 * m/sparc.h (TERMINFO): Moved to system files (probably only
6742 relevant for sunos4 judging by its vintage).
6743 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6744 __arch64__.
6745
fbe0a958
EZ
67462000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6747
6748 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6749 name to single_keymap_panes.
6750
7d88e5c9
AS
67512000-07-24 Andreas Schwab <schwab@suse.de>
6752
6753 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6754
e024b101
GM
67552000-07-24 Gerd Moellmann <gerd@gnu.org>
6756
6757 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6758 parameters instead of using int parameters. Expect FN to accept
6759 EMACS_INT parameters.
6760 (display_echo_area, resize_echo_area_axactly, current_message)
6761 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6762 with new argument list.
6763 (resize_mini_window_1): New callback function.
6764 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6765 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6766
25c1a9ce
KH
67672000-07-24 Kenichi Handa <handa@etl.go.jp>
6768
6769 * fontset.c (fontset_ref): Remove INLINE declaration.
6770 (fontset_ref_via_base): Likewise.
6771 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6772 to downcase.
6773
7f987ac0
EZ
67742000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6775
6776 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6777 correct order of priority. If help echo was found in an overlay,
6778 use that overlay as the object in which the help echo was found.
6779
e2db3069
MB
67802000-07-22 Miles Bader <miles@gnu.org>
6781
6782 * textprop.c (Fprevious_single_char_property_change): The initial
6783 property value should be from the position preceding POSITION, not
6784 following it.
6785
5e3203e4
EZ
67862000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6787
6788 * coding.c (syms_of_coding): Doc fix for
6789 inhibit-iso-escape-detection.
6790
62145073
GM
67912000-07-21 Gerd Moellmann <gerd@gnu.org>
6792
c20aeb83
GM
6793 * xterm.c (note_mouse_highlight): Process overlays in the right
6794 order of priority.
34a7a267 6795
743934db
GM
6796 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6797
6798 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6799 overlay, use that overlay as the object in which the help was found.
743934db 6800
d1dc7e43 6801 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6802
62145073
GM
6803 * window.c (foreach_window): Instead of a fake variable argument
6804 list, take one USER_DATA argument.
6805 (foreach_window_1): Likewise, and call callback functions with two
6806 args, the window and USER_DATA.
6807 (struct check_window_data): New struct.
6808 (check_window_containing): Use it.
6809 (window_from_coordinates): Set up a struct check_window_data for
6810 foreach_window.
6811 (add_window_to_list, freeze_window_start): Change parameters
6812 according to new calling convention.
6813
6814 * window.h (foreach_window): Change prototype.
6815
6816 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6817
68182000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6819
6820 * xmenu.c (menu_help_callback): Call show_help_echo with
6821 additional arguments OBJECT and POS.
6822
11270583
KH
68232000-07-21 Kenichi Handa <handa@etl.go.jp>
6824
07b14857
KH
6825 * data.c (Faset): Allow storing any multibyte character in a
6826 string. Convert unibyte string to multibyte if necessary.
6827
11270583
KH
6828 * xfns.c (x_encode_text): New function.
6829 (x_set_name): Use x_encode_text.
6830 (x_set_title): Likewise.
6831
6832 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6833
6834 * xterm.h (x_encode_text): Add prototype.
6835
bc75b4fd
DL
68362000-07-20 Dave Love <fx@gnu.org>
6837
6838 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6839 xfree, not free.
6840
48c14970
EZ
68412000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6842
6843 * msdos.c (help_echo_window): New variable.
6844 (syms_of_msdos): Initialize and staticpro it.
6845 (IT_note_mode_line_highlight): Set help_echo_window.
6846 (IT_note_mouse_highlight): Ditto.
6847 (dos_rawgetc): Store help_echo_window in the second event produced
6848 for HELP_EVENTs.
6849
6850 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6851 Record the object that generated the help echo and the position of
6852 that object in help_echo_object and help_echo_pos. Record that
6853 some glyphs in a row are displayed in mouse-face.
6854 (IT_update_begin): Don't clear mouse highlight unless one of the
6855 enabled glyph rows is marked as being displayed in mouse-face.
6856 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6857 and position recorded in help_echo_object and help_echo_pos to the
6858 event queue.
6859 (IT_menu_display): Accept a new argument PN: the pane number of
6860 the current menu pane. Record the pane number and the item
6861 number of the item which has associated help string.
6862 (XMenuActivate): Update the prototype for help_callback in
6863 function declaration. Call IT_menu_display with the current menu
6864 pane number as an additional argument. Call help_callback with
6865 two additional arguments: the pane number and the item number of
6866 the menu item associated with the help text.
6867 (help_echo_object, help_echo_pos): New variables.
6868 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6869
6870 * msdos.h (XMenuActivate): Update prototype.
6871
4279296d
GM
68722000-07-19 Gerd Moellmann <gerd@gnu.org>
6873
47db06aa
GM
6874 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6875 Add some more prototypes.
6876
6877 * xterm.c, xterm.h: Add some more prototypes.
6878
6879 * lisp.h (Fnext_single_char_property_change): Add prototype.
6880
6881 * dispnew.c (direct_output_for_insert): Remove confusing
6882 outer local variable mouse_face_overwritten_p.
6883 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6884
4279296d
GM
6885 * alloc.c (allocate_string_data): Don't copy old string contents.
6886
670acd62
KH
68872000-07-19 Kenichi Handa <handa@etl.go.jp>
6888
6889 * coding.c (code_convert_region): Delete text properties before
6890 shrinking the conversion region.
6891
7cea38bc
GM
68922000-07-18 Gerd Moellmann <gerd@gnu.org>
6893
dc1cac59
GM
6894 * dispnew.c (update_text_area): Write the whole row if it
6895 has mouse-face in it.
6896
85a8aca9
GM
6897 * xfaces.c (face-alternative-font-family-alist): Remove
6898 DEFVAR_LISP; staticpro instead.
6899
34a7a267 6900 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6901 new arguments.
6902
6903 * keyboard.c (show_help_echo): Add parameter WINDOW.
6904 (read_char): Call show_help_echo with window extracted from Lisp
6905 help event.
6906 (gen_help_event): Add parameter WINDOW.
6907
6908 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6909
6910 * xterm.c (help_echo_window): New variable.
52283633 6911 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6912 (XTread_socket): Pass help_echo_window to gen_help_event.
6913 (syms_of_xterm): Initialize and staticpro help_echo_window.
6914
f8276b77
DL
69152000-07-18 Dave Love <fx@gnu.org>
6916
52283633 6917 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6918
088831a6
GM
69192000-07-18 Gerd Moellmann <gerd@gnu.org>
6920
3d6cd763
GM
6921 * alloc.c (allocate_string_data): If string had already data
6922 assigned, copy old contents to new string data.
6923
6924 * coding.c (syms_of_coding): Fix typo in spelling of variable
6925 `inhibit-iso-escape-detection'.
6926
088831a6
GM
6927 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6928
6929 * Makefile.in: Add dependencies on dispextern.h.
6930 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6931 `free'; both can conflict with system header files.
6932
bc8a8d55
KH
69332000-07-18 Kenichi Handa <handa@etl.go.jp>
6934
6935 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6936 undefined.
6937
069f5950
DL
69382000-07-18 Dave Love <fx@gnu.org>
6939
6940 * window.c (Fwindow_list): Declare arg `window'.
6941
aa96c820
KH
69422000-07-18 Kenichi Handa <handa@etl.go.jp>
6943
6944 * coding.c (setup_coding_system): Don't override the explicitly
6945 specified designations.
6946
06be8d32
MB
69472000-07-15 Miles Bader <miles@gnu.org>
6948
6949 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6950 from `text_property_eq' and `text_property_stickiness', respectively.
6951 (find_field, Fconstrain_to_field, char_property_eq)
6952 (char_property_stickiness): Changed to call char-property functions
6953 instead of text-property-only ones.
6954
6955 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6956 `next_single_char_property_change'). Do more error checking, and
6957 cleanup limit behavior.
6958 (Fprevious_single_char_property_change): New function.
6959 (syms_of_textprop): Initialize new subrs.
6960
6961 * xdisp.c (display_prop_end, invisible_text_between_p):
6962 Call Fnext_single_char_property_change instead of
6963 next_single_char_property_change.
6964
3fddcdc3
JR
69652000-07-15 Jason Rumney <jasonr@gnu.org>
6966
6967 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6968 after menu is finished with.
6969 (add_menu_item): Only consider wv->title as a menu title.
6970 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6971
6972 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6973 null title.
6974 (FONT_REGEXP): Remove unused macro, and its sub-components.
6975 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6976
6977 * w32term.c (help_echo_object, help_echo_pos): New variables.
6978 (note_mode_line_highlight): Store additional information about the
6979 help-echo in help_echo_object and help_echo_pos. Check both
6980 `local-map' and `keymap' properties for changing the cursor
6981 (note_mouse_highlight): Store additional information about the
6982 help-echo in help_echo_object and help_echo_pos.
6983 (note_tool_bar_highlight): Set help_echo_object to nil and
6984 help_echo_pos to -1.
6985 (w32_read_socket): Use gen_help_event instead of filling
6986 input_events manually.
6987 (syms_of_w32term): Staticpro help_echo_object.
6988 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6989 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6990 (x_clear_mouse_face): New function.
6991 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6992 (x_update_window_begin): No need to turn off the mouse
6993 highlight here.
6994 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6995 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6996 (x_fill_stretch_glyph_string): Consume runs of stretch
6997 glyphs instead of a single one.
6998 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6999 with new argument list.
7000 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7001 (x_append_glyph, x_append_composite_glyph)
7002 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7003 changes in struct glyph starting 1999-12-27. See comments for
7004 xterm.c on 2000-07-05.
7005
178c5d9c
SS
70062000-07-14 Sam Steingold <sds@gnu.org>
7007
7008 * xfaces.c (realize_x_face): Fix the last patch:
7009 check `default_face' before dereferencing.
7010
6fe533f6
DL
70112000-07-14 Dave Love <fx@gnu.org>
7012
069f5950 7013 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 7014
dd7b81cf
KH
70152000-07-14 Kenichi Handa <handa@etl.go.jp>
7016
0693904a 7017 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 7018 default_face's fontset, not using the default fontset.
0693904a 7019
dd7b81cf
KH
7020 * coding.c (inhibit_iso_escape_detection): New variable.
7021 (syms_of_coding): Make it a Lisp variable.
7022 (detect_coding_iso2022): If inhibit_iso_escape_detection is
7023 nonzero, ignore ISO2022's escape sequence.
7024
d5aa31d8
GM
70252000-07-14 Gerd Moellmann <gerd@gnu.org>
7026
e5acf0ca
GM
7027 * alloca.c (malloc) [emacs]: Define as xmalloc.
7028
bd23a692
GM
7029 * xfns.c (Fx_show_tip): If frame parameters contain a position,
7030 use that instead of the mouse position. Add parameters DX and DY.
7031
7032 * dispextern.h (Fx_show_tip): Adjust number of parameters
7033 in prototype.
7034
9662da0b
GM
7035 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
7036 if HELP is a function, call it with OBJECT and POS as parameters
7037 to get the help to display.
7038 (gen_help_event, kbd_buffer_store_help_event): New functions.
7039 (kbd_buffer_get_event): Construct the Lisp help-event differently.
7040 (read_char): Call show_help_echo with new parameters.
7041
178c5d9c 7042 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
7043 Add prototypes.
7044
7045 * xterm.c (help_echo_object, help_echo_pos): New variables.
7046 (note_mode_line_highlight): Store additional information about the
7047 help-echo in help_echo_object and help_echo_pos. Check both
7048 `local-map' and `keymap' properties for changing the cursor
7049 (note_mouse_highlight): Store additional information about the
7050 help-echo in help_echo_object and help_echo_pos.
7051 (note_tool_bar_highlight): Set help_echo_object to nil and
7052 help_echo_pos to -1.
7053 (XTread_socket): Use gen_help_event instead of filling
7054 input_events manually.
7055 (syms_of_xterm): Staticpro help_echo_object.
7056
7057 * xmenu.c (menu_highlight_callback): Use
7058 kbd_buffer_store_help_event instead of setting up and input_event
7059 structure manually.
7060
7061 * xdisp.c (eval_form): GCPRO argument sexpr.
7062 (call_function): New function.
7063 (handle_single_display_prop): Use call_function and FUNCTIONP
7064 instead of checking whether if font_height is a symbol and
7065 using eval_form.
7066
7067 * eval.c (internal_condition_case_2): New function.
7068
7069 * lisp.h (FUNCTIONP): New macro.
7070 (internal_condition_case_2, call_function): Add prototypes.
7071
d5aa31d8
GM
7072 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
7073 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
7074 Always set `arg' member of input_events.
7075 (construct_menu_click): Unused function removed.
7076
7077 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
7078
7079 * w32term.c (construct_mouse_click, construct_mouse_wheel)
7080 (construct_drag_n_drop, x_scroll_bar_handle_click)
7081 (w32_read_socket): Always set `arg' member of input_events.
7082
7083 * keyboard.c (show_help_echo): Use eval_form. Add comment.
7084
7085 * lisp.h (eval_form): Add prototype.
7086
7087 * xdisp.c (eval_form): Make it externally visible.
7088
0f1a9b23
GM
70892000-07-13 Gerd Moellmann <gerd@gnu.org>
7090
7091 * xterm.c (x_handle_tool_bar_click): Store the frame in the
7092 frame_or_window slot of TOOL_BAR_EVENT input events instead of
7093 consing. For prefix events, store the frame in the `arg' slot of
7094 the event, otherwise store the key there.
7095 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 7096 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
7097
7098 * xmenu.c (menu_highlight_callback): Store help string in the
7099 `arg' member of the input event; don't cons.
7100 (menubar_selection_callback): Use the `arg' slot of input events
7101 to queue additional information, instead of consing.
7102
7103 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
7104
7105 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
7106 TOOL_BAR_EVENTs.
7107 (w32_read_socket): Adapt to changes in HELP_EVENTs.
7108
7109 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
7110 input events to queue additional information, instead of consing.
7111
7112 * keyboard.c (kbd_buffer_gcpro): Renamed from
7113 kbd_buffer_frame_or_window. Now used for all Lisp objects
7114 referenced from the input queue.
7115 (kbd_buffer_store_event): Always use structure assignment for
7116 copying input events. Record all Lisp objects referenced from
7117 events in kbd_buffer_gcpro.
7118 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7119 differently from input events. Test for prefix menu_bar_events
7120 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7121 event in kbd_buffer_gcpro to nil.
7122 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7123 frame_or_window is equal to its arg member as prefix events.
7124 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7125 used by an input event to nil.
7126 (init_keyboard): Use two times the size of the input queue
7127 for kbd_buffer_gcpro.
7128 (syms_of_keyboard): Likewise.
7129
52283633
SM
7130 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7131 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7132
7133 * termhooks.h (struct input_event): Add member `arg'.
7134 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7135 (USER_SIGNAL_EVENT): Renamed from user_signal.
7136
7137 * xfaces.c (ASET): Remove definition.
7138
7139 * lisp.h (AREF, ASET, ASIZE): New macros.
7140
7141 * fontset.c (AREF, ASIZE): Remove definitions.
7142
7143 * fns.c (AREF): Remove definition.
178c5d9c 7144
0f1a9b23
GM
7145 * composite.c (AREF): Remove definition.
7146
712eaef2
GM
71472000-07-12 Gerd Moellmann <gerd@gnu.org>
7148
d8ee7803
GM
7149 * dispnew.c (redraw_overlapped_rows): Add missing local.
7150 (scrolling_window): Remove debug code.
7151
712eaef2
GM
7152 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7153 Before scrolling, turn off a mouse-highlight in the window
7154 being scrolled.
7155
7156 * xterm.c (x_update_window_end): Add parameter
7157 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7158 redisplay in XTframe_up_to_date.
7159 (x_clear_mouse_face): New function.
7160 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7161
7162 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7163 current glyph row.
7164 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7165 it when any row is written to that contains glyphs highlighted in
7166 mouse-face.
7167 (update_window): Call the window update end hook with new
7168 parameter MOUSE_FACE_OVERWRITTEN_P.
7169 (direct_output_for_insert): Give up if row contains mouse-face.
7170
7171 * dispextern.h (struct redisplay_interface): Add parameter
7172 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7173 (clear_mouse_face): New function pointer member.
7174
02010917
SM
71752000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7176
7177 * syntax.c (back_comment): Use one switch rather than a few `if's.
7178 Obey open_paren_in_column_0_is_defun_start.
7179 When reverting to the `slow' method, try to nicely handle the case
7180 of nested comments by checking that the comment-starter we found
7181 does indeed match the comment-ender.
7182 (scan_sexps_forward, scan_sexps_forward):
7183 Ignore excessive opening parenthesis rather than throwing an error.
7184
d76c03ea
GM
71852000-07-11 Gerd Moellmann <gerd@gnu.org>
7186
7187 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7188 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7189
7190 * dispnew.c (direct_output_forward_char): Give up if currently
7191 displaying a message instead of the minibuffer contents.
7192
7193 * xterm.c (x_update_window_begin): No need to turn off the mouse
7194 highlight here.
7195 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7196 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7197
7198 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7199 compare the mouse_face_p flags of both rows.
7200
7201 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7202
d55ead18
EZ
72032000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7204
7205 * keyboard.c (show_help_echo): Accept additional parameter
7206 ok_to_overwrite_keystroke_echo.
7207 (read_char): Call show_help_echo with a zero
7208 ok_to_overwrite_keystroke_echo argument.
52283633 7209 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7210 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7211 ok_to_overwrite_keystroke_echo argument.
7212 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7213 non-zero ok_to_overwrite_keystroke_echo argument.
7214
df75b1a3
GM
72152000-07-10 Gerd Moellmann <gerd@gnu.org>
7216
4b92c49a
GM
7217 * xdisp.c (try_window_id): If changes are all below what is
7218 displayed in the window, and point is in the window, we still
7219 might have to find point on the display.
7220
7221 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7222 glyphs instead of a single one.
7223 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7224 with new argument list.
7225 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7226
df75b1a3
GM
7227 * keymap.c (get_keymap_1): Add comment that this function can GC.
7228 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7229 comment that functions can GC.
7230 (Fset_keymap_parent): GCPRO arg KEYMAP.
7231
4314cf3e
EZ
72322000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7233
7234 * msdos.c (XMenuActivate): After exiting the menu, restore the
7235 echo area message and erase it.
7236
ab49ce15
KH
72372000-07-10 Kenichi Handa <handa@etl.go.jp>
7238
7239 * fontset.c (Ffontset_info): Make the return value more compatible
7240 with that of Emacs 20.
7241
090a072f
GM
72422000-07-07 Gerd Moellmann <gerd@gnu.org>
7243
7244 * eval.c (Fsignal): Handle case that backtrace_list is null.
7245
f92de4a6
KH
72462000-07-07 Kenichi Handa <handa@etl.go.jp>
7247
7248 * ccl.c (Fccl_execute): Typo fixed.
7249
dd8888a1
GM
72502000-07-06 Gerd Moellmann <gerd@gnu.org>
7251
e5c81191 7252 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7253
dd8888a1
GM
7254 * window.c (Fwindow_list): Reverse list at the end.
7255 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7256 means allow windows on OWINDOW's frame, only.
7257 (window_loop): Simplified; use Fwindow_list.
7258
7259 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7260
485266d0
GM
72612000-07-05 Gerd Moellmann <gerd@gnu.org>
7262
7263 * xterm.c (XTread_socket): Increment handling_signal at the start,
7264 decrement it at the end.
7265
7266 * eval.c (handling_signal): New variable.
7267 (Fsignal): Abort if handling_signal is non-zero.
7268
7269 * lisp.h (handling_signal): External declaration.
178c5d9c 7270
485266d0
GM
7271 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7272
80fcd514
KR
72732000-07-05 Ken Raeburn <raeburn@gnu.org>
7274
7275 Sound support for NetBSD through "Linux emulation" support:
7276 * config.in (HAVE_SOUNDCARD_H): Undef.
7277 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7278 * Makefile.in (LIBSOUND): New variable.
7279 (LIBES): Include it.
52283633
SM
7280 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7281 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7282 (vox_open): Use DEFAULT_SOUND_DEVICE.
7283 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7284
d5c5cddd
GM
72852000-07-05 Gerd Moellmann <gerd@gnu.org>
7286
7287 * print.c (print_error_message): If Vsignaling_function is set,
7288 show it in *Messages*.
7289
7290 * lisp.h (Vsignaling_function): External declaration.
7291
7292 * eval.c (Vsignaling_function): New variable.
7293 (Fsignal): Compute it.
7294 (syms_of_eval): Staticpro it.
7295
65171e3a
DL
72962000-07-05 Dave Love <fx@gnu.org>
7297
7298 * syswait.h: Use the autoconf recommended approach. Old code
7299 #if'd out in case we need to revert.
7300
178c5d9c 7301 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7302
e2c46326
AI
73032000-07-05 Andrew Innes <andrewi@gnu.org>
7304
7305 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7306 when non-NULL instead of __morecore, to take account of buffer
7307 memory. This also solves a problem with spurious memory warnings
7308 on Windows.
7309
7310 * ralloc.c: Make real_morecore non-static.
7311
7312 * eval.c (internal_condition_case): Comment out abort if
7313 interrupt_input_blocked is not zero.
7314
7315 * makefile.nt: Add support for `bootstrap' and related targets.
7316 Include minimal debug info in emacs.exe in release build.
7317 Remove all dependencies on lisp.h, and fixup some others.
7318
7319 * w32.c (init_environment): Install code from 20.7 for providing
7320 default values for environment variables, based on the
7321 executable's own location.
52283633 7322 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7323 (sys_socket): Install socket inheritance bug fix from 20.7.
7324
7325 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7326 here via blockinput.h).
7327
a027a91b
SM
73282000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7329
e4b31601
SM
7330 * w32menu.c (w32_menu_display_help):
7331 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7332
7333 * keyboard.h (show_help_echo): Declare.
7334
7335 * keyboard.c (show_help_echo): New function, extracted from read_char.
7336 Feval its `msg' argument if it's a cons cell.
7337 (read_char): Use it.
4cf8d9d5 7338 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7339
178c5d9c 7340 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7341 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7342 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7343 (dos_rawgetc):
7344 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7345 (note_tool_bar_highlight, w32_read_socket):
7346 Do not gratuitously ignore non-string `help-echo' properties.
7347
88d75730
GM
73482000-07-05 Gerd Moellmann <gerd@gnu.org>
7349
969f7e79
GM
7350 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7351
71201b00
GM
7352 * window.c (delete_all_subwindows): Reset Vwindow_list.
7353
88d75730
GM
7354 * xterm.c (x_append_glyph, x_append_composite_glyph)
7355 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7356 changes in struct glyph starting 1999-12-27. Some bit-fields of
7357 struct glyph were not set, which made glyphs unequal when compared
7358 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7359 effects were the result. This also depended on the contents of
7360 memory returned by xmalloc. If flickering happens again, activate
7361 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7362 gone with that, chances are that it is caused by something similar.
88d75730
GM
7363
7364 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7365
88d75730
GM
7366 * dispextern.h: Add some comments.
7367
7368 * window.c (add_window_to_list): Add parameter LIST.
7369 (window_list): Order list so that, for each frame, windows are
7370 in canonical order, and so that frames appear in the list in
7371 the order given by Vframe_list.
7372 (next_window): Reverse the handling of NEXT_P.
7373
53654733
GM
73742000-07-04 Gerd Moellmann <gerd@gnu.org>
7375
87efd256
GM
7376 * window.c (Vwindow_list): New variable.
7377 (make_window, delete_window): Set Vwindow_list to nil.
7378 (check_window_containing): New function.
7379 (window_from_coordinates): Rewritten.
7380 (add_window_to_list, window_list, candidate_window_p)
7381 (decode_next_window_args, next_window): New functions.
52283633 7382 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7383 (Fwindow_list): New function.
7384 (Fother_window): Cleaned up.
7385 (foreach_window): Add a longer "variable argument list". Let
7386 callback function return 0 to indicate that cycling over windows
7387 should stop.
7388 (foreach_window_1): Likewise.
7389 (freeze_window_start): Return int.
7390 (init_window): New function.
7391 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7392
7393 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7394 input_event with bzero.
7395 (main): Call init_window.
7396
53654733
GM
7397 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7398 a menu filter.
7399
4a8c194f
KH
74002000-07-04 Kenichi Handa <handa@etl.go.jp>
7401
7402 * composite.h (make_composition_value_copy): Extern it.
7403
7404 * composite.c (make_composition_value_copy): New function.
7405
7406 * editfns.c (Fformat): While copying text properties, make each
7407 composition property value a copy.
7408
7409 * fns.c (concat): While copying text properties, make each
7410 composition property value a copy.
7411
831a6cb0
GM
74122000-07-03 Gerd Moellmann <gerd@gnu.org>
7413
2f516940
GM
7414 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7415
178c5d9c 7416 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7417 marked already.
7418
831a6cb0
GM
7419 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7420 include those frames as candidates which have their focus
7421 redirected to the minibuffer frame.
7422
d9c4f922
SM
74232000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7424
7425 * fns.c (Fputhash): Return `value' rather than nil.
7426
3780bc22
GM
74272000-06-30 Gerd Moellmann <gerd@gnu.org>
7428
97d176db
GM
7429 * frame.c (next_frame): Don't check focus redirection in case
7430 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7431 unless their focus is redirected, which contradicts the
7432 specification of next-frame, and leads to infinite loops in
7433 certain situations when cycling through windows with next-window.
7434
dca9961d
KH
74352000-06-30 Kenichi Handa <handa@etl.go.jp>
7436
7437 * coding.c (code_convert_region): Even if the length of text is
7438 zero, try to convert it if coding->type is coding_type_ccl.
7439 (decode_coding_string, encode_coding_string): Likewise.
7440
d5483ab1
GM
74412000-06-28 Gerd Moellmann <gerd@gnu.org>
7442
af5c25e1 7443 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7444 the display if windows_or_buffers_changed.
af5c25e1
GM
7445
7446 * dispnew.c (struct row_entry): New structure.
7447 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7448 (row_table_size, old_lines, new_lines, old_lines_size)
7449 (new_lines_size, run_pool, runs_size, runs): New variables.
7450 (add_row_entry): New function.
7451 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7452 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7453 holding them in local variables. Use a larger hash table whose
7454 size depends on glyph matrix sizes. Don't use bzero to clear the
7455 hash table; instead, clear used slots only.
7456
7457 * fns.c (next_almost_prime): Make it externally visible.
7458
7459 * lisp.h (next_almost_prime): Add prototype.
7460
d5483ab1
GM
7461 * s/isc4-0.h (sigunblock): Define.
7462
7463 * s/sco5.h (sigunblock): Define.
7464
93e40f40
DL
74652000-06-27 Dave Love <fx@gnu.org>
7466
7467 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7468 (moved to osf5-0.h).
7469 [!NOT_C_CODE]: Protect string.h stuff.
7470
7471 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7472 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7473
3c4b7685
GM
74742000-06-27 Gerd Moellmann <gerd@gnu.org>
7475
97d176db 7476 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7477 below the last line from the needed window height.
7478
32cad0aa
SM
74792000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7480
7481 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7482 (Fwidget_get): Use it.
7483 (syms_of_fns): Defsubr it.
7484
2c69ced2
GM
74852000-06-26 Gerd Moellmann <gerd@gnu.org>
7486
178c5d9c 7487 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7488 display info for XIM.
7489 (xim_open_dpy): Likewise.
7490 (xim_close_dpy): Don't free the display info's XIM.
7491
7492 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7493
7494 * config.in (USE_XIM): New define.
7495
3fc720e4
GM
7496 * keymap.c (get_keyelt): For menu-items containing a `:filter
7497 FILTER', apply FILTER to the menu-item's definition to get the
7498 real definition to use.
7499
7500 * lisp.h (QCfilter): External declaration.
7501
2c69ced2
GM
7502 * xfns.c (Fimage_size): New function.
7503 (syms_of_xfns): Defsubr it.
7504
f978b2a2
AS
75052000-06-26 Andreas Schwab <schwab@suse.de>
7506
7507 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7508 Fstring_as_unibyte.
7509
94cc7892
DL
75102000-06-25 Dave Love <fx@gnu.org>
7511
52283633 7512 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7513
7514 * Makefile.in (blockinput.h): Depend on atimer.h.
7515 (atimer.h): Depend on systime.h.
7516
52283633 7517 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7518
52283633 7519 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7520
7521 * lisp.h (swap_in_global_binding): Declare.
7522
b8c24556
KR
75232000-06-24 Ken Raeburn <raeburn@gnu.org>
7524
7525 * process.c (Fopen_network_stream): Turn off atimers for duration
7526 of call to connect. (Patch from Gerd.)
7527
8cf8560b
DL
75282000-06-23 Dave Love <fx@gnu.org>
7529
511c7541
DL
7530 * ralloc.c: Maybe include unistd.h
7531
8cf8560b
DL
7532 * emacs.c (setgrp): Undefine before defining.
7533 (malloc_warning, set_time_zone_rule, index): Prototype.
7534
7535 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7536 HAVE_STRUCT_TIMEZONE.
7537
7538 * s/osf1.h: Move string.h hack here from alpha.h and make it
7539 conditional.
7540 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7541 _XOPEN_SOURCE.
7542 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7543 (SOCKLEN_TYPE): Don't define.
7544
7545 * m/alpha.h: Remove string.h hack.
7546
7547 * s/osf5-0.h: New file.
7548
7549 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7550 include time.h, done by systime.h.
7551 [__FreeBSD__]: Remove redundant includes.
7552
3fc720e4 7553 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7554 (delete_temp_file): Return Qnil to avoid warning.
7555
7556 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7557
7558 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7559 HAVE_X_WINDOWS.
7560
7561 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7562
7563 * composite.h (compose_text): Declare.
7564
7565 * xterm.c: Don't include sys/types.h unconditionally. Don't
7566 protect its inclusion with !USG (following xmenu.c).
7567
ea055732
GM
75682000-06-23 Gerd Moellmann <gerd@gnu.org>
7569
7570 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7571 in x_create_frame.
7572
74b01b80
EZ
75732000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7574
7575 * coding.c (decode_eol_post_ccl): Special handling for undecided
7576 and inconsistent EOL types.
7577
64f3a166
GM
75782000-06-22 Gerd Moellmann <gerd@gnu.org>
7579
16cf31f7
GM
7580 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7581 trough color and main window's background color.
7582
52283633 7583 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7584
7585 * xterm.h (Xt_app_con): External declaration.
7586
7587 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7588
486a103d
GM
7589 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7590
64f3a166
GM
7591 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7592 (handle_invisible_prop): Record the start of invisible text in
7593 it->add_overlay_start.
7594 (struct overlay_entry): Add member `overlay'.
7595 (handle_overlay_change): Simplify.
7596 (next_overlay_string): After having processed overlay strings at the
7597 end of the buffer, record that fact in
7598 it->overlay_strings_at_end_processed_p.
7599 (compare_overlay_entries): If before- and after-strings come
7600 from the same overlay, let before-strings come first.
7601 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7602 (load_overlay_strings): Take it->add_overlay_start into account
7603 when adding overlay strings.
7604
7605 * dispextern.h (struct it): Add member add_overlay_start.
7606
bb746ea6
DL
76072000-06-22 Dave Love <fx@gnu.org>
7608
7609 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7610
7611 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7612
a8f573f3
KH
76132000-06-22 Kenichi Handa <handa@etl.go.jp>
7614
7615 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7616 is greater than 0.
7617
9f2bbc92
DL
76182000-06-21 Dave Love <fx@gnu.org>
7619
178c5d9c 7620 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7621
3ee5041c
SM
76222000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7623
7624 * syntax.c (back_comment): Simplify string-parity counting (with
7625 the added benefit of handling multiple string-styles as long as
7626 they are not intertwined).
7627 Jump to the slow code as soon as a comment starter is found in
7628 a "string_lossage" position. Fixes the case: " /* " /* " */.
7629
4c343001
DL
76302000-06-21 Dave Love <fx@gnu.org>
7631
7632 * Makefile.in: Use GETLOADAVG_LIBS.
7633
7634 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7635 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7636
e6365855
SM
76372000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7638
7639 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7640 (Fforward_comment, scan_lists):
7641 Check the comstyle of single-char comment-starters.
7642 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7643 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7644 Check the comstyle of single-char comment-starters.
7645 Clarify control-flow around the Scomment case.
e6365855 7646
5700d2cc
DL
76472000-06-20 Dave Love <fx@gnu.org>
7648
d355bd8a
SM
7649 * fns.c (make_hash_table, maybe_resize_hash_table):
7650 Cast arg of next_almost_prime.
5700d2cc 7651
178c5d9c 7652 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7653
7654 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7655 and unistd.h.
7656
4a27bdfb
GM
76572000-06-20 Gerd Moellmann <gerd@gnu.org>
7658
a61d762c 7659 * keyboard.c (adjust_point_for_property): Check if display
52283633 7660 property should be treated as intangible by looking at its value.
a61d762c 7661
178c5d9c 7662 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7663 (display_prop_intangible_p): New functions.
7664
7665 * dispextern.h (display_prop_intangible_p): Add prototype.
7666
7667 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7668
4a27bdfb
GM
7669 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7670 argument to sigprocmask.
7671
7672 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7673 argument to sigprocmask.
7674
7675 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7676 sigprocmask_set, and pass a pointer to it to sigprocmask.
7677
7678 * sysdep.c (sigprocmask_set): New variable.
7679
7680 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7681 report_file_error.
7682
427ec082
SS
76832000-06-20 Sam Steingold <sds@gnu.org>
7684
7685 * xrdb.c: Don't declare xmalloc, xrealloc.
7686
8972fe79 76872000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7688
7689 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7690 (re_comp): Cast gettext return value to avoid complaints when
7691 !HAVE_LIBINTL.
7692
074b6efe
DL
76932000-06-20 Dave Love <fx@gnu.org>
7694
52283633 7695 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7696
5700d2cc 7697 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7698
d355bd8a 7699 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7700
7701 * m/alpha.h: Don't declare xmalloc, xrealloc.
7702
0af4f205
DL
7703 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7704
7705 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7706
7707 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7708
7709 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7710 HAVE_GETWD.
7711
074b6efe
DL
7712 * keyboard.h (poll_for_input_1): Declare.
7713
7714 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7715
7716 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7717
7718 * doprnt.c: Don't declare xmalloc, xrealloc.
7719
7720 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7721 (getenv, ctime, getwd): Removed.
7722 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7723
7724 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7725 x_set_tool_bar_lines.
7726
7727 * config.in: Add HAVE_GETWD. Move some definitions above
7728 machine/system includes.
7729
68a5e97b
KH
77302000-06-20 Kenichi Handa <handa@etl.go.jp>
7731
95417e1e
KH
7732 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7733
68a5e97b
KH
7734 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7735 contain information about ENCODING.
7736
7737 * fontset.c (FONTSET_ASCII): Use the first element of char table
7738 for an ASCII font, not defalt slot.
7739 (fontset_ref_via_base): If FONTSET doesn't contain information for
7740 C, try the default fontset.
7741 (make_fontset): Don't copy the default fontset.
7742 (fontset_font_pattern): Likewise.
7743 (accumulate_font_info): If ELT is nil, use the corresponding
7744 element in the default fontset.
7745
3b4fa1b2
DL
77462000-06-19 Dave Love <fx@gnu.org>
7747
943e731c
DL
7748 * syntax.c (Fparse_partial_sexp): Doc fix.
7749
7750 * regex.h: Test PROTOTYPES as well as __STDC__.
7751
3b4fa1b2
DL
7752 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7753 errno, strerror. Put text after #endif in comment.
7754
52283633 7755 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7756
7757 * xterm.c (x_frame_of_widget): Likewise.
7758
cdf0357b
GM
77592000-06-19 Gerd Moellmann <gerd@gnu.org>
7760
7761 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7762 to Vfundamental_mode_abbrev_table.
7763
7764 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7765 bogus objects are marked. This slows down GC by ~80 percent, but
7766 it might be worth trying when debugging GC-related problems.
7767 This feature requires conservative stack marking to be enabled.
7768
7769 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7770 returns XLookupChars, reset `modifiers' to zero.
7771
998e9f8c
DL
77722000-06-19 Dave Love <fx@gnu.org>
7773
7774 * mktime.c: Unprotoized.
7775
18e21ce8 77762000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7777
7778 * data.c (set_internal): If variable is frame-local,
7779 store the new value immediately into the frame parameter alist.
7780
140c4ac6
KR
77812000-06-19 Ken Raeburn <raeburn@gnu.org>
7782
14358466
KR
7783 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7784 in the custom handler pointer.
7785
140c4ac6
KR
7786 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7787 value, or checks for CHAR_META can fail when Lisp_Object is a
7788 union type.
7789 * keymap.c (get_keyelt): Likewise.
7790
10d7bf84
KH
77912000-06-19 Kenichi Handa <handa@etl.go.jp>
7792
7793 * ccl.h (struct ccl_program): New member eol_type.
7794 (struct ccl_spec): New member cr_carryover.
7795
7796 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7797 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7798
7799 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7800 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7801 (decode_eol_post_ccl): New function.
7802 (decode_coding): Don't detect EOL format here for CCL based coding
7803 systems.
7804 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7805 decode_eol_post_ccl after running the CCL program.
7806 (code_convert_region): Don't detect EOL format here for CCL based
7807 coding systems.
7808 (decode_coding_string): Likewise.
7809
52e386c2
KR
78102000-06-18 Ken Raeburn <raeburn@gnu.org>
7811
7812 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7813 when treating it as an integer.
7814
7815 * coding.h (encode_coding_string): Declare.
7816
7817 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7818 it as an integer.
7819
7820 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7821 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7822 to be passed to get_local_map.
7823
7824 * sound.c (Fplay_sound): Don't call make_number on
7825 Frun_hook_with_args count argument.
7826
7827 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7828 for lisp objects in X event structure data field, when lisp
7829 objects are represented with unions.
7830 (x_scroll_bar_to_input_event): Ditto.
7831
b357b9d4
KR
78322000-06-16 Ken Raeburn <raeburn@gnu.org>
7833
7834 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7835 termination of string. Fix sense of test whether
7836 Vline_number_display_limit is an integer.
b357b9d4 7837
a871441d
GM
78382000-06-16 Gerd Moellmann <gerd@gnu.org>
7839
a9021acd
GM
7840 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7841 only if HAVE_X_WINDOWS.
7842
6344985d
GM
7843 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7844 of titles.
7845
427ec082 7846 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7847 out of bounds.
7848
228b083e
EZ
78492000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7850
7851 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7852 of its headers.
7853
c25b53a2
KH
78542000-06-15 Kenichi Handa <handa@etl.go.jp>
7855
7856 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7857 start of the while loop.
7858
a6981b11
GM
78592000-06-15 Gerd Moellmann <gerd@gnu.org>
7860
e9924e52
GM
7861 * atimer.c (alarm_signal_handler): Add forward declaration.
7862
a6981b11
GM
7863 * data.c (set_internal): Remove debug code.
7864
25fa6deb
GM
78652000-06-14 Gerd Moellmann <gerd@gnu.org>
7866
dce6b995
GM
7867 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7868
9f817ea4
GM
7869 * unexec.c (toplevel) [COFF]: Include coff.h.
7870
7871 * s/lynxos.h: New file.
7872
7873 * keymap.c (Fsingle_key_description): Enclose function key and
7874 event symbol names in angle brackets.
7875
8a4e3c0c
GM
7876 * xdisp.c (setup_echo_area_for_printing): Call
7877 message_log_maybe_newline if message_buf_print is not set.
7878
7879 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7880 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7881 function does something useful even when message_buf_print is
7882 already set.
7883
52283633
SM
7884 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7885 New variables.
25fa6deb
GM
7886 (ensure_echo_area_buffers): Initialize echo buffer's
7887 truncate lines setting to nil.
7888 (with_echo_area_buffer): Don't set the echo buffer's truncate
7889 lines setting here.
8a4e3c0c 7890 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7891 of message_truncate_lines.
7892 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7893 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7894 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7895
7896 * keyboard.c (read_char): Bind message-truncate-lines to t
7897 while displaying a help-echo.
7898
7899 * lisp.h (Qmessage_truncate_lines): External declaration.
7900
163dcff3
GM
79012000-06-13 Gerd Moellmann <gerd@gnu.org>
7902
1681ead6
GM
7903 * xdisp.c (Vline_number_display_limit): Renamed from
7904 line_number_display_limit.
7905 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7906 Extend documentation string. Initialize
7907 Vline_number_display_limit to nil meaning no limit.
7908 (decode_mode_spec): Use Vline_number_display_limit with its new
7909 meaning.
7910
163dcff3
GM
7911 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7912
18e21ce8 79132000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7914
7915 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7916
163dcff3
GM
7917 * xfns.c (x_set_frame_parameters): Comment fix.
7918
7919 * frame.c (store_frame_param): Call swap_in_global_binding if the
7920 variable's current binding was chosen based on this frame.
7921
7922 * data.c (swap_in_global_binding): New function.
7923
a704139d
EZ
79242000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7925
7926 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7927 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7928
9b6610db
EZ
79292000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7930
7931 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7932
c68833d2
JR
79332000-06-12 Jason Rumney <jasonr@gnu.org>
7934
7935 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7936
7937 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7938
7939 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7940
7941 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7942
ed1056b3
GM
79432000-06-12 Gerd Moellmann <gerd@gnu.org>
7944
7945 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7946 (syms_of_xfaces): Defsubr Sdump_colors.
7947 (x_free_colors): Don't treat b&w specially on default visual.
7948 (x_free_dpy_colors): New function.
7949 (free_face_colors): Don't check visual class; it's done
7950 in x_free_colors.
7951
7952 * xterm.c (x_frame_of_widget): New function.
7953 (x_alloc_nearest_color_for_widget): Use it.
7954 (x_copy_dpy_color): New function.
7955 (x_destroy_window): Free various colors.
7956
5050a2ef
KH
79572000-06-12 Kenichi Handa <handa@etl.go.jp>
7958
7959 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7960
7961 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7962
7963 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7964
7965 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7966
7967 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7968
fb1b041d
DL
79692000-06-11 Dave Love <fx@gnu.org>
7970
7971 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7972
ff96b5f4
EZ
79732000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7974
7975 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7976
db8eeecd
GM
79772000-06-11 Gerd Moellmann <gerd@gnu.org>
7978
ed1056b3 7979 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7980 to `XEvent *'.
7981
49b71c5f
KH
79822000-06-10 Kenichi Handa <handa@etl.go.jp>
7983
c479bd55
KH
7984 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7985 (regex_compile): Fix the code for handling the case of single byte
7986 char and multibyte char being mixed in a range within [...].
7987
ff6a65c2
KH
7988 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7989 and dst_multibyte members of coding.
7990
49b71c5f
KH
7991 * charset.c (update_charset_table): Update the table
7992 bytes_by_char_head.
7993 (init_charset_once): Initialize elements of bytes_by_char_head to
7994 1 except for leading codes for private charases.
7995
7996 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7997 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7998
9e80b57d
KR
79992000-06-09 Ken Raeburn <raeburn@gnu.org>
8000
8001 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
8002 access the data it doesn't point to.
8003
f83fe4b4
GM
80042000-06-08 Gerd Moellmann <gerd@gnu.org>
8005
8006 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 8007 will be translated to a switch-frame event when reading the
f83fe4b4
GM
8008 event queue. This is necessary because Emacs otherwise won't
8009 perform a switch-frame to a new frame until some other event, for
8010 example a keystroke event, forces it to do so. This has various
8011 effects, one visible being that the cursor of a frame created with
8012 C-x 5 2 or switched to with a window manager key binding like
8013 A-TAB stays hollow because selected_window isn't on the newly
8014 focused frame until the switch-frame is performed.
8015
8016 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
8017 generating a switch-frame event if necessary.
8018
8019 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
8020
8021 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
8022 it's an integer.
8023
0890801b
KH
80242000-06-08 Kenichi Handa <handa@etl.go.jp>
8025
52283633 8026 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 8027
173cbca8
GM
80282000-06-07 Gerd Moellmann <gerd@gnu.org>
8029
3091c2a6
GM
8030 * window.c (displayed_window_lines): Take empty lines at
8031 the bottom of a window into account.
427ec082 8032
f38952fe
GM
8033 * window.c (displayed_window_lines): New function.
8034 (Fmove_to_window_line): Use displayed_window_lines to determine
8035 the number of lines to move, instead of using the window's height.
8036
8037 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
8038 to stop reading, even if the form read sets point to a different
8039 value when evaluated.
8040
427ec082 8041 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
8042 put the cursor.
8043
6ba6c818
KH
80442000-06-07 Kenichi Handa <handa@etl.go.jp>
8045
8046 * fileio.c (e_write): Free composition data if stored in
8047 coding->cmp_data.
8048
5f1aea9a
GM
80492000-06-06 Gerd Moellmann <gerd@gnu.org>
8050
666852af
GM
8051 * xdisp.c (display_line): Set row's and iterator's
8052 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
8053 Set cursor even if row ends in the middle of a character.
8054 (dump_glyph_row): Print values of new flags.
8055 (redisplay_window) <cursor movement in unchanged window>: When
8056 point has been moved forward, and PT is at the end of the cursor
8057 row, don't place the cursor in the next row if the cursor row ends
8058 in the middle of a character or at ZV.
8059
8060 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
8061 (struct glyph_row): Add starts_in_middle_of_char_p and
8062 ends_in_middle_of_char_p.
8063 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
8064 ends_in_middle_of_char_p flag.
8065 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
8066
d13f3e2e
GM
8067 * term.c (append_glyph): Revert change of 2000-06-06.
8068
8069 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
8070 padding glyph not fitting on line as whole character not
8071 fitting on line.
8072
5f1aea9a
GM
8073 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
8074 this isn't true for images with `:ascent 100'.
8075
10cda9b0
KH
80762000-06-06 Kenichi Handa <handa@etl.go.jp>
8077
ed00559d
KH
8078 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
8079 as modified if it is originally unmodified.
8080
10cda9b0
KH
8081 * term.c (encode_terminal_code): Change the way to check if
8082 terminal coding does any conversion.
8083 (append_glyph): Set glyph->pixel_width correctly.
8084
8085 * xdisp.c (display_line): While checking line continuation, pay
8086 attention to a padding glyph.
8087
1969fae2
GM
80882000-06-05 Gerd Moellmann <gerd@gnu.org>
8089
8090 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
8091
162ccef4
DL
80922000-06-05 Dave Love <fx@gnu.org>
8093
f19f32dd
DL
8094 * xdisp.c: Include fontset.h.
8095
8096 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
8097
8098 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8099
8100 * dispnew.c: Conditionally include term.h.
8101
8102 * coding.h: Declare code_convert_string_norecord.
8103
8104 * frame.h (struct frame): Use volatile unconditionally.
8105
8106 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
8107
8108 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
8109
8110 * systime.h: Protect against multiple inclusion.
8111 (timezone) [USG5_4]: Define as time_t.
8112
8113 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8114 (Foptimize_char_table, make_temp_name): Declare.
8115
8116 * Makefile.in (xdisp.o): Depend on fontset.h.
8117
8118 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8119
8120 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8121 (Foptimize_char_table, make_temp_name): Declare.
8122
427ec082 8123 * s/irix4-0.h:
162ccef4
DL
8124 * s/irix5-0.h:
8125 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8126
2082fe81
DL
81272000-06-02 Dave Love <fx@gnu.org>
8128
8129 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8130
dcf671d2
GM
81312000-06-02 Gerd Moellmann <gerd@gnu.org>
8132
8133 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8134 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8135 be freed.
8136
8137 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8138 glyph, use the ASCII NUL character to determine the face.
8139
d42122a3
DL
81402000-06-02 Dave Love <fx@gnu.org>
8141
8142 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8143 (VFORK_RETURN_TYPE): Remove.
427ec082 8144
d42122a3
DL
8145 * config.in: Add NO_MATHERR.
8146
dd432f16
DL
81472000-06-01 Dave Love <fx@gnu.org>
8148
90aa4ea8
DL
8149 * cmds.c (internal_self_insert): Don't check
8150 Vbefore_change_function, Vafter_change_function.
8151
8152 * insdel.c (signal_before_change, signal_after_change): Likewise.
8153
8154 * buffer.c (Vbefore_change_function, Vafter_change_function):
8155 Variables and their initializations deleted.
8156
2330c9d4
DL
8157 * callint.c (Fcall_interactively): Doc fix.
8158
dd432f16
DL
8159 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8160
bf9e8804
DL
81612000-05-31 Dave Love <fx@gnu.org>
8162
8163 * textprop.c: Revert last change -- duplicated.
8164
3694b4ab
GM
81652000-05-31 Gerd Moellmann <gerd@gnu.org>
8166
8167 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8168 in #if 0.
8169
8170 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8171
f14156cd
JR
81722000-05-31 Jason Rumney <jasonr@gnu.org>
8173
8119aab8
JR
8174 * search.c (Fre_search_forward, Fre_search_backward)
8175 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8176
f14156cd
JR
8177 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8178
4aab9be3
JR
81792000-05-30 Jason Rumney <jasonr@gnu.org>
8180
8181 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8182 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8183
52283633 8184 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8185
8186 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8187 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8188 expand a nil default_filename.
8189
8190 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8191 pointer to glyph_to_pixel_coords, not a frame.
8192
8193 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8194 coding.h to dependencies.
8195
8196 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8197
8198 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8199 window pointer to be consistent with w32term.c and xterm.c.
8200
8201 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8202 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8203 (Qline_spacing, Qcenter): New variables.
8204 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8205 (x_set_line_spacing): New function.
52283633 8206 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8207 (x_specified_cursor_type): New function.
8208 (x_set_cursor_type): Use it.
8209 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8210 and icon strings.
8211 (validate_x_resource_name, x_get_resource_string): Measure lengths
8212 of external strings in bytes.
8213 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8214 GetTextExtentPoint32 with NULL title.
8215 (Fx_create_frame): Initialize Qline_spacing.
8216 (w32_load_system_font): Initialize font->double_byte_p.
8217 (x_to_w32_charset): Use Vw32_charset_info_alist.
8218 (Image, busy cursor, tooltip functions): Merged changes from
8219 xfns.c. Not yet functional on Windows.
8220
8221 * w32gui.h (W32FontStruct): Add double_byte_p member.
8222
8223 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8224 (emacs_button_translation): Use it.
8225 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8226 in `mask' to be set.
8227
8228 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8229 menu strings.
8230
8231 * w32term.c: Format and doc changes to bring closer to xterm.c.
8232 (w32_char_font_type): New enum.
8233 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8234 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8235 (w32_encode_char): New function.
8236 (x_encode_char): Removed.
8237 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8238 x_encode_char and w32_font_is_double_byte.
8239 (x_produce_image_glyph): Use image_ascent.
8240 (x_produce_glyphs): Use new version of w32_per_char_metric and
8241 handle NULL return value. Allow extra line spacing.
8242 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8243 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8244 w32_font_type member of glyph instead.
8245 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8246 (fast_find_position): Make sure not to consider rows not visible
8247 in the window.
8248 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8249 w32_menu_display_help with input blocked, as it can abort.
8250 (x_display_and_set_cursor): Choose cursor depending
8251 on buffer-local value of cursor_type.
8252 (x_draw_bar_cursor): Add parameter WIDTH.
8253
8254 * w32term.h (CP_DEFAULT): Define.
8255 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8256
10fc3187
GM
82572000-05-30 Gerd Moellmann <gerd@gnu.org>
8258
8259 * search.c (Fre_search_forward, Fre_search_backward)
8260 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8261
d0555360
KH
82622000-05-30 Kenichi Handa <handa@etl.go.jp>
8263
8264 * coding.c (detect_coding_iso2022): Fix code for checking
8265 CODING_CATEGORY_MASK_ISO_8_2.
8266
f1ad044f
SM
82672000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8268
8269 * regex.c (PREFETCH_NOLIMIT): New function.
8270 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8271
84ec3b4b
GM
82722000-05-29 Gerd Moellmann <gerd@gnu.org>
8273
66254a13
GM
8274 * syntax.c (find_defun_start): Move test for
8275 open_paren_in_column_0_is_defun_start outside of the loop.
8276
49e70dec
GM
8277 * xdisp.c (redisplay_window): Really switch buffers when
8278 displaying mode lines, and temporarily set selected_frame to the
8279 frame of the window that's redisplayed.
8280
84ec3b4b
GM
8281 * xfaces.c (free_realized_faces): Block/unblock input.
8282 (free_realized_multibyte_face): Ditto.
8283
869a3a14
DL
82842000-05-29 Dave Love <fx@gnu.org>
8285
8286 * textprop.c (Qkeymap): New variable.
8287 (syms_of_textprop): Intern it.
8288
8289 * keymap.c: Include intervals.h.
8290 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8291
8292 * Makefile.in (keymap.o): Depend on intervals.h.
8293
8294 * keyboard.c (menu_bar_items, tool_bar_items)
8295 (Fexecute_extended_command): Deal with `keymap' property.
8296 (read_key_sequence): Track map from `keymap' property as well as
8297 `local_map'.
8298
8299 * intervals.c (get_local_map): Extra arg to allow looking for
8300 `keymap' too.
8301
8302 * intervals.h (map_property): New enum.
8303 (get_local_map): Extra arg using it.
8304 (Qkeymap): Declare.
8305
84ec3b4b 8306 * lisp.h (get_local_map): Don't declare here.
869a3a14 8307
89d0c844
KH
83082000-05-29 Kenichi Handa <handa@etl.go.jp>
8309
8310 * Makefile.in (callproc.o): Depend on composite.h.
8311
8312 * callproc.c: Include composite.h.
8313 (Fcall_process): Handle composition correctly.
8314
8315 * coding.h (coding_allocate_composition_data): Extern it.
8316 (coding_restore_composition): Likewise.
8317
8318 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8319 yet allocated, finish decoding with result
8320 CODING_FINISH_INSUFFICIENT_CMP.
8321 (coding_allocate_composition_data): Make it non-static.
8322 (coding_restore_composition): Likewise.
8323
797a084a
EZ
83242000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8325
8326 * charset.c (syms_of_charset): Revert last change.
8327
cf872af5
EZ
83282000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8329
8330 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8331 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8332 Handa.
cf872af5 8333
5b1ae051
EZ
83342000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8335
8336 * charset.c (syms_of_charset): Set width of character sets
8337 eight-bit-control and eight-bit-graphic to 1 column.
8338
34ec9ebe
GM
83392000-05-26 Gerd Moellmann <gerd@gnu.org>
8340
8341 * config.in (HAVE_SPEED_T): New define.
8342
8343 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8344 `extern speed_t'.
8345
dd854dc2
DL
83462000-05-26 Dave Love <fx@gnu.org>
8347
8348 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8349
8350 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8351 (Fsubr_arity): New function.
8352 (syms_of_data): Install them.
8353
ba9f8f95
KH
83542000-05-26 Kenichi Handa <handa@etl.go.jp>
8355
0f3e0672
KH
8356 * charset.c (init_charset_once): Set the table bytes_by_char_head
8357 correctly.
8358
cebefb44
KH
8359 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8360 the default fontset to what Emacs uses by default.
0f3e0672
KH
8361 (check_registry_encoding): This function deleted.
8362 (Fset_fontset_font): Remove the adhoc condition for the default
8363 fontset. Allow cons in FONTNAME.
cebefb44 8364
0f3e0672
KH
8365 * fns.c (map_char_table): Ignore char-table entries for
8366 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8367
7a18af49
KR
83682000-05-25 Ken Raeburn <raeburn@gnu.org>
8369
8370 * emacs.c (main): Initialize keyboard syms before initializing
8371 window code, so face names are available.
8372
d2af47df
SM
83732000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8374
8375 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8376 of an anchor at the beginning of a shy-group.
8377
fc6a6a4e
GM
83782000-05-25 Gerd Moellmann <gerd@gnu.org>
8379
8380 * xdisp.c (handle_invisible_prop): Don't try to skip over
8381 invisible text if end of text is already reached.
8382
005f0d35
DL
83832000-05-25 Dave Love <fx@gnu.org>
8384
02513cdd
DL
8385 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8386
005f0d35
DL
8387 * coding.c (encode_eol): Add null statement after label.
8388
89f6ca4e
EZ
83892000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8390
8391 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8392 2000-05-20.
8393
a4e1759e
KH
83942000-05-25 Kenichi Handa <handa@etl.go.jp>
8395
8396 * ccl.c (ccl_driver): Fix previous change.
8397
eacfd7fe
KH
83982000-05-25 Kenichi Handa <handa@etl.go.jp>
8399
46ab33a9
KH
8400 * coding.c (run_pre_post_conversion_on_str): Set point to the
8401 beginning of buffer before calling coding->post_read_conversion.
8402 (decode_coding_string): Give correct args to
8403 run_pre_post_conversion_on_str.
8404 (encode_coding_string): Likewise.
8405
eacfd7fe
KH
8406 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8407 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8408 eight-bit-graphic correctly.
8409
f8569325
DL
84102000-05-24 Kenichi HANDA <handa@etl.go.jp>
8411
8412 * fileio.c (Finsert_file_contents): Even if a file is not found,
8413 execute codes for setting up coding system. Call
8414 after-insert-file-functions unconditionally.
8415
04545643
GM
84162000-05-24 Gerd Moellmann <gerd@gnu.org>
8417
8418 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8419 BSD_PGRPS are not defined.
8420
747d90ea
KH
84212000-05-24 Kenichi Handa <handa@etl.go.jp>
8422
8423 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8424 DESCRIPTION.
8425 (syms_of_charset): Avoid building same strings.
8426
716e3b88
GM
84272000-05-23 Gerd Moellmann <gerd@gnu.org>
8428
8429 * lread.c (Fload): Add a comment about the meaning of
8430 Vuser_init_file being t.
8431
8432 * puresize.h (BASE_PURESIZE): Increase to 675000.
8433
8434 * s/gnu-linux.h (setpgrp): Don't define it here because this
8435 prevents compilation on GNU/Linux systems with glib 2.2.
8436
8437 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8438 as setpgid.
427ec082 8439
9aeb39fa
EZ
84402000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8441
8442 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8443 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8444 version.
8445 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8446
29ced61b
KH
84472000-05-23 Kenichi Handa <handa@etl.go.jp>
8448
52283633 8449 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8450
3d80f24d
KH
8451 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8452
52283633 8453 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8454
29ced61b
KH
8455 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8456
d7e00792
KH
84572000-05-22 Kenichi Handa <handa@etl.go.jp>
8458
c9d80d38
KH
8459 * keyboard.c (read_char): Allow character codes 128..255 to be
8460 handled by input-method-function.
8461
d7e00792
KH
8462 * insdel.c (adjust_markers_for_replace): Fix previous change.
8463 (adjust_after_replace): If PREV_TEXT is nil, call
8464 adjust_markers_for_insert, not adjust_markers_for_replace.
8465
087121cc 84662000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8467
087121cc
GM
8468 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8469 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8470 [HAVE_GRANDPT]: Define.
8471 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8472
8473 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8474 like SYSV_PTYS.
8475
8476 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8477
8478 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8479
c9671f81
KH
84802000-05-20 Kenichi Handa <handa@etl.go.jp>
8481
8482 The following changes are to handle 8-bit characters in a
8483 multibyte buffer/string without facing with byte combining
8484 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8485 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8486
8487 * Makefile.in (fns.o): Depend on charset.h.
8488
8489 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8490 convert it to unibyte.
8491 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8492
8493 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8494 apparent char boundary.
8495 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8496 0x80..0x9F to/from multibyte form.
8497
8498 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8499 to unibyte.
8500
8501 * callproc.c (Fcall_process): Always encode an argument string if
8502 it is multibyte. Setup src_multibyte and dst_multibyte members of
8503 process_coding properly.
ce75fd23 8504
c9671f81
KH
8505 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8506 SPLIT_NON_ASCII_CHAR.
8507
8508 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8509 as is.
8510 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8511
52283633 8512 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8513 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8514 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8515 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8516 and eight-bit-graphic.
8517 (char_to_string): Likewise. Signal an error for too large
8518 character code.
8519 (char_printable_p): Return 0 for 8-bit characters.
8520 (update_charset_table): Update iso_charset_table only when a final
8521 character is non-negative.
8522 (find_charset_in_text): Renamed from find_charset_in_str.
8523 Arguments and return value changed. Callers changed.
8524 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8525 be -1 if CHARSET is used only internally.
8526 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8527 eight-bit-graphic.
8528 (Fcharset_after): Simplified.
8529 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8530 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8531 (multibyte_chars_in_text): Simplified by assuming there's no
8532 invalid multibyte sequence.
52283633
SM
8533 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8534 (str_as_unibyte): New functions.
8535 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8536 (init_charset_once): Initialization for
8537 LEADING_CODE_8_BIT_CONTROL.
8538 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8539 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8540 eight-bit-control and eight-bit-graphic.
8541
52283633
SM
8542 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8543 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8544 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8545 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8546 (CHARSET_REVERSE_CHARSET): Likewise.
8547 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8548 eight-bit-graphic.
8549 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8550 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8551 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8552 encounter an invalid multibyte sequence.
8553 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8554 sequence is always valid.
8555 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8556 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8557 (CHAR_STRING): For 8-bit characters, call char_to_string.
8558 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8559 multibyte sequence is always valid.
8560 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8561 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8562 (str_as_unibyte): Extern them.
c9671f81 8563 (BCOPY_SHORT): Fix a bug.
52283633 8564 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8565 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8566 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8567 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8568
bd4bde7f 8569 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8570 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8571 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8572 (EMIT_BYTES): New macros.
8573 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8574 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8575 macros deleted.
8576 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8577 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8578 check the validity of multibyte sequence.
8579 (decode_coding_emacs_mule): New function.
8580 (encode_coding_emacs_mule): New macro.
8581 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8582 the source.
8583 (DECODE_ISO_CHARACTER): Just return a character code.
8584 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8585 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8586 EMIT_CHAR to produced decoded characters. Exit the loop only by
8587 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8588 block here.
8589 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8590 only position codes for an invalid character.
8591 (encode_designation_at_bol): Return new destination pointer. 5th
8592 arg DSTP is changed to DST.
8593 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8594 from the source by ONE_MORE_CHAR. Don't handle the case of last
8595 block here.
8596 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8597 macros deleted.
52283633
SM
8598 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8599 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8600 TWO_MORE_BYTES to fetch a byte from the source.
8601 (encode_eol): Pay attention to coding->src_multibyte.
8602 (detect_coding, detect_eol): Preserve members src_multibyte and
8603 dst_multibyte.
8604 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8605 (encoding_buffer_size): Set magnification to 3 for all coding
8606 systems that require encoding.
8607 (ccl_coding_driver): For decoding, be sure that the result is
8608 valid multibyte sequence.
8609 (decode_coding): Initialize coding->errors and coding->result.
8610 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8611 and raw-text, always call decode_eol. Handle the case of last
8612 block here. If not coding->dst_multibyte, convert the resulting
8613 sequence to unibyte.
8614 (encode_coding): Initialize coding->errors and coding->result.
8615 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8616 and raw-text, always call encode_eol. Handle the case of last
8617 block here.
8618 (shrink_decoding_region, shrink_encoding_region): Detect cases
8619 that we can't skip data more rigidly.
8620 (code_convert_region): Setup src_multibyte and dst_multibyte
8621 members of coding. For decoding, if the buffer is multibyte,
8622 convert the source sequence to unibyte in advance. For encoding,
8623 if the buffer is multibyte, convert the resulting sequence to
8624 multibyte afterward.
8625 (run_pre_post_conversion_on_str): New function.
8626 (code_convert_string): Deleted and divided into the following two.
8627 (decode_coding_string, encode_coding_string): New functions.
8628 (code_convert_string1, code_convert_string_norecord): Call one of
8629 above.
8630 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8631 MAKE_NON_ASCII_CHAR.
52283633
SM
8632 (Fset_terminal_coding_system_internal)
8633 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8634 and dst_multibyte members.
8635 (init_coding_once): Initialize iso_code_class with new enum
8636 ISO_control_0 and ISO_control_1.
8637
8638 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8639 devided into ISO_control_0 and ISO_control_1.
8640 (struct coding_system): New members src_multibyte, dst_multibyte,
8641 errors, and result. Delete member fake_multibyte.
8642 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8643 nonzero.
8644 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8645 nonzero.
8646
8647 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8648 (Faset): Likewise.
8649
8650 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8651 multibyte form.
8652 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8653 combining occurs.
8654 (Ftranspose_region): Delete codes for handling byte combining.
8655
8656 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8657 dst_multibyte members of coding. On handling REPLACE on unibyte
8658 buffer, convert the result of decode_coding to unibyte. On
8659 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8660 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8661 multibyteness of the source (buffer or string).
8662
8663 * fns.c (concat): Handle 8-bit characters correctly.
8664 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8665 unibyte in the result.
8666 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8667 valid multibyte form in the result.
8668 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8669 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8670 return -1, signal an error.
8671 (base64_encode_1): New arg MULTIBYTE. Get each character by
8672 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8673 character is found, return -1.
8674 (Fbase64_decode_region): Delete codes for handling byte-combining.
8675 Treat each decoded byte as a unibyte character.
8676 (Fbase64_decode_string): Return unibyte string.
8677 (Fcompare_strings, concat, string_byte_to_char): Use
8678 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8679 FETCH_STRING_CHAR_ADVANCE.
8680 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8681 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8682
8683 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8684 SPLIT_NON_ASCII_CHAR.
8685 (fontset_ref_via_base, fontset_set): Likewise
8686
8687 * insdel.c (adjust_markers_for_record_delete): Deleted.
8688 (adjust_markers_for_insert): Argument changed. Caller changed.
8689 (adjust_markers_for_replace): Likewise.
52283633
SM
8690 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8691 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8692 (copy_text): Delete unused local varialbe c_save. For converting
8693 to multibyte, be sure to make all 8-bit characters in valid
8694 multibyte form.
8695 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8696 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8697 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8698 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8699 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8700 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8701 handling byte combining.
8702 (adjust_before_replace): Deleted.
427ec082 8703
c9671f81
KH
8704 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8705 SPLIT_NON_ASCII_CHAR.
8706 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8707 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8708 (Fkey_description): Likewise.
8709
8710 * lread.c (read1): On reading multibyte string, be sure to make
8711 all 8-bit chararacters in valid multibyte form.
8712 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8713
8714 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8715 unconditionally.
8716
8717 * process.c (Fstart_process): GCPRO current_dir before calling
8718 Ffind_operation_coding_system. Encode arguments here.
8719 (create_process): Don't encode arguments here. Setup
8720 src_multibyte and dst_multibyte members of struct coding.
8721 (read_process_output): Setup src_multibyte and dst_multibyte
8722 members of struct coding. If the output is to multibyte buffer,
8723 always decode the output of the process. Adjust the
52283633 8724 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8725 (send_process): Setup coding->src_multibyte according to the
8726 multibyteness of the source.
8727
52283633 8728 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8729 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8730 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8731
52283633 8732 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8733
8734 * w16select.c (Fw16_set_clipboard_data): Setup members
8735 src_multibyte and dst_multibyte of coding. Adjusted for the
8736 change for find_charset_in_str.
8737 (Fw16_get_clipboard_data): Likewise.
8738
8739 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8740 dst_multibyte of coding.
8741 (x_to_w32_font): Likewise.
8742
8743 * w32select.c (Fw32_set_clipboard_data): Setup members
8744 src_multibyte and dst_multibyte of coding. Adjusted for the
8745 change for find_charset_in_str.
8746 (Fw32_get_clipboard_data): Likewise.
8747
8748 * xdisp.c (get_next_display_element): Handle 8-bit characters
8749 correctly.
52283633
SM
8750 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8751 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8752
8753 * xselect.c (selection_data_to_lisp_data): Setup members
8754 src_multibyte and dst_multibyte of coding. Adjusted for the
8755 change for find_charset_in_str.
8756 (lisp_data_to_selection_data): Likewise.
8757
5f64c9e0
GM
87582000-05-19 Gerd Moellmann <gerd@gnu.org>
8759
52283633 8760 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8761
5f64c9e0
GM
8762 * dispextern.h (Vimage_types): Add extern declaration.
8763
8764 * xdisp.c (Vimage_types): Moved here from xfns.c.
8765 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8766
8767 * xfns.c (Vimages_types): Moved to xdisp.c.
8768 (syms_of_xfns): Move `image-types' to xdisp.c.
8769
8770 * w32fns.c (Vimage_types): Removed.
8771 (syms_of_w32fns): Remove `image-types'.
8772
813086ea
KH
87732000-05-18 Kenichi Handa <handa@etl.go.jp>
8774
8775 * fns.c (map_char_table): Pay attention to character number of
8776 charset. Check the validity of charset at the first level. For
8777 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8778 the default value.
8779
8780 * fontset.c: Include "buffer.h".
8781 (fs_load_font): If the face has fontset, record the face ID in
8782 that fontset.
8783 (Finternal_char_font): New function.
8784 (accumulate_font_info): New function.
8785 (Ffontset_info): Rewritten for the new fontset implementation.
8786 (syms_of_fontset): Register Vdefault_fontset in the first element
8787 of Vfontset_table. Include Vdefault_fontset in
8788 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8789 function.
8790
bdaebbf0
DL
87912000-05-16 Dave Love <fx@gnu.org>
8792
8793 * m/iris5d.h: Deleted -- unused.
8794
cb613bb8
GM
87952000-05-16 Gerd Moellmann <gerd@gnu.org>
8796
b15f3b77
GM
8797 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8798 `invalid' instead of `illegal'.
8799
8800 * indent.c (Fmove_to_column): When ending within a tab, insert
8801 spaces first so that markers at the end of the tab get adjusted.
8802
835c1b36
GM
8803 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8804 buffer list that wasn't selected in that frame.
8805
cb613bb8
GM
8806 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8807 is needed on mescaline, use a 2 char prefix, and call
8808 make_temp_name with second arg non-zero.
8809
8810 * fileio.c (make_temp_name): New function, extracted from
8811 Fmake_temp_name.
8812 (Fmake_temp_name): Use it.
8813
f685bea9
EZ
88142000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8815
52283633 8816 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8817
a1b8d58b
GM
88182000-05-15 Gerd Moellmann <gerd@gnu.org>
8819
8820 * Makefile.in (lisp): Add env.elc.
8821
8822 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8823
a265079f
GM
88242000-05-12 Gerd Moellmann <gerd@gnu.org>
8825
8826 * search.c (Freplace_match): Handle case of `\N' in the
8827 replacement when there's no group N.
8828
da4496b6
GM
88292000-05-11 Gerd Moellmann <gerd@gnu.org>
8830
0ace421a
GM
8831 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8832 of the message to message_dolog.
8833
1172eb8d
GM
8834 * keyboard.c (read_char): Don't clear current message for help
8835 events; let the code handling help events handle this. Change
8836 code detecting help events that should be ignored.
8837
da4496b6
GM
8838 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8839 we're interating over a string.
8840
0623e40f
DL
88412000-05-09 Dave Love <fx@gnu.org>
8842
8843 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8844 that offset before writing. Move gcpro region past call of
8845 Ffile_regular_p.
8846
bae2503b
DL
88472000-05-04 Dave Love <fx@gnu.org>
8848
8849 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8850
ec82fb2f
GM
88512000-05-04 Gerd Moellmann <gerd@gnu.org>
8852
8853 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8854 of inserted characters when BUF equals the current buffer, and PT
8855 is in front of or equal to FROM.
8856
cbf18892
GM
88572000-05-03 Gerd Moellmann <gerd@gnu.org>
8858
4ff40dd0
GM
8859 * xdisp.c (handle_single_display_prop): If display property value
8860 is invalid, or something not supported on the frame, restore
8861 iterator's position to what it was initially. Make sure to return
8862 0 for invalid and unsupported property values.
8863
cbf18892
GM
8864 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8865 that x_per_char_metric returns null.
8866
1b0672c3
GM
88672000-05-02 Gerd Moellmann <gerd@gnu.org>
8868
576da55d
GM
8869 * xterm.h (struct face): Add forward declaration.
8870 (struct image): Ditto.
8871 (image_ascent): Add prototype.
8872
8873 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8874 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8875 image_ascent instead of using IMAGE_ASCENT.
8876
8877 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8878 (IMAGE_ASCENT): Removed.
8879
8880 * xfns.c (Qcenter): New variable.
8881 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8882 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8883 (image_ascent): New function.
8884 (lookup_image): Recognize `:ascent center'.
8885 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8886 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8887 (xbm_load): Don't set image's ascent here.
8888 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8889 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8890 check ascent values here.
8891 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8892 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8893 (syms_of_xfns): Initialize Qcenter.
8894
1b0672c3
GM
8895 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8896 to the limits, increase the limits.
8897
0d7811ed
KH
88982000-05-01 Kenichi Handa <handa@etl.go.jp>
8899
8900 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8901 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8902
a943a5ca
GM
89032000-04-28 Gerd Moellmann <gerd@gnu.org>
8904
8905 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8906 taller than the window.
8907
5dba1e29
KH
89082000-04-28 Kenichi Handa <handa@etl.go.jp>
8909
8910 * xfaces.c (realize_x_face): Fix the argument of the second
8911 xassert. BASE_FACE may not be a face for ASCII.
8912
353964e3
GM
89132000-04-27 Gerd Moellmann <gerd@gnu.org>
8914
c76e04a8
GM
8915 * print.c (print_object): Treat print-length < 0 as nil.
8916
8917 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8918
8919 * s/freebsd.h (TERMCAP_OBJ): Removed.
8920 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8921
8922 * lread.c (read1): Don't treat period followed by certain
8923 characters as symbol start.
8924
8925 * xfns.c (slurp_file): New function.
8926 (xbm_image_p): Handle case of in-memory XBM files.
8927 (xbm_scan): Rewritten to work on memory buffers instead of files.
8928 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8929 Work on memory buffers instead of files. If DATA is null test
8930 if buffer looks like an in-memory XBM file.
8931 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8932 memory buffers instead of files.
8933 (xbm_file_p): New function.
8934 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8935
353964e3
GM
8936 * lread.c (end_of_file_error): New function.
8937 (read1): Call it instead of signaling `end-of-file' directly.
8938
427ec082 8939 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8940 with Fprinc instead of Fprin1.
8941
24d744ac
KR
89422000-04-26 Ken Raeburn <raeburn@gnu.org>
8943
8944 * window.c (freeze_window_start): Check that minibuffer scroll
8945 window isn't nil before extracting the window structure pointer
8946 from it.
8947
8948 * undo.c (record_delete): If we hit the end of the undo list, stop
8949 picking elements apart.
8950
7464346d
GM
89512000-04-26 Gerd Moellmann <gerd@gnu.org>
8952
8953 * xdisp.c (display_line): If lines are continued, restore
8954 iterator's ascent/descent information to the values before the
8955 first glyph not fitting on the line.
8956
612839b6
GM
89572000-04-25 Gerd Moellmann <gerd@gnu.org>
8958
8959 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8960 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8961
8962 * dispnew.c (increment_matrix_positions): Renamed from
8963 increment_glyph_matrix_buffer_positions.
8964 (increment_row_positions): Renamed from
8965 increment_glyph_row_buffer_positions.
8966
8967 * dispextern.h: Change names of renamed functions from dispnew.c
8968 in prototypes.
8969
cc181e95
GM
89702000-04-24 Gerd Moellmann <gerd@gnu.org>
8971
abfcc168
GM
8972 * fileio.c (Fdo_auto_save): Create directories for auto-save
8973 list file if necessary.
8974
cc181e95
GM
8975 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8976 from buffer or frame.
8977 (automatic_hscrolling_p): New variable.
8978 (hscroll_windows): Scroll windows horizontally only if automatic
8979 hscrolling is allowed.
8980 (syms_of_xdisp): New variable `automatic-hscrolling'.
8981
8982 * frame.h (struct frame): Add member extra_line_spacing.
8983
8984 * xfns.c (x_set_line_spacing): New function.
8985 (Fx_create_frame): Set line spacing from resources.
8986 (Qline_spacing): New variable.
8987 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8988
cc181e95
GM
8989 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8990
8991 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8992 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8993 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8994 extra_line_spacing from default value.
8995 (init_buffer_once): Initialize default value of extra_line_spacing.
8996
8997 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8998 and extra3.
8999
9000 * xterm.c (x_produce_glyphs): Remove reference to struct it's
9001 prompt_width. Add extra line spacing.
9002
9003 * term.c (produce_glyphs): Remove reference to struct it's
9004 prompt_width.
9005
9006 * dispextern.h (struct it): Remove member prompt_width, add
9007 extra_line_spacing.
9008
58827478
GM
90092000-04-22 Gerd Moellmann <gerd@gnu.org>
9010
9011 * dispnew.c (update_frame_line): When writing a whole line, make
9012 sure cursor is in the right row afterwards, otherwise a use of
9013 capability `ch' in cmgoto might leave the cursor in the row below.
9014
25a87f42
GM
90152000-04-21 Gerd Moellmann <gerd@gnu.org>
9016
9017 * lisp.h (struct Lisp_Buffer_Cons): Remove.
9018
9019 * keyboard.c (timer_check): Fix typo in comment.
9020
54edf5c2
KH
90212000-04-21 Kenichi Handa <handa@etl.go.jp>
9022
9023 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
9024 name change: ch -> character.
9025
3a64eef5
GM
90262000-04-20 Gerd Moellmann <gerd@gnu.org>
9027
9028 * keyboard.c (echo_message_buffer): New variable.
9029 (echo_now): Set echo_message_buffer to the echo area buffer used
9030 to display the echo.
9031 (cancel_echoing): Reset echo_message_buffer to nil.
9032 (read_char): Code rewritten that handles canceling an echo or
9033 echoing a dash, respectively.
9034
9035 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
9036 directory doesn't exist.
9037
6142fdcb
DL
90382000-04-19 Dave Love <fx@gnu.org>
9039
9040 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
9041 (concat): Don't allow numeric args.
9042 (Fconcat): Doc change.
6142fdcb 9043
ac6b5352
SM
90442000-04-19 Stefan Monnier <monnier@cs.yale.edu>
9045
9046 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
9047 instead define end_match(1|2) more carefully.
9048 Use GET_CHAR_BEFORE_2 for `begline'.
9049
cb9215e4
GM
90502000-04-19 Gerd Moellmann <gerd@gnu.org>
9051
5e3dac3f
GM
9052 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
9053 on 64-bit systems where NULL is defined as `0'.
9054
9055 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
9056 the `variable argument list' to make it work on Alpha.
9057
cb9215e4
GM
9058 * m/alpha.h (_LP64) [!_LP64]: Define.
9059 (ORDINARY_LINK): Define for NetBSD.
9060
9061 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 9062
f532dca0
DL
90632000-04-19 Dave Love <fx@gnu.org>
9064
c750667e
DL
9065 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
9066 change.
9067
9068 * Makefile.in (LIBS): Don't use.
9069 (GETLOADAVG_OBJ): Define again.
9070 (otherobj): Add GETLOADAVG_OBJ.
9071
f532dca0
DL
9072 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
9073
1c7e22fd
GM
90742000-04-18 Gerd Moellmann <gerd@gnu.org>
9075
f6d3257b
GM
9076 * lread.c (read_filtered_event): Cancel and start busy cursor.
9077
427ec082 9078 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
9079 that the per-character metrics may be null.
9080
e10f64e7
GM
90812000-04-17 Gerd Moellmann <gerd@gnu.org>
9082
0daee095
GM
9083 * buffer.c (clone_per_buffer_values): New function.
9084 (Fmake_indirect_buffer): Add optional argument CLONE. Call
9085 clone_per_buffer_values if CLONE is not nil.
9086
e10f64e7
GM
9087 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9088
38687d43
DL
90892000-04-16 Dave Love <fx@gnu.org>
9090
9091 * Makefile.in: Remove obsolete localcpp stuff.
9092 (GETLOADAVG_OBJ): Don't define.
9093 (obj): Move LIBOBJS...
9094 (otherobj): ... to here.
9095 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
9096 whitespace-only lines after the continuation (Irix).
9097
c21c7262
GM
90982000-04-14 Gerd Moellmann <gerd@gnu.org>
9099
9100 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
9101
9102 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
9103
314767c0
DL
91042000-04-14 Dave Love <fx@gnu.org>
9105
9106 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
9107 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
9108 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
9109 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
9110 NLIST_STRUCT.
9111
9112 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9113 autoconfiscated HAVE_GETLOADAVG.
9114
9115 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9116 BROKEN_MKTIME.
9117
a2522dca
GM
91182000-04-14 Gerd Moellmann <gerd@gnu.org>
9119
9120 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9121 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9122
33744b5d
DL
91232000-04-14 Dave Love <fx@gnu.org>
9124
c21c7262 9125 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9126 (INTERVAL_SRC): Convert to make variable.
9127 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9128 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9129 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9130 add LIBOBJS.
9131 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9132 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9133 (shortlisp): Add facemenu, float-sup, frame.
9134 (SOME_MACHINE_LISP): Remove them from here.
9135 (LIBES): Change unused LDLIBS to autoconf LIBS.
9136
9137 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9138
9d3d5916
KH
91392000-04-14 Kenichi Handa <handa@etl.go.jp>
9140
9141 * composite.c (update_compositions): If FROM and TO are not in a
9142 valid range, do nothing.
9143
198e3c7a
GM
91442000-04-13 Gerd Moellmann <gerd@gnu.org>
9145
52283633 9146 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9147
52283633 9148 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9149
9150 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9151 as TERMCAP_OBJ.
9152
055a28c9
EZ
91532000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9154
9155 * fileio.c (a_write): Remove redundant semi-colons.
9156 (e_write): Return -1 if failed to write all the data.
9157 This fixes the changes made at 1999-12-15.
9158
f5c75033
DL
91592000-04-12 Dave Love <fx@gnu.org>
9160
9161 * fns.c (mapcar1): Test for null vals to support mapc.
9162 (Fmapc): New function.
9163
0c3cfc51
EZ
91642000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9165
9166 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9167 (IT_frame_up_to_date): Support the buffer local value of
9168 cursor-type, if defined.
9169
33465a31
DL
91702000-04-10 Dave Love <fx@gnu.org>
9171
9172 * editfns.c (preceding-char, following-char): Doc fix.
9173
6ed56568
KR
91742000-04-10 Ken Raeburn <raeburn@gnu.org>
9175
9176 * Makefile.in (temacs): Revert 2000-03-12 change.
9177
7cf80d4e
JR
91782000-04-10 Jason Rumney <jasonr@gnu.org>
9179
9180 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9181
34f3f342
GM
91822000-04-10 Gerd Moellmann <gerd@gnu.org>
9183
1a1b1895
GM
9184 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9185 area buffer, if it's not set up yet.
9186
34f3f342
GM
9187 * indent.c (compute_motion): Set immediate_quit.
9188
be0dbdab
GM
91892000-04-09 Gerd Moellmann <gerd@gnu.org>
9190
52283633 9191 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9192 (realize_tty_face): Suppress boldness if colors are the inverse of
9193 the default colors, and tty_suppress_bold_inverse_default_colors_p
9194 is set.
9195 (Ftty_suppress_bold_inverse_default_colors): New function.
9196 (syms_of_xfaces): Defsubr it.
9197
be0dbdab
GM
9198 * buffer.c (Frestore_buffer_modified_p): New function.
9199 (syms_of_buffer): Defsubr it.
9200
e8413c3b
KR
92012000-04-08 Ken Raeburn <raeburn@gnu.org>
9202
87f67317
KR
9203 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9204 charset id (int) argument, not a charset (Lisp_Object).
9205
e8413c3b
KR
9206 * coding.h (code_convert_string): Declare.
9207 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9208 object, as the fourth argument to code_convert_string.
9209
52283633 9210 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9211 (Fset_fontset_font): Use EQ to compare lisp objects.
9212
7c752c80
KR
92132000-04-05 Ken Raeburn <raeburn@gnu.org>
9214
c0333abc
KR
9215 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9216 a pointer that looks like a lisp object.
9217 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9218 zero, instead see whether it's an integer object, since they can't
9219 have intervals.
9220 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9221
52283633
SM
9222 * dispnew.c (allocate_matrices_for_frame_redisplay)
9223 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9224 to convert between (unsigned) int values and lisp integers.
9225 * keyboard.c (read_key_sequence): Likewise.
9226 * lread.c (substitute_object_recurse): Likewise.
9227 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9228 * minibuf.c (do_completion, Fminibuffer_complete_word)
9229 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9230 * term.c (produce_special_glyphs): Likewise.
9231
9232 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9233 * print.c (print_preprocess, print_object): Likewise.
9234
9235 * search.c (compile_pattern): Use NILP when checking for nil.
9236
74e49b38
KR
9237 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9238 __OPTIMIZE__]: Provide a GNU C macro version that handles
9239 lisp-object unions.
9240 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9241 field, to better cope with ENABLE_CHECKING and calls that modify a
9242 Lisp_Object using its old value.
9243
685e5ed2
GM
92442000-04-04 Gerd Moellmann <gerd@gnu.org>
9245
c407c570
GM
9246 * window.c (compare_window_configurations): Signal an error
9247 if parameters C1 or C2 aren't window configurations.
9248
685e5ed2
GM
9249 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9250 AFTER_POTENTIAL_GC calls around calls to functions that can
9251 signal an error and thus invoke the debugger.
9252
587a49ab
GM
92532000-04-03 Gerd Moellmann <gerd@gnu.org>
9254
62f20204
GM
9255 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9256 an error if decoding fails.
9257
587a49ab
GM
9258 * keyboard.c (lispy_mouse_names): Variable removed.
9259 (Vlispy_mouse_stem): New variable.
9260 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9261 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9262 for any mouse button number. Increase size of mouse_syms and
9263 button_down_location as needed. Call modify_event_symbol with
9264 different arguments.
9265 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9266 Call modify_event_symbol with different arguments.
9267 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9268 for any button number. Call modify_event_symbol with different
9269 arguments.
9270 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9271 Accept a string for NAME_ALIST_OR_STEM.
9272
9273 * lisp.h (larger_vector): Add prototype.
9274
9275 * fns.c (larger_vector): Make externally visible.
9276
9277 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9278
2d1675e4
SM
92792000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9280
9281 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9282 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9283 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9284 we are between str1 and str2.
9285 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9286 (PATFETCH): Use `TRANSLATE'.
9287 (PATFETCH_RAW): Fetch multibyte char if applicable.
9288 (PATUNFETCH): Remove.
9289 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9290 When writing a char, write it directly into the pattern buffer rather
9291 than going needlessly through a temp char-array.
9292 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9293 multibyte magic and remove the useless `#ifdef emacs'.
9294 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9295 buffer.
9296
9297 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9298 conditional on `emacs'.
9299
9300 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9301
cc2d8c6b
KR
93022000-04-01 Ken Raeburn <raeburn@gnu.org>
9303
9304 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9305 non-union-type versions of XMARK and friends here, because XMARK
9306 and friends won't work on an integer field if NO_UNION_TYPE is not
9307 defined.
52283633 9308 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9309
52283633 9310 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9311 (syms_of_composite): Delete local var NARGS, pass an int as first
9312 argument to Fmake_hash_table.
9313
2387b382
KR
9314 * editfns.c (text_property_stickiness): Use NILP to test
9315 Lisp_Object boolean value.
9316 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9317 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9318 problems reading from and changing the same lisp value in an
9319 XSETSTRING call.
9320
27660e89
GM
93212000-04-01 Gerd Moellmann <gerd@gnu.org>
9322
9323 * term.c (TN_no_color_video): New variable.
9324 (term_init): Intitialize TN_no_color_video.
9325 (enum no_color_bit): New enumeration.
9326 (MAY_USE_WITH_COLORS_P): New macro.
9327 (turn_on_face): Use it to determine if attributes may be used
9328 combined with colors.
9329
3578db3c
KR
93302000-04-01 Ken Raeburn <raeburn@gnu.org>
9331
9332 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9333 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9334 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9335 proper accessor macros.
9336 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9337 (grow_mini_window): Fix typo getting int value of root->height.
9338
6fc556fd
KR
9339 * xdisp.c (compute_string_pos): Fix order of arguments to
9340 string_pos_nchars_ahead.
9341 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9342 count arg to variable-arg routines like Frun_hook_with_args and
9343 Fformat.
587a49ab
GM
9344 (back_to_previous_visible_line_start)
9345 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9346 fixed-arg routines like Fget_char_property and Fmake_string.
9347 (reconsider_clip_changes): Use XINT when comparing integer lisp
9348 objects, or passing them as int arguments.
587a49ab
GM
9349 (mark_window_display_accurate, insert_left_trunc_glyphs)
9350 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9351 storing or passing integer values as lisp objects.
9352 (set_cursor_from_row, highlight_trailing_whitespace): Use
9353 INTEGERP, not implicit test against zero, for glyph object.
9354 (try_window_id): Don't use make_number when we want an int value.
9355
9356 * xfaces.c (xlfd_symbolic_value): Make last argument a
9357 Lisp_Object, to be consistent with callers.
9358 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9359 (lface_hash): Apply XFASTINT to lisp values before folding in.
9360
9361 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9362 fill in window width and height. Pass an int, not a lisp object,
9363 as first arg to Finsert.
9364
6e7b2457
GM
93652000-04-01 Gerd Moellmann <gerd@gnu.org>
9366
610d841e
GM
9367 * xfaces.c (realize_basic_faces): Block input while realizing
9368 the faces.
9369
6e7b2457
GM
9370 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9371
9372 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9373
aa110c0c
GM
93742000-03-31 Gerd Moellmann <gerd@gnu.org>
9375
9376 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9377 or ASCII, handle case that per-char metric is null.
aa110c0c 9378
8801a864
KR
93792000-03-30 Ken Raeburn <raeburn@gnu.org>
9380
c6129d7e
KR
9381 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9382
52283633
SM
9383 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9384 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9385 pointer, using eassert.
9386 * frame.h (XFRAME): Likewise.
9387
52283633
SM
9388 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9389 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9390 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9391 * data.c (set_internal): Likewise.
52283633
SM
9392 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9393 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9394 * fileio.c (auto_save_1): Likewise.
9395 * insdel.c (check_markers): Likewise.
9396 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9397 * undo.c (record_insert): Likewise.
9398 * vmsproc.c (child_sig): Likewise.
9399 * window.c (unshow_buffer, window_loop): Likewise.
9400 * xterm.c (x_erase_phys_cursor): Likewise.
9401
8e7af858
GM
94022000-03-30 Gerd Moellmann <gerd@gnu.org>
9403
9404 * xfns.c (free_image_cache): Free the cache structure itself
9405 last, after all its members have been freed.
9406
9407 * lisp.h (xstrdup): Add prototype.
9408
9409 * alloc.c (xstrdup): Moved here from xfaces.c.
9410 (allocating_for_lisp): Variable removed.
52283633 9411 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9412
9413 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9414 of Fsymbol_value.
9415 (xstrdup): Moved to alloc.c.
9416
e0b8c689
KR
94172000-03-29 Ken Raeburn <raeburn@gnu.org>
9418
b96f9fb7
KR
9419 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9420
9421 * emacs.c (main): Fix sense of no-loadup test.
9422
e0b8c689
KR
9423 * config.in (ENABLE_CHECKING): Undef.
9424
9425 * lisp.h (struct interval): Replace "parent" field with a union of
9426 interval pointer and Lisp_Object; add new bitfield to use as
9427 discriminant. Change other flag fields to bitfields.
9428 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9429 is defined and the supplied test fails, print a message and abort.
9430 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9431
9432 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9433 pointers; abort if the value looks like a lisp object.
52283633
SM
9434 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9435 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9436 Modify for new interval parent definition.
9437
52283633
SM
9438 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9439 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9440 addressable lisp object in the interval structure.
9441 (die): New function.
9442 (suppress_checking): New variable.
9443
9444 * intervals.c (interval_start_pos): Just return 0 if there's no
9445 parent object.
9446
f83c5440
GM
94472000-03-29 Gerd Moellmann <gerd@gnu.org>
9448
9449 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9450 and earlier Emacs versions.
9451
9452 * keyboard.c (Ftop_level): Cancel busy-cursor.
9453
9454 * eval.c (call_debugger): Cancel busy-cursor.
9455
fdce64ff
KH
94562000-03-29 Kenichi Handa <handa@etl.go.jp>
9457
9458 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9459 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9460
f6a3f532
SM
94612000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9462
9463 * regex.c (analyse_first): New function obtained by ripping out most
9464 of re_compile_fastmap and generalizing it a little bit so that it
9465 can also just return whether a given (sub)pattern can match the empty
9466 string or not.
9467 (regex_compile): Use `analyse_first' to decide whether the loop-check
9468 needs to be done or not for *, +, *? and +? (the loop check is costly
9469 for non-greedy repetition).
9470 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9471
e9b309ac
DL
94722000-03-28 Dave Love <fx@gnu.org>
9473
52283633 9474 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9475
e9b309ac
DL
9476 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9477
ed0767d8
SM
94782000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9479
9480 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9481 an expression.
9482 (enum re_opcode_t): Update description of succeed_n.
9483 (PATFETCH): Always define.
9484 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9485 operators, char classes, shy-groups and intervals).
9486 Optimize special cases of intervals so as to only use succeed_n and
9487 jump_n when really needed.
9488 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9489 that we don't have to handle the special cases any more.
9490 Simplify on_failure_jump handling as well.
9491
e11e7e46
JR
94922000-03-28 Jason Rumney <jasonr@gnu.org>
9493
9494 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9495
88faab89
GM
94962000-03-27 Gerd Moellmann <gerd@gnu.org>
9497
182ff242
GM
9498 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9499
9500 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9501
182ff242
GM
9502 * alloc.c (mark_maybe_object): New function.
9503 (mark_memory): Use it.
9504 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9505 (setjmp_tested_p, longjmp_done): New variables.
9506 (test_setjmp): New function.
9507 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9508 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9509
c1005d06
GM
9510 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9511 to DEC_TEXT_POS and INC_TEXT_POS.
9512
9513 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9514 with parameter MULTIBYTE_P.
9515
52283633 9516 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9517
7439e5b9 9518 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9519 buffers because it looks for multibyte character byte sequences
9520 which don't exist in unibyte text.
7439e5b9 9521
d9c545da
GM
9522 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9523
11fd416e 9524 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9525 [DEBUG_X_COLORS]: New functions.
9526 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9527
9528 * xfns.c (x_set_cursor_color): Get color reference counts right.
9529
9530 * xterm.c (x_copy_color): New function.
9531 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9532
9533 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9534 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9535 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9536 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9537 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9538 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9539 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9540 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9541 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9542 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9543
11fd416e
GM
9544 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9545 names for handling per-buffer variables.
d9c545da
GM
9546
9547 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9548 instead of MAX_BUFFER_LOCAL_VARS.
9549 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9550
9551 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9552
88faab89
GM
9553 * xfns.c (x_specified_cursor_type): New function.
9554 (x_set_cursor_type): Use it.
9555
9556 * buffer.h (struct buffer): Add cursor_type.
9557
d80f42b7
SM
95582000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9559
9560 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9561 (print_partial_compiled_pattern, re_compile_fastmap):
9562 Handle new opcode.
d80f42b7
SM
9563 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9564 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9565 executing it as well as when popping it off the stack to find infinite
9566 loops in non-greedy repetition operators.
9567
89e80928
GM
95682000-03-26 Gerd Moellmann <gerd@gnu.org>
9569
3d4ff2dd
GM
9570 * doc.c (Qfunction_documentation): New variable.
9571 (syms_of_doc): Initialize Qfunction_documentation.
9572 (Fdocumentation): If FUNCTION is a symbol with non-nil
9573 `function-documentation' property, return a documentation derived
9574 from that.
9575
bd96bd79
GM
9576 * buffer.c (syms_of_buffer): Add default-cursor-type.
9577 (init_buffer_once): Don't let cursor_type have a local value
9578 in every buffer.
9579
19d1bc27
GM
9580 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9581 on buffer-local value of cursor_type.
9582 (x_draw_bar_cursor): Add parameter WIDTH.
9583
9584 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9585 (init_buffer_once): Set default cursor_type value to t.
9586 Mark cursor_type as local everywhere.
9587 (syms_of_buffer): New per-buffer variable cursor-type.
9588
89e80928
GM
9589 * buffer.h (struct buffer): Remove member local_var_flags,
9590 add local_flags.
9591 (MAX_BUFFER_LOCAL_VARS): New macro.
9592 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9593 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9594 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9595 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9596
52283633 9597 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9598
9599 * category.c (Fset_category_table): Use new macros for per-buffer
9600 variables.
9601
9602 * buffer.c (buffer_permanent_local_flags): Make a char array.
9603 (max_buffer_local_idx): New variable.
9604 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9605 for new handling of per-buffer variables.
9606 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9607 (init_buffer_once): Initialize per-buffer vars differently.
9608 Set max_buffer_local_idx.
9609
9610 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9611 variables.
9612
52283633 9613 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9614
9615 * data.c (do_symval_forwarding, store_symval_forwarding)
9616 (find_symbol_value, set_internal, default_value, Fset_default)
9617 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9618 per-buffer variables.
9619
9620 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9621
9a0dd3dc
GM
96222000-03-24 Gerd Moellmann <gerd@gnu.org>
9623
b68c375f
GM
9624 * xterm.c (x_term_init): Unblock input around call1 of
9625 Qvendor_specific_keysyms.
9626
9a0dd3dc
GM
9627 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9628 (find_defun_start): Consider an open parenthesis in column 0
9629 a defun start only if open_paren_in_column_0_is_defun_start is set.
9630 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9631
7973e637
SM
96322000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9633
9634 * eval.c (Fautoload): Add entry in load-history (if after dump).
9635 * lread.c (load-history): Update docstring.
9636
39210e90
GM
96372000-03-24 Gerd Moellmann <gerd@gnu.org>
9638
9639 * indent.c (Fvertical_motion): Always use the current buffer.
9640 Temporarily change the window's buffer, if necessary.
9641
72db3ab5
GM
96422000-03-23 Gerd Moellmann <gerd@gnu.org>
9643
9644 * xterm.c (fast_find_position): Make sure not to consider rows
9645 not visible in the window.
9646
990b2375
SM
96472000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9648
9649 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9650 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9651
ff4df011
JR
96522000-03-22 Jason Rumney <jasonr@gnu.org>
9653
9654 * w32menu.c (single_submenu): Set help string to NULL if none.
9655 (w32_menu_show): Set help string correctly.
9656 (add-menu-item): Set help string in MIIM_DATA for menu item.
9657 Load SetMenuItemInfoA explicitly.
9658 (w32_menu_display_help): New function.
427ec082 9659
ff4df011
JR
9660 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9661 (QCdata): Moved to xdisp.c.
9662
9663 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9664 (Vw32_charset_to_codepage_alist): Removed.
9665 (Vw32_charset_info_alist): New variable.
52283633
SM
9666 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9667 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9668 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9669 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9670 with TODO comment.
9671 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9672 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9673 Define Vw32_charset_info_alist and w32_charset symbols.
9674
96752000-03-22 Jason Rumney <jasonr@gnu.org>
9676
9677 * makefile.nt (w32bdf.obj): Update dependencies.
9678
9679 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9680
9681 * w32fns.c: Include fontset.h after dispextern.h.
9682 (Fx_create_frame): Do not create fontset.
9683 (w32_load_system_font): Doc fix.
9684 (Fx_close_connection): Free full_name if it is not shared.
9685
9686 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9687 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9688 Callers updated.
ff4df011
JR
9689 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9690 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9691 (w32_font_is_double_byte): New function, needs body.
9692 (x_append_glyph): Set glyph->glyph_not_available_p.
9693 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9694 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9695 character, convert it to a unibyte character.
9696 (struct glyph_string): Delete member `charset'.
9697 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9698 calculating it is found.
9699 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9700 the case that per char metric is not available correctly.
9701 (x_fill_glyph_string): Handle the case that the specific glyph is
9702 not available correctly.
9703 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9704 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9705 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9706 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9707 fontset. Don't call FS_LOAD_FONT.
9708
439d5cb4
KR
97092000-03-22 Ken Raeburn <raeburn@gnu.org>
9710
9711 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9712 (INT_LISPLIKE): New macro.
9713 (NULL_INTERVAL_P): Use it.
52283633
SM
9714 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9715 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9716 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9717
9718 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9719 explicit references to "parent" field of struct interval and
9720 associated unclean type conversions.
52283633
SM
9721 * intervals.c (create_root_interval, root_interval, rotate_right)
9722 (rotate_left, balance_possible_root_interval, split_interval_right)
9723 (split_interval_left, interval_start_pos, find_interval)
9724 (next_interval, previous_interval, update_interval)
9725 (adjust_intervals_for_insertion, delete_node, delete_interval)
9726 (adjust_intervals_for_deletion, merge_interval_right)
9727 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9728 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9729 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9730 Likewise.
9731 * syntax.c (update_syntax_table): Likewise.
9732
9733 * intervals.c (reproduce_tree_obj): New function, like
9734 reproduce_tree but takes a Lisp_Object for the parent. Declare
9735 with prototype.
9736 (graft_intervals_into_buffer): Use it when appropriate.
9737 (reproduce_tree): Declare with prototype.
9738 (balance_possible_root_interval): Check that the parent is a lisp
9739 object before trying to examine its type.
9740
ee1c5b21
GM
97412000-03-22 Gerd Moellmann <gerd@gnu.org>
9742
9743 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9744 as strings only if both are known to be strings.
9745
9746 * s/openbsd.h (LIBS_TERMCAP): Undef.
9747
1fb352e0
SM
97482000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9749
9750 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9751 definitions for non-Emacs compilation.
9752 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9753 outside of `#ifdef emacs'.
9754 (print_partial_compiled_pattern): Update.
9755 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9756 (re_compile_fastmap): Merge handling of charset and charset_not (for
9757 emacs and non-emacs compilation as well).
9758 Similarly for (not)categoryspec and (not)syntaxspec.
9759 Don't use the fastmap when reaching `anychar' since the added
9760 complexity is not justified.
9761 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9762 and (not)syntaxspec. Merge (not)categoryspec.
9763
fdaa1f77
KH
97642000-03-22 Kenichi Handa <handa@etl.go.jp>
9765
52283633
SM
9766 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9767 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9768 --without-x.
fdaa1f77 9769
d152fb46
DL
97702000-03-21 Dave Love <fx@gnu.org>
9771
9772 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9773 doc string.
9774
d2cafc8c
GM
97752000-03-21 Gerd Moellmann <gerd@gnu.org>
9776
9777 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9778 (lface_fully_specified_p): Don't check contents of
9779 LFACE_FONT_INDEX because that attribute is optional.
9780 (realize_x_face): Remove now unwarranted xassert.
9781
9111d4b5
KH
97822000-03-21 Kenichi HANDA <handa@etl.go.jp>
9783
9784 The following changes are to make font selection based on
9785 characters, not charset. In addition, they recover fontset
9786 facilities while utilizing the new font selection mechanism.
9787
6c4bfdc0
KH
9788 * Makefile.in (fontset.o): Depend on dispextern.h.
9789
9790 * alloc.c (mark_face_cache): Don't mark face->registry.
9791
9111d4b5
KH
9792 * dispextern.h (struct glyph): New member glyph_not_available_p.
9793 Use 22 bits for face_id.
9794 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9795 (struct face): Delete member registry, new member ascii_face.
9796 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9797 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9798 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9799 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9800
9801 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9802 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9803 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9804 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9805 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9806 (fs_free_face_fontset, fontset_font_pattern)
9807 (face_suitable_for_char_p, face_for_char)
9808 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9809 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9810 (FS_LOAD_FACE_FONT): New macro.
9811
9812 * fontset.c: All codes rewritten or adjusted for the change of
9813 fontset implementation. Now fontset is represented by char table.
52283633
SM
9814 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9815 Variables removed.
9111d4b5 9816 (my_strcasecmp): Function removed.
52283633 9817 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9818 (AREF, ASIZE): New macros.
52283633
SM
9819 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9820 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9821 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9822 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9823 (fontset_id_valid_p, font_family_registry, fontset_name)
9824 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9825 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9826 New functions.
9827 (fs_load_font): New arg FACE. Caller changed.
9828 (fs_query_fontset): Argument changed. Caller changed.
9829 (Fquery_fontset): call fs_query_fontset.
9830 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9831 Functions removed.
52283633
SM
9832 (clear_fontset_elements, check_registry_encoding)
9833 (check_fontset_name): New functions.
9111d4b5
KH
9834 (syms_of_fontset): Set char-table-extra-slots property of fontset
9835 to 3. Staticpro and initialize Vfontset_table and
9836 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9837
9838 * frame.h (struct frame): Member `fontset_data' removed.
9839 (FRAME_FONTSET_DATA): Macro removed.
9840
9841 * frame.c (make_frame): Don't allocate f->fontset_data.
9842 (Fdelete_frame): Don't free f->fontset_data.
9843
6c4bfdc0
KH
9844 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9845
9111d4b5
KH
9846 * xdisp.c (charset_at_position): Function removed.
9847 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9848 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9849 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9850 Likewise.
9851 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9852 FACE_FOR_CHARSET.
52283633
SM
9853 (get_next_display_element, append_space)
9854 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9855
9856 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9857 Variables removed.
9858 (clear_font_table, frame_update_line_height, load_face_font):
9859 Adjusted for the change of fontset implementation.
9860 (load_face_fontset_font): Function removed.
9861 (pixel_point_size): New function.
9862 (font_list): Argument type changed. Caller changed.
9863 (LFACE_FONT): New macro.
9864 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9865 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9866 Lisp_Object. Determine the font name by actually loading a font
9867 by the specified pattern. Set LFACE_FONT (lface) to the specified
9868 pattern. Even if a font is not found, don't try alternatives.
9869 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9870 (set_font_frame_param): If `font' is specified in lface, use it.
9871 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9872 (lface_same_font_attributes_p): Likewise.
9873 (make_realized_face): Arguent changed. Caller changed. Set
9874 face->ascii_face to face itself.
9875 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9876 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9877 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9878 (free_realized_multibyte_face): New function.
9879 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9880 changed. Caller changed.
9881 (try_font_list): Argument type changed.
9882 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9883 (choose_face_font): Argument changed. Handle fontset properly.
9884 (choose_face_fontset_font): Function removed.
9885 (realize_default_face, realize_named_face): Don't remove the
9886 former face here.
9887 (realize_face): Argument changed. Caller changed. Remove face
52283633 9888 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9889 (realize_x_face): Argument changed. Caller changed. For a
9890 multibyte character, share fontset with base_face. For a single
52283633 9891 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9892 (realize_tty_face): Argument changed. Caller changed.
9893 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9894 (face_at_buffer_position): Don't check multibyte_p for returning
9895 DEFAULT_FACE_ID.
9896 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9897 FACE_SUITABLE_FOR_CHARSET_P.
9898 (syms_of_xfaces): Remove code for Qx_charset_registry and
9899 Vface_default_registry.
9900
6c4bfdc0
KH
9901 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9902 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9903 (x_per_char_metric): Don't try FONT->default_char. Even if
9904 pcm->width is zero, glyph bits may exist.
9905 (x_encode_char): Always initialize char2b->byte1.
9906 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9907 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9908 (x_append_glyph): Set glyph->glyph_not_available_p.
9909 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9910 it->charset. Handle the case that per char metric is not
9911 available. If it->multibyte_p is zero and it->c is a multibyte
9912 character, convert it to a unibyte character.
9913 (struct glyph_string): Delete member `charset'.
9914 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9915 the case that per char metric is not available correctly.
9916 (x_fill_glyph_string): Handle the case that the specific glyph is
9917 not available correctly.
9918 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9919 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9920 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9921 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9922 fontset. Don't call FS_LOAD_FONT.
9923
9924 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9925 (x_create_tip_frame): Likewise.
9926 (Fx_close_connection): Free full_name of font_info.
9927
9928 * fns.c (optimize_sub_char_table): New function.
9929 (Foptimize_char_table): New function.
9930 (syms_of_fns): Defsubr Soptimize_char_table.
9931
b33dd3b0
GM
99322000-03-20 Gerd Moellmann <gerd@gnu.org>
9933
9934 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9935 only if buffer is displayed in some window.
9936
9937 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9938 (try_window_reusing_current_matrix): Don't call scroll run
9939 function if run's current and desired position are the same;
9940 this prevents cursor flickering.
9941
4e8a9132
SM
99422000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9943
9944 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9945
9946 * regex.c (RE_STRING_CHAR): New macro.
9947 (GET_CHAR_AFER_2): Remove.
9948 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9949 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9950 (print_partial_compiled_pattern, re_compile_fastmap)
9951 (re_match_2_internal): Remove on_failure_jump_exclusive.
9952 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9953 optimization only need to work for * (ie. can use of_keep_string_jump).
9954 Remove the special case for .*\n since it is now covered by the general
9955 optimization.
9956 (re_search_2): Don't bother with `room'.
9957 (skip_one_char): New function.
9958 (skip_noops): Simplify since `memory' is not needed any more.
9959 (mutually_exclusive_p): Restructure slightly to use `switch' and
9960 add handling for "all" remaining cases.
9961 (re_match_2_internal): Change on_failure_jump_smart to use
9962 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9963 rather than on_failure_jump_exclusive.
9964
2136fdd4
GM
99652000-03-19 Gerd Moellmann <gerd@gnu.org>
9966
9967 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9968 number of bits per RGB because it's everywhere used as the depth
9969 of the visual.
9970
9971 * term.c (calculate_costs): Remove code dealing with X frames.
9972
18e21ce8 99732000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9974
9975 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9976
d7b511c4
GM
99772000-03-18 Gerd Moellmann <gerd@gnu.org>
9978
9979 * lread.c (read_integer): Unread the last char not consumed.
9980
16b5d424
GM
99812000-03-17 Gerd Moellmann <gerd@gnu.org>
9982
9983 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9984 which are in the process of being deleted.
16b5d424 9985
1fa28578
GM
99862000-03-16 Gerd Moellmann <gerd@gnu.org>
9987
83488cce
GM
9988 * Makefile.in (mostlyclean): Add `*.core'.
9989 (clean): Add `bootstrap-emacs'.
9990
1fa28578
GM
9991 * lread.c (read_integer): New function.
9992 (read1): Support read syntax #o, #x, #b, #r.
9993
99633e97
SM
99942000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9995
1fa28578
GM
9996 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9997 make sure POINTER_TO_OFFSET gives the same value before and after
9998 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9999 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
10000 (debug): Now only active if > 0 rather than if != 0.
10001 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
10002 (print_partial_compiled_pattern): Add missing `succeed' case. Use
10003 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
10004 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
10005 (store_op1, store_op2, insert_op1, insert_op2)
10006 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
10007 (group_in_compile_stack): Move to after its arg's types are
10008 declared and add a prototype.
99633e97 10009 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 10010 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 10011 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
10012 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
10013 indentation of the greedy-op and shy-group code.
99633e97
SM
10014 (at_(beg|end)line_loc_p): Fix argument's types.
10015 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
10016 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
10017 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
10018 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
10019 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
10020 QUIT unconditionally.
99633e97 10021
699238d9
GM
100222000-03-15 Gerd Moellmann <gerd@gnu.org>
10023
10024 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
10025 a sole completion.
10026
10027 * process.c (send_process): Add a hint that the function
10028 can call Lisp code to its comment.
10029
10030 * lread.c (load_dangerous_libraries): New variable.
10031 (Vbytecomp_version_regexp): New variable.
10032 (safe_to_load_p): New function.
10033 (Fload): Handle files not compiled with Emacs specially.
10034 (syms_of_lread): New Lisp variable load-dangerous-libraries.
10035
34e23e5a
GM
100362000-03-14 Gerd Moellmann <gerd@gnu.org>
10037
9c763cca
GM
10038 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
10039
10040 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
10041 support functions only if HAVE_X11R6_XIM is defined.
10042 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
10043
10044 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
10045
10046 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 10047 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
10048 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
10049
10050 * config.in (HAVE_X_I18N): Moved here from xterm.h.
10051 (HAVE_X11R6_XIM): Define.
10052
10053 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
10054
34e23e5a
GM
10055 * xterm.c (x_term_init): Add support for X resource `synchronous'.
10056 If set, call XSynchronize.
10057
66f0296e
SM
100582000-03-13 Stefan Monnier <monnier@cs.yale.edu>
10059
34e23e5a
GM
10060 * regex.c: Declare a new type `re_char' used throughout the code
10061 for the string char type. It's `const unsigned char' to match the
10062 rest of Emacs. Consistently make sure all pointers to strings use
52283633 10063 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 10064 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
10065 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
10066 code duplication.
66f0296e
SM
10067
10068 * charset.h (GET_CHAR_AFTER_2): Remove.
10069 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
10070
854a025c
KR
100712000-03-12 Ken Raeburn <raeburn@gnu.org>
10072
10073 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
10074 variable before the invocation of YMF_PASS_LDFLAGS, in case both
10075 of them try to use backquotes.
10076
b9d2c7e2
DL
100772000-03-12 Dave Love <fx@gnu.org>
10078
10079 * unexelf.c: Restore changes of 1999-10-19.
10080 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
10081 fix its type and alignment; copy it from current process.
10082
5e5dff44
GM
100832000-03-12 Gerd Moellmann <gerd@gnu.org>
10084
9b2f3c38
GM
10085 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
10086 has been found. Fix bug not computing timer's predecessor.
10087
427ec082 10088 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
10089 file name.
10090
e1cff360
GM
10091 * window.c (Fsave_window_excursion): Doc fix.
10092
52283633 10093 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 10094
e411ce4b
EZ
100952000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
10096
10097 * msdos.c (vga_installed): New function, code moved from
10098 dos_set_window_size.
10099 (Qbar, Qcursor_type, outside_cursor): New variables.
10100 (syms_of_msdos): Intern and staticpro them.
10101 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
10102 shape used outside Emacs when called for the first time.
10103 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
10104 cursor shape used outside Emacs.
10105 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
10106 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
10107 type has changed.
10108 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
10109 parameters specify the cursor. Make qreverse a global
10110 variable (renamed to Qreverse).
10111
80460654
GM
101122000-03-09 Gerd Moellmann <gerd@gnu.org>
10113
10114 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10115
95cd4c40
SM
101162000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10117
10118 This is a big redesign of failure-stack and register handling, prompted
10119 by bugs revealed when trying to add shy-groups. Overall, what happened
10120 is that loops are now structured a little differently, groups can be
10121 shy and the code is a little simpler.
10122
10123 * regex.h: Update the copyright.
10124 (RE_SHY_GROUPS): New value.
10125 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10126 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10127
80460654
GM
10128 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10129 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10130 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10131 for (start|stop)_memory since they now only take one argument (the
10132 second has becomes unnecessary).
52283633 10133 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10134 (print_compiled_pattern): Use %ld to printf long ints and flush to
10135 make debugging a little easier.
95cd4c40
SM
10136 (union fail_stack_elt): Make the integer unsigned.
10137 (struct fail_stack_type): Add a `frame' element.
10138 (INIT_FAIL_STACK): Init `frame' as well.
10139 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10140 (DEBUG_PUSH, DEBUG_POP): Remove.
10141 (NUM_REG_ITEMS): Remove.
10142 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10143 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10144 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10145 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10146 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10147 New macros.
80460654
GM
10148 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10149 address pushed is not the destination of the jump but the source
10150 of it instead.
95cd4c40
SM
10151 (NUM_FAILURE_ITEMS): Remove.
10152 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10153 registers before the actual failure point). Don't hardcode any
10154 meaning for str==NULL anymore.
95cd4c40 10155 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10156 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10157 Remove.
95cd4c40
SM
10158 (REG_UNSET_VALUE): Use NULL (why not?).
10159 (compile_range): Remove declaration since it doesn't exist.
10160 (struct compile_stack_elt_t): Remove inner_group_offset.
10161 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10162 (regex_grow_registers): Remove dead code.
10163 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10164 (regex_compile): Add shy-groups Change loops to use
10165 on_failure_jump_smart&jump instead of
10166 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10167 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10168 variable to me). Use `jump' instead of `jump_past_alt' and don't
10169 bother with push_dummy_failure in alternatives since it is now
10170 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10171 emacs' for (re)allocating the stack.
10172 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10173 from loop when bufp->can_be_null rather than jumping to `done'.
10174 Avoid jumping backwards so as to ensure termination. Use
10175 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10176 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10177 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10178 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10179 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10180 (lowest_active_reg, highest_active_reg)
10181 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10182 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10183 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10184 variables. Push register (in `start_memory') on the stack rather
10185 than storing it in old_reg(start|end). Remove the cycle detection
10186 from `stop_memory', replaced by the use of on_failure_jump_loop
10187 for greedy loops. Add code for the new on_failure_jump_<foo>.
10188 Remove ad-hoc code in `on_failure_jump' to push more registers in
10189 the case of a loop. Take out code from `maybe_pop_jump' into
10190 separate functions and adapt it to the semantics of
10191 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10192 and push_dummy_failure. Remove dummy_failure handling and
10193 handling of `failures to jump to on_failure_jump' (this last one
10194 was already dead code, it seems).
10195 (group_match_null_string_p, alt_match_null_string_p)
10196 (common_op_match_null_string_p): Remove.
95cd4c40 10197
7397acc4
DL
101982000-03-08 Dave Love <fx@gnu.org>
10199
10200 * config.in: Don't depend on __STDC__ for volatile.
10201 Add POINTER_TYPE, PTR, PROTOTYPES.
10202
10203 * hftctl.c, strftime.c: Use PROTOTYPES.
10204 * eval.c (find_handler_clause): Likewise.
10205
10206 * mem-limits.h: Use POINTER_TYPE.
10207
10208 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10209 (memory_warnings): Declare using POINTER_TYPE.
10210
5e91ff9e
GM
102112000-03-08 Gerd Moellmann <gerd@gnu.org>
10212
feab4fba
GM
10213 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10214
52283633 10215 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10216
5e91ff9e
GM
10217 * xfns.c: Remove obsolete code in #if 0.
10218 (Fx_focus_frame): New function.
10219
a735b7e1
KH
102202000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10221
10222 * coding.c (coding_category_name): Add coding-category-utf-8,
10223 coding-category-utf-16-be, coding-category-utf-16-le.
10224 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10225 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10226 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10227 (detect_coding_utf_8): New function.
10228 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10229 UTF_16_LOW_SURROGATE_P): New macros.
10230 (detect_coding_utf_16): New function
10231 (detect_coding_mask): When priorities are specified, skip any
10232 categories that have `nil' coding-system. Fix bug of returning
10233 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10234 returns a mask not set in PRIORITIES.
10235 (detect_eol_type_in_2_octet_form): New function.
10236 (detect_eol): selects detect_eol_type_XXX to call according to
10237 cooding->category_idx.
10238 (detect_coding_system): Remove `nil' coding-system in the result.
10239 (Fupdate_coding_systems_internal): Update all coding-categories.
10240
52283633
SM
10241 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10242 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10243 New macros.
10244 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10245 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10246 (CODING_CATEGORY_IDX_UTF_16_LE)
10247 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10248 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10249 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10250 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10251
9994cc69
GM
102522000-03-07 Gerd Moellmann <gerd@gnu.org>
10253
e9b4e5ff
GM
10254 * doc.c (Fdocumentation_property): If value is not a string,
10255 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10256
f7daf1e1
GM
10257 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10258 close the display with XtCloseDisplay. This caused a bus error
10259 on OpenWindows.
10260
9994cc69
GM
10261 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10262 complete but not unique.
10263
4336c705
GM
102642000-03-06 Gerd Moellmann <gerd@gnu.org>
10265
18bb0684
GM
10266 * process.c (send_process): Remove local variable `procname' that
10267 might become invalid when a GC happens. Instead, access the
10268 process name slot directly.
10269
4336c705
GM
10270 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10271 orig_height if set.
10272
10273 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10274 orig_height if set.
10275
515d0d0e
EZ
102762000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10277
10278 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10279 glyph matrices have been freed.
10280
100b3cbb
GM
102812000-03-05 Gerd Moellmann <gerd@gnu.org>
10282
50df5e5a 10283 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10284 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10285
10286 * xfns.c (QCdata): Moved to xdisp.c.
10287
10288 * xdisp.c (QCdata): Moved here from xfns.c.
10289 (syms_of_xdisp): Initialize QCdata.
10290
10291 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10292
10293 * window.c (coordinates_in_window): Use
10294 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10295 FRAME_INTERNAL_BORDER_WIDTH.
10296
100b3cbb 10297 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10298 it is obviously invalid.
100b3cbb
GM
10299
10300 * xterm.c (x_term_init): Create a colormap if not using the
10301 default visual.
10302
10303 * xterm.h (select_visual): Change prototype.
10304
10305 * xfns.c (select_visual): Rewritten. Recognize user-specified
10306 visual classes.
10307 (visual_classes): New variable.
10308
64d739c4
GM
103092000-03-04 Gerd Moellmann <gerd@gnu.org>
10310
10311 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10312 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10313 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10314 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10315 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10316 XtNcolormap resources.
10317 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10318 (Fx_create_frame): Initialize color members of x_output structure.
10319 (xpm_load): Pass colormap to XPM lib.
10320
10321 * xfaces.c (x_free_colors): Access colormap of frame using
10322 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10323 when default colormap is used.
10324
10325 * xterm.c (x_term_init): Set Colormap member of x_display_info
10326 structure. Copy colormap if resource `privateColormap' is
10327 specified (PseudoColor only).
10328 (x_setup_relief_color): Access colormap of frame using
10329 FRAME_X_COLORMAP.
10330
10331 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10332 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10333
c3cee013
JR
103342000-03-04 Jason Rumney <jasonr@gnu.org>
10335
10336 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10337 other non-platform-specific equivalents.
64d739c4 10338 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10339 specific functions and macros as their w32 equivalents where
10340 non-platform-specifics are not available.
10341 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10342 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10343 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10344 (frame_update_line_height): Use macros to access f->output_data.
10345 (defined_color): Remove FIXME comments; fixed.
10346 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10347 into #ifdef blocks. Add WINDOWSNT blocks.
10348 (Fx_list_fonts): Use macros for accessing font data.
10349 (set_lface_from_font_name): Different default fonts for X and
10350 WINDOWSNT.
10351 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10352 scalable for backward compatibility.
64d739c4 10353 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10354 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10355
64d739c4 10356 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10357 syms_of_w32faces.
10358
10359 * makefile.nt (w32faces.obj): Remove.
10360 (xfaces.obj): Add.
10361
807cc41c
JR
103622000-03-03 Jason Rumney <jasonr@gnu.org>
10363
10364 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10365 correct parameters.
10366
0007072a
KR
103672000-03-03 Ken Raeburn <raeburn@gnu.org>
10368
10369 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10370 standard ELF definitions here if the system header does not.
10371
71a6ba55
GM
103722000-03-03 Gerd Moellmann <gerd@gnu.org>
10373
10374 * xterm.c (PER_CHAR_METRIC): Removed.
10375 (x_per_char_metric_1, x_default_char): New functions.
10376 (x_per_char_metric): If font's default char is invalid, return
10377 metrics of a suitably chosen usable default char.
10378 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10379 char, replace occurrences of unprintable chars with a suitably
10380 chosen usable default char.
71a6ba55 10381
900fa1f1
GM
103822000-03-02 Gerd Moellmann <gerd@gnu.org>
10383
42f55fe0
GM
10384 * xterm.c (note_mouse_highlight): Return quickly if frame's
10385 glyph matrices have been freed.
10386
10387 * dispnew.c (free_glyphs): Block input while freeing matrices.
10388
900fa1f1
GM
10389 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10390
52283633
SM
10391 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10392 Use x_free_colors.
900fa1f1
GM
10393
10394 * dispextern.h (x_free_colors): Add prototype.
10395
10396 * xfaces.c (x_free_colors): New function.
10397 (unload_color, free_face_colors): Use it.
10398
2f950292
EZ
103992000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10400
10401 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10402
10403 * window.c [MSDOS]: Include msdos.h.
10404
54d04320
DL
104052000-03-02 Dave Love <fx@gnu.org>
10406
10407 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10408
10409 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10410 set C_OPTIMIZE_SWITCH for gcc.
10411
0ba93ac4
KH
104122000-03-02 Kenichi Handa <handa@etl.go.jp>
10413
10414 * coding.c (coding_save_composition): Be sure to allocate
10415 composition data area in coding even if there's no composition in
10416 the current run.
10417
a2bc11d4
JR
104182000-03-01 Jason Rumney <jasonr@gnu.org>
10419
10420 * w32term.c: Equivalent changes to those made to xterm.c on
10421 2000-02-25 and 2000-02-24.
10422
10423 * w32fns.c: Equivalent changes to those made to xfns.c on
10424 2000-02-25 and 2000-02-21.
10425
10426 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10427 correct line-end convention is followed.
10428
10429 * w32menu.c [HAVE_BOXES]: Remove #undef.
10430 (single_keymap_panes): Remove code for simulating checkmarks.
10431 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10432 Remove code for drawing simulated checkmarks.
10433 (w32_menu_show): make unibyte help string correctly.
10434 (add_menu_item): draw standard Windows checkmarks. Draw radio
10435 buttons as radio buttons if possible.
10436
72d19d75
GM
104372000-03-01 Gerd Moellmann <gerd@gnu.org>
10438
2df636f4
GM
10439 * sysdep.c (start_of_text): Don't define this function for NetBSD
10440 with ELF.
10441
427ec082 10442 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10443 Don't define.
10444 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10445 (LINKER): Don't undef if __NetBSD__ is defined.
10446
10447 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10448
10449 * fileio.c [__NetBSD__]: Define `unix'.
10450
72d19d75
GM
10451 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10452
ed4d0512
GM
104532000-02-29 Gerd Moellmann <gerd@gnu.org>
10454
50b1039f
GM
10455 * atimer.c (start_atimer): Don't abort when timers are stopped.
10456 (append_atimer_lists): New function.
10457 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10458 arbitrary lists of stopped and running atimers.
10459
ed4d0512
GM
10460 * atimer.c (cancel_atimer): Handle canceling an atimer when
10461 some timers are stopped.
10462
10463 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10464 after canceling it.
10465
10466 * fns.c (maybe_resize_hash_table): Handle case of new size
10467 coming out as being the same as old size.
10468
387023ee
JR
104692000-02-27 Jason Rumney <jasonr@gnu.org>
10470
10471 * makefile.nt: Add atimer.h to dependencies.
10472 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10473 * w32console.c: Only disable window system features for dispextern.h
10474 (initialize_w32_display): Build a display info for the console.
10475 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10476 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10477 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10478 as 2 button mice.
10479 * w32gui.h (struct W32FontStruct): Revert last change after change
10480 to xdisp.c.
10481 * w32menu.c (single_submenu): Set up help string.
10482 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10483 (w32_dialog_show): Set up help string.
10484 * w32term.c (w32_display_info_for_display): Remove unused function.
10485 (w32_draw_bitmap): Use pre-built bitmaps.
10486 (w32_initialize_display_info): New function to initialize parts of
10487 display info that are common to both GUI and console frames.
10488 (w32_term_init): Use w32_initialize_display_info. Do not set
10489 Vw32_num_mouse_buttons here, as it is not called for console
10490 frames. Build bitmaps for indicating truncated lines etc.
10491 (x_delete_display): Destroy pre-built bitmaps.
10492 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10493 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10494
4516715a
DL
104952000-02-27 Dave Love <fx@gnu.org>
10496
10497 * lisp.h: Add a bunch of prototypes.
10498
171ca836
KH
104992000-02-26 Kenichi Handa <handa@etl.go.jp>
10500
10501 * keyboard.c (read_char): Set `usec' correctly.
10502
4013921d
KH
105032000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10504
10505 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10506 `lambda', set reg[RRR] to the map index.
10507 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10508 reg[RRR] to 0. Otherwise, set it to -1.
10509
9244a058
GM
105102000-02-25 Gerd Moellmann <gerd@gnu.org>
10511
2df636f4 10512 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10513
18e21ce8 105142000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10515
f43d79c1
GM
10516 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10517 and contains a `:', prepend `/:'.
10518
10519 * window.c (select_window_1): If selected_window is nil,
10520 don't "swap out" the buffer's point.
10521 (Fset_window_configuration): Set selected_window to nil
10522 before calling Fselect_window.
10523 (unshow_buffer): Don't set point in buffer from window's point
10524 if another more recently selected window also shows the buffer.
10525
bed0c171
GM
105262000-02-25 Gerd Moellmann <gerd@gnu.org>
10527
449c3c52
GM
10528 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10529
f5b58615
GM
10530 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10531 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10532 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10533 New variables.
f5b58615
GM
10534 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10535 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10536 (hide_busy_cursor): New functions.
10537 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10538
10539 * minibuf.c (read_minibuf): Cancel busy-cursor.
10540
10541 * keyboard.c (command_loop_1): Call start_busy_cursor before
10542 Fcommand_execute and cancel_busy_cursor after it.
10543 (timer_check): Remove busy-cursor code.
10544 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10545 cursor timer.
10546
10547 * process.c (wait_reading_process_input): Remove busy-cursor code.
10548
10549 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10550 Fx_hide_busy_cursor.
10551
10552 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10553 Remove prototyoes.
10554 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10555
10556 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10557
10558 * xterm.c (XTread_socket): Remove busy-cursor code.
10559
4eb8436f
GM
10560 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10561 (build_frame_matrix_from_leaf_window): Put code handling
10562 glyph row's not being a slice of a frame row in #if 0.
10563 (sync_window_with_frame_matrix_rows): New function.
10564 (frame_row_to_window): New function.
10565 (mirror_line_dance): Handle copies between windows.
10566
3cb65b0e
GM
10567 * lread.c (Fload): Use `xfree' instead of `free'.
10568 (init_obarray): Use `xmalloc' instead of `malloc'.
10569
bed0c171
GM
10570 * window.c (Fset_window_buffer): Set WINDOW to the window
10571 after decoding.
2add4349
GM
10572 (coordinates_in_window): Take frame's internal border width
10573 into account.
bed0c171 10574
42088c12
GM
105752000-02-24 Gerd Moellmann <gerd@gnu.org>
10576
10577 * xterm.c (x_display_and_set_cursor): Display cursor of
10578 non-selected windows depending on the setting of
10579 cursor_in_non_selected_windows.
10580
10581 * xdisp.c (cursor_in_non_selected_windows): New variable.
10582 (syms_of_xdisp): DEFVAR_BOOL it.
10583
d1e103b2
GM
105842000-02-23 Gerd Moellmann <gerd@gnu.org>
10585
723e779c
GM
10586 * data.c (Fstring_to_number): If number is greater than what
10587 fits into an integer, return a float.
10588
d1e103b2
GM
10589 * eval.c (specbind): Remove references to
10590 keyword_symbols_constant_flag.
10591
10592 * data.c (keyword_symbols_constant_flag): Removed.
10593 (Fmakunbound, set_internal, syms_of_data): Remove references to
10594 keyword_symbols_constant_flag.
10595
10596 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10597
214f877f
KH
105982000-02-23 Kenichi Handa <handa@etl.go.jp>
10599
10600 * syntax.c (multibyte_syntax_as_symbol): New variable.
10601 (syms_of_syntax): Declare it as a Lisp variable.
10602 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10603 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10604 nonzero, treat all multibyte characters as symbol.
52283633 10605 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10606
130adcb7
EZ
106072000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10608
3cb65b0e 10609 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10610 a deleted frame.
130adcb7 10611
17cbbf95
GM
106122000-02-21 Gerd Moellmann <gerd@gnu.org>
10613
10614 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10615
10616 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10617 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10618
beb0bc36
DL
106192000-02-21 Dave Love <fx@gnu.org>
10620
10621 * frame.c (Vmouse_position_function): New variable.
10622 (Fmouse_position): Use it.
10623 (syms_of_frame): Install it.
10624
10625 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10626
1d92afcd
GM
106272000-02-20 Gerd Moellmann <gerd@gnu.org>
10628
10629 * fileio.c (Finsert_file_contents): Unbind the binding of
10630 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10631
10632 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10633 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10634 (specbind, unbind_to): Handle most common case of non-constant
10635 symbol with trivial value specially.
10636
10637 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10638
18e21ce8 106392000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10640
10641 * data.c (Fmake_variable_buffer_local): Doc fix.
10642 Init found_for_buffer to 0.
10643 (Fmake_variable_frame_local): If the variable has already
10644 been buffer-local, set the check_frame field.
10645
1d4311c3
EZ
106462000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10647
10648 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10649 produced for CODING_MODE_LAST_BLOCK requires.
10650
2dc95ddd
DL
106512000-02-18 Dave Love <fx@gnu.org>
10652
10653 * keyboard.c (echo_keystrokes): Remove declaration.
10654 (Vecho_keystrokes) New variable.
10655 (read_char, record_menu_key, read_key_sequence): Use it to allow
10656 use of float value.
10657 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10658
10659 * lread.c: Undef feature selection macros before defining.
10660
f0930f35
GM
106612000-02-18 Gerd Moellmann <gerd@gnu.org>
10662
10663 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10664 for symbols other than the symbol in question.
10665
e3d4de90
DL
106662000-02-17 Dave Love <fx@gnu.org>
10667
10668 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10669
0b378936
GM
106702000-02-17 Gerd Moellmann <gerd@gnu.org>
10671
d621caf7
GM
10672 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10673
0b378936
GM
10674 * alloc.c (enum mem_type): Compile unconditionally.
10675
3b451f74
EZ
106762000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10677
10678 * xfaces.c (tty_defined_color): Don't return faulire indication
10679 for unspecified-fg and unspecified-bg pseudo-colors.
10680
10689a01
GM
106812000-02-17 Gerd Moellmann <gerd@gnu.org>
10682
1216f5e4
GM
10683 * alloc.c (mark_object): Don't mark symbol names in pure space.
10684 (gc_sweep): Don't unmark symbol names in pure space.
10685
10686 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10687 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10688 [GC_MARK_STACK]: New defines.
427ec082 10689 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10690 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10691
10692 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10693
10694 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10695 allocate_buffer instead of xmalloc.
10696
10697 * alloc.c (toplevel): Include setjmp.h.
10698 (PURE_POINTER_P): New define.
10699 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10700 (Vdead) [GC_MARK_STACK]: New variable.
10701 (lisp_malloc): Add parameter TYPE, call mem_insert if
10702 GC_MARK_STACK is defined.
10703 (allocate_buffer): New function.
427ec082 10704 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10705 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10706 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10707 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10708 (MEM_NIL) [GC_MARK_STACK]: New define.
10709 (struct mem_node) [GC_MARK_STACK]: New structure.
10710 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10711 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10712 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10713 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10714 (mark_stack) [GC_MARK_STACK]: New functions.
10715 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10716 (clear_marks): Removed.
10717 (gc_sweep): Set free conses' car, free floats' type, free
10718 symbols' function to Vdead. Use lisp_free to free buffers.
10719 (init_alloc_once): Initialize Vdead.
10720 (survives_gc_p): Return non-zero for pure objects.
10721
10722 * alloc.c: Add comments throughout the file.
10723
2503c8b1
GM
10724 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10725 that unblocks alarms.
10726
8389e1e2
GM
10727 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10728 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10729 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10730
10689a01 10731 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10732
bfc17d18
KH
107332000-02-17 Kenichi Handa <handa@etl.go.jp>
10734
4a09dee0
KH
10735 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10736 avoid infinite error signaling. Allocate sufficient memory for
10737 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10738
2b927d02
SM
107392000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10740
10741 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10742 depends on the previous behavior.
10743
b49cb764
GM
107442000-02-16 Gerd Moellmann <gerd@gnu.org>
10745
10746 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10747
99e95407
GM
107482000-02-15 Gerd Moellmann <gerd@gnu.org>
10749
10750 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10751
10752 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10753 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10754 write(2).
10755
6ffd3cf7
RS
107562000-02-15 Richard M. Stallman <rms@gnu.org>
10757
10758 * data.c (set_internal): Don't make variable buffer-local
10759 if within a let-binding for the same buffer.
10760 (let_shadows_buffer_binding_p): New function.
10761
10762 * eval.c (specbind): For buffer-local value,
10763 record the current buffer also.
10764 (unbind_to): Cope with that change.
10765
cad53475
GM
107662000-02-15 Gerd Moellmann <gerd@gnu.org>
10767
10768 * window.c (Fsave_window_excursion): Doc fix.
10769
1aa963c8
SM
107702000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10771
10772 * syntax.c (back_comment): Make sure we only consider comment-starters
10773 of the relevant style and return -1 in case of a failure to find the
10774 beginning of the comment.
10775 (Fforward_comment): If back_comment fails, go back to the position just
10776 after the comment-end.
10777 (scan_lists): Add comment describing a very minor bug.
10778
b9b84fd3
SM
107792000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10780
10781 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10782 `completion-regexp-list' in the docstring.
10783
3a28db80
DL
107842000-02-14 Dave Love <fx@gnu.org>
10785
10786 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10787
fb4a568d
SM
107882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10789
10790 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10791 to Emacs' syntax. Also fix the comment about set/not-set meanings
10792 since Emacs syntax is not the value 0 any more.
10793 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10794 since it's now part of RE_SYNTAX_EMACS.
10795
1063ebb5
DL
107962000-02-12 Dave Love <fx@gnu.org>
10797
52283633 10798 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10799
fb07a302
GM
108002000-02-12 Gerd Moellmann <gerd@gnu.org>
10801
10802 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10803
aaf2320c
DL
108042000-02-12 Dave Love <fx@gnu.org>
10805
10806 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10807
10808 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10809 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10810 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10811
10812 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10813
10814 * s/nextstep.h: Don't define HAVE_ALLOCA.
10815
10816 * config.in: Add vfork bits.
10817
eedf8bde
GM
108182000-02-12 Gerd Moellmann <gerd@gnu.org>
10819
10820 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10821 unwind function to undo the effect of stopping atimers.
10822
52283633 10823 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10824
10825 * atimer.c (stopped_atimers): New variable.
10826 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10827 New functions.
10828
10829 * atimer.h (stop_other_atimers, run_all_atimers)
10830 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10831
eedf8bde
GM
10832 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10833
8476c2f8
KR
108342000-02-11 Ken Raeburn <raeburn@gnu.org>
10835
10836 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10837 library may depend on jpeg.
10838 (atimer.o): Depends on atimer.c.
10839
0e85e4a3
KH
108402000-02-11 Kenichi Handa <handa@etl.go.jp>
10841
10842 * insdel.c (del_range_1): Call update_compositions.
10843 (del_range_both): Call update_compositions just once..
10844
97fa0cc8
DL
108452000-02-10 Dave Love <fx@gnu.org>
10846
10847 * xfns.c (create_frame_xic): Fix initialization of automatic
10848 aggregates for pcc.
10849
25566a3c
KH
108502000-02-09 Kenichi Handa <handa@etl.go.jp>
10851
10852 * ccl.c (CCL_MAKE_CHAR): New macro.
10853 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10854 registers by CCL_MAKE_CHAR before calling translate_char.
10855 <CCL_TranslateCharacterConstTbl> Likewise.
10856
69da54ba
DL
108572000-02-08 Dave Love <fx@gnu.org>
10858
10859 * lread.c (__EXTENSIONS__): Define.
10860
f7136ee8
GM
108612000-02-08 Gerd Moellmann <gerd@gnu.org>
10862
10863 * puresize.h (BASE_PURESIZE): Increase to 650000.
10864
7768790b
EZ
108652000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10866
10867 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10868 the help message.
10869
38fd211b
EZ
108702000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10871
10872 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10873 md, mh, mb, mr, and me to the fake termcap entry.
10874
66e4690f
KR
108752000-02-06 Ken Raeburn <raeburn@gnu.org>
10876
10877 * sound.c (sound_cleanup): Don't call device close routine if the
10878 function pointer is null.
10879
a75dfea0
AI
108802000-02-06 Andrew Innes <andrewi@gnu.org>
10881
10882 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10883 around image definitions and prototypes.
10884 (gamma_correct) [WINDOWSNT]: New prototype.
10885
10886 * w32term.c (x_make_frame_visible): Replace call to
10887 input_poll_signal with poll_for_input.
10888
10889 * window.c [WINDOWSNT]: Include w32term.h.
10890
10891 * xdisp.c [WINDOWSNT]: Include w32term.h.
10892
10893 * makefile.nt: Add dependencies on w32gui.h.
10894 (OBJ1): Include atimer.obj.
10895 ($(BLD)\atimer.obj): New dependency rule.
10896
10897 * w32.c (sigmask): New function (does nothing).
10898 (sigunblock): Ditto.
10899
10900 * frame.c [WINDOWSNT]: Include w32term.h.
10901
10902 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10903
10904 * lread.c (syms_of_lread): Fix literal newlines.
10905
10906 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10907 the string constant limit (2048 bytes) in MSVC.
10908 (main): Ditto.
10909
59ddecde
GM
109102000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10911
52283633 10912 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10913 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10914 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10915 dispatch the event.
10916
07590973
DL
109172000-02-04 Dave Love <fx@gnu.org>
10918
10919 * fileio.c: Remove some unused vars.
10920 (_GNU_SOURCE): Define (for euidaccess).
10921
10922 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10923
10924 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10925 gcpro1, gcpro2.
10926 (read_minibuf): Deal with allow_props correctly.
10927
649351f9
EZ
109282000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10929
10930 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10931
66e4690f 109322000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10933
10934 * search.c (compile_pattern): If a cache entry has a nil regexp,
10935 fill in that entry instead of clobbering a previously cached
10936 string regexp.
10937
66e4690f 109382000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10939
10940 * puresize.h (BASE_PURESIZE): Increase to 610000.
10941
d240a249
GM
109422000-02-02 Gerd Moellmann <gerd@gnu.org>
10943
10944 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10945 can GC.
10946
ca91fb26
KH
109472000-02-02 Kenichi Handa <handa@etl.go.jp>
10948
25660570
KH
10949 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10950 instead of incrementing ic directly.
10951 <CCL_WriteExprConst> Likewise.
10952 <ccl_set_expr>: Set ic to jump_address.
10953
ca91fb26
KH
10954 * fileio.c (e_write): Fix the handling of
10955 CODING_FINISH_INSUFFICIENT_SRC.
10956
2ede9689
DL
109572000-02-01 Dave Love <fx@gnu.org>
10958
10959 * editfns.c (Fpropertize): Doc fix.
10960
10961 * process.c (Fstart_process): Doc fix.
10962
10963 * eval.c: Fix various doc strings not to duplicate information
10964 from help-manyarg-func-alist.
10965
52283633 10966 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10967
10968 * doc.c (Vhelp_manyarg_func_alist): New variable.
10969 (Fdocumentation): Use it.
10970 (syms_of_doc): Define it.
10971
b6680a0e
GM
109722000-01-31 Gerd Moellmann <gerd@gnu.org>
10973
2cb750ba
GM
10974 * xterm.c (xim_open_dpy): Remove unused local variable.
10975
52283633 10976 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10977
10978 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10979 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10980
b6680a0e
GM
10981 * fns.c (sweep_weak_table): New function.
10982 (sweep_weak_hash_tables): Use it. Keep on marking until there
10983 is no more change.
10984
994c5afe
GM
109852000-01-30 Gerd Moellmann <gerd@gnu.org>
10986
10987 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10988 that XTread_socket does not crash by trying to call XNoOp on a
10989 closed display.
427ec082 10990
f00276e3
JR
109912000-01-30 Jason Rumney <jasonr@gnu.org>
10992
10993 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10994 Change selected_frame to SELECTED_FRAME ().
10995 (w32_console_mouse_position): Remove #ifndef MULE from around
10996 `insist' parameter.
10997
10998 * makefile.nt: Remove dosfns.obj.
10999
11000 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
11001
11002 * w32fns.c (w32_defined_color): Check for valid frame before
11003 applying gamma correction. Eliminate dependency on frame elsewhere.
11004 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
11005 (w32_to_x_font): Use resx and resy not height_in and width_in.
11006 (x_to_w32_font): Doc fix.
11007 (xlfd_strip_height): New function to strip and return font height.
11008 (w32_font_match): Compare height separately from rest of xlfd
11009 spec, using xlfd_strip_height.
11010
11011 * w32term.c (w32_term_init): Swap resx and height_in, resy and
11012 width_in. Use w32_defined_color in place of defined_color.
11013
11014 * w32faces.c: Merge more of DOS and X specifics in preparation for
11015 merge with xfaces.c.
11016 (defined_color): Remove FIXME comment.
11017 (tty_color_name): Provide w32-specific function.
11018 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
11019
11020 * w32console.c (turn_on_face, turn_off_face): Removed.
11021 (w32_face_attributes): New function.
11022 (Global_variables): Reduce scope where possible.
11023 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
11024 fill attribute.
11025 (hl_mode): Don't modify text attributes.
11026 (write_glyphs): Don't do anything if len <= 0. Use
11027 w32_face_attributes to get attributes for drawing. Write
11028 terminating codes using char_attr_normal.
11029 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
11030 (update_begin, update_end): Likewise.
11031 (vga_stdcolor_name): New function.
11032 (initialize_w32_display): Remove char_attr_reverse and char_attr.
11033 (Fset_screen_color): Remove char_attr_reverse.
11034
b08e8bb2
GM
110352000-01-29 Gerd Moellmann <gerd@gnu.org>
11036
11037 * xfns.c (xic_set_preeditarea): Take window parameter and
11038 window-relative pixel-positions.
11039
11040 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
11041 is its frame's selected window.
11042 (xim_instantiate_callback): Likewise.
11043
11044 * xfns.c (x_create_im): Removed.
11045 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
11046 (supported_xim_styles): Renamed from supported_styles.
11047 (best_xim_style): Renamed from best_style.
11048 (create_frame_xic): Renamed from xic_create_frame.
11049 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 11050
b08e8bb2
GM
110512000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
11052
11053 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
11054 our frames, call XFilterEvent with 2nd parameter `None'.
11055 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
11056 returning XBufferOverflow.
52283633 11057 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
11058 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
11059 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
11060 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
11061 (xim_initialize, xim_close)
11062 [HAVE_X_I18N && HAVE_X11R6]: New functions.
11063 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
11064 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
11065 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
11066
11067 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
11068 and `xim_styles'.
11069 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
11070 `xic_style' and `xic_xfs'.
11071 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
11072 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
11073 (FRAME_XIM): Removed.
11074
11075 * xfns.c (supported_styles): New variable.
11076 (DEFAULT_STYLE, DEFAULT_FONT): New macros
11077 (xic_create_xfontset, best_style, xic_create_frame)
11078 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
11079 (xic_set_xfontset): New functions.
11080
142e109c
DL
110812000-01-28 Dave Love <fx@gnu.org>
11082
11083 * s/irix6-5.h: Revert last change after change to irix5-0.h.
11084
11085 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
11086
b02786f9
GM
110872000-01-28 Gerd Moellmann <gerd@gnu.org>
11088
d060bc9f
GM
11089 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
11090 for *scratch* if it already existed.
11091
b02786f9
GM
11092 * emacs.c (USAGE): New macro.
11093 (main): Use it to display usage information.
11094
2c52d7e4
EZ
110952000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11096
11097 Support for the menu-help feature:
11098
52283633 11099 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
11100
11101 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
11102 part of the line to the termscript file.
11103 (IT_clear_to_end): Clear the entire line, not just its beginning.
11104 (menu_help_message, prev_menu_help_message): New variables.
11105 (IT_menu_make_room): Make room for the help_text member.
11106 (IT_menu_display): New argument disp_help; all callers changed.
11107 If disp_help is non-zero, store the help text of the active menu
11108 item in menu_help_message.
11109 (XMenuAddPane): Initialize the help_text member to NULL.
11110 (XMenuAddSelection): New argument help_text. Store it in the
11111 XMenu structure.
11112 (XMenuActivate): New argument help_callback. If the value of
11113 menu_help_message has changed since the last time, display the
11114 menu help message text while waiting for the mouse to move. Clear
11115 the echo area before exiting.
11116 (XMenuDestroy): Free the help_text member.
11117
ffe0bcd1
GM
111182000-01-27 Gerd Moellmann <gerd@gnu.org>
11119
11120 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11121 XMenuAddSelection. Pass help callback to XMenuActivate.
11122 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11123
50dbd23f
EZ
111242000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11125
11126 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11127 and EMACS_SET_USECS.
11128
f5941bf8
GM
111292000-01-26 Dave Love <fx@gnu.org>
11130
6c67ddee
DL
11131 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11132
f5941bf8
GM
11133 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11134 an error may be signalled.
11135
9e49c990
GM
111362000-01-26 Gerd Moellmann <gerd@gnu.org>
11137
fc3cb460
GM
11138 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11139 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11140
9e49c990
GM
11141 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11142
d0c037d8
GM
111432000-01-25 Gerd Moellmann <gerd@gnu.org>
11144
11145 * charset.c (Fstring): If there is a multibyte char among
11146 the args, always return a multibyte string.
11147
e12489f9
GM
111482000-01-25 Gerd Moellmann <gerd@gnu.org>
11149
11150 * sysdep.c (sys_select): Turn atimers off and on instead of
11151 recording and restoring old alarm handler
11152
11153 * process.c (toplevel): Include atimer.h.
11154 (create_process_1): Rewritten.
11155 (create_process): Use atimers instead of alarm.
11156 (wait_reading_process_input) [hpux]: Turn atimers off instead
11157 of turning off SIGALRM.
11158 (wait_reading_process_input): Turn off atimers instead off
11159 calling stop_polling.
11160
11161 * emacs.c (main): Call init_atimer.
11162
11163 * keyboard.c (toplevel): Include systime.h and atimer.h.
11164 (polling_for_input): Removed because unused.
11165 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11166 (poll_timer): New variable.
11167 (poll_for_input, poll_for_input_1): New functions.
11168 (start_polling, stop_polling): Rewritten.
11169
11170 * keyboard.h (polling_for_input): Removed.
427ec082 11171
e12489f9
GM
11172 * atimer.h, atimer.c: New files.
11173
11174 * Makefile.in (obj): Add atimer.o.
11175 (atimer.o): New target.
11176
11177 * blockinput.h (pending_atimers): Add extern declaration.
11178 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11179
11180 * lisp.h (popup_activated_flag): Add extern declaration.
11181
11182 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11183 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11184 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11185
11186 * xterm.c (toplevel): Include atimer.h.
11187 (toolkit_scroll_bar_interaction): New variable.
11188 (Fxt_process_timeouts): Removed.
11189 (x_process_timeouts): New function.
11190 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11191 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11192 (x_make_frame_visible): Call poll_for_input_1 instead of
11193 input_poll_signal. Don't call alarm.
11194 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11195
1e5279b9
DL
111962000-01-24 Dave Love <fx@gnu.org>
11197
6c67ddee 11198 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11199 Don't use -cckr -- apparently not now necessary.
11200
edf6aeb8
EZ
112012000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11202
11203 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11204 screen boundary.
11205
9badad41
JR
112062000-01-23 Jason Rumney <jasonr@gnu.org>
11207
11208 * w32fns.c (w32_defined_color): Apply gamma correction before
11209 trying to map to the palette.
11210 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11211 to w32_clear_rect.
11212
11213 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11214 here. Callers changed to always pass real device context.
11215 (w32_draw_bitmap): Likewise.
11216 (w32_get_glyph_overhangs): Likewise.
52283633 11217 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11218 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11219 pfnSetScrollInfo and SetScrollRange.
11220 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11221 back into MULE characters after decoding them.
11222 (x_get_glyph_face_and_encoding): Likewise.
11223 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11224 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11225 (x_produce_glyphs): Calculate per char metrics for a character
11226 that we know exists in default font when font_not_found_p is true.
11227
63bd786b
JR
112282000-01-22 Jason Rumney <jasonr@gnu.org>
11229
11230 * makefile.nt (intervals.obj, composite.obj): New modules.
11231 (composite.h): Added as dependency where appropriate.
11232
11233 * w32gui.h (XGCValue): New struct for emulating X GCs.
11234
11235 * w32term.h (XCharStruct): New struct for emulating X.
11236
11237 * w32console.c (turn_on_face, turn_off_face): New functions.
11238 (change_line_highlight): New prototype for new redisplay.
11239 (write_glyphs): Support multibyte text. Support faces.
11240
52283633 11241 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11242
11243 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11244 throughout. struct frame * in place of FRAME_PTR.
11245 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11246 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11247 (w32_get_arg): Renamed from x_get_arg.
11248 (Fx_file_dialog): New function.
11249 (w32_list_fonts): Check cache before asking system.
11250 (Vw32_enable_synthesized_fonts): New variable.
11251 (Vw32_enable_italics): Obsolete, removed.
11252
11253 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11254 Use SELECTED_FRAME macro.
11255
11256 * w32menu.c: Add skeleton support for help strings on menus.
11257 (add_menu_item): Native checkbox and radio support added, but not
11258 yet enabled due to bugs.
11259 (push_menu_item): Add parameters type, selection and help.
11260 Callers updated.
11261 Formatting changes to reduce unnecessary diffs with xmenu.c.
11262
11263 * w32select.c (Fw32_set_clipboard_data): Update call to
11264 find_charset_in_str.
11265
11266 * w32term.c: Complete rewrite for new redisplay based on new
11267 xterm.c with necessary sections merged back in from old w32term.c.
11268
6ffd3cf7 112692000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11270
11271 * data.c (set_internal): Further fix in same criterion.
11272
6ffd3cf7 112732000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11274
11275 * data.c (set_internal): Fix the criteria for whether
11276 to swap out the old cached binding.
11277
60af03f1
DL
112782000-01-19 Dave Love <fx@gnu.org>
11279
11280 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11281
f9be074f
KH
112822000-01-18 Kenichi Handa <handa@etl.go.jp>
11283
11284 * regex.c (re_compile_fastmap): While checking a range table for
11285 `charset', skip flag bits for a character class correctly.
11286
52b8dbf9
GM
112872000-01-17 Gerd Moellmann <gerd@gnu.org>
11288
d36100c9
GM
11289 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11290
52283633 11291 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11292
11293 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11294 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11295
11296 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11297 MENU_ITEMS_ITEM_.*.
11298 (MENU_ITEMS_ITEM_HELP): New enumerator.
11299 (push_menu_item): Add parameter HELP. Record help in menu_items.
11300 (single_menu_item, single_submenu, list_of_items): Call
11301 push_menu_item with new parameter.
11302 (single_submenu): Set help string in widget value.
11303 (menu_highlight_callback): New function.
11304 (set_frame_menubar): Call lw_create_widget with new
11305 parameter list.
11306 (xmenu_show, xdialog_show): Ditto.
11307
3139018f
GM
113082000-01-13 Gerd Moellmann <gerd@gnu.org>
11309
11310 * sound.c (Fplay_sound): Improve doc string.
11311
83c8f461
RS
113122000-01-11 Richard M. Stallman <rms@gnu.org>
11313
11314 * lisp.h (set_internal): Enter the new arg.
11315
11316 * eval.c (specbind): Record buffer-local variables specially,
11317 indicating which buffer's binding was saved.
11318 (unbind_to): Restore buffer-local variables specially
11319 in the proper buffer.
11320
11321 * data.c (set_internal): New arg BUF.
427ec082 11322
83c8f461
RS
11323 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11324 * data.c (Fset): Pass new arg to set_internal.
11325 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11326
1fab1775
GM
113272000-01-11 Gerd Moellmann <gerd@gnu.org>
11328
52283633 11329 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11330
83c8f461 113312000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11332
11333 * minibuf.c (Ftry_completion): Doc fix.
11334
7a85e4df
GM
113352000-01-11 Gerd Moellmann <gerd@gnu.org>
11336
11337 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11338 vector, too.
11339
a970dae4
AS
113402000-01-11 Andreas Schwab <schwab@suse.de>
11341
11342 * coding.c (code_convert_region): Initialize total_skip.
11343
c65d14ee
DL
113442000-01-08 Dave Love <fx@gnu.org>
11345
11346 * eval.c (Fuser_variable_p): Check customizability too.
11347
834938d2
GM
113482000-01-07 Gerd Moellmann <gerd@gnu.org>
11349
11350 * minibuf.c (Fcompleting_read): Doc fix.
11351
e0303cd6
GM
113522000-01-05 Gerd Moellmann <gerd@gnu.org>
11353
8a26744b
GM
11354 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11355 -L /usr/local/lib.
11356
e0303cd6
GM
11357 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11358 Check that input style is supported before trying to create an
11359 IC for it.
11360 (x_window): Call x_create_im.
427ec082 11361
2e471eb5
GM
113622000-01-04 Gerd Moellmann <gerd@gnu.org>
11363
560a7bd2
GM
11364 * xfns.c (current_gif_memory_src): New variable.
11365 (gif_load): Record the address of the current memory source
11366 in current_gif_memory_src.
11367 (gif_read_from_memory): Use current_gif_memory_src.
11368
f9ee84a3
GM
11369 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11370 macros statement form.
11371
d1299cde
GM
11372 * sound.c (struct sound): Renamed from struct sound_file.
11373 (struct sound): Add members `data' and `header_size'.
11374 (enum sound_attr): Add SOUND_DATA.
11375 (current_sound, current_sound_device): Variables renamed from
11376 sound_file and sound_device.
11377 (parse_sound): Parse :data.
11378 (parse_sound): Handle sound data in strings.
11379 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11380 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11381 needed header size.
11382 (wav_play, au_play): Play sounds from string data.
11383
2e471eb5
GM
11384 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11385
11386 * lisp.h: Add prototype for allocate_string_data.
11387
52283633 11388 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11389
11390 * alloc.c (mark_buffer): Remove code in #if 0.
11391 (gc_sweep): Ditto.
11392 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11393 (strings_consed): New variable.
11394 (allocate_string): Set it.
11395 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11396 (Fmemory_use_counts): Return strings_consed. Use Flist.
11397
11398 * alloc.c: General cleanup in comments etc. Remove conditional
11399 compilation for `standalone'.
11400
11401 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11402
11403 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11404 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11405 (DONT_COPY_FLAG): Removed.
11406 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11407 (struct sdata, struct sblock): New
11408 (struct string_block): Rewritten.
11409 (STRINGS_IN_STRING_BLOCK): New macro.
11410 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11411 (large_sblocks, string_blocks, string_free_list): New variables.
11412 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11413 (init_strings): Rewritten.
11414 (allocate_string, allocate_string_data, compact_small_strings)
11415 (free_large_strings, sweep_strings): New functions.
11416 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11417 (struct string_block_head, current_string_block)
11418 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11419 (STRING_PAD): Removed.
11420 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11421 (Fgarbage_collect): Don't set mark bit in large strings.
11422 (mark_object): Mark strings differently. Mark symbol names
11423 differently.
11424 (survives_gc_p): Test marked strings differently.
427ec082 11425 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11426 symbol names.
11427 (compact_strings): Removed.
11428
42608ba8
EZ
114292000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11430
11431 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11432 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11433
e0a09e1a
KH
114342000-01-04 Kenichi Handa <handa@etl.go.jp>
11435
dd9f0750 11436 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11437 in a non-empty buffer.
dd9f0750 11438
3c0f3b15 11439 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11440
44cd3ae5
GM
114412000-01-03 Gerd Moellmann <gerd@gnu.org>
11442
11443 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11444 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11445
11446 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11447
c182a70f
EZ
114482000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11449
11450 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11451 need to test for MSDOS frames.
11452
24480d5b
EZ
114532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11454
11455 * dosfns.c (unspecified_colors): Remove.
11456 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11457 unspecified_bg.
11458 (msdos_stdcolor_name): Return strings for unspecified fore- and
11459 back-ground colors.
11460
11461 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11462 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11463 (tty_color_name): Return Lisp strings for unspecified fore- and
11464 back-ground colors.
11465 (Finternal_set_lisp_face_attribute): Remove the special treatment
11466 for Qunspecified_{f,b}g.
52283633 11467 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11468
047f434a
GM
114692000-01-03 Gerd Moellmann <gerd@gnu.org>
11470
11471 * xdisp.c (reseat_at_next_visible_line_start): Position before
11472 newline only if ending up on a newline.
11473 (next_element_from_ellipsis): Return success. Handle case of
52283633 11474 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11475 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11476 returns 0.
11477
d684c676
EZ
114782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11479
11480 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11481 (Fcolor_supported_p): Renamed from face-color-supported-p.
11482
5fe1d139
EZ
114832000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11484
11485 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11486 list of colors renamed to tty-defined-color-alist.
11487 (tty_color_name): Pass the frame to tty-color-by-index.
11488 (realize_tty_face): tty-color-alist is now a function which
11489 accepts the frame as argument.
11490
52283633 11491 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11492
816be8b8
EZ
114932000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11494
11495 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11496 encode_terminal_code.
11497
b635321e
EZ
114982000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11499
11500 * dispnew.c (mode_line_string): Support termcap frames as well.
11501
9b784e96
GM
115022000-01-01 Gerd Moellmann <gerd@gnu.org>
11503
27189709
GM
11504 * syntax.c (Fforward_word): Undo previous change.
11505
11506 * editfns.c (Fconstrain_to_field): Don't constrain if
11507 inhibit-field-text-motion is non-nil.
11508 (Fline_beginning_position): Undo previous change.
11509 (Fline_end_position): Ditto.
11510
11511 * syntax.c (Fforward_word): Notice field boundaries only if
11512 inhibit-field-text-motion is nil.
11513
11514 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11515
11516 * editfns.c (Vinhibit_field_text_motion): New variable.
11517 (inhibit-field-text-motion): New DEFVAR_LISP.
11518 (Fline_beginning_position, Fline_end_position): Notice field
11519 boundaries only if inhibit-field-text-motion is nil.
11520
45158a91
GM
11521 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11522 All calls adjusted.
11523 (x_build_heuristic_mask): Likewise.
11524 (xbm_load_image_from_file): Change error output.
11525 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11526 (gif_load, gs_load, x_kill_gs_process): Ditto.
11527
9b784e96
GM
11528 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11529 color indices when accessing raster pixels.
63cec32f
GM
11530 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11531 one of :file or :data.
11532 (enum pbm_keyword_index): Add PBM_DATA.
11533 (pbm_format): Add :data.
11534 (pbm_image_p): Allow either :file or :data.
11535 (pbm_read_file): New function.
11536 (pbm_scan_number): Rewritten to read from string.
11537 (pbm_load): Support :data.
9b784e96 11538
2cb085db 11539See ChangeLog.8 for earlier changes.
6922b018
KH
11540
11541;; Local Variables:
49b3bd82 11542;; coding: iso-2022-7bit
6922b018 11543;; End: