(elp-instrument-package): Don't allow empty prefixes.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
3cf80731
SM
12001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2
3 * xfaces.c (try_alternative_families): First try the FAMILY.
4 And if nothing is found in the end, try again with scalable fonts.
5 (try_font_list): Let try_alternative_families do a bit more of
6 the work. Only use FAMILY if it is not nil.
7 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
8
933b0249
GM
92001-05-14 Gerd Moellmann <gerd@gnu.org>
10
58e5af83
GM
11 * xterm.c (note_mouse_highlight): Avoid changing the mouse
12 pointer shape when show_mouse_face has already done it.
13
14 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
15 full-width rows.
16
7b16a6bf
GM
17 * xfaces.c (split_font_name): Make sure to leave the loop
18 with the right value of `i'.
3cf80731 19
933b0249
GM
20 * xfaces.c (split_font_name): Handle matrix transformations
21 in the pixel and point size fields of XLFD font names.
22 (xlfd_point_size): Likewise.
23
dddcbf00
EZ
242001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
25
3cf80731 26 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
27 (x_to_w32_font): Add prototype.
28
7689ef0b
EZ
29 * regex.c (malloc, realloc, free) [emacs]: Undefine before
30 redefining, to avoid compiler warnings.
31
e7c15bba
EZ
32 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
33
dddcbf00
EZ
34 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
35 (w32_get_bdf_glyph): Cast between unsigned char and char when
36 passing arguments to subroutines, to shut up compiler warnings.
37 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
38 GET_HEX_VAL.
39
40 * xfaces.c: Include keyboard.h before frame.h, not after it.
41
42 * widget.c: Include keyboard.h before frame.h.
43
44 * w32term.h (struct image, struct face): Forward declaration, to
45 avoid compiler warnings.
46
7bd2d083
GM
472001-05-11 Gerd Moellmann <gerd@gnu.org>
48
47e72862
GM
49 * keyboard.c (read_key_sequence): Don't modify events when
50 generating fake prefix keys (mode-line, scroll-bar, ...) since
51 this prevents proper processing of such events when pushed back
52 into unread-command-events.
53
dd5f324b
GM
54 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
55 actually redrawn. Make the function static.
56 (note_mouse_highlight): Fix a case where the mouse cursor
57 was changed back to the text cursor.
58
59 * xterm.h (clear_mouse_face): Remove prototype.
60
d88a79d4
GM
61 * xdisp.c (try_window_id): Fix the fix and set the right
62 window_end_vpos.
63
64 * xdisp.c (try_window_id): Fix computation of window end in the
65 case that lines were deleted at the end of the window. Add some
66 more debug_method_adds.
0416532f 67
7bd2d083
GM
68 * xfaces.c (try_alternative_families): New function.
69 (try_font_list): Use it. If ATTRS specifies a family, check
70 fonts from that family first.
71 (choose_face_font): Remove code setting the family part of
72 the pattern to nil.
73
23fca891
GM
742001-05-10 Gerd Moellmann <gerd@gnu.org>
75
ff9aa2ca
GM
76 * xdisp.c (try_window_id): Fix case of all changes before
77 the window start.
7b2654b5 78
23fca891
GM
79 * xdisp.c (try_window_id): Add some xasserts.
80
e9726794
GM
812001-05-09 Gerd Moellmann <gerd@gnu.org>
82
83 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
84
9e53a675
GM
852001-05-09 Dave Love <fx@gnu.org>
86
87 * xdisp.c (GIVE_UP): Fix for K&R C.
88
0d487c52
GM
892001-05-09 Gerd Moellmann <gerd@gnu.org>
90
fe88d421
GM
91 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
92
0d487c52
GM
93 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
94 back to the text cursor shape without need.
95
1e9fc92e
GM
962001-05-07 Gerd Moellmann <gerd@gnu.org>
97
a2a6232e
GM
98 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
99
100 * dispextern.h (inverse_video): Declare extern.
101
1e9fc92e
GM
102 * keyboard.c (delete_kboard): Handle the case that selected_frame
103 has been deleted in the course of x_connection_closed.
104
12949a7f
EZ
1052001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
106
7b2654b5
SM
107 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
108 Fix the change from 2001-04-30.
12949a7f 109
2fa2f461
GM
1102001-05-03 Gerd Moellmann <gerd@gnu.org>
111
a779d213
GM
112 * xfns.c (file_dialog_unmap_cb): New function.
113 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
114 where a dialog is closed via the window manager.
115
7b2654b5 116 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
117 the window start or all below the window end mostly rewritten.
118 (redisplay_window): Move the tests if try_window_id is
119 applicable to try_window_id.
120 (GIVE_UP): New macro.
121
3356df63
GM
1222001-05-02 Gerd Moellmann <gerd@gnu.org>
123
a39202f6 124 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
125 currently being updated, mark the frame garbaged.
126 Fix computation of rows intersecting the exposed rectangle.
a39202f6 127 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 128
3356df63
GM
129 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
130 again if it has already been drawn.
131
a9d2fd1d
SM
1322001-05-01 Stefan Monnier <monnier@cs.yale.edu>
133
134 * syntax.c (update_syntax_table): Check that oldi has the same
135 properties as old_prop before deciding not to invalidate.
136
c95fc5f1
GM
1372001-04-30 Gerd Moellmann <gerd@gnu.org>
138
a9793e45
GM
139 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
140 read-only text that is so because of text properties.
141
c95fc5f1 142 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 143 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
144 windows that are components of a Lucid menu bar.
145
5a5d9185
GM
1462001-04-27 Gerd Moellmann <gerd@gnu.org>
147
148 * term.c (turn_on_face): Fix reverse video handling on terminals
149 that don't support colors.
150
ba973f7a
GM
1512001-04-26 Gerd Moellmann <gerd@gnu.org>
152
153 * editfns.c (save_excursion_restore): Don't use XBUFFER on
154 a non-buffer.
155
8c56a983
GM
1562001-04-25 Gerd Moellmann <gerd@gnu.org>
157
a728644c
GM
158 * term.c (toggle_highlight): New function.
159 (turn_on_face): Change handling of reverse video.
160
7b2654b5
SM
161 * process.c (wait_reading_process_input):
162 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 163
bfd8410f
GM
164 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
165 of the number of overlays to check.
166
be2488ca
GM
167 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
168
8c56a983
GM
169 * xdisp.c (try_window_id): Fix a case where window_end_pos
170 and window_end_bytepos were not adjusted.
171
522d42f7
GM
1722001-04-23 Gerd Moellmann <gerd@gnu.org>
173
174 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
175 zero instead of -1.
176
78c1afb6
EZ
1772001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
178
a9d2fd1d
SM
179 * process.c (wait_reading_process_input) [!subprocesses]:
180 Don't reference waiting_for_user_input_p, it's not defined in the
181 branch without async subprocesses support.
78c1afb6 182
a2fab450
GM
1832001-04-19 Gerd Moellmann <gerd@gnu.org>
184
a122a38e
GM
185 * keyboard.c (delete_kboard): Prevent a dangling reference
186 from current_kboard to KB, which is freed.
187
a9d2fd1d
SM
188 * process.c (wait_reading_process_input):
189 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
190 read_key_sequence aware of buffer changes from under it.
191
0f8d6dc7
GM
1922001-04-18 Gerd Moellmann <gerd@gnu.org>
193
eeffb293
GM
194 * xfaces.c (Qscalable_fonts_allowed): New variable.
195 (realizing_basic_faces_p): Removed.
2fa2f461
GM
196 (x_face_list_fonts): Special handling for realizing_basic_faces_p
197 removed.
eeffb293 198 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
199 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
200 for scalable-fonts-allowed to t.
eeffb293 201
0f8d6dc7
GM
202 * fileio.c (Finsert_file_contents): If the file size returned from
203 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 204 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 205
eec2d1de
EZ
2062001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
207
208 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
209 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
210 (__memalign_hook): Make the two prototypes consistent.
211
f4f480bd
GM
2122001-04-17 Gerd Moellmann <gerd@gnu.org>
213
214 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
215 matrix of mini-windows.
216
52283633
SM
2172001-04-12 Stefan Monnier <monnier@cs.yale.edu>
218
219 * intervals.c (find_interval): Don't rebalance during signal handling.
220
ec2423c9
GM
2212001-04-11 Gerd Moellmann <gerd@gnu.org>
222
30cb0001 223 * fns.c: Include blockinput.h.
52283633 224
ec2423c9
GM
225 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
226
719d83ad
GM
2272001-04-10 Gerd Moellmann <gerd@gnu.org>
228
60f8d735
GM
229 * fns.c (Fcompare_strings): Fix return values.
230
afffeb57
GM
231 * window.c (window_scroll): Change the meaning of N to mean
232 N screen-fulls or N lines.
233 (window_scroll_pixel_based, window_scroll_line_based)
234 (scroll_command, Fscroll_other_window): Change accordingly.
235
52283633
SM
236 * window.c (window_scroll_pixel_based, Frecenter):
237 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
238 height of the window.
239
240 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
241 instead of using it.last_visible_y for the height of the window.
52283633 242
719d83ad 243 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 244 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
245
246 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
247 able to write to hidden and system files. From Dan Holmsand
248 <dan@eyebee.com>.
719d83ad 249
8ddf3ee1
GM
250 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
251 Holmsand <dan@eyebee.com>.
719d83ad 252
522ed7fb
GM
2532001-04-09 Gerd Moellmann <gerd@gnu.org>
254
9170e5d4
GM
255 * fns.c (Fplist_get, Fplist_put): Add QUITs.
256
522ed7fb
GM
257 * window.c (window_internal_height): Return 1 less if the
258 window has a header line.
259
260 * xdisp.c (try_window_id): When scrolling on a terminal, take
261 the change of window_internal_height into account.
262
ceeb3d7d
EZ
2632001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
264
265 * gmalloc.c (align): If the argument SIZE would overflow
266 __malloc_ptrdiff_t, fail right away.
267
63685b9d
GM
2682001-04-06 Gerd Moellmann <gerd@gnu.org>
269
270 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
271 Make sure the tooltip is completely visible.
272 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
273
274 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
275
276 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
277
3ffb33bb
DL
2782001-04-06 Dave Love <fx@gnu.org>
279
52283633
SM
280 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
281 Fix test of `from'.
3ffb33bb 282
869fb12c
GM
2832001-04-06 Gerd Moellmann <gerd@gnu.org>
284
52283633 285 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 286
869fb12c
GM
287 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
288
441bf856
GM
2892001-04-05 Gerd Moellmann <gerd@gnu.org>
290
4d664b04
GM
291 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
292
52283633 293 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 294
30ca89f5
GM
295 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
296 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
297
298 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
299 shell widget's position only if it is non-null.
300
52283633
SM
301 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
302 Set f->output_data.x->widget to null after destroying it.
30ca89f5 303
81a81c0f
GM
304 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
305 FILENAME to bring it in synch with the documentation.
306
441bf856
GM
307 * xfaces.c (realizing_basic_faces_p): Renamed from
308 realize_default_face_p.
309 (realize_basic_faces): Set/clear realizing_basic_faces_p.
310 (realize_default_face): Don't set the flag.
311
702a1e8e
GM
3122001-04-04 Gerd Moellmann <gerd@gnu.org>
313
1013f4e3
GM
314 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
315
52283633
SM
316 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
317
1013f4e3
GM
318 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
319 the buffer that was used for echoing.
320
702a1e8e
GM
321 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
322 (first_font_matching): Removed unused function.
323 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
324 (may_use_scalable_font_p): Remove parameter FONT; rename
325 parameter NAME to FONT.
326 (x_face_list_fonts): Fix missing bounds check.
327 (realizing_default_face_p): New variable.
328 (realize_default_face): Set and clear that flag.
329 (x_face_list_fonts): When called during the realization of the
330 default face, and no matching fonts are found when ignoring
331 scalable fonts and fonts matching a regexp from
332 face-ignored-fonts, try without ignoring fonts.
333
f9dbcda4
GM
3342001-04-03 Gerd Moellmann <gerd@gnu.org>
335
ad18ffb1
GM
336 * xfns.c (postprocess_image): New function.
337 (lookup_image): Call it for all image types except PostScript.
338 (x_kill_gs_process): Call postprocess_image.
339
f9dbcda4
GM
340 * xterm.c (x_use_underline_position_properties): New variable.
341 (x_draw_glyph_string): Use it.
342 (syms_of_xterm): DEFVAR_BOOL it.
343
651f03b6
GM
3442001-04-02 Gerd Moellmann <gerd@gnu.org>
345
346 * xterm.c (x_alloc_nearest_color_1): New function.
347 (x_alloc_nearest_color): Use it.
348 (x_color_cells): Take a Display as argument, instead of a frame.
349 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
350 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
351 (x_initialize): Register cvt_string_to_pixel as resource converter
352 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
353
73d75a62
GM
3542001-03-30 Gerd Moellmann <gerd@gnu.org>
355
b2046df8
GM
356 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
357 (set_iterator_to_next): If a string from a display property ends,
358 consider the case that this might also be the end of an
359 overlay string having the display property.
360
52283633 361 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 362
87d8eba4
GM
363 * xdisp.c (reseat_to_string): Undo last change.
364
73d75a62
GM
365 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
366 matrix of a window when the header line changes, when
367 new rows are allocated, or when the width changes.
368
911a2406
EZ
3692001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
370
52283633 371 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 372
aea51abe
EZ
3732001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
374
375 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
376 deprecated.
377
176bc847
GM
3782001-03-29 Gerd Moellmann <gerd@gnu.org>
379
ed31fabf
GM
380 * data.c (Fsubr_interactive_form): New function.
381 (syms_of_data): Defsubr it.
382
176bc847
GM
383 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
384 (live_float_p, live_misc_p): Return 1 only if the offset of the
385 pointer in its block is >= 0.
386
e59d0e9d
GM
3872001-03-28 Paul Eggert <eggert@twinsun.com>
388
389 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
390 microseconds calcuation. Avoid double-rounding problem.
391 In doc string, warn that the result is approximate.
392
f827b862
GM
3932001-03-28 Gerd Moellmann <gerd@gnu.org>
394
30a3f61c
GM
395 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
396 bind `inhibit-eval-during-redisplay' to t.
397
398 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
399
400 * xdisp.c (inhibit_eval_during_redisplay)
401 (Qinhibit_eval_during_redisplay): New variables.
402 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
403 don't eval, return nil instead.
404 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
405 Initialize Qinhibit_eval_during_redisplay.
406
e719f5ae
GM
407 * xdisp.c (reseat_to_string): If STRING is multibyte, set
408 the iterator's multibyte_p flag.
409
deb2613a
GM
410 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
411 instead of setting it to zero; it's incremented for each frame
412 where the menu face is changed.
413
52283633
SM
414 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
415 change bottom shadow accordingly.
416
417 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
418 intersections here.
419 (expose_window): Do it here instead.
52283633 420 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 421
f827b862
GM
422 * bytecode.c (BYTE_CODE_QUIT): New macro.
423 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
424
4bde0ebb
GM
4252001-03-27 Gerd Moellmann <gerd@gnu.org>
426
607ec83c
GM
427 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
428 Give up if matrix starts in an ellipsis.
429 (init_from_display_pos): Do nothing if POS doesn't specify
430 a dpvec_index but the iterator has such a position.
431
0245398f
GM
432 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
433
aba25348
GM
434 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
435 x/y position is (0, 0) after destroying the menu bar, restore
436 its original position.
437
4bde0ebb
GM
438 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
439 (init_from_display_pos): Use it.
440 (try_window_reusing_current_matrix): Don't use cursor_row_p.
441
8cdb267e
GM
4422001-03-26 Gerd Moellmann <gerd@gnu.org>
443
444 * xdisp.c (try_window_id): Undo last change.
445
9948db79
EZ
4462001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
447
448 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
449
450 * buffer.c (syms_of_buffer): Doc fix.
451
2eddf899
GM
4522001-03-26 Gerd Moellmann <gerd@gnu.org>
453
454 * xfaces.c (x_update_menu_appearance): Use local variable
455 popup_path for setting font resources.
456
6c145d35
EZ
4572001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
458
6a65b1b5
EZ
459 * frame.c (Fframe_list): Don't reference tip_frame if
460 HAVE_WINDOW_SYSTEM is not defined.
461
6c145d35
EZ
462 * emacs.c (main): Update the copyright year. From Werner LEMBERG
463 <wl@gnu.org>.
464
d74c1900
GM
4652001-03-25 Gerd Moellmann <gerd@gnu.org>
466
20fbd925
GM
467 * xdisp.c (init_from_display_pos): Test invisible property
468 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 469
927c5b3b
GM
470 * xdisp.c (redisplay_internal) <update one window>: Make sure
471 last_arrow_position and last_arrow_string are set.
472
d74c1900
GM
473 * frame.c (Fframe_list): Don't return a tooltip frame.
474
091f8878
GM
4752001-03-23 Gerd Moellmann <gerd@gnu.org>
476
52283633
SM
477 * xdisp.c (mark_window_display_accurate_1): New function,
478 extracted from mark_window_display_accurate.
479 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
480 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
481 (mark_window_display_accurate): Use it.
482 (redisplay_internal): Use it for the selected window.
483 (redisplay_internal): Avoid duplicate mark_window_display_accurate
484 for the selected frame.
485
ac90c44f
GM
486 * xdisp.c Use make_number, for readability.
487 (try_window_id): Disable rows below the window end.
488 (try_window_reusing_current_matrix): Use cursor_row_p.
489 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
490 of rows.
491 (init_from_display_pos): If POS specifies a position in a display
492 vector, maybe get the iterator set up for that ellipsis.
43c09969 493
091f8878
GM
494 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
495
991786dd
EZ
4962001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
497
498 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
499
6c29b43c
GM
5002001-03-23 Gerd Moellmann <gerd@gnu.org>
501
502 * xfaces.c (x_update_menu_appearance): Use a different path
503 for Lucid popup menus.
504
d8731202
SM
5052001-03-22 Stefan Monnier <monnier@cs.yale.edu>
506
507 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
508
509 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
510 (string_buffer_position): Use `make_number'.
511
f61a541b
GM
5122001-03-22 Gerd Moellmann <gerd@gnu.org>
513
3c9e997b
GM
514 * xfaces.c (x_update_menu_appearance): Renamed from
515 x_set_menu_face_resources. Use different resources for popups.
516
517 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
518 (GC_CHECK_STRING_BYTES): Don't define.
519
364cd450
GM
520 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
521 Removed, together with subroutines.
522 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 523 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 524
d8731202
SM
525 * dispextern.h (x_set_menu_resources_from_menu_face):
526 Remove prototype.
364cd450 527
d8731202 528 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
529 Remove calls to x_set_menu_resources_from_menu_face.
530
d8731202
SM
531 * xfaces.c (xm_set_menu_resources_from_menu_face):
532 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
533
534 * xmenu.c: Include widget.h.
535 (single_submenu): Return int. Some cleanup.
536 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
537
140330de
GM
5382001-03-21 Gerd Moellmann <gerd@gnu.org>
539
540 * xterm.c (x_update_window_end): Handle overwritten mouse face
541 also for tool bar windows.
542 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
543 DRAW is DRAW_IMAGE_RAISED.
544
1741905c
GM
5452001-03-20 Gerd Moellmann <gerd@gnu.org>
546
fa88947e
GM
547 * print.c (syms_of_print): Doc fixes.
548
1741905c
GM
549 * fns.c (Fmd5): Doc fix.
550
ade0bee1
GM
5512001-03-19 Gerd Moellmann <gerd@gnu.org>
552
357e7376
GM
553 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
554 Clear area of the frame not occupied by the scroll bar.
555
c2c097cc
GM
556 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
557 tip frame's root window buffer to *tip* right after creating
558 the frame.
559
ade0bee1
GM
560 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
561 is an integer don't have to be for space characters.
562
88c6e37e
GM
5632001-03-16 Gerd Moellmann <gerd@gnu.org>
564
52283633
SM
565 * indent.c (current_column, current_column_1, Fmove_to_column)
566 (compute_motion): Handle characters from display vectors differently.
88c6e37e 567
c62eed76
KH
5682001-03-15 Kenichi Handa <handa@etl.go.jp>
569
570 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
571 drawing glyph string.
572
c899e7e6
GM
5732001-03-15 Gerd Moellmann <gerd@gnu.org>
574
d0bbfc99
GM
575 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
576 (command_loop_1): Undo last change.
577
03d1a189
GM
578 * xterm.c (fast_find_position): Return the correct vpos.
579
c899e7e6 580 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 581 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
582 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
583 Call store_symval_forwarding with BUF null.
584 (set_internal): Call store_symval_forwarding with the BUF
585 parameter passed to set_internal. Formerly, the value was always
586 set in the current buffer; the buffer recorded in specbind for
587 this case wasn't used.
588 (arith_driver): Reindent.
589
52283633
SM
590 * buffer.c (swap_out_buffer_local_variables):
591 Call store_symval_forwarding with BUF null.
c899e7e6
GM
592
593 * lisp.h (store_symval_forwarding): Change prototype.
594
595 * eval.c (specbind): Call store_symval_forwarding with BUF null.
596
57ac7c81
GM
5972001-03-14 Gerd Moellmann <gerd@gnu.org>
598
697617d9
GM
599 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
600 FOR_DELETION. Avoid resizing the mini-window of the selected
601 frame if FOR_DELETION is set.
602 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
603 (Fmake_frame_invisible): Change calls to do_switch_frame for new
604 signature.
605
606 * window.c (Fset_window_configuration): Change call to
607 do_switch_frame to new format.
608
609 * keyboard.c (quit_throw_to_read_char): Change call to
610 do_switch_frame to new format.
611
612 * lisp.h (do_switch_frame): Change prototype.
613
819dce0f
GM
614 * frame.c (Fframe_parameters): In the `buffer-list' frame
615 parameter, store the buffer list of FRAME, not the list of the
616 selected frame.
617
57ac7c81
GM
618 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
619 box just because the glyph row's full_width_p flag is set.
620
65008712
GM
6212001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
622
623 * xdisp.c (highlight_trailing_whitespace): On character terminals,
624 skip the padding blanks inserted in extend_face_to_end_of_line,
625 before checking for trailing whitespace.
626
159cf431
GM
6272001-03-13 Gerd Moellmann <gerd@gnu.org>
628
52283633 629 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
630 Remove special handling for LessTif/Motif.
631 (toplevel): Don't include Xm/Xm.h.
632
52283633
SM
633 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
634 Remove workaround code for LessTif; it doesn't work anymore.
635
2564ea1b 636 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 637 Xm/ScrollBarP.h.
afcdc0a1 638
52283633
SM
639 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
640 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
641 contemporary LessTif.
642
52283633
SM
643 * xfaces.c (xm_set_menu_resources_from_menu_face):
644 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 645
159cf431
GM
646 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
647 removing button grabs.
648
c6f7429a
KH
6492001-03-13 Kenichi Handa <handa@etl.go.jp>
650
cb82d767
KH
651 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
652 and clip-large-size-font as obsolete.
653
c6f7429a
KH
654 * lread.c (read_multibyte): Check the validity of multibyte
655 sequence. If invalid, return the first byte.
656
760cefb5
GM
6572001-03-12 Gerd Moellmann <gerd@gnu.org>
658
659 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
660 before running the command; timer functions or process
661 filters may have set it.
662
5141f9d0
EZ
6632001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
664
665 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
666 Doc fix.
667
b6a15240
GM
6682001-03-12 Gerd Moellmann <gerd@gnu.org>
669
670 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
671 to sprintf.
672
95522746
GM
6732001-03-09 Gerd Moellmann <gerd@gnu.org>
674
db14cfc5
GM
675 * dispextern.h (string_buffer_position): Add prototype.
676
52283633 677 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
678 (single_display_prop_string_p): New functions.
679
680 * xterm.c (note_mouse_highlight): If there's no help-echo on
681 a string, look at the buffer text ``under'' it.
682
683 * keyboard.c (make_lispy_event): Add string info to the event,
684 analogous to what's done on mode lines.
685 (read_key_sequence): For a click on a string, consider `local-map'
686 and `keymap' of that string.
687
52283633
SM
688 * keyboard.c (make_lispy_event, make_lispy_movement):
689 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
690
691 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
692
693 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
694 POS; return void.
695
95522746
GM
696 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
697 flags argument to emacs_open; it seems to conflict with O_EXCL.
698
898a399d
KH
6992001-03-09 Kenichi Handa <handa@etl.go.jp>
700
28cd4910
KH
701 * composite.h (struct composition): Change types of members;
702 glyph_len to unsigned, width to unsigned short.
898a399d 703
4cdf6a6c
AI
7042001-03-08 Andrew Innes <andrewi@gnu.org>
705
706 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
707 menu titles.
708
129004d3
GM
7092001-03-08 Gerd Moellmann <gerd@gnu.org>
710
221dd3e7
GM
711 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
712 instead of nil.
713
52283633 714 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
715 help-echo in strings.
716 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
717 (fast_find_string_pos): New function.
718
52283633
SM
719 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
720 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
721
722 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
723 Handle `mouse-face'.
724
725 * dispextern.h (face_at_string_position): Change prototype.
726
52283633 727 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 728
129004d3
GM
729 * keyboard.c (make_lispy_event): Avoid generating drag events
730 if the mouse hasn't actually moved to another buffer position.
52283633 731
80c8ab8c
DL
7322001-03-08 Dave Love <fx@gnu.org>
733
129004d3 734 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 735
989521fd
GM
7362001-03-08 Gerd Moellmann <gerd@gnu.org>
737
738 * process.c (Fset_process_window_size): Fix a typo.
739
bb5c338d
KH
7402001-03-08 Kenichi Handa <handa@etl.go.jp>
741
742 * coding.c (detect_coding_sjis): Do more rigid check.
743 (detect_coding_big5): Likewise.
744 (decode_coding_sjis_big5): Likewise.
745 (Fdetect_coding_region): Call detect_coding_system with tailing
746 anchor byte `\0' for more rigid detection.
52283633 747 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
748 (Fdetect_coding_string): Likewise.
749
8b8f9197
SM
7502001-03-07 Stefan Monnier <monnier@cs.yale.edu>
751
752 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
753 a string before extracting its data.
754
3bdf2660
GM
7552001-03-07 Gerd Moellmann <gerd@gnu.org>
756
757 * window.c (Frecenter): Rewrite code handling negative values
758 of ARG on graphical frames.
759
7602001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
761
762 * window.c (displayed_window_lines): If W->start is outside the
763 accessible portion of the buffer, call start_display with BEGV or
764 ZV instead of W->start.
765
471f86b9
GM
7662001-03-07 Gerd Moellmann <gerd@gnu.org>
767
2ab62c6c
GM
768 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
769
471f86b9
GM
770 * process.c (Fset_process_filter): Don't crash if the input
771 file descriptor of PROCESS is closed.
772 (Fset_process_window_size): Likewise.
773
101922c3
GM
7742001-03-06 Kenichi Handa <handa@etl.go.jp>
775
776 * xterm.c (XTflash): Make the timeout of select shorter, and call
777 select repeatedly until the desired time expires.
778
45d051a7
GM
7792001-03-06 Gerd Moellmann <gerd@gnu.org>
780
781 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
782
783 * xfns.c (Fx_create_frame): Clear Vwindow_list.
784
785 * lisp.h (Vwindow_list): Declare extern.
786
8f372c46
EZ
7872001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
788
789 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
790
f16a7aa5
GM
7912001-03-06 Gerd Moellmann <gerd@gnu.org>
792
157ae273
GM
793 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
794 to detect a case where we have to highlight a different region
795 despite not having left the currently highlighted region.
796 Set mouse_face_overlay in the x_display_info.
45d051a7 797 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
798
799 * xterm.h (struct x_display_info): Add mouse_face_overlay.
800
801 * buffer.c (mouse_face_overlay_overlaps): New function.
802
803 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
804 (Qmouse_face): Declare extern.
805
f16a7aa5
GM
806 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
807 if face_change_count is non-zero.
808
827afcac
KH
8092001-03-06 Kenichi Handa <handa@etl.go.jp>
810
811 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
812 that the source is unibyte.
813
14c7242e
DL
8142001-03-05 Dave Love <fx@gnu.org>
815
827afcac 816 * xterm.c (XTmouse_position): Fix typo.
14c7242e 817
c28b847b
GM
8182001-03-05 Gerd Moellmann <gerd@gnu.org>
819
820 * minibuf.c (read_minibuf): Clean up the binding stack if
821 called noninteractively.
822
b86644f2
KH
8232001-03-05 Kenichi Handa <handa@etl.go.jp>
824
825 * coding.c (syms_of_coding): Docstring modified.
826
203682cc 8272001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
828
829 * charset.c (char_to_string): If a single byte char has modifier
830 bits that can't be reflected to the character code, ignore them
45d051a7 831 instead of signaling an error.
b86644f2 832
e30bd7b7
EZ
8332001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
834
835 * s/msdos.h: Update copyright notice.
836
837 * dosfns.h: Update copyright notice.
838
839 * dosfns.c: Update copyright notice.
840
841 * msdos.c: Update copyright notice.
842
b52b65bd
GM
8432001-03-02 Gerd Moellmann <gerd@gnu.org>
844
845 * xterm.c (glyph_rect): New function.
846 (XTmouse_position): Use it to raise the threshold for mouse
847 movement event generation.
848
53c4b1e6
EZ
8492001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
850
851 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
852 specifies (reverse . t), reverse the initial screen colors.
853 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
854 but we are reversing the colors, set bg_set, not fg_set.
855 Likewise for setting background-color and reversing: set fg_set.
856 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
857 in effect.
858
859 * xfaces.c (Finternal_set_lisp_face_attribute)
860 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
861 parameters alist.
862
f964b4d7
GM
8632001-03-02 Gerd Moellmann <gerd@gnu.org>
864
ef53d75e
GM
865 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
866 to a single slash in the middle of file names.
867
52283633 868 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
869 Accept only alphanumeric time zone names.
870
f964b4d7
GM
871 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
872 or width area.
873 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
874 a widget to zero height.
52283633 875
c3c45f65
GM
8762001-03-01 Gerd Moellmann <gerd@gnu.org>
877
878 * window.c (Fwindow_end): Call move_it_past_eol only if
879 ending up on a partially visible line.
880
028d739a
DL
8812001-03-01 Dave Love <fx@gnu.org>
882
883 * ccl.c (Fccl_execute): Doc fix.
884
57c5889c
GM
8852001-03-01 Gerd Moellmann <gerd@gnu.org>
886
35f59f6b
GM
887 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
888 of the tool bar before calling x_figure_window_size.
889
f84ff02c
GM
890 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
891 NULL after destroying it, otherwise XTread_socket can access a
892 destroyed widget when input is unblocked.
893
8b8f9197 894 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 895
57c5889c
GM
896 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
897 same name as before, although there was a change in fontsets.
898
224227d1
KR
8992001-02-28 Ken Raeburn <raeburn@gnu.org>
900
4560730a
KR
901 * lisp.h (Fframe_parameter): Declare.
902
224227d1 903 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 904 Lisp_Object.
224227d1 905
ece93c02
GM
9062001-02-28 Gerd Moellmann <gerd@gnu.org>
907
11ef99b9
GM
908 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
909 NULL instead.
910
911 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
912 NULL instead.
913
ece93c02
GM
914 * alloc.c (toplevel): Include process.h.
915 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
916 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
917 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
918 (allocate_vector, allocate_hash_table, allocate_window)
919 (allocate_frame, allocate_process, allocate_other_vector):
920 New functions.
ece93c02
GM
921 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
922 (mark_maybe_pointer): New function.
52283633 923 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
924 remain and not Lisp_Objects.
925 (min_heap_address, max_heap_address): New variables.
926 (mem_find): Return MEM_NIL if START is below min_heap_address or
927 above max_heap_address.
928 (mem_insert): Compute min_heap_address and max_heap_address.
929
930 * process.c (make_process): Use allocate_process.
931
932 * frame.c (make_frame): Use allocate_frame.
933
934 * window.c (make_window, make_dummy_parent): Use allocate_window.
935 (Fcurrent_window_configuration): Use allocate_other_vector.
936
937 * lisp.h (allocate_vectorlike): Remove prototype.
938 (allocate_vector, allocate_other_vector, allocate_frame)
939 (allocate_window, allocate_process, allocate_hash_table):
940 Add prototypes.
941
942 * fns.c (Fdelete, larger_vector): Use allocate_vector.
943 (make_hash_table, copy_hash_table): Use allocate_hash_table.
944
063af457
KH
9452001-02-27 Kenichi Handa <handa@etl.go.jp>
946
947 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
948 treat the produced bytes as a valid multibyte sequence.
949
950 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
951 (ccl_driver) <CCL_WriteMultibyteChar2>:
952 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
953 <ccl_finish>: Set ccl->eight_bit_control properly.
954
955 * ccl.h (struct ccl_program): New member eight_bit_control.
956
f58c6494
SM
9572001-02-26 Stefan Monnier <monnier@cs.yale.edu>
958
959 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
960 accessible_keymaps_char_table.
961 (accessible_keymaps_char_table): Obey `is_metized'.
962 (where_is_internal, Fwhere_is_internal): Don't confuse int and
963 Lisp_Object.
964
c596c392
GM
9652001-02-26 Gerd Moellmann <gerd@gnu.org>
966
967 * dispnew.c: Check HAVE_TERM_H before including term.h.
968
425de386
AI
9692001-02-24 Andrew Innes <andrewi@gnu.org>
970
971 * makefile.w32-in: Update copyright notice.
972
2ba11bbd
SM
9732001-02-24 Stefan Monnier <monnier@cs.yale.edu>
974
975 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
976
66c56ed1
KH
9772001-02-24 Kenichi Handa <handa@etl.go.jp>
978
4c1593ce
KH
979 * Makefile.in (lisp): Add international/utf-8.elc.
980
66c56ed1
KH
981 * fontset.c (Fnew_fontset): Fix handling of the case that an
982 element of FONTLIST is a cons of family and registry.
983
796ead7e
JR
9842001-02-23 Jason Rumney <jasonr@gnu.org>
985
986 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
987 to height unconditionally.
988
989 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 990 background face to the end of the drawing area in the text area, only.
796ead7e
JR
991 (x_insert_glyphs): Call window_box_left to obtain the left
992 x-coordinate of the area to shift.
993
994 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
995 safe_run_hooks.
996
f6839838
AI
9972001-02-22 Andrew Innes <andrewi@gnu.org>
998
52283633 999 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
1000 ($(BLD)\dispnew.obj):
1001 ($(BLD)\editfns.obj):
1002 ($(BLD)\fileio.obj):
1003 ($(BLD)\filelock.obj):
1004 ($(BLD)\keyboard.obj):
1005 ($(BLD)\w32proc.obj):
1006 ($(BLD)\process.obj):
1007 ($(BLD)\sysdep.obj): Ditto.
1008
1009 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
1010 header files.
52283633
SM
1011 ($(BLD)/dispnew.$(O)):
1012 ($(BLD)/editfns.$(O)):
1013 ($(BLD)/fileio.$(O)):
1014 ($(BLD)/filelock.$(O)):
1015 ($(BLD)/keyboard.$(O)):
1016 ($(BLD)/w32proc.$(O)):
1017 ($(BLD)/process.$(O)):
f6839838
AI
1018 ($(BLD)/sysdep.$(O)): Ditto.
1019
c224f70b
GM
10202001-02-22 Gerd Moellmann <gerd@gnu.org>
1021
51695746
GM
1022 * xdisp.c (forward_to_next_line_start): When taking the shortcut
1023 at the start of the function, check that the \n in it->c is
1024 from the iterator's current position.
52283633 1025
a61b7058
GM
1026 * xdisp.c (handle_single_display_prop): Add parameter
1027 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
1028 properties which replace the display of text with something else.
1029 (handle_display_prop): Call handle_single_display_prop with
1030 additional argument saying if we already replaced text display
1031 with something else. Use AREF.
52283633 1032 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
1033 (decode_mode_spec_coding): Use AREF and ASIZE.
1034
3473f362
GM
1035 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
1036 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
1037 * vmstime.h: Files removed.
52283633 1038
2bb58df3
GM
1039 * unexencap.c, unexfx2800.c: Files removed.
1040
c224f70b
GM
1041 * dispnew.c (direct_output_for_insert): Give up if we are showing
1042 a message or just cleared the message because we might need to
1043 resize the echo area window or display an empty echo area.
1044
ffc9ff0c
GM
10452001-02-21 Gerd Moellmann <gerd@gnu.org>
1046
0528abe1
GM
1047 * xdisp.c (redisplay_internal): Do the
1048 mark_window_display_accurate after all windows have been
1049 redisplayed because this call resets flags in buffers which are
1050 needed for proper redisplay.
1051
52283633
SM
1052 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
1053 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
1054 the old names.
1055
52283633
SM
1056 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1057 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1058
1059 * msdos.h (struct x_output): Rename busy_window to
1060 hourglass_window, busy_p to hourglass_p.
1061
52283633
SM
1062 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1063 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1064
1065 * xfns.c: Rename everything containing *busy_cursor* and similar
1066 to *hourglass*.
1067 (syms_of_w32fns): Rename x-busy-pointer-shape to
1068 x-hourglass-pointer-shape, display-busy-cursor to
1069 display-hourglass, busy-cursor-delay to hourglass-delay.
1070
1071 * w32fns.c: Rename everything containing *busy_cursor* and similar
1072 to *hourglass*.
1073 (syms_of_w32fns): Rename x-busy-pointer-shape to
1074 x-hourglass-pointer-shape, display-busy-cursor to
1075 display-hourglass, busy-cursor-delay to hourglass-delay.
1076
1077 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1078 of its busy_p flag.
1079
1080 * dispextern.h (start_hourglass, cancel_hourglass)
1081 (display_hourglass_p): Renamed from *busy_cursor*.
1082
ab2c5f0a
GM
10832001-02-20 Gerd Moellmann <gerd@gnu.org>
1084
d17e49a8
GM
1085 * keyboard.c (read_char): When an event from unread-command-events
1086 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1087
fa97adf6
GM
1088 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1089 equal to the current buffer.
1090
ab2c5f0a
GM
1091 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1092 nil, otherwise we're left with truncate_lines t when a message
1093 is printed with message-truncate-lines bound to t.
1094
aeac019e
GM
10952001-02-19 Gerd Moellmann <gerd@gnu.org>
1096
c8bc6f65
GM
1097 * window.c (Fmove_to_window_line): Undo last change.
1098 (displayed_window_lines): Call line_bottom_y to determine
1099 the line's bottom position.
1100
1101 * dispextern.h (line_bottom_y): Add prototype.
1102
52283633 1103 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1104 (pos_visible_p): Use it.
1105
980a2d69
GM
1106 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1107 set redisplaying_p to 0 here instead of in Frecursive_edit.
1108 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1109 set redisplaying_p.
1110
52283633 1111 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1112 New variables.
1113 (syms_of_xdisp): Initialize new variables.
1114 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1115 Specbind `inhibit-menubar-update' when updating the menu bar.
1116
65048e97
GM
1117 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1118 safe_run_hooks.
1119
1120 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1121 safe_run_hooks.
1122
a57c4026
GM
1123 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1124 is null.
1125
aeac019e
GM
1126 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1127 to the start of the file.
1128
76846b31
GM
11292001-02-16 Gerd Moellmann <gerd@gnu.org>
1130
f3f053f3 1131 * window.c (set_window_buffer): Fix last change.
52283633 1132
f3f053f3
GM
1133 * window.c (set_window_buffer): Set window's vscroll to 0.
1134
dad75588
GM
1135 * window.c (coordinates_in_window): Increase width of area
1136 where the vertical line can be dragged.
1137
c220b753
GM
1138 * xterm.c (x_set_glyph_string_background_width): Extend the
1139 background face to the end of the drawing area in the text
1140 area, only.
1141
c56b1c1b
GM
1142 * xdisp.c (handle_single_display_prop): Set iterator's position
1143 to where the `display' property starts, like for images.
1144 (dump_glyph): New function.
1145 (dump_glyph_row): Use it. Dump info about marginal areas.
1146
1147 * dispnew.c (direct_output_for_insert): Recognize more cases where
1148 glyphs can be written instead of being inserted.
1149
1150 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1151 the left x-coordinate of the area to shift.
1152
76846b31
GM
1153 * dired.c (directory_files_internal): Set result list to nil
1154 before retrying.
1155
0fc71a77
KH
11562001-02-15 Kenichi Handa <handa@etl.go.jp>
1157
1158 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1159 invalid multibyte sequence, treat *SRC as a character of
1160 eight-bit-graphic.
1161
25078b54
EZ
11622001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1163
1164 * textprop.c (Fset_text_properties): Doc fix.
1165
8399f8a0
GM
11662001-02-15 Gerd Moellmann <gerd@gnu.org>
1167
1168 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1169
9a2a6f73
DL
11702001-02-14 Dave Love <fx@gnu.org>
1171
1172 * coding.c: Doc and message fixes.
1173
bf853fee
AI
11742001-02-14 Andrew Innes <andrewi@gnu.org>
1175
1176 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1177 Emacs frame above the screen size.
1178
78c663d8
GM
11792001-02-14 Gerd Moellmann <gerd@gnu.org>
1180
1181 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1182
7cc9f69f
GM
11832001-02-13 Gerd Moellmann <gerd@gnu.org>
1184
0a411995
GM
1185 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1186 case that TO ends up beyond ZV after running before-change-functions.
1187
5ddc1b75
GM
1188 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1189 the selected window if it is showing the buffer in question.
1190
7cc9f69f
GM
1191 * dired.c (directory_files_internal): Initialize errno.
1192 (toplevel): Include errno.h.
1193
2e6621ca
GM
11942001-02-13 Kenichi Handa <handa@etl.go.jp>
1195
1196 * xfaces.c (best_matching_font): New parameter width_ratio.
1197 Multiply avgwidth by width_ratio.
1198 (choose_face_font): Call best_matching_font with width_ratio
1199 calculated from the column width of C.
1200
60222d69
AI
12012001-02-12 Andrew Innes <andrewi@gnu.org>
1202
1203 The following changes are to draw box lines inside characters area
1204 if line-width is negative.
52283633 1205
60222d69
AI
1206 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1207 face->box_line_width is negative.
1208 (x_produce_stretch_glyph): Likewise.
1209 (x_produce_glyphs): Likewise.
1210 (x_estimate_mode_line_height): Likewise.
1211 (x_draw_glyph_string_background): Likewise.
1212 (x_draw_glyph_string_foreground): Likewise.
1213 (x_draw_composite_glyph_string_foreground): Likewise.
1214 (x_draw_glyph_string_box): Likewise.
1215 (x_draw_image_foreground): Likewise.
1216 (x_draw_image_relief): Likewise.
1217 (x_draw_image_foreground_1): Likewise.
1218 (x_draw_image_glyph_string): Likewise.
1219
9804b846
KH
12202001-02-09 Kenichi Handa <handa@etl.go.jp>
1221
1222 The following changes are to draw box lines inside characters area
1223 if line-width is negative.
52283633 1224
9804b846
KH
1225 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1226 face->box_line_width is negative.
1227 (x_produce_stretch_glyph): Likewise.
1228 (x_produce_glyphs): Likewise.
1229 (x_estimate_mode_line_height): Likewise.
1230 (x_draw_glyph_string_background): Likewise.
1231 (x_draw_glyph_string_foreground): Likewise.
1232 (x_draw_composite_glyph_string_foreground): Likewise.
1233 (x_draw_glyph_string_box): Likewise.
1234 (x_draw_image_foreground): Likewise.
1235 (x_draw_image_relief): Likewise.
1236 (x_draw_image_foreground_1): Likewise.
1237 (x_draw_image_glyph_string): Likewise.
1238
1239 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1240 and :line-width can be negative.
52283633 1241 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1242
49be9f70
JR
12432001-02-09 Jason Rumney <jasonr@gnu.org>
1244
1245 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1246 characters the same as ASCII and latin-1.
1247 (x_display_and_set_cursor): Check for the focus frame's selected
1248 window instead of selected_window.
1249 (x_after_update_window_line): Don't clear if frame's internal
1250 border width is zero.
1251 (x_new_font): Don't change a tooltip's size.
1252 (w32_initialize): Set char_ins_del_ok to 1.
1253
1254 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1255 (x_set_font): If font hasn't changed, avoid recomputing
1256 faces and other things.
52283633
SM
1257 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1258 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1259 (x_create_tip_frame): Prevent changing the tooltip's
1260 background color by specifying a color for the default font
1261 in .Xdefaults.
1262 (Qcancel_timer): New variable.
1263 (syms_of_w32fns): Initialize and staticpro it.
1264 (Fx_hide_tip, Fx_show_tip): Use it.
1265 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1266 the timer.
1267 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1268
1269 * w32.c (init_environment): Duplicate local string before putenv.
1270
555e35d2
SZ
12712001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1272
1273 * charset.c (Fstring): A typo.
1274
19c92c94
KH
12752001-02-09 Kenichi Handa <handa@etl.go.jp>
1276
e47a1c33
KH
1277 * charset.c (Fstring): If all arguments are less than 256, return
1278 a unibyte string.
1279
1280 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1281 return a unibyte string.
1282
19c92c94
KH
1283 * coding.c (code_convert_region): After detecting a coding, if
1284 nothing found, set coding->composing to COMPOSITION_NO.
1285 (decode_coding_string): Likewise.
1286
d8e675f5
SM
12872001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1288
1289 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1290 to avoid overflow.
1291
bd503487
KH
12922001-02-07 Kenichi Handa <handa@etl.go.jp>
1293
1294 * charset.c (parse_str_to_multibyte): New function.
1295
1296 * charset.h (parse_str_to_multibyte): Extern it.
1297
1298 * print.c (print_string): If we are going to print a unibyte
1299 string into a multibyte buffer, convert the string to multibyte by
1300 str_to_multibyte.
1301
a8370d72
AI
13022001-02-06 Andrew Innes <andrewi@gnu.org>
1303
1304 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1305 been created. It seems we can get sent window messages such as
1306 WM_ERASEBKGND before we properly update a frame.
1307
c363a1d6
GM
13082001-02-06 Gerd Moellmann <gerd@gnu.org>
1309
1310 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1311 Avoid some unnecessary cursor positioning.
1312
a08332c0
GM
13132001-02-05 Gerd Moellmann <gerd@gnu.org>
1314
52283633 1315 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1316 (LFACE_AVGWIDTH): New macro.
1317 (LFACEP): Use AREF.
1318 (check_lface_attrs): Check LFACE_AVGWIDTH.
1319 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1320 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1321 (merge_face_vectors): Check LFACE_AVGWIDTH.
1322 (Finternal_make_lisp_face): Use AREF.
1323 (xm_set_menu_resources_from_menu_face)
1324 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1325 (Finternal_lisp_face_empty_p): Use AREF.
1326 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1327 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1328 Compare average widths..
1329 (best_matching_font): Arrange for comparing average widths.
1330
52283633
SM
1331 * dispextern.h (enum lface_attribute_index):
1332 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1333
5cb3c8d4
DL
13342001-02-05 Dave Love <fx@gnu.org>
1335
1336 * puresize.h: Revert last change following loadup.el change.
1337
193fba87
AI
13382001-02-05 Andrew Innes <andrewi@gnu.org>
1339
1340 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1341 invocation of temacs, to work with Windows 2000.
1342 (bootstrap-emacs): Ditto.
1343
e16f52ce
GM
13442001-02-05 Gerd Moellmann <gerd@gnu.org>
1345
7a58ab59
GM
1346 * xterm.c (x_display_and_set_cursor): Check for the focus
1347 frame's selected window instead of selected_window.
1348
e89aaabd
GM
1349 * xdisp.c (try_scrolling): If point is in the line below the
1350 window, make sure to move the iterator at least a canonical
1351 char height down.
1352
52283633 1353 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1354
789ce875
KH
13552001-02-05 Kenichi Handa <handa@etl.go.jp>
1356
52283633
SM
1357 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1358 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1359 (ccl_driver): If the CCL program is terminated because of
1360 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1361 destination instead of throwing them away.
1362
20b28f82
GM
13632001-02-02 Gerd Moellmann <gerd@gnu.org>
1364
79fb38c0
GM
1365 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1366 faces and other things.
1367
20b28f82
GM
1368 * xdisp.c (get_next_display_element): Fix case of empty
1369 display table entry.
1370
5a72551e
EZ
13712001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1372
eb24d0bf
EZ
1373 * editfns.c (Fconstrain_to_field): Doc fix.
1374
6a3f48c7
EZ
1375 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1376 into `thoroughly', to make it consistent with the doc string.
1377
5a72551e
EZ
1378 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1379
01acdb05
GM
13802001-02-01 Gerd Moellmann <gerd@gnu.org>
1381
0353b28f
GM
1382 * search.c (search_buffer): Call set_search_regs with a byte
1383 position, not a character position.
1384
01acdb05
GM
1385 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1386 minibuffer-only,
1387
e86b5133
EZ
13882001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1389
1390 * frame.c (Fmodify_frame_parameters): Doc fix.
1391
7442878f
GM
13922001-01-31 Gerd Moellmann <gerd@gnu.org>
1393
01acdb05
GM
1394 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1395 identifier which is not reserved by Standard C.
52283633 1396
7442878f
GM
1397 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1398
1399 * window.c (enum window_part): New enumeration.
1400 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1401 Qright_bitmap_area.
1402 (coordinates_in_window): Return an enumerator from enum
1403 window_part. Fix handling of right scroll bar.
1404 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1405 `right-fringe' instead of `left-bitmap-area' and
1406 `right-bitmap-area'. Use enumerators from enum window_part
1407 instead of hard-coded integers.
52283633
SM
1408 (check_window_containing, window_from_coordinates):
1409 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1410 (syms_of_window): Replace Qleft_bitmap_area and
1411 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1412
7c132cba
EZ
14132001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1414
1415 * editfns.c (Fformat_time_string): Doc fix.
1416
c359dd9e
SM
14172001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1418
1419 * keymap.c (Fwhere_is_internal): Use the first valid binding
1420 if no ascii binding is found (when firstonly is t).
1421
ce070307
GM
14222001-01-31 Gerd Moellmann <gerd@gnu.org>
1423
b4f30ec5
GM
1424 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1425 instead of Finteractive_p.
1426
1427 * lisp.h (interactive_p): Add prototype.
1428
1429 * eval.c (interactive_p): New function.
1430 (Finteractive_p): Use it.
1431
ce070307
GM
1432 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1433
f57b6e64
DL
14342001-01-31 Dave Love <fx@gnu.org>
1435
d61c7afe
DL
1436 * .gdbinit (hook-run): Define to run xreload.
1437
f57b6e64
DL
1438 * textprop.c (Fset_text_properties): Fix newline in doc string.
1439
eef93f99
GM
14402001-01-30 Gerd Moellmann <gerd@gnu.org>
1441
52283633
SM
1442 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1443 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1444
1445 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1446 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1447 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1448
1449 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1450 height.
1451
d9c1f6f9
DL
14522001-01-30 Dave Love <fx@gnu.org>
1453
1454 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1455 AFTER_POTENTIAL_GC.
1456
e8f044a0
GM
14572001-01-29 Gerd Moellmann <gerd@gnu.org>
1458
52283633
SM
1459 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1460 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1461
8e1db7b3
EZ
14622001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1463
1464 * textprop.c (Fset_text_properties): Doc fix.
1465
4eefd9d2
GM
14662001-01-29 Gerd Moellmann <gerd@gnu.org>
1467
1468 * xdisp.c (forward_to_next_line_start): Remove xassert.
1469
fccb8288
EZ
14702001-01-29 Jason Rumney <jasonr@gnu.org>
1471
4eefd9d2 1472 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1473 returning without releasing it.
1474
76581eab
KH
14752001-01-29 Kenichi Handa <handa@etl.go.jp>
1476
1477 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1478 for '^', '$', and '\0'.
1479
83a96b4d
AC
14802001-01-28 Andrew Choi <akochoi@i-cable.com>
1481
5604ec34
AC
1482 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1483 regex for '^', '$', and '\0'.
1484
83a96b4d
AC
1485 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1486 only if current_sblock has been initialized.
1487
1488 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1489 terminal frame even if it is the only visible frame.
1490
c09a6440
KH
14912001-01-28 Kenichi Handa <handa@etl.go.jp>
1492
1493 * fontset.c (font_family_registry): Even if FONTNAME conform to
1494 XLFD, if it specifies other fields than family and registry,
52283633 1495 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1496 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1497 a signle byte character. Don't set FAMILY part to nil here.
1498 It is handled by the caller choose_face_font.
c09a6440
KH
1499 (Fnew_fontset): Call font_family_registry with FORCE 0.
1500 (Fset_fontset_font): Likewise.
1501
4dcd74e6
GM
15022001-01-27 Gerd Moellmann <gerd@gnu.org>
1503
1504 * xdisp.c (display_line): Don't treat a newline as fitting
1505 on the line.
1506
d2906bf8
GM
15072001-01-26 Gerd Moellmann <gerd@gnu.org>
1508
0130fe1a
GM
1509 * window.c (size_window): Set the window's orig_top to nil when
1510 changing heights, so that a future shrink_mini_window won't
1511 restore a bogus height.
1512
550f0e6a
GM
1513 * frame.c (do_switch_frame): If selected frame has a mini-window,
1514 resize that to exact size.
1515
b7b20fbd
GM
1516 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1517
a47b7816
GM
1518 * xdisp.c (display_line): Simplify check for glyphs fitting
1519 entirely in the line.
1520
d2906bf8
GM
1521 * xfns.c (xic_style): New variable.
1522 (create_frame_xic): Move static variable to global scope for
550f0e6a 1523 the case that `static' gets defined away.
d2906bf8 1524
73df2b1e
KH
15252001-01-26 Kenichi Handa <handa@etl.go.jp>
1526
1527 * coding.c (decode_coding): Set a flag for inhibiting
1528 inconsistent eol.
1529 (code_convert_region): Always set saved_coding_symbol.
1530 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1531 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1532
6613cfc4
GM
15332001-01-25 Gerd Moellmann <gerd@gnu.org>
1534
c5e6e06b
GM
1535 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1536 XClearArea.
1537
1538 * xterm.c (x_after_update_window_line): Don't clear if frame's
1539 internal border width is zero.
1540 (x_clear_area): New function.
1541 (x_after_update_window_line, x_clear_end_of_line)
1542 (x_scroll_bar_create, x_scroll_bar_set_handle)
1543 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1544 instead of XClearArea.
1545
1546 * xterm.h (x_clear_area): Add prototype.
1547
6613cfc4
GM
1548 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1549 which doesn't seem necessary anymore with Lesstif 0.92.
1550
650cc6cc
DL
15512001-01-25 Dave Love <fx@gnu.org>
1552
34ac3367
DL
1553 * puresize.h (BASE_PURESIZE): Up to 720000.
1554
650cc6cc
DL
1555 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1556
5e37dc22
GM
15572001-01-25 Gerd Moellmann <gerd@gnu.org>
1558
e1e441f9
GM
1559 * xdisp.c (echo_area_display): Don't call redisplay_internal
1560 when Emacs is shutting down. We can't run hooks etc. that
1561 would be necessary to do a redisplay.
1562
5e37dc22
GM
1563 * lread.c (read_integer): Use type EMACS_INT instead of int.
1564
0fb94c7f
EZ
15652001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1566
1567 * ccl.c (ccl_driver): Fix last change.
1568
e3778624
KH
15692001-01-25 Kenichi Handa <handa@etl.go.jp>
1570
1571 * ccl.h (sturct ccl_program): New member suppress_error.
1572
bb264518 1573 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1574 insert error message to the output.
1575 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1576
1577 * coding.h (struct coding_system): New member suppress_error.
1578
1579 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1580 (Fset_terminal_coding_system_internal): Set the member
1581 suppress_error to 1.
1582 (Fset_safe_terminal_coding_system_internal): Likewise.
1583
245ed2b1
SM
15842001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1585
1586 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1587 as if it was a `charset'.
1588
f9aaedb6
GM
15892001-01-24 Gerd Moellmann <gerd@gnu.org>
1590
1591 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1592 value in where_is_cache; the next lookup in the cache returns
1593 something bogus if we do.
1594
c3902c3e
EZ
15952001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1596
1597 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1598 if HAVE_WINDOW_SYSTEM isn't defined.
1599
3497f73e
GM
16002001-01-24 Gerd Moellmann <gerd@gnu.org>
1601
e7e41584
GM
1602 * fns.c (sweep_weak_table): Fix code taking items out of
1603 the hash collision chain. Some cleanup.
1604
3497f73e
GM
1605 * xterm.c (x_new_font): Don't change a tooltip's size.
1606
1607 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1608 background color by specifying a color for the default font
1609 in .Xdefaults.
1610
3d48e687
KH
16112001-01-24 Kenichi Handa <handa@etl.go.jp>
1612
96531b20
KH
1613 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1614 a workaround for SunOS 4's cc.
1615 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1616 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1617 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1618 statement.
3d48e687 1619
a30629d2
GM
16202001-01-23 Gerd Moellmann <gerd@gnu.org>
1621
1622 * xterm.c (x_set_window_size_1): New function extracted from
1623 x_set_window_size.
1624 (x_set_window_size): Use it.
1625 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1626 doesn't have a widget, like tooltips.
1627
5a43decf
EZ
16282001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1629
52283633 1630 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1631
b0e98867
KH
16322001-01-23 Kenichi Handa <handa@etl.go.jp>
1633
1634 * fns.c (Fset_char_table_default): Fix to make sub char-table
1635 correctly.
1636
50606b4c
GM
16372001-01-22 Gerd Moellmann <gerd@gnu.org>
1638
cb2ddc53 1639 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1640 a desired tool bar string, even if there are no tool bar items.
1641
57c28064
GM
1642 * xdisp.c (Ftool_bar_lines_needed): New function.
1643 (syms_of_xdisp): Defsubr it.
1644
50606b4c
GM
1645 * editfns.c (Fformat): Don't extend text properties from arguments
1646 to padding chars in the result.
1647
2f169c38
EZ
16482001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1649
1650 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1651
0f32f023
AI
16522001-01-20 Andrew Innes <andrewi@gnu.org>
1653
52283633 1654 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1655 (w32_initialize): Don't set term hooks that aren't actually needed
1656 in windowed mode.
1657
1658 * xfaces.c (realize_default_face):
1659 (realize_face):
1660 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1661
1662 * xdisp.c (handle_single_display_prop): Remove references to
1663 FRAME_W32_CONSOLE_P.
1664
52283633 1665 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1666
1667 * frame.h (output_method): Remove output_w32_console method.
1668 (FRAME_W32_CONSOLE_P): Remove macro.
1669
1670 * frame.c (Qw32_console): Remove variable.
1671 (Fframep): Remove references to it.
1672 (syms_of_frame): Ditto.
1673 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1674
1675 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1676 redefinition.
1677
7173eada
KH
16782001-01-20 Kenichi Handa <handa@etl.go.jp>
1679
1680 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1681
755b45ce
AI
16822001-01-19 Andrew Innes <andrewi@gnu.org>
1683
1684 * w32.c (init_environment): Add a version-independent site-lisp
1685 directory to EMACSLOADPATH, after the version dependent one.
1686
0a949811
GM
16872001-01-19 Gerd Moellmann <gerd@gnu.org>
1688
8501998a
GM
1689 * editfns.c (Fbuffer_substring): Doc fix.
1690
52283633
SM
1691 * xdisp.c (message_dolog, message2, message2_nolog):
1692 Rename parameter LEN to NBYTES.
0a949811 1693
e6ebcbbe
KH
16942001-01-19 Kenichi Handa <handa@etl.go.jp>
1695
200ecca2
KH
1696 * charset.c (strwidth): Use c_string_width.
1697 (c_string_width): New function.
1698 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1699 Caller changed.
1700
1701 * charset.h (c_string_width, lisp_string_width): Extern them.
1702
52283633 1703 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1704
e6ebcbbe
KH
1705 * indent.c (check_composition): Check validity of composition.
1706
200ecca2
KH
1707 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1708 characters by calling c_string_width.
1709 (x_consider_frame_title): Get byte length of frame tile string
1710 correctly.
1711 (display_mode_element): Pay attention to width of non-ASCII
1712 characters by calling strwidth.
1713
8692ca92
GM
17142001-01-18 Gerd Moellmann <gerd@gnu.org>
1715
8962e303
GM
1716 * xfns.c (Qcancel_timer): New variable.
1717 (syms_of_xfns): Initialize and staticpro it.
1718 (Fx_hide_tip, Fx_show_tip): Use it.
1719 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1720 the timer.
1721 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1722
91523be9
GM
1723 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1724
1725 * window.h (WINDOW_LIVE_P): New macro.
1726
b0b7ed0e
GM
1727 * window.c (window_size_fixed): New variable.
1728 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1729 the doc string.
1730
06bccf8e
GM
1731 * eval.c (specbind): If binding a per-buffer variable which
1732 doesn't have a buffer-local value in the current buffer, change
1733 the global value by changing the value of the symbol bound in all
1734 buffers not having their own value, to make it consistent with
1735 what happens with other buffer-local variables.
1736
8692ca92
GM
1737 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1738
1739 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1740 when searching for a newline.
1741
bb3a3b50
KH
17422001-01-18 Kenichi Handa <handa@etl.go.jp>
1743
1744 * xdisp.c (display_string): Fix previous change.
1745
c2cc16fa
JR
17462001-01-18 Jason Rumney <jasonr@gnu.org>
1747
1748 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1749 GLYPH_DEBUG is defined.
1750 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1751 true for images with `:ascent 100'.
1752 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1753 meantime, use face MOUSE_FACE_ID.
1754 If first glyph isn't a character glyph, use the ASCII NUL
1755 character to determine the face.
1756 (expose_area): Do not treat left margin specially.
1757 (note_mode_line_highlight): If no local_map, check global keymap.
1758 (note_mouse_highlight): Initialize overlay.
52283633 1759 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1760 (show_scroll_bars): Remove unused function.
1761 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1762 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1763 Clip to row.
52283633 1764 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1765 (x_free_frame_resources): Unload relief colors.
1766
9c11f79e
GM
17672001-01-17 Gerd Moellmann <gerd@gnu.org>
1768
3aec8722 1769 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1770 get_next_display_element when the newline is already found.
1771 This may change the iterator's position, when its current position is
3aec8722
GM
1772 equal to the iterator's stop_charpos.
1773
f3ffc2c3
GM
1774 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1775 zero, use this method only at the end of a line.
1776
52283633 1777 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1778 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1779 if SCALABLE_FONTS_P is set.
52283633 1780
d26d6fd9
GM
1781 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1782 so that scalable fonts are included.
1783
9c11f79e
GM
1784 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1785 In the cache, use a key containing the information if scalable
1786 fonts are included.
1787 (x_load_font): Adapt to change of keys in the font cache.
1788
17892001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1790
d26d6fd9
GM
1791 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1792 XListFonts to take advantage of font caching.
1793
9c11f79e
GM
1794 * xterm.c (x_list_fonts): Ensure caching font information when
1795 called for a null frame, which is the case frequently when Emacs
1796 starts.
1797
51446987
GM
17982001-01-17 Gerd Moellmann <gerd@gnu.org>
1799
f864120f
GM
1800 * xfns.c (QCconversion): Replaces QCalgorithm.
1801
1802 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1803
1804 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1805 of :algorithm.
52283633 1806
e37d1417
GM
1807 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1808 not everything could be displayed.
1809
51446987
GM
1810 * line.h, x-list-font.c: Files removed because unused.
1811
9ad4f3e5
AI
18122001-01-17 Andrew Innes <andrewi@gnu.org>
1813
1814 * dired.c (directory_files_internal): Convert result from readdir
1815 to a unibyte string initially, to avoid possible misinterpretation
1816 of some bytes as the internal form of Emacs characters.
1817
2eda09b5
KH
18182001-01-17 Kenichi Handa <handa@etl.go.jp>
1819
1820 * fns.c (concat): Be sure to avoid putting the same `composition'
1821 property on the adjacent regions.
1822
826f3788
GM
18232001-01-16 Gerd Moellmann <gerd@gnu.org>
1824
52283633 1825 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1826 (Fscroll_right, Fscroll_left): Set it here instead, if called
1827 interactively.
1828
d57b83b3
GM
1829 * buffer.c (Fset_buffer_modified_p): Set buffer's
1830 prevent_redisplay_optimizations_p flag.
1831
826f3788 1832 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1833 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1834 with additional arg.
1835
1836 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1837 Change prototype.
826f3788 1838
826f3788
GM
1839 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1840 FROM_WHERE, for debugging.
1841
261d788b
KH
18422001-01-16 Kenichi Handa <handa@etl.go.jp>
1843
1844 * ccl.c (Fregister_ccl_program): Handle the return value of
1845 resolve_symbol_ccl_program correctly.
52283633 1846 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1847
bccee4f2
GM
18482001-01-15 Gerd Moellmann <gerd@gnu.org>
1849
e4ded23c
GM
1850 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1851 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1852
1853 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1854 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1855 the display; we didn't open it.
1856
bccee4f2
GM
1857 * dispnew.c (save_or_restore_current_matrices): Function removed.
1858 (save_current_matrix, restore_current_matrix): New functions.
1859 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1860 restore the frame's current matrix. Due to the glyph pointer
1861 setup done in adjust_glyph_matrix, there is no easy way to make
1862 saving the current matrix in the desired matrix generally correct,
1863 so don't try it.
1864
ebeccffa
KH
18652001-01-15 Kenichi Handa <handa@etl.go.jp>
1866
1867 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1868 truncation glyphs.
1869 (display_line): Optimize for wide characters.
e4ded23c 1870 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1871 partially. On ttys, produce more than one truncation glyph for
1872 multi-column characters that don't fit on the line.
1873
64388126
KH
18742001-01-13 Kenichi Handa <handa@etl.go.jp>
1875
52283633
SM
1876 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1877 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1878
8edb0a6f
JR
18792001-01-13 Jason Rumney <jasonr@gnu.org>
1880
1881 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1882 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1883 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1884 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1885
52283633
SM
1886 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1887 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1888 (x_draw_image_glyph_string): Adapt to change of image margins.
1889
1890 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1891 variables.
1892
1893 * w32bdf.c (search_file_line, get_cached_font_char)
1894 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1895
1896 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1897
1898 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1899 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1900 (Fw32_send_sys_command): Remove unused variables.
1901 (w32_msg_pump): Add parentheses.
1902
1903 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1904 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1905 Add parentheses.
1906
4956d1ef
GM
19072001-01-12 Gerd Moellmann <gerd@gnu.org>
1908
b30623be
GM
1909 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1910 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1911 being a pair of margins.
1912 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1913 to DEFVAR_LISP. Extend doc.
1914
1915 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1916 margins.
1917 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1918 pair of integers `(X . Y)', use X for the horizontal and Y for the
1919 vertical margin.
1920 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1921 (parse_image_spec): Check it.
52283633
SM
1922 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1923 (tiff_format, gif_format, gs_format):
1924 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1925
52283633
SM
1926 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1927 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1928 (x_draw_image_glyph_string): Adapt to the change of image margins.
1929
1930 * dispextern.h (struct image): Replace member `margin' with
1931 `hmargin' and `vmargin'.
1932
4554cc79
GM
1933 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1934 and GLYPHS.
1935
1936 * dispnew.c (update_text_area): Put code which decrements the
1937 stop position when the row's face extends to the end of the
3bffc665 1938 line in #if 0.
4554cc79 1939
3cccce8d
GM
1940 * xfns.c (x_set_mouse_color): Fix color allocation.
1941
4956d1ef
GM
1942 * keyboard.c: Call get_local_map with new argument list.
1943
1944 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1945
1946 * intervals.h (enum map_property): Removed.
1947 (get_local_map): Change prototype.
1948
1949 * keymap.c: Call get_local_map with new argument list.
1950 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1951
2c2ff7f2
GM
19522001-01-11 Gerd Moellmann <gerd@gnu.org>
1953
a23887b9
GM
1954 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1955 of the size needed for the tool bar string. For the last image,
1956 use a `display' property that reaches to the end of the string.
1957
a7ee2d2e
GM
1958 * xselect.c (selection_request_dpyinfo): New variable.
1959 (x_handle_selection_request): Set it.
1960 (x_selection_request_lisp_error): Don't call
1961 x_decline_selection_request if selection request's display has
1962 been closed.
1963
52283633
SM
1964 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1965 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1966
457b792c
GM
19672001-01-10 Dave Love <fx@gnu.org>
1968
1969 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1970 ${SOME_MACHINE_LISP}, not ${lisp}.
1971
c1efd260
GM
19722001-01-10 Gerd Moellmann <gerd@gnu.org>
1973
52283633
SM
1974 * xdisp.c (display_line): On ttys, produce more than one truncation
1975 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1976
ac95a621
GM
1977 * xselect.c (x_reply_selection_request): Add a comment.
1978
c1efd260
GM
1979 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1980 XkbGetNames instead of XkbGetKeyboard.
1981
1bfb1345
DL
19822001-01-10 Dave Love <fx@gnu.org>
1983
1984 * sysdep.c (random): Revert the declaration.
1985
38119822
GM
19862001-01-09 Gerd Moellmann <gerd@gnu.org>
1987
52283633
SM
1988 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1989 Call function string_bytes.
35f464a7
GM
1990 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1991
1992 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1993 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1994 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1995 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1996 the current sblock.
1997 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1998 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1999 after sweeping strings, and at the end.
2000 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
2001
38119822
GM
2002 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
2003 ensure that pop_message is called.
2004
2005 * keyboard.c (Fexecute_extended_command): Use a
2006 record_unwind_protect to ensure that pop_message is called.
2007
2008 * lisp.h (push_message_unwind): Add prototype.
2009
2010 * xdisp.c (push_message_unwind): New function.
2011
2012 * fileio.c (do_auto_save_unwind): Do the pop_message here
2013 instead of in Fdo_auto_save.
2014 (Fdo_auto_save): Don't call pop_message.
2015
f47a9ec4
KR
20162001-01-08 Ken Raeburn <raeburn@gnu.org>
2017
2018 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
2019 in inner block.
2020
a758f97d
GM
20212001-01-08 Gerd Moellmann <gerd@gnu.org>
2022
6d0afc03
GM
2023 * window.c (window_scroll_pixel_based): Adjust glyph matrices
2024 when increasing window's vscroll.
2025
a758f97d
GM
2026 * macros.c (Qkbd_macro_termination_hook): New variable.
2027 (syms_of_macros): Initialize and staticpro it.
2028 (pop_kbd_macro): Run kbd-macro-termination-hook.
2029
2030 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
2031
1bfb1345 20322001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
2033
2034 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
2035 arglist, for documentation's sake.
2036
0dac6924
AI
20372001-01-06 Andrew Innes <andrewi@gnu.org>
2038
2039 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
2040 of *.pdb.
2041
8182406a
AI
20422001-01-05 Andrew Innes <andrewi@gnu.org>
2043
2044 * term.c (update_end): Don't check updating_frame; for some reason
2045 this can be 0 sometimes, such as after dismissing a popup menu,
2046 and isn't necessary given the explicit frame argument.
2047
3828218c
GM
20482001-01-05 Gerd Moellmann <gerd@gnu.org>
2049
2050 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
2051 on some systems, and an unsigned long on others, like FreeBSD 4.1.
2052
2f5ded21
GM
20532001-01-04 Gerd Moellmann <gerd@gnu.org>
2054
52283633 2055 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
2056
2057 * xfns.c (x_create_tip_frame): Preserve the value of
2058 face_change_count around the creation of the tip frame.
52283633 2059
2f5ded21
GM
2060 * xfns.c (last_show_tip_args): New variable.
2061 (compute_tip_xy): New function.
2062 (Fx_show_tip): Reuse an existing tip frame, if possible.
2063 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2064
dfad65fa
DL
20652001-01-04 Dave Love <fx@gnu.org>
2066
64d4ec0f
DL
2067 * editfns.c (Fformat): Doc fix.
2068
dfad65fa
DL
2069 * systime.h (set_file_times): Prototype.
2070
2071 * widget.h (EmacsFrameSetCharSize_): Prototype.
2072
2073 * sysdep.c (random, srandom): Declare explicitly.
2074
2075 * dispextern.h (move_it_vertically_backward): Declare.
2076
85fe3b5e
GM
20772001-01-04 Gerd Moellmann <gerd@gnu.org>
2078
0f2ac578
GM
2079 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2080 like in Fx_create_frame.
2081
482cca61
GM
2082 * xfaces.c (set_font_frame_param): Don't do anything for
2083 non-graphical frames.
2084
85fe3b5e
GM
2085 * window.c (Fdelete_other_windows): Set window's window_end_valid
2086 to nil when changing the window's start. Don't change the
2087 window's start when its top position hasn't changed. If we do,
2088 this will set the window's optional_new_start, which act's like a
2089 force_start during redisplay with C-x 1 M-> under particular
2090 circumstances (see report from Per Starback to emacs-pretest-bug
2091 from 2000-12-13.).
2092
3e99d3b4
GM
20932001-01-03 Gerd Moellmann <gerd@gnu.org>
2094
a77dc1ec
GM
2095 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2096 short cut at the start of the function. Add an assertion.
2097 (reseat_at_next_visible_line_start): Add an assertion.
2098
2f3cad6c
GM
2099 * window.c (Frecenter): When changing the window start, set the
2100 window's window_end_valid to nil.
2101 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2102
2103 * dispextern.h (move_it_past_eol): Add prototype.
2104
2105 * xdisp.c (move_it_past_eol): New function.
2106
3e99d3b4
GM
2107 * window.c (Fwindow_end): Doc fix.
2108
21092001-01-03 Dave Love <fx@gnu.org>
2110
52283633 2111 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2112
bafb434c
GM
21132001-01-03 Gerd Moellmann <gerd@gnu.org>
2114
2115 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2116 the enabled_p flag of the glyph row at window_end_vpos to 0.
2117 (handle_single_display_prop): Fix last change.
2118
5297fb00
RS
21192001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2120
2121 * window.c (Frecenter): Doc fix.
2122
13d6a61c
AI
21232001-01-02 Andrew Innes <andrewi@gnu.org>
2124
2125 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2126
2127 * frame.h (output_method): Add output_w32_console method.
2128 (FRAME_W32_CONSOLE_P): New macro.
2129
2130 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2131 use output_w32_console method.
2132 (Qw32_console): New Lisp_Object.
2133 (Fframep): Return it.
2134 (syms_of_frame): Init it.
52283633 2135 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2136
2137 * xfaces.c (realize_default_face): Set face foreground and
2138 background to unspecified for w32_console frames.
2139 (realize_face): Realize face cache for w32_console frames.
2140 (realize_tty_face): Accept w32_console frames.
2141
52283633 2142 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2143 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2144 necessary, even if running interactively.
2145
2146 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2147 w32_console frames.
2148
52283633
SM
2149 * w32term.c (x_update_begin):
2150 (x_update_end):
2151 (x_clear_frame):
2152 (x_ins_del_lines):
2153 (x_change_line_highlight):
2154 (x_delete_glyphs):
2155 (w32_ring_bell):
2156 (x_update_begin):
2157 (x_update_end):
2158 (w32_reassert_line_highlight):
2159 (w32_frame_rehighlight):
13d6a61c
AI
2160 (w32_frame_raise_lower): Do nothing if not w32 frame.
2161
2162 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2163
2164 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2165 system doesn't tell us directly.
2166 (Fx_display_visual_class): Implement properly.
2167
d6bb0c0d
GM
21682001-01-02 Gerd Moellmann <gerd@gnu.org>
2169
2170 * window.c (Frecenter): Handle centering in graphical frames
2171 specially. Centering on the basis of line counts doesn't work
2172 reliably with variable-height lines.
52283633 2173
315f5865
EZ
21742001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2175
2176 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2177 and al[].
2178
52283633 2179 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2180 (update_compositions): Remove unused variable `hook'.
2181
2182 * intervals.c (get_local_map): Remove unused variable `tem'.
2183
2184 * doprnt.c (doprnt1): Remove unused variable `size'.
2185
2186 * fns.c (Flength): Remove unused variable `tail'.
2187 (Fdelete): Remove unused variable `size'.
2188
2189 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2190 and `gcpro2'.
2191
52283633 2192 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2193
2194 * data.c (find_symbol_value): Remove extra 3rd argument in the
2195 call to swap_in_symval_forwarding.
2196
52283633 2197 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2198
2199 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2200 (trivial_regexp_p): Remove unused variable `c'.
2201 (boyer_moore): Remove unused variable `k'.
2202
2203 * indent.c (current_column): Remove unused variable `stopchar'.
2204 (Fcompute_motion): Remove unused variable `contin'.
2205
2206 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2207
2208 * dired.c (directory_files_internal): Fix a typo in a comment.
2209 Remove an unused variable `handler'.
52283633 2210 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2211 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2212 on BSD4_2.
2213
52283633 2214 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2215
2216 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2217 and `buf'.
2218 (Fmarker_insertion_type): Remove unused variable `buf'.
2219
2220 * insdel.c (make_gap): Remove unused variable `result'.
2221
52283633 2222 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2223 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2224 (menu_bar_items): Remove unused function-scope variable `tem'.
2225
2226 * fontset.c (fontset_ref): Remove unused variable `i'.
2227 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2228 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2229 (make_fontset_for_ascii_face): Remove unused variable `name'.
2230 (fs_load_font): Remove unused variable `font_idx'.
52283633 2231 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2232 (list_fontsets): Remove unused variable `tail'.
2233 (Fnew_fontset): Remove unused variables `family' and `registry'.
2234 (accumulate_font_info): Remove unused variable `tmp'.
2235 (Ffontset_font): Remove unused variable `id'.
2236 (syms_of_fontset): Remove unused variable `i'.
2237
2238 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2239 to x_term_init.
2240 (lookup_image): Remove unused variable `file'.
2241 (xbm_load): Remove unused variables `bitmap_data', `height', and
2242 `width'. Remove function-local variable `i', leave the
2243 block-local one.
2244 (gif_load): Remove unused variable `inc'.
2245
52283633 2246 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2247 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2248 leave only the one in the inner block.
2249
2250 * xfaces.c (face_fontset, realize_default_face): Remove unused
2251 variable `fontset'.
2252 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2253
2254 * term.c (encode_terminal_code): Remove unused variable `c'.
2255
2256 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2257 char *' instead of `char *'.
2258
2259 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2260 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2261 (Fchar_category_set): Remove unused variables `val', `charset',
2262 `c1' and `c2'.
2263
52283633
SM
2264 * coding.c (detect_coding_iso2022, setup_coding_system):
2265 Remove unused variable `i'.
315f5865
EZ
2266 (detect_coding_mask): Remove unused variable `idx'.
2267 (detect_coding): Remove unused variable `i'.
2268 (ccl_coding_driver): Remove unused variable `result'.
2269 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2270 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2271 (encode_coding_string): Remove unused variables `gcpro1' and
2272 `saved_coding_symbol'.
2273 (Ffind_coding_systems_region_internal): Remove function-local
2274 variable args[], leave only the block-local one.
2275 (code_convert_region1): Remove unused variable `len'.
2276
2277 * charset.c (char_printable_p): Remove unused variable `chars'.
2278 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2279 (str_to_multibyte): Remove unused variable `c'.
2280
2281 * window.c (size_window): Remove block-local variable `min_size'.
2282
2283 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2284 `header_line_height'.
2285 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2286 enum display_element_type.
2287
1a8a9daf
GM
22882001-01-02 Gerd Moellmann <gerd@gnu.org>
2289
6dde6abc 2290 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2291 statements that call X. Save away the error message in a local copy.
2292
1883b2c6
GM
2293 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2294 the start.
2295
a13be207
GM
2296 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2297 in or at the start of invisible text.
2298
1a8a9daf
GM
2299 * dispnew.c (update_window): Don't check_current_matrix_flags.
2300
3608c0f9
JR
23012001-01-01 Jason Rumney <jasonr@gnu.org>
2302
2303 * w32fns.c (x_figure_window_size): Do not allow new_height and
2304 new_width of frame to override specified values.
2305
abb1acc4
KH
23062000-12-30 Kenichi Handa <handa@etl.go.jp>
2307
52283633 2308 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2309
762a68ec
GM
23102000-12-29 Gerd Moellmann <gerd@gnu.org>
2311
52283633 2312 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2313 (update_window) [GLYPH_DEBUG]: Call it.
2314 (scrolling_window): Prevent including current rows which are below
2315 what's displayed in the window.
2316
2317 * xdisp.c (try_window_reusing_current_matrix)
2318 <new start <= old start>: Disable rows in the current matrix
2319 which are below the window after scrolling.
52283633 2320
762a68ec
GM
2321 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2322 is zero. It's not worth the complexity.
2323 (invisible_text_between_p): Put in #if 0 because unused.
2324
2d5912c1
GM
23252000-12-28 Gerd Moellmann <gerd@gnu.org>
2326
46f6a258
GM
2327 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2328 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2329
89f93679
GM
2330 * keyboard.c (echo_char): If C is an integer, always call
2331 push_key_description. Former code could signal an invalid
2332 character error.
2333
2334 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2335 If set, print multibyte text.
2336 (Fsingle_key_description): Call push_key_description with
2337 FORCE_MULTIBYTE set.
2338 (describe_buffer_bindings): Likewise.
2339
2340 * lisp.h (push_key_description): Add prototype.
2341
c06017fb
GM
2342 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2343 around the call to redisplay_internal.
2344
f1d2ce7f
GM
2345 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2346
2d5912c1
GM
2347 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2348
9371f831
KH
23492000-12-28 Kenichi Handa <handa@etl.go.jp>
2350
2351 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2352 (ccl_driver): New local variable `extra_bytes'.
2353
2354 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2355
52283633
SM
2356 * coding.c (setup_coding_system):
2357 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2358 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2359
0c80628a
KH
23602000-12-28 Kenichi Handa <handa@etl.go.jp>
2361
2362 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2363 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2364 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2365 (decode_composition_emacs_mule): New function.
2366 (decode_coding_emacs_mule): Decode composition sequence by calling
2367 decode_composition_emacs_mule.
2368 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2369 (encode_coding_emacs_mule): Changed from macro to function.
2370 If a text contains compositions, encode them correctly.
0c80628a
KH
2371 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2372 that decoding and encoding are required.
2373
3e32cc27
GM
23742000-12-27 Gerd Moellmann <gerd@gnu.org>
2375
5e25feee
GM
2376 * xfaces.c (PT_PER_INCH): New macro.
2377 (xlfd_point_size): Compute real point size from font's pixel size.
2378 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2379 instead of 72.
2380
892d8fcd
GM
2381 * .gdbinit: Comment out the line pointing to the Lesstif source
2382 directory.
2383
12c8b416
GM
2384 * window.c (Frecenter): Use displayed_window_lines instead
2385 of window_internal_height.
2386
6061fbf0
GM
2387 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2388 instead of x-toolkit-scroll-bars-p.
2389 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2390
2391 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2392 instead of x-toolkit-scroll-bars-p.
2393 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2394
3e32cc27
GM
2395 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2396 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2397 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2398 New variables.
2399 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2400 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2401 (build_frame_matrix_from_leaf_window): Remove unused code.
2402 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2403 redisplay history.
2404 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2405 (update_window) [GLYPH_DEBUG]: Likewise.
2406 (syms_of_display): Defsubr dump-redisplay-history.
2407
31798cfe
GM
24082000-12-23 Gerd Moellmann <gerd@gnu.org>
2409
f717c2ba
GM
2410 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2411 the end of the prompt. Set echo_after_prompt to the offset
2412 of echoptr in echobuf.
2413
aeb2b8fc
GM
2414 * xdisp.c (init_from_display_pos): Pop until the iterator's
2415 stack is empty; there may be frames for stretch or images
2416 on the stack.
2417
31798cfe
GM
2418 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2419 (save_or_restore_current_matrix): New function for the same
2420 purpose, but more efficient.
2421 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2422
f8156156
EZ
24232000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2424
2425 * xdisp.c (syms_of_xdisp): Fix last change.
2426
bdd6d4e8
GM
24272000-12-23 Gerd Moellmann <gerd@gnu.org>
2428
2429 * xdisp.c (syms_of_xdisp): Doc fix.
2430
2431 * xdisp.c (redisplay_window): Remove label restore_buffers;
2432 use finish_scroll_bars instead to make sure that scroll bars
2433 are redeemed. If we don't do this, flickering can result from
2434 scroll bars being destroyed and recreated.
2435
9436cdf9
JR
24362000-12-22 Jason Rumney <jasonr@gnu.org>
2437
2438 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2439 in the wrong colors when the foreground is not black.
2440 (expose_window): Don't redraw the window that's currently being
2441 updated.
2442
951f9df5
GM
24432000-12-22 Gerd Moellmann <gerd@gnu.org>
2444
856ff7a7
GM
2445 * window.c (size_window): When setting the window's too_small_ok
2446 flag, compare old size with minimum size depending on WIDTH_P,
2447 don't compare with window_min_width.
52283633 2448
951f9df5
GM
2449 * window.c (delete_window): Simplify somewhat.
2450 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2451 freeing window matrices. The flag windows_or_buffers_changed is
2452 set, so the next redisplay will consider all windows; this should
2453 suffice.
2454
886bc933
KH
24552000-12-22 Kenichi Handa <handa@etl.go.jp>
2456
2457 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2458
2459 * ccl.h (struct ccl_program): New member cr_consumed.
2460
2461 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2462 (CCL_READ_CHAR): Handle EOL conversion here.
2463 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2464
177f4e88
GM
24652000-12-21 Gerd Moellmann <gerd@gnu.org>
2466
52283633 2467 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2468
2469 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2470 otherwise tabs of different size compare equal.
2471
2472 * callint.c (Fcall_interactively): Prevent a compiler warning.
2473
2474 * print.c (print_unwind): Return nil.
2475 (PRINTDECLARE): Initialize all local variables.
2476 (print_preprocess): Add a default case.
2477
8e15274f
GM
2478 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2479
2480 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2481
52283633 2482 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2483 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2484
2485 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2486
2487 * dispnew.c (ensure_frame_matrix): Removed.
2488 (save_frame_matrix, restore_frame_matrix): New functions.
2489 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2490
2491 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2492 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2493
99012074
AI
24942000-12-21 Andrew Innes <andrewi@gnu.org>
2495
2496 * w32term.c (x_update_begin): Regenerate the palette here, rather
2497 than for each window.
2498
2499 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2500 palette is NULL, since this corrupts memory! Also get
2501 display_info reference from frame.
2502
29ef7d2d
JR
25032000-12-21 Jason Rumney <jasonr@gnu.org>
2504
2505 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2506
2507 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2508 to avoid returning without releasing it.
3e27fa1f 2509
3f9d67a6
KH
25102000-12-21 Kenichi Handa <handa@etl.go.jp>
2511
587fc3f9
KH
2512 * keymap.c (push_key_description): Don't convert eight-bit-control
2513 and eight-bit-graphic to multibyte character.
2514
3f9d67a6
KH
2515 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2516 generic character and CODE1 is nil, return the smallest character
2517 in CHARSET.
2518
774ba8c9
DL
25192000-12-20 Dave Love <fx@gnu.org>
2520
2521 * s/osf5-0.h (NSIG): Don't redefine.
2522
88416888
SM
25232000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2524
2525 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2526 excluding menu-bar and tool-bar.
2527 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2528 (menu_item_p): Remove.
2529 (where_is_internal_1): Don't ignore menu-items.
2530
a6426c6f
GM
25312000-12-20 Gerd Moellmann <gerd@gnu.org>
2532
03ff8aab
GM
2533 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2534 into account.
2535
2536 * window.c (make_window): Initialize window's min_hscroll.
2537 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2538 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2539 to zero.
2540 (struct saved_window): New member min_hscroll.
2541 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2542 (Fset_window_configuration): Set window's min_hscroll.
2543 (save_window_save): Save window's min_hscroll.
2544 (compare_window_configurations): Compare min_hscroll values.
2545
2546 * window.h (struct window): New member min_hscroll.
2547
2548 * keyboard.c (echo_prompt): Prevent a compiler warning.
2549
8de4aaf8
GM
2550 * xdisp.c (try_cursor_movement): Fix last change. The real
2551 condition is that PT is at the end of the row, and should
2552 be displayed at the start of the next row.
52283633 2553
3f7e3031
GM
2554 * xdisp.c (try_cursor_movement): If we end on a partially
2555 visible line, end we already decided to scroll, return -1.
2556
a6426c6f
GM
2557 * dispextern.h (ensure_frame_matrix): Add prototype.
2558
2559 * window.c (delete_window, Fsplit_window)
2560 (Fset_window_configuration): Call ensure_frame_matrix.
2561
52283633
SM
2562 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2563 New functions.
a6426c6f
GM
2564 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2565 completed, call fake_current_matrices instead of marking frame
2566 garbaged.
2567
57fa2774
JR
25682000-12-20 Jason Rumney <jasonr@gnu.org>
2569
2570 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2571
d925df90
EZ
25722000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2573
2574 * fns.c (Frequire): Doc fix.
2575
7b93a85b
GM
25762000-12-19 Gerd Moellmann <gerd@gnu.org>
2577
52283633 2578 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2579
c74e645b
GM
2580 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2581 currently displaying a message.
2582
7b93a85b
GM
2583 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2584 xterm.h.
2585 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2586
90d97e64
AI
25872000-12-18 Andrew Innes <andrewi@gnu.org>
2588
2589 * w32.c (w32_strerror): New function.
2590
2591 * w32.h (w32_strerror): New extern.
2592
2593 * w32fns.c (Fw32_shell_execute): Use it.
2594
91c9e6ce
GM
25952000-12-18 Gerd Moellmann <gerd@gnu.org>
2596
2597 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2598
6f4745e2
EZ
25992000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2600
2601 * msdos.c (IT_set_face): Obey inverse_video.
2602
c9e088ce
KH
26032000-12-18 Kenichi Handa <handa@etl.go.jp>
2604
2605 * dired.c (directory_files_internal): Always return decoded filenames.
2606
c3695f5f
GM
26072000-12-18 Gerd Moellmann <gerd@gnu.org>
2608
52d8e4ff
GM
2609 * xterm.c (x_connection_closed): Prevent being called recursively
2610 because of an error condition in XtCloseDisplay.
52283633 2611
62be9979
GM
2612 * xdisp.c (init_iterator): If noninteractive, and the frame's
2613 face cache is null, make one.
2614
52283633 2615 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2616
c3695f5f
GM
2617 * process.c (wait_reading_process_input): Check for pending
2618 input when running timers.
2619
78555fbe
EZ
26202000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2621
52283633 2622 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2623
b2b36264
KH
26242000-12-18 Kenichi Handa <handa@etl.go.jp>
2625
2626 * process.c (read_process_output): Don't run a filter if the code
2627 decoder produces nothing but carryover.
2628
9c543fbf
AI
26292000-12-17 Andrew Innes <andrewi@gnu.org>
2630
2631 * w32.c (sys_rename): Only check errno against EEXIST, and not
2632 EACCES, when determining whether rename failed because the target
2633 exists. This was resulting in indefinite looping on Windows 9x if
2634 the source file was locked by another process.
2635
2636 * w32fns.c (Ffile_system_info): New function.
2637 (syms_of_w32fns): Defsubr it.
2638
10c2b5a8
GM
26392000-12-17 Gerd Moellmann <gerd@gnu.org>
2640
b0228ace
GM
2641 * window.c (coordinates_in_window): Fix computation for
2642 position on vertical line between mode lines.
2643
10c2b5a8
GM
2644 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2645 Don't alter tip_frame or tip_window.
2646 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2647 was deleted.
2648
c844a81a
GM
2649 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2650 Don't alter tip_frame or tip_window.
2651 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2652 was deleted.
2653
6c825f8e
EZ
26542000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2655
2656 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2657 be consistent with the doc string. Reported by NAKAJIMA Mikio
2658 <minakaji@osaka.email.ne.jp>.
2659
af4bb4c8
KH
26602000-12-16 Kenichi Handa <handa@etl.go.jp>
2661
2662 * xfaces.c (Vface_ignored_fonts): New variable.
2663 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2664 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2665
8062e53a
GM
26662000-12-15 Gerd Moellmann <gerd@gnu.org>
2667
e87b8809
GM
2668 * dispnew.c (update_window): Detect pending input every nth line
2669 updated, i.e. do it depending on real work done, and not on the
2670 vpos of the line.
2671
2672 * xterm.c (expose_window): Don't redraw the window that's
2673 currently being updated.
2674
a6768cc5
GM
2675 * window.c (Fset_window_point): Remove test for
2676 cursor_in_non_selected_windows.
2677
4ea7fdca
GM
2678 * lread.c (read1): Recognize end of file after `\\'.
2679
8062e53a
GM
2680 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2681 not unwind_create_frame.
2682
bb7959c1
GM
26832000-12-15 Dave Love <fx@gnu.org>
2684
2685 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2686 bcopy & al.
2687
2688 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2689
ced04c42
KH
26902000-12-15 Kenichi Handa <handa@etl.go.jp>
2691
c5443913
KH
2692 * coding.c (setup_coding_system): Clear all members of the struct
2693 coding_system at first.
bc137305
KH
2694 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2695 argument.
2696 (code_convert_region): Don't override coding->src_multibyte and
2697 coding->dst_multibyte.
c5443913 2698
ced04c42
KH
2699 * fns.c (Fmd5): Docstring improved.
2700
c2d7f289
MB
27012000-12-15 Miles Bader <miles@gnu.org>
2702
2703 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2704 are actually marked as mode-lines; otherwise use
2705 estimate_mode_line_height.
2706
9d7d9263
GM
27072000-12-14 Gerd Moellmann <gerd@gnu.org>
2708
2709 * editfns.c (Fformat): Prevent a buffer overrun when the format
2710 specifies a precision.
2711
7cf0153a
EZ
27122000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2713
2714 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2715 argument is outside the range [2..3].
2716
1de0f662
AI
27172000-12-14 Andrew Innes <andrewi@gnu.org>
2718
2719 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2720 nothing to do. Bind inhibit-quit.
2721 (tip_frame): Make it a Lisp_Object.
2722 (x_create_tip_frame): Set tip_frame after it has been added to
2723 Vframe_list.
2724 (Fx_show_tip): Don't set tip_frame here.
52283633 2725 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2726 (unwind_create_frame, unwind_create_tip_frame): New functions.
2727 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2728 while a frame is only partially constructed.
2729
2730 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2731 (x_free_frame_resources): New function.
2732 (x_destroy_window): Use it.
2733
02387dcc
GM
27342000-12-14 Gerd Moellmann <gerd@gnu.org>
2735
2736 * xfns.c (Fx_backspace_delete_keys_p): New function.
2737 (syms_of_xfns): Defsubr it.
2738
2739 * config.in (HAVE_XKBGETKEYBOARD): Add.
2740
0544ef49
KH
27412000-12-14 Kenichi Handa <handa@etl.go.jp>
2742
98d62747
KH
2743 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2744 Always store string in multibyte representation in echobuf.
2745 (echo_char): Always store string in multibyte representation in
2746 echobuf.
2747 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2748 (read_key_sequence): Adjusted for the change of echo_prompt.
2749
a20193cd
KH
2750 * fns.c (Fmd5): Docstring improved.
2751
191b83b6
KH
2752 * lisp.h (detect_coding_system): Prototype adjusted.
2753
0544ef49
KH
2754 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2755 (detect_coding_emacs_mule, detect_coding_iso2022,)
2756 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2757 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2758 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2759 (detect_coding_mask, detect_coding_system): New argument
2760 MULTIBYTEP. Callers changed.
1da1bb05
KH
2761 (decode_coding_string): Set coding->src_multibyte and
2762 coding->dst_multibyte before calling detect_coding and detect_eol.
2763 Update them after some coding system is detected.
52283633 2764
d5b3eb1b
SM
27652000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2766
2767 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2768
2769 * keyboard.c (menu_bar_items, tool_bar_items):
2770 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2771
f7f8bb69
GM
27722000-12-13 Gerd Moellmann <gerd@gnu.org>
2773
52283633 2774 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2775 New variables.
2776 (unwind_create_frame, unwind_create_tip_frame): New functions.
2777 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2778 while a frame is only partially constructed.
2779
2780 * xterm.h (x_free_frame_resources): Declare.
2781
2782 * xterm.c (x_free_frame_resources): New function.
2783 (x_destroy_window): Use it.
2784
e10da507
GM
2785 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2786 don't interrupt the update for pending input initially, i.e.
2787 update at least some lines.
2788
2789 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2790
d5b3eb1b 2791 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2792
2793 * xfns.c (gray_bitmap_bits): Declare `char *'.
2794
90aa2856
GM
27952000-12-12 Gerd Moellmann <gerd@gnu.org>
2796
2797 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2798 lines start with a relief line.
2799
a308c9cd
DL
28002000-12-12 Dave Love <fx@gnu.org>
2801
2802 * window.c (Fdisplay_buffer): Doc fix.
2803 (Fwindow_list): Remove unused var.
2804
2805 * buffer.h (mmap_set_vars): Declare.
2806
2807 * window.h (Fset_window_point): Declare.
2808
d575011f
EZ
28092000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2810
bf6282d2 2811 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2812 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2813 variable `area'. When looking for a row under (X,Y), give up if some
2814 of the previous rows is not enabled.
d575011f 2815
ecf4d726
GM
28162000-12-12 Gerd Moellmann <gerd@gnu.org>
2817
2ebf6139
GM
2818 * window.c (Fset_window_point): If displaying cursors in windows
2819 other than the selected window, make sure redisplay updates
2820 other windows to show the new value of point in the window.
2821
2822 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2823
bfdb75ee
GM
2824 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2825 the buffer is the sole visible buffer when in the mini-buffer.
2826
52283633 2827 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2828 Bind `inhibit-read-only' to t.
2829 (unwind_with_echo_area_buffer): Use AREF.
2830
c0006262
GM
2831 * xfns.c (Fx_hide_tip): Simplified.
2832
52283633
SM
2833 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2834 instead of `1'.
e9a59cad 2835
ecf4d726
GM
2836 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2837
e5959a9a
GM
28382000-12-11 Gerd Moellmann <gerd@gnu.org>
2839
a3642e49 2840 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2841
44b5a125
GM
2842 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2843 nothing to do. Bind inhibit-quit.
2844 (tip_frame): Make it a Lisp_Object.
2845 (x_create_tip_frame): Set tip_frame after it has been added to
2846 Vframe_list.
2847 (Fx_show_tip): Don't set tip_frame here.
2848
2849 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2850
2851 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2852 Lisp_Object.
2853
2854 * dispextern.h: Change external declaration of tip_frame.
2855
d990421f
GM
2856 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2857 return an empty string.
2858
4db87380
GM
2859 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2860 of the window's update_mode_line flag, since the former is set by
2861 force-mode-line-update, not the latter. This makes
2862 column-number-mode slightly faster.
52283633 2863
e5959a9a
GM
2864 * xdisp.c (try_window_id) <all changes above window start>:
2865 Set the cursor.
2866
169fe44e
GM
28672000-12-11 Paul Eggert <eggert@twinsun.com>
2868
2869 * config.in (HAVE_FTELLO): Remove.
2870 (HAVE_FSEEKO): Add.
2871 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2872 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2873 HAVE_FTELLO.
2874 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2875 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2876
59ec59ae
MB
28772000-12-11 Miles Bader <miles@gnu.org>
2878
2879 * window.c (displayed_window_lines): Don't round up when
2880 converting empty space at bottom to lines.
ff904dd6
MB
2881 Handle non-newline-terminated final lines properly.
2882 (Fwindow_text_height): New function (used to be in lisp).
2883 (syms_of_window): Initialize it.
59ec59ae 2884
42ebfa31
SM
28852000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2886
2887 * syntax.c (scan_lists): Check that the right quote char has the
2888 right Sstring syntax when jumping over strings.
2889 (init_syntax_once): Use Smax rather than 13.
2890
5cdb3cf3
MB
28912000-12-09 Miles Bader <miles@gnu.org>
2892
2893 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2894 with PARTIALLY, inverting the sense.
2895 (window_scroll_pixel_based): Scroll partially visible lines into
2896 place if we hit the beginning or end of the buffer.
a12167c5
MB
2897 (displayed_window_lines): Don't include partially visible lines.
2898 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2899
842b2a94
GM
29002000-12-08 Gerd Moellmann <gerd@gnu.org>
2901
2902 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2903
2904 * tparam.c (tparam1): Change the way buffers are reallocated to be
2905 portable and less obfuscated.
2906
2907 * termcap.c (tgetent): Change the way buffers are reallocated to
2908 be portable and less obfuscated.
2909
2910 * macros.c (store_kbd_macro_char): Change the way buffers are
2911 reallocated to be portable and less obfuscated.
2912
2913 * lread.c (read1): Change the way buffers are reallocated to be
2914 portable and less obfuscated.
2915
2916 * doc.c (Fsubstitute_command_keys): Change the way buffers
2917 are reallocated so that it is portable.
2918
137cad7c
EZ
29192000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2920
2921 * dosfns.c (Ffile_system_info): New function.
2922 (syms_of_dosfns): Defsubr it.
2923
5c7f629c
SM
29242000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2925
2926 * alloc.c (gc_sweep): Add comment.
2927
959e647d
GM
29282000-12-07 Gerd Moellmann <gerd@gnu.org>
2929
52283633
SM
2930 * sound.c (vox_configure): Change order of ioctls.
2931 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2932 Ignore errors when changing volume.
2933 (vox_close): Don't reset the device.
2934
926b7e5e
GM
2935 * process.c (read_process_output): Make sure the process marker's
2936 position is valid when the process buffer is changed in
2937 after-change functions. W3 does that.
52283633 2938
959e647d
GM
2939 * xfns.c (x_free_gcs): New function.
2940
2941 * xterm.h (x_free_gcs): Add prototype.
2942
2943 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2944 freeing GCs here.
2945
2946 * xterm.c (x_destroy_window): Call x_free_gcs so that
2947 resources of non-toolkit X windows will be freed.
2948
478ea067
AI
29492000-12-07 Andrew Innes <andrewi@gnu.org>
2950
2951 * w32fns.c (xlfd_charset_of_font): Fix last change.
2952
fbee3231
DL
29532000-12-06 Dave Love <fx@gnu.org>
2954
67292061
DL
2955 * md5.h (__P): Don't define -- it comes from config.h.
2956
fbee3231
DL
2957 * strftime.c: Change some #if foo to #ifdef foo.
2958
4ee87dbb
AI
29592000-12-06 Andrew Innes <andrewi@gnu.org>
2960
2961 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2962
52283633 2963 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2964 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2965 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2966
9765b4a4
GM
29672000-12-06 Gerd Moellmann <gerd@gnu.org>
2968
d285b373
GM
2969 * alloc.c (gc_sweep): Prevent symbols read during loadup
2970 from being freed.
2971
384333ee
GM
2972 * xdisp.c (underlying_face_id): New function.
2973 (handle_face_prop, face_before_or_after_it_pos): Use it
2974 to determine the face ``under'' a string. Let strings inherit
2975 the face of the buffer under them.
2976
2977 * xfaces.c (face_at_string_position): Update function comment.
52283633 2978
d4b72d58
GM
2979 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2980 matrix if the window's left position has changed; we need to
2981 redraw it in this case.
2982
2983 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2984
e1d05387
GM
2985 * window.c (coordinates_in_window): Check mouse on mode-line or
2986 header-line first.
2987
eb1b0c74
GM
2988 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2989 advertized by the function documentation.
2990
d94d636f
GM
2991 * window.c (syms_of_window): Doc fix.
2992
3887b449
GM
2993 * sound.c (vox_configure): Set volume for left and right channel.
2994 (sound_cleanup): Return nil.
2995
efc8f57a
GM
2996 * xdisp.c (move_it_by_lines): Fix paren typo.
2997
9765b4a4
GM
2998 * xterm.c (x_load_font): Don't use the font's max_bounds for
2999 computing the height of the font. If max_bounds' ascent or
3000 descent are greater than the font's ascent or descent, this means
3001 glyphs overlap, which should be handled now by redisplay.
3002
6529ed87
GM
3003 * window.c (Veven_window_heights): New variable.
3004 (syms_of_window): DEFVAR_LISP it.
3005 (Fdisplay_buffer): Check Veven_window_heights before evening the
3006 window heights.
52283633 3007
0eb2ecde
MB
30082000-12-06 Miles Bader <miles@gnu.org>
3009
3010 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
3011 update `default-frame-alist' instead of setting no frame parameters.
3012
03d7a167
KH
30132000-12-06 Kenichi Handa <handa@etl.go.jp>
3014
3015 * composite.c (update_compositions): Fix typo (use the correct
3016 variable).
3017
5f8803c2
JR
30182000-12-05 Jason Rumney <jasonr@gnu.org>
3019
3020 * md5.h: Remove underscores from function declarations.
3021 (__attribute__, __alignof__) [!__GNUC__]: Define.
3022
3023 * md5.c: Delay include of md5.h until after namespace cleaning.
3024
c28a075b
JR
3025 * makefile.w32-in (fns.o): Depend on md5.h
3026 (md5.o): New target.
3027 (sunfns.o): Remove.
3028
3029 * makefile.nt: Likewise.
3030
ff3c7056
JR
30312000-12-05 Jason Rumney <jasonr@altavista.net>
3032
3033 * w32term.c (expose_area): Complete last change.
3034
0c21eeeb
KR
30352000-12-05 Ken Raeburn <raeburn@gnu.org>
3036
3037 * minibuf.c: Include intervals.h.
3038
f201d732
JR
30392000-12-05 Jason Rumney <jasonr@gnu.org>
3040
3041 * w32term.c (x_produce_glyphs): If a font for a component of
3042 a composition is not found, use 1 pixel dot ascent and 0 dot
3043 descent value to avoid displaying terribly tall empty boxes.
3044 (expose_area): Pass x-coordinate relative to the exposed
3045 area to x_draw_glyphs instead of a window-relative coordinate.
3046
21999ab9
GM
30472000-12-05 Gerd Moellmann <gerd@gnu.org>
3048
4d2036e4
GM
3049 * xdisp.c (next_element_from_ellipsis): Save face before selective
3050 display in saved_face_id, and set face_before_selective_p.
3051 (reseat_1): Reset face_before_selective_p.
3052 (append_space, extend_face_to_end_of_line): If iterator's
3053 face_before_selective_p is set, use the face from saved_face_id.
3054 (extend_face_to_end_of_line): For tty frames, make sure to
3055 use the right face id when producing spaces at the end of
3056 the line.
3057
3058 * dispextern.h (struct it): Add face_before_selective_p.
3059
52be17cc
GM
3060 * keyboard.c (record_char): Don't record identical help-echo
3061 events in recent_keys.
3062
8a4f36cc
GM
3063 * xterm.c [USE_X_TOOLKIT]: Close the display.
3064 (xim_close_dpy): Handle case that the display has been closed.
3065
57d6e381
GM
3066 * xterm.c (x_destroy_window): Reset the frame's X window after
3067 destroying it.
3068
21999ab9
GM
3069 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3070 variable window_width.
3071 (line_draw_cost): Fix code skipping over spaces at the end of the
3072 line when must_write_spaces is not set.
3073 (scrolling_window): Fix code inserting runs in list of all runs.
3074
91372bb7
KH
30752000-12-05 Kenichi Handa <handa@etl.go.jp>
3076
3077 * coding.c (setup_coding_system): Be sure to initialize
3078 coding->category_idx.
3079
6c083b4c
GM
30802000-12-04 Gerd Moellmann <gerd@gnu.org>
3081
0c68ce6f 3082 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3083
6452929e
GM
3084 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3085 area to x_draw_glyphs instead of a window-relative coordinate.
3086
d7f31e22
GM
3087 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3088 error in the message.
3089
ae18aa3b
GM
3090 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3091 timer after having read a key. It's not good for code reading
3092 several keys in a loop, like an input method.
3093
caa15ef7
GM
3094 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3095 record undo information for format-decode.
3096
3097 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3098 current buffer is read-only, not if it isn't.
3099
6c083b4c
GM
3100 * keyboard.c (record_char): Record `help-echo' input events
3101 in recent_keys only if they display some help. Don't record
3102 `help-echo' events as macro char.
3103
caa15ef7
GM
31042000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3105
3106 * editfns.c (save_excursion_restore): Don't move point
3107 in another window if it is showing the wrong buffer.
3108 Avoid the call to Fwindow_live_p, for speed.
3109
5a13529b
KH
31102000-12-04 Kenichi Handa <handa@etl.go.jp>
3111
e225faa7
KH
3112 * xfaces.c (struct font_name): New member registry_priority.
3113 (split_font_name): Initialize the above member to zero.
3114 (concat_font_list): New function.
3115 (font_list): Include fonts of all alternative registries.
3116 (FONT_POINT_SIZE_QUANTUM): New macro.
3117 (better_font_p): Ignore point size difference less than
3118 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3119
e89648b4
KH
3120 * xterm.c (x_produce_glyphs): If a font for a component of
3121 a composition is not found, use 1 pixel dot ascent and 0 dot
3122 descent value to avoid displaying terribly tall empty boxes.
3123
5a13529b
KH
3124 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3125
d7935eb6
KR
31262000-12-03 Ken Raeburn <raeburn@gnu.org>
3127
3128 * coding.h (code_convert_string1): Declare.
3129
3130 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3131
52283633 3132 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3133
0dd5e255
JR
31342000-12-02 Jason Rumney <jasonr@gnu.org>
3135
3136 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3137 correctly for single byte character case.
3138 (w32_per_char_metric): Do not try to make any assumptions about
3139 the metrics of BDF fonts.
250cfece 3140 (x_estimate_mode_line_height): If `mode-line' face
52283633 3141 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3142 (note_mouse_highlight): Change the cursor shape on the vertical
3143 border between windows [not enabled].
3144
3145 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3146
3147 * w32fns.c (Fx_create_frame): Reintroduce the call to
3148 face-set-after-frame-defaults.
3149 (Vx_window_horizontal_drag_shape): New variable.
3150 (syms_of_xfns): DEFVAR_LISP it.
3151 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3152 enabled].
0dd5e255 3153
b5d8d2ca
GM
31542000-12-02 Simon Josefsson <simon@josefsson.org>
3155
3156 * fns.c (Fmd5): Use a different logic to decide the coding system
3157 to use.
3158
3159 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3160
fbb87147
EZ
31612000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3162
52283633 3163 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3164
447e9da0
GM
31652000-12-01 Gerd Moellmann <gerd@gnu.org>
3166
7708ced0
GM
3167 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3168 height for YNegative.
3169 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3170 height; also see comment there.
3171
447e9da0
GM
3172 * window.c (coordinates_in_window): Handle computations for
3173 positions on the vertical bar and fringes differently for
3174 window-system frames. Consider some pixels near the vertical bar
3175 as on the bar if the frame doesn't have vertical scroll bars.
3176 Associate positions between mode or header lines with the
3177 right window, the left one.
3178
86d1db20
JR
31792000-12-01 Jason Rumney <jasonr@gnu.org>
3180
3181 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3182
3183 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3184 invalid frame.
3185
a1d58e5b
GM
31862000-12-01 Gerd Moellmann <gerd@gnu.org>
3187
52283633 3188 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3189 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3190 (save_window_save, Fset_window_configuration): Save/restore
3191 window's orig_top and orig_height.
3192
89c609af
JR
31932000-12-01 Jason Rumney <jasonr@gnu.org>
3194
4d177746 3195 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3196
89c609af
JR
3197 * w32fns.c (x_set_cursor_color): Fix last change.
3198
eccc05db
GM
31992000-11-30 Gerd Moellmann <gerd@gnu.org>
3200
31b6671b
GM
3201 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3202 sure that the next redisplay displays the minibuffer, so that
3203 the cursor will be replaced with what the minibuffer wants.
3204
eccc05db
GM
3205 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3206 #ifndef instead of using #if.
3207 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3208 USE_TOOLKIT_SCROLL_BARS is defined.
3209
162de750
JR
32102000-11-30 Jason Rumney <jasonr@gnu.org>
3211
3212 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3213 x_display_cursor.
3214
693c4692
GM
32152000-11-30 Gerd Moellmann <gerd@gnu.org>
3216
3217 * fns.c (Fmd5): Doc fix.
3218
b5d8d2ca 32192000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3220
3221 * fns.c (Fmd5): New function.
3222 (syms_of_fns): Defsubr md5.
3223
3224 * Makefile.in (obj): Add md5.o
3225
b02cd40b
GM
32262000-11-30 Gerd Moellmann <gerd@gnu.org>
3227
edfb795e
GM
3228 * md5.h, md5.c: New files, taken from glibc.
3229
df3aedcf
GM
3230 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3231
b02cd40b 3232 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3233 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3234
8b5176cd
SM
32352000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3236
3237 * eval.c (Frun_hooks): Allow 0 arguments.
3238
346598f1
GM
32392000-11-29 Gerd Moellmann <gerd@gnu.org>
3240
f9396e03
GM
3241 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3242 is over the menu bar widget, say it's not on the frame.
3243
4a967a9b
GM
3244 * xfns.c (Fx_create_frame): Reintroduce the call to
3245 face-set-after-frame-defaults.
3246
346598f1
GM
3247 * eval.c (Fsignal): Reset handling_signal.
3248
222456a1
JR
32492000-11-28 Jason Rumney <jasonr@gnu.org>
3250
3251 * w32menu.c (add_menu_item): Reset menu item text when changing
3252 type to radio button.
3253
8049ddc0
GM
32542000-11-28 Gerd Moellmann <gerd@gnu.org>
3255
346598f1 3256 * xselect.c: Update copyright.
f4f4ee4d 3257
bebe4a2c
GM
3258 * window.c (coordinates_in_window): If on a mode or header line,
3259 but sufficiently close to its start, return ``on vertical
3260 border''. This gives us a way to drag windows horizontally when
3261 using toolkit scroll bars.
3262
3263 * xterm.c (note_mouse_highlight): Change the cursor shape
3264 on the vertical border between windows.
3265
3266 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3267
3268 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3269 (syms_of_xfns): DEFVAR_LISP it.
3270 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3271
8d2c2642
GM
3272 * textprop.c (text_read_only): New function.
3273 (verify_interval_modification): Use it instead of signaling
3274 `text-read-only'. This makes it easier to catch this error
52283633 3275 with a breakpoint.:
8d2c2642 3276
52283633 3277 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3278 not end of line, which includes CR.
3279
5a2bae6c
KH
32802000-11-28 Kenichi Handa <handa@etl.go.jp>
3281
3282 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3283 include no-conversion.
3284
ae31f84d
JR
32852000-11-27 Jason Rumney <jasonr@gnu.org>
3286
3287 * w32fns.c (w32_load_system_font): Always mark font as double byte
3288 if codepage is unicode.
3289
67f1cf4c
GM
32902000-11-27 Gerd Moellmann <gerd@gnu.org>
3291
4a74d071 3292 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3293 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3294
902ae620
GM
3295 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3296 `vertical-line', `mode-line' and `header-line' events.
3297
3298 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3299 of a character, a TAB for instance. This is easier than to set
3300 up the iterator exactly, and it's not a frequent case, so the
3301 additional effort wouldn't really pay off.
3302
c1e279c2
AC
33032000-11-26 Andrew Choi <akochoi@i-cable.com>
3304
67f1cf4c 3305 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3306 init_window_once.
3307
a609568a
JR
33082000-11-25 Jason Rumney <jasonr@gnu.org>
3309
52283633
SM
3310 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3311 Args to window_from_coordinates should be pixel coordinates.
48b21762 3312
a609568a
JR
3313 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3314 redisplay handles them properly.
3315
a658d039
MB
33162000-11-25 Miles Bader <miles@gnu.org>
3317
3318 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3319
d3416cca
JR
33202000-11-24 Jason Rumney <jasonr@gnu.org>
3321
3322 * w32.c (init_environment): Set LANG environment variable based on
3323 locale settings, if not set.
3324
3325 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3326 making tool bar smaller. When clearing the frame, also
3327 clear current matrices. Clear frame when tool bar disappears.
3328 Don't use more lines for the tool-bar than is available.
3329 (x_change_window_heights): New function.
3330
ba193890
GM
33312000-11-24 Gerd Moellmann <gerd@gnu.org>
3332
2be8f184
GM
3333 * xdisp.c (init_from_display_pos): If POS says we're already after
3334 an overlay string ending at POS, make sure to pop the iterator
3335 because it will be in front of that overlay string. When POS is
3336 ZV, we've thereby also ``processed'' overlay strings at ZV.
3337
ba193890
GM
3338 * xfaces.c (lface_from_face_name): Function comment fix.
3339
1862a24e
MB
33402000-11-24 Miles Bader <miles@gnu.org>
3341
3342 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3343 apply `mode-line-inverse-video' -- zero means force display using
3344 the default face, non-zero means display using the specialized face.
3345 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3346
f07fa1b8
KH
33472000-11-23 Kenichi Handa <handa@etl.go.jp>
3348
3349 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3350 hard coded `4'.
3351
2bcdf662
EZ
33522000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3353
3354 * coding.c (decode_coding_emacs_mule): Fix the case of
3355 CODING_EOL_LF, which used uninitialized value of c.
3356
ba8299ff
SM
33572000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3358
3359 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3360
f4117c4d
GM
33612000-11-22 Gerd Moellmann <gerd@gnu.org>
3362
03e757c1
GM
3363 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3364 buffer object.
3365
f4117c4d
GM
3366 * frame.h (struct frame): Replace desired_tool_bar_items,
3367 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3368 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3369
3370 * frame.c (make_frame): Change initialization of tool bar
3371 items accordingly.
3372
3373 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3374 Change references to members deleted from struct frame to use the
f4117c4d
GM
3375 new ones.
3376
3377 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3378 references to members deleted from struct frame to use the new ones.
f4117c4d 3379
52283633 3380 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3381
3382 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3383
3384 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3385 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3386 from struct frame to use the new ones.
3387
f8e2f3f2
MB
33882000-11-23 Miles Bader <miles@gnu.org>
3389
3390 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3391 the face's inverse-video attribute, rather than overriding it.
3392
60e8e0a5
GM
33932000-11-22 Gerd Moellmann <gerd@gnu.org>
3394
3395 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3396 making tool bar smaller.
3397
92dd1b29
DL
33982000-11-22 Dave Love <fx@gnu.org>
3399
3400 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3401
e672fdce
MB
34022000-11-22 Miles Bader <miles@gnu.org>
3403
3a17d6cc
MB
3404 * keyboard.c (Vminibuffer_message_timeout): New variable.
3405 (command_loop_1): Use it to determine message timeout.
3406 (syms_of_keyboard): Initialize it.
3407
60e8e0a5 3408 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3409
e9655d81
KH
34102000-11-22 Kenichi Handa <handa@etl.go.jp>
3411
3412 * sysdep.c: Move the code for declaring h_errno after #include
3413 <netdb.h>.
3414
77270fac
GM
34152000-11-21 Gerd Moellmann <gerd@gnu.org>
3416
cd913aae
GM
3417 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3418 the menu bar when the tooltip is unmapped.
3419
77270fac
GM
3420 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3421 sole visible buffer when we're currently in the mini-buffer, and
3422 give up if so.
52283633 3423
556635d6
JR
34242000-11-21 Jason Rumney <jasonr@gnu.org>
3425
3426 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3427 put on the clipboard.
3428 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3429 copy of what Emacs last put there. If they are the same, do not
52283633 3430 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3431
5b7bde64
MB
34322000-11-22 Miles Bader <miles@gnu.org>
3433
3434 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3435 (syms_of_minibuf): Initialize it.
3436 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3437 to prompt, don't make read-only.
3438
ff23e1dd
GM
34392000-11-21 Gerd Moellmann <gerd@gnu.org>
3440
52283633
SM
3441 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3442 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3443
7aaf4388
GM
3444 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3445
f5f47add 3446 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3447
ff23e1dd
GM
3448 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3449
37c35586
KH
34502000-11-21 Kenichi Handa <handa@etl.go.jp>
3451
3452 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3453 ... #endif scope.
3454
ff9ab414
GM
34552000-11-20 Gerd Moellmann <gerd@gnu.org>
3456
52283633 3457 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3458 screen supports it.
3459
29a01b72
GM
3460 * s/gnu-linux.h: Don't use `#cpu'.
3461
09dfdf85
GM
3462 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3463 not defined in mman.h.
3464
52283633 3465 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3466 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3467 and store an index in the XClientMessageEvent. Storing a
3468 Lisp_Object or pointer can fail on a 64 bit system, since X only
3469 transfers 32 bits.
52283633
SM
3470 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3471
81459ac9
DL
34722000-11-20 Dave Love <fx@gnu.org>
3473
3474 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3475
56c13ae6
GM
34762000-11-20 Gerd Moellmann <gerd@gnu.org>
3477
3478 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3479
495a6df3
KH
34802000-11-20 Kenichi Handa <handa@etl.go.jp>
3481
2bcf3714
KH
3482 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3483 by WIDTH.
3484
495a6df3
KH
3485 * alloc.c (make_string): Fix previous change. Be sure to make
3486 unibyte string correctly.
3487
6d950f4c
GM
34882000-11-19 Gerd Moellmann <gerd@gnu.org>
3489
39b39373
GM
3490 * window.c (Fwindow_list): Change parameter list to be XEmacs
3491 compatible.
3492 (window_list_1): New function.
3493 (window_loop): Use it instead of Fwindow_list.
3494
b95b34e5
GM
3495 * sysdep.c (emacs_ospeed): New variable.
3496 (toplevel): Don't declare ospeed extern.
3497 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3498
3499 * termcap.c (ospeed): Remove.
3500 (tputs) [!emacs]: Remove unused code.
3501 (tgetent): Avoid a compiler warning.
3502
e83dc917
GM
3503 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3504 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3505 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3506
3507 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3508 removed.
3509 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3510 Take the X display as additional argument.
3511 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3512 `Widget' is a pointer type that's not easily stored in Lisp_Object
3513 form in a portable way.
52283633 3514
6d950f4c
GM
3515 * dispnew.c (update_text_area): Fix last change.
3516
e47306e6
GM
35172000-11-18 Gerd Moellmann <gerd@gnu.org>
3518
fb3cd89b
GM
3519 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3520
3521 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3522 clear current matrices.
3523
edaa9aed
GM
3524 * buffer.c (mmap_enlarge): Don't print a message on stderr
3525 if mapping new memory at the end of the existing region fails.
3526
e47306e6
GM
3527 * dispnew.c (update_text_area): Don't skip over equal glyphs
3528 when the last current glyph overlaps the glyph to its right.
3529
509633e3
MB
35302000-11-18 Miles Bader <miles@gnu.org>
3531
3532 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3533 lines that *end* with "..." too (that's the most common case!).
3534
d392e9c5
GM
35352000-11-18 Gerd Moellmann <gerd@gnu.org>
3536
67988445
GM
3537 * xdisp.c (resize_mini_window): Temporarily change to the
3538 mini-window's buffer if necessary.
1bfdbe43 3539
d392e9c5
GM
3540 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3541 the tooltip obscures less text under it.
3542
35432000-11-17 Gerd Moellmann <gerd@gnu.org>
3544
3545 * puresize.h (BASE_PURESIZE): Increase to 700000.
3546
92bb977f
JR
35472000-11-18 Jason Rumney <jasonr@gnu.org>
3548
3549 * w32term.c (w32_draw_bitmap): Use face to set colors.
3550
26fbf20b
DL
35512000-11-17 Dave Love <fx@gnu.org>
3552
3553 * lread.c (Fload): Fix #ifdef for pcc.
3554
100b593b
GM
35552000-11-17 Gerd Moellmann <gerd@gnu.org>
3556
3557 * xdisp.c (pos_visible_p): Compute the default character height
3558 differently.
3559
a288d0d1
GM
35602000-11-16 Gerd Moellmann <gerd@gnu.org>
3561
cac94de6 3562 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3563 knowing the line's height; use the default font's height in that case.
cac94de6 3564
a288d0d1
GM
3565 * xfaces.c (weight_table): Add `demi' with the same meaning as
3566 `demibold'.
3567
981fb6f6
KH
35682000-11-16 Kenichi Handa <handa@etl.go.jp>
3569
2cca872d 3570 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3571 (clear_glyph_row): Delete local static variable null_row.
3572
e5fa381b
JR
35732000-11-15 Jason Rumney <jasonr@gnu.org>
3574
3575 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3576 (w32_alloc_lighter_color): Use new brightness calculations from
3577 xterm.c. Scale delta to be in the range expected by W32.
3578 (w32_draw_relief_rect): Use frame relief colors.
3579
8e42f043
GM
35802000-11-15 Gerd Moellmann <gerd@gnu.org>
3581
6d133d1f
GM
3582 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3583 (Qinhibit_default_face_x_resources): New variable.
3584 (syms_of_frame): Initialize it.
3585 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3586
3587 * xdisp.c (pos_visible_p): Improve function comment.
3588
3589 * lisp.h (BINDING_STACK_SIZE): New macro.
3590
8e42f043
GM
3591 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3592 reading the directory if readdir returns null and errno is EAGAIN
3593 or EINTR.
3594
e8c87124
SM
35952000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3596
3597 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3598 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3599 Set amount_to_scroll to max of dx and scroll_step so that
3600 scroll-conservatively doesn't defeat scroll-step>1.
3601 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3602 scroll-conservatively for line-at-a-time scrolling.
3603
5f0c971d
GM
36042000-11-14 Gerd Moellmann <gerd@gnu.org>
3605
3606 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3607 extra argument.
3608
3609 * xdisp.c (current_mode_line_height, current_header_line_height):
3610 New variables.
3611 (init_xdisp): Initialize them.
3612 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3613 and use exact mode line heights if it is set.
3614
3615 * lisp.h (pos_visible_p): Change prototype.
3616
3617 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3618 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3619 and current_header_line_height first.
52283633
SM
3620 (current_mode_line_height, current_header_line_height):
3621 Declare extern.
5f0c971d 3622
d7361edf
MB
36232000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3624
3625 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3626 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3627 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3628
ee5e440a
MB
36292000-11-14 Miles Bader <miles@gnu.org>
3630
3631 * xterm.c (x_alloc_lighter_color): Include an additive component
3632 too for dark colors, because FACTOR isn't enough.
3633 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3634 New macros.
3635
5ca020fc
GM
36362000-11-13 Gerd Moellmann <gerd@gnu.org>
3637
3638 * keyboard.c (show_help_echo): Call message3_nolog with number of
3639 bytes in the help string as 2nd parameter, instead of the number
3640 of characters.
3641
9d348294
MB
36422000-11-13 Miles Bader <miles@gnu.org>
3643
3644 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3645 (Fload): Use new openp return protocol.
3646 Don't try to use Vload_source_file_function to load .elc files.
3647 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3648 openp return protocol.
3649 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3650
1729bb9a
KH
36512000-11-11 Kenichi Handa <handa@etl.go.jp>
3652
4e677396
KH
3653 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3654
3655 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3656 Defined these macros.
3657 (NLIST_STRUCT): Avoid re-defining it.
3658
1729bb9a
KH
3659 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3660 -I/usr/contrib/X11R6/include.
3661 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3662
a82fe213
JR
36632000-11-10 Jason Rumney <jasonr@gnu.org>
3664
3665 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3666
3667 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3668 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3669
3670 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3671 (Qw32_charset_vietnamese): New symbol.
3672 (xlfd_charset_of_font): New function.
3673 (w32_load_system_font): Use it.
3674 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3675 when Vw32_charset_info_alist is nil to ensure default face always
3676 has font. Use Fcar and Fcdr for safety.
3677 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3678 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3679 pseudo-codepages for special cases.
3680 (w32_to_x_font): New parameter to allow charset portion to be
3681 specified where there is many to one mapping. Callers changed.
3682 (w32_list_fonts): Avoid listing fonts that won't display.
3683
52d89894
GM
36842000-11-10 Gerd Moellmann <gerd@gnu.org>
3685
3686 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3687 (font_list_1): Renamed from font_list.
3688 (font_list): New function, trying alternative registries from
3689 Vface_alternative_font_registry_alist.
3690 (Finternal_set_alternative_font_registry_alist): New function.
3691 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3692 Vface_alternative_font_registry_alist.
3693 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3694
651cd3da
KR
36952000-11-09 Ken Raeburn <raeburn@gnu.org>
3696
3697 * lisp.h (Flooking_at): Declare.
3698
388ac098
GM
36992000-11-09 Gerd Moellmann <gerd@gnu.org>
3700
778fbc46 3701 * dired.c (directory_files_internal): Fix a braino.
52283633 3702
388ac098
GM
3703 * dired.c (directory_files_internal): Add missing GCPRO's.
3704 Some cleanup.
3705
ecaedde1
GM
37062000-11-08 Gerd Moellmann <gerd@gnu.org>
3707
f7eb32aa
GM
3708 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3709 (resize_mini_window): Return quickly if Vresize_mini_window is
3710 nil. Don't return if Vmax_mini_window_height is nil.
3711
3712 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3713 (syms_of_xdisp): Initialize them.
3714 (resize_mini_window): Act according to the setting of
3715 Vresize_mini_window.
3716 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3717
ecaedde1
GM
3718 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3719 scroll bar widget after configuring it, so that it will appear at
3720 the right position from the start.
3721 (XTredeem_scroll_bar): Cleaned up.
3722
3747ef2c
KH
37232000-11-08 Kenichi Handa <handa@etl.go.jp>
3724
3725 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3726 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3727 division by two.
3728
3729 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3730
03391420
DL
37312000-11-07 Dave Love <fx@gnu.org>
3732
7758f1c1 3733 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3734
3735 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3736
b5de343d
GM
37372000-11-07 Gerd Moellmann <gerd@gnu.org>
3738
acad3c0b
GM
3739 * window.c (Fset_window_configuration): Don't try to preserve
3740 point in the current buffer, if that buffer is displayed in more
3741 than one window.
3742
b5de343d
GM
3743 * xfaces.c (lookup_named_face): If default face isn't realized,
3744 try to realize it. Return -1 if not successful.
3745 (Fx_list_fonts): Handle case that face cannot be determined.
3746 (Fface_font): Likewise.
3747
cdb1fe49
GM
37482000-11-06 Gerd Moellmann <gerd@gnu.org>
3749
3750 * window.c (displayed_window_lines): Detect partially
3751 visible lines at the bottom correctly.
3752
d3a67486
SM
37532000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3754
3755 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3756 when ensuring we don't do visit in indirect buffer.
3757
ff8dd5d5
KH
37582000-11-06 Kenichi Handa <handa@etl.go.jp>
3759
3760 * composite.h (compose_chars_in_text): Add prototype.
3761
3762 * composite.c (Vcomposition_function_table): New variable.
3763 (Qcomposition_function_table): New variable.
3764 (run_composition_function): Call
3765 Vcompose_chars_after_function with three arguments.
3766 (compose_chars_in_text): New function.
3767 (syms_of_composite): Modified the doc-string of
3768 Vcompose_chars_after_function. Declare composition-function-table
3769 as a lisp variable, and initialize it.
3770
3771 * xfns.c (x_encode_text): Suppress producing escape sequences for
3772 composition.
3773
3774 * xselect.c: Include composite.h.
3775 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3776
d1145f85
AI
37772000-11-05 Andrew Innes <andrewi@gnu.org>
3778
3779 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3780
3781 * sysdep.c (read_input_waiting): Remove extraneous argument to
3782 read_socket_hook.
3783
3784 * w32fns.c (Fx_server_version): Include w32_build_number in the
3785 return list.
3786
3787 * w32heap.c (w32_build_number): New variable.
3788 (cache_system_info): Set it.
3789
3790 * w32heap.h (w32_build_number): Add extern.
3791
3792 * emacs.c (syms_of_emacs): Update docstring for
3793 system-configuration, to reflect the actual usage on MS-Windows.
3794
e85ee976
GM
37952000-10-31 Gerd Moellmann <gerd@gnu.org>
3796
26dcb81b
GM
3797 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3798 process idle timers while waiting for another event.
3799
52283633 3800 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3801 the default face are colored.
3802
e85ee976
GM
3803 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3804 window height hasn't changed.
3805
01b220b6
JR
38062000-10-31 Jason Rumney <jasonr@gnu.org>
3807
3808 * w32term.c (x_produce_glyphs): Handle composite characters.
3809 (x_draw_glyph_string_foreground)
3810 (x_draw_composite_glyph_string_foreground): Restore old font.
3811
4e6b7204
MB
38122000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3813
3814 * minibuf.c (read_minibuf): Reset the undo history just before
3815 starting the recursive-edit.
3816
d4358b37
GM
38172000-10-30 Gerd Moellmann <gerd@gnu.org>
3818
563f68f1
GM
3819 * xfaces.c (menu_face_change_count): New variable.
3820 (Finternal_set_lisp_face_attribute): Increment it for changes
3821 of the `menu' face.
3822 (realize_basic_faces): Reflect changes in the `menu' faces
3823 in menu bars.
3824
82e274d1
GM
3825 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3826 dy obtained from the iterator's y-position after moving from
3827 scroll_margin_pos to PT; see comment there.
52283633 3828
0dbf9fd2
GM
3829 * xdisp.c (safe_eval_handler): Call add_to_log.
3830
906b3b14
GM
3831 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3832 is not a symbol or string.
3833
d4358b37
GM
3834 * xdisp.c (echo_area_display): Don't perform a display update from
3835 inside redisplay. The update will happen anyway at the end of
3836 redisplay, and it can confuse redisplay (GC messages while
3837 redisplaying, for instance.)
3838
70c825df
SM
38392000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3840
cf9b4b0b
SM
3841 * xrdb.c (x_load_resources): Use the class name in the defaults.
3842
70c825df
SM
3843 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3844 (regex_compile): Catch bogus \(\1\).
3845
a1d34b1e
GM
38462000-10-30 Gerd Moellmann <gerd@gnu.org>
3847
cae71efe
GM
3848 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3849 RGB values.
52283633 3850
35efe0a1
GM
3851 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3852 we have a color cache, check that the cached color equals the
3853 allocated color. If not, clear the color cache.
3854
1d3baf74
GM
3855 * window.c (displayed_window_lines): Change buffers if necessary.
3856 Fix computation of displayed lines.
3857
a1d34b1e
GM
3858 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3859 update_menu_bindings to DEFVAR_BOOL.
3860
70737ea9
KH
38612000-10-30 Kenichi Handa <handa@etl.go.jp>
3862
70c825df 3863 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3864
fa0cb51d
KH
3865 * puresize.h (BASE_PURESIZE): Increase to 680000.
3866
70737ea9
KH
3867 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3868
0e4c08e8
JR
38692000-10-29 Jason Rumney <jasonr@gnu.org>
3870
3871 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3872
3873 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3874 (w32_cache_char_metrics): Handle possibility that 'x' does not
3875 exist in a BDF font.
3876 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3877
3878 * w32bdf.h (bdffont): Add nchars.
3879
3880 * w32bdf.c (set_bdf_font_info): Set it.
3881 (w32_BDF_TextOut): Swap byte order of double byte characters.
3882 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3883
45b84006
EZ
38842000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3885
3886 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3887 don't override the colors in frame's param_alist, unless they are
3888 unspecified.
3889
3890 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3891 reverse the effect of the highlight flag.
3892
caf9deee
KR
38932000-10-27 Ken Raeburn <raeburn@gnu.org>
3894
3895 * window.h (Fwindow_live_p): Declare.
3896
ae0b9b46
KR
3897 * undo.c (record_delete): Check that last_undo_buffer is really a
3898 buffer before applying XBUFFER to it.
3899
3900 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3901 Faref.
3902
02067692
SM
39032000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3904
3905 * lisp.h (KEYMAPP): New macro.
3906 (get_keymap): Remove.
3907 (get_keymap_1): Rename get_keymap.
3908
3909 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3910
3911 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3912
3913 * xmenu.c (single_submenu): Use KEYMAPP.
3914 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3915 Use KEYMAPP rather than Fkeymapp.
3916
3917 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3918
3919 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3920 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3921 Use KEYMAPP rather than Fkeymapp.
3922 (single_submenu): Use KEYMAPP.
3923 (w32_menu_show, w32_dialog_show): Use TRUE.
3924
3925 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3926
3927 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3928 (Fkeymapp): Use KEYMAPP.
3929 (get_keymap): Rename from get_keymap_1. Remove old def.
3930 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3931 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3932 (Fminor_mode_key_binding): Don't raise an error if the binding
3933 is not a keymap.
3934 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3935 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3936
3937 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3938 Allow Vspecial_event_map to be autoloaded.
3939 (menu_bar_items): Fetch the keymap rather than using keymapp.
3940 (menu_bar_one_keymap): No need to follow func-indirect any more.
3941 (parse_menu_item): get_keymap_1 -> get_keymap.
3942 (tool_bar_items): Fetch the keymap rather than using keymapp.
3943 (read_key_sequence): Use KEYMAPP.
3944
3945 * intervals.c (get_local_map): Use get_keymap rather than following
3946 function-indirections explicitly.
3947
3948 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3949
f9d80af3
JR
39502000-10-27 Jason Rumney <jasonr@gnu.org>
3951
3952 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3953 point, as Windows has oversized fonts.
3954
3955 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3956
a3ba27da
GM
39572000-10-27 Gerd Moellmann <gerd@gnu.org>
3958
3959 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3960 (freehook, reallochook): Handle null pointer arguments.
3961 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3962
aa3b80cc
SM
39632000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3964
3965 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3966 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3967 Giving in to popular pressure to shut up the compiler with casts.
3968
e24e84cc
GM
39692000-10-27 Gerd Moellmann <gerd@gnu.org>
3970
3971 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3972 signed value, and use a default value computed from the font's
3973 maximum descent.
3974
05ea7ef2
MB
39752000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3976
3977 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3978 that specify a negative underline position can still use underlines.
3979
3980 * window.c (Fpos_visible_in_window_p): Make POS default to
3981 WINDOW's point, not the current buffer's point.
3982
0b95284b
DL
39832000-10-26 Dave Love <fx@gnu.org>
3984
3985 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3986 when it's necessary.
3987
6c5b90af
GM
39882000-10-26 Gerd Moellmann <gerd@gnu.org>
3989
8b6d9dc9
GM
3990 * window.c (size_window): Compute size difference from sum of old
3991 child window sizes instead of from parent's size.
3992
6bc92b2e
GM
3993 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3994 Handle obscured lines at the top of the window.
3995
3996 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3997 down after the last error condition check.
3998
6c5b90af
GM
3999 * frame.c (Fdelete_frame): Run delete-frame-hook.
4000
42f92d4d
KH
40012000-10-26 Kenichi Handa <handa@etl.go.jp>
4002
4003 * coding.c (decode_coding): Fix previous change (check also
4004 CODING_MODE_LAST_BLOCK).
4005
d97151cb
SM
40062000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4007
e7efc503
SM
4008 * regex.c: More `unsigned char' -> `re_char' changes.
4009 Also change several `int' into `re_wchar_t'.
4010 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
4011 (PUSH_FAILURE_POINTER): Don't cast any more.
4012 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
4013 We want GCC to complain, since this piece of code makes
4014 re_match non-reentrant, which *should* be fixed.
4015 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
4016 (EXTEND_BUFFER): Use RETALLOC.
4017 (SET_LIST_BIT): Don't cast.
4018 (re_wchar_t): New type.
4019 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
4020 that those two functions will always properly return.
4021 (IMMEDIATE_QUIT_CHECK): Cast to void.
4022 (analyse_first): Use recursion rather than an explicit stack.
4023 (re_compile_fastmap): Can't fail anymore.
4024 (re_search_2): Don't check re_compile_fastmap for failure.
4025 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
4026 Now also sets the new value (passed in a new argument).
4027 (re_match_2_internal): Use it.
4028 Also, use a new var `reg' of type size_t when looping through regs
4029 rather than reuse the inappropriate `mcnt'.
4030
d97151cb
SM
4031 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
4032 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
4033 (where_is_internal): Renamed from Fwhere_is_internal.
4034 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
4035 (Fwhere_is_internal): New function wrapping where_is_internal.
4036 (where_is_internal_1): Handle the case where we're filling the cache.
4037 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
4038
d5789b65
MB
40392000-10-25 Miles Bader <miles@gnu.org>
4040
4041 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
4042
4ecda532
GM
40432000-10-25 Gerd Moellmann <gerd@gnu.org>
4044
4045 * window.c (pos_fully_visible_p): Removed.
4046 (Fpos_visible_in_window_p): Use pos_visible_p to determine
4047 if position is visible and/or fully visible.
4048
4049 * lisp.h (pos_visible_p): Add prototype.
4050
4051 * xdisp.c (pos_visible_p): New function.
4052
68c3a137
KH
40532000-10-25 Kenichi Handa <handa@etl.go.jp>
4054
4055 * process.c (send_process): If OBJECT is t, it means that the data
4056 is from C string, but we should encode it. Before calling
4057 setup_raw_text_coding_system, be sure to flush out data by the
4058 previous coding system.
4059
7ae1c032
MB
40602000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4061
ff4dcd4b
MB
4062 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4063 assignment of startpos to prev when startpos == pos.
4064
7ae1c032
MB
4065 * editfns.c (find_field): Set the field stickiness correctly from
4066 overlay fields. Use renamed `text_property_stickiness'.
4067 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4068 Only check text properties, not overlays.
7ae1c032
MB
4069 * textprop.c (get_char_property_and_overlay): New function.
4070 (Fget_char_property): Use it.
4071 * intervals.h (get_char_property_and_overlay): Add declaration.
4072
49801145
SM
40732000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4074
4075 * keymap.c: Use AREF, ASET and ASIZE macros.
4076 (Fmake_sparse_keymap): Docstring fix.
4077 (synkey): Remove.
4078 (shadow_lookup): Move up.
4079 Handle the case where lookup-key returns an integer.
4080 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4081 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4082 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4083 Simplify/rewrite the keymap-finding code.
4084 Add check for command shadowing, using shadow_lookup.
4085
39e776cd
SM
40862000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4087
4088 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4089 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4090 a symbol.
4091
2488aba5
AI
40922000-10-24 Andrew Innes <andrewi@gnu.org>
4093
4094 * dired.c (directory_files_internal_unwind): New function.
4095 (directory_files_internal): Use it to ensure closedir is called
4096 even if expand-file-name or file-attributes throw, eg. because of
4097 a user interrupt. Also enable immediate_quit while calling
4098 re_search, so that matching can be interrupted as well.
4099
b94fdf61
AI
41002000-10-24 Andrew Innes <andrewi@gnu.org>
4101
4102 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4103 NT-Emacs only.
4104 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4105 so that re_search functions only quit when callers expect them to.
4106
41072000-10-24 Kenichi Handa <handa@etl.go.jp>
4108
4109 * regex.c (regex_compile): Change the way of handling a range from
4110 a char less than 256 to a char not less than 256.
4111
1946f901
GM
41122000-10-24 Gerd Moellmann <gerd@gnu.org>
4113
7ae2f10f
GM
4114 * window.c (size_window): Prevent setting window's width or
4115 height to a negative value (esp. with XSETFASTINT).
4116
5dcab13e
GM
4117 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4118 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4119 (protect_malloc_state) [GC_MALLOC_CHECK &&
4120 GC_PROTECT_MALLOC_STATE]: New function.
4121 (PROTECT_MALLOC_STATE): New macro.
4122 (__malloc_initialize, morecore, _malloc_internal)
4123 (_free_internal) _realloc_internal): Use it to make _heapinfo
4124 read-only outside of gmalloc.
4125
63e1b552
GM
4126 * keymap.c: Update copyright.
4127
1946f901
GM
4128 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4129 a symbol.
4130
4fa09beb
GM
41312000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4132
4133 * filelock.c (unlock_all_files): Use unlock_file to expand each
4134 buffer's file_truename before trying remove its lock file.
4135
23afac01
EZ
41362000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4137
4138 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4139 or CRLF, decode EOLs.
4140
04448b95
KH
41412000-10-24 Kenichi Handa <handa@etl.go.jp>
4142
4143 * window.c (Fdisplay_buffer): Fix doc.
4144
3090a5a5
JR
41452000-10-23 Jason Rumney <jasonr@gnu.org>
4146
4147 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4148 ASCII font of default fontset on Windows.
4149
4150 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4151 xterm.c comment below).
4152
4153 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4154
a83fee2c
GM
41552000-10-23 Gerd Moellmann <gerd@gnu.org>
4156
4157 * xterm.c (x_connection_closed): Reset handling_signal.
4158
52283633 4159 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4160
6ffdb539
MB
41612000-10-23 Miles Bader <miles@gnu.org>
4162
4163 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4164 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4165 maintain old behavior.
4166 * minibuf.c (Fminibuffer_complete): Likewise.
4167
7f1c969b
MB
41682000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4169
4170 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4171 that when a font can't be exactly centered, it errs up rather than
4172 down.
4173
23afac01 41742000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4175
52283633 4176 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4177
1a578e9b
AC
41782000-10-23 Andrew Choi <akochoi@i-cable.com>
4179
4180 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4181
4182 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4183 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4184
4185 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4186 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4187 syms_of_search, x_term_init, and init_keyboard before calling
4188 init_window_once. Also, call syms_of_xmenu.
4189
4190 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4191 default fontset to Monaco.
4192
4193 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4194 NewMacWindow and DisposeMacWindow.
4195 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4196 instead of calling NewMacWindow and setting fields of
4197 f->output_data.mac directly. Call init_frame_faces.
4198 (Fdelete_frame) [macintosh]: Remove unused code.
4199 (Fmodify_frame_parameters) [macintosh]: Call
4200 x_set_frame_parameters instead of mac_set_frame_parameters.
4201
4202 * frame.h [macintosh]: Define menu_bar_lines field in struct
4203 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4204
4205 * keyboard.c [macintosh]: Include macterm.h.
4206 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4207 and menu_bar_activate_event type events as for X and NT.
4208 (make_lispy_event) [macintosh]: Construct lisp events of type
4209 MENU_BAR_EVENT as for X and NT.
4210
4211 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4212 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4213 (sys_subshell) [macintosh]: Remove definition entirely.
4214 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4215 Vwindow_system_version here. Remove initialization of
4216 Vx_bitmap_file_path.
4217 (read_input_waiting): Correct the number of parameters passed to
4218 read_socket_hook.
4219 Move all Macintosh functions to mac/mac.c.
4220
4221 * term.c [macintosh]: Include macterm.h.
4222
4223 * window.c [macintosh]: Include macterm.h.
4224
4225 * xdisp.c [macintosh]: Include macterm.h. Declare
4226 set_frame_menubar and pending_menu_activation.
4227 (echo_area_display) [macintosh]: Do not return if terminal frame
4228 is the selected frame.
4229 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4230 Allow only the selected frame to set menu bar.
4231 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4232 calling FRAME_EXTERNAL_MENU_BAR (f).
4233 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4234
4235 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4236 and check_x. Declare XCreateGC. Define x_create_gc and
4237 x_free_gc. Initialize font_sort_order.
4238 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4239 but call x_list_fonts instead of w32_list_fonts.
4240 (Finternal_face_x_get_resource) [macintosh]: Do not call
4241 display_x_get_resource.
4242 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4243 (realize_x_face) [macintosh]: Load the font if it is specified in
4244 ATTRS.
52283633 4245 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4246
1ffbabe3
SM
42472000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4248
4249 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4250 is nil: since we go to the end of submap anyway, we'd end up
4251 setting nil to nil.
4252 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4253 doesn't obey autoload.
4254
bed43f1d
EZ
42552000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4256
1ffbabe3 4257 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4258
ea4233a7
JR
42592000-10-21 Jason Rumney <jasonr@gnu.org>
4260
4261 * w32term.c (w32_cache_char_metrics): Double check that font is
4262 really fixed pitch before trusting tmPitchAndFamily.
4263
f3d3c491
AI
42642000-10-21 Andrew Innes <andrewi@gnu.org>
4265
4266 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4267
4268 * w32term.h: Extern decl for w32_cache_char_metrics.
4269
4270 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4271
4272 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4273 (w32_unload_font): Free per_char array if present.
4274
4275 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4276 cached information in emulated XFontStruct to handle common cases
4277 quickly. Do not allocate XCharStruct for return.
4278 (w32_native_per_char_metric): New function.
4279 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4280 allocating one.
4281 (x_produce_glyphs): Don't get an HDC. Change calls to
4282 w32_per_char_metric to match arg change above. Remove calls to
4283 free results.
4284 (w32_get_glyph_overhangs): Ditto.
4285 (w32_cache_char_metrics): New function.
4286
4287 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4288 ($(BLD)/casefiddle.$(O)): Remove compile command.
4289 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4290 ($(BLD)/dispnew.obj):
4291 ($(BLD)/keyboard.obj):
4292 ($(BLD)/w32inevt.obj):
4293 ($(BLD)/w32bdf.obj):
4294 ($(BLD)/alloc.obj):
4295 ($(BLD)/buffer.obj):
4296 ($(BLD)/editfns.obj):
4297 ($(BLD)/emacs.obj):
4298 ($(BLD)/fileio.obj):
4299 ($(BLD)/fns.obj):
4300 ($(BLD)/indent.obj):
4301 ($(BLD)/insdel.obj):
4302 ($(BLD)/intervals.obj):
4303 ($(BLD)/minibuf.obj):
4304 ($(BLD)/print.obj):
4305 ($(BLD)/scroll.obj):
4306 ($(BLD)/sysdep.obj):
4307 ($(BLD)/textprop.obj):
4308 ($(BLD)/widget.obj):
f3d3c491
AI
4309 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4310 ($(BLD)/term.obj): Add dependency on dispextern.h.
4311
52283633
SM
4312 * makefile.nt ($(BLD)\dispnew.obj):
4313 ($(BLD)\keyboard.obj):
4314 ($(BLD)\w32inevt.obj):
4315 ($(BLD)\w32bdf.obj):
4316 ($(BLD)\alloc.obj):
4317 ($(BLD)\buffer.obj):
4318 ($(BLD)\editfns.obj):
4319 ($(BLD)\emacs.obj):
4320 ($(BLD)\fileio.obj):
4321 ($(BLD)\fns.obj):
4322 ($(BLD)\indent.obj):
4323 ($(BLD)\insdel.obj):
4324 ($(BLD)\intervals.obj):
4325 ($(BLD)\minibuf.obj):
4326 ($(BLD)\print.obj):
4327 ($(BLD)\scroll.obj):
4328 ($(BLD)\sysdep.obj):
4329 ($(BLD)\textprop.obj):
4330 ($(BLD)\widget.obj):
f3d3c491
AI
4331 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4332 ($(BLD)\term.obj): Add dependency on dispextern.h
4333
18ad4821
EZ
43342000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4335
4336 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4337 with an additional argument of Qt.
4338
de54681a
MB
43392000-10-21 Miles Bader <miles@gnu.org>
4340
4341 * window.c (pos_fully_visible_in_window_p): New function.
4342 (Fpos_visible_in_window_p): Add FULLY argument.
4343 Use pos_fully_visible_in_window_p.
4344 (window_scroll_pixel_based, window_scroll_line_based): Update
4345 calls to Fpos_visible_in_window_p.
4346 * lisp.h (Fpos_visible_in_window_p): Update prototype
4347
13c844fb
GM
43482000-10-20 Gerd Moellmann <gerd@gnu.org>
4349
4350 * alloc.c (toplevel): Conditionalize compilation of mem_*
4351 functions differently.
52283633 4352
d9506268
JR
43532000-10-20 Jason Rumney <jasonr@gnu.org>
4354
4355 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4356 mem_init where it used to be. mem_z etc not defined otherwise.
4357
8094989b
GM
43582000-10-20 Gerd Moellmann <gerd@gnu.org>
4359
4360 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4361 GC_MALLOC_CHECK.
4362 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4363 structure definition and related variabled to the top of the file.
4364 Include this code when GC_MALLOC_CHECK is defined.
4365 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4366 register/unregister allocated region.
4367 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4368 which isn't allocated.
4369 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4370 something which is already in use.
4371 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4372 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4373 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4374 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4375
4376 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4377 _malloc_internal instead of malloc.
4378 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4379 of free.
4380
ea456eb4
AI
43812000-10-20 Andrew Innes <andrewi@gnu.org>
4382
4383 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4384 Windows.
4385 (my_strftime) <macro>: Don't use macro arg list when redefining as
4386 _strftime_copytm.
4387 (my_strftime) <function>: Supply 0 as ut argument.
4388
e64c3a75
JR
43892000-10-19 Jason Rumney <jasonr@altavista.net>
4390
4391 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4392 including dispextern.h, as it stops faces from working.
4393
4394 * w32fns.c (Fx_create_frame): Don't bother calling
4395 face-set-after-frame-default since the caller does it for us
4396 anyway. Clean up calls to x_get_arg to be consistent with X.
4397
4398 * w32term.c (x_produce_glyphs): Handle
4399 unibyte_display_via_language_environment correctly.
4400 (w32_draw_box_rect): Fix the calculation of width and height.
4401
4402 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4403 as it has stopped working.
4404 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4405 menu-bar.
4406
17401c97
GM
44072000-10-19 Gerd Moellmann <gerd@gnu.org>
4408
4409 * eval.c (skip_debugger): Prevent a compiler warning.
4410 (Fcondition_case): Likewise.
4411 (Fbacktrace_frame): Use a null interactive spec.
4412
773272d8
KH
44132000-10-19 Kenichi Handa <handa@etl.go.jp>
4414
4415 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4416
a42943e9
GM
44172000-10-18 Gerd Moellmann <gerd@gnu.org>
4418
e50517d9
GM
4419 * strftime.c: Sync with glibc, file version 1.78.
4420 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4421 should no longer be used according to ISO 8601.
4422
9035a35a
GM
4423 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4424 no map for meta_prefix_char, don't try to use it as a keymap.
4425 Instead, if T_OK is non-zero, look up a default binding, if any,
4426 otherwise, if T_OK is zero, return nil.
4427
a42943e9
GM
4428 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4429 (x_to_xcolors, png_load): Use x_query_color.
4430
52283633
SM
4431 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4432 New functions.
a42943e9
GM
4433 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4434 which can be slow.
4435 (x_copy_color, x_alloc_lighter_color): Likewise.
4436
4437 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4438 (x_query_color, x_query_colors): Add prototype.
4439
4440 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4441 check_string_bytes only if not noninteractive, increase count to 50.
4442
00de2987
MB
44432000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4444
4445 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4446 markers correctly.
4447
54918e2b
GM
44482000-10-17 Gerd Moellmann <gerd@gnu.org>
4449
1f0b3fd2
GM
4450 * alloc.c (pure_bytes_used): Renamed from pureptr.
4451 (ALIGN): New macro.
4452 (pure_alloc): New function.
4453 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4454 Use it.
4455 (Fpurecopy): Use PURE_POINTER_P.
4456
68c5d1db
GM
4457 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4458 PT has moved backward.
52283633 4459
9a038881
GM
4460 * xdisp.c (cursor_row_p): Take continued lines into account.
4461
361b097f
GM
4462 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4463 string's size_byte.
4464 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4465 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4466 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4467 string allocated.
4468
54918e2b
GM
4469 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4470 of selective display off while searching for the next line start.
4471
03ed0806
KH
44722000-10-17 Kenichi Handa <handa@etl.go.jp>
4473
4474 * Makefile.in (term.o): Depend on dispextern.h.
4475
7e05cdaf
SM
44762000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4477
4478 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4479
a6801fd1
GM
44802000-10-16 Gerd Moellmann <gerd@gnu.org>
4481
483de32b
GM
4482 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4483 the iterator at the beginning, so that they can be set later on,
4484 for instance in reseat_at_next_visible_line_start, without being
4485 overwritten.
4486
a6801fd1
GM
4487 * xfns.c (pbm_format): Add :foreground and :background keywords.
4488 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4489 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4490
dbf1fcc1
EZ
44912000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4492
4493 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4494
52283633 4495 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4496
4497 * msdos.c (IT_set_face): Compare highlighted face with the default
4498 face, and invert colors if these faces' colors are identical.
4499 (Fmsdos_remember_default_colors): Don't swap foreground and
4500 background colors in initial_colors[].
4501 (IT_set_frame_parameters): Don't swap frame's foreground and
4502 background pixels. If ALIST includes "(reverse . t)", swap
4503 foreground-color and background-color properties in frame's
4504 param_alist. If the original frame's param_alist doesn't specify
4505 the colors, store unspecified-fg and unspecified-bg, reversed if
4506 required.
4507
4508 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4509 the colors are unspecified and reversed, reverse fore- and back-
4510 ground in the returned value.
4511 (Fframe_parameter): Ditto.
4512
b41fe2c3 45132000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4514
3a6b59d9
GM
4515 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4516 get_last_unchanged_at_beg_row.
4517 (find_first_unchanged_at_end_row): Renamed from
4518 get_first_unchanged_at_end_row.
4519 (find_first_unchanged_at_end_row): Convert assertions to
4520 unconditional tests which abort. When looking for a row in
4521 unchanged text, don't go further back than first_text_row.
4522
b41fe2c3
GM
4523 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4524 Don't add in the last line's height when deciding if the new
4525 position is below the scroll margin.
9d1af64f 4526
b41fe2c3 45272000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4528
4529 * editfns.c (Fconstrain_to_field): Check carefully for field
4530 boundaries if either OLD_POS or NEW_POS has a non-nil field
4531 property, even if they're the same.
4532
c412cb7b
KH
45332000-10-16 Kenichi Handa <handa@etl.go.jp>
4534
4535 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4536 height for XFillRectangle.
4537
5586f3eb
SM
45382000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4539
4540 * syntax.c (Fstring_to_syntax): New function extracted from
4541 Fmodify_syntax_entry.
4542 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4543 (skip_chars, Fforward_comment): Remove unused variables.
4544 (syms_of_syntax): Add defsubr for string-to-syntax.
4545 (describe_syntax): Add code for comment and string fences.
4546
db785038
SM
45472000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4548
4549 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4550 Do the meta->esc mapping. Call get_keyelt before returning.
4551 Start scanning from the second element (the first is always `keymap')
4552 to make it easier to detect when we reach a parent map.
4553 Handle the case of inheriting from a symbol whose function is a map.
4554 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4555 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4556 (get_keyelt, Flookup_key): Update call to access_keymap.
4557 Remove the meta->esc mappings.
4558 (define_as_prefix): Delete old disabled code.
4559 (menu_item_p): New function.
4560 (where_is_internal_1): Skip over the few remaining menu items.
4561 * lisp.h (access_keymap): Update prototype.
4562 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4563 Update call to access_keymap.
4564 (follow_key, read_key_sequence): Update calls to access_keymap.
4565 Remove the meta->esc mappings.
4566
cafafe0b
GM
45672000-10-13 Gerd Moellmann <gerd@gnu.org>
4568
a2e2a7f6
GM
4569 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4570 with additional argument.
4571
cafafe0b
GM
4572 * xdisp.c (cursor_row_p): New function.
4573 (try_cursor_movement, display_line): Use it.
52283633 4574
cafafe0b
GM
4575 * xdisp.c (append_space): Also save/restore iterator's current
4576 character and its length.
4577
4578 * xdisp.c (init_from_display_pos): Add an assertion.
4579 (handle_stop): Don't set iterator's add_overlay_start.
4580 (handle_invisible_prop): Likewise.
4581 (load_overlay_strings): If text under an overlay is invisible,
4582 take both before- and after-strings into account when the iterator
4583 is positioned either at the start or at the end of the overlay.
4584 (forward_to_next_line_start): Rewritten.
4585 (reseat_at_next_visible_line_start): Rewritten.
4586 (set_iterator_to_next): Add parameter RESEAT_P.
4587
4588 * dispextern.h (struct it): Remove member add_overlay_start.
4589 (set_iterator_to_next): Change prototype.
4590
c744452b
KH
45912000-10-13 Kenichi Handa <handa@etl.go.jp>
4592
4593 * coding.c (code_convert_region): Be sure to initialize
4594 coding->category_idx.
e4a3f4e1
KH
4595 (decode_coding_string): Set coding->src_multibyte and
4596 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4597 (encode_coding_string): Set coding->src_multibyte and
4598 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4599
321fd26f
SM
46002000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4601
4602 * xfns.c (Fx_create_frame): Don't bother calling
4603 face-set-after-frame-default since the caller does it for us anyway.
4604
76832439
EZ
46052000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4606
4607 * window.c (coordinates_in_window): Fix detection of vertical line
4608 on character terminals.
4609
2483cf58
GM
46102000-10-12 Gerd Moellmann <gerd@gnu.org>
4611
4612 * editfns.c (save_excursion_save): Additionally record the
4613 selected window.
4614 (save_excursion_restore): If buffer was visible in a window, and a
4615 different window was selected, and the old selected window is
4616 still live, restore point in that window.
4617
eb991b25
KH
46182000-10-12 Kenichi Handa <handa@etl.go.jp>
4619
8a0eba09
KH
4620 * xterm.c (x_produce_glyphs): Handle
4621 unibyte_display_via_language_environment correctly.
4622
20401fcc
KH
4623 * regex.c (regex_compile): Change the way of handling a range from
4624 unibyte char to multibyte char.
4625
4626 * syntax.c (skip_chars): Change the way of handling a range from
4627 unibyte char to multibyte char.
4628
eb991b25
KH
4629 * process.c (read_process_output): Cancel previous change.
4630
365dd325
EZ
46312000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4632
c1b096cb
EZ
4633 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4634
365dd325
EZ
4635 * charset.c (Ffind_charset_string): Doc fix.
4636 (Ffind_charset_region): Doc fix.
4637
eb483c2b
KH
46382000-10-11 Kenichi Handa <handa@mule.m17n.org>
4639
4640 * process.c (read_process_output): Fix previous change. Adjust
4641 multibyteness of text to insert in a buffer by
52283633 4642 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4643
b40bfb99
AS
46442000-10-10 Andreas Schwab <schwab@suse.de>
4645
4646 * alloc.c (mark_object): Remove all workarounds installed on
4647 1993-08-08.
4648
caff31d4
KH
46492000-10-10 Kenichi Handa <handa@etl.go.jp>
4650
52283633 4651 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4652 (base64_encode_1): Make it work for a text of multibyte form.
4653 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4654 case. Don't call str_to_multibyte because base64_decode_1
4655 produces correct multibyte form for eight-bit codes.
52283633 4656 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4657 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4658 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4659 codes.
4660
4661 * charset.h (CHAR_STRING): Optimized for single byte characters.
4662
cba026ef
AS
46632000-10-09 Andreas Schwab <schwab@suse.de>
4664
4665 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4666 -1 after socket is closed, to fall through to error processing.
4667
1e21fe48
EZ
46682000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4669
4670 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4671 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4672 background-color, change also the colors of the default face for
4673 this frame.
4674
a640322e
EZ
46752000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4676
4677 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4678 them extern (they are defined on xfaces.c).
4679 (syms_of_msdos): Don't intern and don't staticpro
4680 Qbackground_color and Qforeground_color.
4681
a115794c
EZ
46822000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4683
4684 * frame.c (Fframe_parameter): For non-windowed frames, if
4685 f->param_alist says foreground or background color is unspecified,
4686 call tty_color_name to return the color name computed from the
4687 frame's current colors.
4688
f5533b63
DL
46892000-10-06 Dave Love <fx@gnu.org>
4690
4691 * terminfo.c (ospeed): Don't declare.
4692
4693 * sysdep.c: Don't include string.h.
4694 (h_errno): Declare conditional also on TRY_AGAIN.
4695
4696 * charset.c (Ffind_charset_string): Doc fix.
4697
52283633 4698 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4699 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4700 error messages.
4701
2b06561a
DL
47022000-10-05 Dave Love <fx@gnu.org>
4703
4704 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4705 position like menu-bar.
4706
ca839c85
GM
47072000-10-05 Gerd Moellmann <gerd@gnu.org>
4708
4709 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4710
4711 * xdisp.c (handle_single_display_prop): Use safe_call1.
4712 (safe_call): Renamed from call_function.
4713 (safe_call1): New function.
4714 (handle_fontified_prop): Use safe_call1 instead of call1.
4715 (safe_eval): Renamed from eval_form.
4716 (safe_eval_handler): Renamed from eval_handler.
4717 (handle_single_display_prop, display_mode_element): Use safe_eval
4718 instead of eval_form.
4719
4720 * xfaces.c (merge_face_heights): Use safe_call instead of
4721 call_function.
4722
4723 * keyboard.c (show_help_echo): Use safe_call instead of
4724 call_function; use safe_eval instead of eval_form.
4725
4726 * lisp.h (safe_call): Renamed from call_function.
4727 (safe_eval): Renamed from eval_form.
4728 (safe_call1): Add prototype.
4729
a3489ece
MB
47302000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4731
4732 * xfns.c (image_ascent): Rearrange ascent calculation for the
4733 has-a-font case.
4734
35810b6f
SM
47352000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4736
4737 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4738 (where_is_internal_1): Don't bother ignoring menu-items any more.
4739
3dc78168
GM
47402000-10-04 Gerd Moellmann <gerd@gnu.org>
4741
4742 * keyboard.c (update_menu_bindings): New variable.
4743 (parse_menu_item): Use AREF. If update_menu_bindings
4744 is 0, don't update menu bindings.
4745 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4746
1efc2bb9
EZ
47472000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4748
4749 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4750 to `mark_object'.
4751
3f679f55
SM
47522000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4753
4754 * syntax.c (forw_comment): Match nestedness of ender/starter.
4755 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4756 (prev_char_comstart_first): Remove.
4757 (back_comment): Check two-char comment markers more carefully
4758 to better handle overlapping cases like *//* or /* */* */ ...
4759 Match nestedness of ender/starter.
4760
2021ab61
DL
47612000-10-02 Dave Love <fx@gnu.org>
4762
4763 * config.in (HAVE_GAI_STRERROR): Add undef.
4764
4765 * process.c (Fopen_network_stream): Use it.
4766
4767 * m/alpha.h (NO_REMAP): Don't define.
4768
64e6cc18
GM
47692000-10-02 Gerd Moellmann <gerd@gnu.org>
4770
4771 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4772 return with a string converted to an integer or vice versa when
4773 Vmocklisp_arguments is t.
4774 (Fsignal): Likewise. The function can return for `quit'.
4775 (struct gcpro): Declare member `var' to point to a volatile
4776 Lisp_Object.
4777
4778 * eval.c (error): Prevent compiler warning.
4779
b1904cd9
SM
47802000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4781
4782 * keymap.c (keymap_memberp): New function.
4783 (Fset_keymap_parent): Use it.
4784 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4785 Use keymap_memberp to avoid creating cycles.
4786 (access_keymap): Use KEYMAPP.
4787
71c9ec51
GM
47882000-09-30 Gerd Moellmann <gerd@gnu.org>
4789
4790 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4791 gai_strerror. Make sure xerrno is set if connect fails. Improve
4792 error recovery.
71c9ec51 4793
c70c6b58
JR
47942000-09-29 Jason Rumney <jasonr@gnu.org>
4795
4796 * w32term.c (w32_char_font_type, w32_encode_char)
4797 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4798 (w32_bdf_per_char_metric): New function.
4799 (w32_per_char_metric): Use it.
4800 (x_draw_glyph_string_background): Always draw background for BDF
4801 glyphs.
4802
4803 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4804 GDI object which is a scarce resource.
4805
4806 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4807 (get_quoted_string): Fix limit on memchr search.
4808 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4809 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4810 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4811 (get_cached_font_char, cache_char_offset): Use macro
4812 BDF_CODEPOINT_RANGE_COVER_P.
4813 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4814 (clear_cached_bitmap_slots): New function.
4815 (GET_HEX_VALUE): G-Z, g-z are not hex.
4816 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4817 (get_bitmap_with_cache): Use new cache implementation.
4818 (create_offscreen_bitmap): New function.
4819 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4820
4821 * w32term.c (x_produce_glyphs): If the distance from the current
4822 position to the next tab stop is less than a canonical character
4823 width, use the tab stop after that.
4824 (x_draw_glyphs): Handle case START and END are out of bounds more
4825 carefully.
4826 (x_clear_mouse_face): Block/unblock input.
4827 (x_display_and_set_cursor): Don't show a hollow box cursor for
4828 buffers whose cursor_type is nil.
4829
fe01239f
GM
48302000-09-29 Gerd Moellmann <gerd@gnu.org>
4831
52283633 4832 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4833
4834 * dispextern.h (updating_frame): Declare extern.
4835
e7c52f1f
AS
48362000-09-29 Andreas Schwab <schwab@suse.de>
4837
4838 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4839
de6e1f7c
GM
48402000-09-29 Gerd Moellmann <gerd@gnu.org>
4841
25126faa
GM
4842 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4843 use its function definition.
4844 (tool_bar_items): Likewise.
4845
de6e1f7c 4846 * lisp.h (fatal): Declare NO_RETURN.
52283633 4847
454ee39b
KH
48482000-09-29 Kenichi Handa <handa@etl.go.jp>
4849
4850 * keymap.c: Remove the line "#undef NULL".
4851
96301c5f
GM
48522000-09-28 Gerd Moellmann <gerd@gnu.org>
4853
52283633 4854 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4855
efffeeb4
DL
48562000-09-28 Dave Love <fx@gnu.org>
4857
ecb8b666
DL
4858 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4859
dc3cd20f
DL
4860 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4861
4862 * .gdbinit (xreload): Note its need on GNU/Linux.
4863
efffeeb4
DL
4864 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4865 r_alloc, r_alloc_free.
4866
8610d903
KH
48672000-09-28 Kenichi Handa <handa@etl.go.jp>
4868
4869 * syntax.c (skip_chars): Handle negation correctly.
4870
8901d1ac
GM
48712000-09-27 Gerd Moellmann <gerd@gnu.org>
4872
6f22f1ad
GM
4873 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4874 with non-zero FORCE_P argument.
4875
52283633 4876 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4877 Add assertions.
4878
4879 * xdisp.c (window_box_height): Add an assertion.
4880
4881 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4882 tool-bar than is available.
4883 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4884
36f1966f
DL
48852000-09-27 Dave Love <fx@gnu.org>
4886
efffeeb4 4887 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4888
31d929e5
GM
48892000-09-26 Gerd Moellmann <gerd@gnu.org>
4890
c98863bf
GM
4891 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4892 instead of BITS_PER_INT.
4893 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4894 EMACS_UINT, respectively.
4895 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4896
4897 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4898
4899 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4900
77072ab1
GM
4901 * window.c (freeze_window_starts): Construct last argument for
4902 foreach_window differently.
4903
4904 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4905
4906 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4907 EMACS_UINT instead of `int' and `unsigned int'.
4908 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4909
4910 * frame.h (struct frame): Make the `nothing' member of union
4911 output_data an EMACS_INT.
4912
52283633 4913 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4914 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4915 size in the sdata structure.
4916 (SDATA_NBYTES, SDATA_DATA): New macros.
4917 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4918 differently for the different layout of the sdata structure.
4919 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4920 in sdata.
4921 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4922 Check that size recorded in the string size and size recorded in
4923 the sdata structure agree.
4924
3e60b029
DL
49252000-09-25 Dave Love <fx@gnu.org>
4926
4927 * buffer.c: Include stdio.h.
4928
4929 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4930
3e60b029
DL
4931 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4932
4933 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4934 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4935 (__malloc_extra_blocks): Declare as __malloc_size_t.
4936
8ff16b4e
GM
49372000-09-25 Gerd Moellmann <gerd@gnu.org>
4938
755a2ccd
GM
4939 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4940
d8b4516f
GM
4941 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4942 (read_char): If help-echo is showing, preserve the echo area
4943 when redisplaying.
4944
4945 * xdisp.c (help_echo_showing_p): New variable.
4946 (set_message): Reset it to 0.
4947 (init_xdisp): Initialize help_echo_showing_p.
4948
4949 * dispextern.h (help_echo_showing_p): Declare extern.
4950
4951 * config.in: Fix typo in __GNUC_MINOR__.
4952
4953 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4954
b11af2dd
GM
4955 * s/freebsd.h (POSIX_SIGNALS): Define.
4956
8ff16b4e
GM
4957 * xterm.c (x_clear_mouse_face): Block/unblock input.
4958
844eb643
DL
49592000-09-24 Dave Love <fx@gnu.org>
4960
4961 * fns.c (base64_encode_1): Fix last change.
4962
b30ab1b3
GM
49632000-09-22 Gerd Moellmann <gerd@gnu.org>
4964
4965 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4966
4967 * xdisp.c (try_window_reusing_current_matrix): More fixes
4968 for the case window has a header-line.
4969
c6cbe5f0
DL
49702000-09-22 Dave Love <fx@gnu.org>
4971
4c7c1f3f
DL
4972 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4973 a doc string.
4974
4975 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4976
c6cbe5f0
DL
4977 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4978
550a625e
GM
49792000-09-21 Gerd Moellmann <gerd@gnu.org>
4980
4c7c1f3f 4981 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4982 for GCC >= 2.5.
4983
52283633
SM
4984 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4985 Declare NO_RETURN.
fca99116 4986
80d26f99
GM
4987 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4988 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4989 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4990 warnings.
52283633 4991
80d26f99
GM
4992 * marker.c (byte_char_debug_check): Return void.
4993
623a0aae
GM
4994 * xfns.c (Fx_create_frame): Set default frame parameter value
4995 for tool-bar-lines to 1.
4996
4997 * dispnew.c (scrolling_window): Compare y-positions of rows
4998 equal at the start. Some simplification.
4999
5000 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
5001 reused rows' y-position in the case window has a header-line, and
5002 new window start is greater than old window start.
5003
42ac0ae5
GM
5004 * process.c (process_sent_to): New variable.
5005 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
5006 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
5007 Declare more parameters volatile.
5008
550a625e
GM
5009 * lread.c (Vrecursive_load_depth_limit): New variable.
5010 (Fload): Check recursive loads whose recursion depth exceeds
5011 Vrecursive_load_depth_limit.
5012 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
5013
8320414c
GM
50142000-09-20 Gerd Moellmann <gerd@gnu.org>
5015
f46c275e
GM
5016 * fileio.c (Fread_file_name): Doc fix.
5017
5018 * editfns.c (Fmessage_or_box): Doc fix.
5019
5020 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
5021
b7e11c5b 5022 * xfns.c (xbm_scan): Allow C-style comments.
52283633 5023
8320414c
GM
5024 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
5025 symbols are specified, add color translations to the cache.
52283633 5026 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
5027 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
5028 xpm_cache_color.
5029 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
5030 structures to xpm_init_color_cache.
5031
da1608d9
GM
50322000-09-19 Gerd Moellmann <gerd@gnu.org>
5033
52283633 5034 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 5035
6badfa25
AI
50362000-09-19 Andrew Innes <andrewi@gnu.org>
5037
5038 * makefile.nt (bootstrap-emacs): Don't change directory.
5039
3a5f42bb
KH
50402000-09-19 Kenichi Handa <handa@etl.go.jp>
5041
1b7649bd
KH
5042 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
5043
3a5f42bb
KH
5044 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
5045 If output buffer is too small, signal an appropriated error.
5046
9f83cf0b
DL
50472000-09-18 Dave Love <fx@gnu.org>
5048
52283633 5049 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
5050 (current_active_maps): Remove redundant get_local_map call.
5051
28c7826c
GM
50522000-09-18 Gerd Moellmann <gerd@gnu.org>
5053
5cefa566
GM
5054 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
5055 cursor for buffers whose cursor_type is nil.
52283633 5056
6fed3546
GM
5057 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5058 a feature to implement that is already implemented.
5059 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5060 warnings.
5061
5062 * xfns.c (x_clear_image_1): New function.
5063 (x_clear_image): Use it.
52283633 5064 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5065
05b1f851
GM
5066 * dispnew.c (update_window): Move test for invisible lines
5067 at the top to update_window_line.
5068 (update_window_line): Handle invisible lines here.
5069
f4779de9
GM
5070 * xfns.c (clear_image_cache): Clear current matrices of all
5071 frames sharing an image cache. Block input while freeing
5072 images. Fix timestamp comparison.
5073 (x_clear_image): Also free the mask.
5074
28c7826c
GM
5075 * xfns.c (lookup_image): Block input while loading the image so
5076 that we won't get interrupted in a state where the image isn't yet
5077 set up completely.
5078 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5079 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5080 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5081 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5082
b7412313
GM
50832000-09-16 Gerd Moellmann <gerd@gnu.org>
5084
5085 * dispnew.c (update_window): Make sure to make desired rows
5086 current even if they are completely invisible at the top
5087 of a window.
5088
47e351a3
GM
50892000-09-15 Gerd Moellmann <gerd@gnu.org>
5090
7f8f1edc
GM
5091 * xfns.c (lookup_image): Build mask before applying an algorithm.
5092 Recognize algorithm `disabled'.
5093 (cross_disabled_images): New variable.
5094 (COLOR_INTENSITY): New macro.
5095 (x_detect_edges): Use COLOR_INTENSITY.
5096 (x_disable_image): New function.
5097 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5098
5099 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5100 disabled state, don't apply an image transformation algorithm if
5101 the user specified an image for the disabled state. Use
28c7826c 5102 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5103 user hasn't specified an image.
5104
ebb8f116
GM
5105 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5106 allocation functions with the XPM lib.
5107 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5108 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5109 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5110 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5111 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5112 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5113 functions, if possible, because these handle color allocation
5114 failure more gracefully.
5115 (Fimage_mask_p): New function.
5116
47e351a3
GM
5117 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5118 (Qedge_detection, Qheuristic): New symbols.
5119 (syms_of_xfns): Initialize new symbols.
5120 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5121 `algorithm (edge-detection ...)'.
5122 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5123 (tiff_format, gif_format, gs_format): Add `:mask'.
5124 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5125 (GIF_MASK, GS_MASK): New enumerators.
5126 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5127 (emboss_matrix, laplace_matrix): New variables.
5128 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5129 (x_edge_detection): New functions.
5130 (x_laplace): Rewritten in terms of x_detect_edges.
5131 (x_build_heuristic_mask): If image has a mask, free it.
5132
fe83b953
AI
51332000-09-14 Andrew Innes <andrewi@gnu.org>
5134
5135 * makefile.w32-in: Revert to Unix line endings.
5136
3021e816
AI
51372000-09-14 Andrew Innes <andrewi@gnu.org>
5138
5139 * makefile.w32-in: Standardize indentation somewhat.
5140 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5141 cater for differences between shells.
5142
5143 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5144
2a32b5ea
GM
51452000-09-14 Gerd Moellmann <gerd@gnu.org>
5146
5147 * xterm.c (x_produce_glyphs): If the distance from the current
5148 position to the next tab stop is less than a canonical character
5149 width, use the tab stop after that.
5150
b4331e96
DL
51512000-09-14 Dave Love <fx@gnu.org>
5152
5153 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5154
ef9e4345
GM
51552000-09-14 Gerd Moellmann <gerd@gnu.org>
5156
085536c2
GM
5157 * xdisp.c (handle_fontified_prop): While running fontification
5158 functions, bind `fontification-functions' and
5159 `after-change-functions' to nil.
5160
ef9e4345
GM
5161 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5162 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5163
5164 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5165
5166 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5167 USE_MMAP_FOR_BUFFERS.
5168
5169 * insdel.c (make_gap): Use enlarge_buffer_text.
5170
5171 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5172 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5173 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5174 from former r_alloc_* functions in ralloc.c.
52283633 5175 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5176 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5177 (mmap_init) [REL_ALLOC_MMAP]: New function.
5178 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5179 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5180 BUFFER_FREE.
5181
5182 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5183 (enlarge_buffer_text): Add prototype.
5184
5185 * ralloc.c: Remove everything having to do with the use of mmap.
5186
f8608968
GM
51872000-09-13 Gerd Moellmann <gerd@gnu.org>
5188
2a494b2d
GM
5189 * sound.c (Fplay_sound): Doc fix.
5190
8c907a56
GM
5191 * keyboard.c: Avoid some more compiler warnings.
5192 (parse_tool_bar_item): Ignore cached key bindings.
5193
f8608968
GM
5194 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5195 and allocation of Lisp data.
5196
6ab70e9a
GM
51972000-09-12 Gerd Moellmann <gerd@gnu.org>
5198
d12d0a9b
GM
5199 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5200 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5201 defaults first.
5202
6ab70e9a
GM
5203 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5204
63c36c3c
KH
52052000-09-12 Miyashita Hisashi <himi@meadowy.org>
5206
5207 * ccl.c: Comment fixed.
5208 (MAX_MAP_SET_LEVEL): Increased to 30.
5209 (PUSH_MAPPING_STACK): Enclose with do-while block.
5210 (POP_MAPPING_STACK): Likewise.
5211 (stack_idx_of_map_multiple): New variable.
5212 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5213 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5214 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5215 (ccl_driver) <CCL_MapSingle>: Likewise.
5216 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5217 with the case where looking up process reaches to the end of
5218 map-set, and call CCL programs as the above change.
5219
7ee3bd7b
GM
52202000-09-11 Gerd Moellmann <gerd@gnu.org>
5221
8ec8a5ec
GM
5222 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5223 that might be clobbered by longjmp.
5224 (check_x_display_info, x_decode_color, create_frame_xic)
5225 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5226 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5227
f74b0705
GM
5228 * lread.c (init_lread): Set Vloads_in_progress to nil.
5229 (Fload): Show list of recursively loaded files, when signaling an
5230 error.
5231
7ee3bd7b
GM
5232 * lread.c (Vloads_in_progress): New variable.
5233 (record_load_unwind): New function.
5234 (Fload): Check for recursive loads.
5235 (syms_of_lread): Initialize Vloads_in_progress.
5236 (read_integer, read1): Avoid some compiler warnings.
5237
5238 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5239 compiler warnings.
5240
974e1e5b
MB
52412000-09-11 Miles Bader <miles@gnu.org>
5242
5243 * editfns.c (Fbuffer_string): Doc fix.
5244
9824c4e3
GM
52452000-09-10 Gerd Moellmann <gerd@gnu.org>
5246
5247 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5248
6a72fdd1
KR
52492000-09-09 Ken Raeburn <raeburn@gnu.org>
5250
5251 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5252 whether to include other header files.
5253
28e6fb66
GM
52542000-09-09 Gerd Moellmann <gerd@gnu.org>
5255
52283633 5256 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5257 by Fmemq as a boolean.
28e6fb66 5258
7f8b6551
SM
52592000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5260
5261 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5262
a8710abf
GM
52632000-09-08 Gerd Moellmann <gerd@gnu.org>
5264
d1a02881
GM
5265 * ralloc.c (mmap_fd): Remove initializer which can make it
5266 read-only in a dumped Emacs.
5267 (mmap_fd_1): New variable.
5268 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5269 restore it from there.
5270 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5271 unconditionally so that mmap_fd can be initialized there.
5272 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5273 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5274 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5275
c454aac1
GM
5276 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5277
5278 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5279 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5280
fc653ef2
GM
5281 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5282
3015eec0
GM
5283 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5284 inheritance.
5285
bfe0ee88
GM
5286 * xdisp.c (try_window_id): When trying to locate cursor in
5287 unchanged rows at the top, handle the case that we can't find it.
5288
a8710abf
GM
5289 * xterm.c (x_draw_glyphs): Handle case START and END are out
5290 of bounds more carefully.
5291
6b7d4ae4
DL
52922000-09-08 Dave Love <fx@gnu.org>
5293
423193c5
DL
5294 * s/sol2.h (REL_ALLOC_MMAP): Define.
5295 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5296
5297 * ralloc.c: Don't include string.h (redundant).
5298 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5299 [!MAP_ANON]: Include fcntl.h.
5300 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5301 (r_alloc, r_re_alloc, r_alloc_free)
5302 (mmap_enlarge, mmap_set_vars): Use it.
5303 (r_alloc_init_fd): New function.
5304 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5305 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5306 malloc type.
5307
5308 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5309 Remove vm-limit.o.
5310
6b7d4ae4
DL
5311 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5312 change to __NetBSD__.
5313
44d31981
KH
53142000-09-08 Kenichi Handa <handa@etl.go.jp>
5315
5316 * search.c (compile_pattern): Check the multibyteness of cached
5317 string and PATTERN.
5318
aad40737
MB
53192000-09-08 Miles Bader <miles@gnu.org>
5320
5321 * xfaces.c (default_face_vector): Function removed.
5322 (Finternal_merge_in_global_face): Restore old global/local
5323 attribute override order. Use inline loop instead of calling
5324 default_face_vector.
5325
91a211b5
GM
53262000-09-07 Gerd Moellmann <gerd@gnu.org>
5327
5328 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5329 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5330 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5331 where necessary, in case POINTER_TYPE is `void'.
5332
03419440
EZ
53332000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5334
5335 * frame.c (make_terminal_frame): Initialize frame foreground and
5336 background colors to unspecified, for the initial instance of an
5337 MSDOS frame.
5338
f46f845b
GM
53392000-09-07 Gerd Moellmann <gerd@gnu.org>
5340
24f76fbf
GM
5341 * ralloc.c (mmap_find): Fix overlap computation.
5342 (mmap_enlarge): Compute nbytes before trying to find an
5343 overlapping region.
5344
f46f845b
GM
5345 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5346 instead of `!='.
5347
5348 * lread.c (syms_of_lread): Change value of regexp
5349 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5350
5351 * xmenu.c (xdialog_show): When looking up the selection in
5352 menu_items, take `quote' boundaries into account; this corresponds
5353 to a nil ITEM in x-popup-dialog.
5354
3c014385
KH
53552000-09-07 Kenichi Handa <handa@etl.go.jp>
5356
fd6f711b
KH
5357 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5358 not 0x81.
5359 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5360
3c014385 5361 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5362 encoding, not decoding. Fix the handling of latin-jisx0201.
5363 Check for the charset katakana-jisx0201 too.
3c014385 5364 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5365 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5366
0da3ecef
GM
53672000-09-07 Gerd Moellmann <gerd@gnu.org>
5368
ab0ee409
GM
5369 * xfaces.c (Vparam_value_alist): New variable.
5370 (syms_of_xfaces): Initialize it.
5371 (Finternal_set_lisp_face_attribute): Avoid more consing.
5372
5373 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5374 specially.
5375 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5376 (Qbackground_mode): New variable.
5377 (syms_of_frame_1): Initialize Qbackground_mode.
5378
5379 * lisp.h (Qdisplay): Declare extern.
1091dd67 5380
0da3ecef
GM
5381 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5382 change face on all frames, and change the default for new frames.
5383
b14654b9
DL
53842000-09-07 Dave Love <fx@gnu.org>
5385
5386 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5387
d24fd56f
KH
53882000-09-07 Kenichi Handa <handa@etl.go.jp>
5389
794f3670
KH
5390 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5391
0fddd0dc
KH
5392 * charset.c: Include composite.h
5393 (lisp_string_width): New function.
5394 (Fstring_width): Call lisp_string_width instead of strwidth.
5395
5396 * Makefile.in (charset.o): Depends on composite.h.
5397
d24fd56f
KH
5398 * process.c (read_process_output): Before inserting the decoded
5399 text in the buffer, adjust the multibyteness.
5400
fa0b693c
GM
54012000-09-06 Gerd Moellmann <gerd@gnu.org>
5402
52283633 5403 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5404 buffer's text buffer is null, map new memory.
5405
0a58f946
GM
5406 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5407 POINTER_TYPE and size_t.
5408 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5409 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5410 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5411 [REL_ALLOC_MMAP]: New macros.
5412 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5413 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5414 [REL_ALLOC_MMAP]: New functions.
5415
5416 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5417 before and after unexec.
5418
5419 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5420 text buffers if necessary.
5421
5422 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5423 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5424 in prototypes.
5425
fa0b693c
GM
5426 * config.in (HAVE_MMAP): Add #undef.
5427
877055f6
GM
54282000-09-05 Gerd Moellmann <gerd@gnu.org>
5429
08ba3862
GM
5430 * frame.c (Qdisplay_type): New variable.
5431 (syms_of_frame_1): Initialize it.
5432 (Fframe_parameter): New function that avoids consing.
5433 (syms_of_frame): Defsubr it.
5434
66ffe51c
GM
5435 * buffer.c (Fother_buffer): Consider buffers as invisible when
5436 they are displayed in a window on an invisible frame.
5437
877055f6
GM
5438 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5439 get-largest-window always return nil.
5440
bb970e67
GM
54412000-09-04 Gerd Moellmann <gerd@gnu.org>
5442
5443 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5444 variable; recognize Emacs 19 elc files.
5445
7a3d0e0e
MB
54462000-09-04 Miles Bader <miles@gnu.org>
5447
5448 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5449 before initially popping up the menu, so the menu doesn't flash
52283633 5450 when the face settings are significantly different from the defaults.
7a3d0e0e 5451
14473664
SM
54522000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5453
5454 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5455 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5456 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5457 (BIT_UNIBYTE): Remove.
5458 (re_match_2_internal): Delete corresponding code and streamline the
5459 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5460 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5461 (re_wctype_t): New type.
5462 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5463 (regex_compile): Use them and fix handling of overly long char classes.
5464
c1174479
AI
54652000-09-03 Andrew Innes <andrewi@gnu.org>
5466
f8803e97
AI
5467 * makefile.w32-in: Change to DOS line endings.
5468
c1174479
AI
5469 * s/ms-w32.h (ORDINARY_LINK): New define.
5470
5471 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5472 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5473
5474 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5475 (distclean): Delete them here instead.
5476
44ef7cf6
AI
5477 * w32proc.c (compare_env): Convert to uppercase for comparison,
5478 not lowercase, to match how the native Windows shell works.
5479
49b3bd82
JR
54802000-09-03 Jason Rumney <jasonr@gnu.org>
5481
5482 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5483 CVS changes the line-ends when checking in/out on DOS/Windows.
5484
5485 * makefile.nt (emacs): Do not change directory to run temacs, as
5486 the load-path is set relative to current directory.
5487
a3d35a39
MB
54882000-09-03 Miles Bader <miles@gnu.org>
5489
5490 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5491
d276b0cf
GM
54922000-09-02 Gerd Moellmann <gerd@gnu.org>
5493
715e84c9
GM
5494 * xdisp.c (redisplay_mode_lines): New function.
5495 (display_mode_lines): Return number of mode lines displayed.
5496 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5497 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5498
8892f40b
GM
5499 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5500 string.h and strings.h.
5501 (index) [HAVE_INDEX]: Add prototype.
5502
d276b0cf
GM
5503 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5504 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5505
5506 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5507 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5508
38404229
GM
55092000-09-01 Gerd Moellmann <gerd@gnu.org>
5510
5511 * lread.c (read1): Accept `?' as symbol constituent, for
5512 compatiblity with XEmacs.
5513
c0f9ea08
SM
55142000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5515
5516 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5517 (struct re_pattern_buffer): Remove newline_anchor.
5518 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5519 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5520 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5521 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5522 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5523 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5524 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5525 Get rid of references to newline_anchor.
5526 (regcomp): Allocate and precompute a fastmap.
5527
8c0f83fe
GM
55282000-08-31 Gerd Moellmann <gerd@gnu.org>
5529
5530 * lread.c (openp): GCPRO local variable `filename'.
5531
4bb91c68
SM
55322000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5533
5534 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5535
5536 * regex.c: Merge some changes from GNU libc. Add prototypes.
5537 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5538 Use memcmp and memcpy instead of bcopy and bcmp.
5539 (init_syntax_once): Use ISALNUM.
5540 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5541 (REG_UNSET_VALUE): Remove. Use NULL instead.
5542 (REG_UNSET, re_match_2_internal): Use NULL.
5543 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5544 New macros.
5545 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5546 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5547 (regex_compile): In handle_interval, return an error rather than try to
5548 unfetch the interval if we can't find the closing brace.
5549 Obey the RE_NO_GNU_OPS syntax bit.
5550 (TOLOWER): New macro.
5551 (regcomp): Use it.
5552 (regexec): Allocate regs.start and regs.end as one block.
5553
5226a931
GM
55542000-08-30 Gerd Moellmann <gerd@gnu.org>
5555
868dd24b
GM
5556 * xdisp.c (echo_area_display): Check display_completed instead
5557 of calling detect_input_pending.
5558
5559 * dispnew.c (update_frame): Only set display_completed here; move
5560 the update_begin and update_end calls here from update_frame_1.
5561 (update_frame_1): Don't set display_completed here, don't call
5562 update_begin/update_end.
5563
5226a931
GM
5564 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5565 instead of store_frame_param.
5566
2a8bd25f
GM
55672000-08-29 Gerd Moellmann <gerd@gnu.org>
5568
5569 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5570 desired window matrix hasn't been displayed, use the current row
5571 instead. Make sure that only those frame rows are updated for
5572 which there exists a corresponding enabled desired row.
52283633 5573
ba3478d9
MB
55742000-08-29 Miles Bader <miles@gnu.org>
5575
5576 * xfaces.c (default_face_vector): New function.
5577 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5578
87d0f685
GM
55792000-08-29 Gerd Moellmann <gerd@gnu.org>
5580
5581 * lread.c (openp): Prevent temporary string passed to
5582 Ffile_readable_p from being garbage collected.
5583
6fa86045
DL
55842000-08-28 Dave Love <fx@gnu.org>
5585
5586 * keymap.c (store_in_keymap): Add `static' to declaration.
5587
bb17930d
GM
55882000-08-28 Gerd Moellmann <gerd@gnu.org>
5589
5590 * emacs.c, callint.c, doc.c, editfns.c
5591 (toplevel) [HAVE_STRING_H]: Include string.h.
5592 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5593 (index): Remove prototypes which might conflict with non-standard
5594 definitions of index/strchr.
5595
5596 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5597 (rindex): Define only if !HAVE_RINDEX.
5598
5599 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5600
5601 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5602
87188200
MB
56032000-08-28 Miles Bader <miles@gnu.org>
5604
5605 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5606 made inconsistent by a font-related attribute in FROM.
5607 (merge_face_inheritance): Add function comment.
5608
41a68aef
KH
56092000-08-28 Kenichi Handa <handa@etl.go.jp>
5610
5611 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5612 the 4th arg (PREV_EVENT) Qt to suppress input method.
5613
f7c436c1
SM
56142000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5615
0b32bf0e
SM
5616 * regex.c: Indent cpp directives and remove parens after `defined'.
5617 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5618 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5619 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5620 (re_compile_pattern): Use size_t for length.
5621 (init_syntax_once): Move to a better place.
5622 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5623 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5624
f7c436c1
SM
5625 * syntax.c (back_comment): Detect cases where a comment-starter is
5626 actually inside another comment as in: /* a // b */ c // d \n.
5627 Make it clear that `comstart_pos' is unused for nested comments.
5628
5629 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5630 (KEYMAPP): New macro.
5631 (Fkeymap_parent, Fset_keymap_parent): Use it.
5632 (fix_submap_inheritance): Mark it static.
5633 (define_as_prefix, describe_buffer_bindings, describe_command)
5634 (describe_translation, describe_map): Complete prototypes.
5635
5636 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5637
5638 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5639 to better match the key-lookup behavior.
5640
6288c62f
GM
56412000-08-27 Gerd Moellmann <gerd@gnu.org>
5642
5643 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5644 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5645
e931344e
EZ
56462000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5647
5648 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5649 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5650 (xterm.o): Depend on coding.h
5651
d10dfeef
KH
56522000-08-26 Kenichi Handa <handa@etl.go.jp>
5653
5654 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5655 the corresponding '#endif'.
5656
2d73e8d3
MB
56572000-08-26 Miles Bader <miles@gnu.org>
5658
5659 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5660 * xfaces.c (QCinherit): New variable.
5661 (syms_of_xfaces): Initialize it.
5662 (LFACE_INHERIT): New macro.
5663 (Finternal_get_lisp_face_attribute)
52283633 5664 (merge_face_vector_with_property)
2d73e8d3
MB
5665 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5666 (check_lface_attrs): Allow new types of face height. Check
5667 inherit attribute.
5668 (CYCLE_CHECK): New macro.
5669 (merge_face_inheritance): New function.
5670 (merge_face_vectors): Merge inherited faces too. Add F and
5671 CYCLE_CHECK arguments.
5672 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5673 (lookup_named_face, lookup_derived_face, realize_named_face)
5674 (face_at_string_position, face_at_buffer_position): Supply
5675 new F and CYCLE_CHECK arguments to merge_face_vectors.
5676 (merge_face_heights): New function.
52283633 5677 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5678 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5679 handle relative face heights.
5680 (lface_same_font_attributes_p): Compare heights using EQ.
5681
6ce974d4
KH
56822000-08-26 Kenichi Handa <handa@etl.go.jp>
5683
5684 * charset.c (char_to_string): Check the character validity.
52283633 5685 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5686
dc1e502d
SM
56872000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5688
5689 * regex.c (PUSH_FAILURE_COUNT): New macro.
5690 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5691 Handle popping of a register's or a counter's data.
5692 (POP_FAILURE_POINT): Use the new name.
5693 (re_match_2_internal): Push counter data on the stack for succeed_n,
5694 jump_n and set_number_at and remove misleading dead code in succeed_n.
5695
bd9d0f3f
GM
56962000-08-25 Gerd Moellmann <gerd@gnu.org>
5697
5698 * xdisp.c (redisplay_internal): If considering all windows on all
5699 frames, update the display for each frame as soon as possible,
5700 instead of first building all desired matrices for all frames, and
5701 then updating them all.
5702 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5703
aa5b8e15
GM
57042000-08-24 Gerd Moellmann <gerd@gnu.org>
5705
17494071
GM
5706 * bytecode.c (mark_byte_stack): Add a comment.
5707
52283633
SM
5708 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5709 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5710 a graphical frame.
5711
c543db81
KH
57122000-08-24 Kenichi Handa <handa@etl.go.jp>
5713
d246d5f5
KH
5714 * minibuf.c (do_completion): Always use compare-string, not
5715 string-equal because the latter doesn't pay attention to
5716 multibyteness of strings.
5717
c543db81
KH
5718 * process.c (create_process): Don't setup raw-text coding here.
5719 (Fopen_network_stream): Don't set coding->src_multibyte and
5720 coding->dst_multibyte here.
5721 (read_process_output): For process filter, return unibyte string
5722 if default-enable-multibyte-characters is nil.
5723 (send_process): If OBJECT is multibyte text, be sure to encoded it
5724 by the specified coding system for the process. Otherwise, setup
5725 raw-text coding.
52283633 5726 (init_process): Don't initialize default-process-coding-system here.
c543db81 5727
9b47cfe0
EZ
57282000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5729
5730 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5731 <scroll-down-aggressively>: Likewise.
5732
f5a36960
KH
57332000-08-23 Kenichi Handa <handa@etl.go.jp>
5734
5735 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5736 zero. Set coding->produced_char correctly.
5737
69a7ffa7
AI
57382000-08-22 Andrew Innes <andrewi@gnu.org>
5739
5740 * makefile.w32-in: New file.
5741
5742 * unexw32.c (unexec): Ignore old_name, and use the actual location
5743 of the current executable instead. Base new_name on this.
5744
5745 * w32proc.c (create_child): Remove reference to security
5746 descriptor, which isn't needed and doesn't compile with mingw32.
5747
5748 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5749 up dllimport attributes.
5750 (x_update_window_end): Update prototype.
5751
5752 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5753 extern, which screws up dllimport attributes.
5754
5755 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5756 up dllimport attributes.
5757
5758 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5759 screws up dllimport attributes.
5760
5761 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5762 up dllimport attributes.
5763 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5764 screws up dllimport attributes.
5765
5766 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5767 up dllimport attributes.
5768
5769 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5770 screws up dllimport attributes.
5771
5772 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5773 screws up dllimport attributes.
5774
5775 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5776 up dllimport attributes.
5777
5778 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5779 unnecessary extern, which screws up dllimport attributes.
5780 (main): Ditto.
5781
5782 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5783 up dllimport attributes.
5784
5785 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5786 unnecessary extern, which screws up dllimport attributes.
5787
5788 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5789 screws up dllimport attributes.
5790
5791 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5792 up dllimport attributes.
5793
5794 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5795
52283633
SM
5796 * w32bdf.c (search_file_line):
5797 (set_bdf_font_info):
5798 (seek_char):
5799 (w32_get_bdf_glyph):
69a7ffa7
AI
5800 (w32_BDF_to_x_font): Fix compile warnings.
5801
52283633 5802 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5803
5804 * w32select.c: Include keyboard.h before frame.h.
5805
5806 * w32fns.c (max): Define macro.
5807 (JOHAB_CHARSET): Define if not known.
5808 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5809 (Fx_show_tip): Synch with X version.
5810
5811 * w32xfns.c: Include keyboard.h before frame.h.
5812
5813 * w32fns.c: Include keyboard.h before frame.h.
5814
5815 * w32term.c: Include keyboard.h before frame.h.
5816
5817 * fontset.c: Include keyboard.h before frame.h.
5818
5819 * w32inevt.c: Include keyboard.h before frame.h.
5820 (MOUSE_MOVED): Define if not known.
5821
5822 * minibuf.c: Include keyboard.h before frame.h.
5823
5824 * keyboard.c: Include keyboard.h before frame.h.
5825
5826 * indent.c: Include keyboard.h before frame.h.
5827
5828 * dispnew.c: Include keyboard.h before frame.h.
5829
5830 * buffer.c: Include keyboard.h before frame.h.
5831
5832 * alloc.c: Include keyboard.h before frame.h.
5833
5834 * print.c: Include keyboard.h before frame.h.
5835
5836 * process.c: Include keyboard.h before frame.h.
5837
5838 * scroll.c: Include keyboard.h before frame.h.
5839
5840 * sysdep.c: Include keyboard.h before frame.h.
5841
5842 * term.c: Include keyboard.h before frame.h.
5843
5844 * window.c: Include keyboard.h before frame.h.
5845
5846 * xdisp.c: Include keyboard.h before frame.h.
5847 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5848
5849 * frame.c: Include keyboard.h before frame.h.
5850
5851 * w32heap.h: Undefine min, max.
5852
5853 * w32gui.h: Undefine min, max.
5854
5855 * unexw32.c: Change PUCHAR to PCHAR.
5856 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5857 (relocate_offset):
5858 (get_section_info):
69a7ffa7
AI
5859 (copy_executable_and_dump_data): Remove unnecessary static defs.
5860 (copy_executable_and_dump_data): Fix compile warnings.
5861
5862 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5863
5864 * w32console.c (min): Define macro.
5865 (clear_frame, write_glyphs): Fix compile warning.
5866
52283633 5867 * w32proc.c (compare_env):
69a7ffa7
AI
5868 (find_child_console): Fix compile warning.
5869
5870 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5871 sys_errlist instead of _sys_errlist.
5872 (get_emacs_configuration_options): New function.
5873
5874 * s/ms-w32.h (sys_nerr): Provide default definition.
5875 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5876 name with _ prepended.
5877 (NSIG): Define if not known.
5878 (get_emacs_configuration): Provide extern declaration.
5879 (get_emacs_configuration_options): Provide extern declaration.
5880 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5881
5882 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5883 (map_w32_filename):
69a7ffa7
AI
5884 (read_unc_volume): Fix compile warning.
5885
5886 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5887 definitions from being used.
5888
5889 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5890
52283633 5891 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5892 (open_unc_volume): Make arg const.
5893
5894 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5895 (read_input_waiting): Remove excess parameter.
5896
5897 * w32.c (init_environment): Call _access.
5898 (check_windows_init_file): Call _close.
5899 (init_user_info): Call _putenv.
5900 (init_environment): Call _putenv and _strdup.
5901 (init_ntproc): Reset volume info cache on startup.
5902
5903 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5904 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5905 cannot override the CRT malloc.
5906
5907 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5908 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5909
5910 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5911 unless we are linking with a static CRT.
5912 (RVA_TO_PTR): Cast result to unsigned char*.
5913
5914 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5915 (add_volume_info): Use xstrdup.
5916
25060080
SM
59172000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5918
5919 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5920 (do_completion, Fminibuffer_complete_word): Use it.
5921 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5922 var so it can take non-boolean values.
5923
6917e6bb
GM
59242000-08-21 Gerd Moellmann <gerd@gnu.org>
5925
acb7cc89 5926 * editfns.c (find_field): Formatting changes.
52283633 5927 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5928 changed to prototypes, some new protypes added, some functions
5929 made static.
5930
5931 * lisp.h (set_time_zone_rule): Add prototype.
5932 (use_dialog_box): External declaration.
5933
0bbfdc25
GM
5934 * keyboard.c (gen_help_event): Add parameter SIZE.
5935 (kbd_buffer_events_waiting): Slightly rewritten.
5936 (clear_event): New function.
5937 (kbd_buffer_get_event): Use it, and clear the input_events of
5938 HELP_EVENTs.
5939 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5940 don't fill the newly created array with nils.
5941 (toplevel): Convert some old-style function forward declarations
5942 to prototypes.
5943
5944 * keyboard.h (gen_help_event): Change prototype.
5945
5946 * xterm.c (XTread_socket): Change calls to gen_help_event.
5947
5948 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5949
6917e6bb
GM
5950 * eval.c (Fmacroexpand): Doc fix.
5951
e5cd3d11
JR
59522000-08-20 Jason Rumney <jasonr@gnu.org>
5953
5954 * w32term.h (x_display_info_for_display): Remove as this function
5955 does not exist on W32.
5956
5957 * w32term.c (help_echo_window): New variable.
5958 (syms_of_w32term): staticpro it.
5959 (note_mode_line_highlight): Set it.
5960 (XTextExtents16): Removed as there is no equivalent on W32.
5961 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5962 the X way of doing this will not work for W32.
5963 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5964 (x_draw_image_foreground): Avoid drawing outside of the clip area
5965 when image doesn't have a mask.
5966 (note_mouse_highlight): Process overlays in the right order of
5967 priority. Set help_echo_window.
5968 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5969 because that's more visible for large images.
5970
5971 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5972 name to single_keymap_panes.
5973 (w32_menu_show): Set wv->title when dealing with titles.
5974 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5975
6e69ab8c
MB
59762000-08-21 Miles Bader <miles@gnu.org>
5977
5978 * minibuf.c (do_completion): Try again if we rewrite the input
5979 string, but no completion was done, so that any completion message
5980 will be correct.
5981
511bd4eb
GM
59822000-08-20 Gerd Moellmann <gerd@gnu.org>
5983
5984 * xfaces.c (lface_equal_p): Compare strings differently.
5985 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5986 (realize_tty_face): Use them.
5987 (syms_of_xfaces): Initialize new variables.
5988 (map_tty_color): New function, extracted from realize_tty_face.
5989 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5990 foreground or background color, store the new color name in the
5991 realized face; previous code trying to do this had no effect.
5992 (realize_tty_face): Use map_tty_color.
5993 (Fclear_face_cache): Set face_change_count and ensure thorough
5994 redisplay.
5995
1433385f
GM
59962000-08-19 Gerd Moellmann <gerd@gnu.org>
5997
511bd4eb
GM
5998 * undo.c (record_first_change, record_marker_adjustment): Don't
5999 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 6000
419ac0a2
KH
60012000-08-18 Kenichi Handa <handa@etl.go.jp>
6002
6003 * coding.c (decode_coding_string): Set members consumed,
6004 consumed_char, produced, produced_char of *coding correctly. If
6005 decode_coding doesn't consume any byte, don't try anymore.
6006 (encode_coding_string): Likewise.
6007
7eb9e30d
GM
60082000-08-18 Gerd Moellmann <gerd@gnu.org>
6009
511bd4eb
GM
6010 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
6011 conditional have void type, for Standard C compilers.
7eb9e30d
GM
6012
6013 * xdisp.c (redisplay_internal): Compare windows for equality with
6014 EQ, instead of applying XWINDOW to something that might not
6015 be a window.
52283633 6016
dd34a735
KH
60172000-08-18 Kenichi Handa <handa@etl.go.jp>
6018
6019 * fontset.c (Finternal_char_font): Search only the selected frame
6020 for a window of the current buffer.
6021
385ff9e3
GM
60222000-08-18 Gerd Moellmann <gerd@gnu.org>
6023
511bd4eb 6024 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
6025 Lisp_Objects.
6026
385ff9e3
GM
6027 * keyboard.c (kbd_buffer_get_event): Handle the case that the
6028 second half of a HELP_EVENT is found at the start of kbd_buffer.
6029
d6abb4c7
MB
60302000-08-18 Miles Bader <miles@gnu.org>
6031
4618074a
MB
6032 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
6033
d6abb4c7
MB
6034 * editfns.c (save_restriction_save): Rewrite to use markers.
6035 (save_restriction_restore): Rewrite to understand new form of data
6036 saved by save_restriction_save.
6037 (Fsave_restriction): Remove cautionary note in doc-string.
6038
a7b28523
GM
60392000-08-17 Gerd Moellmann <gerd@gnu.org>
6040
6041 * fileio.c (build_annotations): Add a comment explaining the
6042 return value of format-annotate-function. Replace a spurious call
6043 to Flength with a CONSP test. Call format-annotate-function with
6044 a fifth arg specifying how many times the function is been called
6045 in a row, to let it choose temporary buffers appropriately.
6046
03c9ed77
DL
60472000-08-17 Dave Love <fx@gnu.org>
6048
6049 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
6050 declare make_temp_name twice.
6051
52283633 6052 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
6053 (unreadpure): Give it an arg.
6054
6055 * unexalpha.c: Prototype fatal_unexec, mark_x,
6056 update_dynamic_symbols. Declare unexec as void.
6057
6058 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6059 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6060
6061 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6062 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6063
6064 * alloca.c: Use #error.
6065 [POINTER_TYPE]: Use it.
6066
6067 * eval.c (Fdefvar): Doc fix.
6068
6069 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6070 INITIALIZE_INTERVAL.
6071
6072 * buffer.h: Avoid DECLARE_INTERVALS.
6073
6074 * config.in: Add size_t.
6075
aae41d97
EZ
60762000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6077
6078 * w16select.c (set_clipboard_data): If there's not enough memory
6079 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6080 expects. In case of other failures, return 3.
6081 (system_error_msg): New error message.
6082 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6083 system_error_msg.
6084
65aa5e85
GM
60852000-08-16 Gerd Moellmann <gerd@gnu.org>
6086
6087 * term.c (write_glyphs): Also turn off inverse video after turning
6088 off other appearances in case TS_exit_attribute_mode is not equal
6089 to TS_end_standout_mode.
6090 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6091 with the same face.
6092 (turn_off_face): Reset standout_mode only if
6093 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6094 is equal to TS_end_standout_mode.
6095
ece23901
KH
60962000-08-16 Kenichi Handa <handa@etl.go.jp>
6097
9d7bcb2e
KH
6098 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6099 sequence at the end of the source block.
6100
ece23901
KH
6101 * ccl.c (Fccl_program_p): Docstring modified.
6102 (Fccl_execute): Likewise.
6103 (Fccl_execute_on_string): Likewise.
6104
5e30eaa2
EZ
61052000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6106
6107 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6108
290602fd
KH
61092000-08-16 Kenichi Handa <handa@etl.go.jp>
6110
6111 The following changes are mainly to fix bugs of
6112 encode/decode-coding-string failing if encoding/decoding return
6113 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6114 variable conversion_buffer.
6115
6116 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6117 decrement dst_end to avoid buffer overflow in the later call of
6118 string_as_multibyte
6119
6120 * coding.h (conversion_buffer_size, conversion_buffer)
6121 (get_conversion_buffer): Extern deleted.
6122
6123 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6124 (conversion_buffer, conversion_buffer_size): Variables deleted.
6125 (get_conversion_buffer): Function deleted.
6126 (struct conversion_buffer): New structure.
6127 (MAX_ALLOCA): New macro.
6128 (allocate_conversion_buffer): New macro.
6129 (extend_conversion_buffer, free_conversion_buffer): New functions.
6130 (ccl_coding_driver): Set coding->result.
6131 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6132 this is the last block of source.
6133 (encode_coding): Likewise. Handle the source block as the last
6134 one only when the whole source text is consumed.
6135 (decode_coding_string): Handle the case that the output buffer is
6136 too small to decode the whole source text. Use
6137 allocate_conversion_buffer, extend_conversion_buffer and
6138 free_conversion_buffer, not get_conversion_buffer.
6139 (encode_coding_string): Likewise.
6140 (init_coding): Function deleted.
52283633 6141 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6142
6143 * emacs.c (main): Don't call init_coding.
6144
52283633 6145 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6146
6147 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6148 (insert_glyphs): Likewise.
6149
6150 * w32console.c (write_glyphs): Use a locally declared
6151 conversion_buffer.
6152
b9f80d41
EZ
61532000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6154
6155 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6156 member of display_info is NULL.
6157
32dc52f7
GM
61582000-08-15 Gerd Moellmann <gerd@gnu.org>
6159
52283633 6160 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6161
32dc52f7 6162 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6163 appearances with capability `me'.
32dc52f7
GM
6164 (write_glyphs): Switch on inverse video before each face change.
6165
4eb22d33
DL
61662000-08-14 Dave Love <fx@gnu.org>
6167
6168 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6169 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6170 (lisp_free): Declare and make static.
6171
6172 * window.c: Fix embedded comment.
6173 (syms_of_window): Fix doc string.
6174
90cbf47e
GM
61752000-08-14 Gerd Moellmann <gerd@gnu.org>
6176
52283633 6177 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6178 make sure to print `C-' before `M-', like in the manual.
6179
440fc135
GM
61802000-08-11 Gerd Moellmann <gerd@gnu.org>
6181
6182 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6183 since they aren't relocated anymore.
52283633 6184 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6185
6186 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6187 partially visible line which is smaller than the window's height.
440fc135 6188
6e264fad
KH
61892000-08-11 Kenichi Handa <handa@etl.go.jp>
6190
6191 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6192 the multibyte form of eight-bit-control characters.
6e264fad
KH
6193 (Fccl_execute_on_string): Initialize ccl->multibyte.
6194
6195 * ccl.h (struct ccl_program): New member multibyte.
6196
6197 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6198
c371f69a
KH
61992000-08-11 Kenichi Handa <handa@etl.go.jp>
6200
6201 * regex.c (regex_compile) <normal_char>: Pay attention to
6202 multibyteness.
6203 (analyse_first) <exactn>: Setup fastmap correctly for
6204 eight-bit-control characters.
6205
62062000-08-11 Kenichi Handa <handa@etl.go.jp>
6207
52283633 6208 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6209
6210 * keyboard.c (make_lispy_event): Handle the new event type
6211 multibyte_char_keystroke.
6212
6213 * xterm.c: Include coding.h.
6214 (XTread_socket): Work around a bug of XmbLookupString. If the
6215 input is from XIM, decode it according to the current locale. In
6216 that case, generate multibyte_char_keystroke events.
6217
b8ddbe71
KH
62182000-08-11 Kenichi Handa <handa@etl.go.jp>
6219
6220 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6221 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6222
47589c8c
GM
62232000-08-10 Gerd Moellmann <gerd@gnu.org>
6224
6225 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6226 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6227 (move_it_in_display_line_to): Record iterator's ascent and descent
6228 before producing glyphs, and restore them when we know the glyph
6229 doesn't fit on the line.
6230 (move_it_to): Restructured so that it's easier to debug. If
6231 moving to a vpos, and not moving to an x or character position,
6232 stop as soon as the specified vpos is reached; don't move further
6233 into that line because that might change the computed line height.
6234 (try_cursor_movement): New function, extracted from the cursor
6235 movement branch of redisplay_window. If ending on a partially
6236 visible line, don't try to scroll if the cursor line is taller
6237 than the window.
6238 (redisplay_window): Use try_cursor_movement.
6239
6240 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6241 because that function doesn't cope with variable-height lines.
6242
6243 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6244 box cursor because that's better visible for large images.
52283633 6245
c51bacd6
MB
62462000-08-10 Miles Bader <miles@gnu.org>
6247
6248 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6249
bea56df7
GM
62502000-08-10 Gerd Moellmann <gerd@gnu.org>
6251
6252 * xdisp.c (Vmessages_buffer_name): New variable.
6253 (message_dolog): Use it.
6254 (syms_of_xdisp): Initialize it.
6255
99cd7364
EZ
62562000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6257
52283633 6258 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6259 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6260 redundant now that keyboard.h is included.
6261
7d093d56
EZ
62622000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6263
6264 * keyboard.c (kbd_buffer_events_waiting): New function.
6265
6266 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6267
6268 * msdos.c: Include keyboard.h.
6269 (XMenuActivate): Empty no_event events from the event buffer. If
6270 no events are left after that, call clear_input_pending.
6271 (mouse_clear_clicks): New function, code moved from mouse_init.
6272 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6273 mouse driver to ``forget'' any past clicks.
6274
6275 * Makefile.in (msdos.o): Depend on keyboard.h.
6276
41e757a6
GM
62772000-08-09 Gerd Moellmann <gerd@gnu.org>
6278
8e7bd231
GM
6279 * lisp.h (input_pending): External declaration.
6280
6281 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6282
8e7bd231
GM
6283 * xdisp.c (echo_area_display): Display thoroughly if input is
6284 pending. Bind redisplay-dont-pause to t during the redisplay.
6285 in case input is pending.
6286
6287 * dispnew.c (Qredisplay_dont_pause): New variable.
6288 (syms_of_display): Initialize and staticpro it.
6289 (update_frame_1): Don't interrupt the display for pending input if
6290 redisplay_dont_pause is set.
52283633 6291
43028b7e
GM
6292 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6293
41e757a6
GM
6294 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6295
2f2174fa
KH
62962000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6297
6298 * callproc.c (Fcall_process): Terminate the unwind-protect around
6299 the post-read-conversion of coding system.
6300
0a6fd67e
MB
6301 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6302 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6303 * buffer.h (overlays_at): Update prototype.
6304 * xdisp.c (next_overlay_change): Update call to overlays_at.
6305 * xfaces.c (face_at_buffer_position): Likewise.
6306 * textprop.c (Fget_char_property): Likewise.
6307 * xterm.c (note_mouse_highlight): Likewise.
6308
0c80756e
MB
6309 * minibuf.c (do_completion): Don't consider a simple change of
6310 case as `completion'.
6311
975f250a
KR
63122000-08-08 Ken Raeburn <raeburn@gnu.org>
6313
52283633 6314 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6315 * undo.c (record_delete): Make sure last_point_position_buffer is
6316 a buffer before comparing pointers.
6317
6318 * coding.h (decode_coding_string): Declare.
6319
6320 * intervals.h (Fprevious_single_char_property_change): Declare.
6321
6322 * textprop.c (Fprevious_single_char_property_change): Don't do
6323 arithmetic directly on lisp objects.
6324
52283633 6325 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6326
6327 * keyboard.h (menu_item_eval_property): Declare.
6328
6329 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6330 reuse as buffer name, instead of recreating (and discarding) every
6331 time a message is logged.
6332 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6333 (current_message_1, truncate_message_1, set_message_1)
6334 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6335 (current_message, truncate_echo_area, display_echo_area)
6336 (resize_echo_area_axactly): Changed calls.
b347b3fd 6337
975f250a 6338 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6339 Lisp object.
975f250a 6340 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6341 must be an integer, not a Lisp object.
975f250a 6342
46dc9912
KH
63432000-08-08 Kenichi Handa <handa@etl.go.jp>
6344
6345 * charset.c (Fchar_width): Doc fix.
6346
9f6d1a6c
GM
63472000-08-08 Gerd Moellmann <gerd@gnu.org>
6348
6349 * charset.c (Fstring_width): Doc fix.
6350
ff3d9573
GM
63512000-08-07 Gerd Moellmann <gerd@gnu.org>
6352
41e757a6 6353 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6354 line, clear ascent and descent members of the iterator structure;
6355 the height of the continued line does not affect the height of the
6356 continuation line.
6357 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6358 line taller than the window.
6359 (redisplay_window) <forced window start>: Handle case that the
6360 middle of the window is not found in any row.
6361 (dump_glyph_row): Show more information.
6362 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6363 first text line in a glyph matrix.
6364
6365 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6366 of the clip area when image doesn't have a mask.
6367
70fc58b3
GM
6368 * fns.c (sweep_weak_table): Fix survival conditions for
6369 key-or-value and key-and-value weakness.
6370
6371 * .gdbinit (xhashtable): New command.
6372
ac0e96ee
GM
6373 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6374 tables out of the list of all weak hash tables.
6375
ff3d9573
GM
6376 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6377 a new buffer is created, make sure echo_area_buffer[] references
6378 the new buffer.
6379
e0d8827b
EZ
63802000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6381
6382 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6383 the doc string.
6384
c6f35378
KH
63852000-08-07 Kenichi Handa <handa@etl.go.jp>
6386
6387 * syntax.c (skip_chars): Fix previous change. Make the handling
6388 of unibyte string consistent with that of regex search.
6389
1fd4c450
GM
63902000-08-05 Gerd Moellmann <gerd@gnu.org>
6391
e49aa397
GM
6392 * xmenu.c (popup_get_selection): Use xfree instead of free.
6393
6394 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6395
6396 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6397
6398 * callproc.c (child_setup): Use xfree instead of free.
6399
6400 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6401 instead of malloc.
6402 (run_mac_command, closedir): Use `xfree' instead of `free'.
6403
6404 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6405
6406 * eval.c (error): Use xfree instead of free.
6407
1fd4c450
GM
6408 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6409
6410 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6411 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6412
82d497fc
KH
64132000-08-05 Kenichi Handa <handa@etl.go.jp>
6414
6415 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6416 conversion.
6417
59f953a2
NF
64182000-08-04 Noah Friedman <friedman@splode.com>
6419
6420 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6421 docstring.
6422
688351f2
GM
64232000-08-04 Gerd Moellmann <gerd@gnu.org>
6424
6425 * syntax.c (skip_chars): Fix typo in error message.
6426
2dad51cc
AS
64272000-08-04 Andreas Schwab <schwab@suse.de>
6428
6429 * m/ia64.h: Moved from s/ia64.h.
6430
99bb2c60
KH
64312000-08-04 Kenichi Handa <handa@etl.go.jp>
6432
082a1df2
KH
6433 * process.c (read_process_output): Big simplification. Handle
6434 composition and post-read-conversion of coding system correctly.
6435 (send_process): Handle composition correctly.
6436
6437 * callproc.c (Fcall_process): Handle post-read-conversion of
6438 coding system if any.
6439
99bb2c60
KH
6440 * coding.c (decode_coding_iso2022): More strict check for handling
6441 single shifting.
082a1df2
KH
6442 (coding_restore_composition): Pay attention to the case that
6443 cmp_data is not set properly (because of invalid code in the
6444 source text).
6445 (run_pre_post_conversion_on_str): Include text properties in the
6446 resulting string.
6447 (decode_coding_string): Set members of coding correctly.
99bb2c60 6448
f4988be7
GM
64492000-08-03 Gerd Moellmann <gerd@gnu.org>
6450
6451 * s/ia64.h: New file.
6452
6453 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6454 Use NULL instead of 0 at the end of variable argument list of
6455 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6456 sizeof (int) < sizeof (void *).
6457
6458 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6459 of variable argument lists of XtVaGetValues and XtVaSetValues.
6460
6461 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6462 variable argument lists of XtVaGetValues and XtVaSetValues.
6463
ead53494
GM
64642000-08-02 Gerd Moellmann <gerd@gnu.org>
6465
6466 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6467 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6468
6469 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6470 prototype.
6471
6472 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6473 in call to Fsingle_key_description.
6474
6475 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6476 Callers changed.
6477
64782000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6479
6480 * window.c (display_buffer_reuse_frames): New variable.
6481 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6482 frames displaying BUFFER.
52283633 6483 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6484
10b0f752
MB
64852000-08-01 Miles Bader <miles@gnu.org>
6486
6487 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6488 when to constrain NEW_POS (they were pretty screwed up before).
6489
16425c4a
EZ
64902000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6491
6492 * msdos.c (run_msdos_command): Save and restore the master
6493 environment, for the case that child_setup signals an error.
6494 When mirroring slashes in DOS shell commands, don't fail when
6495 argv[2] has embedded blanks.
da288c14
EZ
6496 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6497 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6498 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6499
6500 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6501 using alloca; free it after run_msdos_command returns.
6502
27f73852
DL
65032000-07-27 Dave Love <fx@gnu.org>
6504
52283633
SM
6505 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6506 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6507
6508 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6509
c0261b5e
EZ
65102000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6511
6512 * editfns.c (lisp_time_argument): Fix last change.
6513
b548072f
GM
65142000-07-27 Gerd Moellmann <gerd@gnu.org>
6515
3ab82477
GM
6516 * fns.c (Fdelete): Make it work on vectors and strings in addition
6517 to lists.
6518
b548072f
GM
6519 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6520 (syms_of_fns): Initialize new variables.
52283633 6521 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6522 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6523 weakness, with t meaning the same as `key-and-value'.
6524
91ae8751
KH
65252000-07-27 Kenichi Handa <handa@etl.go.jp>
6526
6527 * coding.h (struct coding_system): Member safe_charset deleted.
6528
6529 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6530 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6531 New variables.
91ae8751
KH
6532 (coding_safe_chars): New function.
6533 (CODING_SAFE_CHAR_P): New macro.
6534 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6535 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6536 (detect_coding_iso2022): New local variable safe_chars.
6537 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6538 safe_charsets member of the coding system.
6539 (decode_coding_iso2022): New local variable safe_chars.
6540 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6541 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6542 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6543 (ENCODE_UNSAFE_CHARACTER): New macro.
6544 (encode_coding_iso2022): New local variable safe_chars. Check
6545 unsafe chars.
6546 (setup_coding_system): Delete the code to initialize
6547 coding->safe_charses
6548 (intersection, find_safe_codings): New functions.
6549 (Ffind_coding_systems_region_internal): New function.
6550 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6551 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6552 variable and initialize it.
6553
6554 * fns.c (char_table_ref_and_index): New function.
6555
6556 * lisp.h (char_table_ref_and_index): Add prototype.
6557
34a7a267
SS
65582000-07-26 Sam Steingold <sds@gnu.org>
6559
6560 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6561 (Ffloat_time): New built-in Lisp function.
34a7a267 6562
a95cb10a
GM
65632000-07-26 Gerd Moellmann <gerd@gnu.org>
6564
3353ef5a
GM
6565 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6566 for the character code.
6567
6568 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6569 GNU/Linux.
6570
a95cb10a
GM
6571 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6572 if called for a popup menu.
6573 (xmenu_show): Store help string in widget values.
6574
b4a12321
DL
65752000-07-26 Dave Love <fx@gnu.org>
6576
6577 * syswait.h: Move some definitions.
6578 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6579 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6580 perspicuous definitions.
6581 (WTERMSIG): Fix bit pattern used.
6582
13f5ad37
KH
65832000-07-26 Kenichi Handa <handa@etl.go.jp>
6584
6585 * print.c (print_object): If vector printing is truncated, print
6586 "..." to indicate it as well as the case of list printing.
6587
070fe99c
GM
65882000-07-25 Gerd Moellmann <gerd@gnu.org>
6589
969065c3
GM
6590 * xdisp.c (next_element_from_display_vector): Improve comments.
6591
6592 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6593 for the character code, and the rest for the face id as in 20.x.
6594 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6595
6596 * window.c (window_display_table): Cleaned up.
6597
070fe99c
GM
6598 * syntax.c (Fforward_word): Add last arg nil in call of
6599 Fconstrain_to_field.
6600
bad77ef7
EZ
66012000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6602
969065c3 6603 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6604 identical but for the letter-case, don't call
6605 barf_or_query_if_file_exists.
bad77ef7 6606
c28da489
MB
66072000-07-25 Miles Bader <miles@gnu.org>
6608
6609 * editfns.c (find_field): Honor special `boundary' fields.
6610 (Qboundary): New variables.
6611 (syms_of_editfns): Initialize Qboundary.
6612 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6613 Use scan_buffer instead of find_before_next_newline, because it
6614 allows us to detect the boundary case where there's a newline at
6615 the search limit.
6616 * lisp.h (Fconstrain_to_field): Update external declaration.
6617
e3c31fd5
GM
66182000-07-24 Gerd Moellmann <gerd@gnu.org>
6619
6620 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6621 if that is nil.
c28da489 6622
c66c29a2
DL
66232000-07-24 Dave Love <fx@gnu.org>
6624
6625 * s/sunos4-0.h, s/sol2.h:
6626 (LIBS_TERMCAP): Move from m/sparc.h.
6627
6628 * m/sparc.h (TERMINFO): Moved to system files (probably only
6629 relevant for sunos4 judging by its vintage).
6630 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6631 __arch64__.
6632
fbe0a958
EZ
66332000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6634
6635 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6636 name to single_keymap_panes.
6637
7d88e5c9
AS
66382000-07-24 Andreas Schwab <schwab@suse.de>
6639
6640 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6641
e024b101
GM
66422000-07-24 Gerd Moellmann <gerd@gnu.org>
6643
6644 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6645 parameters instead of using int parameters. Expect FN to accept
6646 EMACS_INT parameters.
6647 (display_echo_area, resize_echo_area_axactly, current_message)
6648 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6649 with new argument list.
6650 (resize_mini_window_1): New callback function.
6651 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6652 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6653
25c1a9ce
KH
66542000-07-24 Kenichi Handa <handa@etl.go.jp>
6655
6656 * fontset.c (fontset_ref): Remove INLINE declaration.
6657 (fontset_ref_via_base): Likewise.
6658 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6659 to downcase.
6660
7f987ac0
EZ
66612000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6662
6663 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6664 correct order of priority. If help echo was found in an overlay,
6665 use that overlay as the object in which the help echo was found.
6666
e2db3069
MB
66672000-07-22 Miles Bader <miles@gnu.org>
6668
6669 * textprop.c (Fprevious_single_char_property_change): The initial
6670 property value should be from the position preceding POSITION, not
6671 following it.
6672
5e3203e4
EZ
66732000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6674
6675 * coding.c (syms_of_coding): Doc fix for
6676 inhibit-iso-escape-detection.
6677
62145073
GM
66782000-07-21 Gerd Moellmann <gerd@gnu.org>
6679
c20aeb83
GM
6680 * xterm.c (note_mouse_highlight): Process overlays in the right
6681 order of priority.
34a7a267 6682
743934db
GM
6683 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6684
6685 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6686 overlay, use that overlay as the object in which the help was found.
743934db 6687
d1dc7e43 6688 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6689
62145073
GM
6690 * window.c (foreach_window): Instead of a fake variable argument
6691 list, take one USER_DATA argument.
6692 (foreach_window_1): Likewise, and call callback functions with two
6693 args, the window and USER_DATA.
6694 (struct check_window_data): New struct.
6695 (check_window_containing): Use it.
6696 (window_from_coordinates): Set up a struct check_window_data for
6697 foreach_window.
6698 (add_window_to_list, freeze_window_start): Change parameters
6699 according to new calling convention.
6700
6701 * window.h (foreach_window): Change prototype.
6702
6703 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6704
67052000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6706
6707 * xmenu.c (menu_help_callback): Call show_help_echo with
6708 additional arguments OBJECT and POS.
6709
11270583
KH
67102000-07-21 Kenichi Handa <handa@etl.go.jp>
6711
07b14857
KH
6712 * data.c (Faset): Allow storing any multibyte character in a
6713 string. Convert unibyte string to multibyte if necessary.
6714
11270583
KH
6715 * xfns.c (x_encode_text): New function.
6716 (x_set_name): Use x_encode_text.
6717 (x_set_title): Likewise.
6718
6719 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6720
6721 * xterm.h (x_encode_text): Add prototype.
6722
bc75b4fd
DL
67232000-07-20 Dave Love <fx@gnu.org>
6724
6725 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6726 xfree, not free.
6727
48c14970
EZ
67282000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6729
6730 * msdos.c (help_echo_window): New variable.
6731 (syms_of_msdos): Initialize and staticpro it.
6732 (IT_note_mode_line_highlight): Set help_echo_window.
6733 (IT_note_mouse_highlight): Ditto.
6734 (dos_rawgetc): Store help_echo_window in the second event produced
6735 for HELP_EVENTs.
6736
6737 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6738 Record the object that generated the help echo and the position of
6739 that object in help_echo_object and help_echo_pos. Record that
6740 some glyphs in a row are displayed in mouse-face.
6741 (IT_update_begin): Don't clear mouse highlight unless one of the
6742 enabled glyph rows is marked as being displayed in mouse-face.
6743 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6744 and position recorded in help_echo_object and help_echo_pos to the
6745 event queue.
6746 (IT_menu_display): Accept a new argument PN: the pane number of
6747 the current menu pane. Record the pane number and the item
6748 number of the item which has associated help string.
6749 (XMenuActivate): Update the prototype for help_callback in
6750 function declaration. Call IT_menu_display with the current menu
6751 pane number as an additional argument. Call help_callback with
6752 two additional arguments: the pane number and the item number of
6753 the menu item associated with the help text.
6754 (help_echo_object, help_echo_pos): New variables.
6755 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6756
6757 * msdos.h (XMenuActivate): Update prototype.
6758
4279296d
GM
67592000-07-19 Gerd Moellmann <gerd@gnu.org>
6760
47db06aa
GM
6761 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6762 Add some more prototypes.
6763
6764 * xterm.c, xterm.h: Add some more prototypes.
6765
6766 * lisp.h (Fnext_single_char_property_change): Add prototype.
6767
6768 * dispnew.c (direct_output_for_insert): Remove confusing
6769 outer local variable mouse_face_overwritten_p.
6770 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6771
4279296d
GM
6772 * alloc.c (allocate_string_data): Don't copy old string contents.
6773
670acd62
KH
67742000-07-19 Kenichi Handa <handa@etl.go.jp>
6775
6776 * coding.c (code_convert_region): Delete text properties before
6777 shrinking the conversion region.
6778
7cea38bc
GM
67792000-07-18 Gerd Moellmann <gerd@gnu.org>
6780
dc1cac59
GM
6781 * dispnew.c (update_text_area): Write the whole row if it
6782 has mouse-face in it.
6783
85a8aca9
GM
6784 * xfaces.c (face-alternative-font-family-alist): Remove
6785 DEFVAR_LISP; staticpro instead.
6786
34a7a267 6787 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6788 new arguments.
6789
6790 * keyboard.c (show_help_echo): Add parameter WINDOW.
6791 (read_char): Call show_help_echo with window extracted from Lisp
6792 help event.
6793 (gen_help_event): Add parameter WINDOW.
6794
6795 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6796
6797 * xterm.c (help_echo_window): New variable.
52283633 6798 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6799 (XTread_socket): Pass help_echo_window to gen_help_event.
6800 (syms_of_xterm): Initialize and staticpro help_echo_window.
6801
f8276b77
DL
68022000-07-18 Dave Love <fx@gnu.org>
6803
52283633 6804 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6805
088831a6
GM
68062000-07-18 Gerd Moellmann <gerd@gnu.org>
6807
3d6cd763
GM
6808 * alloc.c (allocate_string_data): If string had already data
6809 assigned, copy old contents to new string data.
6810
6811 * coding.c (syms_of_coding): Fix typo in spelling of variable
6812 `inhibit-iso-escape-detection'.
6813
088831a6
GM
6814 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6815
6816 * Makefile.in: Add dependencies on dispextern.h.
6817 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6818 `free'; both can conflict with system header files.
6819
bc8a8d55
KH
68202000-07-18 Kenichi Handa <handa@etl.go.jp>
6821
6822 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6823 undefined.
6824
069f5950
DL
68252000-07-18 Dave Love <fx@gnu.org>
6826
6827 * window.c (Fwindow_list): Declare arg `window'.
6828
aa96c820
KH
68292000-07-18 Kenichi Handa <handa@etl.go.jp>
6830
6831 * coding.c (setup_coding_system): Don't override the explicitly
6832 specified designations.
6833
06be8d32
MB
68342000-07-15 Miles Bader <miles@gnu.org>
6835
6836 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6837 from `text_property_eq' and `text_property_stickiness', respectively.
6838 (find_field, Fconstrain_to_field, char_property_eq)
6839 (char_property_stickiness): Changed to call char-property functions
6840 instead of text-property-only ones.
6841
6842 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6843 `next_single_char_property_change'). Do more error checking, and
6844 cleanup limit behavior.
6845 (Fprevious_single_char_property_change): New function.
6846 (syms_of_textprop): Initialize new subrs.
6847
6848 * xdisp.c (display_prop_end, invisible_text_between_p):
6849 Call Fnext_single_char_property_change instead of
6850 next_single_char_property_change.
6851
3fddcdc3
JR
68522000-07-15 Jason Rumney <jasonr@gnu.org>
6853
6854 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6855 after menu is finished with.
6856 (add_menu_item): Only consider wv->title as a menu title.
6857 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6858
6859 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6860 null title.
6861 (FONT_REGEXP): Remove unused macro, and its sub-components.
6862 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6863
6864 * w32term.c (help_echo_object, help_echo_pos): New variables.
6865 (note_mode_line_highlight): Store additional information about the
6866 help-echo in help_echo_object and help_echo_pos. Check both
6867 `local-map' and `keymap' properties for changing the cursor
6868 (note_mouse_highlight): Store additional information about the
6869 help-echo in help_echo_object and help_echo_pos.
6870 (note_tool_bar_highlight): Set help_echo_object to nil and
6871 help_echo_pos to -1.
6872 (w32_read_socket): Use gen_help_event instead of filling
6873 input_events manually.
6874 (syms_of_w32term): Staticpro help_echo_object.
6875 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6876 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6877 (x_clear_mouse_face): New function.
6878 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6879 (x_update_window_begin): No need to turn off the mouse
6880 highlight here.
6881 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6882 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6883 (x_fill_stretch_glyph_string): Consume runs of stretch
6884 glyphs instead of a single one.
6885 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6886 with new argument list.
6887 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6888 (x_append_glyph, x_append_composite_glyph)
6889 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6890 changes in struct glyph starting 1999-12-27. See comments for
6891 xterm.c on 2000-07-05.
6892
178c5d9c
SS
68932000-07-14 Sam Steingold <sds@gnu.org>
6894
6895 * xfaces.c (realize_x_face): Fix the last patch:
6896 check `default_face' before dereferencing.
6897
6fe533f6
DL
68982000-07-14 Dave Love <fx@gnu.org>
6899
069f5950 6900 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6901
dd7b81cf
KH
69022000-07-14 Kenichi Handa <handa@etl.go.jp>
6903
0693904a 6904 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6905 default_face's fontset, not using the default fontset.
0693904a 6906
dd7b81cf
KH
6907 * coding.c (inhibit_iso_escape_detection): New variable.
6908 (syms_of_coding): Make it a Lisp variable.
6909 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6910 nonzero, ignore ISO2022's escape sequence.
6911
d5aa31d8
GM
69122000-07-14 Gerd Moellmann <gerd@gnu.org>
6913
e5acf0ca
GM
6914 * alloca.c (malloc) [emacs]: Define as xmalloc.
6915
bd23a692
GM
6916 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6917 use that instead of the mouse position. Add parameters DX and DY.
6918
6919 * dispextern.h (Fx_show_tip): Adjust number of parameters
6920 in prototype.
6921
9662da0b
GM
6922 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6923 if HELP is a function, call it with OBJECT and POS as parameters
6924 to get the help to display.
6925 (gen_help_event, kbd_buffer_store_help_event): New functions.
6926 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6927 (read_char): Call show_help_echo with new parameters.
6928
178c5d9c 6929 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6930 Add prototypes.
6931
6932 * xterm.c (help_echo_object, help_echo_pos): New variables.
6933 (note_mode_line_highlight): Store additional information about the
6934 help-echo in help_echo_object and help_echo_pos. Check both
6935 `local-map' and `keymap' properties for changing the cursor
6936 (note_mouse_highlight): Store additional information about the
6937 help-echo in help_echo_object and help_echo_pos.
6938 (note_tool_bar_highlight): Set help_echo_object to nil and
6939 help_echo_pos to -1.
6940 (XTread_socket): Use gen_help_event instead of filling
6941 input_events manually.
6942 (syms_of_xterm): Staticpro help_echo_object.
6943
6944 * xmenu.c (menu_highlight_callback): Use
6945 kbd_buffer_store_help_event instead of setting up and input_event
6946 structure manually.
6947
6948 * xdisp.c (eval_form): GCPRO argument sexpr.
6949 (call_function): New function.
6950 (handle_single_display_prop): Use call_function and FUNCTIONP
6951 instead of checking whether if font_height is a symbol and
6952 using eval_form.
6953
6954 * eval.c (internal_condition_case_2): New function.
6955
6956 * lisp.h (FUNCTIONP): New macro.
6957 (internal_condition_case_2, call_function): Add prototypes.
6958
d5aa31d8
GM
6959 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6960 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6961 Always set `arg' member of input_events.
6962 (construct_menu_click): Unused function removed.
6963
6964 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6965
6966 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6967 (construct_drag_n_drop, x_scroll_bar_handle_click)
6968 (w32_read_socket): Always set `arg' member of input_events.
6969
6970 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6971
6972 * lisp.h (eval_form): Add prototype.
6973
6974 * xdisp.c (eval_form): Make it externally visible.
6975
0f1a9b23
GM
69762000-07-13 Gerd Moellmann <gerd@gnu.org>
6977
6978 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6979 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6980 consing. For prefix events, store the frame in the `arg' slot of
6981 the event, otherwise store the key there.
6982 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6983 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6984
6985 * xmenu.c (menu_highlight_callback): Store help string in the
6986 `arg' member of the input event; don't cons.
6987 (menubar_selection_callback): Use the `arg' slot of input events
6988 to queue additional information, instead of consing.
6989
6990 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6991
6992 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6993 TOOL_BAR_EVENTs.
6994 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6995
6996 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6997 input events to queue additional information, instead of consing.
6998
6999 * keyboard.c (kbd_buffer_gcpro): Renamed from
7000 kbd_buffer_frame_or_window. Now used for all Lisp objects
7001 referenced from the input queue.
7002 (kbd_buffer_store_event): Always use structure assignment for
7003 copying input events. Record all Lisp objects referenced from
7004 events in kbd_buffer_gcpro.
7005 (kbd_buffer_get_event): Construct Lisp `help-echo' events
7006 differently from input events. Test for prefix menu_bar_events
7007 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
7008 event in kbd_buffer_gcpro to nil.
7009 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
7010 frame_or_window is equal to its arg member as prefix events.
7011 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
7012 used by an input event to nil.
7013 (init_keyboard): Use two times the size of the input queue
7014 for kbd_buffer_gcpro.
7015 (syms_of_keyboard): Likewise.
7016
52283633
SM
7017 * emacs.c (handle_USR2_signal, handle_USR1_signal):
7018 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
7019
7020 * termhooks.h (struct input_event): Add member `arg'.
7021 (MENU_BAR_EVENT): Renamed from menu_bar_event.
7022 (USER_SIGNAL_EVENT): Renamed from user_signal.
7023
7024 * xfaces.c (ASET): Remove definition.
7025
7026 * lisp.h (AREF, ASET, ASIZE): New macros.
7027
7028 * fontset.c (AREF, ASIZE): Remove definitions.
7029
7030 * fns.c (AREF): Remove definition.
178c5d9c 7031
0f1a9b23
GM
7032 * composite.c (AREF): Remove definition.
7033
712eaef2
GM
70342000-07-12 Gerd Moellmann <gerd@gnu.org>
7035
d8ee7803
GM
7036 * dispnew.c (redraw_overlapped_rows): Add missing local.
7037 (scrolling_window): Remove debug code.
7038
712eaef2
GM
7039 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
7040 Before scrolling, turn off a mouse-highlight in the window
7041 being scrolled.
7042
7043 * xterm.c (x_update_window_end): Add parameter
7044 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
7045 redisplay in XTframe_up_to_date.
7046 (x_clear_mouse_face): New function.
7047 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
7048
7049 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
7050 current glyph row.
7051 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
7052 it when any row is written to that contains glyphs highlighted in
7053 mouse-face.
7054 (update_window): Call the window update end hook with new
7055 parameter MOUSE_FACE_OVERWRITTEN_P.
7056 (direct_output_for_insert): Give up if row contains mouse-face.
7057
7058 * dispextern.h (struct redisplay_interface): Add parameter
7059 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7060 (clear_mouse_face): New function pointer member.
7061
02010917
SM
70622000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7063
7064 * syntax.c (back_comment): Use one switch rather than a few `if's.
7065 Obey open_paren_in_column_0_is_defun_start.
7066 When reverting to the `slow' method, try to nicely handle the case
7067 of nested comments by checking that the comment-starter we found
7068 does indeed match the comment-ender.
7069 (scan_sexps_forward, scan_sexps_forward):
7070 Ignore excessive opening parenthesis rather than throwing an error.
7071
d76c03ea
GM
70722000-07-11 Gerd Moellmann <gerd@gnu.org>
7073
7074 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7075 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7076
7077 * dispnew.c (direct_output_forward_char): Give up if currently
7078 displaying a message instead of the minibuffer contents.
7079
7080 * xterm.c (x_update_window_begin): No need to turn off the mouse
7081 highlight here.
7082 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7083 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7084
7085 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7086 compare the mouse_face_p flags of both rows.
7087
7088 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7089
d55ead18
EZ
70902000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7091
7092 * keyboard.c (show_help_echo): Accept additional parameter
7093 ok_to_overwrite_keystroke_echo.
7094 (read_char): Call show_help_echo with a zero
7095 ok_to_overwrite_keystroke_echo argument.
52283633 7096 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7097 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7098 ok_to_overwrite_keystroke_echo argument.
7099 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7100 non-zero ok_to_overwrite_keystroke_echo argument.
7101
df75b1a3
GM
71022000-07-10 Gerd Moellmann <gerd@gnu.org>
7103
4b92c49a
GM
7104 * xdisp.c (try_window_id): If changes are all below what is
7105 displayed in the window, and point is in the window, we still
7106 might have to find point on the display.
7107
7108 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7109 glyphs instead of a single one.
7110 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7111 with new argument list.
7112 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7113
df75b1a3
GM
7114 * keymap.c (get_keymap_1): Add comment that this function can GC.
7115 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7116 comment that functions can GC.
7117 (Fset_keymap_parent): GCPRO arg KEYMAP.
7118
4314cf3e
EZ
71192000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7120
7121 * msdos.c (XMenuActivate): After exiting the menu, restore the
7122 echo area message and erase it.
7123
ab49ce15
KH
71242000-07-10 Kenichi Handa <handa@etl.go.jp>
7125
7126 * fontset.c (Ffontset_info): Make the return value more compatible
7127 with that of Emacs 20.
7128
090a072f
GM
71292000-07-07 Gerd Moellmann <gerd@gnu.org>
7130
7131 * eval.c (Fsignal): Handle case that backtrace_list is null.
7132
f92de4a6
KH
71332000-07-07 Kenichi Handa <handa@etl.go.jp>
7134
7135 * ccl.c (Fccl_execute): Typo fixed.
7136
dd8888a1
GM
71372000-07-06 Gerd Moellmann <gerd@gnu.org>
7138
e5c81191 7139 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7140
dd8888a1
GM
7141 * window.c (Fwindow_list): Reverse list at the end.
7142 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7143 means allow windows on OWINDOW's frame, only.
7144 (window_loop): Simplified; use Fwindow_list.
7145
7146 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7147
485266d0
GM
71482000-07-05 Gerd Moellmann <gerd@gnu.org>
7149
7150 * xterm.c (XTread_socket): Increment handling_signal at the start,
7151 decrement it at the end.
7152
7153 * eval.c (handling_signal): New variable.
7154 (Fsignal): Abort if handling_signal is non-zero.
7155
7156 * lisp.h (handling_signal): External declaration.
178c5d9c 7157
485266d0
GM
7158 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7159
80fcd514
KR
71602000-07-05 Ken Raeburn <raeburn@gnu.org>
7161
7162 Sound support for NetBSD through "Linux emulation" support:
7163 * config.in (HAVE_SOUNDCARD_H): Undef.
7164 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7165 * Makefile.in (LIBSOUND): New variable.
7166 (LIBES): Include it.
52283633
SM
7167 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7168 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7169 (vox_open): Use DEFAULT_SOUND_DEVICE.
7170 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7171
d5c5cddd
GM
71722000-07-05 Gerd Moellmann <gerd@gnu.org>
7173
7174 * print.c (print_error_message): If Vsignaling_function is set,
7175 show it in *Messages*.
7176
7177 * lisp.h (Vsignaling_function): External declaration.
7178
7179 * eval.c (Vsignaling_function): New variable.
7180 (Fsignal): Compute it.
7181 (syms_of_eval): Staticpro it.
7182
65171e3a
DL
71832000-07-05 Dave Love <fx@gnu.org>
7184
7185 * syswait.h: Use the autoconf recommended approach. Old code
7186 #if'd out in case we need to revert.
7187
178c5d9c 7188 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7189
e2c46326
AI
71902000-07-05 Andrew Innes <andrewi@gnu.org>
7191
7192 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7193 when non-NULL instead of __morecore, to take account of buffer
7194 memory. This also solves a problem with spurious memory warnings
7195 on Windows.
7196
7197 * ralloc.c: Make real_morecore non-static.
7198
7199 * eval.c (internal_condition_case): Comment out abort if
7200 interrupt_input_blocked is not zero.
7201
7202 * makefile.nt: Add support for `bootstrap' and related targets.
7203 Include minimal debug info in emacs.exe in release build.
7204 Remove all dependencies on lisp.h, and fixup some others.
7205
7206 * w32.c (init_environment): Install code from 20.7 for providing
7207 default values for environment variables, based on the
7208 executable's own location.
52283633 7209 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7210 (sys_socket): Install socket inheritance bug fix from 20.7.
7211
7212 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7213 here via blockinput.h).
7214
a027a91b
SM
72152000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7216
e4b31601
SM
7217 * w32menu.c (w32_menu_display_help):
7218 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7219
7220 * keyboard.h (show_help_echo): Declare.
7221
7222 * keyboard.c (show_help_echo): New function, extracted from read_char.
7223 Feval its `msg' argument if it's a cons cell.
7224 (read_char): Use it.
4cf8d9d5 7225 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7226
178c5d9c 7227 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7228 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7229 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7230 (dos_rawgetc):
7231 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7232 (note_tool_bar_highlight, w32_read_socket):
7233 Do not gratuitously ignore non-string `help-echo' properties.
7234
88d75730
GM
72352000-07-05 Gerd Moellmann <gerd@gnu.org>
7236
969f7e79
GM
7237 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7238
71201b00
GM
7239 * window.c (delete_all_subwindows): Reset Vwindow_list.
7240
88d75730
GM
7241 * xterm.c (x_append_glyph, x_append_composite_glyph)
7242 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7243 changes in struct glyph starting 1999-12-27. Some bit-fields of
7244 struct glyph were not set, which made glyphs unequal when compared
7245 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7246 effects were the result. This also depended on the contents of
7247 memory returned by xmalloc. If flickering happens again, activate
7248 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7249 gone with that, chances are that it is caused by something similar.
88d75730
GM
7250
7251 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7252
88d75730
GM
7253 * dispextern.h: Add some comments.
7254
7255 * window.c (add_window_to_list): Add parameter LIST.
7256 (window_list): Order list so that, for each frame, windows are
7257 in canonical order, and so that frames appear in the list in
7258 the order given by Vframe_list.
7259 (next_window): Reverse the handling of NEXT_P.
7260
53654733
GM
72612000-07-04 Gerd Moellmann <gerd@gnu.org>
7262
87efd256
GM
7263 * window.c (Vwindow_list): New variable.
7264 (make_window, delete_window): Set Vwindow_list to nil.
7265 (check_window_containing): New function.
7266 (window_from_coordinates): Rewritten.
7267 (add_window_to_list, window_list, candidate_window_p)
7268 (decode_next_window_args, next_window): New functions.
52283633 7269 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7270 (Fwindow_list): New function.
7271 (Fother_window): Cleaned up.
7272 (foreach_window): Add a longer "variable argument list". Let
7273 callback function return 0 to indicate that cycling over windows
7274 should stop.
7275 (foreach_window_1): Likewise.
7276 (freeze_window_start): Return int.
7277 (init_window): New function.
7278 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7279
7280 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7281 input_event with bzero.
7282 (main): Call init_window.
7283
53654733
GM
7284 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7285 a menu filter.
7286
4a8c194f
KH
72872000-07-04 Kenichi Handa <handa@etl.go.jp>
7288
7289 * composite.h (make_composition_value_copy): Extern it.
7290
7291 * composite.c (make_composition_value_copy): New function.
7292
7293 * editfns.c (Fformat): While copying text properties, make each
7294 composition property value a copy.
7295
7296 * fns.c (concat): While copying text properties, make each
7297 composition property value a copy.
7298
831a6cb0
GM
72992000-07-03 Gerd Moellmann <gerd@gnu.org>
7300
2f516940
GM
7301 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7302
178c5d9c 7303 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7304 marked already.
7305
831a6cb0
GM
7306 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7307 include those frames as candidates which have their focus
7308 redirected to the minibuffer frame.
7309
d9c4f922
SM
73102000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7311
7312 * fns.c (Fputhash): Return `value' rather than nil.
7313
3780bc22
GM
73142000-06-30 Gerd Moellmann <gerd@gnu.org>
7315
97d176db
GM
7316 * frame.c (next_frame): Don't check focus redirection in case
7317 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7318 unless their focus is redirected, which contradicts the
7319 specification of next-frame, and leads to infinite loops in
7320 certain situations when cycling through windows with next-window.
7321
dca9961d
KH
73222000-06-30 Kenichi Handa <handa@etl.go.jp>
7323
7324 * coding.c (code_convert_region): Even if the length of text is
7325 zero, try to convert it if coding->type is coding_type_ccl.
7326 (decode_coding_string, encode_coding_string): Likewise.
7327
d5483ab1
GM
73282000-06-28 Gerd Moellmann <gerd@gnu.org>
7329
af5c25e1 7330 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7331 the display if windows_or_buffers_changed.
af5c25e1
GM
7332
7333 * dispnew.c (struct row_entry): New structure.
7334 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7335 (row_table_size, old_lines, new_lines, old_lines_size)
7336 (new_lines_size, run_pool, runs_size, runs): New variables.
7337 (add_row_entry): New function.
7338 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7339 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7340 holding them in local variables. Use a larger hash table whose
7341 size depends on glyph matrix sizes. Don't use bzero to clear the
7342 hash table; instead, clear used slots only.
7343
7344 * fns.c (next_almost_prime): Make it externally visible.
7345
7346 * lisp.h (next_almost_prime): Add prototype.
7347
d5483ab1
GM
7348 * s/isc4-0.h (sigunblock): Define.
7349
7350 * s/sco5.h (sigunblock): Define.
7351
93e40f40
DL
73522000-06-27 Dave Love <fx@gnu.org>
7353
7354 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7355 (moved to osf5-0.h).
7356 [!NOT_C_CODE]: Protect string.h stuff.
7357
7358 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7359 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7360
3c4b7685
GM
73612000-06-27 Gerd Moellmann <gerd@gnu.org>
7362
97d176db 7363 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7364 below the last line from the needed window height.
7365
32cad0aa
SM
73662000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7367
7368 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7369 (Fwidget_get): Use it.
7370 (syms_of_fns): Defsubr it.
7371
2c69ced2
GM
73722000-06-26 Gerd Moellmann <gerd@gnu.org>
7373
178c5d9c 7374 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7375 display info for XIM.
7376 (xim_open_dpy): Likewise.
7377 (xim_close_dpy): Don't free the display info's XIM.
7378
7379 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7380
7381 * config.in (USE_XIM): New define.
7382
3fc720e4
GM
7383 * keymap.c (get_keyelt): For menu-items containing a `:filter
7384 FILTER', apply FILTER to the menu-item's definition to get the
7385 real definition to use.
7386
7387 * lisp.h (QCfilter): External declaration.
7388
2c69ced2
GM
7389 * xfns.c (Fimage_size): New function.
7390 (syms_of_xfns): Defsubr it.
7391
f978b2a2
AS
73922000-06-26 Andreas Schwab <schwab@suse.de>
7393
7394 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7395 Fstring_as_unibyte.
7396
94cc7892
DL
73972000-06-25 Dave Love <fx@gnu.org>
7398
52283633 7399 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7400
7401 * Makefile.in (blockinput.h): Depend on atimer.h.
7402 (atimer.h): Depend on systime.h.
7403
52283633 7404 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7405
52283633 7406 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7407
7408 * lisp.h (swap_in_global_binding): Declare.
7409
b8c24556
KR
74102000-06-24 Ken Raeburn <raeburn@gnu.org>
7411
7412 * process.c (Fopen_network_stream): Turn off atimers for duration
7413 of call to connect. (Patch from Gerd.)
7414
8cf8560b
DL
74152000-06-23 Dave Love <fx@gnu.org>
7416
511c7541
DL
7417 * ralloc.c: Maybe include unistd.h
7418
8cf8560b
DL
7419 * emacs.c (setgrp): Undefine before defining.
7420 (malloc_warning, set_time_zone_rule, index): Prototype.
7421
7422 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7423 HAVE_STRUCT_TIMEZONE.
7424
7425 * s/osf1.h: Move string.h hack here from alpha.h and make it
7426 conditional.
7427 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7428 _XOPEN_SOURCE.
7429 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7430 (SOCKLEN_TYPE): Don't define.
7431
7432 * m/alpha.h: Remove string.h hack.
7433
7434 * s/osf5-0.h: New file.
7435
7436 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7437 include time.h, done by systime.h.
7438 [__FreeBSD__]: Remove redundant includes.
7439
3fc720e4 7440 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7441 (delete_temp_file): Return Qnil to avoid warning.
7442
7443 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7444
7445 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7446 HAVE_X_WINDOWS.
7447
7448 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7449
7450 * composite.h (compose_text): Declare.
7451
7452 * xterm.c: Don't include sys/types.h unconditionally. Don't
7453 protect its inclusion with !USG (following xmenu.c).
7454
ea055732
GM
74552000-06-23 Gerd Moellmann <gerd@gnu.org>
7456
7457 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7458 in x_create_frame.
7459
74b01b80
EZ
74602000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7461
7462 * coding.c (decode_eol_post_ccl): Special handling for undecided
7463 and inconsistent EOL types.
7464
64f3a166
GM
74652000-06-22 Gerd Moellmann <gerd@gnu.org>
7466
16cf31f7
GM
7467 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7468 trough color and main window's background color.
7469
52283633 7470 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7471
7472 * xterm.h (Xt_app_con): External declaration.
7473
7474 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7475
486a103d
GM
7476 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7477
64f3a166
GM
7478 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7479 (handle_invisible_prop): Record the start of invisible text in
7480 it->add_overlay_start.
7481 (struct overlay_entry): Add member `overlay'.
7482 (handle_overlay_change): Simplify.
7483 (next_overlay_string): After having processed overlay strings at the
7484 end of the buffer, record that fact in
7485 it->overlay_strings_at_end_processed_p.
7486 (compare_overlay_entries): If before- and after-strings come
7487 from the same overlay, let before-strings come first.
7488 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7489 (load_overlay_strings): Take it->add_overlay_start into account
7490 when adding overlay strings.
7491
7492 * dispextern.h (struct it): Add member add_overlay_start.
7493
bb746ea6
DL
74942000-06-22 Dave Love <fx@gnu.org>
7495
7496 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7497
7498 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7499
a8f573f3
KH
75002000-06-22 Kenichi Handa <handa@etl.go.jp>
7501
7502 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7503 is greater than 0.
7504
9f2bbc92
DL
75052000-06-21 Dave Love <fx@gnu.org>
7506
178c5d9c 7507 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7508
3ee5041c
SM
75092000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7510
7511 * syntax.c (back_comment): Simplify string-parity counting (with
7512 the added benefit of handling multiple string-styles as long as
7513 they are not intertwined).
7514 Jump to the slow code as soon as a comment starter is found in
7515 a "string_lossage" position. Fixes the case: " /* " /* " */.
7516
4c343001
DL
75172000-06-21 Dave Love <fx@gnu.org>
7518
7519 * Makefile.in: Use GETLOADAVG_LIBS.
7520
7521 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7522 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7523
e6365855
SM
75242000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7525
7526 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7527 (Fforward_comment, scan_lists):
7528 Check the comstyle of single-char comment-starters.
7529 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7530 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7531 Check the comstyle of single-char comment-starters.
7532 Clarify control-flow around the Scomment case.
e6365855 7533
5700d2cc
DL
75342000-06-20 Dave Love <fx@gnu.org>
7535
d355bd8a
SM
7536 * fns.c (make_hash_table, maybe_resize_hash_table):
7537 Cast arg of next_almost_prime.
5700d2cc 7538
178c5d9c 7539 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7540
7541 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7542 and unistd.h.
7543
4a27bdfb
GM
75442000-06-20 Gerd Moellmann <gerd@gnu.org>
7545
a61d762c 7546 * keyboard.c (adjust_point_for_property): Check if display
52283633 7547 property should be treated as intangible by looking at its value.
a61d762c 7548
178c5d9c 7549 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7550 (display_prop_intangible_p): New functions.
7551
7552 * dispextern.h (display_prop_intangible_p): Add prototype.
7553
7554 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7555
4a27bdfb
GM
7556 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7557 argument to sigprocmask.
7558
7559 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7560 argument to sigprocmask.
7561
7562 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7563 sigprocmask_set, and pass a pointer to it to sigprocmask.
7564
7565 * sysdep.c (sigprocmask_set): New variable.
7566
7567 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7568 report_file_error.
7569
427ec082
SS
75702000-06-20 Sam Steingold <sds@gnu.org>
7571
7572 * xrdb.c: Don't declare xmalloc, xrealloc.
7573
8972fe79 75742000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7575
7576 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7577 (re_comp): Cast gettext return value to avoid complaints when
7578 !HAVE_LIBINTL.
7579
074b6efe
DL
75802000-06-20 Dave Love <fx@gnu.org>
7581
52283633 7582 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7583
5700d2cc 7584 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7585
d355bd8a 7586 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7587
7588 * m/alpha.h: Don't declare xmalloc, xrealloc.
7589
0af4f205
DL
7590 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7591
7592 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7593
7594 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7595
7596 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7597 HAVE_GETWD.
7598
074b6efe
DL
7599 * keyboard.h (poll_for_input_1): Declare.
7600
7601 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7602
7603 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7604
7605 * doprnt.c: Don't declare xmalloc, xrealloc.
7606
7607 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7608 (getenv, ctime, getwd): Removed.
7609 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7610
7611 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7612 x_set_tool_bar_lines.
7613
7614 * config.in: Add HAVE_GETWD. Move some definitions above
7615 machine/system includes.
7616
68a5e97b
KH
76172000-06-20 Kenichi Handa <handa@etl.go.jp>
7618
95417e1e
KH
7619 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7620
68a5e97b
KH
7621 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7622 contain information about ENCODING.
7623
7624 * fontset.c (FONTSET_ASCII): Use the first element of char table
7625 for an ASCII font, not defalt slot.
7626 (fontset_ref_via_base): If FONTSET doesn't contain information for
7627 C, try the default fontset.
7628 (make_fontset): Don't copy the default fontset.
7629 (fontset_font_pattern): Likewise.
7630 (accumulate_font_info): If ELT is nil, use the corresponding
7631 element in the default fontset.
7632
3b4fa1b2
DL
76332000-06-19 Dave Love <fx@gnu.org>
7634
943e731c
DL
7635 * syntax.c (Fparse_partial_sexp): Doc fix.
7636
7637 * regex.h: Test PROTOTYPES as well as __STDC__.
7638
3b4fa1b2
DL
7639 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7640 errno, strerror. Put text after #endif in comment.
7641
52283633 7642 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7643
7644 * xterm.c (x_frame_of_widget): Likewise.
7645
cdf0357b
GM
76462000-06-19 Gerd Moellmann <gerd@gnu.org>
7647
7648 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7649 to Vfundamental_mode_abbrev_table.
7650
7651 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7652 bogus objects are marked. This slows down GC by ~80 percent, but
7653 it might be worth trying when debugging GC-related problems.
7654 This feature requires conservative stack marking to be enabled.
7655
7656 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7657 returns XLookupChars, reset `modifiers' to zero.
7658
998e9f8c
DL
76592000-06-19 Dave Love <fx@gnu.org>
7660
7661 * mktime.c: Unprotoized.
7662
18e21ce8 76632000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7664
7665 * data.c (set_internal): If variable is frame-local,
7666 store the new value immediately into the frame parameter alist.
7667
140c4ac6
KR
76682000-06-19 Ken Raeburn <raeburn@gnu.org>
7669
14358466
KR
7670 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7671 in the custom handler pointer.
7672
140c4ac6
KR
7673 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7674 value, or checks for CHAR_META can fail when Lisp_Object is a
7675 union type.
7676 * keymap.c (get_keyelt): Likewise.
7677
10d7bf84
KH
76782000-06-19 Kenichi Handa <handa@etl.go.jp>
7679
7680 * ccl.h (struct ccl_program): New member eol_type.
7681 (struct ccl_spec): New member cr_carryover.
7682
7683 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7684 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7685
7686 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7687 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7688 (decode_eol_post_ccl): New function.
7689 (decode_coding): Don't detect EOL format here for CCL based coding
7690 systems.
7691 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7692 decode_eol_post_ccl after running the CCL program.
7693 (code_convert_region): Don't detect EOL format here for CCL based
7694 coding systems.
7695 (decode_coding_string): Likewise.
7696
52e386c2
KR
76972000-06-18 Ken Raeburn <raeburn@gnu.org>
7698
7699 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7700 when treating it as an integer.
7701
7702 * coding.h (encode_coding_string): Declare.
7703
7704 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7705 it as an integer.
7706
7707 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7708 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7709 to be passed to get_local_map.
7710
7711 * sound.c (Fplay_sound): Don't call make_number on
7712 Frun_hook_with_args count argument.
7713
7714 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7715 for lisp objects in X event structure data field, when lisp
7716 objects are represented with unions.
7717 (x_scroll_bar_to_input_event): Ditto.
7718
b357b9d4
KR
77192000-06-16 Ken Raeburn <raeburn@gnu.org>
7720
7721 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7722 termination of string. Fix sense of test whether
7723 Vline_number_display_limit is an integer.
b357b9d4 7724
a871441d
GM
77252000-06-16 Gerd Moellmann <gerd@gnu.org>
7726
a9021acd
GM
7727 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7728 only if HAVE_X_WINDOWS.
7729
6344985d
GM
7730 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7731 of titles.
7732
427ec082 7733 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7734 out of bounds.
7735
228b083e
EZ
77362000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7737
7738 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7739 of its headers.
7740
c25b53a2
KH
77412000-06-15 Kenichi Handa <handa@etl.go.jp>
7742
7743 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7744 start of the while loop.
7745
a6981b11
GM
77462000-06-15 Gerd Moellmann <gerd@gnu.org>
7747
e9924e52
GM
7748 * atimer.c (alarm_signal_handler): Add forward declaration.
7749
a6981b11
GM
7750 * data.c (set_internal): Remove debug code.
7751
25fa6deb
GM
77522000-06-14 Gerd Moellmann <gerd@gnu.org>
7753
dce6b995
GM
7754 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7755
9f817ea4
GM
7756 * unexec.c (toplevel) [COFF]: Include coff.h.
7757
7758 * s/lynxos.h: New file.
7759
7760 * keymap.c (Fsingle_key_description): Enclose function key and
7761 event symbol names in angle brackets.
7762
8a4e3c0c
GM
7763 * xdisp.c (setup_echo_area_for_printing): Call
7764 message_log_maybe_newline if message_buf_print is not set.
7765
7766 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7767 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7768 function does something useful even when message_buf_print is
7769 already set.
7770
52283633
SM
7771 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7772 New variables.
25fa6deb
GM
7773 (ensure_echo_area_buffers): Initialize echo buffer's
7774 truncate lines setting to nil.
7775 (with_echo_area_buffer): Don't set the echo buffer's truncate
7776 lines setting here.
8a4e3c0c 7777 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7778 of message_truncate_lines.
7779 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7780 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7781 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7782
7783 * keyboard.c (read_char): Bind message-truncate-lines to t
7784 while displaying a help-echo.
7785
7786 * lisp.h (Qmessage_truncate_lines): External declaration.
7787
163dcff3
GM
77882000-06-13 Gerd Moellmann <gerd@gnu.org>
7789
1681ead6
GM
7790 * xdisp.c (Vline_number_display_limit): Renamed from
7791 line_number_display_limit.
7792 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7793 Extend documentation string. Initialize
7794 Vline_number_display_limit to nil meaning no limit.
7795 (decode_mode_spec): Use Vline_number_display_limit with its new
7796 meaning.
7797
163dcff3
GM
7798 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7799
18e21ce8 78002000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7801
7802 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7803
163dcff3
GM
7804 * xfns.c (x_set_frame_parameters): Comment fix.
7805
7806 * frame.c (store_frame_param): Call swap_in_global_binding if the
7807 variable's current binding was chosen based on this frame.
7808
7809 * data.c (swap_in_global_binding): New function.
7810
a704139d
EZ
78112000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7812
7813 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7814 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7815
9b6610db
EZ
78162000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7817
7818 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7819
c68833d2
JR
78202000-06-12 Jason Rumney <jasonr@gnu.org>
7821
7822 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7823
7824 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7825
7826 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7827
7828 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7829
ed1056b3
GM
78302000-06-12 Gerd Moellmann <gerd@gnu.org>
7831
7832 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7833 (syms_of_xfaces): Defsubr Sdump_colors.
7834 (x_free_colors): Don't treat b&w specially on default visual.
7835 (x_free_dpy_colors): New function.
7836 (free_face_colors): Don't check visual class; it's done
7837 in x_free_colors.
7838
7839 * xterm.c (x_frame_of_widget): New function.
7840 (x_alloc_nearest_color_for_widget): Use it.
7841 (x_copy_dpy_color): New function.
7842 (x_destroy_window): Free various colors.
7843
5050a2ef
KH
78442000-06-12 Kenichi Handa <handa@etl.go.jp>
7845
7846 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7847
7848 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7849
7850 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7851
7852 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7853
7854 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7855
fb1b041d
DL
78562000-06-11 Dave Love <fx@gnu.org>
7857
7858 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7859
ff96b5f4
EZ
78602000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7861
7862 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7863
db8eeecd
GM
78642000-06-11 Gerd Moellmann <gerd@gnu.org>
7865
ed1056b3 7866 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7867 to `XEvent *'.
7868
49b71c5f
KH
78692000-06-10 Kenichi Handa <handa@etl.go.jp>
7870
c479bd55
KH
7871 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7872 (regex_compile): Fix the code for handling the case of single byte
7873 char and multibyte char being mixed in a range within [...].
7874
ff6a65c2
KH
7875 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7876 and dst_multibyte members of coding.
7877
49b71c5f
KH
7878 * charset.c (update_charset_table): Update the table
7879 bytes_by_char_head.
7880 (init_charset_once): Initialize elements of bytes_by_char_head to
7881 1 except for leading codes for private charases.
7882
7883 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7884 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7885
9e80b57d
KR
78862000-06-09 Ken Raeburn <raeburn@gnu.org>
7887
7888 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7889 access the data it doesn't point to.
7890
f83fe4b4
GM
78912000-06-08 Gerd Moellmann <gerd@gnu.org>
7892
7893 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7894 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7895 event queue. This is necessary because Emacs otherwise won't
7896 perform a switch-frame to a new frame until some other event, for
7897 example a keystroke event, forces it to do so. This has various
7898 effects, one visible being that the cursor of a frame created with
7899 C-x 5 2 or switched to with a window manager key binding like
7900 A-TAB stays hollow because selected_window isn't on the newly
7901 focused frame until the switch-frame is performed.
7902
7903 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7904 generating a switch-frame event if necessary.
7905
7906 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7907
7908 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7909 it's an integer.
7910
0890801b
KH
79112000-06-08 Kenichi Handa <handa@etl.go.jp>
7912
52283633 7913 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7914
173cbca8
GM
79152000-06-07 Gerd Moellmann <gerd@gnu.org>
7916
3091c2a6
GM
7917 * window.c (displayed_window_lines): Take empty lines at
7918 the bottom of a window into account.
427ec082 7919
f38952fe
GM
7920 * window.c (displayed_window_lines): New function.
7921 (Fmove_to_window_line): Use displayed_window_lines to determine
7922 the number of lines to move, instead of using the window's height.
7923
7924 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7925 to stop reading, even if the form read sets point to a different
7926 value when evaluated.
7927
427ec082 7928 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7929 put the cursor.
7930
6ba6c818
KH
79312000-06-07 Kenichi Handa <handa@etl.go.jp>
7932
7933 * fileio.c (e_write): Free composition data if stored in
7934 coding->cmp_data.
7935
5f1aea9a
GM
79362000-06-06 Gerd Moellmann <gerd@gnu.org>
7937
666852af
GM
7938 * xdisp.c (display_line): Set row's and iterator's
7939 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7940 Set cursor even if row ends in the middle of a character.
7941 (dump_glyph_row): Print values of new flags.
7942 (redisplay_window) <cursor movement in unchanged window>: When
7943 point has been moved forward, and PT is at the end of the cursor
7944 row, don't place the cursor in the next row if the cursor row ends
7945 in the middle of a character or at ZV.
7946
7947 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7948 (struct glyph_row): Add starts_in_middle_of_char_p and
7949 ends_in_middle_of_char_p.
7950 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7951 ends_in_middle_of_char_p flag.
7952 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7953
d13f3e2e
GM
7954 * term.c (append_glyph): Revert change of 2000-06-06.
7955
7956 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7957 padding glyph not fitting on line as whole character not
7958 fitting on line.
7959
5f1aea9a
GM
7960 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7961 this isn't true for images with `:ascent 100'.
7962
10cda9b0
KH
79632000-06-06 Kenichi Handa <handa@etl.go.jp>
7964
ed00559d
KH
7965 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7966 as modified if it is originally unmodified.
7967
10cda9b0
KH
7968 * term.c (encode_terminal_code): Change the way to check if
7969 terminal coding does any conversion.
7970 (append_glyph): Set glyph->pixel_width correctly.
7971
7972 * xdisp.c (display_line): While checking line continuation, pay
7973 attention to a padding glyph.
7974
1969fae2
GM
79752000-06-05 Gerd Moellmann <gerd@gnu.org>
7976
7977 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7978
162ccef4
DL
79792000-06-05 Dave Love <fx@gnu.org>
7980
f19f32dd
DL
7981 * xdisp.c: Include fontset.h.
7982
7983 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7984
7985 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7986
7987 * dispnew.c: Conditionally include term.h.
7988
7989 * coding.h: Declare code_convert_string_norecord.
7990
7991 * frame.h (struct frame): Use volatile unconditionally.
7992
7993 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7994
7995 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7996
7997 * systime.h: Protect against multiple inclusion.
7998 (timezone) [USG5_4]: Define as time_t.
7999
8000 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8001 (Foptimize_char_table, make_temp_name): Declare.
8002
8003 * Makefile.in (xdisp.o): Depend on fontset.h.
8004
8005 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
8006
8007 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
8008 (Foptimize_char_table, make_temp_name): Declare.
8009
427ec082 8010 * s/irix4-0.h:
162ccef4
DL
8011 * s/irix5-0.h:
8012 * s/netbsd.h: Don't define autoconfiscated MATHERR.
8013
2082fe81
DL
80142000-06-02 Dave Love <fx@gnu.org>
8015
8016 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
8017
dcf671d2
GM
80182000-06-02 Gerd Moellmann <gerd@gnu.org>
8019
8020 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 8021 result face, set flags in that face indicating that colors may not
dcf671d2
GM
8022 be freed.
8023
8024 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
8025 glyph, use the ASCII NUL character to determine the face.
8026
d42122a3
DL
80272000-06-02 Dave Love <fx@gnu.org>
8028
8029 * sysdep.c: Conditionally include stdlib.h, unistd.h.
8030 (VFORK_RETURN_TYPE): Remove.
427ec082 8031
d42122a3
DL
8032 * config.in: Add NO_MATHERR.
8033
dd432f16
DL
80342000-06-01 Dave Love <fx@gnu.org>
8035
90aa4ea8
DL
8036 * cmds.c (internal_self_insert): Don't check
8037 Vbefore_change_function, Vafter_change_function.
8038
8039 * insdel.c (signal_before_change, signal_after_change): Likewise.
8040
8041 * buffer.c (Vbefore_change_function, Vafter_change_function):
8042 Variables and their initializations deleted.
8043
2330c9d4
DL
8044 * callint.c (Fcall_interactively): Doc fix.
8045
dd432f16
DL
8046 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
8047
bf9e8804
DL
80482000-05-31 Dave Love <fx@gnu.org>
8049
8050 * textprop.c: Revert last change -- duplicated.
8051
3694b4ab
GM
80522000-05-31 Gerd Moellmann <gerd@gnu.org>
8053
8054 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
8055 in #if 0.
8056
8057 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8058
f14156cd
JR
80592000-05-31 Jason Rumney <jasonr@gnu.org>
8060
8119aab8
JR
8061 * search.c (Fre_search_forward, Fre_search_backward)
8062 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8063
f14156cd
JR
8064 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8065
4aab9be3
JR
80662000-05-30 Jason Rumney <jasonr@gnu.org>
8067
8068 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8069 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8070
52283633 8071 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8072
8073 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8074 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8075 expand a nil default_filename.
8076
8077 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8078 pointer to glyph_to_pixel_coords, not a frame.
8079
8080 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8081 coding.h to dependencies.
8082
8083 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8084
8085 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8086 window pointer to be consistent with w32term.c and xterm.c.
8087
8088 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8089 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8090 (Qline_spacing, Qcenter): New variables.
8091 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8092 (x_set_line_spacing): New function.
52283633 8093 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8094 (x_specified_cursor_type): New function.
8095 (x_set_cursor_type): Use it.
8096 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8097 and icon strings.
8098 (validate_x_resource_name, x_get_resource_string): Measure lengths
8099 of external strings in bytes.
8100 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8101 GetTextExtentPoint32 with NULL title.
8102 (Fx_create_frame): Initialize Qline_spacing.
8103 (w32_load_system_font): Initialize font->double_byte_p.
8104 (x_to_w32_charset): Use Vw32_charset_info_alist.
8105 (Image, busy cursor, tooltip functions): Merged changes from
8106 xfns.c. Not yet functional on Windows.
8107
8108 * w32gui.h (W32FontStruct): Add double_byte_p member.
8109
8110 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8111 (emacs_button_translation): Use it.
8112 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8113 in `mask' to be set.
8114
8115 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8116 menu strings.
8117
8118 * w32term.c: Format and doc changes to bring closer to xterm.c.
8119 (w32_char_font_type): New enum.
8120 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8121 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8122 (w32_encode_char): New function.
8123 (x_encode_char): Removed.
8124 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8125 x_encode_char and w32_font_is_double_byte.
8126 (x_produce_image_glyph): Use image_ascent.
8127 (x_produce_glyphs): Use new version of w32_per_char_metric and
8128 handle NULL return value. Allow extra line spacing.
8129 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8130 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8131 w32_font_type member of glyph instead.
8132 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8133 (fast_find_position): Make sure not to consider rows not visible
8134 in the window.
8135 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8136 w32_menu_display_help with input blocked, as it can abort.
8137 (x_display_and_set_cursor): Choose cursor depending
8138 on buffer-local value of cursor_type.
8139 (x_draw_bar_cursor): Add parameter WIDTH.
8140
8141 * w32term.h (CP_DEFAULT): Define.
8142 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8143
10fc3187
GM
81442000-05-30 Gerd Moellmann <gerd@gnu.org>
8145
8146 * search.c (Fre_search_forward, Fre_search_backward)
8147 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8148
d0555360
KH
81492000-05-30 Kenichi Handa <handa@etl.go.jp>
8150
8151 * coding.c (detect_coding_iso2022): Fix code for checking
8152 CODING_CATEGORY_MASK_ISO_8_2.
8153
f1ad044f
SM
81542000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8155
8156 * regex.c (PREFETCH_NOLIMIT): New function.
8157 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8158
84ec3b4b
GM
81592000-05-29 Gerd Moellmann <gerd@gnu.org>
8160
66254a13
GM
8161 * syntax.c (find_defun_start): Move test for
8162 open_paren_in_column_0_is_defun_start outside of the loop.
8163
49e70dec
GM
8164 * xdisp.c (redisplay_window): Really switch buffers when
8165 displaying mode lines, and temporarily set selected_frame to the
8166 frame of the window that's redisplayed.
8167
84ec3b4b
GM
8168 * xfaces.c (free_realized_faces): Block/unblock input.
8169 (free_realized_multibyte_face): Ditto.
8170
869a3a14
DL
81712000-05-29 Dave Love <fx@gnu.org>
8172
8173 * textprop.c (Qkeymap): New variable.
8174 (syms_of_textprop): Intern it.
8175
8176 * keymap.c: Include intervals.h.
8177 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8178
8179 * Makefile.in (keymap.o): Depend on intervals.h.
8180
8181 * keyboard.c (menu_bar_items, tool_bar_items)
8182 (Fexecute_extended_command): Deal with `keymap' property.
8183 (read_key_sequence): Track map from `keymap' property as well as
8184 `local_map'.
8185
8186 * intervals.c (get_local_map): Extra arg to allow looking for
8187 `keymap' too.
8188
8189 * intervals.h (map_property): New enum.
8190 (get_local_map): Extra arg using it.
8191 (Qkeymap): Declare.
8192
84ec3b4b 8193 * lisp.h (get_local_map): Don't declare here.
869a3a14 8194
89d0c844
KH
81952000-05-29 Kenichi Handa <handa@etl.go.jp>
8196
8197 * Makefile.in (callproc.o): Depend on composite.h.
8198
8199 * callproc.c: Include composite.h.
8200 (Fcall_process): Handle composition correctly.
8201
8202 * coding.h (coding_allocate_composition_data): Extern it.
8203 (coding_restore_composition): Likewise.
8204
8205 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8206 yet allocated, finish decoding with result
8207 CODING_FINISH_INSUFFICIENT_CMP.
8208 (coding_allocate_composition_data): Make it non-static.
8209 (coding_restore_composition): Likewise.
8210
797a084a
EZ
82112000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8212
8213 * charset.c (syms_of_charset): Revert last change.
8214
cf872af5
EZ
82152000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8216
8217 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8218 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8219 Handa.
cf872af5 8220
5b1ae051
EZ
82212000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8222
8223 * charset.c (syms_of_charset): Set width of character sets
8224 eight-bit-control and eight-bit-graphic to 1 column.
8225
34ec9ebe
GM
82262000-05-26 Gerd Moellmann <gerd@gnu.org>
8227
8228 * config.in (HAVE_SPEED_T): New define.
8229
8230 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8231 `extern speed_t'.
8232
dd854dc2
DL
82332000-05-26 Dave Love <fx@gnu.org>
8234
8235 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8236
8237 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8238 (Fsubr_arity): New function.
8239 (syms_of_data): Install them.
8240
ba9f8f95
KH
82412000-05-26 Kenichi Handa <handa@etl.go.jp>
8242
0f3e0672
KH
8243 * charset.c (init_charset_once): Set the table bytes_by_char_head
8244 correctly.
8245
cebefb44
KH
8246 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8247 the default fontset to what Emacs uses by default.
0f3e0672
KH
8248 (check_registry_encoding): This function deleted.
8249 (Fset_fontset_font): Remove the adhoc condition for the default
8250 fontset. Allow cons in FONTNAME.
cebefb44 8251
0f3e0672
KH
8252 * fns.c (map_char_table): Ignore char-table entries for
8253 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8254
7a18af49
KR
82552000-05-25 Ken Raeburn <raeburn@gnu.org>
8256
8257 * emacs.c (main): Initialize keyboard syms before initializing
8258 window code, so face names are available.
8259
d2af47df
SM
82602000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8261
8262 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8263 of an anchor at the beginning of a shy-group.
8264
fc6a6a4e
GM
82652000-05-25 Gerd Moellmann <gerd@gnu.org>
8266
8267 * xdisp.c (handle_invisible_prop): Don't try to skip over
8268 invisible text if end of text is already reached.
8269
005f0d35
DL
82702000-05-25 Dave Love <fx@gnu.org>
8271
02513cdd
DL
8272 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8273
005f0d35
DL
8274 * coding.c (encode_eol): Add null statement after label.
8275
89f6ca4e
EZ
82762000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8277
8278 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8279 2000-05-20.
8280
a4e1759e
KH
82812000-05-25 Kenichi Handa <handa@etl.go.jp>
8282
8283 * ccl.c (ccl_driver): Fix previous change.
8284
eacfd7fe
KH
82852000-05-25 Kenichi Handa <handa@etl.go.jp>
8286
46ab33a9
KH
8287 * coding.c (run_pre_post_conversion_on_str): Set point to the
8288 beginning of buffer before calling coding->post_read_conversion.
8289 (decode_coding_string): Give correct args to
8290 run_pre_post_conversion_on_str.
8291 (encode_coding_string): Likewise.
8292
eacfd7fe
KH
8293 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8294 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8295 eight-bit-graphic correctly.
8296
f8569325
DL
82972000-05-24 Kenichi HANDA <handa@etl.go.jp>
8298
8299 * fileio.c (Finsert_file_contents): Even if a file is not found,
8300 execute codes for setting up coding system. Call
8301 after-insert-file-functions unconditionally.
8302
04545643
GM
83032000-05-24 Gerd Moellmann <gerd@gnu.org>
8304
8305 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8306 BSD_PGRPS are not defined.
8307
747d90ea
KH
83082000-05-24 Kenichi Handa <handa@etl.go.jp>
8309
8310 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8311 DESCRIPTION.
8312 (syms_of_charset): Avoid building same strings.
8313
716e3b88
GM
83142000-05-23 Gerd Moellmann <gerd@gnu.org>
8315
8316 * lread.c (Fload): Add a comment about the meaning of
8317 Vuser_init_file being t.
8318
8319 * puresize.h (BASE_PURESIZE): Increase to 675000.
8320
8321 * s/gnu-linux.h (setpgrp): Don't define it here because this
8322 prevents compilation on GNU/Linux systems with glib 2.2.
8323
8324 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8325 as setpgid.
427ec082 8326
9aeb39fa
EZ
83272000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8328
8329 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8330 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8331 version.
8332 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8333
29ced61b
KH
83342000-05-23 Kenichi Handa <handa@etl.go.jp>
8335
52283633 8336 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8337
3d80f24d
KH
8338 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8339
52283633 8340 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8341
29ced61b
KH
8342 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8343
d7e00792
KH
83442000-05-22 Kenichi Handa <handa@etl.go.jp>
8345
c9d80d38
KH
8346 * keyboard.c (read_char): Allow character codes 128..255 to be
8347 handled by input-method-function.
8348
d7e00792
KH
8349 * insdel.c (adjust_markers_for_replace): Fix previous change.
8350 (adjust_after_replace): If PREV_TEXT is nil, call
8351 adjust_markers_for_insert, not adjust_markers_for_replace.
8352
087121cc 83532000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8354
087121cc
GM
8355 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8356 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8357 [HAVE_GRANDPT]: Define.
8358 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8359
8360 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8361 like SYSV_PTYS.
8362
8363 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8364
8365 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8366
c9671f81
KH
83672000-05-20 Kenichi Handa <handa@etl.go.jp>
8368
8369 The following changes are to handle 8-bit characters in a
8370 multibyte buffer/string without facing with byte combining
8371 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8372 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8373
8374 * Makefile.in (fns.o): Depend on charset.h.
8375
8376 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8377 convert it to unibyte.
8378 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8379
8380 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8381 apparent char boundary.
8382 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8383 0x80..0x9F to/from multibyte form.
8384
8385 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8386 to unibyte.
8387
8388 * callproc.c (Fcall_process): Always encode an argument string if
8389 it is multibyte. Setup src_multibyte and dst_multibyte members of
8390 process_coding properly.
ce75fd23 8391
c9671f81
KH
8392 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8393 SPLIT_NON_ASCII_CHAR.
8394
8395 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8396 as is.
8397 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8398
52283633 8399 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8400 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8401 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8402 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8403 and eight-bit-graphic.
8404 (char_to_string): Likewise. Signal an error for too large
8405 character code.
8406 (char_printable_p): Return 0 for 8-bit characters.
8407 (update_charset_table): Update iso_charset_table only when a final
8408 character is non-negative.
8409 (find_charset_in_text): Renamed from find_charset_in_str.
8410 Arguments and return value changed. Callers changed.
8411 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8412 be -1 if CHARSET is used only internally.
8413 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8414 eight-bit-graphic.
8415 (Fcharset_after): Simplified.
8416 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8417 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8418 (multibyte_chars_in_text): Simplified by assuming there's no
8419 invalid multibyte sequence.
52283633
SM
8420 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8421 (str_as_unibyte): New functions.
8422 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8423 (init_charset_once): Initialization for
8424 LEADING_CODE_8_BIT_CONTROL.
8425 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8426 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8427 eight-bit-control and eight-bit-graphic.
8428
52283633
SM
8429 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8430 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8431 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8432 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8433 (CHARSET_REVERSE_CHARSET): Likewise.
8434 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8435 eight-bit-graphic.
8436 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8437 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8438 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8439 encounter an invalid multibyte sequence.
8440 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8441 sequence is always valid.
8442 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8443 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8444 (CHAR_STRING): For 8-bit characters, call char_to_string.
8445 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8446 multibyte sequence is always valid.
8447 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8448 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8449 (str_as_unibyte): Extern them.
c9671f81 8450 (BCOPY_SHORT): Fix a bug.
52283633 8451 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8452 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8453 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8454 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8455
bd4bde7f 8456 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8457 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8458 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8459 (EMIT_BYTES): New macros.
8460 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8461 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8462 macros deleted.
8463 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8464 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8465 check the validity of multibyte sequence.
8466 (decode_coding_emacs_mule): New function.
8467 (encode_coding_emacs_mule): New macro.
8468 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8469 the source.
8470 (DECODE_ISO_CHARACTER): Just return a character code.
8471 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8472 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8473 EMIT_CHAR to produced decoded characters. Exit the loop only by
8474 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8475 block here.
8476 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8477 only position codes for an invalid character.
8478 (encode_designation_at_bol): Return new destination pointer. 5th
8479 arg DSTP is changed to DST.
8480 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8481 from the source by ONE_MORE_CHAR. Don't handle the case of last
8482 block here.
8483 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8484 macros deleted.
52283633
SM
8485 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8486 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8487 TWO_MORE_BYTES to fetch a byte from the source.
8488 (encode_eol): Pay attention to coding->src_multibyte.
8489 (detect_coding, detect_eol): Preserve members src_multibyte and
8490 dst_multibyte.
8491 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8492 (encoding_buffer_size): Set magnification to 3 for all coding
8493 systems that require encoding.
8494 (ccl_coding_driver): For decoding, be sure that the result is
8495 valid multibyte sequence.
8496 (decode_coding): Initialize coding->errors and coding->result.
8497 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8498 and raw-text, always call decode_eol. Handle the case of last
8499 block here. If not coding->dst_multibyte, convert the resulting
8500 sequence to unibyte.
8501 (encode_coding): Initialize coding->errors and coding->result.
8502 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8503 and raw-text, always call encode_eol. Handle the case of last
8504 block here.
8505 (shrink_decoding_region, shrink_encoding_region): Detect cases
8506 that we can't skip data more rigidly.
8507 (code_convert_region): Setup src_multibyte and dst_multibyte
8508 members of coding. For decoding, if the buffer is multibyte,
8509 convert the source sequence to unibyte in advance. For encoding,
8510 if the buffer is multibyte, convert the resulting sequence to
8511 multibyte afterward.
8512 (run_pre_post_conversion_on_str): New function.
8513 (code_convert_string): Deleted and divided into the following two.
8514 (decode_coding_string, encode_coding_string): New functions.
8515 (code_convert_string1, code_convert_string_norecord): Call one of
8516 above.
8517 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8518 MAKE_NON_ASCII_CHAR.
52283633
SM
8519 (Fset_terminal_coding_system_internal)
8520 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8521 and dst_multibyte members.
8522 (init_coding_once): Initialize iso_code_class with new enum
8523 ISO_control_0 and ISO_control_1.
8524
8525 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8526 devided into ISO_control_0 and ISO_control_1.
8527 (struct coding_system): New members src_multibyte, dst_multibyte,
8528 errors, and result. Delete member fake_multibyte.
8529 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8530 nonzero.
8531 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8532 nonzero.
8533
8534 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8535 (Faset): Likewise.
8536
8537 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8538 multibyte form.
8539 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8540 combining occurs.
8541 (Ftranspose_region): Delete codes for handling byte combining.
8542
8543 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8544 dst_multibyte members of coding. On handling REPLACE on unibyte
8545 buffer, convert the result of decode_coding to unibyte. On
8546 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8547 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8548 multibyteness of the source (buffer or string).
8549
8550 * fns.c (concat): Handle 8-bit characters correctly.
8551 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8552 unibyte in the result.
8553 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8554 valid multibyte form in the result.
8555 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8556 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8557 return -1, signal an error.
8558 (base64_encode_1): New arg MULTIBYTE. Get each character by
8559 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8560 character is found, return -1.
8561 (Fbase64_decode_region): Delete codes for handling byte-combining.
8562 Treat each decoded byte as a unibyte character.
8563 (Fbase64_decode_string): Return unibyte string.
8564 (Fcompare_strings, concat, string_byte_to_char): Use
8565 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8566 FETCH_STRING_CHAR_ADVANCE.
8567 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8568 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8569
8570 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8571 SPLIT_NON_ASCII_CHAR.
8572 (fontset_ref_via_base, fontset_set): Likewise
8573
8574 * insdel.c (adjust_markers_for_record_delete): Deleted.
8575 (adjust_markers_for_insert): Argument changed. Caller changed.
8576 (adjust_markers_for_replace): Likewise.
52283633
SM
8577 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8578 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8579 (copy_text): Delete unused local varialbe c_save. For converting
8580 to multibyte, be sure to make all 8-bit characters in valid
8581 multibyte form.
8582 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8583 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8584 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8585 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8586 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8587 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8588 handling byte combining.
8589 (adjust_before_replace): Deleted.
427ec082 8590
c9671f81
KH
8591 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8592 SPLIT_NON_ASCII_CHAR.
8593 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8594 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8595 (Fkey_description): Likewise.
8596
8597 * lread.c (read1): On reading multibyte string, be sure to make
8598 all 8-bit chararacters in valid multibyte form.
8599 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8600
8601 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8602 unconditionally.
8603
8604 * process.c (Fstart_process): GCPRO current_dir before calling
8605 Ffind_operation_coding_system. Encode arguments here.
8606 (create_process): Don't encode arguments here. Setup
8607 src_multibyte and dst_multibyte members of struct coding.
8608 (read_process_output): Setup src_multibyte and dst_multibyte
8609 members of struct coding. If the output is to multibyte buffer,
8610 always decode the output of the process. Adjust the
52283633 8611 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8612 (send_process): Setup coding->src_multibyte according to the
8613 multibyteness of the source.
8614
52283633 8615 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8616 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8617 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8618
52283633 8619 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8620
8621 * w16select.c (Fw16_set_clipboard_data): Setup members
8622 src_multibyte and dst_multibyte of coding. Adjusted for the
8623 change for find_charset_in_str.
8624 (Fw16_get_clipboard_data): Likewise.
8625
8626 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8627 dst_multibyte of coding.
8628 (x_to_w32_font): Likewise.
8629
8630 * w32select.c (Fw32_set_clipboard_data): Setup members
8631 src_multibyte and dst_multibyte of coding. Adjusted for the
8632 change for find_charset_in_str.
8633 (Fw32_get_clipboard_data): Likewise.
8634
8635 * xdisp.c (get_next_display_element): Handle 8-bit characters
8636 correctly.
52283633
SM
8637 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8638 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8639
8640 * xselect.c (selection_data_to_lisp_data): Setup members
8641 src_multibyte and dst_multibyte of coding. Adjusted for the
8642 change for find_charset_in_str.
8643 (lisp_data_to_selection_data): Likewise.
8644
5f64c9e0
GM
86452000-05-19 Gerd Moellmann <gerd@gnu.org>
8646
52283633 8647 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8648
5f64c9e0
GM
8649 * dispextern.h (Vimage_types): Add extern declaration.
8650
8651 * xdisp.c (Vimage_types): Moved here from xfns.c.
8652 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8653
8654 * xfns.c (Vimages_types): Moved to xdisp.c.
8655 (syms_of_xfns): Move `image-types' to xdisp.c.
8656
8657 * w32fns.c (Vimage_types): Removed.
8658 (syms_of_w32fns): Remove `image-types'.
8659
813086ea
KH
86602000-05-18 Kenichi Handa <handa@etl.go.jp>
8661
8662 * fns.c (map_char_table): Pay attention to character number of
8663 charset. Check the validity of charset at the first level. For
8664 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8665 the default value.
8666
8667 * fontset.c: Include "buffer.h".
8668 (fs_load_font): If the face has fontset, record the face ID in
8669 that fontset.
8670 (Finternal_char_font): New function.
8671 (accumulate_font_info): New function.
8672 (Ffontset_info): Rewritten for the new fontset implementation.
8673 (syms_of_fontset): Register Vdefault_fontset in the first element
8674 of Vfontset_table. Include Vdefault_fontset in
8675 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8676 function.
8677
bdaebbf0
DL
86782000-05-16 Dave Love <fx@gnu.org>
8679
8680 * m/iris5d.h: Deleted -- unused.
8681
cb613bb8
GM
86822000-05-16 Gerd Moellmann <gerd@gnu.org>
8683
b15f3b77
GM
8684 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8685 `invalid' instead of `illegal'.
8686
8687 * indent.c (Fmove_to_column): When ending within a tab, insert
8688 spaces first so that markers at the end of the tab get adjusted.
8689
835c1b36
GM
8690 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8691 buffer list that wasn't selected in that frame.
8692
cb613bb8
GM
8693 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8694 is needed on mescaline, use a 2 char prefix, and call
8695 make_temp_name with second arg non-zero.
8696
8697 * fileio.c (make_temp_name): New function, extracted from
8698 Fmake_temp_name.
8699 (Fmake_temp_name): Use it.
8700
f685bea9
EZ
87012000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8702
52283633 8703 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8704
a1b8d58b
GM
87052000-05-15 Gerd Moellmann <gerd@gnu.org>
8706
8707 * Makefile.in (lisp): Add env.elc.
8708
8709 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8710
a265079f
GM
87112000-05-12 Gerd Moellmann <gerd@gnu.org>
8712
8713 * search.c (Freplace_match): Handle case of `\N' in the
8714 replacement when there's no group N.
8715
da4496b6
GM
87162000-05-11 Gerd Moellmann <gerd@gnu.org>
8717
0ace421a
GM
8718 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8719 of the message to message_dolog.
8720
1172eb8d
GM
8721 * keyboard.c (read_char): Don't clear current message for help
8722 events; let the code handling help events handle this. Change
8723 code detecting help events that should be ignored.
8724
da4496b6
GM
8725 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8726 we're interating over a string.
8727
0623e40f
DL
87282000-05-09 Dave Love <fx@gnu.org>
8729
8730 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8731 that offset before writing. Move gcpro region past call of
8732 Ffile_regular_p.
8733
bae2503b
DL
87342000-05-04 Dave Love <fx@gnu.org>
8735
8736 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8737
ec82fb2f
GM
87382000-05-04 Gerd Moellmann <gerd@gnu.org>
8739
8740 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8741 of inserted characters when BUF equals the current buffer, and PT
8742 is in front of or equal to FROM.
8743
cbf18892
GM
87442000-05-03 Gerd Moellmann <gerd@gnu.org>
8745
4ff40dd0
GM
8746 * xdisp.c (handle_single_display_prop): If display property value
8747 is invalid, or something not supported on the frame, restore
8748 iterator's position to what it was initially. Make sure to return
8749 0 for invalid and unsupported property values.
8750
cbf18892
GM
8751 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8752 that x_per_char_metric returns null.
8753
1b0672c3
GM
87542000-05-02 Gerd Moellmann <gerd@gnu.org>
8755
576da55d
GM
8756 * xterm.h (struct face): Add forward declaration.
8757 (struct image): Ditto.
8758 (image_ascent): Add prototype.
8759
8760 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8761 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8762 image_ascent instead of using IMAGE_ASCENT.
8763
8764 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8765 (IMAGE_ASCENT): Removed.
8766
8767 * xfns.c (Qcenter): New variable.
8768 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8769 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8770 (image_ascent): New function.
8771 (lookup_image): Recognize `:ascent center'.
8772 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8773 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8774 (xbm_load): Don't set image's ascent here.
8775 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8776 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8777 check ascent values here.
8778 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8779 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8780 (syms_of_xfns): Initialize Qcenter.
8781
1b0672c3
GM
8782 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8783 to the limits, increase the limits.
8784
0d7811ed
KH
87852000-05-01 Kenichi Handa <handa@etl.go.jp>
8786
8787 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8788 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8789
a943a5ca
GM
87902000-04-28 Gerd Moellmann <gerd@gnu.org>
8791
8792 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8793 taller than the window.
8794
5dba1e29
KH
87952000-04-28 Kenichi Handa <handa@etl.go.jp>
8796
8797 * xfaces.c (realize_x_face): Fix the argument of the second
8798 xassert. BASE_FACE may not be a face for ASCII.
8799
353964e3
GM
88002000-04-27 Gerd Moellmann <gerd@gnu.org>
8801
c76e04a8
GM
8802 * print.c (print_object): Treat print-length < 0 as nil.
8803
8804 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8805
8806 * s/freebsd.h (TERMCAP_OBJ): Removed.
8807 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8808
8809 * lread.c (read1): Don't treat period followed by certain
8810 characters as symbol start.
8811
8812 * xfns.c (slurp_file): New function.
8813 (xbm_image_p): Handle case of in-memory XBM files.
8814 (xbm_scan): Rewritten to work on memory buffers instead of files.
8815 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8816 Work on memory buffers instead of files. If DATA is null test
8817 if buffer looks like an in-memory XBM file.
8818 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8819 memory buffers instead of files.
8820 (xbm_file_p): New function.
8821 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8822
353964e3
GM
8823 * lread.c (end_of_file_error): New function.
8824 (read1): Call it instead of signaling `end-of-file' directly.
8825
427ec082 8826 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8827 with Fprinc instead of Fprin1.
8828
24d744ac
KR
88292000-04-26 Ken Raeburn <raeburn@gnu.org>
8830
8831 * window.c (freeze_window_start): Check that minibuffer scroll
8832 window isn't nil before extracting the window structure pointer
8833 from it.
8834
8835 * undo.c (record_delete): If we hit the end of the undo list, stop
8836 picking elements apart.
8837
7464346d
GM
88382000-04-26 Gerd Moellmann <gerd@gnu.org>
8839
8840 * xdisp.c (display_line): If lines are continued, restore
8841 iterator's ascent/descent information to the values before the
8842 first glyph not fitting on the line.
8843
612839b6
GM
88442000-04-25 Gerd Moellmann <gerd@gnu.org>
8845
8846 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8847 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8848
8849 * dispnew.c (increment_matrix_positions): Renamed from
8850 increment_glyph_matrix_buffer_positions.
8851 (increment_row_positions): Renamed from
8852 increment_glyph_row_buffer_positions.
8853
8854 * dispextern.h: Change names of renamed functions from dispnew.c
8855 in prototypes.
8856
cc181e95
GM
88572000-04-24 Gerd Moellmann <gerd@gnu.org>
8858
abfcc168
GM
8859 * fileio.c (Fdo_auto_save): Create directories for auto-save
8860 list file if necessary.
8861
cc181e95
GM
8862 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8863 from buffer or frame.
8864 (automatic_hscrolling_p): New variable.
8865 (hscroll_windows): Scroll windows horizontally only if automatic
8866 hscrolling is allowed.
8867 (syms_of_xdisp): New variable `automatic-hscrolling'.
8868
8869 * frame.h (struct frame): Add member extra_line_spacing.
8870
8871 * xfns.c (x_set_line_spacing): New function.
8872 (Fx_create_frame): Set line spacing from resources.
8873 (Qline_spacing): New variable.
8874 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8875
cc181e95
GM
8876 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8877
8878 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8879 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8880 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8881 extra_line_spacing from default value.
8882 (init_buffer_once): Initialize default value of extra_line_spacing.
8883
8884 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8885 and extra3.
8886
8887 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8888 prompt_width. Add extra line spacing.
8889
8890 * term.c (produce_glyphs): Remove reference to struct it's
8891 prompt_width.
8892
8893 * dispextern.h (struct it): Remove member prompt_width, add
8894 extra_line_spacing.
8895
58827478
GM
88962000-04-22 Gerd Moellmann <gerd@gnu.org>
8897
8898 * dispnew.c (update_frame_line): When writing a whole line, make
8899 sure cursor is in the right row afterwards, otherwise a use of
8900 capability `ch' in cmgoto might leave the cursor in the row below.
8901
25a87f42
GM
89022000-04-21 Gerd Moellmann <gerd@gnu.org>
8903
8904 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8905
8906 * keyboard.c (timer_check): Fix typo in comment.
8907
54edf5c2
KH
89082000-04-21 Kenichi Handa <handa@etl.go.jp>
8909
8910 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8911 name change: ch -> character.
8912
3a64eef5
GM
89132000-04-20 Gerd Moellmann <gerd@gnu.org>
8914
8915 * keyboard.c (echo_message_buffer): New variable.
8916 (echo_now): Set echo_message_buffer to the echo area buffer used
8917 to display the echo.
8918 (cancel_echoing): Reset echo_message_buffer to nil.
8919 (read_char): Code rewritten that handles canceling an echo or
8920 echoing a dash, respectively.
8921
8922 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8923 directory doesn't exist.
8924
6142fdcb
DL
89252000-04-19 Dave Love <fx@gnu.org>
8926
8927 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8928 (concat): Don't allow numeric args.
8929 (Fconcat): Doc change.
6142fdcb 8930
ac6b5352
SM
89312000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8932
8933 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8934 instead define end_match(1|2) more carefully.
8935 Use GET_CHAR_BEFORE_2 for `begline'.
8936
cb9215e4
GM
89372000-04-19 Gerd Moellmann <gerd@gnu.org>
8938
5e3dac3f
GM
8939 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8940 on 64-bit systems where NULL is defined as `0'.
8941
8942 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8943 the `variable argument list' to make it work on Alpha.
8944
cb9215e4
GM
8945 * m/alpha.h (_LP64) [!_LP64]: Define.
8946 (ORDINARY_LINK): Define for NetBSD.
8947
8948 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8949
f532dca0
DL
89502000-04-19 Dave Love <fx@gnu.org>
8951
c750667e
DL
8952 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8953 change.
8954
8955 * Makefile.in (LIBS): Don't use.
8956 (GETLOADAVG_OBJ): Define again.
8957 (otherobj): Add GETLOADAVG_OBJ.
8958
f532dca0
DL
8959 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8960
1c7e22fd
GM
89612000-04-18 Gerd Moellmann <gerd@gnu.org>
8962
f6d3257b
GM
8963 * lread.c (read_filtered_event): Cancel and start busy cursor.
8964
427ec082 8965 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8966 that the per-character metrics may be null.
8967
e10f64e7
GM
89682000-04-17 Gerd Moellmann <gerd@gnu.org>
8969
0daee095
GM
8970 * buffer.c (clone_per_buffer_values): New function.
8971 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8972 clone_per_buffer_values if CLONE is not nil.
8973
e10f64e7
GM
8974 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8975
38687d43
DL
89762000-04-16 Dave Love <fx@gnu.org>
8977
8978 * Makefile.in: Remove obsolete localcpp stuff.
8979 (GETLOADAVG_OBJ): Don't define.
8980 (obj): Move LIBOBJS...
8981 (otherobj): ... to here.
8982 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8983 whitespace-only lines after the continuation (Irix).
8984
c21c7262
GM
89852000-04-14 Gerd Moellmann <gerd@gnu.org>
8986
8987 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8988
8989 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8990
314767c0
DL
89912000-04-14 Dave Love <fx@gnu.org>
8992
8993 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8994 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8995 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8996 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8997 NLIST_STRUCT.
8998
8999 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
9000 autoconfiscated HAVE_GETLOADAVG.
9001
9002 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
9003 BROKEN_MKTIME.
9004
a2522dca
GM
90052000-04-14 Gerd Moellmann <gerd@gnu.org>
9006
9007 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 9008 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 9009
33744b5d
DL
90102000-04-14 Dave Love <fx@gnu.org>
9011
c21c7262 9012 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
9013 (INTERVAL_SRC): Convert to make variable.
9014 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
9015 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
9016 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
9017 add LIBOBJS.
9018 (SOME_MACHINE_OBJECTS): Remove interval stuff.
9019 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
9020 (shortlisp): Add facemenu, float-sup, frame.
9021 (SOME_MACHINE_LISP): Remove them from here.
9022 (LIBES): Change unused LDLIBS to autoconf LIBS.
9023
9024 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
9025
9d3d5916
KH
90262000-04-14 Kenichi Handa <handa@etl.go.jp>
9027
9028 * composite.c (update_compositions): If FROM and TO are not in a
9029 valid range, do nothing.
9030
198e3c7a
GM
90312000-04-13 Gerd Moellmann <gerd@gnu.org>
9032
52283633 9033 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 9034
52283633 9035 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
9036
9037 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
9038 as TERMCAP_OBJ.
9039
055a28c9
EZ
90402000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
9041
9042 * fileio.c (a_write): Remove redundant semi-colons.
9043 (e_write): Return -1 if failed to write all the data.
9044 This fixes the changes made at 1999-12-15.
9045
f5c75033
DL
90462000-04-12 Dave Love <fx@gnu.org>
9047
9048 * fns.c (mapcar1): Test for null vals to support mapc.
9049 (Fmapc): New function.
9050
0c3cfc51
EZ
90512000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
9052
9053 * msdos.c (NUM_MOUSE_BUTTONS): Define.
9054 (IT_frame_up_to_date): Support the buffer local value of
9055 cursor-type, if defined.
9056
33465a31
DL
90572000-04-10 Dave Love <fx@gnu.org>
9058
9059 * editfns.c (preceding-char, following-char): Doc fix.
9060
6ed56568
KR
90612000-04-10 Ken Raeburn <raeburn@gnu.org>
9062
9063 * Makefile.in (temacs): Revert 2000-03-12 change.
9064
7cf80d4e
JR
90652000-04-10 Jason Rumney <jasonr@gnu.org>
9066
9067 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9068
34f3f342
GM
90692000-04-10 Gerd Moellmann <gerd@gnu.org>
9070
1a1b1895
GM
9071 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9072 area buffer, if it's not set up yet.
9073
34f3f342
GM
9074 * indent.c (compute_motion): Set immediate_quit.
9075
be0dbdab
GM
90762000-04-09 Gerd Moellmann <gerd@gnu.org>
9077
52283633 9078 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9079 (realize_tty_face): Suppress boldness if colors are the inverse of
9080 the default colors, and tty_suppress_bold_inverse_default_colors_p
9081 is set.
9082 (Ftty_suppress_bold_inverse_default_colors): New function.
9083 (syms_of_xfaces): Defsubr it.
9084
be0dbdab
GM
9085 * buffer.c (Frestore_buffer_modified_p): New function.
9086 (syms_of_buffer): Defsubr it.
9087
e8413c3b
KR
90882000-04-08 Ken Raeburn <raeburn@gnu.org>
9089
87f67317
KR
9090 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9091 charset id (int) argument, not a charset (Lisp_Object).
9092
e8413c3b
KR
9093 * coding.h (code_convert_string): Declare.
9094 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9095 object, as the fourth argument to code_convert_string.
9096
52283633 9097 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9098 (Fset_fontset_font): Use EQ to compare lisp objects.
9099
7c752c80
KR
91002000-04-05 Ken Raeburn <raeburn@gnu.org>
9101
c0333abc
KR
9102 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9103 a pointer that looks like a lisp object.
9104 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9105 zero, instead see whether it's an integer object, since they can't
9106 have intervals.
9107 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9108
52283633
SM
9109 * dispnew.c (allocate_matrices_for_frame_redisplay)
9110 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9111 to convert between (unsigned) int values and lisp integers.
9112 * keyboard.c (read_key_sequence): Likewise.
9113 * lread.c (substitute_object_recurse): Likewise.
9114 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9115 * minibuf.c (do_completion, Fminibuffer_complete_word)
9116 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9117 * term.c (produce_special_glyphs): Likewise.
9118
9119 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9120 * print.c (print_preprocess, print_object): Likewise.
9121
9122 * search.c (compile_pattern): Use NILP when checking for nil.
9123
74e49b38
KR
9124 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9125 __OPTIMIZE__]: Provide a GNU C macro version that handles
9126 lisp-object unions.
9127 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9128 field, to better cope with ENABLE_CHECKING and calls that modify a
9129 Lisp_Object using its old value.
9130
685e5ed2
GM
91312000-04-04 Gerd Moellmann <gerd@gnu.org>
9132
c407c570
GM
9133 * window.c (compare_window_configurations): Signal an error
9134 if parameters C1 or C2 aren't window configurations.
9135
685e5ed2
GM
9136 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9137 AFTER_POTENTIAL_GC calls around calls to functions that can
9138 signal an error and thus invoke the debugger.
9139
587a49ab
GM
91402000-04-03 Gerd Moellmann <gerd@gnu.org>
9141
62f20204
GM
9142 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9143 an error if decoding fails.
9144
587a49ab
GM
9145 * keyboard.c (lispy_mouse_names): Variable removed.
9146 (Vlispy_mouse_stem): New variable.
9147 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9148 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9149 for any mouse button number. Increase size of mouse_syms and
9150 button_down_location as needed. Call modify_event_symbol with
9151 different arguments.
9152 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9153 Call modify_event_symbol with different arguments.
9154 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9155 for any button number. Call modify_event_symbol with different
9156 arguments.
9157 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9158 Accept a string for NAME_ALIST_OR_STEM.
9159
9160 * lisp.h (larger_vector): Add prototype.
9161
9162 * fns.c (larger_vector): Make externally visible.
9163
9164 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9165
2d1675e4
SM
91662000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9167
9168 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9169 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9170 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9171 we are between str1 and str2.
9172 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9173 (PATFETCH): Use `TRANSLATE'.
9174 (PATFETCH_RAW): Fetch multibyte char if applicable.
9175 (PATUNFETCH): Remove.
9176 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9177 When writing a char, write it directly into the pattern buffer rather
9178 than going needlessly through a temp char-array.
9179 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9180 multibyte magic and remove the useless `#ifdef emacs'.
9181 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9182 buffer.
9183
9184 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9185 conditional on `emacs'.
9186
9187 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9188
cc2d8c6b
KR
91892000-04-01 Ken Raeburn <raeburn@gnu.org>
9190
9191 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9192 non-union-type versions of XMARK and friends here, because XMARK
9193 and friends won't work on an integer field if NO_UNION_TYPE is not
9194 defined.
52283633 9195 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9196
52283633 9197 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9198 (syms_of_composite): Delete local var NARGS, pass an int as first
9199 argument to Fmake_hash_table.
9200
2387b382
KR
9201 * editfns.c (text_property_stickiness): Use NILP to test
9202 Lisp_Object boolean value.
9203 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9204 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9205 problems reading from and changing the same lisp value in an
9206 XSETSTRING call.
9207
27660e89
GM
92082000-04-01 Gerd Moellmann <gerd@gnu.org>
9209
9210 * term.c (TN_no_color_video): New variable.
9211 (term_init): Intitialize TN_no_color_video.
9212 (enum no_color_bit): New enumeration.
9213 (MAY_USE_WITH_COLORS_P): New macro.
9214 (turn_on_face): Use it to determine if attributes may be used
9215 combined with colors.
9216
3578db3c
KR
92172000-04-01 Ken Raeburn <raeburn@gnu.org>
9218
9219 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9220 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9221 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9222 proper accessor macros.
9223 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9224 (grow_mini_window): Fix typo getting int value of root->height.
9225
6fc556fd
KR
9226 * xdisp.c (compute_string_pos): Fix order of arguments to
9227 string_pos_nchars_ahead.
9228 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9229 count arg to variable-arg routines like Frun_hook_with_args and
9230 Fformat.
587a49ab
GM
9231 (back_to_previous_visible_line_start)
9232 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9233 fixed-arg routines like Fget_char_property and Fmake_string.
9234 (reconsider_clip_changes): Use XINT when comparing integer lisp
9235 objects, or passing them as int arguments.
587a49ab
GM
9236 (mark_window_display_accurate, insert_left_trunc_glyphs)
9237 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9238 storing or passing integer values as lisp objects.
9239 (set_cursor_from_row, highlight_trailing_whitespace): Use
9240 INTEGERP, not implicit test against zero, for glyph object.
9241 (try_window_id): Don't use make_number when we want an int value.
9242
9243 * xfaces.c (xlfd_symbolic_value): Make last argument a
9244 Lisp_Object, to be consistent with callers.
9245 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9246 (lface_hash): Apply XFASTINT to lisp values before folding in.
9247
9248 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9249 fill in window width and height. Pass an int, not a lisp object,
9250 as first arg to Finsert.
9251
6e7b2457
GM
92522000-04-01 Gerd Moellmann <gerd@gnu.org>
9253
610d841e
GM
9254 * xfaces.c (realize_basic_faces): Block input while realizing
9255 the faces.
9256
6e7b2457
GM
9257 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9258
9259 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9260
aa110c0c
GM
92612000-03-31 Gerd Moellmann <gerd@gnu.org>
9262
9263 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9264 or ASCII, handle case that per-char metric is null.
aa110c0c 9265
8801a864
KR
92662000-03-30 Ken Raeburn <raeburn@gnu.org>
9267
c6129d7e
KR
9268 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9269
52283633
SM
9270 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9271 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9272 pointer, using eassert.
9273 * frame.h (XFRAME): Likewise.
9274
52283633
SM
9275 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9276 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9277 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9278 * data.c (set_internal): Likewise.
52283633
SM
9279 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9280 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9281 * fileio.c (auto_save_1): Likewise.
9282 * insdel.c (check_markers): Likewise.
9283 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9284 * undo.c (record_insert): Likewise.
9285 * vmsproc.c (child_sig): Likewise.
9286 * window.c (unshow_buffer, window_loop): Likewise.
9287 * xterm.c (x_erase_phys_cursor): Likewise.
9288
8e7af858
GM
92892000-03-30 Gerd Moellmann <gerd@gnu.org>
9290
9291 * xfns.c (free_image_cache): Free the cache structure itself
9292 last, after all its members have been freed.
9293
9294 * lisp.h (xstrdup): Add prototype.
9295
9296 * alloc.c (xstrdup): Moved here from xfaces.c.
9297 (allocating_for_lisp): Variable removed.
52283633 9298 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9299
9300 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9301 of Fsymbol_value.
9302 (xstrdup): Moved to alloc.c.
9303
e0b8c689
KR
93042000-03-29 Ken Raeburn <raeburn@gnu.org>
9305
b96f9fb7
KR
9306 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9307
9308 * emacs.c (main): Fix sense of no-loadup test.
9309
e0b8c689
KR
9310 * config.in (ENABLE_CHECKING): Undef.
9311
9312 * lisp.h (struct interval): Replace "parent" field with a union of
9313 interval pointer and Lisp_Object; add new bitfield to use as
9314 discriminant. Change other flag fields to bitfields.
9315 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9316 is defined and the supplied test fails, print a message and abort.
9317 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9318
9319 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9320 pointers; abort if the value looks like a lisp object.
52283633
SM
9321 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9322 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9323 Modify for new interval parent definition.
9324
52283633
SM
9325 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9326 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9327 addressable lisp object in the interval structure.
9328 (die): New function.
9329 (suppress_checking): New variable.
9330
9331 * intervals.c (interval_start_pos): Just return 0 if there's no
9332 parent object.
9333
f83c5440
GM
93342000-03-29 Gerd Moellmann <gerd@gnu.org>
9335
9336 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9337 and earlier Emacs versions.
9338
9339 * keyboard.c (Ftop_level): Cancel busy-cursor.
9340
9341 * eval.c (call_debugger): Cancel busy-cursor.
9342
fdce64ff
KH
93432000-03-29 Kenichi Handa <handa@etl.go.jp>
9344
9345 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9346 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9347
f6a3f532
SM
93482000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9349
9350 * regex.c (analyse_first): New function obtained by ripping out most
9351 of re_compile_fastmap and generalizing it a little bit so that it
9352 can also just return whether a given (sub)pattern can match the empty
9353 string or not.
9354 (regex_compile): Use `analyse_first' to decide whether the loop-check
9355 needs to be done or not for *, +, *? and +? (the loop check is costly
9356 for non-greedy repetition).
9357 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9358
e9b309ac
DL
93592000-03-28 Dave Love <fx@gnu.org>
9360
52283633 9361 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9362
e9b309ac
DL
9363 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9364
ed0767d8
SM
93652000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9366
9367 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9368 an expression.
9369 (enum re_opcode_t): Update description of succeed_n.
9370 (PATFETCH): Always define.
9371 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9372 operators, char classes, shy-groups and intervals).
9373 Optimize special cases of intervals so as to only use succeed_n and
9374 jump_n when really needed.
9375 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9376 that we don't have to handle the special cases any more.
9377 Simplify on_failure_jump handling as well.
9378
e11e7e46
JR
93792000-03-28 Jason Rumney <jasonr@gnu.org>
9380
9381 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9382
88faab89
GM
93832000-03-27 Gerd Moellmann <gerd@gnu.org>
9384
182ff242
GM
9385 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9386
9387 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9388
182ff242
GM
9389 * alloc.c (mark_maybe_object): New function.
9390 (mark_memory): Use it.
9391 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9392 (setjmp_tested_p, longjmp_done): New variables.
9393 (test_setjmp): New function.
9394 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9395 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9396
c1005d06
GM
9397 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9398 to DEC_TEXT_POS and INC_TEXT_POS.
9399
9400 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9401 with parameter MULTIBYTE_P.
9402
52283633 9403 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9404
7439e5b9 9405 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9406 buffers because it looks for multibyte character byte sequences
9407 which don't exist in unibyte text.
7439e5b9 9408
d9c545da
GM
9409 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9410
11fd416e 9411 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9412 [DEBUG_X_COLORS]: New functions.
9413 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9414
9415 * xfns.c (x_set_cursor_color): Get color reference counts right.
9416
9417 * xterm.c (x_copy_color): New function.
9418 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9419
9420 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9421 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9422 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9423 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9424 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9425 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9426 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9427 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9428 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9429 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9430
11fd416e
GM
9431 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9432 names for handling per-buffer variables.
d9c545da
GM
9433
9434 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9435 instead of MAX_BUFFER_LOCAL_VARS.
9436 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9437
9438 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9439
88faab89
GM
9440 * xfns.c (x_specified_cursor_type): New function.
9441 (x_set_cursor_type): Use it.
9442
9443 * buffer.h (struct buffer): Add cursor_type.
9444
d80f42b7
SM
94452000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9446
9447 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9448 (print_partial_compiled_pattern, re_compile_fastmap):
9449 Handle new opcode.
d80f42b7
SM
9450 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9451 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9452 executing it as well as when popping it off the stack to find infinite
9453 loops in non-greedy repetition operators.
9454
89e80928
GM
94552000-03-26 Gerd Moellmann <gerd@gnu.org>
9456
3d4ff2dd
GM
9457 * doc.c (Qfunction_documentation): New variable.
9458 (syms_of_doc): Initialize Qfunction_documentation.
9459 (Fdocumentation): If FUNCTION is a symbol with non-nil
9460 `function-documentation' property, return a documentation derived
9461 from that.
9462
bd96bd79
GM
9463 * buffer.c (syms_of_buffer): Add default-cursor-type.
9464 (init_buffer_once): Don't let cursor_type have a local value
9465 in every buffer.
9466
19d1bc27
GM
9467 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9468 on buffer-local value of cursor_type.
9469 (x_draw_bar_cursor): Add parameter WIDTH.
9470
9471 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9472 (init_buffer_once): Set default cursor_type value to t.
9473 Mark cursor_type as local everywhere.
9474 (syms_of_buffer): New per-buffer variable cursor-type.
9475
89e80928
GM
9476 * buffer.h (struct buffer): Remove member local_var_flags,
9477 add local_flags.
9478 (MAX_BUFFER_LOCAL_VARS): New macro.
9479 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9480 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9481 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9482 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9483
52283633 9484 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9485
9486 * category.c (Fset_category_table): Use new macros for per-buffer
9487 variables.
9488
9489 * buffer.c (buffer_permanent_local_flags): Make a char array.
9490 (max_buffer_local_idx): New variable.
9491 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9492 for new handling of per-buffer variables.
9493 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9494 (init_buffer_once): Initialize per-buffer vars differently.
9495 Set max_buffer_local_idx.
9496
9497 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9498 variables.
9499
52283633 9500 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9501
9502 * data.c (do_symval_forwarding, store_symval_forwarding)
9503 (find_symbol_value, set_internal, default_value, Fset_default)
9504 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9505 per-buffer variables.
9506
9507 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9508
9a0dd3dc
GM
95092000-03-24 Gerd Moellmann <gerd@gnu.org>
9510
b68c375f
GM
9511 * xterm.c (x_term_init): Unblock input around call1 of
9512 Qvendor_specific_keysyms.
9513
9a0dd3dc
GM
9514 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9515 (find_defun_start): Consider an open parenthesis in column 0
9516 a defun start only if open_paren_in_column_0_is_defun_start is set.
9517 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9518
7973e637
SM
95192000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9520
9521 * eval.c (Fautoload): Add entry in load-history (if after dump).
9522 * lread.c (load-history): Update docstring.
9523
39210e90
GM
95242000-03-24 Gerd Moellmann <gerd@gnu.org>
9525
9526 * indent.c (Fvertical_motion): Always use the current buffer.
9527 Temporarily change the window's buffer, if necessary.
9528
72db3ab5
GM
95292000-03-23 Gerd Moellmann <gerd@gnu.org>
9530
9531 * xterm.c (fast_find_position): Make sure not to consider rows
9532 not visible in the window.
9533
990b2375
SM
95342000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9535
9536 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9537 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9538
ff4df011
JR
95392000-03-22 Jason Rumney <jasonr@gnu.org>
9540
9541 * w32menu.c (single_submenu): Set help string to NULL if none.
9542 (w32_menu_show): Set help string correctly.
9543 (add-menu-item): Set help string in MIIM_DATA for menu item.
9544 Load SetMenuItemInfoA explicitly.
9545 (w32_menu_display_help): New function.
427ec082 9546
ff4df011
JR
9547 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9548 (QCdata): Moved to xdisp.c.
9549
9550 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9551 (Vw32_charset_to_codepage_alist): Removed.
9552 (Vw32_charset_info_alist): New variable.
52283633
SM
9553 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9554 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9555 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9556 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9557 with TODO comment.
9558 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9559 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9560 Define Vw32_charset_info_alist and w32_charset symbols.
9561
95622000-03-22 Jason Rumney <jasonr@gnu.org>
9563
9564 * makefile.nt (w32bdf.obj): Update dependencies.
9565
9566 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9567
9568 * w32fns.c: Include fontset.h after dispextern.h.
9569 (Fx_create_frame): Do not create fontset.
9570 (w32_load_system_font): Doc fix.
9571 (Fx_close_connection): Free full_name if it is not shared.
9572
9573 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9574 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9575 Callers updated.
ff4df011
JR
9576 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9577 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9578 (w32_font_is_double_byte): New function, needs body.
9579 (x_append_glyph): Set glyph->glyph_not_available_p.
9580 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9581 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9582 character, convert it to a unibyte character.
9583 (struct glyph_string): Delete member `charset'.
9584 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9585 calculating it is found.
9586 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9587 the case that per char metric is not available correctly.
9588 (x_fill_glyph_string): Handle the case that the specific glyph is
9589 not available correctly.
9590 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9591 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9592 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9593 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9594 fontset. Don't call FS_LOAD_FONT.
9595
439d5cb4
KR
95962000-03-22 Ken Raeburn <raeburn@gnu.org>
9597
9598 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9599 (INT_LISPLIKE): New macro.
9600 (NULL_INTERVAL_P): Use it.
52283633
SM
9601 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9602 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9603 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9604
9605 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9606 explicit references to "parent" field of struct interval and
9607 associated unclean type conversions.
52283633
SM
9608 * intervals.c (create_root_interval, root_interval, rotate_right)
9609 (rotate_left, balance_possible_root_interval, split_interval_right)
9610 (split_interval_left, interval_start_pos, find_interval)
9611 (next_interval, previous_interval, update_interval)
9612 (adjust_intervals_for_insertion, delete_node, delete_interval)
9613 (adjust_intervals_for_deletion, merge_interval_right)
9614 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9615 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9616 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9617 Likewise.
9618 * syntax.c (update_syntax_table): Likewise.
9619
9620 * intervals.c (reproduce_tree_obj): New function, like
9621 reproduce_tree but takes a Lisp_Object for the parent. Declare
9622 with prototype.
9623 (graft_intervals_into_buffer): Use it when appropriate.
9624 (reproduce_tree): Declare with prototype.
9625 (balance_possible_root_interval): Check that the parent is a lisp
9626 object before trying to examine its type.
9627
ee1c5b21
GM
96282000-03-22 Gerd Moellmann <gerd@gnu.org>
9629
9630 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9631 as strings only if both are known to be strings.
9632
9633 * s/openbsd.h (LIBS_TERMCAP): Undef.
9634
1fb352e0
SM
96352000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9636
9637 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9638 definitions for non-Emacs compilation.
9639 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9640 outside of `#ifdef emacs'.
9641 (print_partial_compiled_pattern): Update.
9642 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9643 (re_compile_fastmap): Merge handling of charset and charset_not (for
9644 emacs and non-emacs compilation as well).
9645 Similarly for (not)categoryspec and (not)syntaxspec.
9646 Don't use the fastmap when reaching `anychar' since the added
9647 complexity is not justified.
9648 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9649 and (not)syntaxspec. Merge (not)categoryspec.
9650
fdaa1f77
KH
96512000-03-22 Kenichi Handa <handa@etl.go.jp>
9652
52283633
SM
9653 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9654 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9655 --without-x.
fdaa1f77 9656
d152fb46
DL
96572000-03-21 Dave Love <fx@gnu.org>
9658
9659 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9660 doc string.
9661
d2cafc8c
GM
96622000-03-21 Gerd Moellmann <gerd@gnu.org>
9663
9664 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9665 (lface_fully_specified_p): Don't check contents of
9666 LFACE_FONT_INDEX because that attribute is optional.
9667 (realize_x_face): Remove now unwarranted xassert.
9668
9111d4b5
KH
96692000-03-21 Kenichi HANDA <handa@etl.go.jp>
9670
9671 The following changes are to make font selection based on
9672 characters, not charset. In addition, they recover fontset
9673 facilities while utilizing the new font selection mechanism.
9674
6c4bfdc0
KH
9675 * Makefile.in (fontset.o): Depend on dispextern.h.
9676
9677 * alloc.c (mark_face_cache): Don't mark face->registry.
9678
9111d4b5
KH
9679 * dispextern.h (struct glyph): New member glyph_not_available_p.
9680 Use 22 bits for face_id.
9681 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9682 (struct face): Delete member registry, new member ascii_face.
9683 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9684 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9685 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9686 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9687
9688 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9689 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9690 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9691 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9692 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9693 (fs_free_face_fontset, fontset_font_pattern)
9694 (face_suitable_for_char_p, face_for_char)
9695 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9696 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9697 (FS_LOAD_FACE_FONT): New macro.
9698
9699 * fontset.c: All codes rewritten or adjusted for the change of
9700 fontset implementation. Now fontset is represented by char table.
52283633
SM
9701 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9702 Variables removed.
9111d4b5 9703 (my_strcasecmp): Function removed.
52283633 9704 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9705 (AREF, ASIZE): New macros.
52283633
SM
9706 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9707 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9708 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9709 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9710 (fontset_id_valid_p, font_family_registry, fontset_name)
9711 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9712 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9713 New functions.
9714 (fs_load_font): New arg FACE. Caller changed.
9715 (fs_query_fontset): Argument changed. Caller changed.
9716 (Fquery_fontset): call fs_query_fontset.
9717 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9718 Functions removed.
52283633
SM
9719 (clear_fontset_elements, check_registry_encoding)
9720 (check_fontset_name): New functions.
9111d4b5
KH
9721 (syms_of_fontset): Set char-table-extra-slots property of fontset
9722 to 3. Staticpro and initialize Vfontset_table and
9723 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9724
9725 * frame.h (struct frame): Member `fontset_data' removed.
9726 (FRAME_FONTSET_DATA): Macro removed.
9727
9728 * frame.c (make_frame): Don't allocate f->fontset_data.
9729 (Fdelete_frame): Don't free f->fontset_data.
9730
6c4bfdc0
KH
9731 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9732
9111d4b5
KH
9733 * xdisp.c (charset_at_position): Function removed.
9734 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9735 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9736 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9737 Likewise.
9738 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9739 FACE_FOR_CHARSET.
52283633
SM
9740 (get_next_display_element, append_space)
9741 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9742
9743 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9744 Variables removed.
9745 (clear_font_table, frame_update_line_height, load_face_font):
9746 Adjusted for the change of fontset implementation.
9747 (load_face_fontset_font): Function removed.
9748 (pixel_point_size): New function.
9749 (font_list): Argument type changed. Caller changed.
9750 (LFACE_FONT): New macro.
9751 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9752 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9753 Lisp_Object. Determine the font name by actually loading a font
9754 by the specified pattern. Set LFACE_FONT (lface) to the specified
9755 pattern. Even if a font is not found, don't try alternatives.
9756 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9757 (set_font_frame_param): If `font' is specified in lface, use it.
9758 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9759 (lface_same_font_attributes_p): Likewise.
9760 (make_realized_face): Arguent changed. Caller changed. Set
9761 face->ascii_face to face itself.
9762 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9763 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9764 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9765 (free_realized_multibyte_face): New function.
9766 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9767 changed. Caller changed.
9768 (try_font_list): Argument type changed.
9769 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9770 (choose_face_font): Argument changed. Handle fontset properly.
9771 (choose_face_fontset_font): Function removed.
9772 (realize_default_face, realize_named_face): Don't remove the
9773 former face here.
9774 (realize_face): Argument changed. Caller changed. Remove face
52283633 9775 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9776 (realize_x_face): Argument changed. Caller changed. For a
9777 multibyte character, share fontset with base_face. For a single
52283633 9778 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9779 (realize_tty_face): Argument changed. Caller changed.
9780 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9781 (face_at_buffer_position): Don't check multibyte_p for returning
9782 DEFAULT_FACE_ID.
9783 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9784 FACE_SUITABLE_FOR_CHARSET_P.
9785 (syms_of_xfaces): Remove code for Qx_charset_registry and
9786 Vface_default_registry.
9787
6c4bfdc0
KH
9788 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9789 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9790 (x_per_char_metric): Don't try FONT->default_char. Even if
9791 pcm->width is zero, glyph bits may exist.
9792 (x_encode_char): Always initialize char2b->byte1.
9793 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9794 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9795 (x_append_glyph): Set glyph->glyph_not_available_p.
9796 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9797 it->charset. Handle the case that per char metric is not
9798 available. If it->multibyte_p is zero and it->c is a multibyte
9799 character, convert it to a unibyte character.
9800 (struct glyph_string): Delete member `charset'.
9801 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9802 the case that per char metric is not available correctly.
9803 (x_fill_glyph_string): Handle the case that the specific glyph is
9804 not available correctly.
9805 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9806 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9807 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9808 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9809 fontset. Don't call FS_LOAD_FONT.
9810
9811 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9812 (x_create_tip_frame): Likewise.
9813 (Fx_close_connection): Free full_name of font_info.
9814
9815 * fns.c (optimize_sub_char_table): New function.
9816 (Foptimize_char_table): New function.
9817 (syms_of_fns): Defsubr Soptimize_char_table.
9818
b33dd3b0
GM
98192000-03-20 Gerd Moellmann <gerd@gnu.org>
9820
9821 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9822 only if buffer is displayed in some window.
9823
9824 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9825 (try_window_reusing_current_matrix): Don't call scroll run
9826 function if run's current and desired position are the same;
9827 this prevents cursor flickering.
9828
4e8a9132
SM
98292000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9830
9831 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9832
9833 * regex.c (RE_STRING_CHAR): New macro.
9834 (GET_CHAR_AFER_2): Remove.
9835 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9836 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9837 (print_partial_compiled_pattern, re_compile_fastmap)
9838 (re_match_2_internal): Remove on_failure_jump_exclusive.
9839 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9840 optimization only need to work for * (ie. can use of_keep_string_jump).
9841 Remove the special case for .*\n since it is now covered by the general
9842 optimization.
9843 (re_search_2): Don't bother with `room'.
9844 (skip_one_char): New function.
9845 (skip_noops): Simplify since `memory' is not needed any more.
9846 (mutually_exclusive_p): Restructure slightly to use `switch' and
9847 add handling for "all" remaining cases.
9848 (re_match_2_internal): Change on_failure_jump_smart to use
9849 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9850 rather than on_failure_jump_exclusive.
9851
2136fdd4
GM
98522000-03-19 Gerd Moellmann <gerd@gnu.org>
9853
9854 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9855 number of bits per RGB because it's everywhere used as the depth
9856 of the visual.
9857
9858 * term.c (calculate_costs): Remove code dealing with X frames.
9859
18e21ce8 98602000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9861
9862 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9863
d7b511c4
GM
98642000-03-18 Gerd Moellmann <gerd@gnu.org>
9865
9866 * lread.c (read_integer): Unread the last char not consumed.
9867
16b5d424
GM
98682000-03-17 Gerd Moellmann <gerd@gnu.org>
9869
9870 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9871 which are in the process of being deleted.
16b5d424 9872
1fa28578
GM
98732000-03-16 Gerd Moellmann <gerd@gnu.org>
9874
83488cce
GM
9875 * Makefile.in (mostlyclean): Add `*.core'.
9876 (clean): Add `bootstrap-emacs'.
9877
1fa28578
GM
9878 * lread.c (read_integer): New function.
9879 (read1): Support read syntax #o, #x, #b, #r.
9880
99633e97
SM
98812000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9882
1fa28578
GM
9883 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9884 make sure POINTER_TO_OFFSET gives the same value before and after
9885 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9886 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9887 (debug): Now only active if > 0 rather than if != 0.
9888 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9889 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9890 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9891 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9892 (store_op1, store_op2, insert_op1, insert_op2)
9893 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9894 (group_in_compile_stack): Move to after its arg's types are
9895 declared and add a prototype.
99633e97 9896 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9897 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9898 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9899 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9900 indentation of the greedy-op and shy-group code.
99633e97
SM
9901 (at_(beg|end)line_loc_p): Fix argument's types.
9902 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9903 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9904 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9905 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9906 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9907 QUIT unconditionally.
99633e97 9908
699238d9
GM
99092000-03-15 Gerd Moellmann <gerd@gnu.org>
9910
9911 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9912 a sole completion.
9913
9914 * process.c (send_process): Add a hint that the function
9915 can call Lisp code to its comment.
9916
9917 * lread.c (load_dangerous_libraries): New variable.
9918 (Vbytecomp_version_regexp): New variable.
9919 (safe_to_load_p): New function.
9920 (Fload): Handle files not compiled with Emacs specially.
9921 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9922
34e23e5a
GM
99232000-03-14 Gerd Moellmann <gerd@gnu.org>
9924
9c763cca
GM
9925 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9926
9927 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9928 support functions only if HAVE_X11R6_XIM is defined.
9929 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9930
9931 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9932
9933 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9934 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9935 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9936
9937 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9938 (HAVE_X11R6_XIM): Define.
9939
9940 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9941
34e23e5a
GM
9942 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9943 If set, call XSynchronize.
9944
66f0296e
SM
99452000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9946
34e23e5a
GM
9947 * regex.c: Declare a new type `re_char' used throughout the code
9948 for the string char type. It's `const unsigned char' to match the
9949 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9950 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9951 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9952 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9953 code duplication.
66f0296e
SM
9954
9955 * charset.h (GET_CHAR_AFTER_2): Remove.
9956 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9957
854a025c
KR
99582000-03-12 Ken Raeburn <raeburn@gnu.org>
9959
9960 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9961 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9962 of them try to use backquotes.
9963
b9d2c7e2
DL
99642000-03-12 Dave Love <fx@gnu.org>
9965
9966 * unexelf.c: Restore changes of 1999-10-19.
9967 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9968 fix its type and alignment; copy it from current process.
9969
5e5dff44
GM
99702000-03-12 Gerd Moellmann <gerd@gnu.org>
9971
9b2f3c38
GM
9972 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9973 has been found. Fix bug not computing timer's predecessor.
9974
427ec082 9975 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9976 file name.
9977
e1cff360
GM
9978 * window.c (Fsave_window_excursion): Doc fix.
9979
52283633 9980 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9981
e411ce4b
EZ
99822000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9983
9984 * msdos.c (vga_installed): New function, code moved from
9985 dos_set_window_size.
9986 (Qbar, Qcursor_type, outside_cursor): New variables.
9987 (syms_of_msdos): Intern and staticpro them.
9988 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9989 shape used outside Emacs when called for the first time.
9990 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9991 cursor shape used outside Emacs.
9992 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9993 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9994 type has changed.
9995 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9996 parameters specify the cursor. Make qreverse a global
9997 variable (renamed to Qreverse).
9998
80460654
GM
99992000-03-09 Gerd Moellmann <gerd@gnu.org>
10000
10001 * fns.c (Fy_or_n_p): Cancel busy-cursor.
10002
95cd4c40
SM
100032000-03-08 Stefan Monnier <monnier@cs.yale.edu>
10004
10005 This is a big redesign of failure-stack and register handling, prompted
10006 by bugs revealed when trying to add shy-groups. Overall, what happened
10007 is that loops are now structured a little differently, groups can be
10008 shy and the code is a little simpler.
10009
10010 * regex.h: Update the copyright.
10011 (RE_SHY_GROUPS): New value.
10012 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
10013 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
10014
80460654
GM
10015 * regex.c (enum re_opcode_t): Remove jump_past_alt,
10016 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
10017 on_failure_jump_(exclusive, loop and smart). Also fix the comment
10018 for (start|stop)_memory since they now only take one argument (the
10019 second has becomes unnecessary).
52283633 10020 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
10021 (print_compiled_pattern): Use %ld to printf long ints and flush to
10022 make debugging a little easier.
95cd4c40
SM
10023 (union fail_stack_elt): Make the integer unsigned.
10024 (struct fail_stack_type): Add a `frame' element.
10025 (INIT_FAIL_STACK): Init `frame' as well.
10026 (POP_PATTERN_OP): New macro for re_compile_fastmap.
10027 (DEBUG_PUSH, DEBUG_POP): Remove.
10028 (NUM_REG_ITEMS): Remove.
10029 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
10030 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
10031 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 10032 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
10033 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
10034 New macros.
80460654
GM
10035 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
10036 address pushed is not the destination of the jump but the source
10037 of it instead.
95cd4c40
SM
10038 (NUM_FAILURE_ITEMS): Remove.
10039 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
10040 registers before the actual failure point). Don't hardcode any
10041 meaning for str==NULL anymore.
95cd4c40 10042 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
10043 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
10044 Remove.
95cd4c40
SM
10045 (REG_UNSET_VALUE): Use NULL (why not?).
10046 (compile_range): Remove declaration since it doesn't exist.
10047 (struct compile_stack_elt_t): Remove inner_group_offset.
10048 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
10049 (regex_grow_registers): Remove dead code.
10050 (FIXUP_ALT_JUMP): New macro.
80460654
GM
10051 (regex_compile): Add shy-groups Change loops to use
10052 on_failure_jump_smart&jump instead of
10053 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
10054 initial (dummy_failure_)jump. Remove c1_base (looks like unused
10055 variable to me). Use `jump' instead of `jump_past_alt' and don't
10056 bother with push_dummy_failure in alternatives since it is now
10057 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10058 emacs' for (re)allocating the stack.
10059 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10060 from loop when bufp->can_be_null rather than jumping to `done'.
10061 Avoid jumping backwards so as to ensure termination. Use
10062 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10063 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10064 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10065 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10066 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10067 (lowest_active_reg, highest_active_reg)
10068 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10069 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10070 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10071 variables. Push register (in `start_memory') on the stack rather
10072 than storing it in old_reg(start|end). Remove the cycle detection
10073 from `stop_memory', replaced by the use of on_failure_jump_loop
10074 for greedy loops. Add code for the new on_failure_jump_<foo>.
10075 Remove ad-hoc code in `on_failure_jump' to push more registers in
10076 the case of a loop. Take out code from `maybe_pop_jump' into
10077 separate functions and adapt it to the semantics of
10078 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10079 and push_dummy_failure. Remove dummy_failure handling and
10080 handling of `failures to jump to on_failure_jump' (this last one
10081 was already dead code, it seems).
10082 (group_match_null_string_p, alt_match_null_string_p)
10083 (common_op_match_null_string_p): Remove.
95cd4c40 10084
7397acc4
DL
100852000-03-08 Dave Love <fx@gnu.org>
10086
10087 * config.in: Don't depend on __STDC__ for volatile.
10088 Add POINTER_TYPE, PTR, PROTOTYPES.
10089
10090 * hftctl.c, strftime.c: Use PROTOTYPES.
10091 * eval.c (find_handler_clause): Likewise.
10092
10093 * mem-limits.h: Use POINTER_TYPE.
10094
10095 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10096 (memory_warnings): Declare using POINTER_TYPE.
10097
5e91ff9e
GM
100982000-03-08 Gerd Moellmann <gerd@gnu.org>
10099
feab4fba
GM
10100 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10101
52283633 10102 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10103
5e91ff9e
GM
10104 * xfns.c: Remove obsolete code in #if 0.
10105 (Fx_focus_frame): New function.
10106
a735b7e1
KH
101072000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10108
10109 * coding.c (coding_category_name): Add coding-category-utf-8,
10110 coding-category-utf-16-be, coding-category-utf-16-le.
10111 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10112 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10113 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10114 (detect_coding_utf_8): New function.
10115 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10116 UTF_16_LOW_SURROGATE_P): New macros.
10117 (detect_coding_utf_16): New function
10118 (detect_coding_mask): When priorities are specified, skip any
10119 categories that have `nil' coding-system. Fix bug of returning
10120 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10121 returns a mask not set in PRIORITIES.
10122 (detect_eol_type_in_2_octet_form): New function.
10123 (detect_eol): selects detect_eol_type_XXX to call according to
10124 cooding->category_idx.
10125 (detect_coding_system): Remove `nil' coding-system in the result.
10126 (Fupdate_coding_systems_internal): Update all coding-categories.
10127
52283633
SM
10128 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10129 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10130 New macros.
10131 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10132 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10133 (CODING_CATEGORY_IDX_UTF_16_LE)
10134 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10135 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10136 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10137 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10138
9994cc69
GM
101392000-03-07 Gerd Moellmann <gerd@gnu.org>
10140
e9b4e5ff
GM
10141 * doc.c (Fdocumentation_property): If value is not a string,
10142 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10143
f7daf1e1
GM
10144 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10145 close the display with XtCloseDisplay. This caused a bus error
10146 on OpenWindows.
10147
9994cc69
GM
10148 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10149 complete but not unique.
10150
4336c705
GM
101512000-03-06 Gerd Moellmann <gerd@gnu.org>
10152
18bb0684
GM
10153 * process.c (send_process): Remove local variable `procname' that
10154 might become invalid when a GC happens. Instead, access the
10155 process name slot directly.
10156
4336c705
GM
10157 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10158 orig_height if set.
10159
10160 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10161 orig_height if set.
10162
515d0d0e
EZ
101632000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10164
10165 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10166 glyph matrices have been freed.
10167
100b3cbb
GM
101682000-03-05 Gerd Moellmann <gerd@gnu.org>
10169
50df5e5a 10170 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10171 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10172
10173 * xfns.c (QCdata): Moved to xdisp.c.
10174
10175 * xdisp.c (QCdata): Moved here from xfns.c.
10176 (syms_of_xdisp): Initialize QCdata.
10177
10178 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10179
10180 * window.c (coordinates_in_window): Use
10181 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10182 FRAME_INTERNAL_BORDER_WIDTH.
10183
100b3cbb 10184 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10185 it is obviously invalid.
100b3cbb
GM
10186
10187 * xterm.c (x_term_init): Create a colormap if not using the
10188 default visual.
10189
10190 * xterm.h (select_visual): Change prototype.
10191
10192 * xfns.c (select_visual): Rewritten. Recognize user-specified
10193 visual classes.
10194 (visual_classes): New variable.
10195
64d739c4
GM
101962000-03-04 Gerd Moellmann <gerd@gnu.org>
10197
10198 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10199 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10200 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10201 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10202 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10203 XtNcolormap resources.
10204 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10205 (Fx_create_frame): Initialize color members of x_output structure.
10206 (xpm_load): Pass colormap to XPM lib.
10207
10208 * xfaces.c (x_free_colors): Access colormap of frame using
10209 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10210 when default colormap is used.
10211
10212 * xterm.c (x_term_init): Set Colormap member of x_display_info
10213 structure. Copy colormap if resource `privateColormap' is
10214 specified (PseudoColor only).
10215 (x_setup_relief_color): Access colormap of frame using
10216 FRAME_X_COLORMAP.
10217
10218 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10219 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10220
c3cee013
JR
102212000-03-04 Jason Rumney <jasonr@gnu.org>
10222
10223 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10224 other non-platform-specific equivalents.
64d739c4 10225 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10226 specific functions and macros as their w32 equivalents where
10227 non-platform-specifics are not available.
10228 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10229 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10230 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10231 (frame_update_line_height): Use macros to access f->output_data.
10232 (defined_color): Remove FIXME comments; fixed.
10233 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10234 into #ifdef blocks. Add WINDOWSNT blocks.
10235 (Fx_list_fonts): Use macros for accessing font data.
10236 (set_lface_from_font_name): Different default fonts for X and
10237 WINDOWSNT.
10238 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10239 scalable for backward compatibility.
64d739c4 10240 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10241 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10242
64d739c4 10243 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10244 syms_of_w32faces.
10245
10246 * makefile.nt (w32faces.obj): Remove.
10247 (xfaces.obj): Add.
10248
807cc41c
JR
102492000-03-03 Jason Rumney <jasonr@gnu.org>
10250
10251 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10252 correct parameters.
10253
0007072a
KR
102542000-03-03 Ken Raeburn <raeburn@gnu.org>
10255
10256 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10257 standard ELF definitions here if the system header does not.
10258
71a6ba55
GM
102592000-03-03 Gerd Moellmann <gerd@gnu.org>
10260
10261 * xterm.c (PER_CHAR_METRIC): Removed.
10262 (x_per_char_metric_1, x_default_char): New functions.
10263 (x_per_char_metric): If font's default char is invalid, return
10264 metrics of a suitably chosen usable default char.
10265 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10266 char, replace occurrences of unprintable chars with a suitably
10267 chosen usable default char.
71a6ba55 10268
900fa1f1
GM
102692000-03-02 Gerd Moellmann <gerd@gnu.org>
10270
42f55fe0
GM
10271 * xterm.c (note_mouse_highlight): Return quickly if frame's
10272 glyph matrices have been freed.
10273
10274 * dispnew.c (free_glyphs): Block input while freeing matrices.
10275
900fa1f1
GM
10276 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10277
52283633
SM
10278 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10279 Use x_free_colors.
900fa1f1
GM
10280
10281 * dispextern.h (x_free_colors): Add prototype.
10282
10283 * xfaces.c (x_free_colors): New function.
10284 (unload_color, free_face_colors): Use it.
10285
2f950292
EZ
102862000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10287
10288 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10289
10290 * window.c [MSDOS]: Include msdos.h.
10291
54d04320
DL
102922000-03-02 Dave Love <fx@gnu.org>
10293
10294 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10295
10296 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10297 set C_OPTIMIZE_SWITCH for gcc.
10298
0ba93ac4
KH
102992000-03-02 Kenichi Handa <handa@etl.go.jp>
10300
10301 * coding.c (coding_save_composition): Be sure to allocate
10302 composition data area in coding even if there's no composition in
10303 the current run.
10304
a2bc11d4
JR
103052000-03-01 Jason Rumney <jasonr@gnu.org>
10306
10307 * w32term.c: Equivalent changes to those made to xterm.c on
10308 2000-02-25 and 2000-02-24.
10309
10310 * w32fns.c: Equivalent changes to those made to xfns.c on
10311 2000-02-25 and 2000-02-21.
10312
10313 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10314 correct line-end convention is followed.
10315
10316 * w32menu.c [HAVE_BOXES]: Remove #undef.
10317 (single_keymap_panes): Remove code for simulating checkmarks.
10318 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10319 Remove code for drawing simulated checkmarks.
10320 (w32_menu_show): make unibyte help string correctly.
10321 (add_menu_item): draw standard Windows checkmarks. Draw radio
10322 buttons as radio buttons if possible.
10323
72d19d75
GM
103242000-03-01 Gerd Moellmann <gerd@gnu.org>
10325
2df636f4
GM
10326 * sysdep.c (start_of_text): Don't define this function for NetBSD
10327 with ELF.
10328
427ec082 10329 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10330 Don't define.
10331 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10332 (LINKER): Don't undef if __NetBSD__ is defined.
10333
10334 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10335
10336 * fileio.c [__NetBSD__]: Define `unix'.
10337
72d19d75
GM
10338 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10339
ed4d0512
GM
103402000-02-29 Gerd Moellmann <gerd@gnu.org>
10341
50b1039f
GM
10342 * atimer.c (start_atimer): Don't abort when timers are stopped.
10343 (append_atimer_lists): New function.
10344 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10345 arbitrary lists of stopped and running atimers.
10346
ed4d0512
GM
10347 * atimer.c (cancel_atimer): Handle canceling an atimer when
10348 some timers are stopped.
10349
10350 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10351 after canceling it.
10352
10353 * fns.c (maybe_resize_hash_table): Handle case of new size
10354 coming out as being the same as old size.
10355
387023ee
JR
103562000-02-27 Jason Rumney <jasonr@gnu.org>
10357
10358 * makefile.nt: Add atimer.h to dependencies.
10359 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10360 * w32console.c: Only disable window system features for dispextern.h
10361 (initialize_w32_display): Build a display info for the console.
10362 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10363 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10364 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10365 as 2 button mice.
10366 * w32gui.h (struct W32FontStruct): Revert last change after change
10367 to xdisp.c.
10368 * w32menu.c (single_submenu): Set up help string.
10369 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10370 (w32_dialog_show): Set up help string.
10371 * w32term.c (w32_display_info_for_display): Remove unused function.
10372 (w32_draw_bitmap): Use pre-built bitmaps.
10373 (w32_initialize_display_info): New function to initialize parts of
10374 display info that are common to both GUI and console frames.
10375 (w32_term_init): Use w32_initialize_display_info. Do not set
10376 Vw32_num_mouse_buttons here, as it is not called for console
10377 frames. Build bitmaps for indicating truncated lines etc.
10378 (x_delete_display): Destroy pre-built bitmaps.
10379 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10380 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10381
4516715a
DL
103822000-02-27 Dave Love <fx@gnu.org>
10383
10384 * lisp.h: Add a bunch of prototypes.
10385
171ca836
KH
103862000-02-26 Kenichi Handa <handa@etl.go.jp>
10387
10388 * keyboard.c (read_char): Set `usec' correctly.
10389
4013921d
KH
103902000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10391
10392 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10393 `lambda', set reg[RRR] to the map index.
10394 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10395 reg[RRR] to 0. Otherwise, set it to -1.
10396
9244a058
GM
103972000-02-25 Gerd Moellmann <gerd@gnu.org>
10398
2df636f4 10399 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10400
18e21ce8 104012000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10402
f43d79c1
GM
10403 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10404 and contains a `:', prepend `/:'.
10405
10406 * window.c (select_window_1): If selected_window is nil,
10407 don't "swap out" the buffer's point.
10408 (Fset_window_configuration): Set selected_window to nil
10409 before calling Fselect_window.
10410 (unshow_buffer): Don't set point in buffer from window's point
10411 if another more recently selected window also shows the buffer.
10412
bed0c171
GM
104132000-02-25 Gerd Moellmann <gerd@gnu.org>
10414
449c3c52
GM
10415 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10416
f5b58615
GM
10417 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10418 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10419 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10420 New variables.
f5b58615
GM
10421 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10422 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10423 (hide_busy_cursor): New functions.
10424 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10425
10426 * minibuf.c (read_minibuf): Cancel busy-cursor.
10427
10428 * keyboard.c (command_loop_1): Call start_busy_cursor before
10429 Fcommand_execute and cancel_busy_cursor after it.
10430 (timer_check): Remove busy-cursor code.
10431 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10432 cursor timer.
10433
10434 * process.c (wait_reading_process_input): Remove busy-cursor code.
10435
10436 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10437 Fx_hide_busy_cursor.
10438
10439 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10440 Remove prototyoes.
10441 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10442
10443 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10444
10445 * xterm.c (XTread_socket): Remove busy-cursor code.
10446
4eb8436f
GM
10447 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10448 (build_frame_matrix_from_leaf_window): Put code handling
10449 glyph row's not being a slice of a frame row in #if 0.
10450 (sync_window_with_frame_matrix_rows): New function.
10451 (frame_row_to_window): New function.
10452 (mirror_line_dance): Handle copies between windows.
10453
3cb65b0e
GM
10454 * lread.c (Fload): Use `xfree' instead of `free'.
10455 (init_obarray): Use `xmalloc' instead of `malloc'.
10456
bed0c171
GM
10457 * window.c (Fset_window_buffer): Set WINDOW to the window
10458 after decoding.
2add4349
GM
10459 (coordinates_in_window): Take frame's internal border width
10460 into account.
bed0c171 10461
42088c12
GM
104622000-02-24 Gerd Moellmann <gerd@gnu.org>
10463
10464 * xterm.c (x_display_and_set_cursor): Display cursor of
10465 non-selected windows depending on the setting of
10466 cursor_in_non_selected_windows.
10467
10468 * xdisp.c (cursor_in_non_selected_windows): New variable.
10469 (syms_of_xdisp): DEFVAR_BOOL it.
10470
d1e103b2
GM
104712000-02-23 Gerd Moellmann <gerd@gnu.org>
10472
723e779c
GM
10473 * data.c (Fstring_to_number): If number is greater than what
10474 fits into an integer, return a float.
10475
d1e103b2
GM
10476 * eval.c (specbind): Remove references to
10477 keyword_symbols_constant_flag.
10478
10479 * data.c (keyword_symbols_constant_flag): Removed.
10480 (Fmakunbound, set_internal, syms_of_data): Remove references to
10481 keyword_symbols_constant_flag.
10482
10483 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10484
214f877f
KH
104852000-02-23 Kenichi Handa <handa@etl.go.jp>
10486
10487 * syntax.c (multibyte_syntax_as_symbol): New variable.
10488 (syms_of_syntax): Declare it as a Lisp variable.
10489 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10490 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10491 nonzero, treat all multibyte characters as symbol.
52283633 10492 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10493
130adcb7
EZ
104942000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10495
3cb65b0e 10496 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10497 a deleted frame.
130adcb7 10498
17cbbf95
GM
104992000-02-21 Gerd Moellmann <gerd@gnu.org>
10500
10501 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10502
10503 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10504 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10505
beb0bc36
DL
105062000-02-21 Dave Love <fx@gnu.org>
10507
10508 * frame.c (Vmouse_position_function): New variable.
10509 (Fmouse_position): Use it.
10510 (syms_of_frame): Install it.
10511
10512 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10513
1d92afcd
GM
105142000-02-20 Gerd Moellmann <gerd@gnu.org>
10515
10516 * fileio.c (Finsert_file_contents): Unbind the binding of
10517 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10518
10519 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10520 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10521 (specbind, unbind_to): Handle most common case of non-constant
10522 symbol with trivial value specially.
10523
10524 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10525
18e21ce8 105262000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10527
10528 * data.c (Fmake_variable_buffer_local): Doc fix.
10529 Init found_for_buffer to 0.
10530 (Fmake_variable_frame_local): If the variable has already
10531 been buffer-local, set the check_frame field.
10532
1d4311c3
EZ
105332000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10534
10535 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10536 produced for CODING_MODE_LAST_BLOCK requires.
10537
2dc95ddd
DL
105382000-02-18 Dave Love <fx@gnu.org>
10539
10540 * keyboard.c (echo_keystrokes): Remove declaration.
10541 (Vecho_keystrokes) New variable.
10542 (read_char, record_menu_key, read_key_sequence): Use it to allow
10543 use of float value.
10544 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10545
10546 * lread.c: Undef feature selection macros before defining.
10547
f0930f35
GM
105482000-02-18 Gerd Moellmann <gerd@gnu.org>
10549
10550 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10551 for symbols other than the symbol in question.
10552
e3d4de90
DL
105532000-02-17 Dave Love <fx@gnu.org>
10554
10555 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10556
0b378936
GM
105572000-02-17 Gerd Moellmann <gerd@gnu.org>
10558
d621caf7
GM
10559 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10560
0b378936
GM
10561 * alloc.c (enum mem_type): Compile unconditionally.
10562
3b451f74
EZ
105632000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10564
10565 * xfaces.c (tty_defined_color): Don't return faulire indication
10566 for unspecified-fg and unspecified-bg pseudo-colors.
10567
10689a01
GM
105682000-02-17 Gerd Moellmann <gerd@gnu.org>
10569
1216f5e4
GM
10570 * alloc.c (mark_object): Don't mark symbol names in pure space.
10571 (gc_sweep): Don't unmark symbol names in pure space.
10572
10573 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10574 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10575 [GC_MARK_STACK]: New defines.
427ec082 10576 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10577 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10578
10579 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10580
10581 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10582 allocate_buffer instead of xmalloc.
10583
10584 * alloc.c (toplevel): Include setjmp.h.
10585 (PURE_POINTER_P): New define.
10586 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10587 (Vdead) [GC_MARK_STACK]: New variable.
10588 (lisp_malloc): Add parameter TYPE, call mem_insert if
10589 GC_MARK_STACK is defined.
10590 (allocate_buffer): New function.
427ec082 10591 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10592 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10593 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10594 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10595 (MEM_NIL) [GC_MARK_STACK]: New define.
10596 (struct mem_node) [GC_MARK_STACK]: New structure.
10597 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10598 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10599 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10600 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10601 (mark_stack) [GC_MARK_STACK]: New functions.
10602 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10603 (clear_marks): Removed.
10604 (gc_sweep): Set free conses' car, free floats' type, free
10605 symbols' function to Vdead. Use lisp_free to free buffers.
10606 (init_alloc_once): Initialize Vdead.
10607 (survives_gc_p): Return non-zero for pure objects.
10608
10609 * alloc.c: Add comments throughout the file.
10610
2503c8b1
GM
10611 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10612 that unblocks alarms.
10613
8389e1e2
GM
10614 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10615 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10616 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10617
10689a01 10618 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10619
bfc17d18
KH
106202000-02-17 Kenichi Handa <handa@etl.go.jp>
10621
4a09dee0
KH
10622 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10623 avoid infinite error signaling. Allocate sufficient memory for
10624 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10625
2b927d02
SM
106262000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10627
10628 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10629 depends on the previous behavior.
10630
b49cb764
GM
106312000-02-16 Gerd Moellmann <gerd@gnu.org>
10632
10633 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10634
99e95407
GM
106352000-02-15 Gerd Moellmann <gerd@gnu.org>
10636
10637 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10638
10639 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10640 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10641 write(2).
10642
6ffd3cf7
RS
106432000-02-15 Richard M. Stallman <rms@gnu.org>
10644
10645 * data.c (set_internal): Don't make variable buffer-local
10646 if within a let-binding for the same buffer.
10647 (let_shadows_buffer_binding_p): New function.
10648
10649 * eval.c (specbind): For buffer-local value,
10650 record the current buffer also.
10651 (unbind_to): Cope with that change.
10652
cad53475
GM
106532000-02-15 Gerd Moellmann <gerd@gnu.org>
10654
10655 * window.c (Fsave_window_excursion): Doc fix.
10656
1aa963c8
SM
106572000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10658
10659 * syntax.c (back_comment): Make sure we only consider comment-starters
10660 of the relevant style and return -1 in case of a failure to find the
10661 beginning of the comment.
10662 (Fforward_comment): If back_comment fails, go back to the position just
10663 after the comment-end.
10664 (scan_lists): Add comment describing a very minor bug.
10665
b9b84fd3
SM
106662000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10667
10668 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10669 `completion-regexp-list' in the docstring.
10670
3a28db80
DL
106712000-02-14 Dave Love <fx@gnu.org>
10672
10673 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10674
fb4a568d
SM
106752000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10676
10677 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10678 to Emacs' syntax. Also fix the comment about set/not-set meanings
10679 since Emacs syntax is not the value 0 any more.
10680 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10681 since it's now part of RE_SYNTAX_EMACS.
10682
1063ebb5
DL
106832000-02-12 Dave Love <fx@gnu.org>
10684
52283633 10685 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10686
fb07a302
GM
106872000-02-12 Gerd Moellmann <gerd@gnu.org>
10688
10689 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10690
aaf2320c
DL
106912000-02-12 Dave Love <fx@gnu.org>
10692
10693 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10694
10695 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10696 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10697 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10698
10699 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10700
10701 * s/nextstep.h: Don't define HAVE_ALLOCA.
10702
10703 * config.in: Add vfork bits.
10704
eedf8bde
GM
107052000-02-12 Gerd Moellmann <gerd@gnu.org>
10706
10707 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10708 unwind function to undo the effect of stopping atimers.
10709
52283633 10710 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10711
10712 * atimer.c (stopped_atimers): New variable.
10713 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10714 New functions.
10715
10716 * atimer.h (stop_other_atimers, run_all_atimers)
10717 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10718
eedf8bde
GM
10719 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10720
8476c2f8
KR
107212000-02-11 Ken Raeburn <raeburn@gnu.org>
10722
10723 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10724 library may depend on jpeg.
10725 (atimer.o): Depends on atimer.c.
10726
0e85e4a3
KH
107272000-02-11 Kenichi Handa <handa@etl.go.jp>
10728
10729 * insdel.c (del_range_1): Call update_compositions.
10730 (del_range_both): Call update_compositions just once..
10731
97fa0cc8
DL
107322000-02-10 Dave Love <fx@gnu.org>
10733
10734 * xfns.c (create_frame_xic): Fix initialization of automatic
10735 aggregates for pcc.
10736
25566a3c
KH
107372000-02-09 Kenichi Handa <handa@etl.go.jp>
10738
10739 * ccl.c (CCL_MAKE_CHAR): New macro.
10740 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10741 registers by CCL_MAKE_CHAR before calling translate_char.
10742 <CCL_TranslateCharacterConstTbl> Likewise.
10743
69da54ba
DL
107442000-02-08 Dave Love <fx@gnu.org>
10745
10746 * lread.c (__EXTENSIONS__): Define.
10747
f7136ee8
GM
107482000-02-08 Gerd Moellmann <gerd@gnu.org>
10749
10750 * puresize.h (BASE_PURESIZE): Increase to 650000.
10751
7768790b
EZ
107522000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10753
10754 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10755 the help message.
10756
38fd211b
EZ
107572000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10758
10759 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10760 md, mh, mb, mr, and me to the fake termcap entry.
10761
66e4690f
KR
107622000-02-06 Ken Raeburn <raeburn@gnu.org>
10763
10764 * sound.c (sound_cleanup): Don't call device close routine if the
10765 function pointer is null.
10766
a75dfea0
AI
107672000-02-06 Andrew Innes <andrewi@gnu.org>
10768
10769 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10770 around image definitions and prototypes.
10771 (gamma_correct) [WINDOWSNT]: New prototype.
10772
10773 * w32term.c (x_make_frame_visible): Replace call to
10774 input_poll_signal with poll_for_input.
10775
10776 * window.c [WINDOWSNT]: Include w32term.h.
10777
10778 * xdisp.c [WINDOWSNT]: Include w32term.h.
10779
10780 * makefile.nt: Add dependencies on w32gui.h.
10781 (OBJ1): Include atimer.obj.
10782 ($(BLD)\atimer.obj): New dependency rule.
10783
10784 * w32.c (sigmask): New function (does nothing).
10785 (sigunblock): Ditto.
10786
10787 * frame.c [WINDOWSNT]: Include w32term.h.
10788
10789 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10790
10791 * lread.c (syms_of_lread): Fix literal newlines.
10792
10793 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10794 the string constant limit (2048 bytes) in MSVC.
10795 (main): Ditto.
10796
59ddecde
GM
107972000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10798
52283633 10799 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10800 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10801 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10802 dispatch the event.
10803
07590973
DL
108042000-02-04 Dave Love <fx@gnu.org>
10805
10806 * fileio.c: Remove some unused vars.
10807 (_GNU_SOURCE): Define (for euidaccess).
10808
10809 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10810
10811 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10812 gcpro1, gcpro2.
10813 (read_minibuf): Deal with allow_props correctly.
10814
649351f9
EZ
108152000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10816
10817 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10818
66e4690f 108192000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10820
10821 * search.c (compile_pattern): If a cache entry has a nil regexp,
10822 fill in that entry instead of clobbering a previously cached
10823 string regexp.
10824
66e4690f 108252000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10826
10827 * puresize.h (BASE_PURESIZE): Increase to 610000.
10828
d240a249
GM
108292000-02-02 Gerd Moellmann <gerd@gnu.org>
10830
10831 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10832 can GC.
10833
ca91fb26
KH
108342000-02-02 Kenichi Handa <handa@etl.go.jp>
10835
25660570
KH
10836 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10837 instead of incrementing ic directly.
10838 <CCL_WriteExprConst> Likewise.
10839 <ccl_set_expr>: Set ic to jump_address.
10840
ca91fb26
KH
10841 * fileio.c (e_write): Fix the handling of
10842 CODING_FINISH_INSUFFICIENT_SRC.
10843
2ede9689
DL
108442000-02-01 Dave Love <fx@gnu.org>
10845
10846 * editfns.c (Fpropertize): Doc fix.
10847
10848 * process.c (Fstart_process): Doc fix.
10849
10850 * eval.c: Fix various doc strings not to duplicate information
10851 from help-manyarg-func-alist.
10852
52283633 10853 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10854
10855 * doc.c (Vhelp_manyarg_func_alist): New variable.
10856 (Fdocumentation): Use it.
10857 (syms_of_doc): Define it.
10858
b6680a0e
GM
108592000-01-31 Gerd Moellmann <gerd@gnu.org>
10860
2cb750ba
GM
10861 * xterm.c (xim_open_dpy): Remove unused local variable.
10862
52283633 10863 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10864
10865 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10866 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10867
b6680a0e
GM
10868 * fns.c (sweep_weak_table): New function.
10869 (sweep_weak_hash_tables): Use it. Keep on marking until there
10870 is no more change.
10871
994c5afe
GM
108722000-01-30 Gerd Moellmann <gerd@gnu.org>
10873
10874 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10875 that XTread_socket does not crash by trying to call XNoOp on a
10876 closed display.
427ec082 10877
f00276e3
JR
108782000-01-30 Jason Rumney <jasonr@gnu.org>
10879
10880 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10881 Change selected_frame to SELECTED_FRAME ().
10882 (w32_console_mouse_position): Remove #ifndef MULE from around
10883 `insist' parameter.
10884
10885 * makefile.nt: Remove dosfns.obj.
10886
10887 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10888
10889 * w32fns.c (w32_defined_color): Check for valid frame before
10890 applying gamma correction. Eliminate dependency on frame elsewhere.
10891 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10892 (w32_to_x_font): Use resx and resy not height_in and width_in.
10893 (x_to_w32_font): Doc fix.
10894 (xlfd_strip_height): New function to strip and return font height.
10895 (w32_font_match): Compare height separately from rest of xlfd
10896 spec, using xlfd_strip_height.
10897
10898 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10899 width_in. Use w32_defined_color in place of defined_color.
10900
10901 * w32faces.c: Merge more of DOS and X specifics in preparation for
10902 merge with xfaces.c.
10903 (defined_color): Remove FIXME comment.
10904 (tty_color_name): Provide w32-specific function.
10905 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10906
10907 * w32console.c (turn_on_face, turn_off_face): Removed.
10908 (w32_face_attributes): New function.
10909 (Global_variables): Reduce scope where possible.
10910 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10911 fill attribute.
10912 (hl_mode): Don't modify text attributes.
10913 (write_glyphs): Don't do anything if len <= 0. Use
10914 w32_face_attributes to get attributes for drawing. Write
10915 terminating codes using char_attr_normal.
10916 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10917 (update_begin, update_end): Likewise.
10918 (vga_stdcolor_name): New function.
10919 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10920 (Fset_screen_color): Remove char_attr_reverse.
10921
b08e8bb2
GM
109222000-01-29 Gerd Moellmann <gerd@gnu.org>
10923
10924 * xfns.c (xic_set_preeditarea): Take window parameter and
10925 window-relative pixel-positions.
10926
10927 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10928 is its frame's selected window.
10929 (xim_instantiate_callback): Likewise.
10930
10931 * xfns.c (x_create_im): Removed.
10932 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10933 (supported_xim_styles): Renamed from supported_styles.
10934 (best_xim_style): Renamed from best_style.
10935 (create_frame_xic): Renamed from xic_create_frame.
10936 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10937
b08e8bb2
GM
109382000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10939
10940 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10941 our frames, call XFilterEvent with 2nd parameter `None'.
10942 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10943 returning XBufferOverflow.
52283633 10944 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10945 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10946 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10947 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10948 (xim_initialize, xim_close)
10949 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10950 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10951 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10952 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10953
10954 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10955 and `xim_styles'.
10956 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10957 `xic_style' and `xic_xfs'.
10958 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10959 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10960 (FRAME_XIM): Removed.
10961
10962 * xfns.c (supported_styles): New variable.
10963 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10964 (xic_create_xfontset, best_style, xic_create_frame)
10965 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10966 (xic_set_xfontset): New functions.
10967
142e109c
DL
109682000-01-28 Dave Love <fx@gnu.org>
10969
10970 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10971
10972 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10973
b02786f9
GM
109742000-01-28 Gerd Moellmann <gerd@gnu.org>
10975
d060bc9f
GM
10976 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10977 for *scratch* if it already existed.
10978
b02786f9
GM
10979 * emacs.c (USAGE): New macro.
10980 (main): Use it to display usage information.
10981
2c52d7e4
EZ
109822000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10983
10984 Support for the menu-help feature:
10985
52283633 10986 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10987
10988 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10989 part of the line to the termscript file.
10990 (IT_clear_to_end): Clear the entire line, not just its beginning.
10991 (menu_help_message, prev_menu_help_message): New variables.
10992 (IT_menu_make_room): Make room for the help_text member.
10993 (IT_menu_display): New argument disp_help; all callers changed.
10994 If disp_help is non-zero, store the help text of the active menu
10995 item in menu_help_message.
10996 (XMenuAddPane): Initialize the help_text member to NULL.
10997 (XMenuAddSelection): New argument help_text. Store it in the
10998 XMenu structure.
10999 (XMenuActivate): New argument help_callback. If the value of
11000 menu_help_message has changed since the last time, display the
11001 menu help message text while waiting for the mouse to move. Clear
11002 the echo area before exiting.
11003 (XMenuDestroy): Free the help_text member.
11004
ffe0bcd1
GM
110052000-01-27 Gerd Moellmann <gerd@gnu.org>
11006
11007 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
11008 XMenuAddSelection. Pass help callback to XMenuActivate.
11009 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
11010
50dbd23f
EZ
110112000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
11012
11013 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
11014 and EMACS_SET_USECS.
11015
f5941bf8
GM
110162000-01-26 Dave Love <fx@gnu.org>
11017
6c67ddee
DL
11018 * editfns.c (Fchar_after, Fchar_before): Doc fix.
11019
f5941bf8
GM
11020 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
11021 an error may be signalled.
11022
9e49c990
GM
110232000-01-26 Gerd Moellmann <gerd@gnu.org>
11024
fc3cb460
GM
11025 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
11026 LD_SWITCH_SYSTEM inherited from irix5-0.h.
11027
9e49c990
GM
11028 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
11029
d0c037d8
GM
110302000-01-25 Gerd Moellmann <gerd@gnu.org>
11031
11032 * charset.c (Fstring): If there is a multibyte char among
11033 the args, always return a multibyte string.
11034
e12489f9
GM
110352000-01-25 Gerd Moellmann <gerd@gnu.org>
11036
11037 * sysdep.c (sys_select): Turn atimers off and on instead of
11038 recording and restoring old alarm handler
11039
11040 * process.c (toplevel): Include atimer.h.
11041 (create_process_1): Rewritten.
11042 (create_process): Use atimers instead of alarm.
11043 (wait_reading_process_input) [hpux]: Turn atimers off instead
11044 of turning off SIGALRM.
11045 (wait_reading_process_input): Turn off atimers instead off
11046 calling stop_polling.
11047
11048 * emacs.c (main): Call init_atimer.
11049
11050 * keyboard.c (toplevel): Include systime.h and atimer.h.
11051 (polling_for_input): Removed because unused.
11052 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
11053 (poll_timer): New variable.
11054 (poll_for_input, poll_for_input_1): New functions.
11055 (start_polling, stop_polling): Rewritten.
11056
11057 * keyboard.h (polling_for_input): Removed.
427ec082 11058
e12489f9
GM
11059 * atimer.h, atimer.c: New files.
11060
11061 * Makefile.in (obj): Add atimer.o.
11062 (atimer.o): New target.
11063
11064 * blockinput.h (pending_atimers): Add extern declaration.
11065 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11066
11067 * lisp.h (popup_activated_flag): Add extern declaration.
11068
11069 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11070 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11071 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11072
11073 * xterm.c (toplevel): Include atimer.h.
11074 (toolkit_scroll_bar_interaction): New variable.
11075 (Fxt_process_timeouts): Removed.
11076 (x_process_timeouts): New function.
11077 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11078 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11079 (x_make_frame_visible): Call poll_for_input_1 instead of
11080 input_poll_signal. Don't call alarm.
11081 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11082
1e5279b9
DL
110832000-01-24 Dave Love <fx@gnu.org>
11084
6c67ddee 11085 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11086 Don't use -cckr -- apparently not now necessary.
11087
edf6aeb8
EZ
110882000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11089
11090 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11091 screen boundary.
11092
9badad41
JR
110932000-01-23 Jason Rumney <jasonr@gnu.org>
11094
11095 * w32fns.c (w32_defined_color): Apply gamma correction before
11096 trying to map to the palette.
11097 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11098 to w32_clear_rect.
11099
11100 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11101 here. Callers changed to always pass real device context.
11102 (w32_draw_bitmap): Likewise.
11103 (w32_get_glyph_overhangs): Likewise.
52283633 11104 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11105 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11106 pfnSetScrollInfo and SetScrollRange.
11107 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11108 back into MULE characters after decoding them.
11109 (x_get_glyph_face_and_encoding): Likewise.
11110 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11111 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11112 (x_produce_glyphs): Calculate per char metrics for a character
11113 that we know exists in default font when font_not_found_p is true.
11114
63bd786b
JR
111152000-01-22 Jason Rumney <jasonr@gnu.org>
11116
11117 * makefile.nt (intervals.obj, composite.obj): New modules.
11118 (composite.h): Added as dependency where appropriate.
11119
11120 * w32gui.h (XGCValue): New struct for emulating X GCs.
11121
11122 * w32term.h (XCharStruct): New struct for emulating X.
11123
11124 * w32console.c (turn_on_face, turn_off_face): New functions.
11125 (change_line_highlight): New prototype for new redisplay.
11126 (write_glyphs): Support multibyte text. Support faces.
11127
52283633 11128 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11129
11130 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11131 throughout. struct frame * in place of FRAME_PTR.
11132 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11133 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11134 (w32_get_arg): Renamed from x_get_arg.
11135 (Fx_file_dialog): New function.
11136 (w32_list_fonts): Check cache before asking system.
11137 (Vw32_enable_synthesized_fonts): New variable.
11138 (Vw32_enable_italics): Obsolete, removed.
11139
11140 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11141 Use SELECTED_FRAME macro.
11142
11143 * w32menu.c: Add skeleton support for help strings on menus.
11144 (add_menu_item): Native checkbox and radio support added, but not
11145 yet enabled due to bugs.
11146 (push_menu_item): Add parameters type, selection and help.
11147 Callers updated.
11148 Formatting changes to reduce unnecessary diffs with xmenu.c.
11149
11150 * w32select.c (Fw32_set_clipboard_data): Update call to
11151 find_charset_in_str.
11152
11153 * w32term.c: Complete rewrite for new redisplay based on new
11154 xterm.c with necessary sections merged back in from old w32term.c.
11155
6ffd3cf7 111562000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11157
11158 * data.c (set_internal): Further fix in same criterion.
11159
6ffd3cf7 111602000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11161
11162 * data.c (set_internal): Fix the criteria for whether
11163 to swap out the old cached binding.
11164
60af03f1
DL
111652000-01-19 Dave Love <fx@gnu.org>
11166
11167 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11168
f9be074f
KH
111692000-01-18 Kenichi Handa <handa@etl.go.jp>
11170
11171 * regex.c (re_compile_fastmap): While checking a range table for
11172 `charset', skip flag bits for a character class correctly.
11173
52b8dbf9
GM
111742000-01-17 Gerd Moellmann <gerd@gnu.org>
11175
d36100c9
GM
11176 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11177
52283633 11178 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11179
11180 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11181 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11182
11183 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11184 MENU_ITEMS_ITEM_.*.
11185 (MENU_ITEMS_ITEM_HELP): New enumerator.
11186 (push_menu_item): Add parameter HELP. Record help in menu_items.
11187 (single_menu_item, single_submenu, list_of_items): Call
11188 push_menu_item with new parameter.
11189 (single_submenu): Set help string in widget value.
11190 (menu_highlight_callback): New function.
11191 (set_frame_menubar): Call lw_create_widget with new
11192 parameter list.
11193 (xmenu_show, xdialog_show): Ditto.
11194
3139018f
GM
111952000-01-13 Gerd Moellmann <gerd@gnu.org>
11196
11197 * sound.c (Fplay_sound): Improve doc string.
11198
83c8f461
RS
111992000-01-11 Richard M. Stallman <rms@gnu.org>
11200
11201 * lisp.h (set_internal): Enter the new arg.
11202
11203 * eval.c (specbind): Record buffer-local variables specially,
11204 indicating which buffer's binding was saved.
11205 (unbind_to): Restore buffer-local variables specially
11206 in the proper buffer.
11207
11208 * data.c (set_internal): New arg BUF.
427ec082 11209
83c8f461
RS
11210 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11211 * data.c (Fset): Pass new arg to set_internal.
11212 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11213
1fab1775
GM
112142000-01-11 Gerd Moellmann <gerd@gnu.org>
11215
52283633 11216 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11217
83c8f461 112182000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11219
11220 * minibuf.c (Ftry_completion): Doc fix.
11221
7a85e4df
GM
112222000-01-11 Gerd Moellmann <gerd@gnu.org>
11223
11224 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11225 vector, too.
11226
a970dae4
AS
112272000-01-11 Andreas Schwab <schwab@suse.de>
11228
11229 * coding.c (code_convert_region): Initialize total_skip.
11230
c65d14ee
DL
112312000-01-08 Dave Love <fx@gnu.org>
11232
11233 * eval.c (Fuser_variable_p): Check customizability too.
11234
834938d2
GM
112352000-01-07 Gerd Moellmann <gerd@gnu.org>
11236
11237 * minibuf.c (Fcompleting_read): Doc fix.
11238
e0303cd6
GM
112392000-01-05 Gerd Moellmann <gerd@gnu.org>
11240
8a26744b
GM
11241 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11242 -L /usr/local/lib.
11243
e0303cd6
GM
11244 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11245 Check that input style is supported before trying to create an
11246 IC for it.
11247 (x_window): Call x_create_im.
427ec082 11248
2e471eb5
GM
112492000-01-04 Gerd Moellmann <gerd@gnu.org>
11250
560a7bd2
GM
11251 * xfns.c (current_gif_memory_src): New variable.
11252 (gif_load): Record the address of the current memory source
11253 in current_gif_memory_src.
11254 (gif_read_from_memory): Use current_gif_memory_src.
11255
f9ee84a3
GM
11256 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11257 macros statement form.
11258
d1299cde
GM
11259 * sound.c (struct sound): Renamed from struct sound_file.
11260 (struct sound): Add members `data' and `header_size'.
11261 (enum sound_attr): Add SOUND_DATA.
11262 (current_sound, current_sound_device): Variables renamed from
11263 sound_file and sound_device.
11264 (parse_sound): Parse :data.
11265 (parse_sound): Handle sound data in strings.
11266 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11267 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11268 needed header size.
11269 (wav_play, au_play): Play sounds from string data.
11270
2e471eb5
GM
11271 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11272
11273 * lisp.h: Add prototype for allocate_string_data.
11274
52283633 11275 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11276
11277 * alloc.c (mark_buffer): Remove code in #if 0.
11278 (gc_sweep): Ditto.
11279 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11280 (strings_consed): New variable.
11281 (allocate_string): Set it.
11282 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11283 (Fmemory_use_counts): Return strings_consed. Use Flist.
11284
11285 * alloc.c: General cleanup in comments etc. Remove conditional
11286 compilation for `standalone'.
11287
11288 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11289
11290 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11291 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11292 (DONT_COPY_FLAG): Removed.
11293 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11294 (struct sdata, struct sblock): New
11295 (struct string_block): Rewritten.
11296 (STRINGS_IN_STRING_BLOCK): New macro.
11297 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11298 (large_sblocks, string_blocks, string_free_list): New variables.
11299 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11300 (init_strings): Rewritten.
11301 (allocate_string, allocate_string_data, compact_small_strings)
11302 (free_large_strings, sweep_strings): New functions.
11303 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11304 (struct string_block_head, current_string_block)
11305 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11306 (STRING_PAD): Removed.
11307 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11308 (Fgarbage_collect): Don't set mark bit in large strings.
11309 (mark_object): Mark strings differently. Mark symbol names
11310 differently.
11311 (survives_gc_p): Test marked strings differently.
427ec082 11312 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11313 symbol names.
11314 (compact_strings): Removed.
11315
42608ba8
EZ
113162000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11317
11318 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11319 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11320
e0a09e1a
KH
113212000-01-04 Kenichi Handa <handa@etl.go.jp>
11322
dd9f0750 11323 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11324 in a non-empty buffer.
dd9f0750 11325
3c0f3b15 11326 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11327
44cd3ae5
GM
113282000-01-03 Gerd Moellmann <gerd@gnu.org>
11329
11330 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11331 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11332
11333 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11334
c182a70f
EZ
113352000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11336
11337 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11338 need to test for MSDOS frames.
11339
24480d5b
EZ
113402000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11341
11342 * dosfns.c (unspecified_colors): Remove.
11343 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11344 unspecified_bg.
11345 (msdos_stdcolor_name): Return strings for unspecified fore- and
11346 back-ground colors.
11347
11348 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11349 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11350 (tty_color_name): Return Lisp strings for unspecified fore- and
11351 back-ground colors.
11352 (Finternal_set_lisp_face_attribute): Remove the special treatment
11353 for Qunspecified_{f,b}g.
52283633 11354 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11355
047f434a
GM
113562000-01-03 Gerd Moellmann <gerd@gnu.org>
11357
11358 * xdisp.c (reseat_at_next_visible_line_start): Position before
11359 newline only if ending up on a newline.
11360 (next_element_from_ellipsis): Return success. Handle case of
52283633 11361 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11362 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11363 returns 0.
11364
d684c676
EZ
113652000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11366
11367 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11368 (Fcolor_supported_p): Renamed from face-color-supported-p.
11369
5fe1d139
EZ
113702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11371
11372 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11373 list of colors renamed to tty-defined-color-alist.
11374 (tty_color_name): Pass the frame to tty-color-by-index.
11375 (realize_tty_face): tty-color-alist is now a function which
11376 accepts the frame as argument.
11377
52283633 11378 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11379
816be8b8
EZ
113802000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11381
11382 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11383 encode_terminal_code.
11384
b635321e
EZ
113852000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11386
11387 * dispnew.c (mode_line_string): Support termcap frames as well.
11388
9b784e96
GM
113892000-01-01 Gerd Moellmann <gerd@gnu.org>
11390
27189709
GM
11391 * syntax.c (Fforward_word): Undo previous change.
11392
11393 * editfns.c (Fconstrain_to_field): Don't constrain if
11394 inhibit-field-text-motion is non-nil.
11395 (Fline_beginning_position): Undo previous change.
11396 (Fline_end_position): Ditto.
11397
11398 * syntax.c (Fforward_word): Notice field boundaries only if
11399 inhibit-field-text-motion is nil.
11400
11401 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11402
11403 * editfns.c (Vinhibit_field_text_motion): New variable.
11404 (inhibit-field-text-motion): New DEFVAR_LISP.
11405 (Fline_beginning_position, Fline_end_position): Notice field
11406 boundaries only if inhibit-field-text-motion is nil.
11407
45158a91
GM
11408 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11409 All calls adjusted.
11410 (x_build_heuristic_mask): Likewise.
11411 (xbm_load_image_from_file): Change error output.
11412 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11413 (gif_load, gs_load, x_kill_gs_process): Ditto.
11414
9b784e96
GM
11415 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11416 color indices when accessing raster pixels.
63cec32f
GM
11417 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11418 one of :file or :data.
11419 (enum pbm_keyword_index): Add PBM_DATA.
11420 (pbm_format): Add :data.
11421 (pbm_image_p): Allow either :file or :data.
11422 (pbm_read_file): New function.
11423 (pbm_scan_number): Rewritten to read from string.
11424 (pbm_load): Support :data.
9b784e96 11425
2cb085db 11426See ChangeLog.8 for earlier changes.
6922b018
KH
11427
11428;; Local Variables:
49b3bd82 11429;; coding: iso-2022-7bit
6922b018 11430;; End: