(clear_mouse_face): Return 1 if text with mouse face was
[bpt/emacs.git] / src / ChangeLog
CommitLineData
7bd2d083
GM
12001-05-11 Gerd Moellmann <gerd@gnu.org>
2
d88a79d4
GM
3 * xdisp.c (try_window_id): Fix the fix and set the right
4 window_end_vpos.
5
6 * xdisp.c (try_window_id): Fix computation of window end in the
7 case that lines were deleted at the end of the window. Add some
8 more debug_method_adds.
0416532f 9
7bd2d083
GM
10 * xfaces.c (try_alternative_families): New function.
11 (try_font_list): Use it. If ATTRS specifies a family, check
12 fonts from that family first.
13 (choose_face_font): Remove code setting the family part of
14 the pattern to nil.
15
23fca891
GM
162001-05-10 Gerd Moellmann <gerd@gnu.org>
17
ff9aa2ca
GM
18 * xdisp.c (try_window_id): Fix case of all changes before
19 the window start.
20
23fca891
GM
21 * xdisp.c (try_window_id): Add some xasserts.
22
e9726794
GM
232001-05-09 Gerd Moellmann <gerd@gnu.org>
24
25 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
26
9e53a675
GM
272001-05-09 Dave Love <fx@gnu.org>
28
29 * xdisp.c (GIVE_UP): Fix for K&R C.
30
0d487c52
GM
312001-05-09 Gerd Moellmann <gerd@gnu.org>
32
fe88d421
GM
33 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
34
0d487c52
GM
35 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
36 back to the text cursor shape without need.
37
1e9fc92e
GM
382001-05-07 Gerd Moellmann <gerd@gnu.org>
39
a2a6232e
GM
40 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
41
42 * dispextern.h (inverse_video): Declare extern.
43
1e9fc92e
GM
44 * keyboard.c (delete_kboard): Handle the case that selected_frame
45 has been deleted in the course of x_connection_closed.
46
12949a7f
EZ
472001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
48
49 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]: Fix
50 the change from 2001-04-30.
51
2fa2f461
GM
522001-05-03 Gerd Moellmann <gerd@gnu.org>
53
a779d213
GM
54 * xfns.c (file_dialog_unmap_cb): New function.
55 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
56 where a dialog is closed via the window manager.
57
2fa2f461
GM
58 * xdisp.c (try_window_id): Cases of changes all in front of
59 the window start or all below the window end mostly rewritten.
60 (redisplay_window): Move the tests if try_window_id is
61 applicable to try_window_id.
62 (GIVE_UP): New macro.
63
3356df63
GM
642001-05-02 Gerd Moellmann <gerd@gnu.org>
65
a39202f6
GM
66 * xterm.c (expose_window): Return int. If W is the window
67 currently being updated, mark the frame garbaged. Fix
68 computation of rows intersecting the exposed rectangle.
69 (expose_window_tree): Stop when expose_window returns 0.
70
3356df63
GM
71 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
72 again if it has already been drawn.
73
a9d2fd1d
SM
742001-05-01 Stefan Monnier <monnier@cs.yale.edu>
75
76 * syntax.c (update_syntax_table): Check that oldi has the same
77 properties as old_prop before deciding not to invalidate.
78
c95fc5f1
GM
792001-04-30 Gerd Moellmann <gerd@gnu.org>
80
a9793e45
GM
81 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
82 read-only text that is so because of text properties.
83
c95fc5f1 84 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 85 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
86 windows that are components of a Lucid menu bar.
87
5a5d9185
GM
882001-04-27 Gerd Moellmann <gerd@gnu.org>
89
90 * term.c (turn_on_face): Fix reverse video handling on terminals
91 that don't support colors.
92
ba973f7a
GM
932001-04-26 Gerd Moellmann <gerd@gnu.org>
94
95 * editfns.c (save_excursion_restore): Don't use XBUFFER on
96 a non-buffer.
97
8c56a983
GM
982001-04-25 Gerd Moellmann <gerd@gnu.org>
99
a728644c
GM
100 * term.c (toggle_highlight): New function.
101 (turn_on_face): Change handling of reverse video.
102
2fa2f461
GM
103 * process.c (wait_reading_process_input): Call
104 record_asynch_buffer_change only if a timer really changed
105 buffers.
c88164fe 106
bfd8410f
GM
107 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
108 of the number of overlays to check.
109
be2488ca
GM
110 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
111
8c56a983
GM
112 * xdisp.c (try_window_id): Fix a case where window_end_pos
113 and window_end_bytepos were not adjusted.
114
522d42f7
GM
1152001-04-23 Gerd Moellmann <gerd@gnu.org>
116
117 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
118 zero instead of -1.
119
78c1afb6
EZ
1202001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
121
a9d2fd1d
SM
122 * process.c (wait_reading_process_input) [!subprocesses]:
123 Don't reference waiting_for_user_input_p, it's not defined in the
124 branch without async subprocesses support.
78c1afb6 125
a2fab450
GM
1262001-04-19 Gerd Moellmann <gerd@gnu.org>
127
a122a38e
GM
128 * keyboard.c (delete_kboard): Prevent a dangling reference
129 from current_kboard to KB, which is freed.
130
a9d2fd1d
SM
131 * process.c (wait_reading_process_input):
132 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
133 read_key_sequence aware of buffer changes from under it.
134
0f8d6dc7
GM
1352001-04-18 Gerd Moellmann <gerd@gnu.org>
136
eeffb293
GM
137 * xfaces.c (Qscalable_fonts_allowed): New variable.
138 (realizing_basic_faces_p): Removed.
2fa2f461
GM
139 (x_face_list_fonts): Special handling for realizing_basic_faces_p
140 removed.
eeffb293 141 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
2fa2f461
GM
142 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
143 default for scalable-fonts-allowed to t.
eeffb293 144
0f8d6dc7
GM
145 * fileio.c (Finsert_file_contents): If the file size returned from
146 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 147 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 148
eec2d1de
EZ
1492001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
150
151 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
152 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
153 (__memalign_hook): Make the two prototypes consistent.
154
f4f480bd
GM
1552001-04-17 Gerd Moellmann <gerd@gnu.org>
156
157 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
158 matrix of mini-windows.
159
52283633
SM
1602001-04-12 Stefan Monnier <monnier@cs.yale.edu>
161
162 * intervals.c (find_interval): Don't rebalance during signal handling.
163
ec2423c9
GM
1642001-04-11 Gerd Moellmann <gerd@gnu.org>
165
30cb0001 166 * fns.c: Include blockinput.h.
52283633 167
ec2423c9
GM
168 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
169
719d83ad
GM
1702001-04-10 Gerd Moellmann <gerd@gnu.org>
171
60f8d735
GM
172 * fns.c (Fcompare_strings): Fix return values.
173
afffeb57
GM
174 * window.c (window_scroll): Change the meaning of N to mean
175 N screen-fulls or N lines.
176 (window_scroll_pixel_based, window_scroll_line_based)
177 (scroll_command, Fscroll_other_window): Change accordingly.
178
52283633
SM
179 * window.c (window_scroll_pixel_based, Frecenter):
180 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
181 height of the window.
182
183 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
184 instead of using it.last_visible_y for the height of the window.
52283633 185
719d83ad 186 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 187 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
188
189 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
190 able to write to hidden and system files. From Dan Holmsand
191 <dan@eyebee.com>.
719d83ad 192
8ddf3ee1
GM
193 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
194 Holmsand <dan@eyebee.com>.
719d83ad 195
522ed7fb
GM
1962001-04-09 Gerd Moellmann <gerd@gnu.org>
197
9170e5d4
GM
198 * fns.c (Fplist_get, Fplist_put): Add QUITs.
199
522ed7fb
GM
200 * window.c (window_internal_height): Return 1 less if the
201 window has a header line.
202
203 * xdisp.c (try_window_id): When scrolling on a terminal, take
204 the change of window_internal_height into account.
205
ceeb3d7d
EZ
2062001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
207
208 * gmalloc.c (align): If the argument SIZE would overflow
209 __malloc_ptrdiff_t, fail right away.
210
63685b9d
GM
2112001-04-06 Gerd Moellmann <gerd@gnu.org>
212
213 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
214 Make sure the tooltip is completely visible.
215 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
216
217 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
218
219 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
220
3ffb33bb
DL
2212001-04-06 Dave Love <fx@gnu.org>
222
52283633
SM
223 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
224 Fix test of `from'.
3ffb33bb 225
869fb12c
GM
2262001-04-06 Gerd Moellmann <gerd@gnu.org>
227
52283633 228 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 229
869fb12c
GM
230 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
231
441bf856
GM
2322001-04-05 Gerd Moellmann <gerd@gnu.org>
233
4d664b04
GM
234 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
235
52283633 236 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 237
30ca89f5
GM
238 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
239 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
240
241 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
242 shell widget's position only if it is non-null.
243
52283633
SM
244 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
245 Set f->output_data.x->widget to null after destroying it.
30ca89f5 246
81a81c0f
GM
247 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
248 FILENAME to bring it in synch with the documentation.
249
441bf856
GM
250 * xfaces.c (realizing_basic_faces_p): Renamed from
251 realize_default_face_p.
252 (realize_basic_faces): Set/clear realizing_basic_faces_p.
253 (realize_default_face): Don't set the flag.
254
702a1e8e
GM
2552001-04-04 Gerd Moellmann <gerd@gnu.org>
256
1013f4e3
GM
257 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
258
52283633
SM
259 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
260
1013f4e3
GM
261 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
262 the buffer that was used for echoing.
263
702a1e8e
GM
264 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
265 (first_font_matching): Removed unused function.
266 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
267 (may_use_scalable_font_p): Remove parameter FONT; rename
268 parameter NAME to FONT.
269 (x_face_list_fonts): Fix missing bounds check.
270 (realizing_default_face_p): New variable.
271 (realize_default_face): Set and clear that flag.
272 (x_face_list_fonts): When called during the realization of the
273 default face, and no matching fonts are found when ignoring
274 scalable fonts and fonts matching a regexp from
275 face-ignored-fonts, try without ignoring fonts.
276
f9dbcda4
GM
2772001-04-03 Gerd Moellmann <gerd@gnu.org>
278
ad18ffb1
GM
279 * xfns.c (postprocess_image): New function.
280 (lookup_image): Call it for all image types except PostScript.
281 (x_kill_gs_process): Call postprocess_image.
282
f9dbcda4
GM
283 * xterm.c (x_use_underline_position_properties): New variable.
284 (x_draw_glyph_string): Use it.
285 (syms_of_xterm): DEFVAR_BOOL it.
286
651f03b6
GM
2872001-04-02 Gerd Moellmann <gerd@gnu.org>
288
289 * xterm.c (x_alloc_nearest_color_1): New function.
290 (x_alloc_nearest_color): Use it.
291 (x_color_cells): Take a Display as argument, instead of a frame.
292 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
293 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
294 (x_initialize): Register cvt_string_to_pixel as resource converter
295 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
296
73d75a62
GM
2972001-03-30 Gerd Moellmann <gerd@gnu.org>
298
b2046df8
GM
299 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
300 (set_iterator_to_next): If a string from a display property ends,
301 consider the case that this might also be the end of an
302 overlay string having the display property.
303
52283633 304 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 305
87d8eba4
GM
306 * xdisp.c (reseat_to_string): Undo last change.
307
73d75a62
GM
308 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
309 matrix of a window when the header line changes, when
310 new rows are allocated, or when the width changes.
311
911a2406
EZ
3122001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
313
52283633 314 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 315
aea51abe
EZ
3162001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
317
318 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
319 deprecated.
320
176bc847
GM
3212001-03-29 Gerd Moellmann <gerd@gnu.org>
322
ed31fabf
GM
323 * data.c (Fsubr_interactive_form): New function.
324 (syms_of_data): Defsubr it.
325
176bc847
GM
326 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
327 (live_float_p, live_misc_p): Return 1 only if the offset of the
328 pointer in its block is >= 0.
329
e59d0e9d
GM
3302001-03-28 Paul Eggert <eggert@twinsun.com>
331
332 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
333 microseconds calcuation. Avoid double-rounding problem.
334 In doc string, warn that the result is approximate.
335
f827b862
GM
3362001-03-28 Gerd Moellmann <gerd@gnu.org>
337
30a3f61c
GM
338 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
339 bind `inhibit-eval-during-redisplay' to t.
340
341 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
342
343 * xdisp.c (inhibit_eval_during_redisplay)
344 (Qinhibit_eval_during_redisplay): New variables.
345 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
346 don't eval, return nil instead.
347 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
348 Initialize Qinhibit_eval_during_redisplay.
349
e719f5ae
GM
350 * xdisp.c (reseat_to_string): If STRING is multibyte, set
351 the iterator's multibyte_p flag.
352
deb2613a
GM
353 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
354 instead of setting it to zero; it's incremented for each frame
355 where the menu face is changed.
356
52283633
SM
357 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
358 change bottom shadow accordingly.
359
360 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
361 intersections here.
362 (expose_window): Do it here instead.
52283633 363 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 364
f827b862
GM
365 * bytecode.c (BYTE_CODE_QUIT): New macro.
366 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
367
4bde0ebb
GM
3682001-03-27 Gerd Moellmann <gerd@gnu.org>
369
607ec83c
GM
370 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
371 Give up if matrix starts in an ellipsis.
372 (init_from_display_pos): Do nothing if POS doesn't specify
373 a dpvec_index but the iterator has such a position.
374
0245398f
GM
375 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
376
aba25348
GM
377 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
378 x/y position is (0, 0) after destroying the menu bar, restore
379 its original position.
380
4bde0ebb
GM
381 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
382 (init_from_display_pos): Use it.
383 (try_window_reusing_current_matrix): Don't use cursor_row_p.
384
8cdb267e
GM
3852001-03-26 Gerd Moellmann <gerd@gnu.org>
386
387 * xdisp.c (try_window_id): Undo last change.
388
9948db79
EZ
3892001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
390
391 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
392
393 * buffer.c (syms_of_buffer): Doc fix.
394
2eddf899
GM
3952001-03-26 Gerd Moellmann <gerd@gnu.org>
396
397 * xfaces.c (x_update_menu_appearance): Use local variable
398 popup_path for setting font resources.
399
6c145d35
EZ
4002001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
401
6a65b1b5
EZ
402 * frame.c (Fframe_list): Don't reference tip_frame if
403 HAVE_WINDOW_SYSTEM is not defined.
404
6c145d35
EZ
405 * emacs.c (main): Update the copyright year. From Werner LEMBERG
406 <wl@gnu.org>.
407
d74c1900
GM
4082001-03-25 Gerd Moellmann <gerd@gnu.org>
409
20fbd925
GM
410 * xdisp.c (init_from_display_pos): Test invisible property
411 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 412
927c5b3b
GM
413 * xdisp.c (redisplay_internal) <update one window>: Make sure
414 last_arrow_position and last_arrow_string are set.
415
d74c1900
GM
416 * frame.c (Fframe_list): Don't return a tooltip frame.
417
091f8878
GM
4182001-03-23 Gerd Moellmann <gerd@gnu.org>
419
52283633
SM
420 * xdisp.c (mark_window_display_accurate_1): New function,
421 extracted from mark_window_display_accurate.
422 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
423 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
424 (mark_window_display_accurate): Use it.
425 (redisplay_internal): Use it for the selected window.
426 (redisplay_internal): Avoid duplicate mark_window_display_accurate
427 for the selected frame.
428
ac90c44f
GM
429 * xdisp.c Use make_number, for readability.
430 (try_window_id): Disable rows below the window end.
431 (try_window_reusing_current_matrix): Use cursor_row_p.
432 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
433 of rows.
434 (init_from_display_pos): If POS specifies a position in a display
435 vector, maybe get the iterator set up for that ellipsis.
43c09969 436
091f8878
GM
437 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
438
991786dd
EZ
4392001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
440
441 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
442
6c29b43c
GM
4432001-03-23 Gerd Moellmann <gerd@gnu.org>
444
445 * xfaces.c (x_update_menu_appearance): Use a different path
446 for Lucid popup menus.
447
d8731202
SM
4482001-03-22 Stefan Monnier <monnier@cs.yale.edu>
449
450 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
451
452 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
453 (string_buffer_position): Use `make_number'.
454
f61a541b
GM
4552001-03-22 Gerd Moellmann <gerd@gnu.org>
456
3c9e997b
GM
457 * xfaces.c (x_update_menu_appearance): Renamed from
458 x_set_menu_face_resources. Use different resources for popups.
459
460 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
461 (GC_CHECK_STRING_BYTES): Don't define.
462
364cd450
GM
463 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
464 Removed, together with subroutines.
465 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 466 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 467
d8731202
SM
468 * dispextern.h (x_set_menu_resources_from_menu_face):
469 Remove prototype.
364cd450 470
d8731202 471 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
472 Remove calls to x_set_menu_resources_from_menu_face.
473
d8731202
SM
474 * xfaces.c (xm_set_menu_resources_from_menu_face):
475 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
476
477 * xmenu.c: Include widget.h.
478 (single_submenu): Return int. Some cleanup.
479 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
480
140330de
GM
4812001-03-21 Gerd Moellmann <gerd@gnu.org>
482
483 * xterm.c (x_update_window_end): Handle overwritten mouse face
484 also for tool bar windows.
485 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
486 DRAW is DRAW_IMAGE_RAISED.
487
1741905c
GM
4882001-03-20 Gerd Moellmann <gerd@gnu.org>
489
fa88947e
GM
490 * print.c (syms_of_print): Doc fixes.
491
1741905c
GM
492 * fns.c (Fmd5): Doc fix.
493
ade0bee1
GM
4942001-03-19 Gerd Moellmann <gerd@gnu.org>
495
357e7376
GM
496 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
497 Clear area of the frame not occupied by the scroll bar.
498
c2c097cc
GM
499 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
500 tip frame's root window buffer to *tip* right after creating
501 the frame.
502
ade0bee1
GM
503 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
504 is an integer don't have to be for space characters.
505
88c6e37e
GM
5062001-03-16 Gerd Moellmann <gerd@gnu.org>
507
52283633
SM
508 * indent.c (current_column, current_column_1, Fmove_to_column)
509 (compute_motion): Handle characters from display vectors differently.
88c6e37e 510
c62eed76
KH
5112001-03-15 Kenichi Handa <handa@etl.go.jp>
512
513 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
514 drawing glyph string.
515
c899e7e6
GM
5162001-03-15 Gerd Moellmann <gerd@gnu.org>
517
d0bbfc99
GM
518 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
519 (command_loop_1): Undo last change.
520
03d1a189
GM
521 * xterm.c (fast_find_position): Return the correct vpos.
522
c899e7e6 523 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 524 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
525 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
526 Call store_symval_forwarding with BUF null.
527 (set_internal): Call store_symval_forwarding with the BUF
528 parameter passed to set_internal. Formerly, the value was always
529 set in the current buffer; the buffer recorded in specbind for
530 this case wasn't used.
531 (arith_driver): Reindent.
532
52283633
SM
533 * buffer.c (swap_out_buffer_local_variables):
534 Call store_symval_forwarding with BUF null.
c899e7e6
GM
535
536 * lisp.h (store_symval_forwarding): Change prototype.
537
538 * eval.c (specbind): Call store_symval_forwarding with BUF null.
539
57ac7c81
GM
5402001-03-14 Gerd Moellmann <gerd@gnu.org>
541
697617d9
GM
542 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
543 FOR_DELETION. Avoid resizing the mini-window of the selected
544 frame if FOR_DELETION is set.
545 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
546 (Fmake_frame_invisible): Change calls to do_switch_frame for new
547 signature.
548
549 * window.c (Fset_window_configuration): Change call to
550 do_switch_frame to new format.
551
552 * keyboard.c (quit_throw_to_read_char): Change call to
553 do_switch_frame to new format.
554
555 * lisp.h (do_switch_frame): Change prototype.
556
819dce0f
GM
557 * frame.c (Fframe_parameters): In the `buffer-list' frame
558 parameter, store the buffer list of FRAME, not the list of the
559 selected frame.
560
57ac7c81
GM
561 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
562 box just because the glyph row's full_width_p flag is set.
563
65008712
GM
5642001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
565
566 * xdisp.c (highlight_trailing_whitespace): On character terminals,
567 skip the padding blanks inserted in extend_face_to_end_of_line,
568 before checking for trailing whitespace.
569
159cf431
GM
5702001-03-13 Gerd Moellmann <gerd@gnu.org>
571
52283633 572 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
573 Remove special handling for LessTif/Motif.
574 (toplevel): Don't include Xm/Xm.h.
575
52283633
SM
576 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
577 Remove workaround code for LessTif; it doesn't work anymore.
578
2564ea1b 579 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 580 Xm/ScrollBarP.h.
afcdc0a1 581
52283633
SM
582 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
583 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
584 contemporary LessTif.
585
52283633
SM
586 * xfaces.c (xm_set_menu_resources_from_menu_face):
587 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 588
159cf431
GM
589 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
590 removing button grabs.
591
c6f7429a
KH
5922001-03-13 Kenichi Handa <handa@etl.go.jp>
593
cb82d767
KH
594 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
595 and clip-large-size-font as obsolete.
596
c6f7429a
KH
597 * lread.c (read_multibyte): Check the validity of multibyte
598 sequence. If invalid, return the first byte.
599
760cefb5
GM
6002001-03-12 Gerd Moellmann <gerd@gnu.org>
601
602 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
603 before running the command; timer functions or process
604 filters may have set it.
605
5141f9d0
EZ
6062001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
607
608 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
609 Doc fix.
610
b6a15240
GM
6112001-03-12 Gerd Moellmann <gerd@gnu.org>
612
613 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
614 to sprintf.
615
95522746
GM
6162001-03-09 Gerd Moellmann <gerd@gnu.org>
617
db14cfc5
GM
618 * dispextern.h (string_buffer_position): Add prototype.
619
52283633 620 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
621 (single_display_prop_string_p): New functions.
622
623 * xterm.c (note_mouse_highlight): If there's no help-echo on
624 a string, look at the buffer text ``under'' it.
625
626 * keyboard.c (make_lispy_event): Add string info to the event,
627 analogous to what's done on mode lines.
628 (read_key_sequence): For a click on a string, consider `local-map'
629 and `keymap' of that string.
630
52283633
SM
631 * keyboard.c (make_lispy_event, make_lispy_movement):
632 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
633
634 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
635
636 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
637 POS; return void.
638
95522746
GM
639 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
640 flags argument to emacs_open; it seems to conflict with O_EXCL.
641
898a399d
KH
6422001-03-09 Kenichi Handa <handa@etl.go.jp>
643
28cd4910
KH
644 * composite.h (struct composition): Change types of members;
645 glyph_len to unsigned, width to unsigned short.
898a399d 646
4cdf6a6c
AI
6472001-03-08 Andrew Innes <andrewi@gnu.org>
648
649 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
650 menu titles.
651
129004d3
GM
6522001-03-08 Gerd Moellmann <gerd@gnu.org>
653
221dd3e7
GM
654 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
655 instead of nil.
656
52283633 657 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
658 help-echo in strings.
659 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
660 (fast_find_string_pos): New function.
661
52283633
SM
662 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
663 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
664
665 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
666 Handle `mouse-face'.
667
668 * dispextern.h (face_at_string_position): Change prototype.
669
52283633 670 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 671
129004d3
GM
672 * keyboard.c (make_lispy_event): Avoid generating drag events
673 if the mouse hasn't actually moved to another buffer position.
52283633 674
80c8ab8c
DL
6752001-03-08 Dave Love <fx@gnu.org>
676
129004d3 677 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 678
989521fd
GM
6792001-03-08 Gerd Moellmann <gerd@gnu.org>
680
681 * process.c (Fset_process_window_size): Fix a typo.
682
bb5c338d
KH
6832001-03-08 Kenichi Handa <handa@etl.go.jp>
684
685 * coding.c (detect_coding_sjis): Do more rigid check.
686 (detect_coding_big5): Likewise.
687 (decode_coding_sjis_big5): Likewise.
688 (Fdetect_coding_region): Call detect_coding_system with tailing
689 anchor byte `\0' for more rigid detection.
52283633 690 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
691 (Fdetect_coding_string): Likewise.
692
8b8f9197
SM
6932001-03-07 Stefan Monnier <monnier@cs.yale.edu>
694
695 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
696 a string before extracting its data.
697
3bdf2660
GM
6982001-03-07 Gerd Moellmann <gerd@gnu.org>
699
700 * window.c (Frecenter): Rewrite code handling negative values
701 of ARG on graphical frames.
702
7032001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
704
705 * window.c (displayed_window_lines): If W->start is outside the
706 accessible portion of the buffer, call start_display with BEGV or
707 ZV instead of W->start.
708
471f86b9
GM
7092001-03-07 Gerd Moellmann <gerd@gnu.org>
710
2ab62c6c
GM
711 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
712
471f86b9
GM
713 * process.c (Fset_process_filter): Don't crash if the input
714 file descriptor of PROCESS is closed.
715 (Fset_process_window_size): Likewise.
716
101922c3
GM
7172001-03-06 Kenichi Handa <handa@etl.go.jp>
718
719 * xterm.c (XTflash): Make the timeout of select shorter, and call
720 select repeatedly until the desired time expires.
721
45d051a7
GM
7222001-03-06 Gerd Moellmann <gerd@gnu.org>
723
724 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
725
726 * xfns.c (Fx_create_frame): Clear Vwindow_list.
727
728 * lisp.h (Vwindow_list): Declare extern.
729
8f372c46
EZ
7302001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
731
732 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
733
f16a7aa5
GM
7342001-03-06 Gerd Moellmann <gerd@gnu.org>
735
157ae273
GM
736 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
737 to detect a case where we have to highlight a different region
738 despite not having left the currently highlighted region.
739 Set mouse_face_overlay in the x_display_info.
45d051a7 740 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
741
742 * xterm.h (struct x_display_info): Add mouse_face_overlay.
743
744 * buffer.c (mouse_face_overlay_overlaps): New function.
745
746 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
747 (Qmouse_face): Declare extern.
748
f16a7aa5
GM
749 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
750 if face_change_count is non-zero.
751
827afcac
KH
7522001-03-06 Kenichi Handa <handa@etl.go.jp>
753
754 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
755 that the source is unibyte.
756
14c7242e
DL
7572001-03-05 Dave Love <fx@gnu.org>
758
827afcac 759 * xterm.c (XTmouse_position): Fix typo.
14c7242e 760
c28b847b
GM
7612001-03-05 Gerd Moellmann <gerd@gnu.org>
762
763 * minibuf.c (read_minibuf): Clean up the binding stack if
764 called noninteractively.
765
b86644f2
KH
7662001-03-05 Kenichi Handa <handa@etl.go.jp>
767
768 * coding.c (syms_of_coding): Docstring modified.
769
203682cc 7702001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
771
772 * charset.c (char_to_string): If a single byte char has modifier
773 bits that can't be reflected to the character code, ignore them
45d051a7 774 instead of signaling an error.
b86644f2 775
e30bd7b7
EZ
7762001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
777
778 * s/msdos.h: Update copyright notice.
779
780 * dosfns.h: Update copyright notice.
781
782 * dosfns.c: Update copyright notice.
783
784 * msdos.c: Update copyright notice.
785
b52b65bd
GM
7862001-03-02 Gerd Moellmann <gerd@gnu.org>
787
788 * xterm.c (glyph_rect): New function.
789 (XTmouse_position): Use it to raise the threshold for mouse
790 movement event generation.
791
53c4b1e6
EZ
7922001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
793
794 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
795 specifies (reverse . t), reverse the initial screen colors.
796 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
797 but we are reversing the colors, set bg_set, not fg_set.
798 Likewise for setting background-color and reversing: set fg_set.
799 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
800 in effect.
801
802 * xfaces.c (Finternal_set_lisp_face_attribute)
803 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
804 parameters alist.
805
f964b4d7
GM
8062001-03-02 Gerd Moellmann <gerd@gnu.org>
807
ef53d75e
GM
808 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
809 to a single slash in the middle of file names.
810
52283633 811 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
812 Accept only alphanumeric time zone names.
813
f964b4d7
GM
814 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
815 or width area.
816 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
817 a widget to zero height.
52283633 818
c3c45f65
GM
8192001-03-01 Gerd Moellmann <gerd@gnu.org>
820
821 * window.c (Fwindow_end): Call move_it_past_eol only if
822 ending up on a partially visible line.
823
028d739a
DL
8242001-03-01 Dave Love <fx@gnu.org>
825
826 * ccl.c (Fccl_execute): Doc fix.
827
57c5889c
GM
8282001-03-01 Gerd Moellmann <gerd@gnu.org>
829
35f59f6b
GM
830 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
831 of the tool bar before calling x_figure_window_size.
832
f84ff02c
GM
833 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
834 NULL after destroying it, otherwise XTread_socket can access a
835 destroyed widget when input is unblocked.
836
8b8f9197 837 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 838
57c5889c
GM
839 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
840 same name as before, although there was a change in fontsets.
841
224227d1
KR
8422001-02-28 Ken Raeburn <raeburn@gnu.org>
843
4560730a
KR
844 * lisp.h (Fframe_parameter): Declare.
845
224227d1 846 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 847 Lisp_Object.
224227d1 848
ece93c02
GM
8492001-02-28 Gerd Moellmann <gerd@gnu.org>
850
11ef99b9
GM
851 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
852 NULL instead.
853
854 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
855 NULL instead.
856
ece93c02
GM
857 * alloc.c (toplevel): Include process.h.
858 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
859 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
860 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
861 (allocate_vector, allocate_hash_table, allocate_window)
862 (allocate_frame, allocate_process, allocate_other_vector):
863 New functions.
ece93c02
GM
864 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
865 (mark_maybe_pointer): New function.
52283633 866 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
867 remain and not Lisp_Objects.
868 (min_heap_address, max_heap_address): New variables.
869 (mem_find): Return MEM_NIL if START is below min_heap_address or
870 above max_heap_address.
871 (mem_insert): Compute min_heap_address and max_heap_address.
872
873 * process.c (make_process): Use allocate_process.
874
875 * frame.c (make_frame): Use allocate_frame.
876
877 * window.c (make_window, make_dummy_parent): Use allocate_window.
878 (Fcurrent_window_configuration): Use allocate_other_vector.
879
880 * lisp.h (allocate_vectorlike): Remove prototype.
881 (allocate_vector, allocate_other_vector, allocate_frame)
882 (allocate_window, allocate_process, allocate_hash_table):
883 Add prototypes.
884
885 * fns.c (Fdelete, larger_vector): Use allocate_vector.
886 (make_hash_table, copy_hash_table): Use allocate_hash_table.
887
063af457
KH
8882001-02-27 Kenichi Handa <handa@etl.go.jp>
889
890 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
891 treat the produced bytes as a valid multibyte sequence.
892
893 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
894 (ccl_driver) <CCL_WriteMultibyteChar2>:
895 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
896 <ccl_finish>: Set ccl->eight_bit_control properly.
897
898 * ccl.h (struct ccl_program): New member eight_bit_control.
899
f58c6494
SM
9002001-02-26 Stefan Monnier <monnier@cs.yale.edu>
901
902 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
903 accessible_keymaps_char_table.
904 (accessible_keymaps_char_table): Obey `is_metized'.
905 (where_is_internal, Fwhere_is_internal): Don't confuse int and
906 Lisp_Object.
907
c596c392
GM
9082001-02-26 Gerd Moellmann <gerd@gnu.org>
909
910 * dispnew.c: Check HAVE_TERM_H before including term.h.
911
425de386
AI
9122001-02-24 Andrew Innes <andrewi@gnu.org>
913
914 * makefile.w32-in: Update copyright notice.
915
2ba11bbd
SM
9162001-02-24 Stefan Monnier <monnier@cs.yale.edu>
917
918 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
919
66c56ed1
KH
9202001-02-24 Kenichi Handa <handa@etl.go.jp>
921
4c1593ce
KH
922 * Makefile.in (lisp): Add international/utf-8.elc.
923
66c56ed1
KH
924 * fontset.c (Fnew_fontset): Fix handling of the case that an
925 element of FONTLIST is a cons of family and registry.
926
796ead7e
JR
9272001-02-23 Jason Rumney <jasonr@gnu.org>
928
929 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
930 to height unconditionally.
931
932 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 933 background face to the end of the drawing area in the text area, only.
796ead7e
JR
934 (x_insert_glyphs): Call window_box_left to obtain the left
935 x-coordinate of the area to shift.
936
937 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
938 safe_run_hooks.
939
f6839838
AI
9402001-02-22 Andrew Innes <andrewi@gnu.org>
941
52283633 942 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
943 ($(BLD)\dispnew.obj):
944 ($(BLD)\editfns.obj):
945 ($(BLD)\fileio.obj):
946 ($(BLD)\filelock.obj):
947 ($(BLD)\keyboard.obj):
948 ($(BLD)\w32proc.obj):
949 ($(BLD)\process.obj):
950 ($(BLD)\sysdep.obj): Ditto.
951
952 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
953 header files.
52283633
SM
954 ($(BLD)/dispnew.$(O)):
955 ($(BLD)/editfns.$(O)):
956 ($(BLD)/fileio.$(O)):
957 ($(BLD)/filelock.$(O)):
958 ($(BLD)/keyboard.$(O)):
959 ($(BLD)/w32proc.$(O)):
960 ($(BLD)/process.$(O)):
f6839838
AI
961 ($(BLD)/sysdep.$(O)): Ditto.
962
c224f70b
GM
9632001-02-22 Gerd Moellmann <gerd@gnu.org>
964
51695746
GM
965 * xdisp.c (forward_to_next_line_start): When taking the shortcut
966 at the start of the function, check that the \n in it->c is
967 from the iterator's current position.
52283633 968
a61b7058
GM
969 * xdisp.c (handle_single_display_prop): Add parameter
970 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
971 properties which replace the display of text with something else.
972 (handle_display_prop): Call handle_single_display_prop with
973 additional argument saying if we already replaced text display
974 with something else. Use AREF.
52283633 975 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
976 (decode_mode_spec_coding): Use AREF and ASIZE.
977
3473f362
GM
978 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
979 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
980 * vmstime.h: Files removed.
52283633 981
2bb58df3
GM
982 * unexencap.c, unexfx2800.c: Files removed.
983
c224f70b
GM
984 * dispnew.c (direct_output_for_insert): Give up if we are showing
985 a message or just cleared the message because we might need to
986 resize the echo area window or display an empty echo area.
987
ffc9ff0c
GM
9882001-02-21 Gerd Moellmann <gerd@gnu.org>
989
0528abe1
GM
990 * xdisp.c (redisplay_internal): Do the
991 mark_window_display_accurate after all windows have been
992 redisplayed because this call resets flags in buffers which are
993 needed for proper redisplay.
994
52283633
SM
995 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
996 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
997 the old names.
998
52283633
SM
999 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1000 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1001
1002 * msdos.h (struct x_output): Rename busy_window to
1003 hourglass_window, busy_p to hourglass_p.
1004
52283633
SM
1005 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
1006 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
1007
1008 * xfns.c: Rename everything containing *busy_cursor* and similar
1009 to *hourglass*.
1010 (syms_of_w32fns): Rename x-busy-pointer-shape to
1011 x-hourglass-pointer-shape, display-busy-cursor to
1012 display-hourglass, busy-cursor-delay to hourglass-delay.
1013
1014 * w32fns.c: Rename everything containing *busy_cursor* and similar
1015 to *hourglass*.
1016 (syms_of_w32fns): Rename x-busy-pointer-shape to
1017 x-hourglass-pointer-shape, display-busy-cursor to
1018 display-hourglass, busy-cursor-delay to hourglass-delay.
1019
1020 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
1021 of its busy_p flag.
1022
1023 * dispextern.h (start_hourglass, cancel_hourglass)
1024 (display_hourglass_p): Renamed from *busy_cursor*.
1025
ab2c5f0a
GM
10262001-02-20 Gerd Moellmann <gerd@gnu.org>
1027
d17e49a8
GM
1028 * keyboard.c (read_char): When an event from unread-command-events
1029 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
1030
fa97adf6
GM
1031 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
1032 equal to the current buffer.
1033
ab2c5f0a
GM
1034 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
1035 nil, otherwise we're left with truncate_lines t when a message
1036 is printed with message-truncate-lines bound to t.
1037
aeac019e
GM
10382001-02-19 Gerd Moellmann <gerd@gnu.org>
1039
c8bc6f65
GM
1040 * window.c (Fmove_to_window_line): Undo last change.
1041 (displayed_window_lines): Call line_bottom_y to determine
1042 the line's bottom position.
1043
1044 * dispextern.h (line_bottom_y): Add prototype.
1045
52283633 1046 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
1047 (pos_visible_p): Use it.
1048
980a2d69
GM
1049 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
1050 set redisplaying_p to 0 here instead of in Frecursive_edit.
1051 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
1052 set redisplaying_p.
1053
52283633 1054 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1055 New variables.
1056 (syms_of_xdisp): Initialize new variables.
1057 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1058 Specbind `inhibit-menubar-update' when updating the menu bar.
1059
65048e97
GM
1060 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1061 safe_run_hooks.
1062
1063 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1064 safe_run_hooks.
1065
a57c4026
GM
1066 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1067 is null.
1068
aeac019e
GM
1069 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1070 to the start of the file.
1071
76846b31
GM
10722001-02-16 Gerd Moellmann <gerd@gnu.org>
1073
f3f053f3 1074 * window.c (set_window_buffer): Fix last change.
52283633 1075
f3f053f3
GM
1076 * window.c (set_window_buffer): Set window's vscroll to 0.
1077
dad75588
GM
1078 * window.c (coordinates_in_window): Increase width of area
1079 where the vertical line can be dragged.
1080
c220b753
GM
1081 * xterm.c (x_set_glyph_string_background_width): Extend the
1082 background face to the end of the drawing area in the text
1083 area, only.
1084
c56b1c1b
GM
1085 * xdisp.c (handle_single_display_prop): Set iterator's position
1086 to where the `display' property starts, like for images.
1087 (dump_glyph): New function.
1088 (dump_glyph_row): Use it. Dump info about marginal areas.
1089
1090 * dispnew.c (direct_output_for_insert): Recognize more cases where
1091 glyphs can be written instead of being inserted.
1092
1093 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1094 the left x-coordinate of the area to shift.
1095
76846b31
GM
1096 * dired.c (directory_files_internal): Set result list to nil
1097 before retrying.
1098
0fc71a77
KH
10992001-02-15 Kenichi Handa <handa@etl.go.jp>
1100
1101 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1102 invalid multibyte sequence, treat *SRC as a character of
1103 eight-bit-graphic.
1104
25078b54
EZ
11052001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1106
1107 * textprop.c (Fset_text_properties): Doc fix.
1108
8399f8a0
GM
11092001-02-15 Gerd Moellmann <gerd@gnu.org>
1110
1111 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1112
9a2a6f73
DL
11132001-02-14 Dave Love <fx@gnu.org>
1114
1115 * coding.c: Doc and message fixes.
1116
bf853fee
AI
11172001-02-14 Andrew Innes <andrewi@gnu.org>
1118
1119 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1120 Emacs frame above the screen size.
1121
78c663d8
GM
11222001-02-14 Gerd Moellmann <gerd@gnu.org>
1123
1124 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1125
7cc9f69f
GM
11262001-02-13 Gerd Moellmann <gerd@gnu.org>
1127
0a411995
GM
1128 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1129 case that TO ends up beyond ZV after running before-change-functions.
1130
5ddc1b75
GM
1131 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1132 the selected window if it is showing the buffer in question.
1133
7cc9f69f
GM
1134 * dired.c (directory_files_internal): Initialize errno.
1135 (toplevel): Include errno.h.
1136
2e6621ca
GM
11372001-02-13 Kenichi Handa <handa@etl.go.jp>
1138
1139 * xfaces.c (best_matching_font): New parameter width_ratio.
1140 Multiply avgwidth by width_ratio.
1141 (choose_face_font): Call best_matching_font with width_ratio
1142 calculated from the column width of C.
1143
60222d69
AI
11442001-02-12 Andrew Innes <andrewi@gnu.org>
1145
1146 The following changes are to draw box lines inside characters area
1147 if line-width is negative.
52283633 1148
60222d69
AI
1149 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1150 face->box_line_width is negative.
1151 (x_produce_stretch_glyph): Likewise.
1152 (x_produce_glyphs): Likewise.
1153 (x_estimate_mode_line_height): Likewise.
1154 (x_draw_glyph_string_background): Likewise.
1155 (x_draw_glyph_string_foreground): Likewise.
1156 (x_draw_composite_glyph_string_foreground): Likewise.
1157 (x_draw_glyph_string_box): Likewise.
1158 (x_draw_image_foreground): Likewise.
1159 (x_draw_image_relief): Likewise.
1160 (x_draw_image_foreground_1): Likewise.
1161 (x_draw_image_glyph_string): Likewise.
1162
9804b846
KH
11632001-02-09 Kenichi Handa <handa@etl.go.jp>
1164
1165 The following changes are to draw box lines inside characters area
1166 if line-width is negative.
52283633 1167
9804b846
KH
1168 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1169 face->box_line_width is negative.
1170 (x_produce_stretch_glyph): Likewise.
1171 (x_produce_glyphs): Likewise.
1172 (x_estimate_mode_line_height): Likewise.
1173 (x_draw_glyph_string_background): Likewise.
1174 (x_draw_glyph_string_foreground): Likewise.
1175 (x_draw_composite_glyph_string_foreground): Likewise.
1176 (x_draw_glyph_string_box): Likewise.
1177 (x_draw_image_foreground): Likewise.
1178 (x_draw_image_relief): Likewise.
1179 (x_draw_image_foreground_1): Likewise.
1180 (x_draw_image_glyph_string): Likewise.
1181
1182 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1183 and :line-width can be negative.
52283633 1184 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1185
49be9f70
JR
11862001-02-09 Jason Rumney <jasonr@gnu.org>
1187
1188 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1189 characters the same as ASCII and latin-1.
1190 (x_display_and_set_cursor): Check for the focus frame's selected
1191 window instead of selected_window.
1192 (x_after_update_window_line): Don't clear if frame's internal
1193 border width is zero.
1194 (x_new_font): Don't change a tooltip's size.
1195 (w32_initialize): Set char_ins_del_ok to 1.
1196
1197 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1198 (x_set_font): If font hasn't changed, avoid recomputing
1199 faces and other things.
52283633
SM
1200 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1201 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1202 (x_create_tip_frame): Prevent changing the tooltip's
1203 background color by specifying a color for the default font
1204 in .Xdefaults.
1205 (Qcancel_timer): New variable.
1206 (syms_of_w32fns): Initialize and staticpro it.
1207 (Fx_hide_tip, Fx_show_tip): Use it.
1208 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1209 the timer.
1210 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1211
1212 * w32.c (init_environment): Duplicate local string before putenv.
1213
555e35d2
SZ
12142001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1215
1216 * charset.c (Fstring): A typo.
1217
19c92c94
KH
12182001-02-09 Kenichi Handa <handa@etl.go.jp>
1219
e47a1c33
KH
1220 * charset.c (Fstring): If all arguments are less than 256, return
1221 a unibyte string.
1222
1223 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1224 return a unibyte string.
1225
19c92c94
KH
1226 * coding.c (code_convert_region): After detecting a coding, if
1227 nothing found, set coding->composing to COMPOSITION_NO.
1228 (decode_coding_string): Likewise.
1229
d8e675f5
SM
12302001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1231
1232 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1233 to avoid overflow.
1234
bd503487
KH
12352001-02-07 Kenichi Handa <handa@etl.go.jp>
1236
1237 * charset.c (parse_str_to_multibyte): New function.
1238
1239 * charset.h (parse_str_to_multibyte): Extern it.
1240
1241 * print.c (print_string): If we are going to print a unibyte
1242 string into a multibyte buffer, convert the string to multibyte by
1243 str_to_multibyte.
1244
a8370d72
AI
12452001-02-06 Andrew Innes <andrewi@gnu.org>
1246
1247 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1248 been created. It seems we can get sent window messages such as
1249 WM_ERASEBKGND before we properly update a frame.
1250
c363a1d6
GM
12512001-02-06 Gerd Moellmann <gerd@gnu.org>
1252
1253 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1254 Avoid some unnecessary cursor positioning.
1255
a08332c0
GM
12562001-02-05 Gerd Moellmann <gerd@gnu.org>
1257
52283633 1258 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1259 (LFACE_AVGWIDTH): New macro.
1260 (LFACEP): Use AREF.
1261 (check_lface_attrs): Check LFACE_AVGWIDTH.
1262 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1263 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1264 (merge_face_vectors): Check LFACE_AVGWIDTH.
1265 (Finternal_make_lisp_face): Use AREF.
1266 (xm_set_menu_resources_from_menu_face)
1267 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1268 (Finternal_lisp_face_empty_p): Use AREF.
1269 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1270 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1271 Compare average widths..
1272 (best_matching_font): Arrange for comparing average widths.
1273
52283633
SM
1274 * dispextern.h (enum lface_attribute_index):
1275 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1276
5cb3c8d4
DL
12772001-02-05 Dave Love <fx@gnu.org>
1278
1279 * puresize.h: Revert last change following loadup.el change.
1280
193fba87
AI
12812001-02-05 Andrew Innes <andrewi@gnu.org>
1282
1283 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1284 invocation of temacs, to work with Windows 2000.
1285 (bootstrap-emacs): Ditto.
1286
e16f52ce
GM
12872001-02-05 Gerd Moellmann <gerd@gnu.org>
1288
7a58ab59
GM
1289 * xterm.c (x_display_and_set_cursor): Check for the focus
1290 frame's selected window instead of selected_window.
1291
e89aaabd
GM
1292 * xdisp.c (try_scrolling): If point is in the line below the
1293 window, make sure to move the iterator at least a canonical
1294 char height down.
1295
52283633 1296 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1297
789ce875
KH
12982001-02-05 Kenichi Handa <handa@etl.go.jp>
1299
52283633
SM
1300 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1301 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1302 (ccl_driver): If the CCL program is terminated because of
1303 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1304 destination instead of throwing them away.
1305
20b28f82
GM
13062001-02-02 Gerd Moellmann <gerd@gnu.org>
1307
79fb38c0
GM
1308 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1309 faces and other things.
1310
20b28f82
GM
1311 * xdisp.c (get_next_display_element): Fix case of empty
1312 display table entry.
1313
5a72551e
EZ
13142001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1315
eb24d0bf
EZ
1316 * editfns.c (Fconstrain_to_field): Doc fix.
1317
6a3f48c7
EZ
1318 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1319 into `thoroughly', to make it consistent with the doc string.
1320
5a72551e
EZ
1321 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1322
01acdb05
GM
13232001-02-01 Gerd Moellmann <gerd@gnu.org>
1324
0353b28f
GM
1325 * search.c (search_buffer): Call set_search_regs with a byte
1326 position, not a character position.
1327
01acdb05
GM
1328 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1329 minibuffer-only,
1330
e86b5133
EZ
13312001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1332
1333 * frame.c (Fmodify_frame_parameters): Doc fix.
1334
7442878f
GM
13352001-01-31 Gerd Moellmann <gerd@gnu.org>
1336
01acdb05
GM
1337 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1338 identifier which is not reserved by Standard C.
52283633 1339
7442878f
GM
1340 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1341
1342 * window.c (enum window_part): New enumeration.
1343 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1344 Qright_bitmap_area.
1345 (coordinates_in_window): Return an enumerator from enum
1346 window_part. Fix handling of right scroll bar.
1347 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1348 `right-fringe' instead of `left-bitmap-area' and
1349 `right-bitmap-area'. Use enumerators from enum window_part
1350 instead of hard-coded integers.
52283633
SM
1351 (check_window_containing, window_from_coordinates):
1352 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1353 (syms_of_window): Replace Qleft_bitmap_area and
1354 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1355
7c132cba
EZ
13562001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1357
1358 * editfns.c (Fformat_time_string): Doc fix.
1359
c359dd9e
SM
13602001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1361
1362 * keymap.c (Fwhere_is_internal): Use the first valid binding
1363 if no ascii binding is found (when firstonly is t).
1364
ce070307
GM
13652001-01-31 Gerd Moellmann <gerd@gnu.org>
1366
b4f30ec5
GM
1367 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1368 instead of Finteractive_p.
1369
1370 * lisp.h (interactive_p): Add prototype.
1371
1372 * eval.c (interactive_p): New function.
1373 (Finteractive_p): Use it.
1374
ce070307
GM
1375 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1376
f57b6e64
DL
13772001-01-31 Dave Love <fx@gnu.org>
1378
d61c7afe
DL
1379 * .gdbinit (hook-run): Define to run xreload.
1380
f57b6e64
DL
1381 * textprop.c (Fset_text_properties): Fix newline in doc string.
1382
eef93f99
GM
13832001-01-30 Gerd Moellmann <gerd@gnu.org>
1384
52283633
SM
1385 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1386 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1387
1388 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1389 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1390 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1391
1392 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1393 height.
1394
d9c1f6f9
DL
13952001-01-30 Dave Love <fx@gnu.org>
1396
1397 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1398 AFTER_POTENTIAL_GC.
1399
e8f044a0
GM
14002001-01-29 Gerd Moellmann <gerd@gnu.org>
1401
52283633
SM
1402 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1403 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1404
8e1db7b3
EZ
14052001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1406
1407 * textprop.c (Fset_text_properties): Doc fix.
1408
4eefd9d2
GM
14092001-01-29 Gerd Moellmann <gerd@gnu.org>
1410
1411 * xdisp.c (forward_to_next_line_start): Remove xassert.
1412
fccb8288
EZ
14132001-01-29 Jason Rumney <jasonr@gnu.org>
1414
4eefd9d2 1415 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1416 returning without releasing it.
1417
76581eab
KH
14182001-01-29 Kenichi Handa <handa@etl.go.jp>
1419
1420 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1421 for '^', '$', and '\0'.
1422
83a96b4d
AC
14232001-01-28 Andrew Choi <akochoi@i-cable.com>
1424
5604ec34
AC
1425 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1426 regex for '^', '$', and '\0'.
1427
83a96b4d
AC
1428 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1429 only if current_sblock has been initialized.
1430
1431 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1432 terminal frame even if it is the only visible frame.
1433
c09a6440
KH
14342001-01-28 Kenichi Handa <handa@etl.go.jp>
1435
1436 * fontset.c (font_family_registry): Even if FONTNAME conform to
1437 XLFD, if it specifies other fields than family and registry,
52283633 1438 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1439 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1440 a signle byte character. Don't set FAMILY part to nil here.
1441 It is handled by the caller choose_face_font.
c09a6440
KH
1442 (Fnew_fontset): Call font_family_registry with FORCE 0.
1443 (Fset_fontset_font): Likewise.
1444
4dcd74e6
GM
14452001-01-27 Gerd Moellmann <gerd@gnu.org>
1446
1447 * xdisp.c (display_line): Don't treat a newline as fitting
1448 on the line.
1449
d2906bf8
GM
14502001-01-26 Gerd Moellmann <gerd@gnu.org>
1451
0130fe1a
GM
1452 * window.c (size_window): Set the window's orig_top to nil when
1453 changing heights, so that a future shrink_mini_window won't
1454 restore a bogus height.
1455
550f0e6a
GM
1456 * frame.c (do_switch_frame): If selected frame has a mini-window,
1457 resize that to exact size.
1458
b7b20fbd
GM
1459 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1460
a47b7816
GM
1461 * xdisp.c (display_line): Simplify check for glyphs fitting
1462 entirely in the line.
1463
d2906bf8
GM
1464 * xfns.c (xic_style): New variable.
1465 (create_frame_xic): Move static variable to global scope for
550f0e6a 1466 the case that `static' gets defined away.
d2906bf8 1467
73df2b1e
KH
14682001-01-26 Kenichi Handa <handa@etl.go.jp>
1469
1470 * coding.c (decode_coding): Set a flag for inhibiting
1471 inconsistent eol.
1472 (code_convert_region): Always set saved_coding_symbol.
1473 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1474 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1475
6613cfc4
GM
14762001-01-25 Gerd Moellmann <gerd@gnu.org>
1477
c5e6e06b
GM
1478 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1479 XClearArea.
1480
1481 * xterm.c (x_after_update_window_line): Don't clear if frame's
1482 internal border width is zero.
1483 (x_clear_area): New function.
1484 (x_after_update_window_line, x_clear_end_of_line)
1485 (x_scroll_bar_create, x_scroll_bar_set_handle)
1486 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1487 instead of XClearArea.
1488
1489 * xterm.h (x_clear_area): Add prototype.
1490
6613cfc4
GM
1491 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1492 which doesn't seem necessary anymore with Lesstif 0.92.
1493
650cc6cc
DL
14942001-01-25 Dave Love <fx@gnu.org>
1495
34ac3367
DL
1496 * puresize.h (BASE_PURESIZE): Up to 720000.
1497
650cc6cc
DL
1498 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1499
5e37dc22
GM
15002001-01-25 Gerd Moellmann <gerd@gnu.org>
1501
e1e441f9
GM
1502 * xdisp.c (echo_area_display): Don't call redisplay_internal
1503 when Emacs is shutting down. We can't run hooks etc. that
1504 would be necessary to do a redisplay.
1505
5e37dc22
GM
1506 * lread.c (read_integer): Use type EMACS_INT instead of int.
1507
0fb94c7f
EZ
15082001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1509
1510 * ccl.c (ccl_driver): Fix last change.
1511
e3778624
KH
15122001-01-25 Kenichi Handa <handa@etl.go.jp>
1513
1514 * ccl.h (sturct ccl_program): New member suppress_error.
1515
bb264518 1516 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1517 insert error message to the output.
1518 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1519
1520 * coding.h (struct coding_system): New member suppress_error.
1521
1522 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1523 (Fset_terminal_coding_system_internal): Set the member
1524 suppress_error to 1.
1525 (Fset_safe_terminal_coding_system_internal): Likewise.
1526
245ed2b1
SM
15272001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1528
1529 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1530 as if it was a `charset'.
1531
f9aaedb6
GM
15322001-01-24 Gerd Moellmann <gerd@gnu.org>
1533
1534 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1535 value in where_is_cache; the next lookup in the cache returns
1536 something bogus if we do.
1537
c3902c3e
EZ
15382001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1539
1540 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1541 if HAVE_WINDOW_SYSTEM isn't defined.
1542
3497f73e
GM
15432001-01-24 Gerd Moellmann <gerd@gnu.org>
1544
e7e41584
GM
1545 * fns.c (sweep_weak_table): Fix code taking items out of
1546 the hash collision chain. Some cleanup.
1547
3497f73e
GM
1548 * xterm.c (x_new_font): Don't change a tooltip's size.
1549
1550 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1551 background color by specifying a color for the default font
1552 in .Xdefaults.
1553
3d48e687
KH
15542001-01-24 Kenichi Handa <handa@etl.go.jp>
1555
96531b20
KH
1556 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1557 a workaround for SunOS 4's cc.
1558 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1559 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1560 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1561 statement.
3d48e687 1562
a30629d2
GM
15632001-01-23 Gerd Moellmann <gerd@gnu.org>
1564
1565 * xterm.c (x_set_window_size_1): New function extracted from
1566 x_set_window_size.
1567 (x_set_window_size): Use it.
1568 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1569 doesn't have a widget, like tooltips.
1570
5a43decf
EZ
15712001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1572
52283633 1573 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1574
b0e98867
KH
15752001-01-23 Kenichi Handa <handa@etl.go.jp>
1576
1577 * fns.c (Fset_char_table_default): Fix to make sub char-table
1578 correctly.
1579
50606b4c
GM
15802001-01-22 Gerd Moellmann <gerd@gnu.org>
1581
cb2ddc53 1582 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1583 a desired tool bar string, even if there are no tool bar items.
1584
57c28064
GM
1585 * xdisp.c (Ftool_bar_lines_needed): New function.
1586 (syms_of_xdisp): Defsubr it.
1587
50606b4c
GM
1588 * editfns.c (Fformat): Don't extend text properties from arguments
1589 to padding chars in the result.
1590
2f169c38
EZ
15912001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1592
1593 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1594
0f32f023
AI
15952001-01-20 Andrew Innes <andrewi@gnu.org>
1596
52283633 1597 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1598 (w32_initialize): Don't set term hooks that aren't actually needed
1599 in windowed mode.
1600
1601 * xfaces.c (realize_default_face):
1602 (realize_face):
1603 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1604
1605 * xdisp.c (handle_single_display_prop): Remove references to
1606 FRAME_W32_CONSOLE_P.
1607
52283633 1608 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1609
1610 * frame.h (output_method): Remove output_w32_console method.
1611 (FRAME_W32_CONSOLE_P): Remove macro.
1612
1613 * frame.c (Qw32_console): Remove variable.
1614 (Fframep): Remove references to it.
1615 (syms_of_frame): Ditto.
1616 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1617
1618 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1619 redefinition.
1620
7173eada
KH
16212001-01-20 Kenichi Handa <handa@etl.go.jp>
1622
1623 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1624
755b45ce
AI
16252001-01-19 Andrew Innes <andrewi@gnu.org>
1626
1627 * w32.c (init_environment): Add a version-independent site-lisp
1628 directory to EMACSLOADPATH, after the version dependent one.
1629
0a949811
GM
16302001-01-19 Gerd Moellmann <gerd@gnu.org>
1631
8501998a
GM
1632 * editfns.c (Fbuffer_substring): Doc fix.
1633
52283633
SM
1634 * xdisp.c (message_dolog, message2, message2_nolog):
1635 Rename parameter LEN to NBYTES.
0a949811 1636
e6ebcbbe
KH
16372001-01-19 Kenichi Handa <handa@etl.go.jp>
1638
200ecca2
KH
1639 * charset.c (strwidth): Use c_string_width.
1640 (c_string_width): New function.
1641 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1642 Caller changed.
1643
1644 * charset.h (c_string_width, lisp_string_width): Extern them.
1645
52283633 1646 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1647
e6ebcbbe
KH
1648 * indent.c (check_composition): Check validity of composition.
1649
200ecca2
KH
1650 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1651 characters by calling c_string_width.
1652 (x_consider_frame_title): Get byte length of frame tile string
1653 correctly.
1654 (display_mode_element): Pay attention to width of non-ASCII
1655 characters by calling strwidth.
1656
8692ca92
GM
16572001-01-18 Gerd Moellmann <gerd@gnu.org>
1658
8962e303
GM
1659 * xfns.c (Qcancel_timer): New variable.
1660 (syms_of_xfns): Initialize and staticpro it.
1661 (Fx_hide_tip, Fx_show_tip): Use it.
1662 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1663 the timer.
1664 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1665
91523be9
GM
1666 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1667
1668 * window.h (WINDOW_LIVE_P): New macro.
1669
b0b7ed0e
GM
1670 * window.c (window_size_fixed): New variable.
1671 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1672 the doc string.
1673
06bccf8e
GM
1674 * eval.c (specbind): If binding a per-buffer variable which
1675 doesn't have a buffer-local value in the current buffer, change
1676 the global value by changing the value of the symbol bound in all
1677 buffers not having their own value, to make it consistent with
1678 what happens with other buffer-local variables.
1679
8692ca92
GM
1680 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1681
1682 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1683 when searching for a newline.
1684
bb3a3b50
KH
16852001-01-18 Kenichi Handa <handa@etl.go.jp>
1686
1687 * xdisp.c (display_string): Fix previous change.
1688
c2cc16fa
JR
16892001-01-18 Jason Rumney <jasonr@gnu.org>
1690
1691 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1692 GLYPH_DEBUG is defined.
1693 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1694 true for images with `:ascent 100'.
1695 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1696 meantime, use face MOUSE_FACE_ID.
1697 If first glyph isn't a character glyph, use the ASCII NUL
1698 character to determine the face.
1699 (expose_area): Do not treat left margin specially.
1700 (note_mode_line_highlight): If no local_map, check global keymap.
1701 (note_mouse_highlight): Initialize overlay.
52283633 1702 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1703 (show_scroll_bars): Remove unused function.
1704 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1705 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1706 Clip to row.
52283633 1707 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1708 (x_free_frame_resources): Unload relief colors.
1709
9c11f79e
GM
17102001-01-17 Gerd Moellmann <gerd@gnu.org>
1711
3aec8722 1712 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1713 get_next_display_element when the newline is already found.
1714 This may change the iterator's position, when its current position is
3aec8722
GM
1715 equal to the iterator's stop_charpos.
1716
f3ffc2c3
GM
1717 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1718 zero, use this method only at the end of a line.
1719
52283633 1720 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1721 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1722 if SCALABLE_FONTS_P is set.
52283633 1723
d26d6fd9
GM
1724 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1725 so that scalable fonts are included.
1726
9c11f79e
GM
1727 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1728 In the cache, use a key containing the information if scalable
1729 fonts are included.
1730 (x_load_font): Adapt to change of keys in the font cache.
1731
17322001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1733
d26d6fd9
GM
1734 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1735 XListFonts to take advantage of font caching.
1736
9c11f79e
GM
1737 * xterm.c (x_list_fonts): Ensure caching font information when
1738 called for a null frame, which is the case frequently when Emacs
1739 starts.
1740
51446987
GM
17412001-01-17 Gerd Moellmann <gerd@gnu.org>
1742
f864120f
GM
1743 * xfns.c (QCconversion): Replaces QCalgorithm.
1744
1745 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1746
1747 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1748 of :algorithm.
52283633 1749
e37d1417
GM
1750 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1751 not everything could be displayed.
1752
51446987
GM
1753 * line.h, x-list-font.c: Files removed because unused.
1754
9ad4f3e5
AI
17552001-01-17 Andrew Innes <andrewi@gnu.org>
1756
1757 * dired.c (directory_files_internal): Convert result from readdir
1758 to a unibyte string initially, to avoid possible misinterpretation
1759 of some bytes as the internal form of Emacs characters.
1760
2eda09b5
KH
17612001-01-17 Kenichi Handa <handa@etl.go.jp>
1762
1763 * fns.c (concat): Be sure to avoid putting the same `composition'
1764 property on the adjacent regions.
1765
826f3788
GM
17662001-01-16 Gerd Moellmann <gerd@gnu.org>
1767
52283633 1768 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1769 (Fscroll_right, Fscroll_left): Set it here instead, if called
1770 interactively.
1771
d57b83b3
GM
1772 * buffer.c (Fset_buffer_modified_p): Set buffer's
1773 prevent_redisplay_optimizations_p flag.
1774
826f3788 1775 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1776 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1777 with additional arg.
1778
1779 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1780 Change prototype.
826f3788 1781
826f3788
GM
1782 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1783 FROM_WHERE, for debugging.
1784
261d788b
KH
17852001-01-16 Kenichi Handa <handa@etl.go.jp>
1786
1787 * ccl.c (Fregister_ccl_program): Handle the return value of
1788 resolve_symbol_ccl_program correctly.
52283633 1789 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1790
bccee4f2
GM
17912001-01-15 Gerd Moellmann <gerd@gnu.org>
1792
e4ded23c
GM
1793 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1794 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1795
1796 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1797 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1798 the display; we didn't open it.
1799
bccee4f2
GM
1800 * dispnew.c (save_or_restore_current_matrices): Function removed.
1801 (save_current_matrix, restore_current_matrix): New functions.
1802 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1803 restore the frame's current matrix. Due to the glyph pointer
1804 setup done in adjust_glyph_matrix, there is no easy way to make
1805 saving the current matrix in the desired matrix generally correct,
1806 so don't try it.
1807
ebeccffa
KH
18082001-01-15 Kenichi Handa <handa@etl.go.jp>
1809
1810 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1811 truncation glyphs.
1812 (display_line): Optimize for wide characters.
e4ded23c 1813 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1814 partially. On ttys, produce more than one truncation glyph for
1815 multi-column characters that don't fit on the line.
1816
64388126
KH
18172001-01-13 Kenichi Handa <handa@etl.go.jp>
1818
52283633
SM
1819 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1820 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1821
8edb0a6f
JR
18222001-01-13 Jason Rumney <jasonr@gnu.org>
1823
1824 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1825 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1826 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1827 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1828
52283633
SM
1829 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1830 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1831 (x_draw_image_glyph_string): Adapt to change of image margins.
1832
1833 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1834 variables.
1835
1836 * w32bdf.c (search_file_line, get_cached_font_char)
1837 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1838
1839 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1840
1841 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1842 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1843 (Fw32_send_sys_command): Remove unused variables.
1844 (w32_msg_pump): Add parentheses.
1845
1846 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1847 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1848 Add parentheses.
1849
4956d1ef
GM
18502001-01-12 Gerd Moellmann <gerd@gnu.org>
1851
b30623be
GM
1852 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1853 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1854 being a pair of margins.
1855 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1856 to DEFVAR_LISP. Extend doc.
1857
1858 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1859 margins.
1860 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1861 pair of integers `(X . Y)', use X for the horizontal and Y for the
1862 vertical margin.
1863 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1864 (parse_image_spec): Check it.
52283633
SM
1865 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1866 (tiff_format, gif_format, gs_format):
1867 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1868
52283633
SM
1869 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1870 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1871 (x_draw_image_glyph_string): Adapt to the change of image margins.
1872
1873 * dispextern.h (struct image): Replace member `margin' with
1874 `hmargin' and `vmargin'.
1875
4554cc79
GM
1876 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1877 and GLYPHS.
1878
1879 * dispnew.c (update_text_area): Put code which decrements the
1880 stop position when the row's face extends to the end of the
3bffc665 1881 line in #if 0.
4554cc79 1882
3cccce8d
GM
1883 * xfns.c (x_set_mouse_color): Fix color allocation.
1884
4956d1ef
GM
1885 * keyboard.c: Call get_local_map with new argument list.
1886
1887 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1888
1889 * intervals.h (enum map_property): Removed.
1890 (get_local_map): Change prototype.
1891
1892 * keymap.c: Call get_local_map with new argument list.
1893 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1894
2c2ff7f2
GM
18952001-01-11 Gerd Moellmann <gerd@gnu.org>
1896
a23887b9
GM
1897 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1898 of the size needed for the tool bar string. For the last image,
1899 use a `display' property that reaches to the end of the string.
1900
a7ee2d2e
GM
1901 * xselect.c (selection_request_dpyinfo): New variable.
1902 (x_handle_selection_request): Set it.
1903 (x_selection_request_lisp_error): Don't call
1904 x_decline_selection_request if selection request's display has
1905 been closed.
1906
52283633
SM
1907 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1908 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1909
457b792c
GM
19102001-01-10 Dave Love <fx@gnu.org>
1911
1912 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1913 ${SOME_MACHINE_LISP}, not ${lisp}.
1914
c1efd260
GM
19152001-01-10 Gerd Moellmann <gerd@gnu.org>
1916
52283633
SM
1917 * xdisp.c (display_line): On ttys, produce more than one truncation
1918 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1919
ac95a621
GM
1920 * xselect.c (x_reply_selection_request): Add a comment.
1921
c1efd260
GM
1922 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1923 XkbGetNames instead of XkbGetKeyboard.
1924
1bfb1345
DL
19252001-01-10 Dave Love <fx@gnu.org>
1926
1927 * sysdep.c (random): Revert the declaration.
1928
38119822
GM
19292001-01-09 Gerd Moellmann <gerd@gnu.org>
1930
52283633
SM
1931 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1932 Call function string_bytes.
35f464a7
GM
1933 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1934
1935 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1936 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1937 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1938 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1939 the current sblock.
1940 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1941 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1942 after sweeping strings, and at the end.
1943 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1944
38119822
GM
1945 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1946 ensure that pop_message is called.
1947
1948 * keyboard.c (Fexecute_extended_command): Use a
1949 record_unwind_protect to ensure that pop_message is called.
1950
1951 * lisp.h (push_message_unwind): Add prototype.
1952
1953 * xdisp.c (push_message_unwind): New function.
1954
1955 * fileio.c (do_auto_save_unwind): Do the pop_message here
1956 instead of in Fdo_auto_save.
1957 (Fdo_auto_save): Don't call pop_message.
1958
f47a9ec4
KR
19592001-01-08 Ken Raeburn <raeburn@gnu.org>
1960
1961 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1962 in inner block.
1963
a758f97d
GM
19642001-01-08 Gerd Moellmann <gerd@gnu.org>
1965
6d0afc03
GM
1966 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1967 when increasing window's vscroll.
1968
a758f97d
GM
1969 * macros.c (Qkbd_macro_termination_hook): New variable.
1970 (syms_of_macros): Initialize and staticpro it.
1971 (pop_kbd_macro): Run kbd-macro-termination-hook.
1972
1973 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1974
1bfb1345 19752001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1976
1977 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1978 arglist, for documentation's sake.
1979
0dac6924
AI
19802001-01-06 Andrew Innes <andrewi@gnu.org>
1981
1982 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1983 of *.pdb.
1984
8182406a
AI
19852001-01-05 Andrew Innes <andrewi@gnu.org>
1986
1987 * term.c (update_end): Don't check updating_frame; for some reason
1988 this can be 0 sometimes, such as after dismissing a popup menu,
1989 and isn't necessary given the explicit frame argument.
1990
3828218c
GM
19912001-01-05 Gerd Moellmann <gerd@gnu.org>
1992
1993 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1994 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1995
2f5ded21
GM
19962001-01-04 Gerd Moellmann <gerd@gnu.org>
1997
52283633 1998 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1999
2000 * xfns.c (x_create_tip_frame): Preserve the value of
2001 face_change_count around the creation of the tip frame.
52283633 2002
2f5ded21
GM
2003 * xfns.c (last_show_tip_args): New variable.
2004 (compute_tip_xy): New function.
2005 (Fx_show_tip): Reuse an existing tip frame, if possible.
2006 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
2007
dfad65fa
DL
20082001-01-04 Dave Love <fx@gnu.org>
2009
64d4ec0f
DL
2010 * editfns.c (Fformat): Doc fix.
2011
dfad65fa
DL
2012 * systime.h (set_file_times): Prototype.
2013
2014 * widget.h (EmacsFrameSetCharSize_): Prototype.
2015
2016 * sysdep.c (random, srandom): Declare explicitly.
2017
2018 * dispextern.h (move_it_vertically_backward): Declare.
2019
85fe3b5e
GM
20202001-01-04 Gerd Moellmann <gerd@gnu.org>
2021
0f2ac578
GM
2022 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
2023 like in Fx_create_frame.
2024
482cca61
GM
2025 * xfaces.c (set_font_frame_param): Don't do anything for
2026 non-graphical frames.
2027
85fe3b5e
GM
2028 * window.c (Fdelete_other_windows): Set window's window_end_valid
2029 to nil when changing the window's start. Don't change the
2030 window's start when its top position hasn't changed. If we do,
2031 this will set the window's optional_new_start, which act's like a
2032 force_start during redisplay with C-x 1 M-> under particular
2033 circumstances (see report from Per Starback to emacs-pretest-bug
2034 from 2000-12-13.).
2035
3e99d3b4
GM
20362001-01-03 Gerd Moellmann <gerd@gnu.org>
2037
a77dc1ec
GM
2038 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
2039 short cut at the start of the function. Add an assertion.
2040 (reseat_at_next_visible_line_start): Add an assertion.
2041
2f3cad6c
GM
2042 * window.c (Frecenter): When changing the window start, set the
2043 window's window_end_valid to nil.
2044 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2045
2046 * dispextern.h (move_it_past_eol): Add prototype.
2047
2048 * xdisp.c (move_it_past_eol): New function.
2049
3e99d3b4
GM
2050 * window.c (Fwindow_end): Doc fix.
2051
20522001-01-03 Dave Love <fx@gnu.org>
2053
52283633 2054 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2055
bafb434c
GM
20562001-01-03 Gerd Moellmann <gerd@gnu.org>
2057
2058 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2059 the enabled_p flag of the glyph row at window_end_vpos to 0.
2060 (handle_single_display_prop): Fix last change.
2061
5297fb00
RS
20622001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2063
2064 * window.c (Frecenter): Doc fix.
2065
13d6a61c
AI
20662001-01-02 Andrew Innes <andrewi@gnu.org>
2067
2068 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2069
2070 * frame.h (output_method): Add output_w32_console method.
2071 (FRAME_W32_CONSOLE_P): New macro.
2072
2073 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2074 use output_w32_console method.
2075 (Qw32_console): New Lisp_Object.
2076 (Fframep): Return it.
2077 (syms_of_frame): Init it.
52283633 2078 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2079
2080 * xfaces.c (realize_default_face): Set face foreground and
2081 background to unspecified for w32_console frames.
2082 (realize_face): Realize face cache for w32_console frames.
2083 (realize_tty_face): Accept w32_console frames.
2084
52283633 2085 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2086 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2087 necessary, even if running interactively.
2088
2089 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2090 w32_console frames.
2091
52283633
SM
2092 * w32term.c (x_update_begin):
2093 (x_update_end):
2094 (x_clear_frame):
2095 (x_ins_del_lines):
2096 (x_change_line_highlight):
2097 (x_delete_glyphs):
2098 (w32_ring_bell):
2099 (x_update_begin):
2100 (x_update_end):
2101 (w32_reassert_line_highlight):
2102 (w32_frame_rehighlight):
13d6a61c
AI
2103 (w32_frame_raise_lower): Do nothing if not w32 frame.
2104
2105 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2106
2107 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2108 system doesn't tell us directly.
2109 (Fx_display_visual_class): Implement properly.
2110
d6bb0c0d
GM
21112001-01-02 Gerd Moellmann <gerd@gnu.org>
2112
2113 * window.c (Frecenter): Handle centering in graphical frames
2114 specially. Centering on the basis of line counts doesn't work
2115 reliably with variable-height lines.
52283633 2116
315f5865
EZ
21172001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2118
2119 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2120 and al[].
2121
52283633 2122 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2123 (update_compositions): Remove unused variable `hook'.
2124
2125 * intervals.c (get_local_map): Remove unused variable `tem'.
2126
2127 * doprnt.c (doprnt1): Remove unused variable `size'.
2128
2129 * fns.c (Flength): Remove unused variable `tail'.
2130 (Fdelete): Remove unused variable `size'.
2131
2132 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2133 and `gcpro2'.
2134
52283633 2135 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2136
2137 * data.c (find_symbol_value): Remove extra 3rd argument in the
2138 call to swap_in_symval_forwarding.
2139
52283633 2140 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2141
2142 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2143 (trivial_regexp_p): Remove unused variable `c'.
2144 (boyer_moore): Remove unused variable `k'.
2145
2146 * indent.c (current_column): Remove unused variable `stopchar'.
2147 (Fcompute_motion): Remove unused variable `contin'.
2148
2149 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2150
2151 * dired.c (directory_files_internal): Fix a typo in a comment.
2152 Remove an unused variable `handler'.
52283633 2153 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2154 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2155 on BSD4_2.
2156
52283633 2157 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2158
2159 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2160 and `buf'.
2161 (Fmarker_insertion_type): Remove unused variable `buf'.
2162
2163 * insdel.c (make_gap): Remove unused variable `result'.
2164
52283633 2165 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2166 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2167 (menu_bar_items): Remove unused function-scope variable `tem'.
2168
2169 * fontset.c (fontset_ref): Remove unused variable `i'.
2170 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2171 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2172 (make_fontset_for_ascii_face): Remove unused variable `name'.
2173 (fs_load_font): Remove unused variable `font_idx'.
52283633 2174 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2175 (list_fontsets): Remove unused variable `tail'.
2176 (Fnew_fontset): Remove unused variables `family' and `registry'.
2177 (accumulate_font_info): Remove unused variable `tmp'.
2178 (Ffontset_font): Remove unused variable `id'.
2179 (syms_of_fontset): Remove unused variable `i'.
2180
2181 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2182 to x_term_init.
2183 (lookup_image): Remove unused variable `file'.
2184 (xbm_load): Remove unused variables `bitmap_data', `height', and
2185 `width'. Remove function-local variable `i', leave the
2186 block-local one.
2187 (gif_load): Remove unused variable `inc'.
2188
52283633 2189 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2190 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2191 leave only the one in the inner block.
2192
2193 * xfaces.c (face_fontset, realize_default_face): Remove unused
2194 variable `fontset'.
2195 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2196
2197 * term.c (encode_terminal_code): Remove unused variable `c'.
2198
2199 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2200 char *' instead of `char *'.
2201
2202 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2203 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2204 (Fchar_category_set): Remove unused variables `val', `charset',
2205 `c1' and `c2'.
2206
52283633
SM
2207 * coding.c (detect_coding_iso2022, setup_coding_system):
2208 Remove unused variable `i'.
315f5865
EZ
2209 (detect_coding_mask): Remove unused variable `idx'.
2210 (detect_coding): Remove unused variable `i'.
2211 (ccl_coding_driver): Remove unused variable `result'.
2212 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2213 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2214 (encode_coding_string): Remove unused variables `gcpro1' and
2215 `saved_coding_symbol'.
2216 (Ffind_coding_systems_region_internal): Remove function-local
2217 variable args[], leave only the block-local one.
2218 (code_convert_region1): Remove unused variable `len'.
2219
2220 * charset.c (char_printable_p): Remove unused variable `chars'.
2221 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2222 (str_to_multibyte): Remove unused variable `c'.
2223
2224 * window.c (size_window): Remove block-local variable `min_size'.
2225
2226 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2227 `header_line_height'.
2228 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2229 enum display_element_type.
2230
1a8a9daf
GM
22312001-01-02 Gerd Moellmann <gerd@gnu.org>
2232
6dde6abc 2233 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2234 statements that call X. Save away the error message in a local copy.
2235
1883b2c6
GM
2236 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2237 the start.
2238
a13be207
GM
2239 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2240 in or at the start of invisible text.
2241
1a8a9daf
GM
2242 * dispnew.c (update_window): Don't check_current_matrix_flags.
2243
3608c0f9
JR
22442001-01-01 Jason Rumney <jasonr@gnu.org>
2245
2246 * w32fns.c (x_figure_window_size): Do not allow new_height and
2247 new_width of frame to override specified values.
2248
abb1acc4
KH
22492000-12-30 Kenichi Handa <handa@etl.go.jp>
2250
52283633 2251 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2252
762a68ec
GM
22532000-12-29 Gerd Moellmann <gerd@gnu.org>
2254
52283633 2255 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2256 (update_window) [GLYPH_DEBUG]: Call it.
2257 (scrolling_window): Prevent including current rows which are below
2258 what's displayed in the window.
2259
2260 * xdisp.c (try_window_reusing_current_matrix)
2261 <new start <= old start>: Disable rows in the current matrix
2262 which are below the window after scrolling.
52283633 2263
762a68ec
GM
2264 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2265 is zero. It's not worth the complexity.
2266 (invisible_text_between_p): Put in #if 0 because unused.
2267
2d5912c1
GM
22682000-12-28 Gerd Moellmann <gerd@gnu.org>
2269
46f6a258
GM
2270 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2271 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2272
89f93679
GM
2273 * keyboard.c (echo_char): If C is an integer, always call
2274 push_key_description. Former code could signal an invalid
2275 character error.
2276
2277 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2278 If set, print multibyte text.
2279 (Fsingle_key_description): Call push_key_description with
2280 FORCE_MULTIBYTE set.
2281 (describe_buffer_bindings): Likewise.
2282
2283 * lisp.h (push_key_description): Add prototype.
2284
c06017fb
GM
2285 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2286 around the call to redisplay_internal.
2287
f1d2ce7f
GM
2288 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2289
2d5912c1
GM
2290 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2291
9371f831
KH
22922000-12-28 Kenichi Handa <handa@etl.go.jp>
2293
2294 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2295 (ccl_driver): New local variable `extra_bytes'.
2296
2297 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2298
52283633
SM
2299 * coding.c (setup_coding_system):
2300 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2301 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2302
0c80628a
KH
23032000-12-28 Kenichi Handa <handa@etl.go.jp>
2304
2305 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2306 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2307 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2308 (decode_composition_emacs_mule): New function.
2309 (decode_coding_emacs_mule): Decode composition sequence by calling
2310 decode_composition_emacs_mule.
2311 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2312 (encode_coding_emacs_mule): Changed from macro to function.
2313 If a text contains compositions, encode them correctly.
0c80628a
KH
2314 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2315 that decoding and encoding are required.
2316
3e32cc27
GM
23172000-12-27 Gerd Moellmann <gerd@gnu.org>
2318
5e25feee
GM
2319 * xfaces.c (PT_PER_INCH): New macro.
2320 (xlfd_point_size): Compute real point size from font's pixel size.
2321 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2322 instead of 72.
2323
892d8fcd
GM
2324 * .gdbinit: Comment out the line pointing to the Lesstif source
2325 directory.
2326
12c8b416
GM
2327 * window.c (Frecenter): Use displayed_window_lines instead
2328 of window_internal_height.
2329
6061fbf0
GM
2330 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2331 instead of x-toolkit-scroll-bars-p.
2332 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2333
2334 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2335 instead of x-toolkit-scroll-bars-p.
2336 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2337
3e32cc27
GM
2338 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2339 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2340 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2341 New variables.
2342 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2343 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2344 (build_frame_matrix_from_leaf_window): Remove unused code.
2345 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2346 redisplay history.
2347 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2348 (update_window) [GLYPH_DEBUG]: Likewise.
2349 (syms_of_display): Defsubr dump-redisplay-history.
2350
31798cfe
GM
23512000-12-23 Gerd Moellmann <gerd@gnu.org>
2352
f717c2ba
GM
2353 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2354 the end of the prompt. Set echo_after_prompt to the offset
2355 of echoptr in echobuf.
2356
aeb2b8fc
GM
2357 * xdisp.c (init_from_display_pos): Pop until the iterator's
2358 stack is empty; there may be frames for stretch or images
2359 on the stack.
2360
31798cfe
GM
2361 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2362 (save_or_restore_current_matrix): New function for the same
2363 purpose, but more efficient.
2364 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2365
f8156156
EZ
23662000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2367
2368 * xdisp.c (syms_of_xdisp): Fix last change.
2369
bdd6d4e8
GM
23702000-12-23 Gerd Moellmann <gerd@gnu.org>
2371
2372 * xdisp.c (syms_of_xdisp): Doc fix.
2373
2374 * xdisp.c (redisplay_window): Remove label restore_buffers;
2375 use finish_scroll_bars instead to make sure that scroll bars
2376 are redeemed. If we don't do this, flickering can result from
2377 scroll bars being destroyed and recreated.
2378
9436cdf9
JR
23792000-12-22 Jason Rumney <jasonr@gnu.org>
2380
2381 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2382 in the wrong colors when the foreground is not black.
2383 (expose_window): Don't redraw the window that's currently being
2384 updated.
2385
951f9df5
GM
23862000-12-22 Gerd Moellmann <gerd@gnu.org>
2387
856ff7a7
GM
2388 * window.c (size_window): When setting the window's too_small_ok
2389 flag, compare old size with minimum size depending on WIDTH_P,
2390 don't compare with window_min_width.
52283633 2391
951f9df5
GM
2392 * window.c (delete_window): Simplify somewhat.
2393 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2394 freeing window matrices. The flag windows_or_buffers_changed is
2395 set, so the next redisplay will consider all windows; this should
2396 suffice.
2397
886bc933
KH
23982000-12-22 Kenichi Handa <handa@etl.go.jp>
2399
2400 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2401
2402 * ccl.h (struct ccl_program): New member cr_consumed.
2403
2404 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2405 (CCL_READ_CHAR): Handle EOL conversion here.
2406 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2407
177f4e88
GM
24082000-12-21 Gerd Moellmann <gerd@gnu.org>
2409
52283633 2410 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2411
2412 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2413 otherwise tabs of different size compare equal.
2414
2415 * callint.c (Fcall_interactively): Prevent a compiler warning.
2416
2417 * print.c (print_unwind): Return nil.
2418 (PRINTDECLARE): Initialize all local variables.
2419 (print_preprocess): Add a default case.
2420
8e15274f
GM
2421 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2422
2423 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2424
52283633 2425 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2426 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2427
2428 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2429
2430 * dispnew.c (ensure_frame_matrix): Removed.
2431 (save_frame_matrix, restore_frame_matrix): New functions.
2432 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2433
2434 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2435 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2436
99012074
AI
24372000-12-21 Andrew Innes <andrewi@gnu.org>
2438
2439 * w32term.c (x_update_begin): Regenerate the palette here, rather
2440 than for each window.
2441
2442 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2443 palette is NULL, since this corrupts memory! Also get
2444 display_info reference from frame.
2445
29ef7d2d
JR
24462000-12-21 Jason Rumney <jasonr@gnu.org>
2447
2448 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2449
2450 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2451 to avoid returning without releasing it.
3e27fa1f 2452
3f9d67a6
KH
24532000-12-21 Kenichi Handa <handa@etl.go.jp>
2454
587fc3f9
KH
2455 * keymap.c (push_key_description): Don't convert eight-bit-control
2456 and eight-bit-graphic to multibyte character.
2457
3f9d67a6
KH
2458 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2459 generic character and CODE1 is nil, return the smallest character
2460 in CHARSET.
2461
774ba8c9
DL
24622000-12-20 Dave Love <fx@gnu.org>
2463
2464 * s/osf5-0.h (NSIG): Don't redefine.
2465
88416888
SM
24662000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2467
2468 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2469 excluding menu-bar and tool-bar.
2470 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2471 (menu_item_p): Remove.
2472 (where_is_internal_1): Don't ignore menu-items.
2473
a6426c6f
GM
24742000-12-20 Gerd Moellmann <gerd@gnu.org>
2475
03ff8aab
GM
2476 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2477 into account.
2478
2479 * window.c (make_window): Initialize window's min_hscroll.
2480 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2481 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2482 to zero.
2483 (struct saved_window): New member min_hscroll.
2484 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2485 (Fset_window_configuration): Set window's min_hscroll.
2486 (save_window_save): Save window's min_hscroll.
2487 (compare_window_configurations): Compare min_hscroll values.
2488
2489 * window.h (struct window): New member min_hscroll.
2490
2491 * keyboard.c (echo_prompt): Prevent a compiler warning.
2492
8de4aaf8
GM
2493 * xdisp.c (try_cursor_movement): Fix last change. The real
2494 condition is that PT is at the end of the row, and should
2495 be displayed at the start of the next row.
52283633 2496
3f7e3031
GM
2497 * xdisp.c (try_cursor_movement): If we end on a partially
2498 visible line, end we already decided to scroll, return -1.
2499
a6426c6f
GM
2500 * dispextern.h (ensure_frame_matrix): Add prototype.
2501
2502 * window.c (delete_window, Fsplit_window)
2503 (Fset_window_configuration): Call ensure_frame_matrix.
2504
52283633
SM
2505 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2506 New functions.
a6426c6f
GM
2507 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2508 completed, call fake_current_matrices instead of marking frame
2509 garbaged.
2510
57fa2774
JR
25112000-12-20 Jason Rumney <jasonr@gnu.org>
2512
2513 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2514
d925df90
EZ
25152000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2516
2517 * fns.c (Frequire): Doc fix.
2518
7b93a85b
GM
25192000-12-19 Gerd Moellmann <gerd@gnu.org>
2520
52283633 2521 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2522
c74e645b
GM
2523 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2524 currently displaying a message.
2525
7b93a85b
GM
2526 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2527 xterm.h.
2528 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2529
90d97e64
AI
25302000-12-18 Andrew Innes <andrewi@gnu.org>
2531
2532 * w32.c (w32_strerror): New function.
2533
2534 * w32.h (w32_strerror): New extern.
2535
2536 * w32fns.c (Fw32_shell_execute): Use it.
2537
91c9e6ce
GM
25382000-12-18 Gerd Moellmann <gerd@gnu.org>
2539
2540 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2541
6f4745e2
EZ
25422000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2543
2544 * msdos.c (IT_set_face): Obey inverse_video.
2545
c9e088ce
KH
25462000-12-18 Kenichi Handa <handa@etl.go.jp>
2547
2548 * dired.c (directory_files_internal): Always return decoded filenames.
2549
c3695f5f
GM
25502000-12-18 Gerd Moellmann <gerd@gnu.org>
2551
52d8e4ff
GM
2552 * xterm.c (x_connection_closed): Prevent being called recursively
2553 because of an error condition in XtCloseDisplay.
52283633 2554
62be9979
GM
2555 * xdisp.c (init_iterator): If noninteractive, and the frame's
2556 face cache is null, make one.
2557
52283633 2558 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2559
c3695f5f
GM
2560 * process.c (wait_reading_process_input): Check for pending
2561 input when running timers.
2562
78555fbe
EZ
25632000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2564
52283633 2565 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2566
b2b36264
KH
25672000-12-18 Kenichi Handa <handa@etl.go.jp>
2568
2569 * process.c (read_process_output): Don't run a filter if the code
2570 decoder produces nothing but carryover.
2571
9c543fbf
AI
25722000-12-17 Andrew Innes <andrewi@gnu.org>
2573
2574 * w32.c (sys_rename): Only check errno against EEXIST, and not
2575 EACCES, when determining whether rename failed because the target
2576 exists. This was resulting in indefinite looping on Windows 9x if
2577 the source file was locked by another process.
2578
2579 * w32fns.c (Ffile_system_info): New function.
2580 (syms_of_w32fns): Defsubr it.
2581
10c2b5a8
GM
25822000-12-17 Gerd Moellmann <gerd@gnu.org>
2583
b0228ace
GM
2584 * window.c (coordinates_in_window): Fix computation for
2585 position on vertical line between mode lines.
2586
10c2b5a8
GM
2587 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2588 Don't alter tip_frame or tip_window.
2589 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2590 was deleted.
2591
c844a81a
GM
2592 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2593 Don't alter tip_frame or tip_window.
2594 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2595 was deleted.
2596
6c825f8e
EZ
25972000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2598
2599 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2600 be consistent with the doc string. Reported by NAKAJIMA Mikio
2601 <minakaji@osaka.email.ne.jp>.
2602
af4bb4c8
KH
26032000-12-16 Kenichi Handa <handa@etl.go.jp>
2604
2605 * xfaces.c (Vface_ignored_fonts): New variable.
2606 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2607 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2608
8062e53a
GM
26092000-12-15 Gerd Moellmann <gerd@gnu.org>
2610
e87b8809
GM
2611 * dispnew.c (update_window): Detect pending input every nth line
2612 updated, i.e. do it depending on real work done, and not on the
2613 vpos of the line.
2614
2615 * xterm.c (expose_window): Don't redraw the window that's
2616 currently being updated.
2617
a6768cc5
GM
2618 * window.c (Fset_window_point): Remove test for
2619 cursor_in_non_selected_windows.
2620
4ea7fdca
GM
2621 * lread.c (read1): Recognize end of file after `\\'.
2622
8062e53a
GM
2623 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2624 not unwind_create_frame.
2625
bb7959c1
GM
26262000-12-15 Dave Love <fx@gnu.org>
2627
2628 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2629 bcopy & al.
2630
2631 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2632
ced04c42
KH
26332000-12-15 Kenichi Handa <handa@etl.go.jp>
2634
c5443913
KH
2635 * coding.c (setup_coding_system): Clear all members of the struct
2636 coding_system at first.
bc137305
KH
2637 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2638 argument.
2639 (code_convert_region): Don't override coding->src_multibyte and
2640 coding->dst_multibyte.
c5443913 2641
ced04c42
KH
2642 * fns.c (Fmd5): Docstring improved.
2643
c2d7f289
MB
26442000-12-15 Miles Bader <miles@gnu.org>
2645
2646 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2647 are actually marked as mode-lines; otherwise use
2648 estimate_mode_line_height.
2649
9d7d9263
GM
26502000-12-14 Gerd Moellmann <gerd@gnu.org>
2651
2652 * editfns.c (Fformat): Prevent a buffer overrun when the format
2653 specifies a precision.
2654
7cf0153a
EZ
26552000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2656
2657 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2658 argument is outside the range [2..3].
2659
1de0f662
AI
26602000-12-14 Andrew Innes <andrewi@gnu.org>
2661
2662 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2663 nothing to do. Bind inhibit-quit.
2664 (tip_frame): Make it a Lisp_Object.
2665 (x_create_tip_frame): Set tip_frame after it has been added to
2666 Vframe_list.
2667 (Fx_show_tip): Don't set tip_frame here.
52283633 2668 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2669 (unwind_create_frame, unwind_create_tip_frame): New functions.
2670 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2671 while a frame is only partially constructed.
2672
2673 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2674 (x_free_frame_resources): New function.
2675 (x_destroy_window): Use it.
2676
02387dcc
GM
26772000-12-14 Gerd Moellmann <gerd@gnu.org>
2678
2679 * xfns.c (Fx_backspace_delete_keys_p): New function.
2680 (syms_of_xfns): Defsubr it.
2681
2682 * config.in (HAVE_XKBGETKEYBOARD): Add.
2683
0544ef49
KH
26842000-12-14 Kenichi Handa <handa@etl.go.jp>
2685
98d62747
KH
2686 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2687 Always store string in multibyte representation in echobuf.
2688 (echo_char): Always store string in multibyte representation in
2689 echobuf.
2690 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2691 (read_key_sequence): Adjusted for the change of echo_prompt.
2692
a20193cd
KH
2693 * fns.c (Fmd5): Docstring improved.
2694
191b83b6
KH
2695 * lisp.h (detect_coding_system): Prototype adjusted.
2696
0544ef49
KH
2697 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2698 (detect_coding_emacs_mule, detect_coding_iso2022,)
2699 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2700 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2701 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2702 (detect_coding_mask, detect_coding_system): New argument
2703 MULTIBYTEP. Callers changed.
1da1bb05
KH
2704 (decode_coding_string): Set coding->src_multibyte and
2705 coding->dst_multibyte before calling detect_coding and detect_eol.
2706 Update them after some coding system is detected.
52283633 2707
d5b3eb1b
SM
27082000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2709
2710 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2711
2712 * keyboard.c (menu_bar_items, tool_bar_items):
2713 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2714
f7f8bb69
GM
27152000-12-13 Gerd Moellmann <gerd@gnu.org>
2716
52283633 2717 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2718 New variables.
2719 (unwind_create_frame, unwind_create_tip_frame): New functions.
2720 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2721 while a frame is only partially constructed.
2722
2723 * xterm.h (x_free_frame_resources): Declare.
2724
2725 * xterm.c (x_free_frame_resources): New function.
2726 (x_destroy_window): Use it.
2727
e10da507
GM
2728 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2729 don't interrupt the update for pending input initially, i.e.
2730 update at least some lines.
2731
2732 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2733
d5b3eb1b 2734 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2735
2736 * xfns.c (gray_bitmap_bits): Declare `char *'.
2737
90aa2856
GM
27382000-12-12 Gerd Moellmann <gerd@gnu.org>
2739
2740 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2741 lines start with a relief line.
2742
a308c9cd
DL
27432000-12-12 Dave Love <fx@gnu.org>
2744
2745 * window.c (Fdisplay_buffer): Doc fix.
2746 (Fwindow_list): Remove unused var.
2747
2748 * buffer.h (mmap_set_vars): Declare.
2749
2750 * window.h (Fset_window_point): Declare.
2751
d575011f
EZ
27522000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2753
bf6282d2 2754 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2755 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2756 variable `area'. When looking for a row under (X,Y), give up if some
2757 of the previous rows is not enabled.
d575011f 2758
ecf4d726
GM
27592000-12-12 Gerd Moellmann <gerd@gnu.org>
2760
2ebf6139
GM
2761 * window.c (Fset_window_point): If displaying cursors in windows
2762 other than the selected window, make sure redisplay updates
2763 other windows to show the new value of point in the window.
2764
2765 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2766
bfdb75ee
GM
2767 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2768 the buffer is the sole visible buffer when in the mini-buffer.
2769
52283633 2770 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2771 Bind `inhibit-read-only' to t.
2772 (unwind_with_echo_area_buffer): Use AREF.
2773
c0006262
GM
2774 * xfns.c (Fx_hide_tip): Simplified.
2775
52283633
SM
2776 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2777 instead of `1'.
e9a59cad 2778
ecf4d726
GM
2779 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2780
e5959a9a
GM
27812000-12-11 Gerd Moellmann <gerd@gnu.org>
2782
a3642e49 2783 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2784
44b5a125
GM
2785 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2786 nothing to do. Bind inhibit-quit.
2787 (tip_frame): Make it a Lisp_Object.
2788 (x_create_tip_frame): Set tip_frame after it has been added to
2789 Vframe_list.
2790 (Fx_show_tip): Don't set tip_frame here.
2791
2792 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2793
2794 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2795 Lisp_Object.
2796
2797 * dispextern.h: Change external declaration of tip_frame.
2798
d990421f
GM
2799 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2800 return an empty string.
2801
4db87380
GM
2802 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2803 of the window's update_mode_line flag, since the former is set by
2804 force-mode-line-update, not the latter. This makes
2805 column-number-mode slightly faster.
52283633 2806
e5959a9a
GM
2807 * xdisp.c (try_window_id) <all changes above window start>:
2808 Set the cursor.
2809
169fe44e
GM
28102000-12-11 Paul Eggert <eggert@twinsun.com>
2811
2812 * config.in (HAVE_FTELLO): Remove.
2813 (HAVE_FSEEKO): Add.
2814 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2815 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2816 HAVE_FTELLO.
2817 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2818 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2819
59ec59ae
MB
28202000-12-11 Miles Bader <miles@gnu.org>
2821
2822 * window.c (displayed_window_lines): Don't round up when
2823 converting empty space at bottom to lines.
ff904dd6
MB
2824 Handle non-newline-terminated final lines properly.
2825 (Fwindow_text_height): New function (used to be in lisp).
2826 (syms_of_window): Initialize it.
59ec59ae 2827
42ebfa31
SM
28282000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2829
2830 * syntax.c (scan_lists): Check that the right quote char has the
2831 right Sstring syntax when jumping over strings.
2832 (init_syntax_once): Use Smax rather than 13.
2833
5cdb3cf3
MB
28342000-12-09 Miles Bader <miles@gnu.org>
2835
2836 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2837 with PARTIALLY, inverting the sense.
2838 (window_scroll_pixel_based): Scroll partially visible lines into
2839 place if we hit the beginning or end of the buffer.
a12167c5
MB
2840 (displayed_window_lines): Don't include partially visible lines.
2841 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2842
842b2a94
GM
28432000-12-08 Gerd Moellmann <gerd@gnu.org>
2844
2845 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2846
2847 * tparam.c (tparam1): Change the way buffers are reallocated to be
2848 portable and less obfuscated.
2849
2850 * termcap.c (tgetent): Change the way buffers are reallocated to
2851 be portable and less obfuscated.
2852
2853 * macros.c (store_kbd_macro_char): Change the way buffers are
2854 reallocated to be portable and less obfuscated.
2855
2856 * lread.c (read1): Change the way buffers are reallocated to be
2857 portable and less obfuscated.
2858
2859 * doc.c (Fsubstitute_command_keys): Change the way buffers
2860 are reallocated so that it is portable.
2861
137cad7c
EZ
28622000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2863
2864 * dosfns.c (Ffile_system_info): New function.
2865 (syms_of_dosfns): Defsubr it.
2866
5c7f629c
SM
28672000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2868
2869 * alloc.c (gc_sweep): Add comment.
2870
959e647d
GM
28712000-12-07 Gerd Moellmann <gerd@gnu.org>
2872
52283633
SM
2873 * sound.c (vox_configure): Change order of ioctls.
2874 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2875 Ignore errors when changing volume.
2876 (vox_close): Don't reset the device.
2877
926b7e5e
GM
2878 * process.c (read_process_output): Make sure the process marker's
2879 position is valid when the process buffer is changed in
2880 after-change functions. W3 does that.
52283633 2881
959e647d
GM
2882 * xfns.c (x_free_gcs): New function.
2883
2884 * xterm.h (x_free_gcs): Add prototype.
2885
2886 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2887 freeing GCs here.
2888
2889 * xterm.c (x_destroy_window): Call x_free_gcs so that
2890 resources of non-toolkit X windows will be freed.
2891
478ea067
AI
28922000-12-07 Andrew Innes <andrewi@gnu.org>
2893
2894 * w32fns.c (xlfd_charset_of_font): Fix last change.
2895
fbee3231
DL
28962000-12-06 Dave Love <fx@gnu.org>
2897
67292061
DL
2898 * md5.h (__P): Don't define -- it comes from config.h.
2899
fbee3231
DL
2900 * strftime.c: Change some #if foo to #ifdef foo.
2901
4ee87dbb
AI
29022000-12-06 Andrew Innes <andrewi@gnu.org>
2903
2904 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2905
52283633 2906 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2907 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2908 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2909
9765b4a4
GM
29102000-12-06 Gerd Moellmann <gerd@gnu.org>
2911
d285b373
GM
2912 * alloc.c (gc_sweep): Prevent symbols read during loadup
2913 from being freed.
2914
384333ee
GM
2915 * xdisp.c (underlying_face_id): New function.
2916 (handle_face_prop, face_before_or_after_it_pos): Use it
2917 to determine the face ``under'' a string. Let strings inherit
2918 the face of the buffer under them.
2919
2920 * xfaces.c (face_at_string_position): Update function comment.
52283633 2921
d4b72d58
GM
2922 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2923 matrix if the window's left position has changed; we need to
2924 redraw it in this case.
2925
2926 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2927
e1d05387
GM
2928 * window.c (coordinates_in_window): Check mouse on mode-line or
2929 header-line first.
2930
eb1b0c74
GM
2931 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2932 advertized by the function documentation.
2933
d94d636f
GM
2934 * window.c (syms_of_window): Doc fix.
2935
3887b449
GM
2936 * sound.c (vox_configure): Set volume for left and right channel.
2937 (sound_cleanup): Return nil.
2938
efc8f57a
GM
2939 * xdisp.c (move_it_by_lines): Fix paren typo.
2940
9765b4a4
GM
2941 * xterm.c (x_load_font): Don't use the font's max_bounds for
2942 computing the height of the font. If max_bounds' ascent or
2943 descent are greater than the font's ascent or descent, this means
2944 glyphs overlap, which should be handled now by redisplay.
2945
6529ed87
GM
2946 * window.c (Veven_window_heights): New variable.
2947 (syms_of_window): DEFVAR_LISP it.
2948 (Fdisplay_buffer): Check Veven_window_heights before evening the
2949 window heights.
52283633 2950
0eb2ecde
MB
29512000-12-06 Miles Bader <miles@gnu.org>
2952
2953 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2954 update `default-frame-alist' instead of setting no frame parameters.
2955
03d7a167
KH
29562000-12-06 Kenichi Handa <handa@etl.go.jp>
2957
2958 * composite.c (update_compositions): Fix typo (use the correct
2959 variable).
2960
5f8803c2
JR
29612000-12-05 Jason Rumney <jasonr@gnu.org>
2962
2963 * md5.h: Remove underscores from function declarations.
2964 (__attribute__, __alignof__) [!__GNUC__]: Define.
2965
2966 * md5.c: Delay include of md5.h until after namespace cleaning.
2967
c28a075b
JR
2968 * makefile.w32-in (fns.o): Depend on md5.h
2969 (md5.o): New target.
2970 (sunfns.o): Remove.
2971
2972 * makefile.nt: Likewise.
2973
ff3c7056
JR
29742000-12-05 Jason Rumney <jasonr@altavista.net>
2975
2976 * w32term.c (expose_area): Complete last change.
2977
0c21eeeb
KR
29782000-12-05 Ken Raeburn <raeburn@gnu.org>
2979
2980 * minibuf.c: Include intervals.h.
2981
f201d732
JR
29822000-12-05 Jason Rumney <jasonr@gnu.org>
2983
2984 * w32term.c (x_produce_glyphs): If a font for a component of
2985 a composition is not found, use 1 pixel dot ascent and 0 dot
2986 descent value to avoid displaying terribly tall empty boxes.
2987 (expose_area): Pass x-coordinate relative to the exposed
2988 area to x_draw_glyphs instead of a window-relative coordinate.
2989
21999ab9
GM
29902000-12-05 Gerd Moellmann <gerd@gnu.org>
2991
4d2036e4
GM
2992 * xdisp.c (next_element_from_ellipsis): Save face before selective
2993 display in saved_face_id, and set face_before_selective_p.
2994 (reseat_1): Reset face_before_selective_p.
2995 (append_space, extend_face_to_end_of_line): If iterator's
2996 face_before_selective_p is set, use the face from saved_face_id.
2997 (extend_face_to_end_of_line): For tty frames, make sure to
2998 use the right face id when producing spaces at the end of
2999 the line.
3000
3001 * dispextern.h (struct it): Add face_before_selective_p.
3002
52be17cc
GM
3003 * keyboard.c (record_char): Don't record identical help-echo
3004 events in recent_keys.
3005
8a4f36cc
GM
3006 * xterm.c [USE_X_TOOLKIT]: Close the display.
3007 (xim_close_dpy): Handle case that the display has been closed.
3008
57d6e381
GM
3009 * xterm.c (x_destroy_window): Reset the frame's X window after
3010 destroying it.
3011
21999ab9
GM
3012 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
3013 variable window_width.
3014 (line_draw_cost): Fix code skipping over spaces at the end of the
3015 line when must_write_spaces is not set.
3016 (scrolling_window): Fix code inserting runs in list of all runs.
3017
91372bb7
KH
30182000-12-05 Kenichi Handa <handa@etl.go.jp>
3019
3020 * coding.c (setup_coding_system): Be sure to initialize
3021 coding->category_idx.
3022
6c083b4c
GM
30232000-12-04 Gerd Moellmann <gerd@gnu.org>
3024
0c68ce6f 3025 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 3026
6452929e
GM
3027 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
3028 area to x_draw_glyphs instead of a window-relative coordinate.
3029
d7f31e22
GM
3030 * fileio.c (auto_save_error): Add parameter ERROR. Show the
3031 error in the message.
3032
ae18aa3b
GM
3033 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
3034 timer after having read a key. It's not good for code reading
3035 several keys in a loop, like an input method.
3036
caa15ef7
GM
3037 * fileio.c (Finsert_file_contents): When VISIT is t, don't
3038 record undo information for format-decode.
3039
3040 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
3041 current buffer is read-only, not if it isn't.
3042
6c083b4c
GM
3043 * keyboard.c (record_char): Record `help-echo' input events
3044 in recent_keys only if they display some help. Don't record
3045 `help-echo' events as macro char.
3046
caa15ef7
GM
30472000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3048
3049 * editfns.c (save_excursion_restore): Don't move point
3050 in another window if it is showing the wrong buffer.
3051 Avoid the call to Fwindow_live_p, for speed.
3052
5a13529b
KH
30532000-12-04 Kenichi Handa <handa@etl.go.jp>
3054
e225faa7
KH
3055 * xfaces.c (struct font_name): New member registry_priority.
3056 (split_font_name): Initialize the above member to zero.
3057 (concat_font_list): New function.
3058 (font_list): Include fonts of all alternative registries.
3059 (FONT_POINT_SIZE_QUANTUM): New macro.
3060 (better_font_p): Ignore point size difference less than
3061 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3062
e89648b4
KH
3063 * xterm.c (x_produce_glyphs): If a font for a component of
3064 a composition is not found, use 1 pixel dot ascent and 0 dot
3065 descent value to avoid displaying terribly tall empty boxes.
3066
5a13529b
KH
3067 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3068
d7935eb6
KR
30692000-12-03 Ken Raeburn <raeburn@gnu.org>
3070
3071 * coding.h (code_convert_string1): Declare.
3072
3073 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3074
52283633 3075 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3076
0dd5e255
JR
30772000-12-02 Jason Rumney <jasonr@gnu.org>
3078
3079 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3080 correctly for single byte character case.
3081 (w32_per_char_metric): Do not try to make any assumptions about
3082 the metrics of BDF fonts.
250cfece 3083 (x_estimate_mode_line_height): If `mode-line' face
52283633 3084 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3085 (note_mouse_highlight): Change the cursor shape on the vertical
3086 border between windows [not enabled].
3087
3088 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3089
3090 * w32fns.c (Fx_create_frame): Reintroduce the call to
3091 face-set-after-frame-defaults.
3092 (Vx_window_horizontal_drag_shape): New variable.
3093 (syms_of_xfns): DEFVAR_LISP it.
3094 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3095 enabled].
0dd5e255 3096
b5d8d2ca
GM
30972000-12-02 Simon Josefsson <simon@josefsson.org>
3098
3099 * fns.c (Fmd5): Use a different logic to decide the coding system
3100 to use.
3101
3102 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3103
fbb87147
EZ
31042000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3105
52283633 3106 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3107
447e9da0
GM
31082000-12-01 Gerd Moellmann <gerd@gnu.org>
3109
7708ced0
GM
3110 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3111 height for YNegative.
3112 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3113 height; also see comment there.
3114
447e9da0
GM
3115 * window.c (coordinates_in_window): Handle computations for
3116 positions on the vertical bar and fringes differently for
3117 window-system frames. Consider some pixels near the vertical bar
3118 as on the bar if the frame doesn't have vertical scroll bars.
3119 Associate positions between mode or header lines with the
3120 right window, the left one.
3121
86d1db20
JR
31222000-12-01 Jason Rumney <jasonr@gnu.org>
3123
3124 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3125
3126 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3127 invalid frame.
3128
a1d58e5b
GM
31292000-12-01 Gerd Moellmann <gerd@gnu.org>
3130
52283633 3131 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3132 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3133 (save_window_save, Fset_window_configuration): Save/restore
3134 window's orig_top and orig_height.
3135
89c609af
JR
31362000-12-01 Jason Rumney <jasonr@gnu.org>
3137
4d177746 3138 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3139
89c609af
JR
3140 * w32fns.c (x_set_cursor_color): Fix last change.
3141
eccc05db
GM
31422000-11-30 Gerd Moellmann <gerd@gnu.org>
3143
31b6671b
GM
3144 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3145 sure that the next redisplay displays the minibuffer, so that
3146 the cursor will be replaced with what the minibuffer wants.
3147
eccc05db
GM
3148 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3149 #ifndef instead of using #if.
3150 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3151 USE_TOOLKIT_SCROLL_BARS is defined.
3152
162de750
JR
31532000-11-30 Jason Rumney <jasonr@gnu.org>
3154
3155 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3156 x_display_cursor.
3157
693c4692
GM
31582000-11-30 Gerd Moellmann <gerd@gnu.org>
3159
3160 * fns.c (Fmd5): Doc fix.
3161
b5d8d2ca 31622000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3163
3164 * fns.c (Fmd5): New function.
3165 (syms_of_fns): Defsubr md5.
3166
3167 * Makefile.in (obj): Add md5.o
3168
b02cd40b
GM
31692000-11-30 Gerd Moellmann <gerd@gnu.org>
3170
edfb795e
GM
3171 * md5.h, md5.c: New files, taken from glibc.
3172
df3aedcf
GM
3173 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3174
b02cd40b 3175 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3176 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3177
8b5176cd
SM
31782000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3179
3180 * eval.c (Frun_hooks): Allow 0 arguments.
3181
346598f1
GM
31822000-11-29 Gerd Moellmann <gerd@gnu.org>
3183
f9396e03
GM
3184 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3185 is over the menu bar widget, say it's not on the frame.
3186
4a967a9b
GM
3187 * xfns.c (Fx_create_frame): Reintroduce the call to
3188 face-set-after-frame-defaults.
3189
346598f1
GM
3190 * eval.c (Fsignal): Reset handling_signal.
3191
222456a1
JR
31922000-11-28 Jason Rumney <jasonr@gnu.org>
3193
3194 * w32menu.c (add_menu_item): Reset menu item text when changing
3195 type to radio button.
3196
8049ddc0
GM
31972000-11-28 Gerd Moellmann <gerd@gnu.org>
3198
346598f1 3199 * xselect.c: Update copyright.
f4f4ee4d 3200
bebe4a2c
GM
3201 * window.c (coordinates_in_window): If on a mode or header line,
3202 but sufficiently close to its start, return ``on vertical
3203 border''. This gives us a way to drag windows horizontally when
3204 using toolkit scroll bars.
3205
3206 * xterm.c (note_mouse_highlight): Change the cursor shape
3207 on the vertical border between windows.
3208
3209 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3210
3211 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3212 (syms_of_xfns): DEFVAR_LISP it.
3213 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3214
8d2c2642
GM
3215 * textprop.c (text_read_only): New function.
3216 (verify_interval_modification): Use it instead of signaling
3217 `text-read-only'. This makes it easier to catch this error
52283633 3218 with a breakpoint.:
8d2c2642 3219
52283633 3220 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3221 not end of line, which includes CR.
3222
5a2bae6c
KH
32232000-11-28 Kenichi Handa <handa@etl.go.jp>
3224
3225 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3226 include no-conversion.
3227
ae31f84d
JR
32282000-11-27 Jason Rumney <jasonr@gnu.org>
3229
3230 * w32fns.c (w32_load_system_font): Always mark font as double byte
3231 if codepage is unicode.
3232
67f1cf4c
GM
32332000-11-27 Gerd Moellmann <gerd@gnu.org>
3234
4a74d071 3235 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3236 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3237
902ae620
GM
3238 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3239 `vertical-line', `mode-line' and `header-line' events.
3240
3241 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3242 of a character, a TAB for instance. This is easier than to set
3243 up the iterator exactly, and it's not a frequent case, so the
3244 additional effort wouldn't really pay off.
3245
c1e279c2
AC
32462000-11-26 Andrew Choi <akochoi@i-cable.com>
3247
67f1cf4c 3248 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3249 init_window_once.
3250
a609568a
JR
32512000-11-25 Jason Rumney <jasonr@gnu.org>
3252
52283633
SM
3253 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3254 Args to window_from_coordinates should be pixel coordinates.
48b21762 3255
a609568a
JR
3256 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3257 redisplay handles them properly.
3258
a658d039
MB
32592000-11-25 Miles Bader <miles@gnu.org>
3260
3261 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3262
d3416cca
JR
32632000-11-24 Jason Rumney <jasonr@gnu.org>
3264
3265 * w32.c (init_environment): Set LANG environment variable based on
3266 locale settings, if not set.
3267
3268 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3269 making tool bar smaller. When clearing the frame, also
3270 clear current matrices. Clear frame when tool bar disappears.
3271 Don't use more lines for the tool-bar than is available.
3272 (x_change_window_heights): New function.
3273
ba193890
GM
32742000-11-24 Gerd Moellmann <gerd@gnu.org>
3275
2be8f184
GM
3276 * xdisp.c (init_from_display_pos): If POS says we're already after
3277 an overlay string ending at POS, make sure to pop the iterator
3278 because it will be in front of that overlay string. When POS is
3279 ZV, we've thereby also ``processed'' overlay strings at ZV.
3280
ba193890
GM
3281 * xfaces.c (lface_from_face_name): Function comment fix.
3282
1862a24e
MB
32832000-11-24 Miles Bader <miles@gnu.org>
3284
3285 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3286 apply `mode-line-inverse-video' -- zero means force display using
3287 the default face, non-zero means display using the specialized face.
3288 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3289
f07fa1b8
KH
32902000-11-23 Kenichi Handa <handa@etl.go.jp>
3291
3292 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3293 hard coded `4'.
3294
2bcdf662
EZ
32952000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3296
3297 * coding.c (decode_coding_emacs_mule): Fix the case of
3298 CODING_EOL_LF, which used uninitialized value of c.
3299
ba8299ff
SM
33002000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3301
3302 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3303
f4117c4d
GM
33042000-11-22 Gerd Moellmann <gerd@gnu.org>
3305
03e757c1
GM
3306 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3307 buffer object.
3308
f4117c4d
GM
3309 * frame.h (struct frame): Replace desired_tool_bar_items,
3310 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3311 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3312
3313 * frame.c (make_frame): Change initialization of tool bar
3314 items accordingly.
3315
3316 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3317 Change references to members deleted from struct frame to use the
f4117c4d
GM
3318 new ones.
3319
3320 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3321 references to members deleted from struct frame to use the new ones.
f4117c4d 3322
52283633 3323 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3324
3325 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3326
3327 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3328 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3329 from struct frame to use the new ones.
3330
f8e2f3f2
MB
33312000-11-23 Miles Bader <miles@gnu.org>
3332
3333 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3334 the face's inverse-video attribute, rather than overriding it.
3335
60e8e0a5
GM
33362000-11-22 Gerd Moellmann <gerd@gnu.org>
3337
3338 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3339 making tool bar smaller.
3340
92dd1b29
DL
33412000-11-22 Dave Love <fx@gnu.org>
3342
3343 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3344
e672fdce
MB
33452000-11-22 Miles Bader <miles@gnu.org>
3346
3a17d6cc
MB
3347 * keyboard.c (Vminibuffer_message_timeout): New variable.
3348 (command_loop_1): Use it to determine message timeout.
3349 (syms_of_keyboard): Initialize it.
3350
60e8e0a5 3351 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3352
e9655d81
KH
33532000-11-22 Kenichi Handa <handa@etl.go.jp>
3354
3355 * sysdep.c: Move the code for declaring h_errno after #include
3356 <netdb.h>.
3357
77270fac
GM
33582000-11-21 Gerd Moellmann <gerd@gnu.org>
3359
cd913aae
GM
3360 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3361 the menu bar when the tooltip is unmapped.
3362
77270fac
GM
3363 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3364 sole visible buffer when we're currently in the mini-buffer, and
3365 give up if so.
52283633 3366
556635d6
JR
33672000-11-21 Jason Rumney <jasonr@gnu.org>
3368
3369 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3370 put on the clipboard.
3371 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3372 copy of what Emacs last put there. If they are the same, do not
52283633 3373 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3374
5b7bde64
MB
33752000-11-22 Miles Bader <miles@gnu.org>
3376
3377 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3378 (syms_of_minibuf): Initialize it.
3379 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3380 to prompt, don't make read-only.
3381
ff23e1dd
GM
33822000-11-21 Gerd Moellmann <gerd@gnu.org>
3383
52283633
SM
3384 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3385 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3386
7aaf4388
GM
3387 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3388
f5f47add 3389 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3390
ff23e1dd
GM
3391 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3392
37c35586
KH
33932000-11-21 Kenichi Handa <handa@etl.go.jp>
3394
3395 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3396 ... #endif scope.
3397
ff9ab414
GM
33982000-11-20 Gerd Moellmann <gerd@gnu.org>
3399
52283633 3400 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3401 screen supports it.
3402
29a01b72
GM
3403 * s/gnu-linux.h: Don't use `#cpu'.
3404
09dfdf85
GM
3405 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3406 not defined in mman.h.
3407
52283633 3408 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3409 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3410 and store an index in the XClientMessageEvent. Storing a
3411 Lisp_Object or pointer can fail on a 64 bit system, since X only
3412 transfers 32 bits.
52283633
SM
3413 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3414
81459ac9
DL
34152000-11-20 Dave Love <fx@gnu.org>
3416
3417 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3418
56c13ae6
GM
34192000-11-20 Gerd Moellmann <gerd@gnu.org>
3420
3421 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3422
495a6df3
KH
34232000-11-20 Kenichi Handa <handa@etl.go.jp>
3424
2bcf3714
KH
3425 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3426 by WIDTH.
3427
495a6df3
KH
3428 * alloc.c (make_string): Fix previous change. Be sure to make
3429 unibyte string correctly.
3430
6d950f4c
GM
34312000-11-19 Gerd Moellmann <gerd@gnu.org>
3432
39b39373
GM
3433 * window.c (Fwindow_list): Change parameter list to be XEmacs
3434 compatible.
3435 (window_list_1): New function.
3436 (window_loop): Use it instead of Fwindow_list.
3437
b95b34e5
GM
3438 * sysdep.c (emacs_ospeed): New variable.
3439 (toplevel): Don't declare ospeed extern.
3440 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3441
3442 * termcap.c (ospeed): Remove.
3443 (tputs) [!emacs]: Remove unused code.
3444 (tgetent): Avoid a compiler warning.
3445
e83dc917
GM
3446 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3447 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3448 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3449
3450 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3451 removed.
3452 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3453 Take the X display as additional argument.
3454 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3455 `Widget' is a pointer type that's not easily stored in Lisp_Object
3456 form in a portable way.
52283633 3457
6d950f4c
GM
3458 * dispnew.c (update_text_area): Fix last change.
3459
e47306e6
GM
34602000-11-18 Gerd Moellmann <gerd@gnu.org>
3461
fb3cd89b
GM
3462 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3463
3464 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3465 clear current matrices.
3466
edaa9aed
GM
3467 * buffer.c (mmap_enlarge): Don't print a message on stderr
3468 if mapping new memory at the end of the existing region fails.
3469
e47306e6
GM
3470 * dispnew.c (update_text_area): Don't skip over equal glyphs
3471 when the last current glyph overlaps the glyph to its right.
3472
509633e3
MB
34732000-11-18 Miles Bader <miles@gnu.org>
3474
3475 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3476 lines that *end* with "..." too (that's the most common case!).
3477
d392e9c5
GM
34782000-11-18 Gerd Moellmann <gerd@gnu.org>
3479
67988445
GM
3480 * xdisp.c (resize_mini_window): Temporarily change to the
3481 mini-window's buffer if necessary.
1bfdbe43 3482
d392e9c5
GM
3483 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3484 the tooltip obscures less text under it.
3485
34862000-11-17 Gerd Moellmann <gerd@gnu.org>
3487
3488 * puresize.h (BASE_PURESIZE): Increase to 700000.
3489
92bb977f
JR
34902000-11-18 Jason Rumney <jasonr@gnu.org>
3491
3492 * w32term.c (w32_draw_bitmap): Use face to set colors.
3493
26fbf20b
DL
34942000-11-17 Dave Love <fx@gnu.org>
3495
3496 * lread.c (Fload): Fix #ifdef for pcc.
3497
100b593b
GM
34982000-11-17 Gerd Moellmann <gerd@gnu.org>
3499
3500 * xdisp.c (pos_visible_p): Compute the default character height
3501 differently.
3502
a288d0d1
GM
35032000-11-16 Gerd Moellmann <gerd@gnu.org>
3504
cac94de6 3505 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3506 knowing the line's height; use the default font's height in that case.
cac94de6 3507
a288d0d1
GM
3508 * xfaces.c (weight_table): Add `demi' with the same meaning as
3509 `demibold'.
3510
981fb6f6
KH
35112000-11-16 Kenichi Handa <handa@etl.go.jp>
3512
2cca872d 3513 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3514 (clear_glyph_row): Delete local static variable null_row.
3515
e5fa381b
JR
35162000-11-15 Jason Rumney <jasonr@gnu.org>
3517
3518 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3519 (w32_alloc_lighter_color): Use new brightness calculations from
3520 xterm.c. Scale delta to be in the range expected by W32.
3521 (w32_draw_relief_rect): Use frame relief colors.
3522
8e42f043
GM
35232000-11-15 Gerd Moellmann <gerd@gnu.org>
3524
6d133d1f
GM
3525 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3526 (Qinhibit_default_face_x_resources): New variable.
3527 (syms_of_frame): Initialize it.
3528 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3529
3530 * xdisp.c (pos_visible_p): Improve function comment.
3531
3532 * lisp.h (BINDING_STACK_SIZE): New macro.
3533
8e42f043
GM
3534 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3535 reading the directory if readdir returns null and errno is EAGAIN
3536 or EINTR.
3537
e8c87124
SM
35382000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3539
3540 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3541 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3542 Set amount_to_scroll to max of dx and scroll_step so that
3543 scroll-conservatively doesn't defeat scroll-step>1.
3544 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3545 scroll-conservatively for line-at-a-time scrolling.
3546
5f0c971d
GM
35472000-11-14 Gerd Moellmann <gerd@gnu.org>
3548
3549 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3550 extra argument.
3551
3552 * xdisp.c (current_mode_line_height, current_header_line_height):
3553 New variables.
3554 (init_xdisp): Initialize them.
3555 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3556 and use exact mode line heights if it is set.
3557
3558 * lisp.h (pos_visible_p): Change prototype.
3559
3560 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3561 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3562 and current_header_line_height first.
52283633
SM
3563 (current_mode_line_height, current_header_line_height):
3564 Declare extern.
5f0c971d 3565
d7361edf
MB
35662000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3567
3568 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3569 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3570 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3571
ee5e440a
MB
35722000-11-14 Miles Bader <miles@gnu.org>
3573
3574 * xterm.c (x_alloc_lighter_color): Include an additive component
3575 too for dark colors, because FACTOR isn't enough.
3576 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3577 New macros.
3578
5ca020fc
GM
35792000-11-13 Gerd Moellmann <gerd@gnu.org>
3580
3581 * keyboard.c (show_help_echo): Call message3_nolog with number of
3582 bytes in the help string as 2nd parameter, instead of the number
3583 of characters.
3584
9d348294
MB
35852000-11-13 Miles Bader <miles@gnu.org>
3586
3587 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3588 (Fload): Use new openp return protocol.
3589 Don't try to use Vload_source_file_function to load .elc files.
3590 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3591 openp return protocol.
3592 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3593
1729bb9a
KH
35942000-11-11 Kenichi Handa <handa@etl.go.jp>
3595
4e677396
KH
3596 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3597
3598 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3599 Defined these macros.
3600 (NLIST_STRUCT): Avoid re-defining it.
3601
1729bb9a
KH
3602 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3603 -I/usr/contrib/X11R6/include.
3604 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3605
a82fe213
JR
36062000-11-10 Jason Rumney <jasonr@gnu.org>
3607
3608 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3609
3610 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3611 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3612
3613 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3614 (Qw32_charset_vietnamese): New symbol.
3615 (xlfd_charset_of_font): New function.
3616 (w32_load_system_font): Use it.
3617 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3618 when Vw32_charset_info_alist is nil to ensure default face always
3619 has font. Use Fcar and Fcdr for safety.
3620 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3621 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3622 pseudo-codepages for special cases.
3623 (w32_to_x_font): New parameter to allow charset portion to be
3624 specified where there is many to one mapping. Callers changed.
3625 (w32_list_fonts): Avoid listing fonts that won't display.
3626
52d89894
GM
36272000-11-10 Gerd Moellmann <gerd@gnu.org>
3628
3629 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3630 (font_list_1): Renamed from font_list.
3631 (font_list): New function, trying alternative registries from
3632 Vface_alternative_font_registry_alist.
3633 (Finternal_set_alternative_font_registry_alist): New function.
3634 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3635 Vface_alternative_font_registry_alist.
3636 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3637
651cd3da
KR
36382000-11-09 Ken Raeburn <raeburn@gnu.org>
3639
3640 * lisp.h (Flooking_at): Declare.
3641
388ac098
GM
36422000-11-09 Gerd Moellmann <gerd@gnu.org>
3643
778fbc46 3644 * dired.c (directory_files_internal): Fix a braino.
52283633 3645
388ac098
GM
3646 * dired.c (directory_files_internal): Add missing GCPRO's.
3647 Some cleanup.
3648
ecaedde1
GM
36492000-11-08 Gerd Moellmann <gerd@gnu.org>
3650
f7eb32aa
GM
3651 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3652 (resize_mini_window): Return quickly if Vresize_mini_window is
3653 nil. Don't return if Vmax_mini_window_height is nil.
3654
3655 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3656 (syms_of_xdisp): Initialize them.
3657 (resize_mini_window): Act according to the setting of
3658 Vresize_mini_window.
3659 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3660
ecaedde1
GM
3661 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3662 scroll bar widget after configuring it, so that it will appear at
3663 the right position from the start.
3664 (XTredeem_scroll_bar): Cleaned up.
3665
3747ef2c
KH
36662000-11-08 Kenichi Handa <handa@etl.go.jp>
3667
3668 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3669 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3670 division by two.
3671
3672 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3673
03391420
DL
36742000-11-07 Dave Love <fx@gnu.org>
3675
7758f1c1 3676 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3677
3678 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3679
b5de343d
GM
36802000-11-07 Gerd Moellmann <gerd@gnu.org>
3681
acad3c0b
GM
3682 * window.c (Fset_window_configuration): Don't try to preserve
3683 point in the current buffer, if that buffer is displayed in more
3684 than one window.
3685
b5de343d
GM
3686 * xfaces.c (lookup_named_face): If default face isn't realized,
3687 try to realize it. Return -1 if not successful.
3688 (Fx_list_fonts): Handle case that face cannot be determined.
3689 (Fface_font): Likewise.
3690
cdb1fe49
GM
36912000-11-06 Gerd Moellmann <gerd@gnu.org>
3692
3693 * window.c (displayed_window_lines): Detect partially
3694 visible lines at the bottom correctly.
3695
d3a67486
SM
36962000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3697
3698 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3699 when ensuring we don't do visit in indirect buffer.
3700
ff8dd5d5
KH
37012000-11-06 Kenichi Handa <handa@etl.go.jp>
3702
3703 * composite.h (compose_chars_in_text): Add prototype.
3704
3705 * composite.c (Vcomposition_function_table): New variable.
3706 (Qcomposition_function_table): New variable.
3707 (run_composition_function): Call
3708 Vcompose_chars_after_function with three arguments.
3709 (compose_chars_in_text): New function.
3710 (syms_of_composite): Modified the doc-string of
3711 Vcompose_chars_after_function. Declare composition-function-table
3712 as a lisp variable, and initialize it.
3713
3714 * xfns.c (x_encode_text): Suppress producing escape sequences for
3715 composition.
3716
3717 * xselect.c: Include composite.h.
3718 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3719
d1145f85
AI
37202000-11-05 Andrew Innes <andrewi@gnu.org>
3721
3722 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3723
3724 * sysdep.c (read_input_waiting): Remove extraneous argument to
3725 read_socket_hook.
3726
3727 * w32fns.c (Fx_server_version): Include w32_build_number in the
3728 return list.
3729
3730 * w32heap.c (w32_build_number): New variable.
3731 (cache_system_info): Set it.
3732
3733 * w32heap.h (w32_build_number): Add extern.
3734
3735 * emacs.c (syms_of_emacs): Update docstring for
3736 system-configuration, to reflect the actual usage on MS-Windows.
3737
e85ee976
GM
37382000-10-31 Gerd Moellmann <gerd@gnu.org>
3739
26dcb81b
GM
3740 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3741 process idle timers while waiting for another event.
3742
52283633 3743 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3744 the default face are colored.
3745
e85ee976
GM
3746 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3747 window height hasn't changed.
3748
01b220b6
JR
37492000-10-31 Jason Rumney <jasonr@gnu.org>
3750
3751 * w32term.c (x_produce_glyphs): Handle composite characters.
3752 (x_draw_glyph_string_foreground)
3753 (x_draw_composite_glyph_string_foreground): Restore old font.
3754
4e6b7204
MB
37552000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3756
3757 * minibuf.c (read_minibuf): Reset the undo history just before
3758 starting the recursive-edit.
3759
d4358b37
GM
37602000-10-30 Gerd Moellmann <gerd@gnu.org>
3761
563f68f1
GM
3762 * xfaces.c (menu_face_change_count): New variable.
3763 (Finternal_set_lisp_face_attribute): Increment it for changes
3764 of the `menu' face.
3765 (realize_basic_faces): Reflect changes in the `menu' faces
3766 in menu bars.
3767
82e274d1
GM
3768 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3769 dy obtained from the iterator's y-position after moving from
3770 scroll_margin_pos to PT; see comment there.
52283633 3771
0dbf9fd2
GM
3772 * xdisp.c (safe_eval_handler): Call add_to_log.
3773
906b3b14
GM
3774 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3775 is not a symbol or string.
3776
d4358b37
GM
3777 * xdisp.c (echo_area_display): Don't perform a display update from
3778 inside redisplay. The update will happen anyway at the end of
3779 redisplay, and it can confuse redisplay (GC messages while
3780 redisplaying, for instance.)
3781
70c825df
SM
37822000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3783
cf9b4b0b
SM
3784 * xrdb.c (x_load_resources): Use the class name in the defaults.
3785
70c825df
SM
3786 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3787 (regex_compile): Catch bogus \(\1\).
3788
a1d34b1e
GM
37892000-10-30 Gerd Moellmann <gerd@gnu.org>
3790
cae71efe
GM
3791 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3792 RGB values.
52283633 3793
35efe0a1
GM
3794 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3795 we have a color cache, check that the cached color equals the
3796 allocated color. If not, clear the color cache.
3797
1d3baf74
GM
3798 * window.c (displayed_window_lines): Change buffers if necessary.
3799 Fix computation of displayed lines.
3800
a1d34b1e
GM
3801 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3802 update_menu_bindings to DEFVAR_BOOL.
3803
70737ea9
KH
38042000-10-30 Kenichi Handa <handa@etl.go.jp>
3805
70c825df 3806 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3807
fa0cb51d
KH
3808 * puresize.h (BASE_PURESIZE): Increase to 680000.
3809
70737ea9
KH
3810 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3811
0e4c08e8
JR
38122000-10-29 Jason Rumney <jasonr@gnu.org>
3813
3814 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3815
3816 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3817 (w32_cache_char_metrics): Handle possibility that 'x' does not
3818 exist in a BDF font.
3819 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3820
3821 * w32bdf.h (bdffont): Add nchars.
3822
3823 * w32bdf.c (set_bdf_font_info): Set it.
3824 (w32_BDF_TextOut): Swap byte order of double byte characters.
3825 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3826
45b84006
EZ
38272000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3828
3829 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3830 don't override the colors in frame's param_alist, unless they are
3831 unspecified.
3832
3833 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3834 reverse the effect of the highlight flag.
3835
caf9deee
KR
38362000-10-27 Ken Raeburn <raeburn@gnu.org>
3837
3838 * window.h (Fwindow_live_p): Declare.
3839
ae0b9b46
KR
3840 * undo.c (record_delete): Check that last_undo_buffer is really a
3841 buffer before applying XBUFFER to it.
3842
3843 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3844 Faref.
3845
02067692
SM
38462000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3847
3848 * lisp.h (KEYMAPP): New macro.
3849 (get_keymap): Remove.
3850 (get_keymap_1): Rename get_keymap.
3851
3852 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3853
3854 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3855
3856 * xmenu.c (single_submenu): Use KEYMAPP.
3857 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3858 Use KEYMAPP rather than Fkeymapp.
3859
3860 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3861
3862 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3863 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3864 Use KEYMAPP rather than Fkeymapp.
3865 (single_submenu): Use KEYMAPP.
3866 (w32_menu_show, w32_dialog_show): Use TRUE.
3867
3868 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3869
3870 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3871 (Fkeymapp): Use KEYMAPP.
3872 (get_keymap): Rename from get_keymap_1. Remove old def.
3873 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3874 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3875 (Fminor_mode_key_binding): Don't raise an error if the binding
3876 is not a keymap.
3877 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3878 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3879
3880 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3881 Allow Vspecial_event_map to be autoloaded.
3882 (menu_bar_items): Fetch the keymap rather than using keymapp.
3883 (menu_bar_one_keymap): No need to follow func-indirect any more.
3884 (parse_menu_item): get_keymap_1 -> get_keymap.
3885 (tool_bar_items): Fetch the keymap rather than using keymapp.
3886 (read_key_sequence): Use KEYMAPP.
3887
3888 * intervals.c (get_local_map): Use get_keymap rather than following
3889 function-indirections explicitly.
3890
3891 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3892
f9d80af3
JR
38932000-10-27 Jason Rumney <jasonr@gnu.org>
3894
3895 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3896 point, as Windows has oversized fonts.
3897
3898 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3899
a3ba27da
GM
39002000-10-27 Gerd Moellmann <gerd@gnu.org>
3901
3902 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3903 (freehook, reallochook): Handle null pointer arguments.
3904 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3905
aa3b80cc
SM
39062000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3907
3908 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3909 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3910 Giving in to popular pressure to shut up the compiler with casts.
3911
e24e84cc
GM
39122000-10-27 Gerd Moellmann <gerd@gnu.org>
3913
3914 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3915 signed value, and use a default value computed from the font's
3916 maximum descent.
3917
05ea7ef2
MB
39182000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3919
3920 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3921 that specify a negative underline position can still use underlines.
3922
3923 * window.c (Fpos_visible_in_window_p): Make POS default to
3924 WINDOW's point, not the current buffer's point.
3925
0b95284b
DL
39262000-10-26 Dave Love <fx@gnu.org>
3927
3928 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3929 when it's necessary.
3930
6c5b90af
GM
39312000-10-26 Gerd Moellmann <gerd@gnu.org>
3932
8b6d9dc9
GM
3933 * window.c (size_window): Compute size difference from sum of old
3934 child window sizes instead of from parent's size.
3935
6bc92b2e
GM
3936 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3937 Handle obscured lines at the top of the window.
3938
3939 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3940 down after the last error condition check.
3941
6c5b90af
GM
3942 * frame.c (Fdelete_frame): Run delete-frame-hook.
3943
42f92d4d
KH
39442000-10-26 Kenichi Handa <handa@etl.go.jp>
3945
3946 * coding.c (decode_coding): Fix previous change (check also
3947 CODING_MODE_LAST_BLOCK).
3948
d97151cb
SM
39492000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3950
e7efc503
SM
3951 * regex.c: More `unsigned char' -> `re_char' changes.
3952 Also change several `int' into `re_wchar_t'.
3953 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3954 (PUSH_FAILURE_POINTER): Don't cast any more.
3955 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3956 We want GCC to complain, since this piece of code makes
3957 re_match non-reentrant, which *should* be fixed.
3958 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3959 (EXTEND_BUFFER): Use RETALLOC.
3960 (SET_LIST_BIT): Don't cast.
3961 (re_wchar_t): New type.
3962 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3963 that those two functions will always properly return.
3964 (IMMEDIATE_QUIT_CHECK): Cast to void.
3965 (analyse_first): Use recursion rather than an explicit stack.
3966 (re_compile_fastmap): Can't fail anymore.
3967 (re_search_2): Don't check re_compile_fastmap for failure.
3968 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3969 Now also sets the new value (passed in a new argument).
3970 (re_match_2_internal): Use it.
3971 Also, use a new var `reg' of type size_t when looping through regs
3972 rather than reuse the inappropriate `mcnt'.
3973
d97151cb
SM
3974 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3975 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3976 (where_is_internal): Renamed from Fwhere_is_internal.
3977 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3978 (Fwhere_is_internal): New function wrapping where_is_internal.
3979 (where_is_internal_1): Handle the case where we're filling the cache.
3980 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3981
d5789b65
MB
39822000-10-25 Miles Bader <miles@gnu.org>
3983
3984 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3985
4ecda532
GM
39862000-10-25 Gerd Moellmann <gerd@gnu.org>
3987
3988 * window.c (pos_fully_visible_p): Removed.
3989 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3990 if position is visible and/or fully visible.
3991
3992 * lisp.h (pos_visible_p): Add prototype.
3993
3994 * xdisp.c (pos_visible_p): New function.
3995
68c3a137
KH
39962000-10-25 Kenichi Handa <handa@etl.go.jp>
3997
3998 * process.c (send_process): If OBJECT is t, it means that the data
3999 is from C string, but we should encode it. Before calling
4000 setup_raw_text_coding_system, be sure to flush out data by the
4001 previous coding system.
4002
7ae1c032
MB
40032000-10-25 Miles Bader <miles@lsi.nec.co.jp>
4004
ff4dcd4b
MB
4005 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
4006 assignment of startpos to prev when startpos == pos.
4007
7ae1c032
MB
4008 * editfns.c (find_field): Set the field stickiness correctly from
4009 overlay fields. Use renamed `text_property_stickiness'.
4010 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 4011 Only check text properties, not overlays.
7ae1c032
MB
4012 * textprop.c (get_char_property_and_overlay): New function.
4013 (Fget_char_property): Use it.
4014 * intervals.h (get_char_property_and_overlay): Add declaration.
4015
49801145
SM
40162000-10-25 Stefan Monnier <monnier@cs.yale.edu>
4017
4018 * keymap.c: Use AREF, ASET and ASIZE macros.
4019 (Fmake_sparse_keymap): Docstring fix.
4020 (synkey): Remove.
4021 (shadow_lookup): Move up.
4022 Handle the case where lookup-key returns an integer.
4023 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
4024 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
4025 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
4026 Simplify/rewrite the keymap-finding code.
4027 Add check for command shadowing, using shadow_lookup.
4028
39e776cd
SM
40292000-10-24 Stefan Monnier <monnier@cs.yale.edu>
4030
4031 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
4032 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
4033 a symbol.
4034
2488aba5
AI
40352000-10-24 Andrew Innes <andrewi@gnu.org>
4036
4037 * dired.c (directory_files_internal_unwind): New function.
4038 (directory_files_internal): Use it to ensure closedir is called
4039 even if expand-file-name or file-attributes throw, eg. because of
4040 a user interrupt. Also enable immediate_quit while calling
4041 re_search, so that matching can be interrupted as well.
4042
b94fdf61
AI
40432000-10-24 Andrew Innes <andrewi@gnu.org>
4044
4045 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
4046 NT-Emacs only.
4047 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
4048 so that re_search functions only quit when callers expect them to.
4049
40502000-10-24 Kenichi Handa <handa@etl.go.jp>
4051
4052 * regex.c (regex_compile): Change the way of handling a range from
4053 a char less than 256 to a char not less than 256.
4054
1946f901
GM
40552000-10-24 Gerd Moellmann <gerd@gnu.org>
4056
7ae2f10f
GM
4057 * window.c (size_window): Prevent setting window's width or
4058 height to a negative value (esp. with XSETFASTINT).
4059
5dcab13e
GM
4060 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4061 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4062 (protect_malloc_state) [GC_MALLOC_CHECK &&
4063 GC_PROTECT_MALLOC_STATE]: New function.
4064 (PROTECT_MALLOC_STATE): New macro.
4065 (__malloc_initialize, morecore, _malloc_internal)
4066 (_free_internal) _realloc_internal): Use it to make _heapinfo
4067 read-only outside of gmalloc.
4068
63e1b552
GM
4069 * keymap.c: Update copyright.
4070
1946f901
GM
4071 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4072 a symbol.
4073
4fa09beb
GM
40742000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4075
4076 * filelock.c (unlock_all_files): Use unlock_file to expand each
4077 buffer's file_truename before trying remove its lock file.
4078
23afac01
EZ
40792000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4080
4081 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4082 or CRLF, decode EOLs.
4083
04448b95
KH
40842000-10-24 Kenichi Handa <handa@etl.go.jp>
4085
4086 * window.c (Fdisplay_buffer): Fix doc.
4087
3090a5a5
JR
40882000-10-23 Jason Rumney <jasonr@gnu.org>
4089
4090 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4091 ASCII font of default fontset on Windows.
4092
4093 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4094 xterm.c comment below).
4095
4096 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4097
a83fee2c
GM
40982000-10-23 Gerd Moellmann <gerd@gnu.org>
4099
4100 * xterm.c (x_connection_closed): Reset handling_signal.
4101
52283633 4102 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4103
6ffdb539
MB
41042000-10-23 Miles Bader <miles@gnu.org>
4105
4106 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4107 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4108 maintain old behavior.
4109 * minibuf.c (Fminibuffer_complete): Likewise.
4110
7f1c969b
MB
41112000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4112
4113 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4114 that when a font can't be exactly centered, it errs up rather than
4115 down.
4116
23afac01 41172000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4118
52283633 4119 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4120
1a578e9b
AC
41212000-10-23 Andrew Choi <akochoi@i-cable.com>
4122
4123 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4124
4125 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4126 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4127
4128 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4129 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4130 syms_of_search, x_term_init, and init_keyboard before calling
4131 init_window_once. Also, call syms_of_xmenu.
4132
4133 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4134 default fontset to Monaco.
4135
4136 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4137 NewMacWindow and DisposeMacWindow.
4138 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4139 instead of calling NewMacWindow and setting fields of
4140 f->output_data.mac directly. Call init_frame_faces.
4141 (Fdelete_frame) [macintosh]: Remove unused code.
4142 (Fmodify_frame_parameters) [macintosh]: Call
4143 x_set_frame_parameters instead of mac_set_frame_parameters.
4144
4145 * frame.h [macintosh]: Define menu_bar_lines field in struct
4146 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4147
4148 * keyboard.c [macintosh]: Include macterm.h.
4149 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4150 and menu_bar_activate_event type events as for X and NT.
4151 (make_lispy_event) [macintosh]: Construct lisp events of type
4152 MENU_BAR_EVENT as for X and NT.
4153
4154 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4155 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4156 (sys_subshell) [macintosh]: Remove definition entirely.
4157 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4158 Vwindow_system_version here. Remove initialization of
4159 Vx_bitmap_file_path.
4160 (read_input_waiting): Correct the number of parameters passed to
4161 read_socket_hook.
4162 Move all Macintosh functions to mac/mac.c.
4163
4164 * term.c [macintosh]: Include macterm.h.
4165
4166 * window.c [macintosh]: Include macterm.h.
4167
4168 * xdisp.c [macintosh]: Include macterm.h. Declare
4169 set_frame_menubar and pending_menu_activation.
4170 (echo_area_display) [macintosh]: Do not return if terminal frame
4171 is the selected frame.
4172 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4173 Allow only the selected frame to set menu bar.
4174 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4175 calling FRAME_EXTERNAL_MENU_BAR (f).
4176 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4177
4178 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4179 and check_x. Declare XCreateGC. Define x_create_gc and
4180 x_free_gc. Initialize font_sort_order.
4181 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4182 but call x_list_fonts instead of w32_list_fonts.
4183 (Finternal_face_x_get_resource) [macintosh]: Do not call
4184 display_x_get_resource.
4185 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4186 (realize_x_face) [macintosh]: Load the font if it is specified in
4187 ATTRS.
52283633 4188 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4189
1ffbabe3
SM
41902000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4191
4192 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4193 is nil: since we go to the end of submap anyway, we'd end up
4194 setting nil to nil.
4195 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4196 doesn't obey autoload.
4197
bed43f1d
EZ
41982000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4199
1ffbabe3 4200 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4201
ea4233a7
JR
42022000-10-21 Jason Rumney <jasonr@gnu.org>
4203
4204 * w32term.c (w32_cache_char_metrics): Double check that font is
4205 really fixed pitch before trusting tmPitchAndFamily.
4206
f3d3c491
AI
42072000-10-21 Andrew Innes <andrewi@gnu.org>
4208
4209 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4210
4211 * w32term.h: Extern decl for w32_cache_char_metrics.
4212
4213 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4214
4215 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4216 (w32_unload_font): Free per_char array if present.
4217
4218 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4219 cached information in emulated XFontStruct to handle common cases
4220 quickly. Do not allocate XCharStruct for return.
4221 (w32_native_per_char_metric): New function.
4222 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4223 allocating one.
4224 (x_produce_glyphs): Don't get an HDC. Change calls to
4225 w32_per_char_metric to match arg change above. Remove calls to
4226 free results.
4227 (w32_get_glyph_overhangs): Ditto.
4228 (w32_cache_char_metrics): New function.
4229
4230 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4231 ($(BLD)/casefiddle.$(O)): Remove compile command.
4232 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4233 ($(BLD)/dispnew.obj):
4234 ($(BLD)/keyboard.obj):
4235 ($(BLD)/w32inevt.obj):
4236 ($(BLD)/w32bdf.obj):
4237 ($(BLD)/alloc.obj):
4238 ($(BLD)/buffer.obj):
4239 ($(BLD)/editfns.obj):
4240 ($(BLD)/emacs.obj):
4241 ($(BLD)/fileio.obj):
4242 ($(BLD)/fns.obj):
4243 ($(BLD)/indent.obj):
4244 ($(BLD)/insdel.obj):
4245 ($(BLD)/intervals.obj):
4246 ($(BLD)/minibuf.obj):
4247 ($(BLD)/print.obj):
4248 ($(BLD)/scroll.obj):
4249 ($(BLD)/sysdep.obj):
4250 ($(BLD)/textprop.obj):
4251 ($(BLD)/widget.obj):
f3d3c491
AI
4252 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4253 ($(BLD)/term.obj): Add dependency on dispextern.h.
4254
52283633
SM
4255 * makefile.nt ($(BLD)\dispnew.obj):
4256 ($(BLD)\keyboard.obj):
4257 ($(BLD)\w32inevt.obj):
4258 ($(BLD)\w32bdf.obj):
4259 ($(BLD)\alloc.obj):
4260 ($(BLD)\buffer.obj):
4261 ($(BLD)\editfns.obj):
4262 ($(BLD)\emacs.obj):
4263 ($(BLD)\fileio.obj):
4264 ($(BLD)\fns.obj):
4265 ($(BLD)\indent.obj):
4266 ($(BLD)\insdel.obj):
4267 ($(BLD)\intervals.obj):
4268 ($(BLD)\minibuf.obj):
4269 ($(BLD)\print.obj):
4270 ($(BLD)\scroll.obj):
4271 ($(BLD)\sysdep.obj):
4272 ($(BLD)\textprop.obj):
4273 ($(BLD)\widget.obj):
f3d3c491
AI
4274 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4275 ($(BLD)\term.obj): Add dependency on dispextern.h
4276
18ad4821
EZ
42772000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4278
4279 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4280 with an additional argument of Qt.
4281
de54681a
MB
42822000-10-21 Miles Bader <miles@gnu.org>
4283
4284 * window.c (pos_fully_visible_in_window_p): New function.
4285 (Fpos_visible_in_window_p): Add FULLY argument.
4286 Use pos_fully_visible_in_window_p.
4287 (window_scroll_pixel_based, window_scroll_line_based): Update
4288 calls to Fpos_visible_in_window_p.
4289 * lisp.h (Fpos_visible_in_window_p): Update prototype
4290
13c844fb
GM
42912000-10-20 Gerd Moellmann <gerd@gnu.org>
4292
4293 * alloc.c (toplevel): Conditionalize compilation of mem_*
4294 functions differently.
52283633 4295
d9506268
JR
42962000-10-20 Jason Rumney <jasonr@gnu.org>
4297
4298 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4299 mem_init where it used to be. mem_z etc not defined otherwise.
4300
8094989b
GM
43012000-10-20 Gerd Moellmann <gerd@gnu.org>
4302
4303 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4304 GC_MALLOC_CHECK.
4305 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4306 structure definition and related variabled to the top of the file.
4307 Include this code when GC_MALLOC_CHECK is defined.
4308 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4309 register/unregister allocated region.
4310 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4311 which isn't allocated.
4312 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4313 something which is already in use.
4314 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4315 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4316 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4317 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4318
4319 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4320 _malloc_internal instead of malloc.
4321 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4322 of free.
4323
ea456eb4
AI
43242000-10-20 Andrew Innes <andrewi@gnu.org>
4325
4326 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4327 Windows.
4328 (my_strftime) <macro>: Don't use macro arg list when redefining as
4329 _strftime_copytm.
4330 (my_strftime) <function>: Supply 0 as ut argument.
4331
e64c3a75
JR
43322000-10-19 Jason Rumney <jasonr@altavista.net>
4333
4334 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4335 including dispextern.h, as it stops faces from working.
4336
4337 * w32fns.c (Fx_create_frame): Don't bother calling
4338 face-set-after-frame-default since the caller does it for us
4339 anyway. Clean up calls to x_get_arg to be consistent with X.
4340
4341 * w32term.c (x_produce_glyphs): Handle
4342 unibyte_display_via_language_environment correctly.
4343 (w32_draw_box_rect): Fix the calculation of width and height.
4344
4345 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4346 as it has stopped working.
4347 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4348 menu-bar.
4349
17401c97
GM
43502000-10-19 Gerd Moellmann <gerd@gnu.org>
4351
4352 * eval.c (skip_debugger): Prevent a compiler warning.
4353 (Fcondition_case): Likewise.
4354 (Fbacktrace_frame): Use a null interactive spec.
4355
773272d8
KH
43562000-10-19 Kenichi Handa <handa@etl.go.jp>
4357
4358 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4359
a42943e9
GM
43602000-10-18 Gerd Moellmann <gerd@gnu.org>
4361
e50517d9
GM
4362 * strftime.c: Sync with glibc, file version 1.78.
4363 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4364 should no longer be used according to ISO 8601.
4365
9035a35a
GM
4366 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4367 no map for meta_prefix_char, don't try to use it as a keymap.
4368 Instead, if T_OK is non-zero, look up a default binding, if any,
4369 otherwise, if T_OK is zero, return nil.
4370
a42943e9
GM
4371 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4372 (x_to_xcolors, png_load): Use x_query_color.
4373
52283633
SM
4374 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4375 New functions.
a42943e9
GM
4376 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4377 which can be slow.
4378 (x_copy_color, x_alloc_lighter_color): Likewise.
4379
4380 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4381 (x_query_color, x_query_colors): Add prototype.
4382
4383 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4384 check_string_bytes only if not noninteractive, increase count to 50.
4385
00de2987
MB
43862000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4387
4388 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4389 markers correctly.
4390
54918e2b
GM
43912000-10-17 Gerd Moellmann <gerd@gnu.org>
4392
1f0b3fd2
GM
4393 * alloc.c (pure_bytes_used): Renamed from pureptr.
4394 (ALIGN): New macro.
4395 (pure_alloc): New function.
4396 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4397 Use it.
4398 (Fpurecopy): Use PURE_POINTER_P.
4399
68c5d1db
GM
4400 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4401 PT has moved backward.
52283633 4402
9a038881
GM
4403 * xdisp.c (cursor_row_p): Take continued lines into account.
4404
361b097f
GM
4405 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4406 string's size_byte.
4407 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4408 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4409 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4410 string allocated.
4411
54918e2b
GM
4412 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4413 of selective display off while searching for the next line start.
4414
03ed0806
KH
44152000-10-17 Kenichi Handa <handa@etl.go.jp>
4416
4417 * Makefile.in (term.o): Depend on dispextern.h.
4418
7e05cdaf
SM
44192000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4420
4421 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4422
a6801fd1
GM
44232000-10-16 Gerd Moellmann <gerd@gnu.org>
4424
483de32b
GM
4425 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4426 the iterator at the beginning, so that they can be set later on,
4427 for instance in reseat_at_next_visible_line_start, without being
4428 overwritten.
4429
a6801fd1
GM
4430 * xfns.c (pbm_format): Add :foreground and :background keywords.
4431 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4432 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4433
dbf1fcc1
EZ
44342000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4435
4436 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4437
52283633 4438 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4439
4440 * msdos.c (IT_set_face): Compare highlighted face with the default
4441 face, and invert colors if these faces' colors are identical.
4442 (Fmsdos_remember_default_colors): Don't swap foreground and
4443 background colors in initial_colors[].
4444 (IT_set_frame_parameters): Don't swap frame's foreground and
4445 background pixels. If ALIST includes "(reverse . t)", swap
4446 foreground-color and background-color properties in frame's
4447 param_alist. If the original frame's param_alist doesn't specify
4448 the colors, store unspecified-fg and unspecified-bg, reversed if
4449 required.
4450
4451 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4452 the colors are unspecified and reversed, reverse fore- and back-
4453 ground in the returned value.
4454 (Fframe_parameter): Ditto.
4455
b41fe2c3 44562000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4457
3a6b59d9
GM
4458 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4459 get_last_unchanged_at_beg_row.
4460 (find_first_unchanged_at_end_row): Renamed from
4461 get_first_unchanged_at_end_row.
4462 (find_first_unchanged_at_end_row): Convert assertions to
4463 unconditional tests which abort. When looking for a row in
4464 unchanged text, don't go further back than first_text_row.
4465
b41fe2c3
GM
4466 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4467 Don't add in the last line's height when deciding if the new
4468 position is below the scroll margin.
9d1af64f 4469
b41fe2c3 44702000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4471
4472 * editfns.c (Fconstrain_to_field): Check carefully for field
4473 boundaries if either OLD_POS or NEW_POS has a non-nil field
4474 property, even if they're the same.
4475
c412cb7b
KH
44762000-10-16 Kenichi Handa <handa@etl.go.jp>
4477
4478 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4479 height for XFillRectangle.
4480
5586f3eb
SM
44812000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4482
4483 * syntax.c (Fstring_to_syntax): New function extracted from
4484 Fmodify_syntax_entry.
4485 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4486 (skip_chars, Fforward_comment): Remove unused variables.
4487 (syms_of_syntax): Add defsubr for string-to-syntax.
4488 (describe_syntax): Add code for comment and string fences.
4489
db785038
SM
44902000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4491
4492 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4493 Do the meta->esc mapping. Call get_keyelt before returning.
4494 Start scanning from the second element (the first is always `keymap')
4495 to make it easier to detect when we reach a parent map.
4496 Handle the case of inheriting from a symbol whose function is a map.
4497 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4498 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4499 (get_keyelt, Flookup_key): Update call to access_keymap.
4500 Remove the meta->esc mappings.
4501 (define_as_prefix): Delete old disabled code.
4502 (menu_item_p): New function.
4503 (where_is_internal_1): Skip over the few remaining menu items.
4504 * lisp.h (access_keymap): Update prototype.
4505 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4506 Update call to access_keymap.
4507 (follow_key, read_key_sequence): Update calls to access_keymap.
4508 Remove the meta->esc mappings.
4509
cafafe0b
GM
45102000-10-13 Gerd Moellmann <gerd@gnu.org>
4511
a2e2a7f6
GM
4512 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4513 with additional argument.
4514
cafafe0b
GM
4515 * xdisp.c (cursor_row_p): New function.
4516 (try_cursor_movement, display_line): Use it.
52283633 4517
cafafe0b
GM
4518 * xdisp.c (append_space): Also save/restore iterator's current
4519 character and its length.
4520
4521 * xdisp.c (init_from_display_pos): Add an assertion.
4522 (handle_stop): Don't set iterator's add_overlay_start.
4523 (handle_invisible_prop): Likewise.
4524 (load_overlay_strings): If text under an overlay is invisible,
4525 take both before- and after-strings into account when the iterator
4526 is positioned either at the start or at the end of the overlay.
4527 (forward_to_next_line_start): Rewritten.
4528 (reseat_at_next_visible_line_start): Rewritten.
4529 (set_iterator_to_next): Add parameter RESEAT_P.
4530
4531 * dispextern.h (struct it): Remove member add_overlay_start.
4532 (set_iterator_to_next): Change prototype.
4533
c744452b
KH
45342000-10-13 Kenichi Handa <handa@etl.go.jp>
4535
4536 * coding.c (code_convert_region): Be sure to initialize
4537 coding->category_idx.
e4a3f4e1
KH
4538 (decode_coding_string): Set coding->src_multibyte and
4539 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4540 (encode_coding_string): Set coding->src_multibyte and
4541 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4542
321fd26f
SM
45432000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4544
4545 * xfns.c (Fx_create_frame): Don't bother calling
4546 face-set-after-frame-default since the caller does it for us anyway.
4547
76832439
EZ
45482000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4549
4550 * window.c (coordinates_in_window): Fix detection of vertical line
4551 on character terminals.
4552
2483cf58
GM
45532000-10-12 Gerd Moellmann <gerd@gnu.org>
4554
4555 * editfns.c (save_excursion_save): Additionally record the
4556 selected window.
4557 (save_excursion_restore): If buffer was visible in a window, and a
4558 different window was selected, and the old selected window is
4559 still live, restore point in that window.
4560
eb991b25
KH
45612000-10-12 Kenichi Handa <handa@etl.go.jp>
4562
8a0eba09
KH
4563 * xterm.c (x_produce_glyphs): Handle
4564 unibyte_display_via_language_environment correctly.
4565
20401fcc
KH
4566 * regex.c (regex_compile): Change the way of handling a range from
4567 unibyte char to multibyte char.
4568
4569 * syntax.c (skip_chars): Change the way of handling a range from
4570 unibyte char to multibyte char.
4571
eb991b25
KH
4572 * process.c (read_process_output): Cancel previous change.
4573
365dd325
EZ
45742000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4575
c1b096cb
EZ
4576 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4577
365dd325
EZ
4578 * charset.c (Ffind_charset_string): Doc fix.
4579 (Ffind_charset_region): Doc fix.
4580
eb483c2b
KH
45812000-10-11 Kenichi Handa <handa@mule.m17n.org>
4582
4583 * process.c (read_process_output): Fix previous change. Adjust
4584 multibyteness of text to insert in a buffer by
52283633 4585 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4586
b40bfb99
AS
45872000-10-10 Andreas Schwab <schwab@suse.de>
4588
4589 * alloc.c (mark_object): Remove all workarounds installed on
4590 1993-08-08.
4591
caff31d4
KH
45922000-10-10 Kenichi Handa <handa@etl.go.jp>
4593
52283633 4594 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4595 (base64_encode_1): Make it work for a text of multibyte form.
4596 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4597 case. Don't call str_to_multibyte because base64_decode_1
4598 produces correct multibyte form for eight-bit codes.
52283633 4599 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4600 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4601 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4602 codes.
4603
4604 * charset.h (CHAR_STRING): Optimized for single byte characters.
4605
cba026ef
AS
46062000-10-09 Andreas Schwab <schwab@suse.de>
4607
4608 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4609 -1 after socket is closed, to fall through to error processing.
4610
1e21fe48
EZ
46112000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4612
4613 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4614 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4615 background-color, change also the colors of the default face for
4616 this frame.
4617
a640322e
EZ
46182000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4619
4620 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4621 them extern (they are defined on xfaces.c).
4622 (syms_of_msdos): Don't intern and don't staticpro
4623 Qbackground_color and Qforeground_color.
4624
a115794c
EZ
46252000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4626
4627 * frame.c (Fframe_parameter): For non-windowed frames, if
4628 f->param_alist says foreground or background color is unspecified,
4629 call tty_color_name to return the color name computed from the
4630 frame's current colors.
4631
f5533b63
DL
46322000-10-06 Dave Love <fx@gnu.org>
4633
4634 * terminfo.c (ospeed): Don't declare.
4635
4636 * sysdep.c: Don't include string.h.
4637 (h_errno): Declare conditional also on TRY_AGAIN.
4638
4639 * charset.c (Ffind_charset_string): Doc fix.
4640
52283633 4641 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4642 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4643 error messages.
4644
2b06561a
DL
46452000-10-05 Dave Love <fx@gnu.org>
4646
4647 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4648 position like menu-bar.
4649
ca839c85
GM
46502000-10-05 Gerd Moellmann <gerd@gnu.org>
4651
4652 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4653
4654 * xdisp.c (handle_single_display_prop): Use safe_call1.
4655 (safe_call): Renamed from call_function.
4656 (safe_call1): New function.
4657 (handle_fontified_prop): Use safe_call1 instead of call1.
4658 (safe_eval): Renamed from eval_form.
4659 (safe_eval_handler): Renamed from eval_handler.
4660 (handle_single_display_prop, display_mode_element): Use safe_eval
4661 instead of eval_form.
4662
4663 * xfaces.c (merge_face_heights): Use safe_call instead of
4664 call_function.
4665
4666 * keyboard.c (show_help_echo): Use safe_call instead of
4667 call_function; use safe_eval instead of eval_form.
4668
4669 * lisp.h (safe_call): Renamed from call_function.
4670 (safe_eval): Renamed from eval_form.
4671 (safe_call1): Add prototype.
4672
a3489ece
MB
46732000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4674
4675 * xfns.c (image_ascent): Rearrange ascent calculation for the
4676 has-a-font case.
4677
35810b6f
SM
46782000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4679
4680 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4681 (where_is_internal_1): Don't bother ignoring menu-items any more.
4682
3dc78168
GM
46832000-10-04 Gerd Moellmann <gerd@gnu.org>
4684
4685 * keyboard.c (update_menu_bindings): New variable.
4686 (parse_menu_item): Use AREF. If update_menu_bindings
4687 is 0, don't update menu bindings.
4688 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4689
1efc2bb9
EZ
46902000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4691
4692 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4693 to `mark_object'.
4694
3f679f55
SM
46952000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4696
4697 * syntax.c (forw_comment): Match nestedness of ender/starter.
4698 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4699 (prev_char_comstart_first): Remove.
4700 (back_comment): Check two-char comment markers more carefully
4701 to better handle overlapping cases like *//* or /* */* */ ...
4702 Match nestedness of ender/starter.
4703
2021ab61
DL
47042000-10-02 Dave Love <fx@gnu.org>
4705
4706 * config.in (HAVE_GAI_STRERROR): Add undef.
4707
4708 * process.c (Fopen_network_stream): Use it.
4709
4710 * m/alpha.h (NO_REMAP): Don't define.
4711
64e6cc18
GM
47122000-10-02 Gerd Moellmann <gerd@gnu.org>
4713
4714 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4715 return with a string converted to an integer or vice versa when
4716 Vmocklisp_arguments is t.
4717 (Fsignal): Likewise. The function can return for `quit'.
4718 (struct gcpro): Declare member `var' to point to a volatile
4719 Lisp_Object.
4720
4721 * eval.c (error): Prevent compiler warning.
4722
b1904cd9
SM
47232000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4724
4725 * keymap.c (keymap_memberp): New function.
4726 (Fset_keymap_parent): Use it.
4727 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4728 Use keymap_memberp to avoid creating cycles.
4729 (access_keymap): Use KEYMAPP.
4730
71c9ec51
GM
47312000-09-30 Gerd Moellmann <gerd@gnu.org>
4732
4733 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4734 gai_strerror. Make sure xerrno is set if connect fails. Improve
4735 error recovery.
71c9ec51 4736
c70c6b58
JR
47372000-09-29 Jason Rumney <jasonr@gnu.org>
4738
4739 * w32term.c (w32_char_font_type, w32_encode_char)
4740 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4741 (w32_bdf_per_char_metric): New function.
4742 (w32_per_char_metric): Use it.
4743 (x_draw_glyph_string_background): Always draw background for BDF
4744 glyphs.
4745
4746 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4747 GDI object which is a scarce resource.
4748
4749 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4750 (get_quoted_string): Fix limit on memchr search.
4751 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4752 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4753 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4754 (get_cached_font_char, cache_char_offset): Use macro
4755 BDF_CODEPOINT_RANGE_COVER_P.
4756 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4757 (clear_cached_bitmap_slots): New function.
4758 (GET_HEX_VALUE): G-Z, g-z are not hex.
4759 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4760 (get_bitmap_with_cache): Use new cache implementation.
4761 (create_offscreen_bitmap): New function.
4762 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4763
4764 * w32term.c (x_produce_glyphs): If the distance from the current
4765 position to the next tab stop is less than a canonical character
4766 width, use the tab stop after that.
4767 (x_draw_glyphs): Handle case START and END are out of bounds more
4768 carefully.
4769 (x_clear_mouse_face): Block/unblock input.
4770 (x_display_and_set_cursor): Don't show a hollow box cursor for
4771 buffers whose cursor_type is nil.
4772
fe01239f
GM
47732000-09-29 Gerd Moellmann <gerd@gnu.org>
4774
52283633 4775 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4776
4777 * dispextern.h (updating_frame): Declare extern.
4778
e7c52f1f
AS
47792000-09-29 Andreas Schwab <schwab@suse.de>
4780
4781 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4782
de6e1f7c
GM
47832000-09-29 Gerd Moellmann <gerd@gnu.org>
4784
25126faa
GM
4785 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4786 use its function definition.
4787 (tool_bar_items): Likewise.
4788
de6e1f7c 4789 * lisp.h (fatal): Declare NO_RETURN.
52283633 4790
454ee39b
KH
47912000-09-29 Kenichi Handa <handa@etl.go.jp>
4792
4793 * keymap.c: Remove the line "#undef NULL".
4794
96301c5f
GM
47952000-09-28 Gerd Moellmann <gerd@gnu.org>
4796
52283633 4797 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4798
efffeeb4
DL
47992000-09-28 Dave Love <fx@gnu.org>
4800
ecb8b666
DL
4801 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4802
dc3cd20f
DL
4803 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4804
4805 * .gdbinit (xreload): Note its need on GNU/Linux.
4806
efffeeb4
DL
4807 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4808 r_alloc, r_alloc_free.
4809
8610d903
KH
48102000-09-28 Kenichi Handa <handa@etl.go.jp>
4811
4812 * syntax.c (skip_chars): Handle negation correctly.
4813
8901d1ac
GM
48142000-09-27 Gerd Moellmann <gerd@gnu.org>
4815
6f22f1ad
GM
4816 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4817 with non-zero FORCE_P argument.
4818
52283633 4819 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4820 Add assertions.
4821
4822 * xdisp.c (window_box_height): Add an assertion.
4823
4824 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4825 tool-bar than is available.
4826 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4827
36f1966f
DL
48282000-09-27 Dave Love <fx@gnu.org>
4829
efffeeb4 4830 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4831
31d929e5
GM
48322000-09-26 Gerd Moellmann <gerd@gnu.org>
4833
c98863bf
GM
4834 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4835 instead of BITS_PER_INT.
4836 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4837 EMACS_UINT, respectively.
4838 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4839
4840 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4841
4842 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4843
77072ab1
GM
4844 * window.c (freeze_window_starts): Construct last argument for
4845 foreach_window differently.
4846
4847 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4848
4849 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4850 EMACS_UINT instead of `int' and `unsigned int'.
4851 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4852
4853 * frame.h (struct frame): Make the `nothing' member of union
4854 output_data an EMACS_INT.
4855
52283633 4856 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4857 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4858 size in the sdata structure.
4859 (SDATA_NBYTES, SDATA_DATA): New macros.
4860 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4861 differently for the different layout of the sdata structure.
4862 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4863 in sdata.
4864 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4865 Check that size recorded in the string size and size recorded in
4866 the sdata structure agree.
4867
3e60b029
DL
48682000-09-25 Dave Love <fx@gnu.org>
4869
4870 * buffer.c: Include stdio.h.
4871
4872 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4873
3e60b029
DL
4874 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4875
4876 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4877 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4878 (__malloc_extra_blocks): Declare as __malloc_size_t.
4879
8ff16b4e
GM
48802000-09-25 Gerd Moellmann <gerd@gnu.org>
4881
755a2ccd
GM
4882 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4883
d8b4516f
GM
4884 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4885 (read_char): If help-echo is showing, preserve the echo area
4886 when redisplaying.
4887
4888 * xdisp.c (help_echo_showing_p): New variable.
4889 (set_message): Reset it to 0.
4890 (init_xdisp): Initialize help_echo_showing_p.
4891
4892 * dispextern.h (help_echo_showing_p): Declare extern.
4893
4894 * config.in: Fix typo in __GNUC_MINOR__.
4895
4896 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4897
b11af2dd
GM
4898 * s/freebsd.h (POSIX_SIGNALS): Define.
4899
8ff16b4e
GM
4900 * xterm.c (x_clear_mouse_face): Block/unblock input.
4901
844eb643
DL
49022000-09-24 Dave Love <fx@gnu.org>
4903
4904 * fns.c (base64_encode_1): Fix last change.
4905
b30ab1b3
GM
49062000-09-22 Gerd Moellmann <gerd@gnu.org>
4907
4908 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4909
4910 * xdisp.c (try_window_reusing_current_matrix): More fixes
4911 for the case window has a header-line.
4912
c6cbe5f0
DL
49132000-09-22 Dave Love <fx@gnu.org>
4914
4c7c1f3f
DL
4915 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4916 a doc string.
4917
4918 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4919
c6cbe5f0
DL
4920 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4921
550a625e
GM
49222000-09-21 Gerd Moellmann <gerd@gnu.org>
4923
4c7c1f3f 4924 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4925 for GCC >= 2.5.
4926
52283633
SM
4927 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4928 Declare NO_RETURN.
fca99116 4929
80d26f99
GM
4930 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4931 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4932 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4933 warnings.
52283633 4934
80d26f99
GM
4935 * marker.c (byte_char_debug_check): Return void.
4936
623a0aae
GM
4937 * xfns.c (Fx_create_frame): Set default frame parameter value
4938 for tool-bar-lines to 1.
4939
4940 * dispnew.c (scrolling_window): Compare y-positions of rows
4941 equal at the start. Some simplification.
4942
4943 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4944 reused rows' y-position in the case window has a header-line, and
4945 new window start is greater than old window start.
4946
42ac0ae5
GM
4947 * process.c (process_sent_to): New variable.
4948 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4949 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4950 Declare more parameters volatile.
4951
550a625e
GM
4952 * lread.c (Vrecursive_load_depth_limit): New variable.
4953 (Fload): Check recursive loads whose recursion depth exceeds
4954 Vrecursive_load_depth_limit.
4955 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4956
8320414c
GM
49572000-09-20 Gerd Moellmann <gerd@gnu.org>
4958
f46c275e
GM
4959 * fileio.c (Fread_file_name): Doc fix.
4960
4961 * editfns.c (Fmessage_or_box): Doc fix.
4962
4963 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4964
b7e11c5b 4965 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4966
8320414c
GM
4967 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4968 symbols are specified, add color translations to the cache.
52283633 4969 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4970 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4971 xpm_cache_color.
4972 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4973 structures to xpm_init_color_cache.
4974
da1608d9
GM
49752000-09-19 Gerd Moellmann <gerd@gnu.org>
4976
52283633 4977 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4978
6badfa25
AI
49792000-09-19 Andrew Innes <andrewi@gnu.org>
4980
4981 * makefile.nt (bootstrap-emacs): Don't change directory.
4982
3a5f42bb
KH
49832000-09-19 Kenichi Handa <handa@etl.go.jp>
4984
1b7649bd
KH
4985 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4986
3a5f42bb
KH
4987 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4988 If output buffer is too small, signal an appropriated error.
4989
9f83cf0b
DL
49902000-09-18 Dave Love <fx@gnu.org>
4991
52283633 4992 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4993 (current_active_maps): Remove redundant get_local_map call.
4994
28c7826c
GM
49952000-09-18 Gerd Moellmann <gerd@gnu.org>
4996
5cefa566
GM
4997 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4998 cursor for buffers whose cursor_type is nil.
52283633 4999
6fed3546
GM
5000 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
5001 a feature to implement that is already implemented.
5002 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
5003 warnings.
5004
5005 * xfns.c (x_clear_image_1): New function.
5006 (x_clear_image): Use it.
52283633 5007 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 5008
05b1f851
GM
5009 * dispnew.c (update_window): Move test for invisible lines
5010 at the top to update_window_line.
5011 (update_window_line): Handle invisible lines here.
5012
f4779de9
GM
5013 * xfns.c (clear_image_cache): Clear current matrices of all
5014 frames sharing an image cache. Block input while freeing
5015 images. Fix timestamp comparison.
5016 (x_clear_image): Also free the mask.
5017
28c7826c
GM
5018 * xfns.c (lookup_image): Block input while loading the image so
5019 that we won't get interrupted in a state where the image isn't yet
5020 set up completely.
5021 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
5022 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
5023 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 5024 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 5025
b7412313
GM
50262000-09-16 Gerd Moellmann <gerd@gnu.org>
5027
5028 * dispnew.c (update_window): Make sure to make desired rows
5029 current even if they are completely invisible at the top
5030 of a window.
5031
47e351a3
GM
50322000-09-15 Gerd Moellmann <gerd@gnu.org>
5033
7f8f1edc
GM
5034 * xfns.c (lookup_image): Build mask before applying an algorithm.
5035 Recognize algorithm `disabled'.
5036 (cross_disabled_images): New variable.
5037 (COLOR_INTENSITY): New macro.
5038 (x_detect_edges): Use COLOR_INTENSITY.
5039 (x_disable_image): New function.
5040 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
5041
5042 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
5043 disabled state, don't apply an image transformation algorithm if
5044 the user specified an image for the disabled state. Use
28c7826c 5045 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
5046 user hasn't specified an image.
5047
ebb8f116
GM
5048 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
5049 allocation functions with the XPM lib.
5050 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
5051 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
5052 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5053 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5054 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5055 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5056 functions, if possible, because these handle color allocation
5057 failure more gracefully.
5058 (Fimage_mask_p): New function.
5059
47e351a3
GM
5060 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5061 (Qedge_detection, Qheuristic): New symbols.
5062 (syms_of_xfns): Initialize new symbols.
5063 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5064 `algorithm (edge-detection ...)'.
5065 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5066 (tiff_format, gif_format, gs_format): Add `:mask'.
5067 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5068 (GIF_MASK, GS_MASK): New enumerators.
5069 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5070 (emboss_matrix, laplace_matrix): New variables.
5071 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5072 (x_edge_detection): New functions.
5073 (x_laplace): Rewritten in terms of x_detect_edges.
5074 (x_build_heuristic_mask): If image has a mask, free it.
5075
fe83b953
AI
50762000-09-14 Andrew Innes <andrewi@gnu.org>
5077
5078 * makefile.w32-in: Revert to Unix line endings.
5079
3021e816
AI
50802000-09-14 Andrew Innes <andrewi@gnu.org>
5081
5082 * makefile.w32-in: Standardize indentation somewhat.
5083 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5084 cater for differences between shells.
5085
5086 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5087
2a32b5ea
GM
50882000-09-14 Gerd Moellmann <gerd@gnu.org>
5089
5090 * xterm.c (x_produce_glyphs): If the distance from the current
5091 position to the next tab stop is less than a canonical character
5092 width, use the tab stop after that.
5093
b4331e96
DL
50942000-09-14 Dave Love <fx@gnu.org>
5095
5096 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5097
ef9e4345
GM
50982000-09-14 Gerd Moellmann <gerd@gnu.org>
5099
085536c2
GM
5100 * xdisp.c (handle_fontified_prop): While running fontification
5101 functions, bind `fontification-functions' and
5102 `after-change-functions' to nil.
5103
ef9e4345
GM
5104 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5105 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5106
5107 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5108
5109 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5110 USE_MMAP_FOR_BUFFERS.
5111
5112 * insdel.c (make_gap): Use enlarge_buffer_text.
5113
5114 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5115 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5116 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5117 from former r_alloc_* functions in ralloc.c.
52283633 5118 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5119 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5120 (mmap_init) [REL_ALLOC_MMAP]: New function.
5121 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5122 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5123 BUFFER_FREE.
5124
5125 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5126 (enlarge_buffer_text): Add prototype.
5127
5128 * ralloc.c: Remove everything having to do with the use of mmap.
5129
f8608968
GM
51302000-09-13 Gerd Moellmann <gerd@gnu.org>
5131
2a494b2d
GM
5132 * sound.c (Fplay_sound): Doc fix.
5133
8c907a56
GM
5134 * keyboard.c: Avoid some more compiler warnings.
5135 (parse_tool_bar_item): Ignore cached key bindings.
5136
f8608968
GM
5137 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5138 and allocation of Lisp data.
5139
6ab70e9a
GM
51402000-09-12 Gerd Moellmann <gerd@gnu.org>
5141
d12d0a9b
GM
5142 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5143 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5144 defaults first.
5145
6ab70e9a
GM
5146 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5147
63c36c3c
KH
51482000-09-12 Miyashita Hisashi <himi@meadowy.org>
5149
5150 * ccl.c: Comment fixed.
5151 (MAX_MAP_SET_LEVEL): Increased to 30.
5152 (PUSH_MAPPING_STACK): Enclose with do-while block.
5153 (POP_MAPPING_STACK): Likewise.
5154 (stack_idx_of_map_multiple): New variable.
5155 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5156 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5157 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5158 (ccl_driver) <CCL_MapSingle>: Likewise.
5159 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5160 with the case where looking up process reaches to the end of
5161 map-set, and call CCL programs as the above change.
5162
7ee3bd7b
GM
51632000-09-11 Gerd Moellmann <gerd@gnu.org>
5164
8ec8a5ec
GM
5165 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5166 that might be clobbered by longjmp.
5167 (check_x_display_info, x_decode_color, create_frame_xic)
5168 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5169 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5170
f74b0705
GM
5171 * lread.c (init_lread): Set Vloads_in_progress to nil.
5172 (Fload): Show list of recursively loaded files, when signaling an
5173 error.
5174
7ee3bd7b
GM
5175 * lread.c (Vloads_in_progress): New variable.
5176 (record_load_unwind): New function.
5177 (Fload): Check for recursive loads.
5178 (syms_of_lread): Initialize Vloads_in_progress.
5179 (read_integer, read1): Avoid some compiler warnings.
5180
5181 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5182 compiler warnings.
5183
974e1e5b
MB
51842000-09-11 Miles Bader <miles@gnu.org>
5185
5186 * editfns.c (Fbuffer_string): Doc fix.
5187
9824c4e3
GM
51882000-09-10 Gerd Moellmann <gerd@gnu.org>
5189
5190 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5191
6a72fdd1
KR
51922000-09-09 Ken Raeburn <raeburn@gnu.org>
5193
5194 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5195 whether to include other header files.
5196
28e6fb66
GM
51972000-09-09 Gerd Moellmann <gerd@gnu.org>
5198
52283633 5199 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5200 by Fmemq as a boolean.
28e6fb66 5201
7f8b6551
SM
52022000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5203
5204 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5205
a8710abf
GM
52062000-09-08 Gerd Moellmann <gerd@gnu.org>
5207
d1a02881
GM
5208 * ralloc.c (mmap_fd): Remove initializer which can make it
5209 read-only in a dumped Emacs.
5210 (mmap_fd_1): New variable.
5211 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5212 restore it from there.
5213 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5214 unconditionally so that mmap_fd can be initialized there.
5215 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5216 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5217 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5218
c454aac1
GM
5219 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5220
5221 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5222 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5223
fc653ef2
GM
5224 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5225
3015eec0
GM
5226 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5227 inheritance.
5228
bfe0ee88
GM
5229 * xdisp.c (try_window_id): When trying to locate cursor in
5230 unchanged rows at the top, handle the case that we can't find it.
5231
a8710abf
GM
5232 * xterm.c (x_draw_glyphs): Handle case START and END are out
5233 of bounds more carefully.
5234
6b7d4ae4
DL
52352000-09-08 Dave Love <fx@gnu.org>
5236
423193c5
DL
5237 * s/sol2.h (REL_ALLOC_MMAP): Define.
5238 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5239
5240 * ralloc.c: Don't include string.h (redundant).
5241 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5242 [!MAP_ANON]: Include fcntl.h.
5243 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5244 (r_alloc, r_re_alloc, r_alloc_free)
5245 (mmap_enlarge, mmap_set_vars): Use it.
5246 (r_alloc_init_fd): New function.
5247 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5248 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5249 malloc type.
5250
5251 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5252 Remove vm-limit.o.
5253
6b7d4ae4
DL
5254 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5255 change to __NetBSD__.
5256
44d31981
KH
52572000-09-08 Kenichi Handa <handa@etl.go.jp>
5258
5259 * search.c (compile_pattern): Check the multibyteness of cached
5260 string and PATTERN.
5261
aad40737
MB
52622000-09-08 Miles Bader <miles@gnu.org>
5263
5264 * xfaces.c (default_face_vector): Function removed.
5265 (Finternal_merge_in_global_face): Restore old global/local
5266 attribute override order. Use inline loop instead of calling
5267 default_face_vector.
5268
91a211b5
GM
52692000-09-07 Gerd Moellmann <gerd@gnu.org>
5270
5271 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5272 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5273 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5274 where necessary, in case POINTER_TYPE is `void'.
5275
03419440
EZ
52762000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5277
5278 * frame.c (make_terminal_frame): Initialize frame foreground and
5279 background colors to unspecified, for the initial instance of an
5280 MSDOS frame.
5281
f46f845b
GM
52822000-09-07 Gerd Moellmann <gerd@gnu.org>
5283
24f76fbf
GM
5284 * ralloc.c (mmap_find): Fix overlap computation.
5285 (mmap_enlarge): Compute nbytes before trying to find an
5286 overlapping region.
5287
f46f845b
GM
5288 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5289 instead of `!='.
5290
5291 * lread.c (syms_of_lread): Change value of regexp
5292 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5293
5294 * xmenu.c (xdialog_show): When looking up the selection in
5295 menu_items, take `quote' boundaries into account; this corresponds
5296 to a nil ITEM in x-popup-dialog.
5297
3c014385
KH
52982000-09-07 Kenichi Handa <handa@etl.go.jp>
5299
fd6f711b
KH
5300 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5301 not 0x81.
5302 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5303
3c014385 5304 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5305 encoding, not decoding. Fix the handling of latin-jisx0201.
5306 Check for the charset katakana-jisx0201 too.
3c014385 5307 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5308 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5309
0da3ecef
GM
53102000-09-07 Gerd Moellmann <gerd@gnu.org>
5311
ab0ee409
GM
5312 * xfaces.c (Vparam_value_alist): New variable.
5313 (syms_of_xfaces): Initialize it.
5314 (Finternal_set_lisp_face_attribute): Avoid more consing.
5315
5316 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5317 specially.
5318 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5319 (Qbackground_mode): New variable.
5320 (syms_of_frame_1): Initialize Qbackground_mode.
5321
5322 * lisp.h (Qdisplay): Declare extern.
1091dd67 5323
0da3ecef
GM
5324 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5325 change face on all frames, and change the default for new frames.
5326
b14654b9
DL
53272000-09-07 Dave Love <fx@gnu.org>
5328
5329 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5330
d24fd56f
KH
53312000-09-07 Kenichi Handa <handa@etl.go.jp>
5332
794f3670
KH
5333 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5334
0fddd0dc
KH
5335 * charset.c: Include composite.h
5336 (lisp_string_width): New function.
5337 (Fstring_width): Call lisp_string_width instead of strwidth.
5338
5339 * Makefile.in (charset.o): Depends on composite.h.
5340
d24fd56f
KH
5341 * process.c (read_process_output): Before inserting the decoded
5342 text in the buffer, adjust the multibyteness.
5343
fa0b693c
GM
53442000-09-06 Gerd Moellmann <gerd@gnu.org>
5345
52283633 5346 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5347 buffer's text buffer is null, map new memory.
5348
0a58f946
GM
5349 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5350 POINTER_TYPE and size_t.
5351 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5352 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5353 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5354 [REL_ALLOC_MMAP]: New macros.
5355 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5356 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5357 [REL_ALLOC_MMAP]: New functions.
5358
5359 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5360 before and after unexec.
5361
5362 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5363 text buffers if necessary.
5364
5365 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5366 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5367 in prototypes.
5368
fa0b693c
GM
5369 * config.in (HAVE_MMAP): Add #undef.
5370
877055f6
GM
53712000-09-05 Gerd Moellmann <gerd@gnu.org>
5372
08ba3862
GM
5373 * frame.c (Qdisplay_type): New variable.
5374 (syms_of_frame_1): Initialize it.
5375 (Fframe_parameter): New function that avoids consing.
5376 (syms_of_frame): Defsubr it.
5377
66ffe51c
GM
5378 * buffer.c (Fother_buffer): Consider buffers as invisible when
5379 they are displayed in a window on an invisible frame.
5380
877055f6
GM
5381 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5382 get-largest-window always return nil.
5383
bb970e67
GM
53842000-09-04 Gerd Moellmann <gerd@gnu.org>
5385
5386 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5387 variable; recognize Emacs 19 elc files.
5388
7a3d0e0e
MB
53892000-09-04 Miles Bader <miles@gnu.org>
5390
5391 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5392 before initially popping up the menu, so the menu doesn't flash
52283633 5393 when the face settings are significantly different from the defaults.
7a3d0e0e 5394
14473664
SM
53952000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5396
5397 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5398 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5399 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5400 (BIT_UNIBYTE): Remove.
5401 (re_match_2_internal): Delete corresponding code and streamline the
5402 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5403 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5404 (re_wctype_t): New type.
5405 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5406 (regex_compile): Use them and fix handling of overly long char classes.
5407
c1174479
AI
54082000-09-03 Andrew Innes <andrewi@gnu.org>
5409
f8803e97
AI
5410 * makefile.w32-in: Change to DOS line endings.
5411
c1174479
AI
5412 * s/ms-w32.h (ORDINARY_LINK): New define.
5413
5414 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5415 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5416
5417 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5418 (distclean): Delete them here instead.
5419
44ef7cf6
AI
5420 * w32proc.c (compare_env): Convert to uppercase for comparison,
5421 not lowercase, to match how the native Windows shell works.
5422
49b3bd82
JR
54232000-09-03 Jason Rumney <jasonr@gnu.org>
5424
5425 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5426 CVS changes the line-ends when checking in/out on DOS/Windows.
5427
5428 * makefile.nt (emacs): Do not change directory to run temacs, as
5429 the load-path is set relative to current directory.
5430
a3d35a39
MB
54312000-09-03 Miles Bader <miles@gnu.org>
5432
5433 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5434
d276b0cf
GM
54352000-09-02 Gerd Moellmann <gerd@gnu.org>
5436
715e84c9
GM
5437 * xdisp.c (redisplay_mode_lines): New function.
5438 (display_mode_lines): Return number of mode lines displayed.
5439 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5440 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5441
8892f40b
GM
5442 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5443 string.h and strings.h.
5444 (index) [HAVE_INDEX]: Add prototype.
5445
d276b0cf
GM
5446 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5447 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5448
5449 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5450 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5451
38404229
GM
54522000-09-01 Gerd Moellmann <gerd@gnu.org>
5453
5454 * lread.c (read1): Accept `?' as symbol constituent, for
5455 compatiblity with XEmacs.
5456
c0f9ea08
SM
54572000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5458
5459 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5460 (struct re_pattern_buffer): Remove newline_anchor.
5461 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5462 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5463 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5464 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5465 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5466 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5467 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5468 Get rid of references to newline_anchor.
5469 (regcomp): Allocate and precompute a fastmap.
5470
8c0f83fe
GM
54712000-08-31 Gerd Moellmann <gerd@gnu.org>
5472
5473 * lread.c (openp): GCPRO local variable `filename'.
5474
4bb91c68
SM
54752000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5476
5477 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5478
5479 * regex.c: Merge some changes from GNU libc. Add prototypes.
5480 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5481 Use memcmp and memcpy instead of bcopy and bcmp.
5482 (init_syntax_once): Use ISALNUM.
5483 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5484 (REG_UNSET_VALUE): Remove. Use NULL instead.
5485 (REG_UNSET, re_match_2_internal): Use NULL.
5486 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5487 New macros.
5488 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5489 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5490 (regex_compile): In handle_interval, return an error rather than try to
5491 unfetch the interval if we can't find the closing brace.
5492 Obey the RE_NO_GNU_OPS syntax bit.
5493 (TOLOWER): New macro.
5494 (regcomp): Use it.
5495 (regexec): Allocate regs.start and regs.end as one block.
5496
5226a931
GM
54972000-08-30 Gerd Moellmann <gerd@gnu.org>
5498
868dd24b
GM
5499 * xdisp.c (echo_area_display): Check display_completed instead
5500 of calling detect_input_pending.
5501
5502 * dispnew.c (update_frame): Only set display_completed here; move
5503 the update_begin and update_end calls here from update_frame_1.
5504 (update_frame_1): Don't set display_completed here, don't call
5505 update_begin/update_end.
5506
5226a931
GM
5507 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5508 instead of store_frame_param.
5509
2a8bd25f
GM
55102000-08-29 Gerd Moellmann <gerd@gnu.org>
5511
5512 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5513 desired window matrix hasn't been displayed, use the current row
5514 instead. Make sure that only those frame rows are updated for
5515 which there exists a corresponding enabled desired row.
52283633 5516
ba3478d9
MB
55172000-08-29 Miles Bader <miles@gnu.org>
5518
5519 * xfaces.c (default_face_vector): New function.
5520 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5521
87d0f685
GM
55222000-08-29 Gerd Moellmann <gerd@gnu.org>
5523
5524 * lread.c (openp): Prevent temporary string passed to
5525 Ffile_readable_p from being garbage collected.
5526
6fa86045
DL
55272000-08-28 Dave Love <fx@gnu.org>
5528
5529 * keymap.c (store_in_keymap): Add `static' to declaration.
5530
bb17930d
GM
55312000-08-28 Gerd Moellmann <gerd@gnu.org>
5532
5533 * emacs.c, callint.c, doc.c, editfns.c
5534 (toplevel) [HAVE_STRING_H]: Include string.h.
5535 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5536 (index): Remove prototypes which might conflict with non-standard
5537 definitions of index/strchr.
5538
5539 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5540 (rindex): Define only if !HAVE_RINDEX.
5541
5542 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5543
5544 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5545
87188200
MB
55462000-08-28 Miles Bader <miles@gnu.org>
5547
5548 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5549 made inconsistent by a font-related attribute in FROM.
5550 (merge_face_inheritance): Add function comment.
5551
41a68aef
KH
55522000-08-28 Kenichi Handa <handa@etl.go.jp>
5553
5554 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5555 the 4th arg (PREV_EVENT) Qt to suppress input method.
5556
f7c436c1
SM
55572000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5558
0b32bf0e
SM
5559 * regex.c: Indent cpp directives and remove parens after `defined'.
5560 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5561 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5562 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5563 (re_compile_pattern): Use size_t for length.
5564 (init_syntax_once): Move to a better place.
5565 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5566 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5567
f7c436c1
SM
5568 * syntax.c (back_comment): Detect cases where a comment-starter is
5569 actually inside another comment as in: /* a // b */ c // d \n.
5570 Make it clear that `comstart_pos' is unused for nested comments.
5571
5572 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5573 (KEYMAPP): New macro.
5574 (Fkeymap_parent, Fset_keymap_parent): Use it.
5575 (fix_submap_inheritance): Mark it static.
5576 (define_as_prefix, describe_buffer_bindings, describe_command)
5577 (describe_translation, describe_map): Complete prototypes.
5578
5579 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5580
5581 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5582 to better match the key-lookup behavior.
5583
6288c62f
GM
55842000-08-27 Gerd Moellmann <gerd@gnu.org>
5585
5586 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5587 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5588
e931344e
EZ
55892000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5590
5591 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5592 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5593 (xterm.o): Depend on coding.h
5594
d10dfeef
KH
55952000-08-26 Kenichi Handa <handa@etl.go.jp>
5596
5597 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5598 the corresponding '#endif'.
5599
2d73e8d3
MB
56002000-08-26 Miles Bader <miles@gnu.org>
5601
5602 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5603 * xfaces.c (QCinherit): New variable.
5604 (syms_of_xfaces): Initialize it.
5605 (LFACE_INHERIT): New macro.
5606 (Finternal_get_lisp_face_attribute)
52283633 5607 (merge_face_vector_with_property)
2d73e8d3
MB
5608 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5609 (check_lface_attrs): Allow new types of face height. Check
5610 inherit attribute.
5611 (CYCLE_CHECK): New macro.
5612 (merge_face_inheritance): New function.
5613 (merge_face_vectors): Merge inherited faces too. Add F and
5614 CYCLE_CHECK arguments.
5615 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5616 (lookup_named_face, lookup_derived_face, realize_named_face)
5617 (face_at_string_position, face_at_buffer_position): Supply
5618 new F and CYCLE_CHECK arguments to merge_face_vectors.
5619 (merge_face_heights): New function.
52283633 5620 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5621 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5622 handle relative face heights.
5623 (lface_same_font_attributes_p): Compare heights using EQ.
5624
6ce974d4
KH
56252000-08-26 Kenichi Handa <handa@etl.go.jp>
5626
5627 * charset.c (char_to_string): Check the character validity.
52283633 5628 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5629
dc1e502d
SM
56302000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5631
5632 * regex.c (PUSH_FAILURE_COUNT): New macro.
5633 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5634 Handle popping of a register's or a counter's data.
5635 (POP_FAILURE_POINT): Use the new name.
5636 (re_match_2_internal): Push counter data on the stack for succeed_n,
5637 jump_n and set_number_at and remove misleading dead code in succeed_n.
5638
bd9d0f3f
GM
56392000-08-25 Gerd Moellmann <gerd@gnu.org>
5640
5641 * xdisp.c (redisplay_internal): If considering all windows on all
5642 frames, update the display for each frame as soon as possible,
5643 instead of first building all desired matrices for all frames, and
5644 then updating them all.
5645 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5646
aa5b8e15
GM
56472000-08-24 Gerd Moellmann <gerd@gnu.org>
5648
17494071
GM
5649 * bytecode.c (mark_byte_stack): Add a comment.
5650
52283633
SM
5651 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5652 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5653 a graphical frame.
5654
c543db81
KH
56552000-08-24 Kenichi Handa <handa@etl.go.jp>
5656
d246d5f5
KH
5657 * minibuf.c (do_completion): Always use compare-string, not
5658 string-equal because the latter doesn't pay attention to
5659 multibyteness of strings.
5660
c543db81
KH
5661 * process.c (create_process): Don't setup raw-text coding here.
5662 (Fopen_network_stream): Don't set coding->src_multibyte and
5663 coding->dst_multibyte here.
5664 (read_process_output): For process filter, return unibyte string
5665 if default-enable-multibyte-characters is nil.
5666 (send_process): If OBJECT is multibyte text, be sure to encoded it
5667 by the specified coding system for the process. Otherwise, setup
5668 raw-text coding.
52283633 5669 (init_process): Don't initialize default-process-coding-system here.
c543db81 5670
9b47cfe0
EZ
56712000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5672
5673 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5674 <scroll-down-aggressively>: Likewise.
5675
f5a36960
KH
56762000-08-23 Kenichi Handa <handa@etl.go.jp>
5677
5678 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5679 zero. Set coding->produced_char correctly.
5680
69a7ffa7
AI
56812000-08-22 Andrew Innes <andrewi@gnu.org>
5682
5683 * makefile.w32-in: New file.
5684
5685 * unexw32.c (unexec): Ignore old_name, and use the actual location
5686 of the current executable instead. Base new_name on this.
5687
5688 * w32proc.c (create_child): Remove reference to security
5689 descriptor, which isn't needed and doesn't compile with mingw32.
5690
5691 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5692 up dllimport attributes.
5693 (x_update_window_end): Update prototype.
5694
5695 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5696 extern, which screws up dllimport attributes.
5697
5698 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5699 up dllimport attributes.
5700
5701 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5702 screws up dllimport attributes.
5703
5704 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5705 up dllimport attributes.
5706 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5707 screws up dllimport attributes.
5708
5709 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5710 up dllimport attributes.
5711
5712 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5713 screws up dllimport attributes.
5714
5715 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5716 screws up dllimport attributes.
5717
5718 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5719 up dllimport attributes.
5720
5721 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5722 unnecessary extern, which screws up dllimport attributes.
5723 (main): Ditto.
5724
5725 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5726 up dllimport attributes.
5727
5728 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5729 unnecessary extern, which screws up dllimport attributes.
5730
5731 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5732 screws up dllimport attributes.
5733
5734 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5735 up dllimport attributes.
5736
5737 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5738
52283633
SM
5739 * w32bdf.c (search_file_line):
5740 (set_bdf_font_info):
5741 (seek_char):
5742 (w32_get_bdf_glyph):
69a7ffa7
AI
5743 (w32_BDF_to_x_font): Fix compile warnings.
5744
52283633 5745 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5746
5747 * w32select.c: Include keyboard.h before frame.h.
5748
5749 * w32fns.c (max): Define macro.
5750 (JOHAB_CHARSET): Define if not known.
5751 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5752 (Fx_show_tip): Synch with X version.
5753
5754 * w32xfns.c: Include keyboard.h before frame.h.
5755
5756 * w32fns.c: Include keyboard.h before frame.h.
5757
5758 * w32term.c: Include keyboard.h before frame.h.
5759
5760 * fontset.c: Include keyboard.h before frame.h.
5761
5762 * w32inevt.c: Include keyboard.h before frame.h.
5763 (MOUSE_MOVED): Define if not known.
5764
5765 * minibuf.c: Include keyboard.h before frame.h.
5766
5767 * keyboard.c: Include keyboard.h before frame.h.
5768
5769 * indent.c: Include keyboard.h before frame.h.
5770
5771 * dispnew.c: Include keyboard.h before frame.h.
5772
5773 * buffer.c: Include keyboard.h before frame.h.
5774
5775 * alloc.c: Include keyboard.h before frame.h.
5776
5777 * print.c: Include keyboard.h before frame.h.
5778
5779 * process.c: Include keyboard.h before frame.h.
5780
5781 * scroll.c: Include keyboard.h before frame.h.
5782
5783 * sysdep.c: Include keyboard.h before frame.h.
5784
5785 * term.c: Include keyboard.h before frame.h.
5786
5787 * window.c: Include keyboard.h before frame.h.
5788
5789 * xdisp.c: Include keyboard.h before frame.h.
5790 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5791
5792 * frame.c: Include keyboard.h before frame.h.
5793
5794 * w32heap.h: Undefine min, max.
5795
5796 * w32gui.h: Undefine min, max.
5797
5798 * unexw32.c: Change PUCHAR to PCHAR.
5799 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5800 (relocate_offset):
5801 (get_section_info):
69a7ffa7
AI
5802 (copy_executable_and_dump_data): Remove unnecessary static defs.
5803 (copy_executable_and_dump_data): Fix compile warnings.
5804
5805 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5806
5807 * w32console.c (min): Define macro.
5808 (clear_frame, write_glyphs): Fix compile warning.
5809
52283633 5810 * w32proc.c (compare_env):
69a7ffa7
AI
5811 (find_child_console): Fix compile warning.
5812
5813 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5814 sys_errlist instead of _sys_errlist.
5815 (get_emacs_configuration_options): New function.
5816
5817 * s/ms-w32.h (sys_nerr): Provide default definition.
5818 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5819 name with _ prepended.
5820 (NSIG): Define if not known.
5821 (get_emacs_configuration): Provide extern declaration.
5822 (get_emacs_configuration_options): Provide extern declaration.
5823 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5824
5825 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5826 (map_w32_filename):
69a7ffa7
AI
5827 (read_unc_volume): Fix compile warning.
5828
5829 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5830 definitions from being used.
5831
5832 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5833
52283633 5834 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5835 (open_unc_volume): Make arg const.
5836
5837 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5838 (read_input_waiting): Remove excess parameter.
5839
5840 * w32.c (init_environment): Call _access.
5841 (check_windows_init_file): Call _close.
5842 (init_user_info): Call _putenv.
5843 (init_environment): Call _putenv and _strdup.
5844 (init_ntproc): Reset volume info cache on startup.
5845
5846 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5847 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5848 cannot override the CRT malloc.
5849
5850 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5851 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5852
5853 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5854 unless we are linking with a static CRT.
5855 (RVA_TO_PTR): Cast result to unsigned char*.
5856
5857 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5858 (add_volume_info): Use xstrdup.
5859
25060080
SM
58602000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5861
5862 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5863 (do_completion, Fminibuffer_complete_word): Use it.
5864 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5865 var so it can take non-boolean values.
5866
6917e6bb
GM
58672000-08-21 Gerd Moellmann <gerd@gnu.org>
5868
acb7cc89 5869 * editfns.c (find_field): Formatting changes.
52283633 5870 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5871 changed to prototypes, some new protypes added, some functions
5872 made static.
5873
5874 * lisp.h (set_time_zone_rule): Add prototype.
5875 (use_dialog_box): External declaration.
5876
0bbfdc25
GM
5877 * keyboard.c (gen_help_event): Add parameter SIZE.
5878 (kbd_buffer_events_waiting): Slightly rewritten.
5879 (clear_event): New function.
5880 (kbd_buffer_get_event): Use it, and clear the input_events of
5881 HELP_EVENTs.
5882 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5883 don't fill the newly created array with nils.
5884 (toplevel): Convert some old-style function forward declarations
5885 to prototypes.
5886
5887 * keyboard.h (gen_help_event): Change prototype.
5888
5889 * xterm.c (XTread_socket): Change calls to gen_help_event.
5890
5891 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5892
6917e6bb
GM
5893 * eval.c (Fmacroexpand): Doc fix.
5894
e5cd3d11
JR
58952000-08-20 Jason Rumney <jasonr@gnu.org>
5896
5897 * w32term.h (x_display_info_for_display): Remove as this function
5898 does not exist on W32.
5899
5900 * w32term.c (help_echo_window): New variable.
5901 (syms_of_w32term): staticpro it.
5902 (note_mode_line_highlight): Set it.
5903 (XTextExtents16): Removed as there is no equivalent on W32.
5904 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5905 the X way of doing this will not work for W32.
5906 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5907 (x_draw_image_foreground): Avoid drawing outside of the clip area
5908 when image doesn't have a mask.
5909 (note_mouse_highlight): Process overlays in the right order of
5910 priority. Set help_echo_window.
5911 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5912 because that's more visible for large images.
5913
5914 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5915 name to single_keymap_panes.
5916 (w32_menu_show): Set wv->title when dealing with titles.
5917 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5918
6e69ab8c
MB
59192000-08-21 Miles Bader <miles@gnu.org>
5920
5921 * minibuf.c (do_completion): Try again if we rewrite the input
5922 string, but no completion was done, so that any completion message
5923 will be correct.
5924
511bd4eb
GM
59252000-08-20 Gerd Moellmann <gerd@gnu.org>
5926
5927 * xfaces.c (lface_equal_p): Compare strings differently.
5928 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5929 (realize_tty_face): Use them.
5930 (syms_of_xfaces): Initialize new variables.
5931 (map_tty_color): New function, extracted from realize_tty_face.
5932 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5933 foreground or background color, store the new color name in the
5934 realized face; previous code trying to do this had no effect.
5935 (realize_tty_face): Use map_tty_color.
5936 (Fclear_face_cache): Set face_change_count and ensure thorough
5937 redisplay.
5938
1433385f
GM
59392000-08-19 Gerd Moellmann <gerd@gnu.org>
5940
511bd4eb
GM
5941 * undo.c (record_first_change, record_marker_adjustment): Don't
5942 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5943
419ac0a2
KH
59442000-08-18 Kenichi Handa <handa@etl.go.jp>
5945
5946 * coding.c (decode_coding_string): Set members consumed,
5947 consumed_char, produced, produced_char of *coding correctly. If
5948 decode_coding doesn't consume any byte, don't try anymore.
5949 (encode_coding_string): Likewise.
5950
7eb9e30d
GM
59512000-08-18 Gerd Moellmann <gerd@gnu.org>
5952
511bd4eb
GM
5953 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5954 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5955
5956 * xdisp.c (redisplay_internal): Compare windows for equality with
5957 EQ, instead of applying XWINDOW to something that might not
5958 be a window.
52283633 5959
dd34a735
KH
59602000-08-18 Kenichi Handa <handa@etl.go.jp>
5961
5962 * fontset.c (Finternal_char_font): Search only the selected frame
5963 for a window of the current buffer.
5964
385ff9e3
GM
59652000-08-18 Gerd Moellmann <gerd@gnu.org>
5966
511bd4eb 5967 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5968 Lisp_Objects.
5969
385ff9e3
GM
5970 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5971 second half of a HELP_EVENT is found at the start of kbd_buffer.
5972
d6abb4c7
MB
59732000-08-18 Miles Bader <miles@gnu.org>
5974
4618074a
MB
5975 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5976
d6abb4c7
MB
5977 * editfns.c (save_restriction_save): Rewrite to use markers.
5978 (save_restriction_restore): Rewrite to understand new form of data
5979 saved by save_restriction_save.
5980 (Fsave_restriction): Remove cautionary note in doc-string.
5981
a7b28523
GM
59822000-08-17 Gerd Moellmann <gerd@gnu.org>
5983
5984 * fileio.c (build_annotations): Add a comment explaining the
5985 return value of format-annotate-function. Replace a spurious call
5986 to Flength with a CONSP test. Call format-annotate-function with
5987 a fifth arg specifying how many times the function is been called
5988 in a row, to let it choose temporary buffers appropriately.
5989
03c9ed77
DL
59902000-08-17 Dave Love <fx@gnu.org>
5991
5992 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5993 declare make_temp_name twice.
5994
52283633 5995 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5996 (unreadpure): Give it an arg.
5997
5998 * unexalpha.c: Prototype fatal_unexec, mark_x,
5999 update_dynamic_symbols. Declare unexec as void.
6000
6001 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
6002 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
6003
6004 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 6005 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
6006
6007 * alloca.c: Use #error.
6008 [POINTER_TYPE]: Use it.
6009
6010 * eval.c (Fdefvar): Doc fix.
6011
6012 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
6013 INITIALIZE_INTERVAL.
6014
6015 * buffer.h: Avoid DECLARE_INTERVALS.
6016
6017 * config.in: Add size_t.
6018
aae41d97
EZ
60192000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
6020
6021 * w16select.c (set_clipboard_data): If there's not enough memory
6022 to put text into clipboard, return 1, as Fw16_set_clipboard_data
6023 expects. In case of other failures, return 3.
6024 (system_error_msg): New error message.
6025 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
6026 system_error_msg.
6027
65aa5e85
GM
60282000-08-16 Gerd Moellmann <gerd@gnu.org>
6029
6030 * term.c (write_glyphs): Also turn off inverse video after turning
6031 off other appearances in case TS_exit_attribute_mode is not equal
6032 to TS_end_standout_mode.
6033 (insert_glyphs): Turn inverse video on/off for each run of glyphs
6034 with the same face.
6035 (turn_off_face): Reset standout_mode only if
6036 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
6037 is equal to TS_end_standout_mode.
6038
ece23901
KH
60392000-08-16 Kenichi Handa <handa@etl.go.jp>
6040
9d7bcb2e
KH
6041 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
6042 sequence at the end of the source block.
6043
ece23901
KH
6044 * ccl.c (Fccl_program_p): Docstring modified.
6045 (Fccl_execute): Likewise.
6046 (Fccl_execute_on_string): Likewise.
6047
5e30eaa2
EZ
60482000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
6049
6050 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
6051
290602fd
KH
60522000-08-16 Kenichi Handa <handa@etl.go.jp>
6053
6054 The following changes are mainly to fix bugs of
6055 encode/decode-coding-string failing if encoding/decoding return
6056 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6057 variable conversion_buffer.
6058
6059 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6060 decrement dst_end to avoid buffer overflow in the later call of
6061 string_as_multibyte
6062
6063 * coding.h (conversion_buffer_size, conversion_buffer)
6064 (get_conversion_buffer): Extern deleted.
6065
6066 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6067 (conversion_buffer, conversion_buffer_size): Variables deleted.
6068 (get_conversion_buffer): Function deleted.
6069 (struct conversion_buffer): New structure.
6070 (MAX_ALLOCA): New macro.
6071 (allocate_conversion_buffer): New macro.
6072 (extend_conversion_buffer, free_conversion_buffer): New functions.
6073 (ccl_coding_driver): Set coding->result.
6074 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6075 this is the last block of source.
6076 (encode_coding): Likewise. Handle the source block as the last
6077 one only when the whole source text is consumed.
6078 (decode_coding_string): Handle the case that the output buffer is
6079 too small to decode the whole source text. Use
6080 allocate_conversion_buffer, extend_conversion_buffer and
6081 free_conversion_buffer, not get_conversion_buffer.
6082 (encode_coding_string): Likewise.
6083 (init_coding): Function deleted.
52283633 6084 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6085
6086 * emacs.c (main): Don't call init_coding.
6087
52283633 6088 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6089
6090 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6091 (insert_glyphs): Likewise.
6092
6093 * w32console.c (write_glyphs): Use a locally declared
6094 conversion_buffer.
6095
b9f80d41
EZ
60962000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6097
6098 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6099 member of display_info is NULL.
6100
32dc52f7
GM
61012000-08-15 Gerd Moellmann <gerd@gnu.org>
6102
52283633 6103 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6104
32dc52f7 6105 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6106 appearances with capability `me'.
32dc52f7
GM
6107 (write_glyphs): Switch on inverse video before each face change.
6108
4eb22d33
DL
61092000-08-14 Dave Love <fx@gnu.org>
6110
6111 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6112 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6113 (lisp_free): Declare and make static.
6114
6115 * window.c: Fix embedded comment.
6116 (syms_of_window): Fix doc string.
6117
90cbf47e
GM
61182000-08-14 Gerd Moellmann <gerd@gnu.org>
6119
52283633 6120 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6121 make sure to print `C-' before `M-', like in the manual.
6122
440fc135
GM
61232000-08-11 Gerd Moellmann <gerd@gnu.org>
6124
6125 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6126 since they aren't relocated anymore.
52283633 6127 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6128
6129 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6130 partially visible line which is smaller than the window's height.
440fc135 6131
6e264fad
KH
61322000-08-11 Kenichi Handa <handa@etl.go.jp>
6133
6134 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6135 the multibyte form of eight-bit-control characters.
6e264fad
KH
6136 (Fccl_execute_on_string): Initialize ccl->multibyte.
6137
6138 * ccl.h (struct ccl_program): New member multibyte.
6139
6140 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6141
c371f69a
KH
61422000-08-11 Kenichi Handa <handa@etl.go.jp>
6143
6144 * regex.c (regex_compile) <normal_char>: Pay attention to
6145 multibyteness.
6146 (analyse_first) <exactn>: Setup fastmap correctly for
6147 eight-bit-control characters.
6148
61492000-08-11 Kenichi Handa <handa@etl.go.jp>
6150
52283633 6151 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6152
6153 * keyboard.c (make_lispy_event): Handle the new event type
6154 multibyte_char_keystroke.
6155
6156 * xterm.c: Include coding.h.
6157 (XTread_socket): Work around a bug of XmbLookupString. If the
6158 input is from XIM, decode it according to the current locale. In
6159 that case, generate multibyte_char_keystroke events.
6160
b8ddbe71
KH
61612000-08-11 Kenichi Handa <handa@etl.go.jp>
6162
6163 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6164 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6165
47589c8c
GM
61662000-08-10 Gerd Moellmann <gerd@gnu.org>
6167
6168 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6169 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6170 (move_it_in_display_line_to): Record iterator's ascent and descent
6171 before producing glyphs, and restore them when we know the glyph
6172 doesn't fit on the line.
6173 (move_it_to): Restructured so that it's easier to debug. If
6174 moving to a vpos, and not moving to an x or character position,
6175 stop as soon as the specified vpos is reached; don't move further
6176 into that line because that might change the computed line height.
6177 (try_cursor_movement): New function, extracted from the cursor
6178 movement branch of redisplay_window. If ending on a partially
6179 visible line, don't try to scroll if the cursor line is taller
6180 than the window.
6181 (redisplay_window): Use try_cursor_movement.
6182
6183 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6184 because that function doesn't cope with variable-height lines.
6185
6186 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6187 box cursor because that's better visible for large images.
52283633 6188
c51bacd6
MB
61892000-08-10 Miles Bader <miles@gnu.org>
6190
6191 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6192
bea56df7
GM
61932000-08-10 Gerd Moellmann <gerd@gnu.org>
6194
6195 * xdisp.c (Vmessages_buffer_name): New variable.
6196 (message_dolog): Use it.
6197 (syms_of_xdisp): Initialize it.
6198
99cd7364
EZ
61992000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6200
52283633 6201 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6202 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6203 redundant now that keyboard.h is included.
6204
7d093d56
EZ
62052000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6206
6207 * keyboard.c (kbd_buffer_events_waiting): New function.
6208
6209 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6210
6211 * msdos.c: Include keyboard.h.
6212 (XMenuActivate): Empty no_event events from the event buffer. If
6213 no events are left after that, call clear_input_pending.
6214 (mouse_clear_clicks): New function, code moved from mouse_init.
6215 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6216 mouse driver to ``forget'' any past clicks.
6217
6218 * Makefile.in (msdos.o): Depend on keyboard.h.
6219
41e757a6
GM
62202000-08-09 Gerd Moellmann <gerd@gnu.org>
6221
8e7bd231
GM
6222 * lisp.h (input_pending): External declaration.
6223
6224 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6225
8e7bd231
GM
6226 * xdisp.c (echo_area_display): Display thoroughly if input is
6227 pending. Bind redisplay-dont-pause to t during the redisplay.
6228 in case input is pending.
6229
6230 * dispnew.c (Qredisplay_dont_pause): New variable.
6231 (syms_of_display): Initialize and staticpro it.
6232 (update_frame_1): Don't interrupt the display for pending input if
6233 redisplay_dont_pause is set.
52283633 6234
43028b7e
GM
6235 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6236
41e757a6
GM
6237 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6238
2f2174fa
KH
62392000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6240
6241 * callproc.c (Fcall_process): Terminate the unwind-protect around
6242 the post-read-conversion of coding system.
6243
0a6fd67e
MB
6244 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6245 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6246 * buffer.h (overlays_at): Update prototype.
6247 * xdisp.c (next_overlay_change): Update call to overlays_at.
6248 * xfaces.c (face_at_buffer_position): Likewise.
6249 * textprop.c (Fget_char_property): Likewise.
6250 * xterm.c (note_mouse_highlight): Likewise.
6251
0c80756e
MB
6252 * minibuf.c (do_completion): Don't consider a simple change of
6253 case as `completion'.
6254
975f250a
KR
62552000-08-08 Ken Raeburn <raeburn@gnu.org>
6256
52283633 6257 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6258 * undo.c (record_delete): Make sure last_point_position_buffer is
6259 a buffer before comparing pointers.
6260
6261 * coding.h (decode_coding_string): Declare.
6262
6263 * intervals.h (Fprevious_single_char_property_change): Declare.
6264
6265 * textprop.c (Fprevious_single_char_property_change): Don't do
6266 arithmetic directly on lisp objects.
6267
52283633 6268 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6269
6270 * keyboard.h (menu_item_eval_property): Declare.
6271
6272 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6273 reuse as buffer name, instead of recreating (and discarding) every
6274 time a message is logged.
6275 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6276 (current_message_1, truncate_message_1, set_message_1)
6277 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6278 (current_message, truncate_echo_area, display_echo_area)
6279 (resize_echo_area_axactly): Changed calls.
b347b3fd 6280
975f250a 6281 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6282 Lisp object.
975f250a 6283 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6284 must be an integer, not a Lisp object.
975f250a 6285
46dc9912
KH
62862000-08-08 Kenichi Handa <handa@etl.go.jp>
6287
6288 * charset.c (Fchar_width): Doc fix.
6289
9f6d1a6c
GM
62902000-08-08 Gerd Moellmann <gerd@gnu.org>
6291
6292 * charset.c (Fstring_width): Doc fix.
6293
ff3d9573
GM
62942000-08-07 Gerd Moellmann <gerd@gnu.org>
6295
41e757a6 6296 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6297 line, clear ascent and descent members of the iterator structure;
6298 the height of the continued line does not affect the height of the
6299 continuation line.
6300 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6301 line taller than the window.
6302 (redisplay_window) <forced window start>: Handle case that the
6303 middle of the window is not found in any row.
6304 (dump_glyph_row): Show more information.
6305 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6306 first text line in a glyph matrix.
6307
6308 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6309 of the clip area when image doesn't have a mask.
6310
70fc58b3
GM
6311 * fns.c (sweep_weak_table): Fix survival conditions for
6312 key-or-value and key-and-value weakness.
6313
6314 * .gdbinit (xhashtable): New command.
6315
ac0e96ee
GM
6316 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6317 tables out of the list of all weak hash tables.
6318
ff3d9573
GM
6319 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6320 a new buffer is created, make sure echo_area_buffer[] references
6321 the new buffer.
6322
e0d8827b
EZ
63232000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6324
6325 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6326 the doc string.
6327
c6f35378
KH
63282000-08-07 Kenichi Handa <handa@etl.go.jp>
6329
6330 * syntax.c (skip_chars): Fix previous change. Make the handling
6331 of unibyte string consistent with that of regex search.
6332
1fd4c450
GM
63332000-08-05 Gerd Moellmann <gerd@gnu.org>
6334
e49aa397
GM
6335 * xmenu.c (popup_get_selection): Use xfree instead of free.
6336
6337 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6338
6339 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6340
6341 * callproc.c (child_setup): Use xfree instead of free.
6342
6343 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6344 instead of malloc.
6345 (run_mac_command, closedir): Use `xfree' instead of `free'.
6346
6347 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6348
6349 * eval.c (error): Use xfree instead of free.
6350
1fd4c450
GM
6351 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6352
6353 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6354 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6355
82d497fc
KH
63562000-08-05 Kenichi Handa <handa@etl.go.jp>
6357
6358 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6359 conversion.
6360
59f953a2
NF
63612000-08-04 Noah Friedman <friedman@splode.com>
6362
6363 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6364 docstring.
6365
688351f2
GM
63662000-08-04 Gerd Moellmann <gerd@gnu.org>
6367
6368 * syntax.c (skip_chars): Fix typo in error message.
6369
2dad51cc
AS
63702000-08-04 Andreas Schwab <schwab@suse.de>
6371
6372 * m/ia64.h: Moved from s/ia64.h.
6373
99bb2c60
KH
63742000-08-04 Kenichi Handa <handa@etl.go.jp>
6375
082a1df2
KH
6376 * process.c (read_process_output): Big simplification. Handle
6377 composition and post-read-conversion of coding system correctly.
6378 (send_process): Handle composition correctly.
6379
6380 * callproc.c (Fcall_process): Handle post-read-conversion of
6381 coding system if any.
6382
99bb2c60
KH
6383 * coding.c (decode_coding_iso2022): More strict check for handling
6384 single shifting.
082a1df2
KH
6385 (coding_restore_composition): Pay attention to the case that
6386 cmp_data is not set properly (because of invalid code in the
6387 source text).
6388 (run_pre_post_conversion_on_str): Include text properties in the
6389 resulting string.
6390 (decode_coding_string): Set members of coding correctly.
99bb2c60 6391
f4988be7
GM
63922000-08-03 Gerd Moellmann <gerd@gnu.org>
6393
6394 * s/ia64.h: New file.
6395
6396 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6397 Use NULL instead of 0 at the end of variable argument list of
6398 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6399 sizeof (int) < sizeof (void *).
6400
6401 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6402 of variable argument lists of XtVaGetValues and XtVaSetValues.
6403
6404 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6405 variable argument lists of XtVaGetValues and XtVaSetValues.
6406
ead53494
GM
64072000-08-02 Gerd Moellmann <gerd@gnu.org>
6408
6409 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6410 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6411
6412 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6413 prototype.
6414
6415 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6416 in call to Fsingle_key_description.
6417
6418 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6419 Callers changed.
6420
64212000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6422
6423 * window.c (display_buffer_reuse_frames): New variable.
6424 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6425 frames displaying BUFFER.
52283633 6426 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6427
10b0f752
MB
64282000-08-01 Miles Bader <miles@gnu.org>
6429
6430 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6431 when to constrain NEW_POS (they were pretty screwed up before).
6432
16425c4a
EZ
64332000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6434
6435 * msdos.c (run_msdos_command): Save and restore the master
6436 environment, for the case that child_setup signals an error.
6437 When mirroring slashes in DOS shell commands, don't fail when
6438 argv[2] has embedded blanks.
da288c14
EZ
6439 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6440 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6441 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6442
6443 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6444 using alloca; free it after run_msdos_command returns.
6445
27f73852
DL
64462000-07-27 Dave Love <fx@gnu.org>
6447
52283633
SM
6448 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6449 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6450
6451 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6452
c0261b5e
EZ
64532000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6454
6455 * editfns.c (lisp_time_argument): Fix last change.
6456
b548072f
GM
64572000-07-27 Gerd Moellmann <gerd@gnu.org>
6458
3ab82477
GM
6459 * fns.c (Fdelete): Make it work on vectors and strings in addition
6460 to lists.
6461
b548072f
GM
6462 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6463 (syms_of_fns): Initialize new variables.
52283633 6464 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6465 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6466 weakness, with t meaning the same as `key-and-value'.
6467
91ae8751
KH
64682000-07-27 Kenichi Handa <handa@etl.go.jp>
6469
6470 * coding.h (struct coding_system): Member safe_charset deleted.
6471
6472 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6473 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6474 New variables.
91ae8751
KH
6475 (coding_safe_chars): New function.
6476 (CODING_SAFE_CHAR_P): New macro.
6477 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6478 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6479 (detect_coding_iso2022): New local variable safe_chars.
6480 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6481 safe_charsets member of the coding system.
6482 (decode_coding_iso2022): New local variable safe_chars.
6483 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6484 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6485 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6486 (ENCODE_UNSAFE_CHARACTER): New macro.
6487 (encode_coding_iso2022): New local variable safe_chars. Check
6488 unsafe chars.
6489 (setup_coding_system): Delete the code to initialize
6490 coding->safe_charses
6491 (intersection, find_safe_codings): New functions.
6492 (Ffind_coding_systems_region_internal): New function.
6493 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6494 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6495 variable and initialize it.
6496
6497 * fns.c (char_table_ref_and_index): New function.
6498
6499 * lisp.h (char_table_ref_and_index): Add prototype.
6500
34a7a267
SS
65012000-07-26 Sam Steingold <sds@gnu.org>
6502
6503 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6504 (Ffloat_time): New built-in Lisp function.
34a7a267 6505
a95cb10a
GM
65062000-07-26 Gerd Moellmann <gerd@gnu.org>
6507
3353ef5a
GM
6508 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6509 for the character code.
6510
6511 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6512 GNU/Linux.
6513
a95cb10a
GM
6514 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6515 if called for a popup menu.
6516 (xmenu_show): Store help string in widget values.
6517
b4a12321
DL
65182000-07-26 Dave Love <fx@gnu.org>
6519
6520 * syswait.h: Move some definitions.
6521 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6522 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6523 perspicuous definitions.
6524 (WTERMSIG): Fix bit pattern used.
6525
13f5ad37
KH
65262000-07-26 Kenichi Handa <handa@etl.go.jp>
6527
6528 * print.c (print_object): If vector printing is truncated, print
6529 "..." to indicate it as well as the case of list printing.
6530
070fe99c
GM
65312000-07-25 Gerd Moellmann <gerd@gnu.org>
6532
969065c3
GM
6533 * xdisp.c (next_element_from_display_vector): Improve comments.
6534
6535 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6536 for the character code, and the rest for the face id as in 20.x.
6537 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6538
6539 * window.c (window_display_table): Cleaned up.
6540
070fe99c
GM
6541 * syntax.c (Fforward_word): Add last arg nil in call of
6542 Fconstrain_to_field.
6543
bad77ef7
EZ
65442000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6545
969065c3 6546 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6547 identical but for the letter-case, don't call
6548 barf_or_query_if_file_exists.
bad77ef7 6549
c28da489
MB
65502000-07-25 Miles Bader <miles@gnu.org>
6551
6552 * editfns.c (find_field): Honor special `boundary' fields.
6553 (Qboundary): New variables.
6554 (syms_of_editfns): Initialize Qboundary.
6555 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6556 Use scan_buffer instead of find_before_next_newline, because it
6557 allows us to detect the boundary case where there's a newline at
6558 the search limit.
6559 * lisp.h (Fconstrain_to_field): Update external declaration.
6560
e3c31fd5
GM
65612000-07-24 Gerd Moellmann <gerd@gnu.org>
6562
6563 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6564 if that is nil.
c28da489 6565
c66c29a2
DL
65662000-07-24 Dave Love <fx@gnu.org>
6567
6568 * s/sunos4-0.h, s/sol2.h:
6569 (LIBS_TERMCAP): Move from m/sparc.h.
6570
6571 * m/sparc.h (TERMINFO): Moved to system files (probably only
6572 relevant for sunos4 judging by its vintage).
6573 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6574 __arch64__.
6575
fbe0a958
EZ
65762000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6577
6578 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6579 name to single_keymap_panes.
6580
7d88e5c9
AS
65812000-07-24 Andreas Schwab <schwab@suse.de>
6582
6583 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6584
e024b101
GM
65852000-07-24 Gerd Moellmann <gerd@gnu.org>
6586
6587 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6588 parameters instead of using int parameters. Expect FN to accept
6589 EMACS_INT parameters.
6590 (display_echo_area, resize_echo_area_axactly, current_message)
6591 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6592 with new argument list.
6593 (resize_mini_window_1): New callback function.
6594 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6595 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6596
25c1a9ce
KH
65972000-07-24 Kenichi Handa <handa@etl.go.jp>
6598
6599 * fontset.c (fontset_ref): Remove INLINE declaration.
6600 (fontset_ref_via_base): Likewise.
6601 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6602 to downcase.
6603
7f987ac0
EZ
66042000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6605
6606 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6607 correct order of priority. If help echo was found in an overlay,
6608 use that overlay as the object in which the help echo was found.
6609
e2db3069
MB
66102000-07-22 Miles Bader <miles@gnu.org>
6611
6612 * textprop.c (Fprevious_single_char_property_change): The initial
6613 property value should be from the position preceding POSITION, not
6614 following it.
6615
5e3203e4
EZ
66162000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6617
6618 * coding.c (syms_of_coding): Doc fix for
6619 inhibit-iso-escape-detection.
6620
62145073
GM
66212000-07-21 Gerd Moellmann <gerd@gnu.org>
6622
c20aeb83
GM
6623 * xterm.c (note_mouse_highlight): Process overlays in the right
6624 order of priority.
34a7a267 6625
743934db
GM
6626 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6627
6628 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6629 overlay, use that overlay as the object in which the help was found.
743934db 6630
d1dc7e43 6631 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6632
62145073
GM
6633 * window.c (foreach_window): Instead of a fake variable argument
6634 list, take one USER_DATA argument.
6635 (foreach_window_1): Likewise, and call callback functions with two
6636 args, the window and USER_DATA.
6637 (struct check_window_data): New struct.
6638 (check_window_containing): Use it.
6639 (window_from_coordinates): Set up a struct check_window_data for
6640 foreach_window.
6641 (add_window_to_list, freeze_window_start): Change parameters
6642 according to new calling convention.
6643
6644 * window.h (foreach_window): Change prototype.
6645
6646 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6647
66482000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6649
6650 * xmenu.c (menu_help_callback): Call show_help_echo with
6651 additional arguments OBJECT and POS.
6652
11270583
KH
66532000-07-21 Kenichi Handa <handa@etl.go.jp>
6654
07b14857
KH
6655 * data.c (Faset): Allow storing any multibyte character in a
6656 string. Convert unibyte string to multibyte if necessary.
6657
11270583
KH
6658 * xfns.c (x_encode_text): New function.
6659 (x_set_name): Use x_encode_text.
6660 (x_set_title): Likewise.
6661
6662 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6663
6664 * xterm.h (x_encode_text): Add prototype.
6665
bc75b4fd
DL
66662000-07-20 Dave Love <fx@gnu.org>
6667
6668 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6669 xfree, not free.
6670
48c14970
EZ
66712000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6672
6673 * msdos.c (help_echo_window): New variable.
6674 (syms_of_msdos): Initialize and staticpro it.
6675 (IT_note_mode_line_highlight): Set help_echo_window.
6676 (IT_note_mouse_highlight): Ditto.
6677 (dos_rawgetc): Store help_echo_window in the second event produced
6678 for HELP_EVENTs.
6679
6680 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6681 Record the object that generated the help echo and the position of
6682 that object in help_echo_object and help_echo_pos. Record that
6683 some glyphs in a row are displayed in mouse-face.
6684 (IT_update_begin): Don't clear mouse highlight unless one of the
6685 enabled glyph rows is marked as being displayed in mouse-face.
6686 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6687 and position recorded in help_echo_object and help_echo_pos to the
6688 event queue.
6689 (IT_menu_display): Accept a new argument PN: the pane number of
6690 the current menu pane. Record the pane number and the item
6691 number of the item which has associated help string.
6692 (XMenuActivate): Update the prototype for help_callback in
6693 function declaration. Call IT_menu_display with the current menu
6694 pane number as an additional argument. Call help_callback with
6695 two additional arguments: the pane number and the item number of
6696 the menu item associated with the help text.
6697 (help_echo_object, help_echo_pos): New variables.
6698 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6699
6700 * msdos.h (XMenuActivate): Update prototype.
6701
4279296d
GM
67022000-07-19 Gerd Moellmann <gerd@gnu.org>
6703
47db06aa
GM
6704 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6705 Add some more prototypes.
6706
6707 * xterm.c, xterm.h: Add some more prototypes.
6708
6709 * lisp.h (Fnext_single_char_property_change): Add prototype.
6710
6711 * dispnew.c (direct_output_for_insert): Remove confusing
6712 outer local variable mouse_face_overwritten_p.
6713 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6714
4279296d
GM
6715 * alloc.c (allocate_string_data): Don't copy old string contents.
6716
670acd62
KH
67172000-07-19 Kenichi Handa <handa@etl.go.jp>
6718
6719 * coding.c (code_convert_region): Delete text properties before
6720 shrinking the conversion region.
6721
7cea38bc
GM
67222000-07-18 Gerd Moellmann <gerd@gnu.org>
6723
dc1cac59
GM
6724 * dispnew.c (update_text_area): Write the whole row if it
6725 has mouse-face in it.
6726
85a8aca9
GM
6727 * xfaces.c (face-alternative-font-family-alist): Remove
6728 DEFVAR_LISP; staticpro instead.
6729
34a7a267 6730 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6731 new arguments.
6732
6733 * keyboard.c (show_help_echo): Add parameter WINDOW.
6734 (read_char): Call show_help_echo with window extracted from Lisp
6735 help event.
6736 (gen_help_event): Add parameter WINDOW.
6737
6738 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6739
6740 * xterm.c (help_echo_window): New variable.
52283633 6741 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6742 (XTread_socket): Pass help_echo_window to gen_help_event.
6743 (syms_of_xterm): Initialize and staticpro help_echo_window.
6744
f8276b77
DL
67452000-07-18 Dave Love <fx@gnu.org>
6746
52283633 6747 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6748
088831a6
GM
67492000-07-18 Gerd Moellmann <gerd@gnu.org>
6750
3d6cd763
GM
6751 * alloc.c (allocate_string_data): If string had already data
6752 assigned, copy old contents to new string data.
6753
6754 * coding.c (syms_of_coding): Fix typo in spelling of variable
6755 `inhibit-iso-escape-detection'.
6756
088831a6
GM
6757 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6758
6759 * Makefile.in: Add dependencies on dispextern.h.
6760 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6761 `free'; both can conflict with system header files.
6762
bc8a8d55
KH
67632000-07-18 Kenichi Handa <handa@etl.go.jp>
6764
6765 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6766 undefined.
6767
069f5950
DL
67682000-07-18 Dave Love <fx@gnu.org>
6769
6770 * window.c (Fwindow_list): Declare arg `window'.
6771
aa96c820
KH
67722000-07-18 Kenichi Handa <handa@etl.go.jp>
6773
6774 * coding.c (setup_coding_system): Don't override the explicitly
6775 specified designations.
6776
06be8d32
MB
67772000-07-15 Miles Bader <miles@gnu.org>
6778
6779 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6780 from `text_property_eq' and `text_property_stickiness', respectively.
6781 (find_field, Fconstrain_to_field, char_property_eq)
6782 (char_property_stickiness): Changed to call char-property functions
6783 instead of text-property-only ones.
6784
6785 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6786 `next_single_char_property_change'). Do more error checking, and
6787 cleanup limit behavior.
6788 (Fprevious_single_char_property_change): New function.
6789 (syms_of_textprop): Initialize new subrs.
6790
6791 * xdisp.c (display_prop_end, invisible_text_between_p):
6792 Call Fnext_single_char_property_change instead of
6793 next_single_char_property_change.
6794
3fddcdc3
JR
67952000-07-15 Jason Rumney <jasonr@gnu.org>
6796
6797 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6798 after menu is finished with.
6799 (add_menu_item): Only consider wv->title as a menu title.
6800 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6801
6802 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6803 null title.
6804 (FONT_REGEXP): Remove unused macro, and its sub-components.
6805 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6806
6807 * w32term.c (help_echo_object, help_echo_pos): New variables.
6808 (note_mode_line_highlight): Store additional information about the
6809 help-echo in help_echo_object and help_echo_pos. Check both
6810 `local-map' and `keymap' properties for changing the cursor
6811 (note_mouse_highlight): Store additional information about the
6812 help-echo in help_echo_object and help_echo_pos.
6813 (note_tool_bar_highlight): Set help_echo_object to nil and
6814 help_echo_pos to -1.
6815 (w32_read_socket): Use gen_help_event instead of filling
6816 input_events manually.
6817 (syms_of_w32term): Staticpro help_echo_object.
6818 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6819 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6820 (x_clear_mouse_face): New function.
6821 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6822 (x_update_window_begin): No need to turn off the mouse
6823 highlight here.
6824 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6825 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6826 (x_fill_stretch_glyph_string): Consume runs of stretch
6827 glyphs instead of a single one.
6828 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6829 with new argument list.
6830 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6831 (x_append_glyph, x_append_composite_glyph)
6832 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6833 changes in struct glyph starting 1999-12-27. See comments for
6834 xterm.c on 2000-07-05.
6835
178c5d9c
SS
68362000-07-14 Sam Steingold <sds@gnu.org>
6837
6838 * xfaces.c (realize_x_face): Fix the last patch:
6839 check `default_face' before dereferencing.
6840
6fe533f6
DL
68412000-07-14 Dave Love <fx@gnu.org>
6842
069f5950 6843 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6844
dd7b81cf
KH
68452000-07-14 Kenichi Handa <handa@etl.go.jp>
6846
0693904a 6847 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6848 default_face's fontset, not using the default fontset.
0693904a 6849
dd7b81cf
KH
6850 * coding.c (inhibit_iso_escape_detection): New variable.
6851 (syms_of_coding): Make it a Lisp variable.
6852 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6853 nonzero, ignore ISO2022's escape sequence.
6854
d5aa31d8
GM
68552000-07-14 Gerd Moellmann <gerd@gnu.org>
6856
e5acf0ca
GM
6857 * alloca.c (malloc) [emacs]: Define as xmalloc.
6858
bd23a692
GM
6859 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6860 use that instead of the mouse position. Add parameters DX and DY.
6861
6862 * dispextern.h (Fx_show_tip): Adjust number of parameters
6863 in prototype.
6864
9662da0b
GM
6865 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6866 if HELP is a function, call it with OBJECT and POS as parameters
6867 to get the help to display.
6868 (gen_help_event, kbd_buffer_store_help_event): New functions.
6869 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6870 (read_char): Call show_help_echo with new parameters.
6871
178c5d9c 6872 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6873 Add prototypes.
6874
6875 * xterm.c (help_echo_object, help_echo_pos): New variables.
6876 (note_mode_line_highlight): Store additional information about the
6877 help-echo in help_echo_object and help_echo_pos. Check both
6878 `local-map' and `keymap' properties for changing the cursor
6879 (note_mouse_highlight): Store additional information about the
6880 help-echo in help_echo_object and help_echo_pos.
6881 (note_tool_bar_highlight): Set help_echo_object to nil and
6882 help_echo_pos to -1.
6883 (XTread_socket): Use gen_help_event instead of filling
6884 input_events manually.
6885 (syms_of_xterm): Staticpro help_echo_object.
6886
6887 * xmenu.c (menu_highlight_callback): Use
6888 kbd_buffer_store_help_event instead of setting up and input_event
6889 structure manually.
6890
6891 * xdisp.c (eval_form): GCPRO argument sexpr.
6892 (call_function): New function.
6893 (handle_single_display_prop): Use call_function and FUNCTIONP
6894 instead of checking whether if font_height is a symbol and
6895 using eval_form.
6896
6897 * eval.c (internal_condition_case_2): New function.
6898
6899 * lisp.h (FUNCTIONP): New macro.
6900 (internal_condition_case_2, call_function): Add prototypes.
6901
d5aa31d8
GM
6902 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6903 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6904 Always set `arg' member of input_events.
6905 (construct_menu_click): Unused function removed.
6906
6907 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6908
6909 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6910 (construct_drag_n_drop, x_scroll_bar_handle_click)
6911 (w32_read_socket): Always set `arg' member of input_events.
6912
6913 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6914
6915 * lisp.h (eval_form): Add prototype.
6916
6917 * xdisp.c (eval_form): Make it externally visible.
6918
0f1a9b23
GM
69192000-07-13 Gerd Moellmann <gerd@gnu.org>
6920
6921 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6922 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6923 consing. For prefix events, store the frame in the `arg' slot of
6924 the event, otherwise store the key there.
6925 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6926 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6927
6928 * xmenu.c (menu_highlight_callback): Store help string in the
6929 `arg' member of the input event; don't cons.
6930 (menubar_selection_callback): Use the `arg' slot of input events
6931 to queue additional information, instead of consing.
6932
6933 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6934
6935 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6936 TOOL_BAR_EVENTs.
6937 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6938
6939 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6940 input events to queue additional information, instead of consing.
6941
6942 * keyboard.c (kbd_buffer_gcpro): Renamed from
6943 kbd_buffer_frame_or_window. Now used for all Lisp objects
6944 referenced from the input queue.
6945 (kbd_buffer_store_event): Always use structure assignment for
6946 copying input events. Record all Lisp objects referenced from
6947 events in kbd_buffer_gcpro.
6948 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6949 differently from input events. Test for prefix menu_bar_events
6950 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6951 event in kbd_buffer_gcpro to nil.
6952 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6953 frame_or_window is equal to its arg member as prefix events.
6954 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6955 used by an input event to nil.
6956 (init_keyboard): Use two times the size of the input queue
6957 for kbd_buffer_gcpro.
6958 (syms_of_keyboard): Likewise.
6959
52283633
SM
6960 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6961 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6962
6963 * termhooks.h (struct input_event): Add member `arg'.
6964 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6965 (USER_SIGNAL_EVENT): Renamed from user_signal.
6966
6967 * xfaces.c (ASET): Remove definition.
6968
6969 * lisp.h (AREF, ASET, ASIZE): New macros.
6970
6971 * fontset.c (AREF, ASIZE): Remove definitions.
6972
6973 * fns.c (AREF): Remove definition.
178c5d9c 6974
0f1a9b23
GM
6975 * composite.c (AREF): Remove definition.
6976
712eaef2
GM
69772000-07-12 Gerd Moellmann <gerd@gnu.org>
6978
d8ee7803
GM
6979 * dispnew.c (redraw_overlapped_rows): Add missing local.
6980 (scrolling_window): Remove debug code.
6981
712eaef2
GM
6982 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6983 Before scrolling, turn off a mouse-highlight in the window
6984 being scrolled.
6985
6986 * xterm.c (x_update_window_end): Add parameter
6987 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6988 redisplay in XTframe_up_to_date.
6989 (x_clear_mouse_face): New function.
6990 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6991
6992 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6993 current glyph row.
6994 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6995 it when any row is written to that contains glyphs highlighted in
6996 mouse-face.
6997 (update_window): Call the window update end hook with new
6998 parameter MOUSE_FACE_OVERWRITTEN_P.
6999 (direct_output_for_insert): Give up if row contains mouse-face.
7000
7001 * dispextern.h (struct redisplay_interface): Add parameter
7002 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
7003 (clear_mouse_face): New function pointer member.
7004
02010917
SM
70052000-07-11 Stefan Monnier <monnier@cs.yale.edu>
7006
7007 * syntax.c (back_comment): Use one switch rather than a few `if's.
7008 Obey open_paren_in_column_0_is_defun_start.
7009 When reverting to the `slow' method, try to nicely handle the case
7010 of nested comments by checking that the comment-starter we found
7011 does indeed match the comment-ender.
7012 (scan_sexps_forward, scan_sexps_forward):
7013 Ignore excessive opening parenthesis rather than throwing an error.
7014
d76c03ea
GM
70152000-07-11 Gerd Moellmann <gerd@gnu.org>
7016
7017 * doc.c (Fsubstitute_command_keys): Handle case that a GC
7018 in Fwhere_is_internal or get_keymap_1 relocates string contents.
7019
7020 * dispnew.c (direct_output_forward_char): Give up if currently
7021 displaying a message instead of the minibuffer contents.
7022
7023 * xterm.c (x_update_window_begin): No need to turn off the mouse
7024 highlight here.
7025 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 7026 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
7027
7028 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
7029 compare the mouse_face_p flags of both rows.
7030
7031 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
7032
d55ead18
EZ
70332000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
7034
7035 * keyboard.c (show_help_echo): Accept additional parameter
7036 ok_to_overwrite_keystroke_echo.
7037 (read_char): Call show_help_echo with a zero
7038 ok_to_overwrite_keystroke_echo argument.
52283633 7039 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
7040 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
7041 ok_to_overwrite_keystroke_echo argument.
7042 * w32menu.c (w32_menu_display_help): Call show_help_echo with
7043 non-zero ok_to_overwrite_keystroke_echo argument.
7044
df75b1a3
GM
70452000-07-10 Gerd Moellmann <gerd@gnu.org>
7046
4b92c49a
GM
7047 * xdisp.c (try_window_id): If changes are all below what is
7048 displayed in the window, and point is in the window, we still
7049 might have to find point on the display.
7050
7051 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
7052 glyphs instead of a single one.
7053 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7054 with new argument list.
7055 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7056
df75b1a3
GM
7057 * keymap.c (get_keymap_1): Add comment that this function can GC.
7058 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7059 comment that functions can GC.
7060 (Fset_keymap_parent): GCPRO arg KEYMAP.
7061
4314cf3e
EZ
70622000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7063
7064 * msdos.c (XMenuActivate): After exiting the menu, restore the
7065 echo area message and erase it.
7066
ab49ce15
KH
70672000-07-10 Kenichi Handa <handa@etl.go.jp>
7068
7069 * fontset.c (Ffontset_info): Make the return value more compatible
7070 with that of Emacs 20.
7071
090a072f
GM
70722000-07-07 Gerd Moellmann <gerd@gnu.org>
7073
7074 * eval.c (Fsignal): Handle case that backtrace_list is null.
7075
f92de4a6
KH
70762000-07-07 Kenichi Handa <handa@etl.go.jp>
7077
7078 * ccl.c (Fccl_execute): Typo fixed.
7079
dd8888a1
GM
70802000-07-06 Gerd Moellmann <gerd@gnu.org>
7081
e5c81191 7082 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7083
dd8888a1
GM
7084 * window.c (Fwindow_list): Reverse list at the end.
7085 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7086 means allow windows on OWINDOW's frame, only.
7087 (window_loop): Simplified; use Fwindow_list.
7088
7089 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7090
485266d0
GM
70912000-07-05 Gerd Moellmann <gerd@gnu.org>
7092
7093 * xterm.c (XTread_socket): Increment handling_signal at the start,
7094 decrement it at the end.
7095
7096 * eval.c (handling_signal): New variable.
7097 (Fsignal): Abort if handling_signal is non-zero.
7098
7099 * lisp.h (handling_signal): External declaration.
178c5d9c 7100
485266d0
GM
7101 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7102
80fcd514
KR
71032000-07-05 Ken Raeburn <raeburn@gnu.org>
7104
7105 Sound support for NetBSD through "Linux emulation" support:
7106 * config.in (HAVE_SOUNDCARD_H): Undef.
7107 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7108 * Makefile.in (LIBSOUND): New variable.
7109 (LIBES): Include it.
52283633
SM
7110 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7111 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7112 (vox_open): Use DEFAULT_SOUND_DEVICE.
7113 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7114
d5c5cddd
GM
71152000-07-05 Gerd Moellmann <gerd@gnu.org>
7116
7117 * print.c (print_error_message): If Vsignaling_function is set,
7118 show it in *Messages*.
7119
7120 * lisp.h (Vsignaling_function): External declaration.
7121
7122 * eval.c (Vsignaling_function): New variable.
7123 (Fsignal): Compute it.
7124 (syms_of_eval): Staticpro it.
7125
65171e3a
DL
71262000-07-05 Dave Love <fx@gnu.org>
7127
7128 * syswait.h: Use the autoconf recommended approach. Old code
7129 #if'd out in case we need to revert.
7130
178c5d9c 7131 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7132
e2c46326
AI
71332000-07-05 Andrew Innes <andrewi@gnu.org>
7134
7135 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7136 when non-NULL instead of __morecore, to take account of buffer
7137 memory. This also solves a problem with spurious memory warnings
7138 on Windows.
7139
7140 * ralloc.c: Make real_morecore non-static.
7141
7142 * eval.c (internal_condition_case): Comment out abort if
7143 interrupt_input_blocked is not zero.
7144
7145 * makefile.nt: Add support for `bootstrap' and related targets.
7146 Include minimal debug info in emacs.exe in release build.
7147 Remove all dependencies on lisp.h, and fixup some others.
7148
7149 * w32.c (init_environment): Install code from 20.7 for providing
7150 default values for environment variables, based on the
7151 executable's own location.
52283633 7152 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7153 (sys_socket): Install socket inheritance bug fix from 20.7.
7154
7155 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7156 here via blockinput.h).
7157
a027a91b
SM
71582000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7159
e4b31601
SM
7160 * w32menu.c (w32_menu_display_help):
7161 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7162
7163 * keyboard.h (show_help_echo): Declare.
7164
7165 * keyboard.c (show_help_echo): New function, extracted from read_char.
7166 Feval its `msg' argument if it's a cons cell.
7167 (read_char): Use it.
4cf8d9d5 7168 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7169
178c5d9c 7170 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7171 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7172 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7173 (dos_rawgetc):
7174 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7175 (note_tool_bar_highlight, w32_read_socket):
7176 Do not gratuitously ignore non-string `help-echo' properties.
7177
88d75730
GM
71782000-07-05 Gerd Moellmann <gerd@gnu.org>
7179
969f7e79
GM
7180 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7181
71201b00
GM
7182 * window.c (delete_all_subwindows): Reset Vwindow_list.
7183
88d75730
GM
7184 * xterm.c (x_append_glyph, x_append_composite_glyph)
7185 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7186 changes in struct glyph starting 1999-12-27. Some bit-fields of
7187 struct glyph were not set, which made glyphs unequal when compared
7188 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7189 effects were the result. This also depended on the contents of
7190 memory returned by xmalloc. If flickering happens again, activate
7191 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7192 gone with that, chances are that it is caused by something similar.
88d75730
GM
7193
7194 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7195
88d75730
GM
7196 * dispextern.h: Add some comments.
7197
7198 * window.c (add_window_to_list): Add parameter LIST.
7199 (window_list): Order list so that, for each frame, windows are
7200 in canonical order, and so that frames appear in the list in
7201 the order given by Vframe_list.
7202 (next_window): Reverse the handling of NEXT_P.
7203
53654733
GM
72042000-07-04 Gerd Moellmann <gerd@gnu.org>
7205
87efd256
GM
7206 * window.c (Vwindow_list): New variable.
7207 (make_window, delete_window): Set Vwindow_list to nil.
7208 (check_window_containing): New function.
7209 (window_from_coordinates): Rewritten.
7210 (add_window_to_list, window_list, candidate_window_p)
7211 (decode_next_window_args, next_window): New functions.
52283633 7212 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7213 (Fwindow_list): New function.
7214 (Fother_window): Cleaned up.
7215 (foreach_window): Add a longer "variable argument list". Let
7216 callback function return 0 to indicate that cycling over windows
7217 should stop.
7218 (foreach_window_1): Likewise.
7219 (freeze_window_start): Return int.
7220 (init_window): New function.
7221 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7222
7223 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7224 input_event with bzero.
7225 (main): Call init_window.
7226
53654733
GM
7227 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7228 a menu filter.
7229
4a8c194f
KH
72302000-07-04 Kenichi Handa <handa@etl.go.jp>
7231
7232 * composite.h (make_composition_value_copy): Extern it.
7233
7234 * composite.c (make_composition_value_copy): New function.
7235
7236 * editfns.c (Fformat): While copying text properties, make each
7237 composition property value a copy.
7238
7239 * fns.c (concat): While copying text properties, make each
7240 composition property value a copy.
7241
831a6cb0
GM
72422000-07-03 Gerd Moellmann <gerd@gnu.org>
7243
2f516940
GM
7244 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7245
178c5d9c 7246 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7247 marked already.
7248
831a6cb0
GM
7249 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7250 include those frames as candidates which have their focus
7251 redirected to the minibuffer frame.
7252
d9c4f922
SM
72532000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7254
7255 * fns.c (Fputhash): Return `value' rather than nil.
7256
3780bc22
GM
72572000-06-30 Gerd Moellmann <gerd@gnu.org>
7258
97d176db
GM
7259 * frame.c (next_frame): Don't check focus redirection in case
7260 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7261 unless their focus is redirected, which contradicts the
7262 specification of next-frame, and leads to infinite loops in
7263 certain situations when cycling through windows with next-window.
7264
dca9961d
KH
72652000-06-30 Kenichi Handa <handa@etl.go.jp>
7266
7267 * coding.c (code_convert_region): Even if the length of text is
7268 zero, try to convert it if coding->type is coding_type_ccl.
7269 (decode_coding_string, encode_coding_string): Likewise.
7270
d5483ab1
GM
72712000-06-28 Gerd Moellmann <gerd@gnu.org>
7272
af5c25e1 7273 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7274 the display if windows_or_buffers_changed.
af5c25e1
GM
7275
7276 * dispnew.c (struct row_entry): New structure.
7277 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7278 (row_table_size, old_lines, new_lines, old_lines_size)
7279 (new_lines_size, run_pool, runs_size, runs): New variables.
7280 (add_row_entry): New function.
7281 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7282 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7283 holding them in local variables. Use a larger hash table whose
7284 size depends on glyph matrix sizes. Don't use bzero to clear the
7285 hash table; instead, clear used slots only.
7286
7287 * fns.c (next_almost_prime): Make it externally visible.
7288
7289 * lisp.h (next_almost_prime): Add prototype.
7290
d5483ab1
GM
7291 * s/isc4-0.h (sigunblock): Define.
7292
7293 * s/sco5.h (sigunblock): Define.
7294
93e40f40
DL
72952000-06-27 Dave Love <fx@gnu.org>
7296
7297 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7298 (moved to osf5-0.h).
7299 [!NOT_C_CODE]: Protect string.h stuff.
7300
7301 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7302 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7303
3c4b7685
GM
73042000-06-27 Gerd Moellmann <gerd@gnu.org>
7305
97d176db 7306 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7307 below the last line from the needed window height.
7308
32cad0aa
SM
73092000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7310
7311 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7312 (Fwidget_get): Use it.
7313 (syms_of_fns): Defsubr it.
7314
2c69ced2
GM
73152000-06-26 Gerd Moellmann <gerd@gnu.org>
7316
178c5d9c 7317 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7318 display info for XIM.
7319 (xim_open_dpy): Likewise.
7320 (xim_close_dpy): Don't free the display info's XIM.
7321
7322 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7323
7324 * config.in (USE_XIM): New define.
7325
3fc720e4
GM
7326 * keymap.c (get_keyelt): For menu-items containing a `:filter
7327 FILTER', apply FILTER to the menu-item's definition to get the
7328 real definition to use.
7329
7330 * lisp.h (QCfilter): External declaration.
7331
2c69ced2
GM
7332 * xfns.c (Fimage_size): New function.
7333 (syms_of_xfns): Defsubr it.
7334
f978b2a2
AS
73352000-06-26 Andreas Schwab <schwab@suse.de>
7336
7337 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7338 Fstring_as_unibyte.
7339
94cc7892
DL
73402000-06-25 Dave Love <fx@gnu.org>
7341
52283633 7342 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7343
7344 * Makefile.in (blockinput.h): Depend on atimer.h.
7345 (atimer.h): Depend on systime.h.
7346
52283633 7347 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7348
52283633 7349 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7350
7351 * lisp.h (swap_in_global_binding): Declare.
7352
b8c24556
KR
73532000-06-24 Ken Raeburn <raeburn@gnu.org>
7354
7355 * process.c (Fopen_network_stream): Turn off atimers for duration
7356 of call to connect. (Patch from Gerd.)
7357
8cf8560b
DL
73582000-06-23 Dave Love <fx@gnu.org>
7359
511c7541
DL
7360 * ralloc.c: Maybe include unistd.h
7361
8cf8560b
DL
7362 * emacs.c (setgrp): Undefine before defining.
7363 (malloc_warning, set_time_zone_rule, index): Prototype.
7364
7365 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7366 HAVE_STRUCT_TIMEZONE.
7367
7368 * s/osf1.h: Move string.h hack here from alpha.h and make it
7369 conditional.
7370 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7371 _XOPEN_SOURCE.
7372 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7373 (SOCKLEN_TYPE): Don't define.
7374
7375 * m/alpha.h: Remove string.h hack.
7376
7377 * s/osf5-0.h: New file.
7378
7379 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7380 include time.h, done by systime.h.
7381 [__FreeBSD__]: Remove redundant includes.
7382
3fc720e4 7383 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7384 (delete_temp_file): Return Qnil to avoid warning.
7385
7386 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7387
7388 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7389 HAVE_X_WINDOWS.
7390
7391 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7392
7393 * composite.h (compose_text): Declare.
7394
7395 * xterm.c: Don't include sys/types.h unconditionally. Don't
7396 protect its inclusion with !USG (following xmenu.c).
7397
ea055732
GM
73982000-06-23 Gerd Moellmann <gerd@gnu.org>
7399
7400 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7401 in x_create_frame.
7402
74b01b80
EZ
74032000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7404
7405 * coding.c (decode_eol_post_ccl): Special handling for undecided
7406 and inconsistent EOL types.
7407
64f3a166
GM
74082000-06-22 Gerd Moellmann <gerd@gnu.org>
7409
16cf31f7
GM
7410 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7411 trough color and main window's background color.
7412
52283633 7413 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7414
7415 * xterm.h (Xt_app_con): External declaration.
7416
7417 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7418
486a103d
GM
7419 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7420
64f3a166
GM
7421 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7422 (handle_invisible_prop): Record the start of invisible text in
7423 it->add_overlay_start.
7424 (struct overlay_entry): Add member `overlay'.
7425 (handle_overlay_change): Simplify.
7426 (next_overlay_string): After having processed overlay strings at the
7427 end of the buffer, record that fact in
7428 it->overlay_strings_at_end_processed_p.
7429 (compare_overlay_entries): If before- and after-strings come
7430 from the same overlay, let before-strings come first.
7431 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7432 (load_overlay_strings): Take it->add_overlay_start into account
7433 when adding overlay strings.
7434
7435 * dispextern.h (struct it): Add member add_overlay_start.
7436
bb746ea6
DL
74372000-06-22 Dave Love <fx@gnu.org>
7438
7439 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7440
7441 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7442
a8f573f3
KH
74432000-06-22 Kenichi Handa <handa@etl.go.jp>
7444
7445 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7446 is greater than 0.
7447
9f2bbc92
DL
74482000-06-21 Dave Love <fx@gnu.org>
7449
178c5d9c 7450 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7451
3ee5041c
SM
74522000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7453
7454 * syntax.c (back_comment): Simplify string-parity counting (with
7455 the added benefit of handling multiple string-styles as long as
7456 they are not intertwined).
7457 Jump to the slow code as soon as a comment starter is found in
7458 a "string_lossage" position. Fixes the case: " /* " /* " */.
7459
4c343001
DL
74602000-06-21 Dave Love <fx@gnu.org>
7461
7462 * Makefile.in: Use GETLOADAVG_LIBS.
7463
7464 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7465 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7466
e6365855
SM
74672000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7468
7469 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7470 (Fforward_comment, scan_lists):
7471 Check the comstyle of single-char comment-starters.
7472 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7473 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7474 Check the comstyle of single-char comment-starters.
7475 Clarify control-flow around the Scomment case.
e6365855 7476
5700d2cc
DL
74772000-06-20 Dave Love <fx@gnu.org>
7478
d355bd8a
SM
7479 * fns.c (make_hash_table, maybe_resize_hash_table):
7480 Cast arg of next_almost_prime.
5700d2cc 7481
178c5d9c 7482 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7483
7484 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7485 and unistd.h.
7486
4a27bdfb
GM
74872000-06-20 Gerd Moellmann <gerd@gnu.org>
7488
a61d762c 7489 * keyboard.c (adjust_point_for_property): Check if display
52283633 7490 property should be treated as intangible by looking at its value.
a61d762c 7491
178c5d9c 7492 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7493 (display_prop_intangible_p): New functions.
7494
7495 * dispextern.h (display_prop_intangible_p): Add prototype.
7496
7497 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7498
4a27bdfb
GM
7499 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7500 argument to sigprocmask.
7501
7502 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7503 argument to sigprocmask.
7504
7505 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7506 sigprocmask_set, and pass a pointer to it to sigprocmask.
7507
7508 * sysdep.c (sigprocmask_set): New variable.
7509
7510 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7511 report_file_error.
7512
427ec082
SS
75132000-06-20 Sam Steingold <sds@gnu.org>
7514
7515 * xrdb.c: Don't declare xmalloc, xrealloc.
7516
8972fe79 75172000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7518
7519 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7520 (re_comp): Cast gettext return value to avoid complaints when
7521 !HAVE_LIBINTL.
7522
074b6efe
DL
75232000-06-20 Dave Love <fx@gnu.org>
7524
52283633 7525 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7526
5700d2cc 7527 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7528
d355bd8a 7529 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7530
7531 * m/alpha.h: Don't declare xmalloc, xrealloc.
7532
0af4f205
DL
7533 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7534
7535 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7536
7537 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7538
7539 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7540 HAVE_GETWD.
7541
074b6efe
DL
7542 * keyboard.h (poll_for_input_1): Declare.
7543
7544 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7545
7546 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7547
7548 * doprnt.c: Don't declare xmalloc, xrealloc.
7549
7550 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7551 (getenv, ctime, getwd): Removed.
7552 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7553
7554 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7555 x_set_tool_bar_lines.
7556
7557 * config.in: Add HAVE_GETWD. Move some definitions above
7558 machine/system includes.
7559
68a5e97b
KH
75602000-06-20 Kenichi Handa <handa@etl.go.jp>
7561
95417e1e
KH
7562 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7563
68a5e97b
KH
7564 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7565 contain information about ENCODING.
7566
7567 * fontset.c (FONTSET_ASCII): Use the first element of char table
7568 for an ASCII font, not defalt slot.
7569 (fontset_ref_via_base): If FONTSET doesn't contain information for
7570 C, try the default fontset.
7571 (make_fontset): Don't copy the default fontset.
7572 (fontset_font_pattern): Likewise.
7573 (accumulate_font_info): If ELT is nil, use the corresponding
7574 element in the default fontset.
7575
3b4fa1b2
DL
75762000-06-19 Dave Love <fx@gnu.org>
7577
943e731c
DL
7578 * syntax.c (Fparse_partial_sexp): Doc fix.
7579
7580 * regex.h: Test PROTOTYPES as well as __STDC__.
7581
3b4fa1b2
DL
7582 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7583 errno, strerror. Put text after #endif in comment.
7584
52283633 7585 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7586
7587 * xterm.c (x_frame_of_widget): Likewise.
7588
cdf0357b
GM
75892000-06-19 Gerd Moellmann <gerd@gnu.org>
7590
7591 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7592 to Vfundamental_mode_abbrev_table.
7593
7594 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7595 bogus objects are marked. This slows down GC by ~80 percent, but
7596 it might be worth trying when debugging GC-related problems.
7597 This feature requires conservative stack marking to be enabled.
7598
7599 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7600 returns XLookupChars, reset `modifiers' to zero.
7601
998e9f8c
DL
76022000-06-19 Dave Love <fx@gnu.org>
7603
7604 * mktime.c: Unprotoized.
7605
18e21ce8 76062000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7607
7608 * data.c (set_internal): If variable is frame-local,
7609 store the new value immediately into the frame parameter alist.
7610
140c4ac6
KR
76112000-06-19 Ken Raeburn <raeburn@gnu.org>
7612
14358466
KR
7613 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7614 in the custom handler pointer.
7615
140c4ac6
KR
7616 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7617 value, or checks for CHAR_META can fail when Lisp_Object is a
7618 union type.
7619 * keymap.c (get_keyelt): Likewise.
7620
10d7bf84
KH
76212000-06-19 Kenichi Handa <handa@etl.go.jp>
7622
7623 * ccl.h (struct ccl_program): New member eol_type.
7624 (struct ccl_spec): New member cr_carryover.
7625
7626 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7627 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7628
7629 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7630 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7631 (decode_eol_post_ccl): New function.
7632 (decode_coding): Don't detect EOL format here for CCL based coding
7633 systems.
7634 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7635 decode_eol_post_ccl after running the CCL program.
7636 (code_convert_region): Don't detect EOL format here for CCL based
7637 coding systems.
7638 (decode_coding_string): Likewise.
7639
52e386c2
KR
76402000-06-18 Ken Raeburn <raeburn@gnu.org>
7641
7642 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7643 when treating it as an integer.
7644
7645 * coding.h (encode_coding_string): Declare.
7646
7647 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7648 it as an integer.
7649
7650 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7651 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7652 to be passed to get_local_map.
7653
7654 * sound.c (Fplay_sound): Don't call make_number on
7655 Frun_hook_with_args count argument.
7656
7657 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7658 for lisp objects in X event structure data field, when lisp
7659 objects are represented with unions.
7660 (x_scroll_bar_to_input_event): Ditto.
7661
b357b9d4
KR
76622000-06-16 Ken Raeburn <raeburn@gnu.org>
7663
7664 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7665 termination of string. Fix sense of test whether
7666 Vline_number_display_limit is an integer.
b357b9d4 7667
a871441d
GM
76682000-06-16 Gerd Moellmann <gerd@gnu.org>
7669
a9021acd
GM
7670 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7671 only if HAVE_X_WINDOWS.
7672
6344985d
GM
7673 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7674 of titles.
7675
427ec082 7676 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7677 out of bounds.
7678
228b083e
EZ
76792000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7680
7681 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7682 of its headers.
7683
c25b53a2
KH
76842000-06-15 Kenichi Handa <handa@etl.go.jp>
7685
7686 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7687 start of the while loop.
7688
a6981b11
GM
76892000-06-15 Gerd Moellmann <gerd@gnu.org>
7690
e9924e52
GM
7691 * atimer.c (alarm_signal_handler): Add forward declaration.
7692
a6981b11
GM
7693 * data.c (set_internal): Remove debug code.
7694
25fa6deb
GM
76952000-06-14 Gerd Moellmann <gerd@gnu.org>
7696
dce6b995
GM
7697 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7698
9f817ea4
GM
7699 * unexec.c (toplevel) [COFF]: Include coff.h.
7700
7701 * s/lynxos.h: New file.
7702
7703 * keymap.c (Fsingle_key_description): Enclose function key and
7704 event symbol names in angle brackets.
7705
8a4e3c0c
GM
7706 * xdisp.c (setup_echo_area_for_printing): Call
7707 message_log_maybe_newline if message_buf_print is not set.
7708
7709 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7710 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7711 function does something useful even when message_buf_print is
7712 already set.
7713
52283633
SM
7714 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7715 New variables.
25fa6deb
GM
7716 (ensure_echo_area_buffers): Initialize echo buffer's
7717 truncate lines setting to nil.
7718 (with_echo_area_buffer): Don't set the echo buffer's truncate
7719 lines setting here.
8a4e3c0c 7720 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7721 of message_truncate_lines.
7722 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7723 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7724 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7725
7726 * keyboard.c (read_char): Bind message-truncate-lines to t
7727 while displaying a help-echo.
7728
7729 * lisp.h (Qmessage_truncate_lines): External declaration.
7730
163dcff3
GM
77312000-06-13 Gerd Moellmann <gerd@gnu.org>
7732
1681ead6
GM
7733 * xdisp.c (Vline_number_display_limit): Renamed from
7734 line_number_display_limit.
7735 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7736 Extend documentation string. Initialize
7737 Vline_number_display_limit to nil meaning no limit.
7738 (decode_mode_spec): Use Vline_number_display_limit with its new
7739 meaning.
7740
163dcff3
GM
7741 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7742
18e21ce8 77432000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7744
7745 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7746
163dcff3
GM
7747 * xfns.c (x_set_frame_parameters): Comment fix.
7748
7749 * frame.c (store_frame_param): Call swap_in_global_binding if the
7750 variable's current binding was chosen based on this frame.
7751
7752 * data.c (swap_in_global_binding): New function.
7753
a704139d
EZ
77542000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7755
7756 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7757 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7758
9b6610db
EZ
77592000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7760
7761 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7762
c68833d2
JR
77632000-06-12 Jason Rumney <jasonr@gnu.org>
7764
7765 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7766
7767 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7768
7769 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7770
7771 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7772
ed1056b3
GM
77732000-06-12 Gerd Moellmann <gerd@gnu.org>
7774
7775 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7776 (syms_of_xfaces): Defsubr Sdump_colors.
7777 (x_free_colors): Don't treat b&w specially on default visual.
7778 (x_free_dpy_colors): New function.
7779 (free_face_colors): Don't check visual class; it's done
7780 in x_free_colors.
7781
7782 * xterm.c (x_frame_of_widget): New function.
7783 (x_alloc_nearest_color_for_widget): Use it.
7784 (x_copy_dpy_color): New function.
7785 (x_destroy_window): Free various colors.
7786
5050a2ef
KH
77872000-06-12 Kenichi Handa <handa@etl.go.jp>
7788
7789 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7790
7791 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7792
7793 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7794
7795 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7796
7797 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7798
fb1b041d
DL
77992000-06-11 Dave Love <fx@gnu.org>
7800
7801 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7802
ff96b5f4
EZ
78032000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7804
7805 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7806
db8eeecd
GM
78072000-06-11 Gerd Moellmann <gerd@gnu.org>
7808
ed1056b3 7809 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7810 to `XEvent *'.
7811
49b71c5f
KH
78122000-06-10 Kenichi Handa <handa@etl.go.jp>
7813
c479bd55
KH
7814 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7815 (regex_compile): Fix the code for handling the case of single byte
7816 char and multibyte char being mixed in a range within [...].
7817
ff6a65c2
KH
7818 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7819 and dst_multibyte members of coding.
7820
49b71c5f
KH
7821 * charset.c (update_charset_table): Update the table
7822 bytes_by_char_head.
7823 (init_charset_once): Initialize elements of bytes_by_char_head to
7824 1 except for leading codes for private charases.
7825
7826 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7827 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7828
9e80b57d
KR
78292000-06-09 Ken Raeburn <raeburn@gnu.org>
7830
7831 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7832 access the data it doesn't point to.
7833
f83fe4b4
GM
78342000-06-08 Gerd Moellmann <gerd@gnu.org>
7835
7836 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7837 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7838 event queue. This is necessary because Emacs otherwise won't
7839 perform a switch-frame to a new frame until some other event, for
7840 example a keystroke event, forces it to do so. This has various
7841 effects, one visible being that the cursor of a frame created with
7842 C-x 5 2 or switched to with a window manager key binding like
7843 A-TAB stays hollow because selected_window isn't on the newly
7844 focused frame until the switch-frame is performed.
7845
7846 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7847 generating a switch-frame event if necessary.
7848
7849 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7850
7851 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7852 it's an integer.
7853
0890801b
KH
78542000-06-08 Kenichi Handa <handa@etl.go.jp>
7855
52283633 7856 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7857
173cbca8
GM
78582000-06-07 Gerd Moellmann <gerd@gnu.org>
7859
3091c2a6
GM
7860 * window.c (displayed_window_lines): Take empty lines at
7861 the bottom of a window into account.
427ec082 7862
f38952fe
GM
7863 * window.c (displayed_window_lines): New function.
7864 (Fmove_to_window_line): Use displayed_window_lines to determine
7865 the number of lines to move, instead of using the window's height.
7866
7867 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7868 to stop reading, even if the form read sets point to a different
7869 value when evaluated.
7870
427ec082 7871 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7872 put the cursor.
7873
6ba6c818
KH
78742000-06-07 Kenichi Handa <handa@etl.go.jp>
7875
7876 * fileio.c (e_write): Free composition data if stored in
7877 coding->cmp_data.
7878
5f1aea9a
GM
78792000-06-06 Gerd Moellmann <gerd@gnu.org>
7880
666852af
GM
7881 * xdisp.c (display_line): Set row's and iterator's
7882 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7883 Set cursor even if row ends in the middle of a character.
7884 (dump_glyph_row): Print values of new flags.
7885 (redisplay_window) <cursor movement in unchanged window>: When
7886 point has been moved forward, and PT is at the end of the cursor
7887 row, don't place the cursor in the next row if the cursor row ends
7888 in the middle of a character or at ZV.
7889
7890 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7891 (struct glyph_row): Add starts_in_middle_of_char_p and
7892 ends_in_middle_of_char_p.
7893 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7894 ends_in_middle_of_char_p flag.
7895 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7896
d13f3e2e
GM
7897 * term.c (append_glyph): Revert change of 2000-06-06.
7898
7899 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7900 padding glyph not fitting on line as whole character not
7901 fitting on line.
7902
5f1aea9a
GM
7903 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7904 this isn't true for images with `:ascent 100'.
7905
10cda9b0
KH
79062000-06-06 Kenichi Handa <handa@etl.go.jp>
7907
ed00559d
KH
7908 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7909 as modified if it is originally unmodified.
7910
10cda9b0
KH
7911 * term.c (encode_terminal_code): Change the way to check if
7912 terminal coding does any conversion.
7913 (append_glyph): Set glyph->pixel_width correctly.
7914
7915 * xdisp.c (display_line): While checking line continuation, pay
7916 attention to a padding glyph.
7917
1969fae2
GM
79182000-06-05 Gerd Moellmann <gerd@gnu.org>
7919
7920 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7921
162ccef4
DL
79222000-06-05 Dave Love <fx@gnu.org>
7923
f19f32dd
DL
7924 * xdisp.c: Include fontset.h.
7925
7926 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7927
7928 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7929
7930 * dispnew.c: Conditionally include term.h.
7931
7932 * coding.h: Declare code_convert_string_norecord.
7933
7934 * frame.h (struct frame): Use volatile unconditionally.
7935
7936 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7937
7938 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7939
7940 * systime.h: Protect against multiple inclusion.
7941 (timezone) [USG5_4]: Define as time_t.
7942
7943 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7944 (Foptimize_char_table, make_temp_name): Declare.
7945
7946 * Makefile.in (xdisp.o): Depend on fontset.h.
7947
7948 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7949
7950 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7951 (Foptimize_char_table, make_temp_name): Declare.
7952
427ec082 7953 * s/irix4-0.h:
162ccef4
DL
7954 * s/irix5-0.h:
7955 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7956
2082fe81
DL
79572000-06-02 Dave Love <fx@gnu.org>
7958
7959 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7960
dcf671d2
GM
79612000-06-02 Gerd Moellmann <gerd@gnu.org>
7962
7963 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7964 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7965 be freed.
7966
7967 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7968 glyph, use the ASCII NUL character to determine the face.
7969
d42122a3
DL
79702000-06-02 Dave Love <fx@gnu.org>
7971
7972 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7973 (VFORK_RETURN_TYPE): Remove.
427ec082 7974
d42122a3
DL
7975 * config.in: Add NO_MATHERR.
7976
dd432f16
DL
79772000-06-01 Dave Love <fx@gnu.org>
7978
90aa4ea8
DL
7979 * cmds.c (internal_self_insert): Don't check
7980 Vbefore_change_function, Vafter_change_function.
7981
7982 * insdel.c (signal_before_change, signal_after_change): Likewise.
7983
7984 * buffer.c (Vbefore_change_function, Vafter_change_function):
7985 Variables and their initializations deleted.
7986
2330c9d4
DL
7987 * callint.c (Fcall_interactively): Doc fix.
7988
dd432f16
DL
7989 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7990
bf9e8804
DL
79912000-05-31 Dave Love <fx@gnu.org>
7992
7993 * textprop.c: Revert last change -- duplicated.
7994
3694b4ab
GM
79952000-05-31 Gerd Moellmann <gerd@gnu.org>
7996
7997 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7998 in #if 0.
7999
8000 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
8001
f14156cd
JR
80022000-05-31 Jason Rumney <jasonr@gnu.org>
8003
8119aab8
JR
8004 * search.c (Fre_search_forward, Fre_search_backward)
8005 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
8006
f14156cd
JR
8007 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
8008
4aab9be3
JR
80092000-05-30 Jason Rumney <jasonr@gnu.org>
8010
8011 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
8012 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
8013
52283633 8014 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
8015
8016 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
8017 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
8018 expand a nil default_filename.
8019
8020 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
8021 pointer to glyph_to_pixel_coords, not a frame.
8022
8023 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
8024 coding.h to dependencies.
8025
8026 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
8027
8028 * w32console.c (glyph_to_pixel_coords): Change first parameter to
8029 window pointer to be consistent with w32term.c and xterm.c.
8030
8031 * w32fns.c: Format and doc changes to bring closer to xfns.c.
8032 (VIETNAMESE_CHARSET): Define if not defined in system headers.
8033 (Qline_spacing, Qcenter): New variables.
8034 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
8035 (x_set_line_spacing): New function.
52283633 8036 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
8037 (x_specified_cursor_type): New function.
8038 (x_set_cursor_type): Use it.
8039 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
8040 and icon strings.
8041 (validate_x_resource_name, x_get_resource_string): Measure lengths
8042 of external strings in bytes.
8043 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
8044 GetTextExtentPoint32 with NULL title.
8045 (Fx_create_frame): Initialize Qline_spacing.
8046 (w32_load_system_font): Initialize font->double_byte_p.
8047 (x_to_w32_charset): Use Vw32_charset_info_alist.
8048 (Image, busy cursor, tooltip functions): Merged changes from
8049 xfns.c. Not yet functional on Windows.
8050
8051 * w32gui.h (W32FontStruct): Add double_byte_p member.
8052
8053 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8054 (emacs_button_translation): Use it.
8055 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8056 in `mask' to be set.
8057
8058 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8059 menu strings.
8060
8061 * w32term.c: Format and doc changes to bring closer to xterm.c.
8062 (w32_char_font_type): New enum.
8063 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8064 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8065 (w32_encode_char): New function.
8066 (x_encode_char): Removed.
8067 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8068 x_encode_char and w32_font_is_double_byte.
8069 (x_produce_image_glyph): Use image_ascent.
8070 (x_produce_glyphs): Use new version of w32_per_char_metric and
8071 handle NULL return value. Allow extra line spacing.
8072 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8073 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8074 w32_font_type member of glyph instead.
8075 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8076 (fast_find_position): Make sure not to consider rows not visible
8077 in the window.
8078 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8079 w32_menu_display_help with input blocked, as it can abort.
8080 (x_display_and_set_cursor): Choose cursor depending
8081 on buffer-local value of cursor_type.
8082 (x_draw_bar_cursor): Add parameter WIDTH.
8083
8084 * w32term.h (CP_DEFAULT): Define.
8085 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8086
10fc3187
GM
80872000-05-30 Gerd Moellmann <gerd@gnu.org>
8088
8089 * search.c (Fre_search_forward, Fre_search_backward)
8090 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8091
d0555360
KH
80922000-05-30 Kenichi Handa <handa@etl.go.jp>
8093
8094 * coding.c (detect_coding_iso2022): Fix code for checking
8095 CODING_CATEGORY_MASK_ISO_8_2.
8096
f1ad044f
SM
80972000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8098
8099 * regex.c (PREFETCH_NOLIMIT): New function.
8100 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8101
84ec3b4b
GM
81022000-05-29 Gerd Moellmann <gerd@gnu.org>
8103
66254a13
GM
8104 * syntax.c (find_defun_start): Move test for
8105 open_paren_in_column_0_is_defun_start outside of the loop.
8106
49e70dec
GM
8107 * xdisp.c (redisplay_window): Really switch buffers when
8108 displaying mode lines, and temporarily set selected_frame to the
8109 frame of the window that's redisplayed.
8110
84ec3b4b
GM
8111 * xfaces.c (free_realized_faces): Block/unblock input.
8112 (free_realized_multibyte_face): Ditto.
8113
869a3a14
DL
81142000-05-29 Dave Love <fx@gnu.org>
8115
8116 * textprop.c (Qkeymap): New variable.
8117 (syms_of_textprop): Intern it.
8118
8119 * keymap.c: Include intervals.h.
8120 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8121
8122 * Makefile.in (keymap.o): Depend on intervals.h.
8123
8124 * keyboard.c (menu_bar_items, tool_bar_items)
8125 (Fexecute_extended_command): Deal with `keymap' property.
8126 (read_key_sequence): Track map from `keymap' property as well as
8127 `local_map'.
8128
8129 * intervals.c (get_local_map): Extra arg to allow looking for
8130 `keymap' too.
8131
8132 * intervals.h (map_property): New enum.
8133 (get_local_map): Extra arg using it.
8134 (Qkeymap): Declare.
8135
84ec3b4b 8136 * lisp.h (get_local_map): Don't declare here.
869a3a14 8137
89d0c844
KH
81382000-05-29 Kenichi Handa <handa@etl.go.jp>
8139
8140 * Makefile.in (callproc.o): Depend on composite.h.
8141
8142 * callproc.c: Include composite.h.
8143 (Fcall_process): Handle composition correctly.
8144
8145 * coding.h (coding_allocate_composition_data): Extern it.
8146 (coding_restore_composition): Likewise.
8147
8148 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8149 yet allocated, finish decoding with result
8150 CODING_FINISH_INSUFFICIENT_CMP.
8151 (coding_allocate_composition_data): Make it non-static.
8152 (coding_restore_composition): Likewise.
8153
797a084a
EZ
81542000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8155
8156 * charset.c (syms_of_charset): Revert last change.
8157
cf872af5
EZ
81582000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8159
8160 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8161 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8162 Handa.
cf872af5 8163
5b1ae051
EZ
81642000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8165
8166 * charset.c (syms_of_charset): Set width of character sets
8167 eight-bit-control and eight-bit-graphic to 1 column.
8168
34ec9ebe
GM
81692000-05-26 Gerd Moellmann <gerd@gnu.org>
8170
8171 * config.in (HAVE_SPEED_T): New define.
8172
8173 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8174 `extern speed_t'.
8175
dd854dc2
DL
81762000-05-26 Dave Love <fx@gnu.org>
8177
8178 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8179
8180 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8181 (Fsubr_arity): New function.
8182 (syms_of_data): Install them.
8183
ba9f8f95
KH
81842000-05-26 Kenichi Handa <handa@etl.go.jp>
8185
0f3e0672
KH
8186 * charset.c (init_charset_once): Set the table bytes_by_char_head
8187 correctly.
8188
cebefb44
KH
8189 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8190 the default fontset to what Emacs uses by default.
0f3e0672
KH
8191 (check_registry_encoding): This function deleted.
8192 (Fset_fontset_font): Remove the adhoc condition for the default
8193 fontset. Allow cons in FONTNAME.
cebefb44 8194
0f3e0672
KH
8195 * fns.c (map_char_table): Ignore char-table entries for
8196 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8197
7a18af49
KR
81982000-05-25 Ken Raeburn <raeburn@gnu.org>
8199
8200 * emacs.c (main): Initialize keyboard syms before initializing
8201 window code, so face names are available.
8202
d2af47df
SM
82032000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8204
8205 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8206 of an anchor at the beginning of a shy-group.
8207
fc6a6a4e
GM
82082000-05-25 Gerd Moellmann <gerd@gnu.org>
8209
8210 * xdisp.c (handle_invisible_prop): Don't try to skip over
8211 invisible text if end of text is already reached.
8212
005f0d35
DL
82132000-05-25 Dave Love <fx@gnu.org>
8214
02513cdd
DL
8215 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8216
005f0d35
DL
8217 * coding.c (encode_eol): Add null statement after label.
8218
89f6ca4e
EZ
82192000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8220
8221 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8222 2000-05-20.
8223
a4e1759e
KH
82242000-05-25 Kenichi Handa <handa@etl.go.jp>
8225
8226 * ccl.c (ccl_driver): Fix previous change.
8227
eacfd7fe
KH
82282000-05-25 Kenichi Handa <handa@etl.go.jp>
8229
46ab33a9
KH
8230 * coding.c (run_pre_post_conversion_on_str): Set point to the
8231 beginning of buffer before calling coding->post_read_conversion.
8232 (decode_coding_string): Give correct args to
8233 run_pre_post_conversion_on_str.
8234 (encode_coding_string): Likewise.
8235
eacfd7fe
KH
8236 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8237 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8238 eight-bit-graphic correctly.
8239
f8569325
DL
82402000-05-24 Kenichi HANDA <handa@etl.go.jp>
8241
8242 * fileio.c (Finsert_file_contents): Even if a file is not found,
8243 execute codes for setting up coding system. Call
8244 after-insert-file-functions unconditionally.
8245
04545643
GM
82462000-05-24 Gerd Moellmann <gerd@gnu.org>
8247
8248 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8249 BSD_PGRPS are not defined.
8250
747d90ea
KH
82512000-05-24 Kenichi Handa <handa@etl.go.jp>
8252
8253 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8254 DESCRIPTION.
8255 (syms_of_charset): Avoid building same strings.
8256
716e3b88
GM
82572000-05-23 Gerd Moellmann <gerd@gnu.org>
8258
8259 * lread.c (Fload): Add a comment about the meaning of
8260 Vuser_init_file being t.
8261
8262 * puresize.h (BASE_PURESIZE): Increase to 675000.
8263
8264 * s/gnu-linux.h (setpgrp): Don't define it here because this
8265 prevents compilation on GNU/Linux systems with glib 2.2.
8266
8267 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8268 as setpgid.
427ec082 8269
9aeb39fa
EZ
82702000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8271
8272 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8273 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8274 version.
8275 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8276
29ced61b
KH
82772000-05-23 Kenichi Handa <handa@etl.go.jp>
8278
52283633 8279 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8280
3d80f24d
KH
8281 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8282
52283633 8283 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8284
29ced61b
KH
8285 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8286
d7e00792
KH
82872000-05-22 Kenichi Handa <handa@etl.go.jp>
8288
c9d80d38
KH
8289 * keyboard.c (read_char): Allow character codes 128..255 to be
8290 handled by input-method-function.
8291
d7e00792
KH
8292 * insdel.c (adjust_markers_for_replace): Fix previous change.
8293 (adjust_after_replace): If PREV_TEXT is nil, call
8294 adjust_markers_for_insert, not adjust_markers_for_replace.
8295
087121cc 82962000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8297
087121cc
GM
8298 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8299 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8300 [HAVE_GRANDPT]: Define.
8301 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8302
8303 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8304 like SYSV_PTYS.
8305
8306 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8307
8308 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8309
c9671f81
KH
83102000-05-20 Kenichi Handa <handa@etl.go.jp>
8311
8312 The following changes are to handle 8-bit characters in a
8313 multibyte buffer/string without facing with byte combining
8314 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8315 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8316
8317 * Makefile.in (fns.o): Depend on charset.h.
8318
8319 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8320 convert it to unibyte.
8321 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8322
8323 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8324 apparent char boundary.
8325 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8326 0x80..0x9F to/from multibyte form.
8327
8328 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8329 to unibyte.
8330
8331 * callproc.c (Fcall_process): Always encode an argument string if
8332 it is multibyte. Setup src_multibyte and dst_multibyte members of
8333 process_coding properly.
ce75fd23 8334
c9671f81
KH
8335 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8336 SPLIT_NON_ASCII_CHAR.
8337
8338 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8339 as is.
8340 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8341
52283633 8342 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8343 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8344 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8345 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8346 and eight-bit-graphic.
8347 (char_to_string): Likewise. Signal an error for too large
8348 character code.
8349 (char_printable_p): Return 0 for 8-bit characters.
8350 (update_charset_table): Update iso_charset_table only when a final
8351 character is non-negative.
8352 (find_charset_in_text): Renamed from find_charset_in_str.
8353 Arguments and return value changed. Callers changed.
8354 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8355 be -1 if CHARSET is used only internally.
8356 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8357 eight-bit-graphic.
8358 (Fcharset_after): Simplified.
8359 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8360 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8361 (multibyte_chars_in_text): Simplified by assuming there's no
8362 invalid multibyte sequence.
52283633
SM
8363 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8364 (str_as_unibyte): New functions.
8365 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8366 (init_charset_once): Initialization for
8367 LEADING_CODE_8_BIT_CONTROL.
8368 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8369 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8370 eight-bit-control and eight-bit-graphic.
8371
52283633
SM
8372 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8373 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8374 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8375 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8376 (CHARSET_REVERSE_CHARSET): Likewise.
8377 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8378 eight-bit-graphic.
8379 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8380 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8381 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8382 encounter an invalid multibyte sequence.
8383 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8384 sequence is always valid.
8385 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8386 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8387 (CHAR_STRING): For 8-bit characters, call char_to_string.
8388 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8389 multibyte sequence is always valid.
8390 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8391 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8392 (str_as_unibyte): Extern them.
c9671f81 8393 (BCOPY_SHORT): Fix a bug.
52283633 8394 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8395 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8396 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8397 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8398
bd4bde7f 8399 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8400 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8401 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8402 (EMIT_BYTES): New macros.
8403 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8404 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8405 macros deleted.
8406 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8407 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8408 check the validity of multibyte sequence.
8409 (decode_coding_emacs_mule): New function.
8410 (encode_coding_emacs_mule): New macro.
8411 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8412 the source.
8413 (DECODE_ISO_CHARACTER): Just return a character code.
8414 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8415 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8416 EMIT_CHAR to produced decoded characters. Exit the loop only by
8417 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8418 block here.
8419 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8420 only position codes for an invalid character.
8421 (encode_designation_at_bol): Return new destination pointer. 5th
8422 arg DSTP is changed to DST.
8423 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8424 from the source by ONE_MORE_CHAR. Don't handle the case of last
8425 block here.
8426 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8427 macros deleted.
52283633
SM
8428 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8429 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8430 TWO_MORE_BYTES to fetch a byte from the source.
8431 (encode_eol): Pay attention to coding->src_multibyte.
8432 (detect_coding, detect_eol): Preserve members src_multibyte and
8433 dst_multibyte.
8434 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8435 (encoding_buffer_size): Set magnification to 3 for all coding
8436 systems that require encoding.
8437 (ccl_coding_driver): For decoding, be sure that the result is
8438 valid multibyte sequence.
8439 (decode_coding): Initialize coding->errors and coding->result.
8440 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8441 and raw-text, always call decode_eol. Handle the case of last
8442 block here. If not coding->dst_multibyte, convert the resulting
8443 sequence to unibyte.
8444 (encode_coding): Initialize coding->errors and coding->result.
8445 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8446 and raw-text, always call encode_eol. Handle the case of last
8447 block here.
8448 (shrink_decoding_region, shrink_encoding_region): Detect cases
8449 that we can't skip data more rigidly.
8450 (code_convert_region): Setup src_multibyte and dst_multibyte
8451 members of coding. For decoding, if the buffer is multibyte,
8452 convert the source sequence to unibyte in advance. For encoding,
8453 if the buffer is multibyte, convert the resulting sequence to
8454 multibyte afterward.
8455 (run_pre_post_conversion_on_str): New function.
8456 (code_convert_string): Deleted and divided into the following two.
8457 (decode_coding_string, encode_coding_string): New functions.
8458 (code_convert_string1, code_convert_string_norecord): Call one of
8459 above.
8460 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8461 MAKE_NON_ASCII_CHAR.
52283633
SM
8462 (Fset_terminal_coding_system_internal)
8463 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8464 and dst_multibyte members.
8465 (init_coding_once): Initialize iso_code_class with new enum
8466 ISO_control_0 and ISO_control_1.
8467
8468 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8469 devided into ISO_control_0 and ISO_control_1.
8470 (struct coding_system): New members src_multibyte, dst_multibyte,
8471 errors, and result. Delete member fake_multibyte.
8472 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8473 nonzero.
8474 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8475 nonzero.
8476
8477 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8478 (Faset): Likewise.
8479
8480 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8481 multibyte form.
8482 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8483 combining occurs.
8484 (Ftranspose_region): Delete codes for handling byte combining.
8485
8486 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8487 dst_multibyte members of coding. On handling REPLACE on unibyte
8488 buffer, convert the result of decode_coding to unibyte. On
8489 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8490 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8491 multibyteness of the source (buffer or string).
8492
8493 * fns.c (concat): Handle 8-bit characters correctly.
8494 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8495 unibyte in the result.
8496 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8497 valid multibyte form in the result.
8498 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8499 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8500 return -1, signal an error.
8501 (base64_encode_1): New arg MULTIBYTE. Get each character by
8502 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8503 character is found, return -1.
8504 (Fbase64_decode_region): Delete codes for handling byte-combining.
8505 Treat each decoded byte as a unibyte character.
8506 (Fbase64_decode_string): Return unibyte string.
8507 (Fcompare_strings, concat, string_byte_to_char): Use
8508 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8509 FETCH_STRING_CHAR_ADVANCE.
8510 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8511 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8512
8513 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8514 SPLIT_NON_ASCII_CHAR.
8515 (fontset_ref_via_base, fontset_set): Likewise
8516
8517 * insdel.c (adjust_markers_for_record_delete): Deleted.
8518 (adjust_markers_for_insert): Argument changed. Caller changed.
8519 (adjust_markers_for_replace): Likewise.
52283633
SM
8520 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8521 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8522 (copy_text): Delete unused local varialbe c_save. For converting
8523 to multibyte, be sure to make all 8-bit characters in valid
8524 multibyte form.
8525 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8526 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8527 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8528 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8529 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8530 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8531 handling byte combining.
8532 (adjust_before_replace): Deleted.
427ec082 8533
c9671f81
KH
8534 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8535 SPLIT_NON_ASCII_CHAR.
8536 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8537 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8538 (Fkey_description): Likewise.
8539
8540 * lread.c (read1): On reading multibyte string, be sure to make
8541 all 8-bit chararacters in valid multibyte form.
8542 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8543
8544 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8545 unconditionally.
8546
8547 * process.c (Fstart_process): GCPRO current_dir before calling
8548 Ffind_operation_coding_system. Encode arguments here.
8549 (create_process): Don't encode arguments here. Setup
8550 src_multibyte and dst_multibyte members of struct coding.
8551 (read_process_output): Setup src_multibyte and dst_multibyte
8552 members of struct coding. If the output is to multibyte buffer,
8553 always decode the output of the process. Adjust the
52283633 8554 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8555 (send_process): Setup coding->src_multibyte according to the
8556 multibyteness of the source.
8557
52283633 8558 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8559 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8560 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8561
52283633 8562 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8563
8564 * w16select.c (Fw16_set_clipboard_data): Setup members
8565 src_multibyte and dst_multibyte of coding. Adjusted for the
8566 change for find_charset_in_str.
8567 (Fw16_get_clipboard_data): Likewise.
8568
8569 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8570 dst_multibyte of coding.
8571 (x_to_w32_font): Likewise.
8572
8573 * w32select.c (Fw32_set_clipboard_data): Setup members
8574 src_multibyte and dst_multibyte of coding. Adjusted for the
8575 change for find_charset_in_str.
8576 (Fw32_get_clipboard_data): Likewise.
8577
8578 * xdisp.c (get_next_display_element): Handle 8-bit characters
8579 correctly.
52283633
SM
8580 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8581 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8582
8583 * xselect.c (selection_data_to_lisp_data): Setup members
8584 src_multibyte and dst_multibyte of coding. Adjusted for the
8585 change for find_charset_in_str.
8586 (lisp_data_to_selection_data): Likewise.
8587
5f64c9e0
GM
85882000-05-19 Gerd Moellmann <gerd@gnu.org>
8589
52283633 8590 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8591
5f64c9e0
GM
8592 * dispextern.h (Vimage_types): Add extern declaration.
8593
8594 * xdisp.c (Vimage_types): Moved here from xfns.c.
8595 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8596
8597 * xfns.c (Vimages_types): Moved to xdisp.c.
8598 (syms_of_xfns): Move `image-types' to xdisp.c.
8599
8600 * w32fns.c (Vimage_types): Removed.
8601 (syms_of_w32fns): Remove `image-types'.
8602
813086ea
KH
86032000-05-18 Kenichi Handa <handa@etl.go.jp>
8604
8605 * fns.c (map_char_table): Pay attention to character number of
8606 charset. Check the validity of charset at the first level. For
8607 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8608 the default value.
8609
8610 * fontset.c: Include "buffer.h".
8611 (fs_load_font): If the face has fontset, record the face ID in
8612 that fontset.
8613 (Finternal_char_font): New function.
8614 (accumulate_font_info): New function.
8615 (Ffontset_info): Rewritten for the new fontset implementation.
8616 (syms_of_fontset): Register Vdefault_fontset in the first element
8617 of Vfontset_table. Include Vdefault_fontset in
8618 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8619 function.
8620
bdaebbf0
DL
86212000-05-16 Dave Love <fx@gnu.org>
8622
8623 * m/iris5d.h: Deleted -- unused.
8624
cb613bb8
GM
86252000-05-16 Gerd Moellmann <gerd@gnu.org>
8626
b15f3b77
GM
8627 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8628 `invalid' instead of `illegal'.
8629
8630 * indent.c (Fmove_to_column): When ending within a tab, insert
8631 spaces first so that markers at the end of the tab get adjusted.
8632
835c1b36
GM
8633 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8634 buffer list that wasn't selected in that frame.
8635
cb613bb8
GM
8636 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8637 is needed on mescaline, use a 2 char prefix, and call
8638 make_temp_name with second arg non-zero.
8639
8640 * fileio.c (make_temp_name): New function, extracted from
8641 Fmake_temp_name.
8642 (Fmake_temp_name): Use it.
8643
f685bea9
EZ
86442000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8645
52283633 8646 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8647
a1b8d58b
GM
86482000-05-15 Gerd Moellmann <gerd@gnu.org>
8649
8650 * Makefile.in (lisp): Add env.elc.
8651
8652 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8653
a265079f
GM
86542000-05-12 Gerd Moellmann <gerd@gnu.org>
8655
8656 * search.c (Freplace_match): Handle case of `\N' in the
8657 replacement when there's no group N.
8658
da4496b6
GM
86592000-05-11 Gerd Moellmann <gerd@gnu.org>
8660
0ace421a
GM
8661 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8662 of the message to message_dolog.
8663
1172eb8d
GM
8664 * keyboard.c (read_char): Don't clear current message for help
8665 events; let the code handling help events handle this. Change
8666 code detecting help events that should be ignored.
8667
da4496b6
GM
8668 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8669 we're interating over a string.
8670
0623e40f
DL
86712000-05-09 Dave Love <fx@gnu.org>
8672
8673 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8674 that offset before writing. Move gcpro region past call of
8675 Ffile_regular_p.
8676
bae2503b
DL
86772000-05-04 Dave Love <fx@gnu.org>
8678
8679 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8680
ec82fb2f
GM
86812000-05-04 Gerd Moellmann <gerd@gnu.org>
8682
8683 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8684 of inserted characters when BUF equals the current buffer, and PT
8685 is in front of or equal to FROM.
8686
cbf18892
GM
86872000-05-03 Gerd Moellmann <gerd@gnu.org>
8688
4ff40dd0
GM
8689 * xdisp.c (handle_single_display_prop): If display property value
8690 is invalid, or something not supported on the frame, restore
8691 iterator's position to what it was initially. Make sure to return
8692 0 for invalid and unsupported property values.
8693
cbf18892
GM
8694 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8695 that x_per_char_metric returns null.
8696
1b0672c3
GM
86972000-05-02 Gerd Moellmann <gerd@gnu.org>
8698
576da55d
GM
8699 * xterm.h (struct face): Add forward declaration.
8700 (struct image): Ditto.
8701 (image_ascent): Add prototype.
8702
8703 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8704 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8705 image_ascent instead of using IMAGE_ASCENT.
8706
8707 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8708 (IMAGE_ASCENT): Removed.
8709
8710 * xfns.c (Qcenter): New variable.
8711 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8712 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8713 (image_ascent): New function.
8714 (lookup_image): Recognize `:ascent center'.
8715 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8716 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8717 (xbm_load): Don't set image's ascent here.
8718 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8719 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8720 check ascent values here.
8721 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8722 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8723 (syms_of_xfns): Initialize Qcenter.
8724
1b0672c3
GM
8725 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8726 to the limits, increase the limits.
8727
0d7811ed
KH
87282000-05-01 Kenichi Handa <handa@etl.go.jp>
8729
8730 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8731 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8732
a943a5ca
GM
87332000-04-28 Gerd Moellmann <gerd@gnu.org>
8734
8735 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8736 taller than the window.
8737
5dba1e29
KH
87382000-04-28 Kenichi Handa <handa@etl.go.jp>
8739
8740 * xfaces.c (realize_x_face): Fix the argument of the second
8741 xassert. BASE_FACE may not be a face for ASCII.
8742
353964e3
GM
87432000-04-27 Gerd Moellmann <gerd@gnu.org>
8744
c76e04a8
GM
8745 * print.c (print_object): Treat print-length < 0 as nil.
8746
8747 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8748
8749 * s/freebsd.h (TERMCAP_OBJ): Removed.
8750 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8751
8752 * lread.c (read1): Don't treat period followed by certain
8753 characters as symbol start.
8754
8755 * xfns.c (slurp_file): New function.
8756 (xbm_image_p): Handle case of in-memory XBM files.
8757 (xbm_scan): Rewritten to work on memory buffers instead of files.
8758 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8759 Work on memory buffers instead of files. If DATA is null test
8760 if buffer looks like an in-memory XBM file.
8761 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8762 memory buffers instead of files.
8763 (xbm_file_p): New function.
8764 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8765
353964e3
GM
8766 * lread.c (end_of_file_error): New function.
8767 (read1): Call it instead of signaling `end-of-file' directly.
8768
427ec082 8769 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8770 with Fprinc instead of Fprin1.
8771
24d744ac
KR
87722000-04-26 Ken Raeburn <raeburn@gnu.org>
8773
8774 * window.c (freeze_window_start): Check that minibuffer scroll
8775 window isn't nil before extracting the window structure pointer
8776 from it.
8777
8778 * undo.c (record_delete): If we hit the end of the undo list, stop
8779 picking elements apart.
8780
7464346d
GM
87812000-04-26 Gerd Moellmann <gerd@gnu.org>
8782
8783 * xdisp.c (display_line): If lines are continued, restore
8784 iterator's ascent/descent information to the values before the
8785 first glyph not fitting on the line.
8786
612839b6
GM
87872000-04-25 Gerd Moellmann <gerd@gnu.org>
8788
8789 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8790 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8791
8792 * dispnew.c (increment_matrix_positions): Renamed from
8793 increment_glyph_matrix_buffer_positions.
8794 (increment_row_positions): Renamed from
8795 increment_glyph_row_buffer_positions.
8796
8797 * dispextern.h: Change names of renamed functions from dispnew.c
8798 in prototypes.
8799
cc181e95
GM
88002000-04-24 Gerd Moellmann <gerd@gnu.org>
8801
abfcc168
GM
8802 * fileio.c (Fdo_auto_save): Create directories for auto-save
8803 list file if necessary.
8804
cc181e95
GM
8805 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8806 from buffer or frame.
8807 (automatic_hscrolling_p): New variable.
8808 (hscroll_windows): Scroll windows horizontally only if automatic
8809 hscrolling is allowed.
8810 (syms_of_xdisp): New variable `automatic-hscrolling'.
8811
8812 * frame.h (struct frame): Add member extra_line_spacing.
8813
8814 * xfns.c (x_set_line_spacing): New function.
8815 (Fx_create_frame): Set line spacing from resources.
8816 (Qline_spacing): New variable.
8817 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8818
cc181e95
GM
8819 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8820
8821 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8822 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8823 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8824 extra_line_spacing from default value.
8825 (init_buffer_once): Initialize default value of extra_line_spacing.
8826
8827 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8828 and extra3.
8829
8830 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8831 prompt_width. Add extra line spacing.
8832
8833 * term.c (produce_glyphs): Remove reference to struct it's
8834 prompt_width.
8835
8836 * dispextern.h (struct it): Remove member prompt_width, add
8837 extra_line_spacing.
8838
58827478
GM
88392000-04-22 Gerd Moellmann <gerd@gnu.org>
8840
8841 * dispnew.c (update_frame_line): When writing a whole line, make
8842 sure cursor is in the right row afterwards, otherwise a use of
8843 capability `ch' in cmgoto might leave the cursor in the row below.
8844
25a87f42
GM
88452000-04-21 Gerd Moellmann <gerd@gnu.org>
8846
8847 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8848
8849 * keyboard.c (timer_check): Fix typo in comment.
8850
54edf5c2
KH
88512000-04-21 Kenichi Handa <handa@etl.go.jp>
8852
8853 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8854 name change: ch -> character.
8855
3a64eef5
GM
88562000-04-20 Gerd Moellmann <gerd@gnu.org>
8857
8858 * keyboard.c (echo_message_buffer): New variable.
8859 (echo_now): Set echo_message_buffer to the echo area buffer used
8860 to display the echo.
8861 (cancel_echoing): Reset echo_message_buffer to nil.
8862 (read_char): Code rewritten that handles canceling an echo or
8863 echoing a dash, respectively.
8864
8865 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8866 directory doesn't exist.
8867
6142fdcb
DL
88682000-04-19 Dave Love <fx@gnu.org>
8869
8870 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8871 (concat): Don't allow numeric args.
8872 (Fconcat): Doc change.
6142fdcb 8873
ac6b5352
SM
88742000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8875
8876 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8877 instead define end_match(1|2) more carefully.
8878 Use GET_CHAR_BEFORE_2 for `begline'.
8879
cb9215e4
GM
88802000-04-19 Gerd Moellmann <gerd@gnu.org>
8881
5e3dac3f
GM
8882 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8883 on 64-bit systems where NULL is defined as `0'.
8884
8885 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8886 the `variable argument list' to make it work on Alpha.
8887
cb9215e4
GM
8888 * m/alpha.h (_LP64) [!_LP64]: Define.
8889 (ORDINARY_LINK): Define for NetBSD.
8890
8891 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8892
f532dca0
DL
88932000-04-19 Dave Love <fx@gnu.org>
8894
c750667e
DL
8895 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8896 change.
8897
8898 * Makefile.in (LIBS): Don't use.
8899 (GETLOADAVG_OBJ): Define again.
8900 (otherobj): Add GETLOADAVG_OBJ.
8901
f532dca0
DL
8902 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8903
1c7e22fd
GM
89042000-04-18 Gerd Moellmann <gerd@gnu.org>
8905
f6d3257b
GM
8906 * lread.c (read_filtered_event): Cancel and start busy cursor.
8907
427ec082 8908 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8909 that the per-character metrics may be null.
8910
e10f64e7
GM
89112000-04-17 Gerd Moellmann <gerd@gnu.org>
8912
0daee095
GM
8913 * buffer.c (clone_per_buffer_values): New function.
8914 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8915 clone_per_buffer_values if CLONE is not nil.
8916
e10f64e7
GM
8917 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8918
38687d43
DL
89192000-04-16 Dave Love <fx@gnu.org>
8920
8921 * Makefile.in: Remove obsolete localcpp stuff.
8922 (GETLOADAVG_OBJ): Don't define.
8923 (obj): Move LIBOBJS...
8924 (otherobj): ... to here.
8925 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8926 whitespace-only lines after the continuation (Irix).
8927
c21c7262
GM
89282000-04-14 Gerd Moellmann <gerd@gnu.org>
8929
8930 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8931
8932 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8933
314767c0
DL
89342000-04-14 Dave Love <fx@gnu.org>
8935
8936 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8937 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8938 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8939 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8940 NLIST_STRUCT.
8941
8942 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8943 autoconfiscated HAVE_GETLOADAVG.
8944
8945 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8946 BROKEN_MKTIME.
8947
a2522dca
GM
89482000-04-14 Gerd Moellmann <gerd@gnu.org>
8949
8950 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8951 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8952
33744b5d
DL
89532000-04-14 Dave Love <fx@gnu.org>
8954
c21c7262 8955 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8956 (INTERVAL_SRC): Convert to make variable.
8957 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8958 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8959 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8960 add LIBOBJS.
8961 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8962 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8963 (shortlisp): Add facemenu, float-sup, frame.
8964 (SOME_MACHINE_LISP): Remove them from here.
8965 (LIBES): Change unused LDLIBS to autoconf LIBS.
8966
8967 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8968
9d3d5916
KH
89692000-04-14 Kenichi Handa <handa@etl.go.jp>
8970
8971 * composite.c (update_compositions): If FROM and TO are not in a
8972 valid range, do nothing.
8973
198e3c7a
GM
89742000-04-13 Gerd Moellmann <gerd@gnu.org>
8975
52283633 8976 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8977
52283633 8978 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8979
8980 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8981 as TERMCAP_OBJ.
8982
055a28c9
EZ
89832000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8984
8985 * fileio.c (a_write): Remove redundant semi-colons.
8986 (e_write): Return -1 if failed to write all the data.
8987 This fixes the changes made at 1999-12-15.
8988
f5c75033
DL
89892000-04-12 Dave Love <fx@gnu.org>
8990
8991 * fns.c (mapcar1): Test for null vals to support mapc.
8992 (Fmapc): New function.
8993
0c3cfc51
EZ
89942000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8995
8996 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8997 (IT_frame_up_to_date): Support the buffer local value of
8998 cursor-type, if defined.
8999
33465a31
DL
90002000-04-10 Dave Love <fx@gnu.org>
9001
9002 * editfns.c (preceding-char, following-char): Doc fix.
9003
6ed56568
KR
90042000-04-10 Ken Raeburn <raeburn@gnu.org>
9005
9006 * Makefile.in (temacs): Revert 2000-03-12 change.
9007
7cf80d4e
JR
90082000-04-10 Jason Rumney <jasonr@gnu.org>
9009
9010 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
9011
34f3f342
GM
90122000-04-10 Gerd Moellmann <gerd@gnu.org>
9013
1a1b1895
GM
9014 * xdisp.c (setup_echo_area_for_printing): Choose an echo
9015 area buffer, if it's not set up yet.
9016
34f3f342
GM
9017 * indent.c (compute_motion): Set immediate_quit.
9018
be0dbdab
GM
90192000-04-09 Gerd Moellmann <gerd@gnu.org>
9020
52283633 9021 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
9022 (realize_tty_face): Suppress boldness if colors are the inverse of
9023 the default colors, and tty_suppress_bold_inverse_default_colors_p
9024 is set.
9025 (Ftty_suppress_bold_inverse_default_colors): New function.
9026 (syms_of_xfaces): Defsubr it.
9027
be0dbdab
GM
9028 * buffer.c (Frestore_buffer_modified_p): New function.
9029 (syms_of_buffer): Defsubr it.
9030
e8413c3b
KR
90312000-04-08 Ken Raeburn <raeburn@gnu.org>
9032
87f67317
KR
9033 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
9034 charset id (int) argument, not a charset (Lisp_Object).
9035
e8413c3b
KR
9036 * coding.h (code_convert_string): Declare.
9037 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
9038 object, as the fourth argument to code_convert_string.
9039
52283633 9040 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
9041 (Fset_fontset_font): Use EQ to compare lisp objects.
9042
7c752c80
KR
90432000-04-05 Ken Raeburn <raeburn@gnu.org>
9044
c0333abc
KR
9045 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
9046 a pointer that looks like a lisp object.
9047 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
9048 zero, instead see whether it's an integer object, since they can't
9049 have intervals.
9050 (GET_INTERVAL_OBJECT): Simply assign to the destination.
9051
52283633
SM
9052 * dispnew.c (allocate_matrices_for_frame_redisplay)
9053 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9054 to convert between (unsigned) int values and lisp integers.
9055 * keyboard.c (read_key_sequence): Likewise.
9056 * lread.c (substitute_object_recurse): Likewise.
9057 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9058 * minibuf.c (do_completion, Fminibuffer_complete_word)
9059 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9060 * term.c (produce_special_glyphs): Likewise.
9061
9062 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9063 * print.c (print_preprocess, print_object): Likewise.
9064
9065 * search.c (compile_pattern): Use NILP when checking for nil.
9066
74e49b38
KR
9067 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9068 __OPTIMIZE__]: Provide a GNU C macro version that handles
9069 lisp-object unions.
9070 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9071 field, to better cope with ENABLE_CHECKING and calls that modify a
9072 Lisp_Object using its old value.
9073
685e5ed2
GM
90742000-04-04 Gerd Moellmann <gerd@gnu.org>
9075
c407c570
GM
9076 * window.c (compare_window_configurations): Signal an error
9077 if parameters C1 or C2 aren't window configurations.
9078
685e5ed2
GM
9079 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9080 AFTER_POTENTIAL_GC calls around calls to functions that can
9081 signal an error and thus invoke the debugger.
9082
587a49ab
GM
90832000-04-03 Gerd Moellmann <gerd@gnu.org>
9084
62f20204
GM
9085 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9086 an error if decoding fails.
9087
587a49ab
GM
9088 * keyboard.c (lispy_mouse_names): Variable removed.
9089 (Vlispy_mouse_stem): New variable.
9090 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9091 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9092 for any mouse button number. Increase size of mouse_syms and
9093 button_down_location as needed. Call modify_event_symbol with
9094 different arguments.
9095 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9096 Call modify_event_symbol with different arguments.
9097 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9098 for any button number. Call modify_event_symbol with different
9099 arguments.
9100 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9101 Accept a string for NAME_ALIST_OR_STEM.
9102
9103 * lisp.h (larger_vector): Add prototype.
9104
9105 * fns.c (larger_vector): Make externally visible.
9106
9107 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9108
2d1675e4
SM
91092000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9110
9111 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9112 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9113 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9114 we are between str1 and str2.
9115 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9116 (PATFETCH): Use `TRANSLATE'.
9117 (PATFETCH_RAW): Fetch multibyte char if applicable.
9118 (PATUNFETCH): Remove.
9119 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9120 When writing a char, write it directly into the pattern buffer rather
9121 than going needlessly through a temp char-array.
9122 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9123 multibyte magic and remove the useless `#ifdef emacs'.
9124 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9125 buffer.
9126
9127 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9128 conditional on `emacs'.
9129
9130 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9131
cc2d8c6b
KR
91322000-04-01 Ken Raeburn <raeburn@gnu.org>
9133
9134 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9135 non-union-type versions of XMARK and friends here, because XMARK
9136 and friends won't work on an integer field if NO_UNION_TYPE is not
9137 defined.
52283633 9138 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9139
52283633 9140 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9141 (syms_of_composite): Delete local var NARGS, pass an int as first
9142 argument to Fmake_hash_table.
9143
2387b382
KR
9144 * editfns.c (text_property_stickiness): Use NILP to test
9145 Lisp_Object boolean value.
9146 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9147 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9148 problems reading from and changing the same lisp value in an
9149 XSETSTRING call.
9150
27660e89
GM
91512000-04-01 Gerd Moellmann <gerd@gnu.org>
9152
9153 * term.c (TN_no_color_video): New variable.
9154 (term_init): Intitialize TN_no_color_video.
9155 (enum no_color_bit): New enumeration.
9156 (MAY_USE_WITH_COLORS_P): New macro.
9157 (turn_on_face): Use it to determine if attributes may be used
9158 combined with colors.
9159
3578db3c
KR
91602000-04-01 Ken Raeburn <raeburn@gnu.org>
9161
9162 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9163 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9164 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9165 proper accessor macros.
9166 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9167 (grow_mini_window): Fix typo getting int value of root->height.
9168
6fc556fd
KR
9169 * xdisp.c (compute_string_pos): Fix order of arguments to
9170 string_pos_nchars_ahead.
9171 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9172 count arg to variable-arg routines like Frun_hook_with_args and
9173 Fformat.
587a49ab
GM
9174 (back_to_previous_visible_line_start)
9175 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9176 fixed-arg routines like Fget_char_property and Fmake_string.
9177 (reconsider_clip_changes): Use XINT when comparing integer lisp
9178 objects, or passing them as int arguments.
587a49ab
GM
9179 (mark_window_display_accurate, insert_left_trunc_glyphs)
9180 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9181 storing or passing integer values as lisp objects.
9182 (set_cursor_from_row, highlight_trailing_whitespace): Use
9183 INTEGERP, not implicit test against zero, for glyph object.
9184 (try_window_id): Don't use make_number when we want an int value.
9185
9186 * xfaces.c (xlfd_symbolic_value): Make last argument a
9187 Lisp_Object, to be consistent with callers.
9188 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9189 (lface_hash): Apply XFASTINT to lisp values before folding in.
9190
9191 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9192 fill in window width and height. Pass an int, not a lisp object,
9193 as first arg to Finsert.
9194
6e7b2457
GM
91952000-04-01 Gerd Moellmann <gerd@gnu.org>
9196
610d841e
GM
9197 * xfaces.c (realize_basic_faces): Block input while realizing
9198 the faces.
9199
6e7b2457
GM
9200 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9201
9202 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9203
aa110c0c
GM
92042000-03-31 Gerd Moellmann <gerd@gnu.org>
9205
9206 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9207 or ASCII, handle case that per-char metric is null.
aa110c0c 9208
8801a864
KR
92092000-03-30 Ken Raeburn <raeburn@gnu.org>
9210
c6129d7e
KR
9211 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9212
52283633
SM
9213 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9214 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9215 pointer, using eassert.
9216 * frame.h (XFRAME): Likewise.
9217
52283633
SM
9218 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9219 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9220 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9221 * data.c (set_internal): Likewise.
52283633
SM
9222 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9223 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9224 * fileio.c (auto_save_1): Likewise.
9225 * insdel.c (check_markers): Likewise.
9226 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9227 * undo.c (record_insert): Likewise.
9228 * vmsproc.c (child_sig): Likewise.
9229 * window.c (unshow_buffer, window_loop): Likewise.
9230 * xterm.c (x_erase_phys_cursor): Likewise.
9231
8e7af858
GM
92322000-03-30 Gerd Moellmann <gerd@gnu.org>
9233
9234 * xfns.c (free_image_cache): Free the cache structure itself
9235 last, after all its members have been freed.
9236
9237 * lisp.h (xstrdup): Add prototype.
9238
9239 * alloc.c (xstrdup): Moved here from xfaces.c.
9240 (allocating_for_lisp): Variable removed.
52283633 9241 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9242
9243 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9244 of Fsymbol_value.
9245 (xstrdup): Moved to alloc.c.
9246
e0b8c689
KR
92472000-03-29 Ken Raeburn <raeburn@gnu.org>
9248
b96f9fb7
KR
9249 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9250
9251 * emacs.c (main): Fix sense of no-loadup test.
9252
e0b8c689
KR
9253 * config.in (ENABLE_CHECKING): Undef.
9254
9255 * lisp.h (struct interval): Replace "parent" field with a union of
9256 interval pointer and Lisp_Object; add new bitfield to use as
9257 discriminant. Change other flag fields to bitfields.
9258 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9259 is defined and the supplied test fails, print a message and abort.
9260 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9261
9262 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9263 pointers; abort if the value looks like a lisp object.
52283633
SM
9264 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9265 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9266 Modify for new interval parent definition.
9267
52283633
SM
9268 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9269 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9270 addressable lisp object in the interval structure.
9271 (die): New function.
9272 (suppress_checking): New variable.
9273
9274 * intervals.c (interval_start_pos): Just return 0 if there's no
9275 parent object.
9276
f83c5440
GM
92772000-03-29 Gerd Moellmann <gerd@gnu.org>
9278
9279 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9280 and earlier Emacs versions.
9281
9282 * keyboard.c (Ftop_level): Cancel busy-cursor.
9283
9284 * eval.c (call_debugger): Cancel busy-cursor.
9285
fdce64ff
KH
92862000-03-29 Kenichi Handa <handa@etl.go.jp>
9287
9288 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9289 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9290
f6a3f532
SM
92912000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9292
9293 * regex.c (analyse_first): New function obtained by ripping out most
9294 of re_compile_fastmap and generalizing it a little bit so that it
9295 can also just return whether a given (sub)pattern can match the empty
9296 string or not.
9297 (regex_compile): Use `analyse_first' to decide whether the loop-check
9298 needs to be done or not for *, +, *? and +? (the loop check is costly
9299 for non-greedy repetition).
9300 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9301
e9b309ac
DL
93022000-03-28 Dave Love <fx@gnu.org>
9303
52283633 9304 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9305
e9b309ac
DL
9306 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9307
ed0767d8
SM
93082000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9309
9310 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9311 an expression.
9312 (enum re_opcode_t): Update description of succeed_n.
9313 (PATFETCH): Always define.
9314 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9315 operators, char classes, shy-groups and intervals).
9316 Optimize special cases of intervals so as to only use succeed_n and
9317 jump_n when really needed.
9318 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9319 that we don't have to handle the special cases any more.
9320 Simplify on_failure_jump handling as well.
9321
e11e7e46
JR
93222000-03-28 Jason Rumney <jasonr@gnu.org>
9323
9324 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9325
88faab89
GM
93262000-03-27 Gerd Moellmann <gerd@gnu.org>
9327
182ff242
GM
9328 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9329
9330 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9331
182ff242
GM
9332 * alloc.c (mark_maybe_object): New function.
9333 (mark_memory): Use it.
9334 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9335 (setjmp_tested_p, longjmp_done): New variables.
9336 (test_setjmp): New function.
9337 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9338 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9339
c1005d06
GM
9340 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9341 to DEC_TEXT_POS and INC_TEXT_POS.
9342
9343 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9344 with parameter MULTIBYTE_P.
9345
52283633 9346 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9347
7439e5b9 9348 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9349 buffers because it looks for multibyte character byte sequences
9350 which don't exist in unibyte text.
7439e5b9 9351
d9c545da
GM
9352 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9353
11fd416e 9354 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9355 [DEBUG_X_COLORS]: New functions.
9356 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9357
9358 * xfns.c (x_set_cursor_color): Get color reference counts right.
9359
9360 * xterm.c (x_copy_color): New function.
9361 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9362
9363 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9364 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9365 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9366 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9367 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9368 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9369 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9370 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9371 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9372 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9373
11fd416e
GM
9374 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9375 names for handling per-buffer variables.
d9c545da
GM
9376
9377 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9378 instead of MAX_BUFFER_LOCAL_VARS.
9379 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9380
9381 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9382
88faab89
GM
9383 * xfns.c (x_specified_cursor_type): New function.
9384 (x_set_cursor_type): Use it.
9385
9386 * buffer.h (struct buffer): Add cursor_type.
9387
d80f42b7
SM
93882000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9389
9390 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9391 (print_partial_compiled_pattern, re_compile_fastmap):
9392 Handle new opcode.
d80f42b7
SM
9393 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9394 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9395 executing it as well as when popping it off the stack to find infinite
9396 loops in non-greedy repetition operators.
9397
89e80928
GM
93982000-03-26 Gerd Moellmann <gerd@gnu.org>
9399
3d4ff2dd
GM
9400 * doc.c (Qfunction_documentation): New variable.
9401 (syms_of_doc): Initialize Qfunction_documentation.
9402 (Fdocumentation): If FUNCTION is a symbol with non-nil
9403 `function-documentation' property, return a documentation derived
9404 from that.
9405
bd96bd79
GM
9406 * buffer.c (syms_of_buffer): Add default-cursor-type.
9407 (init_buffer_once): Don't let cursor_type have a local value
9408 in every buffer.
9409
19d1bc27
GM
9410 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9411 on buffer-local value of cursor_type.
9412 (x_draw_bar_cursor): Add parameter WIDTH.
9413
9414 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9415 (init_buffer_once): Set default cursor_type value to t.
9416 Mark cursor_type as local everywhere.
9417 (syms_of_buffer): New per-buffer variable cursor-type.
9418
89e80928
GM
9419 * buffer.h (struct buffer): Remove member local_var_flags,
9420 add local_flags.
9421 (MAX_BUFFER_LOCAL_VARS): New macro.
9422 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9423 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9424 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9425 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9426
52283633 9427 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9428
9429 * category.c (Fset_category_table): Use new macros for per-buffer
9430 variables.
9431
9432 * buffer.c (buffer_permanent_local_flags): Make a char array.
9433 (max_buffer_local_idx): New variable.
9434 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9435 for new handling of per-buffer variables.
9436 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9437 (init_buffer_once): Initialize per-buffer vars differently.
9438 Set max_buffer_local_idx.
9439
9440 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9441 variables.
9442
52283633 9443 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9444
9445 * data.c (do_symval_forwarding, store_symval_forwarding)
9446 (find_symbol_value, set_internal, default_value, Fset_default)
9447 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9448 per-buffer variables.
9449
9450 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9451
9a0dd3dc
GM
94522000-03-24 Gerd Moellmann <gerd@gnu.org>
9453
b68c375f
GM
9454 * xterm.c (x_term_init): Unblock input around call1 of
9455 Qvendor_specific_keysyms.
9456
9a0dd3dc
GM
9457 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9458 (find_defun_start): Consider an open parenthesis in column 0
9459 a defun start only if open_paren_in_column_0_is_defun_start is set.
9460 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9461
7973e637
SM
94622000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9463
9464 * eval.c (Fautoload): Add entry in load-history (if after dump).
9465 * lread.c (load-history): Update docstring.
9466
39210e90
GM
94672000-03-24 Gerd Moellmann <gerd@gnu.org>
9468
9469 * indent.c (Fvertical_motion): Always use the current buffer.
9470 Temporarily change the window's buffer, if necessary.
9471
72db3ab5
GM
94722000-03-23 Gerd Moellmann <gerd@gnu.org>
9473
9474 * xterm.c (fast_find_position): Make sure not to consider rows
9475 not visible in the window.
9476
990b2375
SM
94772000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9478
9479 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9480 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9481
ff4df011
JR
94822000-03-22 Jason Rumney <jasonr@gnu.org>
9483
9484 * w32menu.c (single_submenu): Set help string to NULL if none.
9485 (w32_menu_show): Set help string correctly.
9486 (add-menu-item): Set help string in MIIM_DATA for menu item.
9487 Load SetMenuItemInfoA explicitly.
9488 (w32_menu_display_help): New function.
427ec082 9489
ff4df011
JR
9490 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9491 (QCdata): Moved to xdisp.c.
9492
9493 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9494 (Vw32_charset_to_codepage_alist): Removed.
9495 (Vw32_charset_info_alist): New variable.
52283633
SM
9496 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9497 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9498 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9499 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9500 with TODO comment.
9501 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9502 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9503 Define Vw32_charset_info_alist and w32_charset symbols.
9504
95052000-03-22 Jason Rumney <jasonr@gnu.org>
9506
9507 * makefile.nt (w32bdf.obj): Update dependencies.
9508
9509 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9510
9511 * w32fns.c: Include fontset.h after dispextern.h.
9512 (Fx_create_frame): Do not create fontset.
9513 (w32_load_system_font): Doc fix.
9514 (Fx_close_connection): Free full_name if it is not shared.
9515
9516 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9517 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9518 Callers updated.
ff4df011
JR
9519 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9520 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9521 (w32_font_is_double_byte): New function, needs body.
9522 (x_append_glyph): Set glyph->glyph_not_available_p.
9523 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9524 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9525 character, convert it to a unibyte character.
9526 (struct glyph_string): Delete member `charset'.
9527 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9528 calculating it is found.
9529 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9530 the case that per char metric is not available correctly.
9531 (x_fill_glyph_string): Handle the case that the specific glyph is
9532 not available correctly.
9533 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9534 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9535 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9536 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9537 fontset. Don't call FS_LOAD_FONT.
9538
439d5cb4
KR
95392000-03-22 Ken Raeburn <raeburn@gnu.org>
9540
9541 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9542 (INT_LISPLIKE): New macro.
9543 (NULL_INTERVAL_P): Use it.
52283633
SM
9544 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9545 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9546 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9547
9548 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9549 explicit references to "parent" field of struct interval and
9550 associated unclean type conversions.
52283633
SM
9551 * intervals.c (create_root_interval, root_interval, rotate_right)
9552 (rotate_left, balance_possible_root_interval, split_interval_right)
9553 (split_interval_left, interval_start_pos, find_interval)
9554 (next_interval, previous_interval, update_interval)
9555 (adjust_intervals_for_insertion, delete_node, delete_interval)
9556 (adjust_intervals_for_deletion, merge_interval_right)
9557 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9558 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9559 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9560 Likewise.
9561 * syntax.c (update_syntax_table): Likewise.
9562
9563 * intervals.c (reproduce_tree_obj): New function, like
9564 reproduce_tree but takes a Lisp_Object for the parent. Declare
9565 with prototype.
9566 (graft_intervals_into_buffer): Use it when appropriate.
9567 (reproduce_tree): Declare with prototype.
9568 (balance_possible_root_interval): Check that the parent is a lisp
9569 object before trying to examine its type.
9570
ee1c5b21
GM
95712000-03-22 Gerd Moellmann <gerd@gnu.org>
9572
9573 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9574 as strings only if both are known to be strings.
9575
9576 * s/openbsd.h (LIBS_TERMCAP): Undef.
9577
1fb352e0
SM
95782000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9579
9580 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9581 definitions for non-Emacs compilation.
9582 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9583 outside of `#ifdef emacs'.
9584 (print_partial_compiled_pattern): Update.
9585 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9586 (re_compile_fastmap): Merge handling of charset and charset_not (for
9587 emacs and non-emacs compilation as well).
9588 Similarly for (not)categoryspec and (not)syntaxspec.
9589 Don't use the fastmap when reaching `anychar' since the added
9590 complexity is not justified.
9591 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9592 and (not)syntaxspec. Merge (not)categoryspec.
9593
fdaa1f77
KH
95942000-03-22 Kenichi Handa <handa@etl.go.jp>
9595
52283633
SM
9596 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9597 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9598 --without-x.
fdaa1f77 9599
d152fb46
DL
96002000-03-21 Dave Love <fx@gnu.org>
9601
9602 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9603 doc string.
9604
d2cafc8c
GM
96052000-03-21 Gerd Moellmann <gerd@gnu.org>
9606
9607 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9608 (lface_fully_specified_p): Don't check contents of
9609 LFACE_FONT_INDEX because that attribute is optional.
9610 (realize_x_face): Remove now unwarranted xassert.
9611
9111d4b5
KH
96122000-03-21 Kenichi HANDA <handa@etl.go.jp>
9613
9614 The following changes are to make font selection based on
9615 characters, not charset. In addition, they recover fontset
9616 facilities while utilizing the new font selection mechanism.
9617
6c4bfdc0
KH
9618 * Makefile.in (fontset.o): Depend on dispextern.h.
9619
9620 * alloc.c (mark_face_cache): Don't mark face->registry.
9621
9111d4b5
KH
9622 * dispextern.h (struct glyph): New member glyph_not_available_p.
9623 Use 22 bits for face_id.
9624 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9625 (struct face): Delete member registry, new member ascii_face.
9626 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9627 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9628 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9629 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9630
9631 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9632 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9633 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9634 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9635 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9636 (fs_free_face_fontset, fontset_font_pattern)
9637 (face_suitable_for_char_p, face_for_char)
9638 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9639 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9640 (FS_LOAD_FACE_FONT): New macro.
9641
9642 * fontset.c: All codes rewritten or adjusted for the change of
9643 fontset implementation. Now fontset is represented by char table.
52283633
SM
9644 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9645 Variables removed.
9111d4b5 9646 (my_strcasecmp): Function removed.
52283633 9647 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9648 (AREF, ASIZE): New macros.
52283633
SM
9649 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9650 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9651 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9652 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9653 (fontset_id_valid_p, font_family_registry, fontset_name)
9654 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9655 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9656 New functions.
9657 (fs_load_font): New arg FACE. Caller changed.
9658 (fs_query_fontset): Argument changed. Caller changed.
9659 (Fquery_fontset): call fs_query_fontset.
9660 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9661 Functions removed.
52283633
SM
9662 (clear_fontset_elements, check_registry_encoding)
9663 (check_fontset_name): New functions.
9111d4b5
KH
9664 (syms_of_fontset): Set char-table-extra-slots property of fontset
9665 to 3. Staticpro and initialize Vfontset_table and
9666 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9667
9668 * frame.h (struct frame): Member `fontset_data' removed.
9669 (FRAME_FONTSET_DATA): Macro removed.
9670
9671 * frame.c (make_frame): Don't allocate f->fontset_data.
9672 (Fdelete_frame): Don't free f->fontset_data.
9673
6c4bfdc0
KH
9674 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9675
9111d4b5
KH
9676 * xdisp.c (charset_at_position): Function removed.
9677 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9678 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9679 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9680 Likewise.
9681 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9682 FACE_FOR_CHARSET.
52283633
SM
9683 (get_next_display_element, append_space)
9684 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9685
9686 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9687 Variables removed.
9688 (clear_font_table, frame_update_line_height, load_face_font):
9689 Adjusted for the change of fontset implementation.
9690 (load_face_fontset_font): Function removed.
9691 (pixel_point_size): New function.
9692 (font_list): Argument type changed. Caller changed.
9693 (LFACE_FONT): New macro.
9694 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9695 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9696 Lisp_Object. Determine the font name by actually loading a font
9697 by the specified pattern. Set LFACE_FONT (lface) to the specified
9698 pattern. Even if a font is not found, don't try alternatives.
9699 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9700 (set_font_frame_param): If `font' is specified in lface, use it.
9701 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9702 (lface_same_font_attributes_p): Likewise.
9703 (make_realized_face): Arguent changed. Caller changed. Set
9704 face->ascii_face to face itself.
9705 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9706 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9707 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9708 (free_realized_multibyte_face): New function.
9709 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9710 changed. Caller changed.
9711 (try_font_list): Argument type changed.
9712 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9713 (choose_face_font): Argument changed. Handle fontset properly.
9714 (choose_face_fontset_font): Function removed.
9715 (realize_default_face, realize_named_face): Don't remove the
9716 former face here.
9717 (realize_face): Argument changed. Caller changed. Remove face
52283633 9718 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9719 (realize_x_face): Argument changed. Caller changed. For a
9720 multibyte character, share fontset with base_face. For a single
52283633 9721 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9722 (realize_tty_face): Argument changed. Caller changed.
9723 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9724 (face_at_buffer_position): Don't check multibyte_p for returning
9725 DEFAULT_FACE_ID.
9726 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9727 FACE_SUITABLE_FOR_CHARSET_P.
9728 (syms_of_xfaces): Remove code for Qx_charset_registry and
9729 Vface_default_registry.
9730
6c4bfdc0
KH
9731 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9732 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9733 (x_per_char_metric): Don't try FONT->default_char. Even if
9734 pcm->width is zero, glyph bits may exist.
9735 (x_encode_char): Always initialize char2b->byte1.
9736 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9737 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9738 (x_append_glyph): Set glyph->glyph_not_available_p.
9739 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9740 it->charset. Handle the case that per char metric is not
9741 available. If it->multibyte_p is zero and it->c is a multibyte
9742 character, convert it to a unibyte character.
9743 (struct glyph_string): Delete member `charset'.
9744 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9745 the case that per char metric is not available correctly.
9746 (x_fill_glyph_string): Handle the case that the specific glyph is
9747 not available correctly.
9748 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9749 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9750 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9751 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9752 fontset. Don't call FS_LOAD_FONT.
9753
9754 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9755 (x_create_tip_frame): Likewise.
9756 (Fx_close_connection): Free full_name of font_info.
9757
9758 * fns.c (optimize_sub_char_table): New function.
9759 (Foptimize_char_table): New function.
9760 (syms_of_fns): Defsubr Soptimize_char_table.
9761
b33dd3b0
GM
97622000-03-20 Gerd Moellmann <gerd@gnu.org>
9763
9764 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9765 only if buffer is displayed in some window.
9766
9767 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9768 (try_window_reusing_current_matrix): Don't call scroll run
9769 function if run's current and desired position are the same;
9770 this prevents cursor flickering.
9771
4e8a9132
SM
97722000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9773
9774 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9775
9776 * regex.c (RE_STRING_CHAR): New macro.
9777 (GET_CHAR_AFER_2): Remove.
9778 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9779 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9780 (print_partial_compiled_pattern, re_compile_fastmap)
9781 (re_match_2_internal): Remove on_failure_jump_exclusive.
9782 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9783 optimization only need to work for * (ie. can use of_keep_string_jump).
9784 Remove the special case for .*\n since it is now covered by the general
9785 optimization.
9786 (re_search_2): Don't bother with `room'.
9787 (skip_one_char): New function.
9788 (skip_noops): Simplify since `memory' is not needed any more.
9789 (mutually_exclusive_p): Restructure slightly to use `switch' and
9790 add handling for "all" remaining cases.
9791 (re_match_2_internal): Change on_failure_jump_smart to use
9792 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9793 rather than on_failure_jump_exclusive.
9794
2136fdd4
GM
97952000-03-19 Gerd Moellmann <gerd@gnu.org>
9796
9797 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9798 number of bits per RGB because it's everywhere used as the depth
9799 of the visual.
9800
9801 * term.c (calculate_costs): Remove code dealing with X frames.
9802
18e21ce8 98032000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9804
9805 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9806
d7b511c4
GM
98072000-03-18 Gerd Moellmann <gerd@gnu.org>
9808
9809 * lread.c (read_integer): Unread the last char not consumed.
9810
16b5d424
GM
98112000-03-17 Gerd Moellmann <gerd@gnu.org>
9812
9813 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9814 which are in the process of being deleted.
16b5d424 9815
1fa28578
GM
98162000-03-16 Gerd Moellmann <gerd@gnu.org>
9817
83488cce
GM
9818 * Makefile.in (mostlyclean): Add `*.core'.
9819 (clean): Add `bootstrap-emacs'.
9820
1fa28578
GM
9821 * lread.c (read_integer): New function.
9822 (read1): Support read syntax #o, #x, #b, #r.
9823
99633e97
SM
98242000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9825
1fa28578
GM
9826 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9827 make sure POINTER_TO_OFFSET gives the same value before and after
9828 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9829 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9830 (debug): Now only active if > 0 rather than if != 0.
9831 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9832 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9833 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9834 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9835 (store_op1, store_op2, insert_op1, insert_op2)
9836 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9837 (group_in_compile_stack): Move to after its arg's types are
9838 declared and add a prototype.
99633e97 9839 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9840 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9841 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9842 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9843 indentation of the greedy-op and shy-group code.
99633e97
SM
9844 (at_(beg|end)line_loc_p): Fix argument's types.
9845 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9846 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9847 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9848 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9849 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9850 QUIT unconditionally.
99633e97 9851
699238d9
GM
98522000-03-15 Gerd Moellmann <gerd@gnu.org>
9853
9854 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9855 a sole completion.
9856
9857 * process.c (send_process): Add a hint that the function
9858 can call Lisp code to its comment.
9859
9860 * lread.c (load_dangerous_libraries): New variable.
9861 (Vbytecomp_version_regexp): New variable.
9862 (safe_to_load_p): New function.
9863 (Fload): Handle files not compiled with Emacs specially.
9864 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9865
34e23e5a
GM
98662000-03-14 Gerd Moellmann <gerd@gnu.org>
9867
9c763cca
GM
9868 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9869
9870 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9871 support functions only if HAVE_X11R6_XIM is defined.
9872 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9873
9874 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9875
9876 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9877 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9878 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9879
9880 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9881 (HAVE_X11R6_XIM): Define.
9882
9883 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9884
34e23e5a
GM
9885 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9886 If set, call XSynchronize.
9887
66f0296e
SM
98882000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9889
34e23e5a
GM
9890 * regex.c: Declare a new type `re_char' used throughout the code
9891 for the string char type. It's `const unsigned char' to match the
9892 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9893 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9894 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9895 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9896 code duplication.
66f0296e
SM
9897
9898 * charset.h (GET_CHAR_AFTER_2): Remove.
9899 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9900
854a025c
KR
99012000-03-12 Ken Raeburn <raeburn@gnu.org>
9902
9903 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9904 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9905 of them try to use backquotes.
9906
b9d2c7e2
DL
99072000-03-12 Dave Love <fx@gnu.org>
9908
9909 * unexelf.c: Restore changes of 1999-10-19.
9910 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9911 fix its type and alignment; copy it from current process.
9912
5e5dff44
GM
99132000-03-12 Gerd Moellmann <gerd@gnu.org>
9914
9b2f3c38
GM
9915 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9916 has been found. Fix bug not computing timer's predecessor.
9917
427ec082 9918 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9919 file name.
9920
e1cff360
GM
9921 * window.c (Fsave_window_excursion): Doc fix.
9922
52283633 9923 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9924
e411ce4b
EZ
99252000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9926
9927 * msdos.c (vga_installed): New function, code moved from
9928 dos_set_window_size.
9929 (Qbar, Qcursor_type, outside_cursor): New variables.
9930 (syms_of_msdos): Intern and staticpro them.
9931 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9932 shape used outside Emacs when called for the first time.
9933 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9934 cursor shape used outside Emacs.
9935 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9936 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9937 type has changed.
9938 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9939 parameters specify the cursor. Make qreverse a global
9940 variable (renamed to Qreverse).
9941
80460654
GM
99422000-03-09 Gerd Moellmann <gerd@gnu.org>
9943
9944 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9945
95cd4c40
SM
99462000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9947
9948 This is a big redesign of failure-stack and register handling, prompted
9949 by bugs revealed when trying to add shy-groups. Overall, what happened
9950 is that loops are now structured a little differently, groups can be
9951 shy and the code is a little simpler.
9952
9953 * regex.h: Update the copyright.
9954 (RE_SHY_GROUPS): New value.
9955 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9956 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9957
80460654
GM
9958 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9959 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9960 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9961 for (start|stop)_memory since they now only take one argument (the
9962 second has becomes unnecessary).
52283633 9963 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9964 (print_compiled_pattern): Use %ld to printf long ints and flush to
9965 make debugging a little easier.
95cd4c40
SM
9966 (union fail_stack_elt): Make the integer unsigned.
9967 (struct fail_stack_type): Add a `frame' element.
9968 (INIT_FAIL_STACK): Init `frame' as well.
9969 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9970 (DEBUG_PUSH, DEBUG_POP): Remove.
9971 (NUM_REG_ITEMS): Remove.
9972 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9973 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9974 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9975 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9976 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9977 New macros.
80460654
GM
9978 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9979 address pushed is not the destination of the jump but the source
9980 of it instead.
95cd4c40
SM
9981 (NUM_FAILURE_ITEMS): Remove.
9982 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9983 registers before the actual failure point). Don't hardcode any
9984 meaning for str==NULL anymore.
95cd4c40 9985 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9986 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9987 Remove.
95cd4c40
SM
9988 (REG_UNSET_VALUE): Use NULL (why not?).
9989 (compile_range): Remove declaration since it doesn't exist.
9990 (struct compile_stack_elt_t): Remove inner_group_offset.
9991 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9992 (regex_grow_registers): Remove dead code.
9993 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9994 (regex_compile): Add shy-groups Change loops to use
9995 on_failure_jump_smart&jump instead of
9996 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9997 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9998 variable to me). Use `jump' instead of `jump_past_alt' and don't
9999 bother with push_dummy_failure in alternatives since it is now
10000 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
10001 emacs' for (re)allocating the stack.
10002 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
10003 from loop when bufp->can_be_null rather than jumping to `done'.
10004 Avoid jumping backwards so as to ensure termination. Use
10005 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
10006 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 10007 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
10008 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
10009 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
10010 (lowest_active_reg, highest_active_reg)
10011 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
10012 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
10013 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
10014 variables. Push register (in `start_memory') on the stack rather
10015 than storing it in old_reg(start|end). Remove the cycle detection
10016 from `stop_memory', replaced by the use of on_failure_jump_loop
10017 for greedy loops. Add code for the new on_failure_jump_<foo>.
10018 Remove ad-hoc code in `on_failure_jump' to push more registers in
10019 the case of a loop. Take out code from `maybe_pop_jump' into
10020 separate functions and adapt it to the semantics of
10021 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
10022 and push_dummy_failure. Remove dummy_failure handling and
10023 handling of `failures to jump to on_failure_jump' (this last one
10024 was already dead code, it seems).
10025 (group_match_null_string_p, alt_match_null_string_p)
10026 (common_op_match_null_string_p): Remove.
95cd4c40 10027
7397acc4
DL
100282000-03-08 Dave Love <fx@gnu.org>
10029
10030 * config.in: Don't depend on __STDC__ for volatile.
10031 Add POINTER_TYPE, PTR, PROTOTYPES.
10032
10033 * hftctl.c, strftime.c: Use PROTOTYPES.
10034 * eval.c (find_handler_clause): Likewise.
10035
10036 * mem-limits.h: Use POINTER_TYPE.
10037
10038 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
10039 (memory_warnings): Declare using POINTER_TYPE.
10040
5e91ff9e
GM
100412000-03-08 Gerd Moellmann <gerd@gnu.org>
10042
feab4fba
GM
10043 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
10044
52283633 10045 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 10046
5e91ff9e
GM
10047 * xfns.c: Remove obsolete code in #if 0.
10048 (Fx_focus_frame): New function.
10049
a735b7e1
KH
100502000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10051
10052 * coding.c (coding_category_name): Add coding-category-utf-8,
10053 coding-category-utf-16-be, coding-category-utf-16-le.
10054 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10055 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10056 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10057 (detect_coding_utf_8): New function.
10058 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10059 UTF_16_LOW_SURROGATE_P): New macros.
10060 (detect_coding_utf_16): New function
10061 (detect_coding_mask): When priorities are specified, skip any
10062 categories that have `nil' coding-system. Fix bug of returning
10063 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10064 returns a mask not set in PRIORITIES.
10065 (detect_eol_type_in_2_octet_form): New function.
10066 (detect_eol): selects detect_eol_type_XXX to call according to
10067 cooding->category_idx.
10068 (detect_coding_system): Remove `nil' coding-system in the result.
10069 (Fupdate_coding_systems_internal): Update all coding-categories.
10070
52283633
SM
10071 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10072 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10073 New macros.
10074 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10075 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10076 (CODING_CATEGORY_IDX_UTF_16_LE)
10077 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10078 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10079 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10080 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10081
9994cc69
GM
100822000-03-07 Gerd Moellmann <gerd@gnu.org>
10083
e9b4e5ff
GM
10084 * doc.c (Fdocumentation_property): If value is not a string,
10085 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10086
f7daf1e1
GM
10087 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10088 close the display with XtCloseDisplay. This caused a bus error
10089 on OpenWindows.
10090
9994cc69
GM
10091 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10092 complete but not unique.
10093
4336c705
GM
100942000-03-06 Gerd Moellmann <gerd@gnu.org>
10095
18bb0684
GM
10096 * process.c (send_process): Remove local variable `procname' that
10097 might become invalid when a GC happens. Instead, access the
10098 process name slot directly.
10099
4336c705
GM
10100 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10101 orig_height if set.
10102
10103 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10104 orig_height if set.
10105
515d0d0e
EZ
101062000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10107
10108 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10109 glyph matrices have been freed.
10110
100b3cbb
GM
101112000-03-05 Gerd Moellmann <gerd@gnu.org>
10112
50df5e5a 10113 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10114 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10115
10116 * xfns.c (QCdata): Moved to xdisp.c.
10117
10118 * xdisp.c (QCdata): Moved here from xfns.c.
10119 (syms_of_xdisp): Initialize QCdata.
10120
10121 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10122
10123 * window.c (coordinates_in_window): Use
10124 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10125 FRAME_INTERNAL_BORDER_WIDTH.
10126
100b3cbb 10127 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10128 it is obviously invalid.
100b3cbb
GM
10129
10130 * xterm.c (x_term_init): Create a colormap if not using the
10131 default visual.
10132
10133 * xterm.h (select_visual): Change prototype.
10134
10135 * xfns.c (select_visual): Rewritten. Recognize user-specified
10136 visual classes.
10137 (visual_classes): New variable.
10138
64d739c4
GM
101392000-03-04 Gerd Moellmann <gerd@gnu.org>
10140
10141 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10142 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10143 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10144 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10145 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10146 XtNcolormap resources.
10147 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10148 (Fx_create_frame): Initialize color members of x_output structure.
10149 (xpm_load): Pass colormap to XPM lib.
10150
10151 * xfaces.c (x_free_colors): Access colormap of frame using
10152 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10153 when default colormap is used.
10154
10155 * xterm.c (x_term_init): Set Colormap member of x_display_info
10156 structure. Copy colormap if resource `privateColormap' is
10157 specified (PseudoColor only).
10158 (x_setup_relief_color): Access colormap of frame using
10159 FRAME_X_COLORMAP.
10160
10161 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10162 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10163
c3cee013
JR
101642000-03-04 Jason Rumney <jasonr@gnu.org>
10165
10166 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10167 other non-platform-specific equivalents.
64d739c4 10168 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10169 specific functions and macros as their w32 equivalents where
10170 non-platform-specifics are not available.
10171 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10172 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10173 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10174 (frame_update_line_height): Use macros to access f->output_data.
10175 (defined_color): Remove FIXME comments; fixed.
10176 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10177 into #ifdef blocks. Add WINDOWSNT blocks.
10178 (Fx_list_fonts): Use macros for accessing font data.
10179 (set_lface_from_font_name): Different default fonts for X and
10180 WINDOWSNT.
10181 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10182 scalable for backward compatibility.
64d739c4 10183 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10184 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10185
64d739c4 10186 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10187 syms_of_w32faces.
10188
10189 * makefile.nt (w32faces.obj): Remove.
10190 (xfaces.obj): Add.
10191
807cc41c
JR
101922000-03-03 Jason Rumney <jasonr@gnu.org>
10193
10194 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10195 correct parameters.
10196
0007072a
KR
101972000-03-03 Ken Raeburn <raeburn@gnu.org>
10198
10199 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10200 standard ELF definitions here if the system header does not.
10201
71a6ba55
GM
102022000-03-03 Gerd Moellmann <gerd@gnu.org>
10203
10204 * xterm.c (PER_CHAR_METRIC): Removed.
10205 (x_per_char_metric_1, x_default_char): New functions.
10206 (x_per_char_metric): If font's default char is invalid, return
10207 metrics of a suitably chosen usable default char.
10208 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10209 char, replace occurrences of unprintable chars with a suitably
10210 chosen usable default char.
71a6ba55 10211
900fa1f1
GM
102122000-03-02 Gerd Moellmann <gerd@gnu.org>
10213
42f55fe0
GM
10214 * xterm.c (note_mouse_highlight): Return quickly if frame's
10215 glyph matrices have been freed.
10216
10217 * dispnew.c (free_glyphs): Block input while freeing matrices.
10218
900fa1f1
GM
10219 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10220
52283633
SM
10221 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10222 Use x_free_colors.
900fa1f1
GM
10223
10224 * dispextern.h (x_free_colors): Add prototype.
10225
10226 * xfaces.c (x_free_colors): New function.
10227 (unload_color, free_face_colors): Use it.
10228
2f950292
EZ
102292000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10230
10231 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10232
10233 * window.c [MSDOS]: Include msdos.h.
10234
54d04320
DL
102352000-03-02 Dave Love <fx@gnu.org>
10236
10237 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10238
10239 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10240 set C_OPTIMIZE_SWITCH for gcc.
10241
0ba93ac4
KH
102422000-03-02 Kenichi Handa <handa@etl.go.jp>
10243
10244 * coding.c (coding_save_composition): Be sure to allocate
10245 composition data area in coding even if there's no composition in
10246 the current run.
10247
a2bc11d4
JR
102482000-03-01 Jason Rumney <jasonr@gnu.org>
10249
10250 * w32term.c: Equivalent changes to those made to xterm.c on
10251 2000-02-25 and 2000-02-24.
10252
10253 * w32fns.c: Equivalent changes to those made to xfns.c on
10254 2000-02-25 and 2000-02-21.
10255
10256 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10257 correct line-end convention is followed.
10258
10259 * w32menu.c [HAVE_BOXES]: Remove #undef.
10260 (single_keymap_panes): Remove code for simulating checkmarks.
10261 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10262 Remove code for drawing simulated checkmarks.
10263 (w32_menu_show): make unibyte help string correctly.
10264 (add_menu_item): draw standard Windows checkmarks. Draw radio
10265 buttons as radio buttons if possible.
10266
72d19d75
GM
102672000-03-01 Gerd Moellmann <gerd@gnu.org>
10268
2df636f4
GM
10269 * sysdep.c (start_of_text): Don't define this function for NetBSD
10270 with ELF.
10271
427ec082 10272 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10273 Don't define.
10274 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10275 (LINKER): Don't undef if __NetBSD__ is defined.
10276
10277 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10278
10279 * fileio.c [__NetBSD__]: Define `unix'.
10280
72d19d75
GM
10281 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10282
ed4d0512
GM
102832000-02-29 Gerd Moellmann <gerd@gnu.org>
10284
50b1039f
GM
10285 * atimer.c (start_atimer): Don't abort when timers are stopped.
10286 (append_atimer_lists): New function.
10287 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10288 arbitrary lists of stopped and running atimers.
10289
ed4d0512
GM
10290 * atimer.c (cancel_atimer): Handle canceling an atimer when
10291 some timers are stopped.
10292
10293 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10294 after canceling it.
10295
10296 * fns.c (maybe_resize_hash_table): Handle case of new size
10297 coming out as being the same as old size.
10298
387023ee
JR
102992000-02-27 Jason Rumney <jasonr@gnu.org>
10300
10301 * makefile.nt: Add atimer.h to dependencies.
10302 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10303 * w32console.c: Only disable window system features for dispextern.h
10304 (initialize_w32_display): Build a display info for the console.
10305 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10306 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10307 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10308 as 2 button mice.
10309 * w32gui.h (struct W32FontStruct): Revert last change after change
10310 to xdisp.c.
10311 * w32menu.c (single_submenu): Set up help string.
10312 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10313 (w32_dialog_show): Set up help string.
10314 * w32term.c (w32_display_info_for_display): Remove unused function.
10315 (w32_draw_bitmap): Use pre-built bitmaps.
10316 (w32_initialize_display_info): New function to initialize parts of
10317 display info that are common to both GUI and console frames.
10318 (w32_term_init): Use w32_initialize_display_info. Do not set
10319 Vw32_num_mouse_buttons here, as it is not called for console
10320 frames. Build bitmaps for indicating truncated lines etc.
10321 (x_delete_display): Destroy pre-built bitmaps.
10322 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10323 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10324
4516715a
DL
103252000-02-27 Dave Love <fx@gnu.org>
10326
10327 * lisp.h: Add a bunch of prototypes.
10328
171ca836
KH
103292000-02-26 Kenichi Handa <handa@etl.go.jp>
10330
10331 * keyboard.c (read_char): Set `usec' correctly.
10332
4013921d
KH
103332000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10334
10335 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10336 `lambda', set reg[RRR] to the map index.
10337 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10338 reg[RRR] to 0. Otherwise, set it to -1.
10339
9244a058
GM
103402000-02-25 Gerd Moellmann <gerd@gnu.org>
10341
2df636f4 10342 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10343
18e21ce8 103442000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10345
f43d79c1
GM
10346 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10347 and contains a `:', prepend `/:'.
10348
10349 * window.c (select_window_1): If selected_window is nil,
10350 don't "swap out" the buffer's point.
10351 (Fset_window_configuration): Set selected_window to nil
10352 before calling Fselect_window.
10353 (unshow_buffer): Don't set point in buffer from window's point
10354 if another more recently selected window also shows the buffer.
10355
bed0c171
GM
103562000-02-25 Gerd Moellmann <gerd@gnu.org>
10357
449c3c52
GM
10358 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10359
f5b58615
GM
10360 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10361 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10362 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10363 New variables.
f5b58615
GM
10364 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10365 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10366 (hide_busy_cursor): New functions.
10367 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10368
10369 * minibuf.c (read_minibuf): Cancel busy-cursor.
10370
10371 * keyboard.c (command_loop_1): Call start_busy_cursor before
10372 Fcommand_execute and cancel_busy_cursor after it.
10373 (timer_check): Remove busy-cursor code.
10374 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10375 cursor timer.
10376
10377 * process.c (wait_reading_process_input): Remove busy-cursor code.
10378
10379 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10380 Fx_hide_busy_cursor.
10381
10382 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10383 Remove prototyoes.
10384 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10385
10386 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10387
10388 * xterm.c (XTread_socket): Remove busy-cursor code.
10389
4eb8436f
GM
10390 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10391 (build_frame_matrix_from_leaf_window): Put code handling
10392 glyph row's not being a slice of a frame row in #if 0.
10393 (sync_window_with_frame_matrix_rows): New function.
10394 (frame_row_to_window): New function.
10395 (mirror_line_dance): Handle copies between windows.
10396
3cb65b0e
GM
10397 * lread.c (Fload): Use `xfree' instead of `free'.
10398 (init_obarray): Use `xmalloc' instead of `malloc'.
10399
bed0c171
GM
10400 * window.c (Fset_window_buffer): Set WINDOW to the window
10401 after decoding.
2add4349
GM
10402 (coordinates_in_window): Take frame's internal border width
10403 into account.
bed0c171 10404
42088c12
GM
104052000-02-24 Gerd Moellmann <gerd@gnu.org>
10406
10407 * xterm.c (x_display_and_set_cursor): Display cursor of
10408 non-selected windows depending on the setting of
10409 cursor_in_non_selected_windows.
10410
10411 * xdisp.c (cursor_in_non_selected_windows): New variable.
10412 (syms_of_xdisp): DEFVAR_BOOL it.
10413
d1e103b2
GM
104142000-02-23 Gerd Moellmann <gerd@gnu.org>
10415
723e779c
GM
10416 * data.c (Fstring_to_number): If number is greater than what
10417 fits into an integer, return a float.
10418
d1e103b2
GM
10419 * eval.c (specbind): Remove references to
10420 keyword_symbols_constant_flag.
10421
10422 * data.c (keyword_symbols_constant_flag): Removed.
10423 (Fmakunbound, set_internal, syms_of_data): Remove references to
10424 keyword_symbols_constant_flag.
10425
10426 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10427
214f877f
KH
104282000-02-23 Kenichi Handa <handa@etl.go.jp>
10429
10430 * syntax.c (multibyte_syntax_as_symbol): New variable.
10431 (syms_of_syntax): Declare it as a Lisp variable.
10432 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10433 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10434 nonzero, treat all multibyte characters as symbol.
52283633 10435 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10436
130adcb7
EZ
104372000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10438
3cb65b0e 10439 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10440 a deleted frame.
130adcb7 10441
17cbbf95
GM
104422000-02-21 Gerd Moellmann <gerd@gnu.org>
10443
10444 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10445
10446 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10447 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10448
beb0bc36
DL
104492000-02-21 Dave Love <fx@gnu.org>
10450
10451 * frame.c (Vmouse_position_function): New variable.
10452 (Fmouse_position): Use it.
10453 (syms_of_frame): Install it.
10454
10455 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10456
1d92afcd
GM
104572000-02-20 Gerd Moellmann <gerd@gnu.org>
10458
10459 * fileio.c (Finsert_file_contents): Unbind the binding of
10460 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10461
10462 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10463 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10464 (specbind, unbind_to): Handle most common case of non-constant
10465 symbol with trivial value specially.
10466
10467 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10468
18e21ce8 104692000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10470
10471 * data.c (Fmake_variable_buffer_local): Doc fix.
10472 Init found_for_buffer to 0.
10473 (Fmake_variable_frame_local): If the variable has already
10474 been buffer-local, set the check_frame field.
10475
1d4311c3
EZ
104762000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10477
10478 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10479 produced for CODING_MODE_LAST_BLOCK requires.
10480
2dc95ddd
DL
104812000-02-18 Dave Love <fx@gnu.org>
10482
10483 * keyboard.c (echo_keystrokes): Remove declaration.
10484 (Vecho_keystrokes) New variable.
10485 (read_char, record_menu_key, read_key_sequence): Use it to allow
10486 use of float value.
10487 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10488
10489 * lread.c: Undef feature selection macros before defining.
10490
f0930f35
GM
104912000-02-18 Gerd Moellmann <gerd@gnu.org>
10492
10493 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10494 for symbols other than the symbol in question.
10495
e3d4de90
DL
104962000-02-17 Dave Love <fx@gnu.org>
10497
10498 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10499
0b378936
GM
105002000-02-17 Gerd Moellmann <gerd@gnu.org>
10501
d621caf7
GM
10502 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10503
0b378936
GM
10504 * alloc.c (enum mem_type): Compile unconditionally.
10505
3b451f74
EZ
105062000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10507
10508 * xfaces.c (tty_defined_color): Don't return faulire indication
10509 for unspecified-fg and unspecified-bg pseudo-colors.
10510
10689a01
GM
105112000-02-17 Gerd Moellmann <gerd@gnu.org>
10512
1216f5e4
GM
10513 * alloc.c (mark_object): Don't mark symbol names in pure space.
10514 (gc_sweep): Don't unmark symbol names in pure space.
10515
10516 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10517 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10518 [GC_MARK_STACK]: New defines.
427ec082 10519 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10520 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10521
10522 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10523
10524 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10525 allocate_buffer instead of xmalloc.
10526
10527 * alloc.c (toplevel): Include setjmp.h.
10528 (PURE_POINTER_P): New define.
10529 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10530 (Vdead) [GC_MARK_STACK]: New variable.
10531 (lisp_malloc): Add parameter TYPE, call mem_insert if
10532 GC_MARK_STACK is defined.
10533 (allocate_buffer): New function.
427ec082 10534 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10535 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10536 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10537 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10538 (MEM_NIL) [GC_MARK_STACK]: New define.
10539 (struct mem_node) [GC_MARK_STACK]: New structure.
10540 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10541 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10542 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10543 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10544 (mark_stack) [GC_MARK_STACK]: New functions.
10545 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10546 (clear_marks): Removed.
10547 (gc_sweep): Set free conses' car, free floats' type, free
10548 symbols' function to Vdead. Use lisp_free to free buffers.
10549 (init_alloc_once): Initialize Vdead.
10550 (survives_gc_p): Return non-zero for pure objects.
10551
10552 * alloc.c: Add comments throughout the file.
10553
2503c8b1
GM
10554 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10555 that unblocks alarms.
10556
8389e1e2
GM
10557 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10558 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10559 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10560
10689a01 10561 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10562
bfc17d18
KH
105632000-02-17 Kenichi Handa <handa@etl.go.jp>
10564
4a09dee0
KH
10565 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10566 avoid infinite error signaling. Allocate sufficient memory for
10567 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10568
2b927d02
SM
105692000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10570
10571 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10572 depends on the previous behavior.
10573
b49cb764
GM
105742000-02-16 Gerd Moellmann <gerd@gnu.org>
10575
10576 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10577
99e95407
GM
105782000-02-15 Gerd Moellmann <gerd@gnu.org>
10579
10580 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10581
10582 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10583 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10584 write(2).
10585
6ffd3cf7
RS
105862000-02-15 Richard M. Stallman <rms@gnu.org>
10587
10588 * data.c (set_internal): Don't make variable buffer-local
10589 if within a let-binding for the same buffer.
10590 (let_shadows_buffer_binding_p): New function.
10591
10592 * eval.c (specbind): For buffer-local value,
10593 record the current buffer also.
10594 (unbind_to): Cope with that change.
10595
cad53475
GM
105962000-02-15 Gerd Moellmann <gerd@gnu.org>
10597
10598 * window.c (Fsave_window_excursion): Doc fix.
10599
1aa963c8
SM
106002000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10601
10602 * syntax.c (back_comment): Make sure we only consider comment-starters
10603 of the relevant style and return -1 in case of a failure to find the
10604 beginning of the comment.
10605 (Fforward_comment): If back_comment fails, go back to the position just
10606 after the comment-end.
10607 (scan_lists): Add comment describing a very minor bug.
10608
b9b84fd3
SM
106092000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10610
10611 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10612 `completion-regexp-list' in the docstring.
10613
3a28db80
DL
106142000-02-14 Dave Love <fx@gnu.org>
10615
10616 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10617
fb4a568d
SM
106182000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10619
10620 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10621 to Emacs' syntax. Also fix the comment about set/not-set meanings
10622 since Emacs syntax is not the value 0 any more.
10623 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10624 since it's now part of RE_SYNTAX_EMACS.
10625
1063ebb5
DL
106262000-02-12 Dave Love <fx@gnu.org>
10627
52283633 10628 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10629
fb07a302
GM
106302000-02-12 Gerd Moellmann <gerd@gnu.org>
10631
10632 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10633
aaf2320c
DL
106342000-02-12 Dave Love <fx@gnu.org>
10635
10636 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10637
10638 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10639 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10640 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10641
10642 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10643
10644 * s/nextstep.h: Don't define HAVE_ALLOCA.
10645
10646 * config.in: Add vfork bits.
10647
eedf8bde
GM
106482000-02-12 Gerd Moellmann <gerd@gnu.org>
10649
10650 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10651 unwind function to undo the effect of stopping atimers.
10652
52283633 10653 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10654
10655 * atimer.c (stopped_atimers): New variable.
10656 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10657 New functions.
10658
10659 * atimer.h (stop_other_atimers, run_all_atimers)
10660 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10661
eedf8bde
GM
10662 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10663
8476c2f8
KR
106642000-02-11 Ken Raeburn <raeburn@gnu.org>
10665
10666 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10667 library may depend on jpeg.
10668 (atimer.o): Depends on atimer.c.
10669
0e85e4a3
KH
106702000-02-11 Kenichi Handa <handa@etl.go.jp>
10671
10672 * insdel.c (del_range_1): Call update_compositions.
10673 (del_range_both): Call update_compositions just once..
10674
97fa0cc8
DL
106752000-02-10 Dave Love <fx@gnu.org>
10676
10677 * xfns.c (create_frame_xic): Fix initialization of automatic
10678 aggregates for pcc.
10679
25566a3c
KH
106802000-02-09 Kenichi Handa <handa@etl.go.jp>
10681
10682 * ccl.c (CCL_MAKE_CHAR): New macro.
10683 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10684 registers by CCL_MAKE_CHAR before calling translate_char.
10685 <CCL_TranslateCharacterConstTbl> Likewise.
10686
69da54ba
DL
106872000-02-08 Dave Love <fx@gnu.org>
10688
10689 * lread.c (__EXTENSIONS__): Define.
10690
f7136ee8
GM
106912000-02-08 Gerd Moellmann <gerd@gnu.org>
10692
10693 * puresize.h (BASE_PURESIZE): Increase to 650000.
10694
7768790b
EZ
106952000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10696
10697 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10698 the help message.
10699
38fd211b
EZ
107002000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10701
10702 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10703 md, mh, mb, mr, and me to the fake termcap entry.
10704
66e4690f
KR
107052000-02-06 Ken Raeburn <raeburn@gnu.org>
10706
10707 * sound.c (sound_cleanup): Don't call device close routine if the
10708 function pointer is null.
10709
a75dfea0
AI
107102000-02-06 Andrew Innes <andrewi@gnu.org>
10711
10712 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10713 around image definitions and prototypes.
10714 (gamma_correct) [WINDOWSNT]: New prototype.
10715
10716 * w32term.c (x_make_frame_visible): Replace call to
10717 input_poll_signal with poll_for_input.
10718
10719 * window.c [WINDOWSNT]: Include w32term.h.
10720
10721 * xdisp.c [WINDOWSNT]: Include w32term.h.
10722
10723 * makefile.nt: Add dependencies on w32gui.h.
10724 (OBJ1): Include atimer.obj.
10725 ($(BLD)\atimer.obj): New dependency rule.
10726
10727 * w32.c (sigmask): New function (does nothing).
10728 (sigunblock): Ditto.
10729
10730 * frame.c [WINDOWSNT]: Include w32term.h.
10731
10732 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10733
10734 * lread.c (syms_of_lread): Fix literal newlines.
10735
10736 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10737 the string constant limit (2048 bytes) in MSVC.
10738 (main): Ditto.
10739
59ddecde
GM
107402000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10741
52283633 10742 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10743 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10744 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10745 dispatch the event.
10746
07590973
DL
107472000-02-04 Dave Love <fx@gnu.org>
10748
10749 * fileio.c: Remove some unused vars.
10750 (_GNU_SOURCE): Define (for euidaccess).
10751
10752 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10753
10754 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10755 gcpro1, gcpro2.
10756 (read_minibuf): Deal with allow_props correctly.
10757
649351f9
EZ
107582000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10759
10760 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10761
66e4690f 107622000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10763
10764 * search.c (compile_pattern): If a cache entry has a nil regexp,
10765 fill in that entry instead of clobbering a previously cached
10766 string regexp.
10767
66e4690f 107682000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10769
10770 * puresize.h (BASE_PURESIZE): Increase to 610000.
10771
d240a249
GM
107722000-02-02 Gerd Moellmann <gerd@gnu.org>
10773
10774 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10775 can GC.
10776
ca91fb26
KH
107772000-02-02 Kenichi Handa <handa@etl.go.jp>
10778
25660570
KH
10779 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10780 instead of incrementing ic directly.
10781 <CCL_WriteExprConst> Likewise.
10782 <ccl_set_expr>: Set ic to jump_address.
10783
ca91fb26
KH
10784 * fileio.c (e_write): Fix the handling of
10785 CODING_FINISH_INSUFFICIENT_SRC.
10786
2ede9689
DL
107872000-02-01 Dave Love <fx@gnu.org>
10788
10789 * editfns.c (Fpropertize): Doc fix.
10790
10791 * process.c (Fstart_process): Doc fix.
10792
10793 * eval.c: Fix various doc strings not to duplicate information
10794 from help-manyarg-func-alist.
10795
52283633 10796 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10797
10798 * doc.c (Vhelp_manyarg_func_alist): New variable.
10799 (Fdocumentation): Use it.
10800 (syms_of_doc): Define it.
10801
b6680a0e
GM
108022000-01-31 Gerd Moellmann <gerd@gnu.org>
10803
2cb750ba
GM
10804 * xterm.c (xim_open_dpy): Remove unused local variable.
10805
52283633 10806 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10807
10808 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10809 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10810
b6680a0e
GM
10811 * fns.c (sweep_weak_table): New function.
10812 (sweep_weak_hash_tables): Use it. Keep on marking until there
10813 is no more change.
10814
994c5afe
GM
108152000-01-30 Gerd Moellmann <gerd@gnu.org>
10816
10817 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10818 that XTread_socket does not crash by trying to call XNoOp on a
10819 closed display.
427ec082 10820
f00276e3
JR
108212000-01-30 Jason Rumney <jasonr@gnu.org>
10822
10823 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10824 Change selected_frame to SELECTED_FRAME ().
10825 (w32_console_mouse_position): Remove #ifndef MULE from around
10826 `insist' parameter.
10827
10828 * makefile.nt: Remove dosfns.obj.
10829
10830 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10831
10832 * w32fns.c (w32_defined_color): Check for valid frame before
10833 applying gamma correction. Eliminate dependency on frame elsewhere.
10834 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10835 (w32_to_x_font): Use resx and resy not height_in and width_in.
10836 (x_to_w32_font): Doc fix.
10837 (xlfd_strip_height): New function to strip and return font height.
10838 (w32_font_match): Compare height separately from rest of xlfd
10839 spec, using xlfd_strip_height.
10840
10841 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10842 width_in. Use w32_defined_color in place of defined_color.
10843
10844 * w32faces.c: Merge more of DOS and X specifics in preparation for
10845 merge with xfaces.c.
10846 (defined_color): Remove FIXME comment.
10847 (tty_color_name): Provide w32-specific function.
10848 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10849
10850 * w32console.c (turn_on_face, turn_off_face): Removed.
10851 (w32_face_attributes): New function.
10852 (Global_variables): Reduce scope where possible.
10853 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10854 fill attribute.
10855 (hl_mode): Don't modify text attributes.
10856 (write_glyphs): Don't do anything if len <= 0. Use
10857 w32_face_attributes to get attributes for drawing. Write
10858 terminating codes using char_attr_normal.
10859 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10860 (update_begin, update_end): Likewise.
10861 (vga_stdcolor_name): New function.
10862 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10863 (Fset_screen_color): Remove char_attr_reverse.
10864
b08e8bb2
GM
108652000-01-29 Gerd Moellmann <gerd@gnu.org>
10866
10867 * xfns.c (xic_set_preeditarea): Take window parameter and
10868 window-relative pixel-positions.
10869
10870 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10871 is its frame's selected window.
10872 (xim_instantiate_callback): Likewise.
10873
10874 * xfns.c (x_create_im): Removed.
10875 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10876 (supported_xim_styles): Renamed from supported_styles.
10877 (best_xim_style): Renamed from best_style.
10878 (create_frame_xic): Renamed from xic_create_frame.
10879 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10880
b08e8bb2
GM
108812000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10882
10883 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10884 our frames, call XFilterEvent with 2nd parameter `None'.
10885 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10886 returning XBufferOverflow.
52283633 10887 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10888 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10889 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10890 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10891 (xim_initialize, xim_close)
10892 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10893 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10894 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10895 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10896
10897 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10898 and `xim_styles'.
10899 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10900 `xic_style' and `xic_xfs'.
10901 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10902 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10903 (FRAME_XIM): Removed.
10904
10905 * xfns.c (supported_styles): New variable.
10906 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10907 (xic_create_xfontset, best_style, xic_create_frame)
10908 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10909 (xic_set_xfontset): New functions.
10910
142e109c
DL
109112000-01-28 Dave Love <fx@gnu.org>
10912
10913 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10914
10915 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10916
b02786f9
GM
109172000-01-28 Gerd Moellmann <gerd@gnu.org>
10918
d060bc9f
GM
10919 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10920 for *scratch* if it already existed.
10921
b02786f9
GM
10922 * emacs.c (USAGE): New macro.
10923 (main): Use it to display usage information.
10924
2c52d7e4
EZ
109252000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10926
10927 Support for the menu-help feature:
10928
52283633 10929 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10930
10931 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10932 part of the line to the termscript file.
10933 (IT_clear_to_end): Clear the entire line, not just its beginning.
10934 (menu_help_message, prev_menu_help_message): New variables.
10935 (IT_menu_make_room): Make room for the help_text member.
10936 (IT_menu_display): New argument disp_help; all callers changed.
10937 If disp_help is non-zero, store the help text of the active menu
10938 item in menu_help_message.
10939 (XMenuAddPane): Initialize the help_text member to NULL.
10940 (XMenuAddSelection): New argument help_text. Store it in the
10941 XMenu structure.
10942 (XMenuActivate): New argument help_callback. If the value of
10943 menu_help_message has changed since the last time, display the
10944 menu help message text while waiting for the mouse to move. Clear
10945 the echo area before exiting.
10946 (XMenuDestroy): Free the help_text member.
10947
ffe0bcd1
GM
109482000-01-27 Gerd Moellmann <gerd@gnu.org>
10949
10950 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10951 XMenuAddSelection. Pass help callback to XMenuActivate.
10952 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10953
50dbd23f
EZ
109542000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10955
10956 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10957 and EMACS_SET_USECS.
10958
f5941bf8
GM
109592000-01-26 Dave Love <fx@gnu.org>
10960
6c67ddee
DL
10961 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10962
f5941bf8
GM
10963 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10964 an error may be signalled.
10965
9e49c990
GM
109662000-01-26 Gerd Moellmann <gerd@gnu.org>
10967
fc3cb460
GM
10968 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10969 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10970
9e49c990
GM
10971 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10972
d0c037d8
GM
109732000-01-25 Gerd Moellmann <gerd@gnu.org>
10974
10975 * charset.c (Fstring): If there is a multibyte char among
10976 the args, always return a multibyte string.
10977
e12489f9
GM
109782000-01-25 Gerd Moellmann <gerd@gnu.org>
10979
10980 * sysdep.c (sys_select): Turn atimers off and on instead of
10981 recording and restoring old alarm handler
10982
10983 * process.c (toplevel): Include atimer.h.
10984 (create_process_1): Rewritten.
10985 (create_process): Use atimers instead of alarm.
10986 (wait_reading_process_input) [hpux]: Turn atimers off instead
10987 of turning off SIGALRM.
10988 (wait_reading_process_input): Turn off atimers instead off
10989 calling stop_polling.
10990
10991 * emacs.c (main): Call init_atimer.
10992
10993 * keyboard.c (toplevel): Include systime.h and atimer.h.
10994 (polling_for_input): Removed because unused.
10995 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10996 (poll_timer): New variable.
10997 (poll_for_input, poll_for_input_1): New functions.
10998 (start_polling, stop_polling): Rewritten.
10999
11000 * keyboard.h (polling_for_input): Removed.
427ec082 11001
e12489f9
GM
11002 * atimer.h, atimer.c: New files.
11003
11004 * Makefile.in (obj): Add atimer.o.
11005 (atimer.o): New target.
11006
11007 * blockinput.h (pending_atimers): Add extern declaration.
11008 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
11009
11010 * lisp.h (popup_activated_flag): Add extern declaration.
11011
11012 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 11013 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
11014 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
11015
11016 * xterm.c (toplevel): Include atimer.h.
11017 (toolkit_scroll_bar_interaction): New variable.
11018 (Fxt_process_timeouts): Removed.
11019 (x_process_timeouts): New function.
11020 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
11021 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
11022 (x_make_frame_visible): Call poll_for_input_1 instead of
11023 input_poll_signal. Don't call alarm.
11024 (x_initialize): Install timer calling x_process_timeouts.
427ec082 11025
1e5279b9
DL
110262000-01-24 Dave Love <fx@gnu.org>
11027
6c67ddee 11028 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
11029 Don't use -cckr -- apparently not now necessary.
11030
edf6aeb8
EZ
110312000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
11032
11033 * msdos.c (IT_menu_display): Truncate long menu lines at the right
11034 screen boundary.
11035
9badad41
JR
110362000-01-23 Jason Rumney <jasonr@gnu.org>
11037
11038 * w32fns.c (w32_defined_color): Apply gamma correction before
11039 trying to map to the palette.
11040 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
11041 to w32_clear_rect.
11042
11043 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
11044 here. Callers changed to always pass real device context.
11045 (w32_draw_bitmap): Likewise.
11046 (w32_get_glyph_overhangs): Likewise.
52283633 11047 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
11048 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
11049 pfnSetScrollInfo and SetScrollRange.
11050 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
11051 back into MULE characters after decoding them.
11052 (x_get_glyph_face_and_encoding): Likewise.
11053 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11054 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11055 (x_produce_glyphs): Calculate per char metrics for a character
11056 that we know exists in default font when font_not_found_p is true.
11057
63bd786b
JR
110582000-01-22 Jason Rumney <jasonr@gnu.org>
11059
11060 * makefile.nt (intervals.obj, composite.obj): New modules.
11061 (composite.h): Added as dependency where appropriate.
11062
11063 * w32gui.h (XGCValue): New struct for emulating X GCs.
11064
11065 * w32term.h (XCharStruct): New struct for emulating X.
11066
11067 * w32console.c (turn_on_face, turn_off_face): New functions.
11068 (change_line_highlight): New prototype for new redisplay.
11069 (write_glyphs): Support multibyte text. Support faces.
11070
52283633 11071 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11072
11073 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11074 throughout. struct frame * in place of FRAME_PTR.
11075 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11076 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11077 (w32_get_arg): Renamed from x_get_arg.
11078 (Fx_file_dialog): New function.
11079 (w32_list_fonts): Check cache before asking system.
11080 (Vw32_enable_synthesized_fonts): New variable.
11081 (Vw32_enable_italics): Obsolete, removed.
11082
11083 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11084 Use SELECTED_FRAME macro.
11085
11086 * w32menu.c: Add skeleton support for help strings on menus.
11087 (add_menu_item): Native checkbox and radio support added, but not
11088 yet enabled due to bugs.
11089 (push_menu_item): Add parameters type, selection and help.
11090 Callers updated.
11091 Formatting changes to reduce unnecessary diffs with xmenu.c.
11092
11093 * w32select.c (Fw32_set_clipboard_data): Update call to
11094 find_charset_in_str.
11095
11096 * w32term.c: Complete rewrite for new redisplay based on new
11097 xterm.c with necessary sections merged back in from old w32term.c.
11098
6ffd3cf7 110992000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11100
11101 * data.c (set_internal): Further fix in same criterion.
11102
6ffd3cf7 111032000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11104
11105 * data.c (set_internal): Fix the criteria for whether
11106 to swap out the old cached binding.
11107
60af03f1
DL
111082000-01-19 Dave Love <fx@gnu.org>
11109
11110 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11111
f9be074f
KH
111122000-01-18 Kenichi Handa <handa@etl.go.jp>
11113
11114 * regex.c (re_compile_fastmap): While checking a range table for
11115 `charset', skip flag bits for a character class correctly.
11116
52b8dbf9
GM
111172000-01-17 Gerd Moellmann <gerd@gnu.org>
11118
d36100c9
GM
11119 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11120
52283633 11121 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11122
11123 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11124 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11125
11126 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11127 MENU_ITEMS_ITEM_.*.
11128 (MENU_ITEMS_ITEM_HELP): New enumerator.
11129 (push_menu_item): Add parameter HELP. Record help in menu_items.
11130 (single_menu_item, single_submenu, list_of_items): Call
11131 push_menu_item with new parameter.
11132 (single_submenu): Set help string in widget value.
11133 (menu_highlight_callback): New function.
11134 (set_frame_menubar): Call lw_create_widget with new
11135 parameter list.
11136 (xmenu_show, xdialog_show): Ditto.
11137
3139018f
GM
111382000-01-13 Gerd Moellmann <gerd@gnu.org>
11139
11140 * sound.c (Fplay_sound): Improve doc string.
11141
83c8f461
RS
111422000-01-11 Richard M. Stallman <rms@gnu.org>
11143
11144 * lisp.h (set_internal): Enter the new arg.
11145
11146 * eval.c (specbind): Record buffer-local variables specially,
11147 indicating which buffer's binding was saved.
11148 (unbind_to): Restore buffer-local variables specially
11149 in the proper buffer.
11150
11151 * data.c (set_internal): New arg BUF.
427ec082 11152
83c8f461
RS
11153 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11154 * data.c (Fset): Pass new arg to set_internal.
11155 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11156
1fab1775
GM
111572000-01-11 Gerd Moellmann <gerd@gnu.org>
11158
52283633 11159 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11160
83c8f461 111612000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11162
11163 * minibuf.c (Ftry_completion): Doc fix.
11164
7a85e4df
GM
111652000-01-11 Gerd Moellmann <gerd@gnu.org>
11166
11167 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11168 vector, too.
11169
a970dae4
AS
111702000-01-11 Andreas Schwab <schwab@suse.de>
11171
11172 * coding.c (code_convert_region): Initialize total_skip.
11173
c65d14ee
DL
111742000-01-08 Dave Love <fx@gnu.org>
11175
11176 * eval.c (Fuser_variable_p): Check customizability too.
11177
834938d2
GM
111782000-01-07 Gerd Moellmann <gerd@gnu.org>
11179
11180 * minibuf.c (Fcompleting_read): Doc fix.
11181
e0303cd6
GM
111822000-01-05 Gerd Moellmann <gerd@gnu.org>
11183
8a26744b
GM
11184 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11185 -L /usr/local/lib.
11186
e0303cd6
GM
11187 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11188 Check that input style is supported before trying to create an
11189 IC for it.
11190 (x_window): Call x_create_im.
427ec082 11191
2e471eb5
GM
111922000-01-04 Gerd Moellmann <gerd@gnu.org>
11193
560a7bd2
GM
11194 * xfns.c (current_gif_memory_src): New variable.
11195 (gif_load): Record the address of the current memory source
11196 in current_gif_memory_src.
11197 (gif_read_from_memory): Use current_gif_memory_src.
11198
f9ee84a3
GM
11199 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11200 macros statement form.
11201
d1299cde
GM
11202 * sound.c (struct sound): Renamed from struct sound_file.
11203 (struct sound): Add members `data' and `header_size'.
11204 (enum sound_attr): Add SOUND_DATA.
11205 (current_sound, current_sound_device): Variables renamed from
11206 sound_file and sound_device.
11207 (parse_sound): Parse :data.
11208 (parse_sound): Handle sound data in strings.
11209 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11210 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11211 needed header size.
11212 (wav_play, au_play): Play sounds from string data.
11213
2e471eb5
GM
11214 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11215
11216 * lisp.h: Add prototype for allocate_string_data.
11217
52283633 11218 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11219
11220 * alloc.c (mark_buffer): Remove code in #if 0.
11221 (gc_sweep): Ditto.
11222 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11223 (strings_consed): New variable.
11224 (allocate_string): Set it.
11225 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11226 (Fmemory_use_counts): Return strings_consed. Use Flist.
11227
11228 * alloc.c: General cleanup in comments etc. Remove conditional
11229 compilation for `standalone'.
11230
11231 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11232
11233 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11234 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11235 (DONT_COPY_FLAG): Removed.
11236 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11237 (struct sdata, struct sblock): New
11238 (struct string_block): Rewritten.
11239 (STRINGS_IN_STRING_BLOCK): New macro.
11240 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11241 (large_sblocks, string_blocks, string_free_list): New variables.
11242 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11243 (init_strings): Rewritten.
11244 (allocate_string, allocate_string_data, compact_small_strings)
11245 (free_large_strings, sweep_strings): New functions.
11246 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11247 (struct string_block_head, current_string_block)
11248 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11249 (STRING_PAD): Removed.
11250 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11251 (Fgarbage_collect): Don't set mark bit in large strings.
11252 (mark_object): Mark strings differently. Mark symbol names
11253 differently.
11254 (survives_gc_p): Test marked strings differently.
427ec082 11255 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11256 symbol names.
11257 (compact_strings): Removed.
11258
42608ba8
EZ
112592000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11260
11261 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11262 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11263
e0a09e1a
KH
112642000-01-04 Kenichi Handa <handa@etl.go.jp>
11265
dd9f0750 11266 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11267 in a non-empty buffer.
dd9f0750 11268
3c0f3b15 11269 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11270
44cd3ae5
GM
112712000-01-03 Gerd Moellmann <gerd@gnu.org>
11272
11273 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11274 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11275
11276 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11277
c182a70f
EZ
112782000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11279
11280 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11281 need to test for MSDOS frames.
11282
24480d5b
EZ
112832000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11284
11285 * dosfns.c (unspecified_colors): Remove.
11286 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11287 unspecified_bg.
11288 (msdos_stdcolor_name): Return strings for unspecified fore- and
11289 back-ground colors.
11290
11291 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11292 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11293 (tty_color_name): Return Lisp strings for unspecified fore- and
11294 back-ground colors.
11295 (Finternal_set_lisp_face_attribute): Remove the special treatment
11296 for Qunspecified_{f,b}g.
52283633 11297 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11298
047f434a
GM
112992000-01-03 Gerd Moellmann <gerd@gnu.org>
11300
11301 * xdisp.c (reseat_at_next_visible_line_start): Position before
11302 newline only if ending up on a newline.
11303 (next_element_from_ellipsis): Return success. Handle case of
52283633 11304 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11305 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11306 returns 0.
11307
d684c676
EZ
113082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11309
11310 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11311 (Fcolor_supported_p): Renamed from face-color-supported-p.
11312
5fe1d139
EZ
113132000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11314
11315 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11316 list of colors renamed to tty-defined-color-alist.
11317 (tty_color_name): Pass the frame to tty-color-by-index.
11318 (realize_tty_face): tty-color-alist is now a function which
11319 accepts the frame as argument.
11320
52283633 11321 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11322
816be8b8
EZ
113232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11324
11325 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11326 encode_terminal_code.
11327
b635321e
EZ
113282000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11329
11330 * dispnew.c (mode_line_string): Support termcap frames as well.
11331
9b784e96
GM
113322000-01-01 Gerd Moellmann <gerd@gnu.org>
11333
27189709
GM
11334 * syntax.c (Fforward_word): Undo previous change.
11335
11336 * editfns.c (Fconstrain_to_field): Don't constrain if
11337 inhibit-field-text-motion is non-nil.
11338 (Fline_beginning_position): Undo previous change.
11339 (Fline_end_position): Ditto.
11340
11341 * syntax.c (Fforward_word): Notice field boundaries only if
11342 inhibit-field-text-motion is nil.
11343
11344 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11345
11346 * editfns.c (Vinhibit_field_text_motion): New variable.
11347 (inhibit-field-text-motion): New DEFVAR_LISP.
11348 (Fline_beginning_position, Fline_end_position): Notice field
11349 boundaries only if inhibit-field-text-motion is nil.
11350
45158a91
GM
11351 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11352 All calls adjusted.
11353 (x_build_heuristic_mask): Likewise.
11354 (xbm_load_image_from_file): Change error output.
11355 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11356 (gif_load, gs_load, x_kill_gs_process): Ditto.
11357
9b784e96
GM
11358 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11359 color indices when accessing raster pixels.
63cec32f
GM
11360 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11361 one of :file or :data.
11362 (enum pbm_keyword_index): Add PBM_DATA.
11363 (pbm_format): Add :data.
11364 (pbm_image_p): Allow either :file or :data.
11365 (pbm_read_file): New function.
11366 (pbm_scan_number): Rewritten to read from string.
11367 (pbm_load): Support :data.
9b784e96 11368
2cb085db 11369See ChangeLog.8 for earlier changes.
6922b018
KH
11370
11371;; Local Variables:
49b3bd82 11372;; coding: iso-2022-7bit
6922b018 11373;; End: