(file_dialog_unmap_cb): New function.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
2fa2f461
GM
12001-05-03 Gerd Moellmann <gerd@gnu.org>
2
a779d213
GM
3 * xfns.c (file_dialog_unmap_cb): New function.
4 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
5 where a dialog is closed via the window manager.
6
2fa2f461
GM
7 * xdisp.c (try_window_id): Cases of changes all in front of
8 the window start or all below the window end mostly rewritten.
9 (redisplay_window): Move the tests if try_window_id is
10 applicable to try_window_id.
11 (GIVE_UP): New macro.
12
3356df63
GM
132001-05-02 Gerd Moellmann <gerd@gnu.org>
14
a39202f6
GM
15 * xterm.c (expose_window): Return int. If W is the window
16 currently being updated, mark the frame garbaged. Fix
17 computation of rows intersecting the exposed rectangle.
18 (expose_window_tree): Stop when expose_window returns 0.
19
3356df63
GM
20 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
21 again if it has already been drawn.
22
a9d2fd1d
SM
232001-05-01 Stefan Monnier <monnier@cs.yale.edu>
24
25 * syntax.c (update_syntax_table): Check that oldi has the same
26 properties as old_prop before deciding not to invalidate.
27
c95fc5f1
GM
282001-04-30 Gerd Moellmann <gerd@gnu.org>
29
a9793e45
GM
30 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
31 read-only text that is so because of text properties.
32
c95fc5f1 33 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 34 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
35 windows that are components of a Lucid menu bar.
36
5a5d9185
GM
372001-04-27 Gerd Moellmann <gerd@gnu.org>
38
39 * term.c (turn_on_face): Fix reverse video handling on terminals
40 that don't support colors.
41
ba973f7a
GM
422001-04-26 Gerd Moellmann <gerd@gnu.org>
43
44 * editfns.c (save_excursion_restore): Don't use XBUFFER on
45 a non-buffer.
46
8c56a983
GM
472001-04-25 Gerd Moellmann <gerd@gnu.org>
48
a728644c
GM
49 * term.c (toggle_highlight): New function.
50 (turn_on_face): Change handling of reverse video.
51
2fa2f461
GM
52 * process.c (wait_reading_process_input): Call
53 record_asynch_buffer_change only if a timer really changed
54 buffers.
c88164fe 55
bfd8410f
GM
56 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
57 of the number of overlays to check.
58
be2488ca
GM
59 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
60
8c56a983
GM
61 * xdisp.c (try_window_id): Fix a case where window_end_pos
62 and window_end_bytepos were not adjusted.
63
522d42f7
GM
642001-04-23 Gerd Moellmann <gerd@gnu.org>
65
66 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
67 zero instead of -1.
68
78c1afb6
EZ
692001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
70
a9d2fd1d
SM
71 * process.c (wait_reading_process_input) [!subprocesses]:
72 Don't reference waiting_for_user_input_p, it's not defined in the
73 branch without async subprocesses support.
78c1afb6 74
a2fab450
GM
752001-04-19 Gerd Moellmann <gerd@gnu.org>
76
a122a38e
GM
77 * keyboard.c (delete_kboard): Prevent a dangling reference
78 from current_kboard to KB, which is freed.
79
a9d2fd1d
SM
80 * process.c (wait_reading_process_input):
81 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
82 read_key_sequence aware of buffer changes from under it.
83
0f8d6dc7
GM
842001-04-18 Gerd Moellmann <gerd@gnu.org>
85
eeffb293
GM
86 * xfaces.c (Qscalable_fonts_allowed): New variable.
87 (realizing_basic_faces_p): Removed.
2fa2f461
GM
88 (x_face_list_fonts): Special handling for realizing_basic_faces_p
89 removed.
eeffb293 90 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
2fa2f461
GM
91 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
92 default for scalable-fonts-allowed to t.
eeffb293 93
0f8d6dc7
GM
94 * fileio.c (Finsert_file_contents): If the file size returned from
95 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 96 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 97
eec2d1de
EZ
982001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
99
100 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
101 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
102 (__memalign_hook): Make the two prototypes consistent.
103
f4f480bd
GM
1042001-04-17 Gerd Moellmann <gerd@gnu.org>
105
106 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
107 matrix of mini-windows.
108
52283633
SM
1092001-04-12 Stefan Monnier <monnier@cs.yale.edu>
110
111 * intervals.c (find_interval): Don't rebalance during signal handling.
112
ec2423c9
GM
1132001-04-11 Gerd Moellmann <gerd@gnu.org>
114
30cb0001 115 * fns.c: Include blockinput.h.
52283633 116
ec2423c9
GM
117 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
118
719d83ad
GM
1192001-04-10 Gerd Moellmann <gerd@gnu.org>
120
60f8d735
GM
121 * fns.c (Fcompare_strings): Fix return values.
122
afffeb57
GM
123 * window.c (window_scroll): Change the meaning of N to mean
124 N screen-fulls or N lines.
125 (window_scroll_pixel_based, window_scroll_line_based)
126 (scroll_command, Fscroll_other_window): Change accordingly.
127
52283633
SM
128 * window.c (window_scroll_pixel_based, Frecenter):
129 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
130 height of the window.
131
132 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
133 instead of using it.last_visible_y for the height of the window.
52283633 134
719d83ad
GM
135 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
136
137 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
138 able to write to hidden and system files. Make file handles
139 non-inheritable.
140
141 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
142
522ed7fb
GM
1432001-04-09 Gerd Moellmann <gerd@gnu.org>
144
9170e5d4
GM
145 * fns.c (Fplist_get, Fplist_put): Add QUITs.
146
522ed7fb
GM
147 * window.c (window_internal_height): Return 1 less if the
148 window has a header line.
149
150 * xdisp.c (try_window_id): When scrolling on a terminal, take
151 the change of window_internal_height into account.
152
ceeb3d7d
EZ
1532001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
154
155 * gmalloc.c (align): If the argument SIZE would overflow
156 __malloc_ptrdiff_t, fail right away.
157
63685b9d
GM
1582001-04-06 Gerd Moellmann <gerd@gnu.org>
159
160 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
161 Make sure the tooltip is completely visible.
162 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
163
164 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
165
166 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
167
3ffb33bb
DL
1682001-04-06 Dave Love <fx@gnu.org>
169
52283633
SM
170 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
171 Fix test of `from'.
3ffb33bb 172
869fb12c
GM
1732001-04-06 Gerd Moellmann <gerd@gnu.org>
174
52283633 175 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 176
869fb12c
GM
177 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
178
441bf856
GM
1792001-04-05 Gerd Moellmann <gerd@gnu.org>
180
4d664b04
GM
181 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
182
52283633 183 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 184
30ca89f5
GM
185 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
186 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
187
188 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
189 shell widget's position only if it is non-null.
190
52283633
SM
191 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
192 Set f->output_data.x->widget to null after destroying it.
30ca89f5 193
81a81c0f
GM
194 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
195 FILENAME to bring it in synch with the documentation.
196
441bf856
GM
197 * xfaces.c (realizing_basic_faces_p): Renamed from
198 realize_default_face_p.
199 (realize_basic_faces): Set/clear realizing_basic_faces_p.
200 (realize_default_face): Don't set the flag.
201
702a1e8e
GM
2022001-04-04 Gerd Moellmann <gerd@gnu.org>
203
1013f4e3
GM
204 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
205
52283633
SM
206 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
207
1013f4e3
GM
208 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
209 the buffer that was used for echoing.
210
702a1e8e
GM
211 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
212 (first_font_matching): Removed unused function.
213 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
214 (may_use_scalable_font_p): Remove parameter FONT; rename
215 parameter NAME to FONT.
216 (x_face_list_fonts): Fix missing bounds check.
217 (realizing_default_face_p): New variable.
218 (realize_default_face): Set and clear that flag.
219 (x_face_list_fonts): When called during the realization of the
220 default face, and no matching fonts are found when ignoring
221 scalable fonts and fonts matching a regexp from
222 face-ignored-fonts, try without ignoring fonts.
223
f9dbcda4
GM
2242001-04-03 Gerd Moellmann <gerd@gnu.org>
225
ad18ffb1
GM
226 * xfns.c (postprocess_image): New function.
227 (lookup_image): Call it for all image types except PostScript.
228 (x_kill_gs_process): Call postprocess_image.
229
f9dbcda4
GM
230 * xterm.c (x_use_underline_position_properties): New variable.
231 (x_draw_glyph_string): Use it.
232 (syms_of_xterm): DEFVAR_BOOL it.
233
651f03b6
GM
2342001-04-02 Gerd Moellmann <gerd@gnu.org>
235
236 * xterm.c (x_alloc_nearest_color_1): New function.
237 (x_alloc_nearest_color): Use it.
238 (x_color_cells): Take a Display as argument, instead of a frame.
239 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
240 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
241 (x_initialize): Register cvt_string_to_pixel as resource converter
242 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
243
73d75a62
GM
2442001-03-30 Gerd Moellmann <gerd@gnu.org>
245
b2046df8
GM
246 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
247 (set_iterator_to_next): If a string from a display property ends,
248 consider the case that this might also be the end of an
249 overlay string having the display property.
250
52283633 251 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 252
87d8eba4
GM
253 * xdisp.c (reseat_to_string): Undo last change.
254
73d75a62
GM
255 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
256 matrix of a window when the header line changes, when
257 new rows are allocated, or when the width changes.
258
911a2406
EZ
2592001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
260
52283633 261 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 262
aea51abe
EZ
2632001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
264
265 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
266 deprecated.
267
176bc847
GM
2682001-03-29 Gerd Moellmann <gerd@gnu.org>
269
ed31fabf
GM
270 * data.c (Fsubr_interactive_form): New function.
271 (syms_of_data): Defsubr it.
272
176bc847
GM
273 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
274 (live_float_p, live_misc_p): Return 1 only if the offset of the
275 pointer in its block is >= 0.
276
e59d0e9d
GM
2772001-03-28 Paul Eggert <eggert@twinsun.com>
278
279 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
280 microseconds calcuation. Avoid double-rounding problem.
281 In doc string, warn that the result is approximate.
282
f827b862
GM
2832001-03-28 Gerd Moellmann <gerd@gnu.org>
284
30a3f61c
GM
285 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
286 bind `inhibit-eval-during-redisplay' to t.
287
288 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
289
290 * xdisp.c (inhibit_eval_during_redisplay)
291 (Qinhibit_eval_during_redisplay): New variables.
292 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
293 don't eval, return nil instead.
294 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
295 Initialize Qinhibit_eval_during_redisplay.
296
e719f5ae
GM
297 * xdisp.c (reseat_to_string): If STRING is multibyte, set
298 the iterator's multibyte_p flag.
299
deb2613a
GM
300 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
301 instead of setting it to zero; it's incremented for each frame
302 where the menu face is changed.
303
52283633
SM
304 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
305 change bottom shadow accordingly.
306
307 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
308 intersections here.
309 (expose_window): Do it here instead.
52283633 310 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 311
f827b862
GM
312 * bytecode.c (BYTE_CODE_QUIT): New macro.
313 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
314
4bde0ebb
GM
3152001-03-27 Gerd Moellmann <gerd@gnu.org>
316
607ec83c
GM
317 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
318 Give up if matrix starts in an ellipsis.
319 (init_from_display_pos): Do nothing if POS doesn't specify
320 a dpvec_index but the iterator has such a position.
321
0245398f
GM
322 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
323
aba25348
GM
324 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
325 x/y position is (0, 0) after destroying the menu bar, restore
326 its original position.
327
4bde0ebb
GM
328 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
329 (init_from_display_pos): Use it.
330 (try_window_reusing_current_matrix): Don't use cursor_row_p.
331
8cdb267e
GM
3322001-03-26 Gerd Moellmann <gerd@gnu.org>
333
334 * xdisp.c (try_window_id): Undo last change.
335
9948db79
EZ
3362001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
337
338 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
339
340 * buffer.c (syms_of_buffer): Doc fix.
341
2eddf899
GM
3422001-03-26 Gerd Moellmann <gerd@gnu.org>
343
344 * xfaces.c (x_update_menu_appearance): Use local variable
345 popup_path for setting font resources.
346
6c145d35
EZ
3472001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
348
6a65b1b5
EZ
349 * frame.c (Fframe_list): Don't reference tip_frame if
350 HAVE_WINDOW_SYSTEM is not defined.
351
6c145d35
EZ
352 * emacs.c (main): Update the copyright year. From Werner LEMBERG
353 <wl@gnu.org>.
354
d74c1900
GM
3552001-03-25 Gerd Moellmann <gerd@gnu.org>
356
20fbd925
GM
357 * xdisp.c (init_from_display_pos): Test invisible property
358 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 359
927c5b3b
GM
360 * xdisp.c (redisplay_internal) <update one window>: Make sure
361 last_arrow_position and last_arrow_string are set.
362
d74c1900
GM
363 * frame.c (Fframe_list): Don't return a tooltip frame.
364
091f8878
GM
3652001-03-23 Gerd Moellmann <gerd@gnu.org>
366
52283633
SM
367 * xdisp.c (mark_window_display_accurate_1): New function,
368 extracted from mark_window_display_accurate.
369 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
370 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
371 (mark_window_display_accurate): Use it.
372 (redisplay_internal): Use it for the selected window.
373 (redisplay_internal): Avoid duplicate mark_window_display_accurate
374 for the selected frame.
375
ac90c44f
GM
376 * xdisp.c Use make_number, for readability.
377 (try_window_id): Disable rows below the window end.
378 (try_window_reusing_current_matrix): Use cursor_row_p.
379 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
380 of rows.
381 (init_from_display_pos): If POS specifies a position in a display
382 vector, maybe get the iterator set up for that ellipsis.
43c09969 383
091f8878
GM
384 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
385
991786dd
EZ
3862001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
387
388 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
389
6c29b43c
GM
3902001-03-23 Gerd Moellmann <gerd@gnu.org>
391
392 * xfaces.c (x_update_menu_appearance): Use a different path
393 for Lucid popup menus.
394
d8731202
SM
3952001-03-22 Stefan Monnier <monnier@cs.yale.edu>
396
397 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
398
399 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
400 (string_buffer_position): Use `make_number'.
401
f61a541b
GM
4022001-03-22 Gerd Moellmann <gerd@gnu.org>
403
3c9e997b
GM
404 * xfaces.c (x_update_menu_appearance): Renamed from
405 x_set_menu_face_resources. Use different resources for popups.
406
407 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
408 (GC_CHECK_STRING_BYTES): Don't define.
409
364cd450
GM
410 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
411 Removed, together with subroutines.
412 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 413 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 414
d8731202
SM
415 * dispextern.h (x_set_menu_resources_from_menu_face):
416 Remove prototype.
364cd450 417
d8731202 418 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
419 Remove calls to x_set_menu_resources_from_menu_face.
420
d8731202
SM
421 * xfaces.c (xm_set_menu_resources_from_menu_face):
422 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
423
424 * xmenu.c: Include widget.h.
425 (single_submenu): Return int. Some cleanup.
426 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
427
140330de
GM
4282001-03-21 Gerd Moellmann <gerd@gnu.org>
429
430 * xterm.c (x_update_window_end): Handle overwritten mouse face
431 also for tool bar windows.
432 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
433 DRAW is DRAW_IMAGE_RAISED.
434
1741905c
GM
4352001-03-20 Gerd Moellmann <gerd@gnu.org>
436
fa88947e
GM
437 * print.c (syms_of_print): Doc fixes.
438
1741905c
GM
439 * fns.c (Fmd5): Doc fix.
440
ade0bee1
GM
4412001-03-19 Gerd Moellmann <gerd@gnu.org>
442
357e7376
GM
443 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
444 Clear area of the frame not occupied by the scroll bar.
445
c2c097cc
GM
446 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
447 tip frame's root window buffer to *tip* right after creating
448 the frame.
449
ade0bee1
GM
450 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
451 is an integer don't have to be for space characters.
452
88c6e37e
GM
4532001-03-16 Gerd Moellmann <gerd@gnu.org>
454
52283633
SM
455 * indent.c (current_column, current_column_1, Fmove_to_column)
456 (compute_motion): Handle characters from display vectors differently.
88c6e37e 457
c62eed76
KH
4582001-03-15 Kenichi Handa <handa@etl.go.jp>
459
460 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
461 drawing glyph string.
462
c899e7e6
GM
4632001-03-15 Gerd Moellmann <gerd@gnu.org>
464
d0bbfc99
GM
465 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
466 (command_loop_1): Undo last change.
467
03d1a189
GM
468 * xterm.c (fast_find_position): Return the correct vpos.
469
c899e7e6 470 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 471 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
472 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
473 Call store_symval_forwarding with BUF null.
474 (set_internal): Call store_symval_forwarding with the BUF
475 parameter passed to set_internal. Formerly, the value was always
476 set in the current buffer; the buffer recorded in specbind for
477 this case wasn't used.
478 (arith_driver): Reindent.
479
52283633
SM
480 * buffer.c (swap_out_buffer_local_variables):
481 Call store_symval_forwarding with BUF null.
c899e7e6
GM
482
483 * lisp.h (store_symval_forwarding): Change prototype.
484
485 * eval.c (specbind): Call store_symval_forwarding with BUF null.
486
57ac7c81
GM
4872001-03-14 Gerd Moellmann <gerd@gnu.org>
488
697617d9
GM
489 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
490 FOR_DELETION. Avoid resizing the mini-window of the selected
491 frame if FOR_DELETION is set.
492 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
493 (Fmake_frame_invisible): Change calls to do_switch_frame for new
494 signature.
495
496 * window.c (Fset_window_configuration): Change call to
497 do_switch_frame to new format.
498
499 * keyboard.c (quit_throw_to_read_char): Change call to
500 do_switch_frame to new format.
501
502 * lisp.h (do_switch_frame): Change prototype.
503
819dce0f
GM
504 * frame.c (Fframe_parameters): In the `buffer-list' frame
505 parameter, store the buffer list of FRAME, not the list of the
506 selected frame.
507
57ac7c81
GM
508 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
509 box just because the glyph row's full_width_p flag is set.
510
65008712
GM
5112001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
512
513 * xdisp.c (highlight_trailing_whitespace): On character terminals,
514 skip the padding blanks inserted in extend_face_to_end_of_line,
515 before checking for trailing whitespace.
516
159cf431
GM
5172001-03-13 Gerd Moellmann <gerd@gnu.org>
518
52283633 519 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
520 Remove special handling for LessTif/Motif.
521 (toplevel): Don't include Xm/Xm.h.
522
52283633
SM
523 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
524 Remove workaround code for LessTif; it doesn't work anymore.
525
2564ea1b 526 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 527 Xm/ScrollBarP.h.
afcdc0a1 528
52283633
SM
529 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
530 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
531 contemporary LessTif.
532
52283633
SM
533 * xfaces.c (xm_set_menu_resources_from_menu_face):
534 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 535
159cf431
GM
536 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
537 removing button grabs.
538
c6f7429a
KH
5392001-03-13 Kenichi Handa <handa@etl.go.jp>
540
cb82d767
KH
541 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
542 and clip-large-size-font as obsolete.
543
c6f7429a
KH
544 * lread.c (read_multibyte): Check the validity of multibyte
545 sequence. If invalid, return the first byte.
546
760cefb5
GM
5472001-03-12 Gerd Moellmann <gerd@gnu.org>
548
549 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
550 before running the command; timer functions or process
551 filters may have set it.
552
5141f9d0
EZ
5532001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
554
555 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
556 Doc fix.
557
b6a15240
GM
5582001-03-12 Gerd Moellmann <gerd@gnu.org>
559
560 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
561 to sprintf.
562
95522746
GM
5632001-03-09 Gerd Moellmann <gerd@gnu.org>
564
db14cfc5
GM
565 * dispextern.h (string_buffer_position): Add prototype.
566
52283633 567 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
568 (single_display_prop_string_p): New functions.
569
570 * xterm.c (note_mouse_highlight): If there's no help-echo on
571 a string, look at the buffer text ``under'' it.
572
573 * keyboard.c (make_lispy_event): Add string info to the event,
574 analogous to what's done on mode lines.
575 (read_key_sequence): For a click on a string, consider `local-map'
576 and `keymap' of that string.
577
52283633
SM
578 * keyboard.c (make_lispy_event, make_lispy_movement):
579 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
580
581 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
582
583 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
584 POS; return void.
585
95522746
GM
586 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
587 flags argument to emacs_open; it seems to conflict with O_EXCL.
588
898a399d
KH
5892001-03-09 Kenichi Handa <handa@etl.go.jp>
590
28cd4910
KH
591 * composite.h (struct composition): Change types of members;
592 glyph_len to unsigned, width to unsigned short.
898a399d 593
4cdf6a6c
AI
5942001-03-08 Andrew Innes <andrewi@gnu.org>
595
596 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
597 menu titles.
598
129004d3
GM
5992001-03-08 Gerd Moellmann <gerd@gnu.org>
600
221dd3e7
GM
601 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
602 instead of nil.
603
52283633 604 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
605 help-echo in strings.
606 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
607 (fast_find_string_pos): New function.
608
52283633
SM
609 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
610 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
611
612 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
613 Handle `mouse-face'.
614
615 * dispextern.h (face_at_string_position): Change prototype.
616
52283633 617 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 618
129004d3
GM
619 * keyboard.c (make_lispy_event): Avoid generating drag events
620 if the mouse hasn't actually moved to another buffer position.
52283633 621
80c8ab8c
DL
6222001-03-08 Dave Love <fx@gnu.org>
623
129004d3 624 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 625
989521fd
GM
6262001-03-08 Gerd Moellmann <gerd@gnu.org>
627
628 * process.c (Fset_process_window_size): Fix a typo.
629
bb5c338d
KH
6302001-03-08 Kenichi Handa <handa@etl.go.jp>
631
632 * coding.c (detect_coding_sjis): Do more rigid check.
633 (detect_coding_big5): Likewise.
634 (decode_coding_sjis_big5): Likewise.
635 (Fdetect_coding_region): Call detect_coding_system with tailing
636 anchor byte `\0' for more rigid detection.
52283633 637 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
638 (Fdetect_coding_string): Likewise.
639
8b8f9197
SM
6402001-03-07 Stefan Monnier <monnier@cs.yale.edu>
641
642 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
643 a string before extracting its data.
644
3bdf2660
GM
6452001-03-07 Gerd Moellmann <gerd@gnu.org>
646
647 * window.c (Frecenter): Rewrite code handling negative values
648 of ARG on graphical frames.
649
6502001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
651
652 * window.c (displayed_window_lines): If W->start is outside the
653 accessible portion of the buffer, call start_display with BEGV or
654 ZV instead of W->start.
655
471f86b9
GM
6562001-03-07 Gerd Moellmann <gerd@gnu.org>
657
2ab62c6c
GM
658 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
659
471f86b9
GM
660 * process.c (Fset_process_filter): Don't crash if the input
661 file descriptor of PROCESS is closed.
662 (Fset_process_window_size): Likewise.
663
101922c3
GM
6642001-03-06 Kenichi Handa <handa@etl.go.jp>
665
666 * xterm.c (XTflash): Make the timeout of select shorter, and call
667 select repeatedly until the desired time expires.
668
45d051a7
GM
6692001-03-06 Gerd Moellmann <gerd@gnu.org>
670
671 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
672
673 * xfns.c (Fx_create_frame): Clear Vwindow_list.
674
675 * lisp.h (Vwindow_list): Declare extern.
676
8f372c46
EZ
6772001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
678
679 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
680
f16a7aa5
GM
6812001-03-06 Gerd Moellmann <gerd@gnu.org>
682
157ae273
GM
683 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
684 to detect a case where we have to highlight a different region
685 despite not having left the currently highlighted region.
686 Set mouse_face_overlay in the x_display_info.
45d051a7 687 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
688
689 * xterm.h (struct x_display_info): Add mouse_face_overlay.
690
691 * buffer.c (mouse_face_overlay_overlaps): New function.
692
693 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
694 (Qmouse_face): Declare extern.
695
f16a7aa5
GM
696 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
697 if face_change_count is non-zero.
698
827afcac
KH
6992001-03-06 Kenichi Handa <handa@etl.go.jp>
700
701 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
702 that the source is unibyte.
703
14c7242e
DL
7042001-03-05 Dave Love <fx@gnu.org>
705
827afcac 706 * xterm.c (XTmouse_position): Fix typo.
14c7242e 707
c28b847b
GM
7082001-03-05 Gerd Moellmann <gerd@gnu.org>
709
710 * minibuf.c (read_minibuf): Clean up the binding stack if
711 called noninteractively.
712
b86644f2
KH
7132001-03-05 Kenichi Handa <handa@etl.go.jp>
714
715 * coding.c (syms_of_coding): Docstring modified.
716
203682cc 7172001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
718
719 * charset.c (char_to_string): If a single byte char has modifier
720 bits that can't be reflected to the character code, ignore them
45d051a7 721 instead of signaling an error.
b86644f2 722
e30bd7b7
EZ
7232001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
724
725 * s/msdos.h: Update copyright notice.
726
727 * dosfns.h: Update copyright notice.
728
729 * dosfns.c: Update copyright notice.
730
731 * msdos.c: Update copyright notice.
732
b52b65bd
GM
7332001-03-02 Gerd Moellmann <gerd@gnu.org>
734
735 * xterm.c (glyph_rect): New function.
736 (XTmouse_position): Use it to raise the threshold for mouse
737 movement event generation.
738
53c4b1e6
EZ
7392001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
740
741 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
742 specifies (reverse . t), reverse the initial screen colors.
743 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
744 but we are reversing the colors, set bg_set, not fg_set.
745 Likewise for setting background-color and reversing: set fg_set.
746 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
747 in effect.
748
749 * xfaces.c (Finternal_set_lisp_face_attribute)
750 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
751 parameters alist.
752
f964b4d7
GM
7532001-03-02 Gerd Moellmann <gerd@gnu.org>
754
ef53d75e
GM
755 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
756 to a single slash in the middle of file names.
757
52283633 758 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
759 Accept only alphanumeric time zone names.
760
f964b4d7
GM
761 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
762 or width area.
763 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
764 a widget to zero height.
52283633 765
c3c45f65
GM
7662001-03-01 Gerd Moellmann <gerd@gnu.org>
767
768 * window.c (Fwindow_end): Call move_it_past_eol only if
769 ending up on a partially visible line.
770
028d739a
DL
7712001-03-01 Dave Love <fx@gnu.org>
772
773 * ccl.c (Fccl_execute): Doc fix.
774
57c5889c
GM
7752001-03-01 Gerd Moellmann <gerd@gnu.org>
776
35f59f6b
GM
777 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
778 of the tool bar before calling x_figure_window_size.
779
f84ff02c
GM
780 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
781 NULL after destroying it, otherwise XTread_socket can access a
782 destroyed widget when input is unblocked.
783
8b8f9197 784 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 785
57c5889c
GM
786 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
787 same name as before, although there was a change in fontsets.
788
224227d1
KR
7892001-02-28 Ken Raeburn <raeburn@gnu.org>
790
4560730a
KR
791 * lisp.h (Fframe_parameter): Declare.
792
224227d1 793 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 794 Lisp_Object.
224227d1 795
ece93c02
GM
7962001-02-28 Gerd Moellmann <gerd@gnu.org>
797
11ef99b9
GM
798 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
799 NULL instead.
800
801 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
802 NULL instead.
803
ece93c02
GM
804 * alloc.c (toplevel): Include process.h.
805 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
806 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
807 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
808 (allocate_vector, allocate_hash_table, allocate_window)
809 (allocate_frame, allocate_process, allocate_other_vector):
810 New functions.
ece93c02
GM
811 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
812 (mark_maybe_pointer): New function.
52283633 813 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
814 remain and not Lisp_Objects.
815 (min_heap_address, max_heap_address): New variables.
816 (mem_find): Return MEM_NIL if START is below min_heap_address or
817 above max_heap_address.
818 (mem_insert): Compute min_heap_address and max_heap_address.
819
820 * process.c (make_process): Use allocate_process.
821
822 * frame.c (make_frame): Use allocate_frame.
823
824 * window.c (make_window, make_dummy_parent): Use allocate_window.
825 (Fcurrent_window_configuration): Use allocate_other_vector.
826
827 * lisp.h (allocate_vectorlike): Remove prototype.
828 (allocate_vector, allocate_other_vector, allocate_frame)
829 (allocate_window, allocate_process, allocate_hash_table):
830 Add prototypes.
831
832 * fns.c (Fdelete, larger_vector): Use allocate_vector.
833 (make_hash_table, copy_hash_table): Use allocate_hash_table.
834
063af457
KH
8352001-02-27 Kenichi Handa <handa@etl.go.jp>
836
837 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
838 treat the produced bytes as a valid multibyte sequence.
839
840 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
841 (ccl_driver) <CCL_WriteMultibyteChar2>:
842 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
843 <ccl_finish>: Set ccl->eight_bit_control properly.
844
845 * ccl.h (struct ccl_program): New member eight_bit_control.
846
f58c6494
SM
8472001-02-26 Stefan Monnier <monnier@cs.yale.edu>
848
849 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
850 accessible_keymaps_char_table.
851 (accessible_keymaps_char_table): Obey `is_metized'.
852 (where_is_internal, Fwhere_is_internal): Don't confuse int and
853 Lisp_Object.
854
c596c392
GM
8552001-02-26 Gerd Moellmann <gerd@gnu.org>
856
857 * dispnew.c: Check HAVE_TERM_H before including term.h.
858
425de386
AI
8592001-02-24 Andrew Innes <andrewi@gnu.org>
860
861 * makefile.w32-in: Update copyright notice.
862
2ba11bbd
SM
8632001-02-24 Stefan Monnier <monnier@cs.yale.edu>
864
865 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
866
66c56ed1
KH
8672001-02-24 Kenichi Handa <handa@etl.go.jp>
868
4c1593ce
KH
869 * Makefile.in (lisp): Add international/utf-8.elc.
870
66c56ed1
KH
871 * fontset.c (Fnew_fontset): Fix handling of the case that an
872 element of FONTLIST is a cons of family and registry.
873
796ead7e
JR
8742001-02-23 Jason Rumney <jasonr@gnu.org>
875
876 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
877 to height unconditionally.
878
879 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 880 background face to the end of the drawing area in the text area, only.
796ead7e
JR
881 (x_insert_glyphs): Call window_box_left to obtain the left
882 x-coordinate of the area to shift.
883
884 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
885 safe_run_hooks.
886
f6839838
AI
8872001-02-22 Andrew Innes <andrewi@gnu.org>
888
52283633 889 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
890 ($(BLD)\dispnew.obj):
891 ($(BLD)\editfns.obj):
892 ($(BLD)\fileio.obj):
893 ($(BLD)\filelock.obj):
894 ($(BLD)\keyboard.obj):
895 ($(BLD)\w32proc.obj):
896 ($(BLD)\process.obj):
897 ($(BLD)\sysdep.obj): Ditto.
898
899 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
900 header files.
52283633
SM
901 ($(BLD)/dispnew.$(O)):
902 ($(BLD)/editfns.$(O)):
903 ($(BLD)/fileio.$(O)):
904 ($(BLD)/filelock.$(O)):
905 ($(BLD)/keyboard.$(O)):
906 ($(BLD)/w32proc.$(O)):
907 ($(BLD)/process.$(O)):
f6839838
AI
908 ($(BLD)/sysdep.$(O)): Ditto.
909
c224f70b
GM
9102001-02-22 Gerd Moellmann <gerd@gnu.org>
911
51695746
GM
912 * xdisp.c (forward_to_next_line_start): When taking the shortcut
913 at the start of the function, check that the \n in it->c is
914 from the iterator's current position.
52283633 915
a61b7058
GM
916 * xdisp.c (handle_single_display_prop): Add parameter
917 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
918 properties which replace the display of text with something else.
919 (handle_display_prop): Call handle_single_display_prop with
920 additional argument saying if we already replaced text display
921 with something else. Use AREF.
52283633 922 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
923 (decode_mode_spec_coding): Use AREF and ASIZE.
924
3473f362
GM
925 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
926 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
927 * vmstime.h: Files removed.
52283633 928
2bb58df3
GM
929 * unexencap.c, unexfx2800.c: Files removed.
930
c224f70b
GM
931 * dispnew.c (direct_output_for_insert): Give up if we are showing
932 a message or just cleared the message because we might need to
933 resize the echo area window or display an empty echo area.
934
ffc9ff0c
GM
9352001-02-21 Gerd Moellmann <gerd@gnu.org>
936
0528abe1
GM
937 * xdisp.c (redisplay_internal): Do the
938 mark_window_display_accurate after all windows have been
939 redisplayed because this call resets flags in buffers which are
940 needed for proper redisplay.
941
52283633
SM
942 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
943 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
944 the old names.
945
52283633
SM
946 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
947 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
948
949 * msdos.h (struct x_output): Rename busy_window to
950 hourglass_window, busy_p to hourglass_p.
951
52283633
SM
952 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
953 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
954
955 * xfns.c: Rename everything containing *busy_cursor* and similar
956 to *hourglass*.
957 (syms_of_w32fns): Rename x-busy-pointer-shape to
958 x-hourglass-pointer-shape, display-busy-cursor to
959 display-hourglass, busy-cursor-delay to hourglass-delay.
960
961 * w32fns.c: Rename everything containing *busy_cursor* and similar
962 to *hourglass*.
963 (syms_of_w32fns): Rename x-busy-pointer-shape to
964 x-hourglass-pointer-shape, display-busy-cursor to
965 display-hourglass, busy-cursor-delay to hourglass-delay.
966
967 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
968 of its busy_p flag.
969
970 * dispextern.h (start_hourglass, cancel_hourglass)
971 (display_hourglass_p): Renamed from *busy_cursor*.
972
ab2c5f0a
GM
9732001-02-20 Gerd Moellmann <gerd@gnu.org>
974
d17e49a8
GM
975 * keyboard.c (read_char): When an event from unread-command-events
976 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
977
fa97adf6
GM
978 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
979 equal to the current buffer.
980
ab2c5f0a
GM
981 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
982 nil, otherwise we're left with truncate_lines t when a message
983 is printed with message-truncate-lines bound to t.
984
aeac019e
GM
9852001-02-19 Gerd Moellmann <gerd@gnu.org>
986
c8bc6f65
GM
987 * window.c (Fmove_to_window_line): Undo last change.
988 (displayed_window_lines): Call line_bottom_y to determine
989 the line's bottom position.
990
991 * dispextern.h (line_bottom_y): Add prototype.
992
52283633 993 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
994 (pos_visible_p): Use it.
995
980a2d69
GM
996 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
997 set redisplaying_p to 0 here instead of in Frecursive_edit.
998 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
999 set redisplaying_p.
1000
52283633 1001 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
1002 New variables.
1003 (syms_of_xdisp): Initialize new variables.
1004 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
1005 Specbind `inhibit-menubar-update' when updating the menu bar.
1006
65048e97
GM
1007 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
1008 safe_run_hooks.
1009
1010 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
1011 safe_run_hooks.
1012
a57c4026
GM
1013 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
1014 is null.
1015
aeac019e
GM
1016 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
1017 to the start of the file.
1018
76846b31
GM
10192001-02-16 Gerd Moellmann <gerd@gnu.org>
1020
f3f053f3 1021 * window.c (set_window_buffer): Fix last change.
52283633 1022
f3f053f3
GM
1023 * window.c (set_window_buffer): Set window's vscroll to 0.
1024
dad75588
GM
1025 * window.c (coordinates_in_window): Increase width of area
1026 where the vertical line can be dragged.
1027
c220b753
GM
1028 * xterm.c (x_set_glyph_string_background_width): Extend the
1029 background face to the end of the drawing area in the text
1030 area, only.
1031
c56b1c1b
GM
1032 * xdisp.c (handle_single_display_prop): Set iterator's position
1033 to where the `display' property starts, like for images.
1034 (dump_glyph): New function.
1035 (dump_glyph_row): Use it. Dump info about marginal areas.
1036
1037 * dispnew.c (direct_output_for_insert): Recognize more cases where
1038 glyphs can be written instead of being inserted.
1039
1040 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1041 the left x-coordinate of the area to shift.
1042
76846b31
GM
1043 * dired.c (directory_files_internal): Set result list to nil
1044 before retrying.
1045
0fc71a77
KH
10462001-02-15 Kenichi Handa <handa@etl.go.jp>
1047
1048 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1049 invalid multibyte sequence, treat *SRC as a character of
1050 eight-bit-graphic.
1051
25078b54
EZ
10522001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1053
1054 * textprop.c (Fset_text_properties): Doc fix.
1055
8399f8a0
GM
10562001-02-15 Gerd Moellmann <gerd@gnu.org>
1057
1058 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1059
9a2a6f73
DL
10602001-02-14 Dave Love <fx@gnu.org>
1061
1062 * coding.c: Doc and message fixes.
1063
bf853fee
AI
10642001-02-14 Andrew Innes <andrewi@gnu.org>
1065
1066 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1067 Emacs frame above the screen size.
1068
78c663d8
GM
10692001-02-14 Gerd Moellmann <gerd@gnu.org>
1070
1071 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1072
7cc9f69f
GM
10732001-02-13 Gerd Moellmann <gerd@gnu.org>
1074
0a411995
GM
1075 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1076 case that TO ends up beyond ZV after running before-change-functions.
1077
5ddc1b75
GM
1078 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1079 the selected window if it is showing the buffer in question.
1080
7cc9f69f
GM
1081 * dired.c (directory_files_internal): Initialize errno.
1082 (toplevel): Include errno.h.
1083
2e6621ca
GM
10842001-02-13 Kenichi Handa <handa@etl.go.jp>
1085
1086 * xfaces.c (best_matching_font): New parameter width_ratio.
1087 Multiply avgwidth by width_ratio.
1088 (choose_face_font): Call best_matching_font with width_ratio
1089 calculated from the column width of C.
1090
60222d69
AI
10912001-02-12 Andrew Innes <andrewi@gnu.org>
1092
1093 The following changes are to draw box lines inside characters area
1094 if line-width is negative.
52283633 1095
60222d69
AI
1096 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1097 face->box_line_width is negative.
1098 (x_produce_stretch_glyph): Likewise.
1099 (x_produce_glyphs): Likewise.
1100 (x_estimate_mode_line_height): Likewise.
1101 (x_draw_glyph_string_background): Likewise.
1102 (x_draw_glyph_string_foreground): Likewise.
1103 (x_draw_composite_glyph_string_foreground): Likewise.
1104 (x_draw_glyph_string_box): Likewise.
1105 (x_draw_image_foreground): Likewise.
1106 (x_draw_image_relief): Likewise.
1107 (x_draw_image_foreground_1): Likewise.
1108 (x_draw_image_glyph_string): Likewise.
1109
9804b846
KH
11102001-02-09 Kenichi Handa <handa@etl.go.jp>
1111
1112 The following changes are to draw box lines inside characters area
1113 if line-width is negative.
52283633 1114
9804b846
KH
1115 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1116 face->box_line_width is negative.
1117 (x_produce_stretch_glyph): Likewise.
1118 (x_produce_glyphs): Likewise.
1119 (x_estimate_mode_line_height): Likewise.
1120 (x_draw_glyph_string_background): Likewise.
1121 (x_draw_glyph_string_foreground): Likewise.
1122 (x_draw_composite_glyph_string_foreground): Likewise.
1123 (x_draw_glyph_string_box): Likewise.
1124 (x_draw_image_foreground): Likewise.
1125 (x_draw_image_relief): Likewise.
1126 (x_draw_image_foreground_1): Likewise.
1127 (x_draw_image_glyph_string): Likewise.
1128
1129 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1130 and :line-width can be negative.
52283633 1131 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1132
49be9f70
JR
11332001-02-09 Jason Rumney <jasonr@gnu.org>
1134
1135 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1136 characters the same as ASCII and latin-1.
1137 (x_display_and_set_cursor): Check for the focus frame's selected
1138 window instead of selected_window.
1139 (x_after_update_window_line): Don't clear if frame's internal
1140 border width is zero.
1141 (x_new_font): Don't change a tooltip's size.
1142 (w32_initialize): Set char_ins_del_ok to 1.
1143
1144 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1145 (x_set_font): If font hasn't changed, avoid recomputing
1146 faces and other things.
52283633
SM
1147 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1148 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1149 (x_create_tip_frame): Prevent changing the tooltip's
1150 background color by specifying a color for the default font
1151 in .Xdefaults.
1152 (Qcancel_timer): New variable.
1153 (syms_of_w32fns): Initialize and staticpro it.
1154 (Fx_hide_tip, Fx_show_tip): Use it.
1155 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1156 the timer.
1157 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1158
1159 * w32.c (init_environment): Duplicate local string before putenv.
1160
555e35d2
SZ
11612001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1162
1163 * charset.c (Fstring): A typo.
1164
19c92c94
KH
11652001-02-09 Kenichi Handa <handa@etl.go.jp>
1166
e47a1c33
KH
1167 * charset.c (Fstring): If all arguments are less than 256, return
1168 a unibyte string.
1169
1170 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1171 return a unibyte string.
1172
19c92c94
KH
1173 * coding.c (code_convert_region): After detecting a coding, if
1174 nothing found, set coding->composing to COMPOSITION_NO.
1175 (decode_coding_string): Likewise.
1176
d8e675f5
SM
11772001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1178
1179 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1180 to avoid overflow.
1181
bd503487
KH
11822001-02-07 Kenichi Handa <handa@etl.go.jp>
1183
1184 * charset.c (parse_str_to_multibyte): New function.
1185
1186 * charset.h (parse_str_to_multibyte): Extern it.
1187
1188 * print.c (print_string): If we are going to print a unibyte
1189 string into a multibyte buffer, convert the string to multibyte by
1190 str_to_multibyte.
1191
a8370d72
AI
11922001-02-06 Andrew Innes <andrewi@gnu.org>
1193
1194 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1195 been created. It seems we can get sent window messages such as
1196 WM_ERASEBKGND before we properly update a frame.
1197
c363a1d6
GM
11982001-02-06 Gerd Moellmann <gerd@gnu.org>
1199
1200 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1201 Avoid some unnecessary cursor positioning.
1202
a08332c0
GM
12032001-02-05 Gerd Moellmann <gerd@gnu.org>
1204
52283633 1205 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1206 (LFACE_AVGWIDTH): New macro.
1207 (LFACEP): Use AREF.
1208 (check_lface_attrs): Check LFACE_AVGWIDTH.
1209 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1210 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1211 (merge_face_vectors): Check LFACE_AVGWIDTH.
1212 (Finternal_make_lisp_face): Use AREF.
1213 (xm_set_menu_resources_from_menu_face)
1214 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1215 (Finternal_lisp_face_empty_p): Use AREF.
1216 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1217 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1218 Compare average widths..
1219 (best_matching_font): Arrange for comparing average widths.
1220
52283633
SM
1221 * dispextern.h (enum lface_attribute_index):
1222 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1223
5cb3c8d4
DL
12242001-02-05 Dave Love <fx@gnu.org>
1225
1226 * puresize.h: Revert last change following loadup.el change.
1227
193fba87
AI
12282001-02-05 Andrew Innes <andrewi@gnu.org>
1229
1230 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1231 invocation of temacs, to work with Windows 2000.
1232 (bootstrap-emacs): Ditto.
1233
e16f52ce
GM
12342001-02-05 Gerd Moellmann <gerd@gnu.org>
1235
7a58ab59
GM
1236 * xterm.c (x_display_and_set_cursor): Check for the focus
1237 frame's selected window instead of selected_window.
1238
e89aaabd
GM
1239 * xdisp.c (try_scrolling): If point is in the line below the
1240 window, make sure to move the iterator at least a canonical
1241 char height down.
1242
52283633 1243 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1244
789ce875
KH
12452001-02-05 Kenichi Handa <handa@etl.go.jp>
1246
52283633
SM
1247 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1248 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1249 (ccl_driver): If the CCL program is terminated because of
1250 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1251 destination instead of throwing them away.
1252
20b28f82
GM
12532001-02-02 Gerd Moellmann <gerd@gnu.org>
1254
79fb38c0
GM
1255 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1256 faces and other things.
1257
20b28f82
GM
1258 * xdisp.c (get_next_display_element): Fix case of empty
1259 display table entry.
1260
5a72551e
EZ
12612001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1262
eb24d0bf
EZ
1263 * editfns.c (Fconstrain_to_field): Doc fix.
1264
6a3f48c7
EZ
1265 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1266 into `thoroughly', to make it consistent with the doc string.
1267
5a72551e
EZ
1268 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1269
01acdb05
GM
12702001-02-01 Gerd Moellmann <gerd@gnu.org>
1271
0353b28f
GM
1272 * search.c (search_buffer): Call set_search_regs with a byte
1273 position, not a character position.
1274
01acdb05
GM
1275 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1276 minibuffer-only,
1277
e86b5133
EZ
12782001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1279
1280 * frame.c (Fmodify_frame_parameters): Doc fix.
1281
7442878f
GM
12822001-01-31 Gerd Moellmann <gerd@gnu.org>
1283
01acdb05
GM
1284 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1285 identifier which is not reserved by Standard C.
52283633 1286
7442878f
GM
1287 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1288
1289 * window.c (enum window_part): New enumeration.
1290 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1291 Qright_bitmap_area.
1292 (coordinates_in_window): Return an enumerator from enum
1293 window_part. Fix handling of right scroll bar.
1294 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1295 `right-fringe' instead of `left-bitmap-area' and
1296 `right-bitmap-area'. Use enumerators from enum window_part
1297 instead of hard-coded integers.
52283633
SM
1298 (check_window_containing, window_from_coordinates):
1299 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1300 (syms_of_window): Replace Qleft_bitmap_area and
1301 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1302
7c132cba
EZ
13032001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1304
1305 * editfns.c (Fformat_time_string): Doc fix.
1306
c359dd9e
SM
13072001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1308
1309 * keymap.c (Fwhere_is_internal): Use the first valid binding
1310 if no ascii binding is found (when firstonly is t).
1311
ce070307
GM
13122001-01-31 Gerd Moellmann <gerd@gnu.org>
1313
b4f30ec5
GM
1314 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1315 instead of Finteractive_p.
1316
1317 * lisp.h (interactive_p): Add prototype.
1318
1319 * eval.c (interactive_p): New function.
1320 (Finteractive_p): Use it.
1321
ce070307
GM
1322 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1323
f57b6e64
DL
13242001-01-31 Dave Love <fx@gnu.org>
1325
d61c7afe
DL
1326 * .gdbinit (hook-run): Define to run xreload.
1327
f57b6e64
DL
1328 * textprop.c (Fset_text_properties): Fix newline in doc string.
1329
eef93f99
GM
13302001-01-30 Gerd Moellmann <gerd@gnu.org>
1331
52283633
SM
1332 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1333 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1334
1335 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1336 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1337 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1338
1339 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1340 height.
1341
d9c1f6f9
DL
13422001-01-30 Dave Love <fx@gnu.org>
1343
1344 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1345 AFTER_POTENTIAL_GC.
1346
e8f044a0
GM
13472001-01-29 Gerd Moellmann <gerd@gnu.org>
1348
52283633
SM
1349 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1350 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1351
8e1db7b3
EZ
13522001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1353
1354 * textprop.c (Fset_text_properties): Doc fix.
1355
4eefd9d2
GM
13562001-01-29 Gerd Moellmann <gerd@gnu.org>
1357
1358 * xdisp.c (forward_to_next_line_start): Remove xassert.
1359
fccb8288
EZ
13602001-01-29 Jason Rumney <jasonr@gnu.org>
1361
4eefd9d2 1362 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1363 returning without releasing it.
1364
76581eab
KH
13652001-01-29 Kenichi Handa <handa@etl.go.jp>
1366
1367 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1368 for '^', '$', and '\0'.
1369
83a96b4d
AC
13702001-01-28 Andrew Choi <akochoi@i-cable.com>
1371
5604ec34
AC
1372 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1373 regex for '^', '$', and '\0'.
1374
83a96b4d
AC
1375 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1376 only if current_sblock has been initialized.
1377
1378 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1379 terminal frame even if it is the only visible frame.
1380
c09a6440
KH
13812001-01-28 Kenichi Handa <handa@etl.go.jp>
1382
1383 * fontset.c (font_family_registry): Even if FONTNAME conform to
1384 XLFD, if it specifies other fields than family and registry,
52283633 1385 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1386 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1387 a signle byte character. Don't set FAMILY part to nil here.
1388 It is handled by the caller choose_face_font.
c09a6440
KH
1389 (Fnew_fontset): Call font_family_registry with FORCE 0.
1390 (Fset_fontset_font): Likewise.
1391
4dcd74e6
GM
13922001-01-27 Gerd Moellmann <gerd@gnu.org>
1393
1394 * xdisp.c (display_line): Don't treat a newline as fitting
1395 on the line.
1396
d2906bf8
GM
13972001-01-26 Gerd Moellmann <gerd@gnu.org>
1398
0130fe1a
GM
1399 * window.c (size_window): Set the window's orig_top to nil when
1400 changing heights, so that a future shrink_mini_window won't
1401 restore a bogus height.
1402
550f0e6a
GM
1403 * frame.c (do_switch_frame): If selected frame has a mini-window,
1404 resize that to exact size.
1405
b7b20fbd
GM
1406 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1407
a47b7816
GM
1408 * xdisp.c (display_line): Simplify check for glyphs fitting
1409 entirely in the line.
1410
d2906bf8
GM
1411 * xfns.c (xic_style): New variable.
1412 (create_frame_xic): Move static variable to global scope for
550f0e6a 1413 the case that `static' gets defined away.
d2906bf8 1414
73df2b1e
KH
14152001-01-26 Kenichi Handa <handa@etl.go.jp>
1416
1417 * coding.c (decode_coding): Set a flag for inhibiting
1418 inconsistent eol.
1419 (code_convert_region): Always set saved_coding_symbol.
1420 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1421 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1422
6613cfc4
GM
14232001-01-25 Gerd Moellmann <gerd@gnu.org>
1424
c5e6e06b
GM
1425 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1426 XClearArea.
1427
1428 * xterm.c (x_after_update_window_line): Don't clear if frame's
1429 internal border width is zero.
1430 (x_clear_area): New function.
1431 (x_after_update_window_line, x_clear_end_of_line)
1432 (x_scroll_bar_create, x_scroll_bar_set_handle)
1433 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1434 instead of XClearArea.
1435
1436 * xterm.h (x_clear_area): Add prototype.
1437
6613cfc4
GM
1438 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1439 which doesn't seem necessary anymore with Lesstif 0.92.
1440
650cc6cc
DL
14412001-01-25 Dave Love <fx@gnu.org>
1442
34ac3367
DL
1443 * puresize.h (BASE_PURESIZE): Up to 720000.
1444
650cc6cc
DL
1445 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1446
5e37dc22
GM
14472001-01-25 Gerd Moellmann <gerd@gnu.org>
1448
e1e441f9
GM
1449 * xdisp.c (echo_area_display): Don't call redisplay_internal
1450 when Emacs is shutting down. We can't run hooks etc. that
1451 would be necessary to do a redisplay.
1452
5e37dc22
GM
1453 * lread.c (read_integer): Use type EMACS_INT instead of int.
1454
0fb94c7f
EZ
14552001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1456
1457 * ccl.c (ccl_driver): Fix last change.
1458
e3778624
KH
14592001-01-25 Kenichi Handa <handa@etl.go.jp>
1460
1461 * ccl.h (sturct ccl_program): New member suppress_error.
1462
bb264518 1463 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1464 insert error message to the output.
1465 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1466
1467 * coding.h (struct coding_system): New member suppress_error.
1468
1469 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1470 (Fset_terminal_coding_system_internal): Set the member
1471 suppress_error to 1.
1472 (Fset_safe_terminal_coding_system_internal): Likewise.
1473
245ed2b1
SM
14742001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1475
1476 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1477 as if it was a `charset'.
1478
f9aaedb6
GM
14792001-01-24 Gerd Moellmann <gerd@gnu.org>
1480
1481 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1482 value in where_is_cache; the next lookup in the cache returns
1483 something bogus if we do.
1484
c3902c3e
EZ
14852001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1486
1487 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1488 if HAVE_WINDOW_SYSTEM isn't defined.
1489
3497f73e
GM
14902001-01-24 Gerd Moellmann <gerd@gnu.org>
1491
e7e41584
GM
1492 * fns.c (sweep_weak_table): Fix code taking items out of
1493 the hash collision chain. Some cleanup.
1494
3497f73e
GM
1495 * xterm.c (x_new_font): Don't change a tooltip's size.
1496
1497 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1498 background color by specifying a color for the default font
1499 in .Xdefaults.
1500
3d48e687
KH
15012001-01-24 Kenichi Handa <handa@etl.go.jp>
1502
96531b20
KH
1503 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1504 a workaround for SunOS 4's cc.
1505 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1506 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1507 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1508 statement.
3d48e687 1509
a30629d2
GM
15102001-01-23 Gerd Moellmann <gerd@gnu.org>
1511
1512 * xterm.c (x_set_window_size_1): New function extracted from
1513 x_set_window_size.
1514 (x_set_window_size): Use it.
1515 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1516 doesn't have a widget, like tooltips.
1517
5a43decf
EZ
15182001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1519
52283633 1520 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1521
b0e98867
KH
15222001-01-23 Kenichi Handa <handa@etl.go.jp>
1523
1524 * fns.c (Fset_char_table_default): Fix to make sub char-table
1525 correctly.
1526
50606b4c
GM
15272001-01-22 Gerd Moellmann <gerd@gnu.org>
1528
cb2ddc53 1529 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1530 a desired tool bar string, even if there are no tool bar items.
1531
57c28064
GM
1532 * xdisp.c (Ftool_bar_lines_needed): New function.
1533 (syms_of_xdisp): Defsubr it.
1534
50606b4c
GM
1535 * editfns.c (Fformat): Don't extend text properties from arguments
1536 to padding chars in the result.
1537
2f169c38
EZ
15382001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1539
1540 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1541
0f32f023
AI
15422001-01-20 Andrew Innes <andrewi@gnu.org>
1543
52283633 1544 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1545 (w32_initialize): Don't set term hooks that aren't actually needed
1546 in windowed mode.
1547
1548 * xfaces.c (realize_default_face):
1549 (realize_face):
1550 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1551
1552 * xdisp.c (handle_single_display_prop): Remove references to
1553 FRAME_W32_CONSOLE_P.
1554
52283633 1555 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1556
1557 * frame.h (output_method): Remove output_w32_console method.
1558 (FRAME_W32_CONSOLE_P): Remove macro.
1559
1560 * frame.c (Qw32_console): Remove variable.
1561 (Fframep): Remove references to it.
1562 (syms_of_frame): Ditto.
1563 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1564
1565 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1566 redefinition.
1567
7173eada
KH
15682001-01-20 Kenichi Handa <handa@etl.go.jp>
1569
1570 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1571
755b45ce
AI
15722001-01-19 Andrew Innes <andrewi@gnu.org>
1573
1574 * w32.c (init_environment): Add a version-independent site-lisp
1575 directory to EMACSLOADPATH, after the version dependent one.
1576
0a949811
GM
15772001-01-19 Gerd Moellmann <gerd@gnu.org>
1578
8501998a
GM
1579 * editfns.c (Fbuffer_substring): Doc fix.
1580
52283633
SM
1581 * xdisp.c (message_dolog, message2, message2_nolog):
1582 Rename parameter LEN to NBYTES.
0a949811 1583
e6ebcbbe
KH
15842001-01-19 Kenichi Handa <handa@etl.go.jp>
1585
200ecca2
KH
1586 * charset.c (strwidth): Use c_string_width.
1587 (c_string_width): New function.
1588 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1589 Caller changed.
1590
1591 * charset.h (c_string_width, lisp_string_width): Extern them.
1592
52283633 1593 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1594
e6ebcbbe
KH
1595 * indent.c (check_composition): Check validity of composition.
1596
200ecca2
KH
1597 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1598 characters by calling c_string_width.
1599 (x_consider_frame_title): Get byte length of frame tile string
1600 correctly.
1601 (display_mode_element): Pay attention to width of non-ASCII
1602 characters by calling strwidth.
1603
8692ca92
GM
16042001-01-18 Gerd Moellmann <gerd@gnu.org>
1605
8962e303
GM
1606 * xfns.c (Qcancel_timer): New variable.
1607 (syms_of_xfns): Initialize and staticpro it.
1608 (Fx_hide_tip, Fx_show_tip): Use it.
1609 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1610 the timer.
1611 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1612
91523be9
GM
1613 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1614
1615 * window.h (WINDOW_LIVE_P): New macro.
1616
b0b7ed0e
GM
1617 * window.c (window_size_fixed): New variable.
1618 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1619 the doc string.
1620
06bccf8e
GM
1621 * eval.c (specbind): If binding a per-buffer variable which
1622 doesn't have a buffer-local value in the current buffer, change
1623 the global value by changing the value of the symbol bound in all
1624 buffers not having their own value, to make it consistent with
1625 what happens with other buffer-local variables.
1626
8692ca92
GM
1627 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1628
1629 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1630 when searching for a newline.
1631
bb3a3b50
KH
16322001-01-18 Kenichi Handa <handa@etl.go.jp>
1633
1634 * xdisp.c (display_string): Fix previous change.
1635
c2cc16fa
JR
16362001-01-18 Jason Rumney <jasonr@gnu.org>
1637
1638 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1639 GLYPH_DEBUG is defined.
1640 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1641 true for images with `:ascent 100'.
1642 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1643 meantime, use face MOUSE_FACE_ID.
1644 If first glyph isn't a character glyph, use the ASCII NUL
1645 character to determine the face.
1646 (expose_area): Do not treat left margin specially.
1647 (note_mode_line_highlight): If no local_map, check global keymap.
1648 (note_mouse_highlight): Initialize overlay.
52283633 1649 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1650 (show_scroll_bars): Remove unused function.
1651 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1652 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1653 Clip to row.
52283633 1654 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1655 (x_free_frame_resources): Unload relief colors.
1656
9c11f79e
GM
16572001-01-17 Gerd Moellmann <gerd@gnu.org>
1658
3aec8722 1659 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1660 get_next_display_element when the newline is already found.
1661 This may change the iterator's position, when its current position is
3aec8722
GM
1662 equal to the iterator's stop_charpos.
1663
f3ffc2c3
GM
1664 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1665 zero, use this method only at the end of a line.
1666
52283633 1667 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1668 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1669 if SCALABLE_FONTS_P is set.
52283633 1670
d26d6fd9
GM
1671 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1672 so that scalable fonts are included.
1673
9c11f79e
GM
1674 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1675 In the cache, use a key containing the information if scalable
1676 fonts are included.
1677 (x_load_font): Adapt to change of keys in the font cache.
1678
16792001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1680
d26d6fd9
GM
1681 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1682 XListFonts to take advantage of font caching.
1683
9c11f79e
GM
1684 * xterm.c (x_list_fonts): Ensure caching font information when
1685 called for a null frame, which is the case frequently when Emacs
1686 starts.
1687
51446987
GM
16882001-01-17 Gerd Moellmann <gerd@gnu.org>
1689
f864120f
GM
1690 * xfns.c (QCconversion): Replaces QCalgorithm.
1691
1692 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1693
1694 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1695 of :algorithm.
52283633 1696
e37d1417
GM
1697 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1698 not everything could be displayed.
1699
51446987
GM
1700 * line.h, x-list-font.c: Files removed because unused.
1701
9ad4f3e5
AI
17022001-01-17 Andrew Innes <andrewi@gnu.org>
1703
1704 * dired.c (directory_files_internal): Convert result from readdir
1705 to a unibyte string initially, to avoid possible misinterpretation
1706 of some bytes as the internal form of Emacs characters.
1707
2eda09b5
KH
17082001-01-17 Kenichi Handa <handa@etl.go.jp>
1709
1710 * fns.c (concat): Be sure to avoid putting the same `composition'
1711 property on the adjacent regions.
1712
826f3788
GM
17132001-01-16 Gerd Moellmann <gerd@gnu.org>
1714
52283633 1715 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1716 (Fscroll_right, Fscroll_left): Set it here instead, if called
1717 interactively.
1718
d57b83b3
GM
1719 * buffer.c (Fset_buffer_modified_p): Set buffer's
1720 prevent_redisplay_optimizations_p flag.
1721
826f3788 1722 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1723 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1724 with additional arg.
1725
1726 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1727 Change prototype.
826f3788 1728
826f3788
GM
1729 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1730 FROM_WHERE, for debugging.
1731
261d788b
KH
17322001-01-16 Kenichi Handa <handa@etl.go.jp>
1733
1734 * ccl.c (Fregister_ccl_program): Handle the return value of
1735 resolve_symbol_ccl_program correctly.
52283633 1736 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1737
bccee4f2
GM
17382001-01-15 Gerd Moellmann <gerd@gnu.org>
1739
e4ded23c
GM
1740 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1741 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1742
1743 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1744 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1745 the display; we didn't open it.
1746
bccee4f2
GM
1747 * dispnew.c (save_or_restore_current_matrices): Function removed.
1748 (save_current_matrix, restore_current_matrix): New functions.
1749 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1750 restore the frame's current matrix. Due to the glyph pointer
1751 setup done in adjust_glyph_matrix, there is no easy way to make
1752 saving the current matrix in the desired matrix generally correct,
1753 so don't try it.
1754
ebeccffa
KH
17552001-01-15 Kenichi Handa <handa@etl.go.jp>
1756
1757 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1758 truncation glyphs.
1759 (display_line): Optimize for wide characters.
e4ded23c 1760 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1761 partially. On ttys, produce more than one truncation glyph for
1762 multi-column characters that don't fit on the line.
1763
64388126
KH
17642001-01-13 Kenichi Handa <handa@etl.go.jp>
1765
52283633
SM
1766 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1767 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1768
8edb0a6f
JR
17692001-01-13 Jason Rumney <jasonr@gnu.org>
1770
1771 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1772 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1773 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1774 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1775
52283633
SM
1776 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1777 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1778 (x_draw_image_glyph_string): Adapt to change of image margins.
1779
1780 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1781 variables.
1782
1783 * w32bdf.c (search_file_line, get_cached_font_char)
1784 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1785
1786 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1787
1788 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1789 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1790 (Fw32_send_sys_command): Remove unused variables.
1791 (w32_msg_pump): Add parentheses.
1792
1793 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1794 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1795 Add parentheses.
1796
4956d1ef
GM
17972001-01-12 Gerd Moellmann <gerd@gnu.org>
1798
b30623be
GM
1799 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1800 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1801 being a pair of margins.
1802 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1803 to DEFVAR_LISP. Extend doc.
1804
1805 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1806 margins.
1807 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1808 pair of integers `(X . Y)', use X for the horizontal and Y for the
1809 vertical margin.
1810 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1811 (parse_image_spec): Check it.
52283633
SM
1812 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1813 (tiff_format, gif_format, gs_format):
1814 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1815
52283633
SM
1816 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1817 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1818 (x_draw_image_glyph_string): Adapt to the change of image margins.
1819
1820 * dispextern.h (struct image): Replace member `margin' with
1821 `hmargin' and `vmargin'.
1822
4554cc79
GM
1823 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1824 and GLYPHS.
1825
1826 * dispnew.c (update_text_area): Put code which decrements the
1827 stop position when the row's face extends to the end of the
3bffc665 1828 line in #if 0.
4554cc79 1829
3cccce8d
GM
1830 * xfns.c (x_set_mouse_color): Fix color allocation.
1831
4956d1ef
GM
1832 * keyboard.c: Call get_local_map with new argument list.
1833
1834 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1835
1836 * intervals.h (enum map_property): Removed.
1837 (get_local_map): Change prototype.
1838
1839 * keymap.c: Call get_local_map with new argument list.
1840 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1841
2c2ff7f2
GM
18422001-01-11 Gerd Moellmann <gerd@gnu.org>
1843
a23887b9
GM
1844 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1845 of the size needed for the tool bar string. For the last image,
1846 use a `display' property that reaches to the end of the string.
1847
a7ee2d2e
GM
1848 * xselect.c (selection_request_dpyinfo): New variable.
1849 (x_handle_selection_request): Set it.
1850 (x_selection_request_lisp_error): Don't call
1851 x_decline_selection_request if selection request's display has
1852 been closed.
1853
52283633
SM
1854 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1855 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1856
457b792c
GM
18572001-01-10 Dave Love <fx@gnu.org>
1858
1859 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1860 ${SOME_MACHINE_LISP}, not ${lisp}.
1861
c1efd260
GM
18622001-01-10 Gerd Moellmann <gerd@gnu.org>
1863
52283633
SM
1864 * xdisp.c (display_line): On ttys, produce more than one truncation
1865 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1866
ac95a621
GM
1867 * xselect.c (x_reply_selection_request): Add a comment.
1868
c1efd260
GM
1869 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1870 XkbGetNames instead of XkbGetKeyboard.
1871
1bfb1345
DL
18722001-01-10 Dave Love <fx@gnu.org>
1873
1874 * sysdep.c (random): Revert the declaration.
1875
38119822
GM
18762001-01-09 Gerd Moellmann <gerd@gnu.org>
1877
52283633
SM
1878 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1879 Call function string_bytes.
35f464a7
GM
1880 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1881
1882 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1883 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1884 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1885 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1886 the current sblock.
1887 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1888 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1889 after sweeping strings, and at the end.
1890 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1891
38119822
GM
1892 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1893 ensure that pop_message is called.
1894
1895 * keyboard.c (Fexecute_extended_command): Use a
1896 record_unwind_protect to ensure that pop_message is called.
1897
1898 * lisp.h (push_message_unwind): Add prototype.
1899
1900 * xdisp.c (push_message_unwind): New function.
1901
1902 * fileio.c (do_auto_save_unwind): Do the pop_message here
1903 instead of in Fdo_auto_save.
1904 (Fdo_auto_save): Don't call pop_message.
1905
f47a9ec4
KR
19062001-01-08 Ken Raeburn <raeburn@gnu.org>
1907
1908 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1909 in inner block.
1910
a758f97d
GM
19112001-01-08 Gerd Moellmann <gerd@gnu.org>
1912
6d0afc03
GM
1913 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1914 when increasing window's vscroll.
1915
a758f97d
GM
1916 * macros.c (Qkbd_macro_termination_hook): New variable.
1917 (syms_of_macros): Initialize and staticpro it.
1918 (pop_kbd_macro): Run kbd-macro-termination-hook.
1919
1920 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1921
1bfb1345 19222001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1923
1924 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1925 arglist, for documentation's sake.
1926
0dac6924
AI
19272001-01-06 Andrew Innes <andrewi@gnu.org>
1928
1929 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1930 of *.pdb.
1931
8182406a
AI
19322001-01-05 Andrew Innes <andrewi@gnu.org>
1933
1934 * term.c (update_end): Don't check updating_frame; for some reason
1935 this can be 0 sometimes, such as after dismissing a popup menu,
1936 and isn't necessary given the explicit frame argument.
1937
3828218c
GM
19382001-01-05 Gerd Moellmann <gerd@gnu.org>
1939
1940 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1941 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1942
2f5ded21
GM
19432001-01-04 Gerd Moellmann <gerd@gnu.org>
1944
52283633 1945 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1946
1947 * xfns.c (x_create_tip_frame): Preserve the value of
1948 face_change_count around the creation of the tip frame.
52283633 1949
2f5ded21
GM
1950 * xfns.c (last_show_tip_args): New variable.
1951 (compute_tip_xy): New function.
1952 (Fx_show_tip): Reuse an existing tip frame, if possible.
1953 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1954
dfad65fa
DL
19552001-01-04 Dave Love <fx@gnu.org>
1956
64d4ec0f
DL
1957 * editfns.c (Fformat): Doc fix.
1958
dfad65fa
DL
1959 * systime.h (set_file_times): Prototype.
1960
1961 * widget.h (EmacsFrameSetCharSize_): Prototype.
1962
1963 * sysdep.c (random, srandom): Declare explicitly.
1964
1965 * dispextern.h (move_it_vertically_backward): Declare.
1966
85fe3b5e
GM
19672001-01-04 Gerd Moellmann <gerd@gnu.org>
1968
0f2ac578
GM
1969 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1970 like in Fx_create_frame.
1971
482cca61
GM
1972 * xfaces.c (set_font_frame_param): Don't do anything for
1973 non-graphical frames.
1974
85fe3b5e
GM
1975 * window.c (Fdelete_other_windows): Set window's window_end_valid
1976 to nil when changing the window's start. Don't change the
1977 window's start when its top position hasn't changed. If we do,
1978 this will set the window's optional_new_start, which act's like a
1979 force_start during redisplay with C-x 1 M-> under particular
1980 circumstances (see report from Per Starback to emacs-pretest-bug
1981 from 2000-12-13.).
1982
3e99d3b4
GM
19832001-01-03 Gerd Moellmann <gerd@gnu.org>
1984
a77dc1ec
GM
1985 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1986 short cut at the start of the function. Add an assertion.
1987 (reseat_at_next_visible_line_start): Add an assertion.
1988
2f3cad6c
GM
1989 * window.c (Frecenter): When changing the window start, set the
1990 window's window_end_valid to nil.
1991 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1992
1993 * dispextern.h (move_it_past_eol): Add prototype.
1994
1995 * xdisp.c (move_it_past_eol): New function.
1996
3e99d3b4
GM
1997 * window.c (Fwindow_end): Doc fix.
1998
19992001-01-03 Dave Love <fx@gnu.org>
2000
52283633 2001 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 2002
bafb434c
GM
20032001-01-03 Gerd Moellmann <gerd@gnu.org>
2004
2005 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
2006 the enabled_p flag of the glyph row at window_end_vpos to 0.
2007 (handle_single_display_prop): Fix last change.
2008
5297fb00
RS
20092001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2010
2011 * window.c (Frecenter): Doc fix.
2012
13d6a61c
AI
20132001-01-02 Andrew Innes <andrewi@gnu.org>
2014
2015 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
2016
2017 * frame.h (output_method): Add output_w32_console method.
2018 (FRAME_W32_CONSOLE_P): New macro.
2019
2020 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
2021 use output_w32_console method.
2022 (Qw32_console): New Lisp_Object.
2023 (Fframep): Return it.
2024 (syms_of_frame): Init it.
52283633 2025 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2026
2027 * xfaces.c (realize_default_face): Set face foreground and
2028 background to unspecified for w32_console frames.
2029 (realize_face): Realize face cache for w32_console frames.
2030 (realize_tty_face): Accept w32_console frames.
2031
52283633 2032 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2033 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2034 necessary, even if running interactively.
2035
2036 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2037 w32_console frames.
2038
52283633
SM
2039 * w32term.c (x_update_begin):
2040 (x_update_end):
2041 (x_clear_frame):
2042 (x_ins_del_lines):
2043 (x_change_line_highlight):
2044 (x_delete_glyphs):
2045 (w32_ring_bell):
2046 (x_update_begin):
2047 (x_update_end):
2048 (w32_reassert_line_highlight):
2049 (w32_frame_rehighlight):
13d6a61c
AI
2050 (w32_frame_raise_lower): Do nothing if not w32 frame.
2051
2052 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2053
2054 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2055 system doesn't tell us directly.
2056 (Fx_display_visual_class): Implement properly.
2057
d6bb0c0d
GM
20582001-01-02 Gerd Moellmann <gerd@gnu.org>
2059
2060 * window.c (Frecenter): Handle centering in graphical frames
2061 specially. Centering on the basis of line counts doesn't work
2062 reliably with variable-height lines.
52283633 2063
315f5865
EZ
20642001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2065
2066 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2067 and al[].
2068
52283633 2069 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2070 (update_compositions): Remove unused variable `hook'.
2071
2072 * intervals.c (get_local_map): Remove unused variable `tem'.
2073
2074 * doprnt.c (doprnt1): Remove unused variable `size'.
2075
2076 * fns.c (Flength): Remove unused variable `tail'.
2077 (Fdelete): Remove unused variable `size'.
2078
2079 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2080 and `gcpro2'.
2081
52283633 2082 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2083
2084 * data.c (find_symbol_value): Remove extra 3rd argument in the
2085 call to swap_in_symval_forwarding.
2086
52283633 2087 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2088
2089 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2090 (trivial_regexp_p): Remove unused variable `c'.
2091 (boyer_moore): Remove unused variable `k'.
2092
2093 * indent.c (current_column): Remove unused variable `stopchar'.
2094 (Fcompute_motion): Remove unused variable `contin'.
2095
2096 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2097
2098 * dired.c (directory_files_internal): Fix a typo in a comment.
2099 Remove an unused variable `handler'.
52283633 2100 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2101 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2102 on BSD4_2.
2103
52283633 2104 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2105
2106 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2107 and `buf'.
2108 (Fmarker_insertion_type): Remove unused variable `buf'.
2109
2110 * insdel.c (make_gap): Remove unused variable `result'.
2111
52283633 2112 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2113 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2114 (menu_bar_items): Remove unused function-scope variable `tem'.
2115
2116 * fontset.c (fontset_ref): Remove unused variable `i'.
2117 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2118 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2119 (make_fontset_for_ascii_face): Remove unused variable `name'.
2120 (fs_load_font): Remove unused variable `font_idx'.
52283633 2121 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2122 (list_fontsets): Remove unused variable `tail'.
2123 (Fnew_fontset): Remove unused variables `family' and `registry'.
2124 (accumulate_font_info): Remove unused variable `tmp'.
2125 (Ffontset_font): Remove unused variable `id'.
2126 (syms_of_fontset): Remove unused variable `i'.
2127
2128 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2129 to x_term_init.
2130 (lookup_image): Remove unused variable `file'.
2131 (xbm_load): Remove unused variables `bitmap_data', `height', and
2132 `width'. Remove function-local variable `i', leave the
2133 block-local one.
2134 (gif_load): Remove unused variable `inc'.
2135
52283633 2136 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2137 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2138 leave only the one in the inner block.
2139
2140 * xfaces.c (face_fontset, realize_default_face): Remove unused
2141 variable `fontset'.
2142 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2143
2144 * term.c (encode_terminal_code): Remove unused variable `c'.
2145
2146 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2147 char *' instead of `char *'.
2148
2149 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2150 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2151 (Fchar_category_set): Remove unused variables `val', `charset',
2152 `c1' and `c2'.
2153
52283633
SM
2154 * coding.c (detect_coding_iso2022, setup_coding_system):
2155 Remove unused variable `i'.
315f5865
EZ
2156 (detect_coding_mask): Remove unused variable `idx'.
2157 (detect_coding): Remove unused variable `i'.
2158 (ccl_coding_driver): Remove unused variable `result'.
2159 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2160 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2161 (encode_coding_string): Remove unused variables `gcpro1' and
2162 `saved_coding_symbol'.
2163 (Ffind_coding_systems_region_internal): Remove function-local
2164 variable args[], leave only the block-local one.
2165 (code_convert_region1): Remove unused variable `len'.
2166
2167 * charset.c (char_printable_p): Remove unused variable `chars'.
2168 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2169 (str_to_multibyte): Remove unused variable `c'.
2170
2171 * window.c (size_window): Remove block-local variable `min_size'.
2172
2173 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2174 `header_line_height'.
2175 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2176 enum display_element_type.
2177
1a8a9daf
GM
21782001-01-02 Gerd Moellmann <gerd@gnu.org>
2179
6dde6abc 2180 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2181 statements that call X. Save away the error message in a local copy.
2182
1883b2c6
GM
2183 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2184 the start.
2185
a13be207
GM
2186 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2187 in or at the start of invisible text.
2188
1a8a9daf
GM
2189 * dispnew.c (update_window): Don't check_current_matrix_flags.
2190
3608c0f9
JR
21912001-01-01 Jason Rumney <jasonr@gnu.org>
2192
2193 * w32fns.c (x_figure_window_size): Do not allow new_height and
2194 new_width of frame to override specified values.
2195
abb1acc4
KH
21962000-12-30 Kenichi Handa <handa@etl.go.jp>
2197
52283633 2198 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2199
762a68ec
GM
22002000-12-29 Gerd Moellmann <gerd@gnu.org>
2201
52283633 2202 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2203 (update_window) [GLYPH_DEBUG]: Call it.
2204 (scrolling_window): Prevent including current rows which are below
2205 what's displayed in the window.
2206
2207 * xdisp.c (try_window_reusing_current_matrix)
2208 <new start <= old start>: Disable rows in the current matrix
2209 which are below the window after scrolling.
52283633 2210
762a68ec
GM
2211 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2212 is zero. It's not worth the complexity.
2213 (invisible_text_between_p): Put in #if 0 because unused.
2214
2d5912c1
GM
22152000-12-28 Gerd Moellmann <gerd@gnu.org>
2216
46f6a258
GM
2217 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2218 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2219
89f93679
GM
2220 * keyboard.c (echo_char): If C is an integer, always call
2221 push_key_description. Former code could signal an invalid
2222 character error.
2223
2224 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2225 If set, print multibyte text.
2226 (Fsingle_key_description): Call push_key_description with
2227 FORCE_MULTIBYTE set.
2228 (describe_buffer_bindings): Likewise.
2229
2230 * lisp.h (push_key_description): Add prototype.
2231
c06017fb
GM
2232 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2233 around the call to redisplay_internal.
2234
f1d2ce7f
GM
2235 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2236
2d5912c1
GM
2237 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2238
9371f831
KH
22392000-12-28 Kenichi Handa <handa@etl.go.jp>
2240
2241 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2242 (ccl_driver): New local variable `extra_bytes'.
2243
2244 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2245
52283633
SM
2246 * coding.c (setup_coding_system):
2247 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2248 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2249
0c80628a
KH
22502000-12-28 Kenichi Handa <handa@etl.go.jp>
2251
2252 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2253 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2254 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2255 (decode_composition_emacs_mule): New function.
2256 (decode_coding_emacs_mule): Decode composition sequence by calling
2257 decode_composition_emacs_mule.
2258 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2259 (encode_coding_emacs_mule): Changed from macro to function.
2260 If a text contains compositions, encode them correctly.
0c80628a
KH
2261 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2262 that decoding and encoding are required.
2263
3e32cc27
GM
22642000-12-27 Gerd Moellmann <gerd@gnu.org>
2265
5e25feee
GM
2266 * xfaces.c (PT_PER_INCH): New macro.
2267 (xlfd_point_size): Compute real point size from font's pixel size.
2268 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2269 instead of 72.
2270
892d8fcd
GM
2271 * .gdbinit: Comment out the line pointing to the Lesstif source
2272 directory.
2273
12c8b416
GM
2274 * window.c (Frecenter): Use displayed_window_lines instead
2275 of window_internal_height.
2276
6061fbf0
GM
2277 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2278 instead of x-toolkit-scroll-bars-p.
2279 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2280
2281 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2282 instead of x-toolkit-scroll-bars-p.
2283 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2284
3e32cc27
GM
2285 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2286 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2287 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2288 New variables.
2289 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2290 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2291 (build_frame_matrix_from_leaf_window): Remove unused code.
2292 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2293 redisplay history.
2294 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2295 (update_window) [GLYPH_DEBUG]: Likewise.
2296 (syms_of_display): Defsubr dump-redisplay-history.
2297
31798cfe
GM
22982000-12-23 Gerd Moellmann <gerd@gnu.org>
2299
f717c2ba
GM
2300 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2301 the end of the prompt. Set echo_after_prompt to the offset
2302 of echoptr in echobuf.
2303
aeb2b8fc
GM
2304 * xdisp.c (init_from_display_pos): Pop until the iterator's
2305 stack is empty; there may be frames for stretch or images
2306 on the stack.
2307
31798cfe
GM
2308 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2309 (save_or_restore_current_matrix): New function for the same
2310 purpose, but more efficient.
2311 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2312
f8156156
EZ
23132000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2314
2315 * xdisp.c (syms_of_xdisp): Fix last change.
2316
bdd6d4e8
GM
23172000-12-23 Gerd Moellmann <gerd@gnu.org>
2318
2319 * xdisp.c (syms_of_xdisp): Doc fix.
2320
2321 * xdisp.c (redisplay_window): Remove label restore_buffers;
2322 use finish_scroll_bars instead to make sure that scroll bars
2323 are redeemed. If we don't do this, flickering can result from
2324 scroll bars being destroyed and recreated.
2325
9436cdf9
JR
23262000-12-22 Jason Rumney <jasonr@gnu.org>
2327
2328 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2329 in the wrong colors when the foreground is not black.
2330 (expose_window): Don't redraw the window that's currently being
2331 updated.
2332
951f9df5
GM
23332000-12-22 Gerd Moellmann <gerd@gnu.org>
2334
856ff7a7
GM
2335 * window.c (size_window): When setting the window's too_small_ok
2336 flag, compare old size with minimum size depending on WIDTH_P,
2337 don't compare with window_min_width.
52283633 2338
951f9df5
GM
2339 * window.c (delete_window): Simplify somewhat.
2340 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2341 freeing window matrices. The flag windows_or_buffers_changed is
2342 set, so the next redisplay will consider all windows; this should
2343 suffice.
2344
886bc933
KH
23452000-12-22 Kenichi Handa <handa@etl.go.jp>
2346
2347 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2348
2349 * ccl.h (struct ccl_program): New member cr_consumed.
2350
2351 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2352 (CCL_READ_CHAR): Handle EOL conversion here.
2353 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2354
177f4e88
GM
23552000-12-21 Gerd Moellmann <gerd@gnu.org>
2356
52283633 2357 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2358
2359 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2360 otherwise tabs of different size compare equal.
2361
2362 * callint.c (Fcall_interactively): Prevent a compiler warning.
2363
2364 * print.c (print_unwind): Return nil.
2365 (PRINTDECLARE): Initialize all local variables.
2366 (print_preprocess): Add a default case.
2367
8e15274f
GM
2368 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2369
2370 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2371
52283633 2372 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2373 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2374
2375 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2376
2377 * dispnew.c (ensure_frame_matrix): Removed.
2378 (save_frame_matrix, restore_frame_matrix): New functions.
2379 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2380
2381 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2382 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2383
99012074
AI
23842000-12-21 Andrew Innes <andrewi@gnu.org>
2385
2386 * w32term.c (x_update_begin): Regenerate the palette here, rather
2387 than for each window.
2388
2389 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2390 palette is NULL, since this corrupts memory! Also get
2391 display_info reference from frame.
2392
29ef7d2d
JR
23932000-12-21 Jason Rumney <jasonr@gnu.org>
2394
2395 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2396
2397 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2398 to avoid returning without releasing it.
3e27fa1f 2399
3f9d67a6
KH
24002000-12-21 Kenichi Handa <handa@etl.go.jp>
2401
587fc3f9
KH
2402 * keymap.c (push_key_description): Don't convert eight-bit-control
2403 and eight-bit-graphic to multibyte character.
2404
3f9d67a6
KH
2405 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2406 generic character and CODE1 is nil, return the smallest character
2407 in CHARSET.
2408
774ba8c9
DL
24092000-12-20 Dave Love <fx@gnu.org>
2410
2411 * s/osf5-0.h (NSIG): Don't redefine.
2412
88416888
SM
24132000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2414
2415 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2416 excluding menu-bar and tool-bar.
2417 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2418 (menu_item_p): Remove.
2419 (where_is_internal_1): Don't ignore menu-items.
2420
a6426c6f
GM
24212000-12-20 Gerd Moellmann <gerd@gnu.org>
2422
03ff8aab
GM
2423 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2424 into account.
2425
2426 * window.c (make_window): Initialize window's min_hscroll.
2427 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2428 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2429 to zero.
2430 (struct saved_window): New member min_hscroll.
2431 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2432 (Fset_window_configuration): Set window's min_hscroll.
2433 (save_window_save): Save window's min_hscroll.
2434 (compare_window_configurations): Compare min_hscroll values.
2435
2436 * window.h (struct window): New member min_hscroll.
2437
2438 * keyboard.c (echo_prompt): Prevent a compiler warning.
2439
8de4aaf8
GM
2440 * xdisp.c (try_cursor_movement): Fix last change. The real
2441 condition is that PT is at the end of the row, and should
2442 be displayed at the start of the next row.
52283633 2443
3f7e3031
GM
2444 * xdisp.c (try_cursor_movement): If we end on a partially
2445 visible line, end we already decided to scroll, return -1.
2446
a6426c6f
GM
2447 * dispextern.h (ensure_frame_matrix): Add prototype.
2448
2449 * window.c (delete_window, Fsplit_window)
2450 (Fset_window_configuration): Call ensure_frame_matrix.
2451
52283633
SM
2452 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2453 New functions.
a6426c6f
GM
2454 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2455 completed, call fake_current_matrices instead of marking frame
2456 garbaged.
2457
57fa2774
JR
24582000-12-20 Jason Rumney <jasonr@gnu.org>
2459
2460 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2461
d925df90
EZ
24622000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2463
2464 * fns.c (Frequire): Doc fix.
2465
7b93a85b
GM
24662000-12-19 Gerd Moellmann <gerd@gnu.org>
2467
52283633 2468 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2469
c74e645b
GM
2470 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2471 currently displaying a message.
2472
7b93a85b
GM
2473 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2474 xterm.h.
2475 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2476
90d97e64
AI
24772000-12-18 Andrew Innes <andrewi@gnu.org>
2478
2479 * w32.c (w32_strerror): New function.
2480
2481 * w32.h (w32_strerror): New extern.
2482
2483 * w32fns.c (Fw32_shell_execute): Use it.
2484
91c9e6ce
GM
24852000-12-18 Gerd Moellmann <gerd@gnu.org>
2486
2487 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2488
6f4745e2
EZ
24892000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2490
2491 * msdos.c (IT_set_face): Obey inverse_video.
2492
c9e088ce
KH
24932000-12-18 Kenichi Handa <handa@etl.go.jp>
2494
2495 * dired.c (directory_files_internal): Always return decoded filenames.
2496
c3695f5f
GM
24972000-12-18 Gerd Moellmann <gerd@gnu.org>
2498
52d8e4ff
GM
2499 * xterm.c (x_connection_closed): Prevent being called recursively
2500 because of an error condition in XtCloseDisplay.
52283633 2501
62be9979
GM
2502 * xdisp.c (init_iterator): If noninteractive, and the frame's
2503 face cache is null, make one.
2504
52283633 2505 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2506
c3695f5f
GM
2507 * process.c (wait_reading_process_input): Check for pending
2508 input when running timers.
2509
78555fbe
EZ
25102000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2511
52283633 2512 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2513
b2b36264
KH
25142000-12-18 Kenichi Handa <handa@etl.go.jp>
2515
2516 * process.c (read_process_output): Don't run a filter if the code
2517 decoder produces nothing but carryover.
2518
9c543fbf
AI
25192000-12-17 Andrew Innes <andrewi@gnu.org>
2520
2521 * w32.c (sys_rename): Only check errno against EEXIST, and not
2522 EACCES, when determining whether rename failed because the target
2523 exists. This was resulting in indefinite looping on Windows 9x if
2524 the source file was locked by another process.
2525
2526 * w32fns.c (Ffile_system_info): New function.
2527 (syms_of_w32fns): Defsubr it.
2528
10c2b5a8
GM
25292000-12-17 Gerd Moellmann <gerd@gnu.org>
2530
b0228ace
GM
2531 * window.c (coordinates_in_window): Fix computation for
2532 position on vertical line between mode lines.
2533
10c2b5a8
GM
2534 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2535 Don't alter tip_frame or tip_window.
2536 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2537 was deleted.
2538
c844a81a
GM
2539 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2540 Don't alter tip_frame or tip_window.
2541 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2542 was deleted.
2543
6c825f8e
EZ
25442000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2545
2546 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2547 be consistent with the doc string. Reported by NAKAJIMA Mikio
2548 <minakaji@osaka.email.ne.jp>.
2549
af4bb4c8
KH
25502000-12-16 Kenichi Handa <handa@etl.go.jp>
2551
2552 * xfaces.c (Vface_ignored_fonts): New variable.
2553 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2554 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2555
8062e53a
GM
25562000-12-15 Gerd Moellmann <gerd@gnu.org>
2557
e87b8809
GM
2558 * dispnew.c (update_window): Detect pending input every nth line
2559 updated, i.e. do it depending on real work done, and not on the
2560 vpos of the line.
2561
2562 * xterm.c (expose_window): Don't redraw the window that's
2563 currently being updated.
2564
a6768cc5
GM
2565 * window.c (Fset_window_point): Remove test for
2566 cursor_in_non_selected_windows.
2567
4ea7fdca
GM
2568 * lread.c (read1): Recognize end of file after `\\'.
2569
8062e53a
GM
2570 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2571 not unwind_create_frame.
2572
bb7959c1
GM
25732000-12-15 Dave Love <fx@gnu.org>
2574
2575 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2576 bcopy & al.
2577
2578 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2579
ced04c42
KH
25802000-12-15 Kenichi Handa <handa@etl.go.jp>
2581
c5443913
KH
2582 * coding.c (setup_coding_system): Clear all members of the struct
2583 coding_system at first.
bc137305
KH
2584 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2585 argument.
2586 (code_convert_region): Don't override coding->src_multibyte and
2587 coding->dst_multibyte.
c5443913 2588
ced04c42
KH
2589 * fns.c (Fmd5): Docstring improved.
2590
c2d7f289
MB
25912000-12-15 Miles Bader <miles@gnu.org>
2592
2593 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2594 are actually marked as mode-lines; otherwise use
2595 estimate_mode_line_height.
2596
9d7d9263
GM
25972000-12-14 Gerd Moellmann <gerd@gnu.org>
2598
2599 * editfns.c (Fformat): Prevent a buffer overrun when the format
2600 specifies a precision.
2601
7cf0153a
EZ
26022000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2603
2604 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2605 argument is outside the range [2..3].
2606
1de0f662
AI
26072000-12-14 Andrew Innes <andrewi@gnu.org>
2608
2609 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2610 nothing to do. Bind inhibit-quit.
2611 (tip_frame): Make it a Lisp_Object.
2612 (x_create_tip_frame): Set tip_frame after it has been added to
2613 Vframe_list.
2614 (Fx_show_tip): Don't set tip_frame here.
52283633 2615 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2616 (unwind_create_frame, unwind_create_tip_frame): New functions.
2617 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2618 while a frame is only partially constructed.
2619
2620 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2621 (x_free_frame_resources): New function.
2622 (x_destroy_window): Use it.
2623
02387dcc
GM
26242000-12-14 Gerd Moellmann <gerd@gnu.org>
2625
2626 * xfns.c (Fx_backspace_delete_keys_p): New function.
2627 (syms_of_xfns): Defsubr it.
2628
2629 * config.in (HAVE_XKBGETKEYBOARD): Add.
2630
0544ef49
KH
26312000-12-14 Kenichi Handa <handa@etl.go.jp>
2632
98d62747
KH
2633 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2634 Always store string in multibyte representation in echobuf.
2635 (echo_char): Always store string in multibyte representation in
2636 echobuf.
2637 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2638 (read_key_sequence): Adjusted for the change of echo_prompt.
2639
a20193cd
KH
2640 * fns.c (Fmd5): Docstring improved.
2641
191b83b6
KH
2642 * lisp.h (detect_coding_system): Prototype adjusted.
2643
0544ef49
KH
2644 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2645 (detect_coding_emacs_mule, detect_coding_iso2022,)
2646 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2647 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2648 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2649 (detect_coding_mask, detect_coding_system): New argument
2650 MULTIBYTEP. Callers changed.
1da1bb05
KH
2651 (decode_coding_string): Set coding->src_multibyte and
2652 coding->dst_multibyte before calling detect_coding and detect_eol.
2653 Update them after some coding system is detected.
52283633 2654
d5b3eb1b
SM
26552000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2656
2657 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2658
2659 * keyboard.c (menu_bar_items, tool_bar_items):
2660 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2661
f7f8bb69
GM
26622000-12-13 Gerd Moellmann <gerd@gnu.org>
2663
52283633 2664 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2665 New variables.
2666 (unwind_create_frame, unwind_create_tip_frame): New functions.
2667 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2668 while a frame is only partially constructed.
2669
2670 * xterm.h (x_free_frame_resources): Declare.
2671
2672 * xterm.c (x_free_frame_resources): New function.
2673 (x_destroy_window): Use it.
2674
e10da507
GM
2675 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2676 don't interrupt the update for pending input initially, i.e.
2677 update at least some lines.
2678
2679 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2680
d5b3eb1b 2681 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2682
2683 * xfns.c (gray_bitmap_bits): Declare `char *'.
2684
90aa2856
GM
26852000-12-12 Gerd Moellmann <gerd@gnu.org>
2686
2687 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2688 lines start with a relief line.
2689
a308c9cd
DL
26902000-12-12 Dave Love <fx@gnu.org>
2691
2692 * window.c (Fdisplay_buffer): Doc fix.
2693 (Fwindow_list): Remove unused var.
2694
2695 * buffer.h (mmap_set_vars): Declare.
2696
2697 * window.h (Fset_window_point): Declare.
2698
d575011f
EZ
26992000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2700
bf6282d2 2701 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2702 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2703 variable `area'. When looking for a row under (X,Y), give up if some
2704 of the previous rows is not enabled.
d575011f 2705
ecf4d726
GM
27062000-12-12 Gerd Moellmann <gerd@gnu.org>
2707
2ebf6139
GM
2708 * window.c (Fset_window_point): If displaying cursors in windows
2709 other than the selected window, make sure redisplay updates
2710 other windows to show the new value of point in the window.
2711
2712 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2713
bfdb75ee
GM
2714 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2715 the buffer is the sole visible buffer when in the mini-buffer.
2716
52283633 2717 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2718 Bind `inhibit-read-only' to t.
2719 (unwind_with_echo_area_buffer): Use AREF.
2720
c0006262
GM
2721 * xfns.c (Fx_hide_tip): Simplified.
2722
52283633
SM
2723 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2724 instead of `1'.
e9a59cad 2725
ecf4d726
GM
2726 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2727
e5959a9a
GM
27282000-12-11 Gerd Moellmann <gerd@gnu.org>
2729
a3642e49 2730 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2731
44b5a125
GM
2732 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2733 nothing to do. Bind inhibit-quit.
2734 (tip_frame): Make it a Lisp_Object.
2735 (x_create_tip_frame): Set tip_frame after it has been added to
2736 Vframe_list.
2737 (Fx_show_tip): Don't set tip_frame here.
2738
2739 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2740
2741 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2742 Lisp_Object.
2743
2744 * dispextern.h: Change external declaration of tip_frame.
2745
d990421f
GM
2746 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2747 return an empty string.
2748
4db87380
GM
2749 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2750 of the window's update_mode_line flag, since the former is set by
2751 force-mode-line-update, not the latter. This makes
2752 column-number-mode slightly faster.
52283633 2753
e5959a9a
GM
2754 * xdisp.c (try_window_id) <all changes above window start>:
2755 Set the cursor.
2756
169fe44e
GM
27572000-12-11 Paul Eggert <eggert@twinsun.com>
2758
2759 * config.in (HAVE_FTELLO): Remove.
2760 (HAVE_FSEEKO): Add.
2761 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2762 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2763 HAVE_FTELLO.
2764 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2765 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2766
59ec59ae
MB
27672000-12-11 Miles Bader <miles@gnu.org>
2768
2769 * window.c (displayed_window_lines): Don't round up when
2770 converting empty space at bottom to lines.
ff904dd6
MB
2771 Handle non-newline-terminated final lines properly.
2772 (Fwindow_text_height): New function (used to be in lisp).
2773 (syms_of_window): Initialize it.
59ec59ae 2774
42ebfa31
SM
27752000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2776
2777 * syntax.c (scan_lists): Check that the right quote char has the
2778 right Sstring syntax when jumping over strings.
2779 (init_syntax_once): Use Smax rather than 13.
2780
5cdb3cf3
MB
27812000-12-09 Miles Bader <miles@gnu.org>
2782
2783 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2784 with PARTIALLY, inverting the sense.
2785 (window_scroll_pixel_based): Scroll partially visible lines into
2786 place if we hit the beginning or end of the buffer.
a12167c5
MB
2787 (displayed_window_lines): Don't include partially visible lines.
2788 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2789
842b2a94
GM
27902000-12-08 Gerd Moellmann <gerd@gnu.org>
2791
2792 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2793
2794 * tparam.c (tparam1): Change the way buffers are reallocated to be
2795 portable and less obfuscated.
2796
2797 * termcap.c (tgetent): Change the way buffers are reallocated to
2798 be portable and less obfuscated.
2799
2800 * macros.c (store_kbd_macro_char): Change the way buffers are
2801 reallocated to be portable and less obfuscated.
2802
2803 * lread.c (read1): Change the way buffers are reallocated to be
2804 portable and less obfuscated.
2805
2806 * doc.c (Fsubstitute_command_keys): Change the way buffers
2807 are reallocated so that it is portable.
2808
137cad7c
EZ
28092000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2810
2811 * dosfns.c (Ffile_system_info): New function.
2812 (syms_of_dosfns): Defsubr it.
2813
5c7f629c
SM
28142000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2815
2816 * alloc.c (gc_sweep): Add comment.
2817
959e647d
GM
28182000-12-07 Gerd Moellmann <gerd@gnu.org>
2819
52283633
SM
2820 * sound.c (vox_configure): Change order of ioctls.
2821 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2822 Ignore errors when changing volume.
2823 (vox_close): Don't reset the device.
2824
926b7e5e
GM
2825 * process.c (read_process_output): Make sure the process marker's
2826 position is valid when the process buffer is changed in
2827 after-change functions. W3 does that.
52283633 2828
959e647d
GM
2829 * xfns.c (x_free_gcs): New function.
2830
2831 * xterm.h (x_free_gcs): Add prototype.
2832
2833 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2834 freeing GCs here.
2835
2836 * xterm.c (x_destroy_window): Call x_free_gcs so that
2837 resources of non-toolkit X windows will be freed.
2838
478ea067
AI
28392000-12-07 Andrew Innes <andrewi@gnu.org>
2840
2841 * w32fns.c (xlfd_charset_of_font): Fix last change.
2842
fbee3231
DL
28432000-12-06 Dave Love <fx@gnu.org>
2844
67292061
DL
2845 * md5.h (__P): Don't define -- it comes from config.h.
2846
fbee3231
DL
2847 * strftime.c: Change some #if foo to #ifdef foo.
2848
4ee87dbb
AI
28492000-12-06 Andrew Innes <andrewi@gnu.org>
2850
2851 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2852
52283633 2853 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2854 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2855 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2856
9765b4a4
GM
28572000-12-06 Gerd Moellmann <gerd@gnu.org>
2858
d285b373
GM
2859 * alloc.c (gc_sweep): Prevent symbols read during loadup
2860 from being freed.
2861
384333ee
GM
2862 * xdisp.c (underlying_face_id): New function.
2863 (handle_face_prop, face_before_or_after_it_pos): Use it
2864 to determine the face ``under'' a string. Let strings inherit
2865 the face of the buffer under them.
2866
2867 * xfaces.c (face_at_string_position): Update function comment.
52283633 2868
d4b72d58
GM
2869 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2870 matrix if the window's left position has changed; we need to
2871 redraw it in this case.
2872
2873 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2874
e1d05387
GM
2875 * window.c (coordinates_in_window): Check mouse on mode-line or
2876 header-line first.
2877
eb1b0c74
GM
2878 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2879 advertized by the function documentation.
2880
d94d636f
GM
2881 * window.c (syms_of_window): Doc fix.
2882
3887b449
GM
2883 * sound.c (vox_configure): Set volume for left and right channel.
2884 (sound_cleanup): Return nil.
2885
efc8f57a
GM
2886 * xdisp.c (move_it_by_lines): Fix paren typo.
2887
9765b4a4
GM
2888 * xterm.c (x_load_font): Don't use the font's max_bounds for
2889 computing the height of the font. If max_bounds' ascent or
2890 descent are greater than the font's ascent or descent, this means
2891 glyphs overlap, which should be handled now by redisplay.
2892
6529ed87
GM
2893 * window.c (Veven_window_heights): New variable.
2894 (syms_of_window): DEFVAR_LISP it.
2895 (Fdisplay_buffer): Check Veven_window_heights before evening the
2896 window heights.
52283633 2897
0eb2ecde
MB
28982000-12-06 Miles Bader <miles@gnu.org>
2899
2900 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2901 update `default-frame-alist' instead of setting no frame parameters.
2902
03d7a167
KH
29032000-12-06 Kenichi Handa <handa@etl.go.jp>
2904
2905 * composite.c (update_compositions): Fix typo (use the correct
2906 variable).
2907
5f8803c2
JR
29082000-12-05 Jason Rumney <jasonr@gnu.org>
2909
2910 * md5.h: Remove underscores from function declarations.
2911 (__attribute__, __alignof__) [!__GNUC__]: Define.
2912
2913 * md5.c: Delay include of md5.h until after namespace cleaning.
2914
c28a075b
JR
2915 * makefile.w32-in (fns.o): Depend on md5.h
2916 (md5.o): New target.
2917 (sunfns.o): Remove.
2918
2919 * makefile.nt: Likewise.
2920
ff3c7056
JR
29212000-12-05 Jason Rumney <jasonr@altavista.net>
2922
2923 * w32term.c (expose_area): Complete last change.
2924
0c21eeeb
KR
29252000-12-05 Ken Raeburn <raeburn@gnu.org>
2926
2927 * minibuf.c: Include intervals.h.
2928
f201d732
JR
29292000-12-05 Jason Rumney <jasonr@gnu.org>
2930
2931 * w32term.c (x_produce_glyphs): If a font for a component of
2932 a composition is not found, use 1 pixel dot ascent and 0 dot
2933 descent value to avoid displaying terribly tall empty boxes.
2934 (expose_area): Pass x-coordinate relative to the exposed
2935 area to x_draw_glyphs instead of a window-relative coordinate.
2936
21999ab9
GM
29372000-12-05 Gerd Moellmann <gerd@gnu.org>
2938
4d2036e4
GM
2939 * xdisp.c (next_element_from_ellipsis): Save face before selective
2940 display in saved_face_id, and set face_before_selective_p.
2941 (reseat_1): Reset face_before_selective_p.
2942 (append_space, extend_face_to_end_of_line): If iterator's
2943 face_before_selective_p is set, use the face from saved_face_id.
2944 (extend_face_to_end_of_line): For tty frames, make sure to
2945 use the right face id when producing spaces at the end of
2946 the line.
2947
2948 * dispextern.h (struct it): Add face_before_selective_p.
2949
52be17cc
GM
2950 * keyboard.c (record_char): Don't record identical help-echo
2951 events in recent_keys.
2952
8a4f36cc
GM
2953 * xterm.c [USE_X_TOOLKIT]: Close the display.
2954 (xim_close_dpy): Handle case that the display has been closed.
2955
57d6e381
GM
2956 * xterm.c (x_destroy_window): Reset the frame's X window after
2957 destroying it.
2958
21999ab9
GM
2959 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2960 variable window_width.
2961 (line_draw_cost): Fix code skipping over spaces at the end of the
2962 line when must_write_spaces is not set.
2963 (scrolling_window): Fix code inserting runs in list of all runs.
2964
91372bb7
KH
29652000-12-05 Kenichi Handa <handa@etl.go.jp>
2966
2967 * coding.c (setup_coding_system): Be sure to initialize
2968 coding->category_idx.
2969
6c083b4c
GM
29702000-12-04 Gerd Moellmann <gerd@gnu.org>
2971
0c68ce6f 2972 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2973
6452929e
GM
2974 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2975 area to x_draw_glyphs instead of a window-relative coordinate.
2976
d7f31e22
GM
2977 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2978 error in the message.
2979
ae18aa3b
GM
2980 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2981 timer after having read a key. It's not good for code reading
2982 several keys in a loop, like an input method.
2983
caa15ef7
GM
2984 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2985 record undo information for format-decode.
2986
2987 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2988 current buffer is read-only, not if it isn't.
2989
6c083b4c
GM
2990 * keyboard.c (record_char): Record `help-echo' input events
2991 in recent_keys only if they display some help. Don't record
2992 `help-echo' events as macro char.
2993
caa15ef7
GM
29942000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2995
2996 * editfns.c (save_excursion_restore): Don't move point
2997 in another window if it is showing the wrong buffer.
2998 Avoid the call to Fwindow_live_p, for speed.
2999
5a13529b
KH
30002000-12-04 Kenichi Handa <handa@etl.go.jp>
3001
e225faa7
KH
3002 * xfaces.c (struct font_name): New member registry_priority.
3003 (split_font_name): Initialize the above member to zero.
3004 (concat_font_list): New function.
3005 (font_list): Include fonts of all alternative registries.
3006 (FONT_POINT_SIZE_QUANTUM): New macro.
3007 (better_font_p): Ignore point size difference less than
3008 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
3009
e89648b4
KH
3010 * xterm.c (x_produce_glyphs): If a font for a component of
3011 a composition is not found, use 1 pixel dot ascent and 0 dot
3012 descent value to avoid displaying terribly tall empty boxes.
3013
5a13529b
KH
3014 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
3015
d7935eb6
KR
30162000-12-03 Ken Raeburn <raeburn@gnu.org>
3017
3018 * coding.h (code_convert_string1): Declare.
3019
3020 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
3021
52283633 3022 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 3023
0dd5e255
JR
30242000-12-02 Jason Rumney <jasonr@gnu.org>
3025
3026 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3027 correctly for single byte character case.
3028 (w32_per_char_metric): Do not try to make any assumptions about
3029 the metrics of BDF fonts.
250cfece 3030 (x_estimate_mode_line_height): If `mode-line' face
52283633 3031 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3032 (note_mouse_highlight): Change the cursor shape on the vertical
3033 border between windows [not enabled].
3034
3035 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3036
3037 * w32fns.c (Fx_create_frame): Reintroduce the call to
3038 face-set-after-frame-defaults.
3039 (Vx_window_horizontal_drag_shape): New variable.
3040 (syms_of_xfns): DEFVAR_LISP it.
3041 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3042 enabled].
0dd5e255 3043
b5d8d2ca
GM
30442000-12-02 Simon Josefsson <simon@josefsson.org>
3045
3046 * fns.c (Fmd5): Use a different logic to decide the coding system
3047 to use.
3048
3049 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3050
fbb87147
EZ
30512000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3052
52283633 3053 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3054
447e9da0
GM
30552000-12-01 Gerd Moellmann <gerd@gnu.org>
3056
7708ced0
GM
3057 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3058 height for YNegative.
3059 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3060 height; also see comment there.
3061
447e9da0
GM
3062 * window.c (coordinates_in_window): Handle computations for
3063 positions on the vertical bar and fringes differently for
3064 window-system frames. Consider some pixels near the vertical bar
3065 as on the bar if the frame doesn't have vertical scroll bars.
3066 Associate positions between mode or header lines with the
3067 right window, the left one.
3068
86d1db20
JR
30692000-12-01 Jason Rumney <jasonr@gnu.org>
3070
3071 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3072
3073 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3074 invalid frame.
3075
a1d58e5b
GM
30762000-12-01 Gerd Moellmann <gerd@gnu.org>
3077
52283633 3078 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3079 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3080 (save_window_save, Fset_window_configuration): Save/restore
3081 window's orig_top and orig_height.
3082
89c609af
JR
30832000-12-01 Jason Rumney <jasonr@gnu.org>
3084
4d177746 3085 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3086
89c609af
JR
3087 * w32fns.c (x_set_cursor_color): Fix last change.
3088
eccc05db
GM
30892000-11-30 Gerd Moellmann <gerd@gnu.org>
3090
31b6671b
GM
3091 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3092 sure that the next redisplay displays the minibuffer, so that
3093 the cursor will be replaced with what the minibuffer wants.
3094
eccc05db
GM
3095 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3096 #ifndef instead of using #if.
3097 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3098 USE_TOOLKIT_SCROLL_BARS is defined.
3099
162de750
JR
31002000-11-30 Jason Rumney <jasonr@gnu.org>
3101
3102 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3103 x_display_cursor.
3104
693c4692
GM
31052000-11-30 Gerd Moellmann <gerd@gnu.org>
3106
3107 * fns.c (Fmd5): Doc fix.
3108
b5d8d2ca 31092000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3110
3111 * fns.c (Fmd5): New function.
3112 (syms_of_fns): Defsubr md5.
3113
3114 * Makefile.in (obj): Add md5.o
3115
b02cd40b
GM
31162000-11-30 Gerd Moellmann <gerd@gnu.org>
3117
edfb795e
GM
3118 * md5.h, md5.c: New files, taken from glibc.
3119
df3aedcf
GM
3120 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3121
b02cd40b 3122 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3123 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3124
8b5176cd
SM
31252000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3126
3127 * eval.c (Frun_hooks): Allow 0 arguments.
3128
346598f1
GM
31292000-11-29 Gerd Moellmann <gerd@gnu.org>
3130
f9396e03
GM
3131 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3132 is over the menu bar widget, say it's not on the frame.
3133
4a967a9b
GM
3134 * xfns.c (Fx_create_frame): Reintroduce the call to
3135 face-set-after-frame-defaults.
3136
346598f1
GM
3137 * eval.c (Fsignal): Reset handling_signal.
3138
222456a1
JR
31392000-11-28 Jason Rumney <jasonr@gnu.org>
3140
3141 * w32menu.c (add_menu_item): Reset menu item text when changing
3142 type to radio button.
3143
8049ddc0
GM
31442000-11-28 Gerd Moellmann <gerd@gnu.org>
3145
346598f1 3146 * xselect.c: Update copyright.
f4f4ee4d 3147
bebe4a2c
GM
3148 * window.c (coordinates_in_window): If on a mode or header line,
3149 but sufficiently close to its start, return ``on vertical
3150 border''. This gives us a way to drag windows horizontally when
3151 using toolkit scroll bars.
3152
3153 * xterm.c (note_mouse_highlight): Change the cursor shape
3154 on the vertical border between windows.
3155
3156 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3157
3158 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3159 (syms_of_xfns): DEFVAR_LISP it.
3160 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3161
8d2c2642
GM
3162 * textprop.c (text_read_only): New function.
3163 (verify_interval_modification): Use it instead of signaling
3164 `text-read-only'. This makes it easier to catch this error
52283633 3165 with a breakpoint.:
8d2c2642 3166
52283633 3167 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3168 not end of line, which includes CR.
3169
5a2bae6c
KH
31702000-11-28 Kenichi Handa <handa@etl.go.jp>
3171
3172 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3173 include no-conversion.
3174
ae31f84d
JR
31752000-11-27 Jason Rumney <jasonr@gnu.org>
3176
3177 * w32fns.c (w32_load_system_font): Always mark font as double byte
3178 if codepage is unicode.
3179
67f1cf4c
GM
31802000-11-27 Gerd Moellmann <gerd@gnu.org>
3181
4a74d071 3182 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3183 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3184
902ae620
GM
3185 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3186 `vertical-line', `mode-line' and `header-line' events.
3187
3188 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3189 of a character, a TAB for instance. This is easier than to set
3190 up the iterator exactly, and it's not a frequent case, so the
3191 additional effort wouldn't really pay off.
3192
c1e279c2
AC
31932000-11-26 Andrew Choi <akochoi@i-cable.com>
3194
67f1cf4c 3195 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3196 init_window_once.
3197
a609568a
JR
31982000-11-25 Jason Rumney <jasonr@gnu.org>
3199
52283633
SM
3200 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3201 Args to window_from_coordinates should be pixel coordinates.
48b21762 3202
a609568a
JR
3203 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3204 redisplay handles them properly.
3205
a658d039
MB
32062000-11-25 Miles Bader <miles@gnu.org>
3207
3208 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3209
d3416cca
JR
32102000-11-24 Jason Rumney <jasonr@gnu.org>
3211
3212 * w32.c (init_environment): Set LANG environment variable based on
3213 locale settings, if not set.
3214
3215 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3216 making tool bar smaller. When clearing the frame, also
3217 clear current matrices. Clear frame when tool bar disappears.
3218 Don't use more lines for the tool-bar than is available.
3219 (x_change_window_heights): New function.
3220
ba193890
GM
32212000-11-24 Gerd Moellmann <gerd@gnu.org>
3222
2be8f184
GM
3223 * xdisp.c (init_from_display_pos): If POS says we're already after
3224 an overlay string ending at POS, make sure to pop the iterator
3225 because it will be in front of that overlay string. When POS is
3226 ZV, we've thereby also ``processed'' overlay strings at ZV.
3227
ba193890
GM
3228 * xfaces.c (lface_from_face_name): Function comment fix.
3229
1862a24e
MB
32302000-11-24 Miles Bader <miles@gnu.org>
3231
3232 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3233 apply `mode-line-inverse-video' -- zero means force display using
3234 the default face, non-zero means display using the specialized face.
3235 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3236
f07fa1b8
KH
32372000-11-23 Kenichi Handa <handa@etl.go.jp>
3238
3239 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3240 hard coded `4'.
3241
2bcdf662
EZ
32422000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3243
3244 * coding.c (decode_coding_emacs_mule): Fix the case of
3245 CODING_EOL_LF, which used uninitialized value of c.
3246
ba8299ff
SM
32472000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3248
3249 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3250
f4117c4d
GM
32512000-11-22 Gerd Moellmann <gerd@gnu.org>
3252
03e757c1
GM
3253 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3254 buffer object.
3255
f4117c4d
GM
3256 * frame.h (struct frame): Replace desired_tool_bar_items,
3257 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3258 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3259
3260 * frame.c (make_frame): Change initialization of tool bar
3261 items accordingly.
3262
3263 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3264 Change references to members deleted from struct frame to use the
f4117c4d
GM
3265 new ones.
3266
3267 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3268 references to members deleted from struct frame to use the new ones.
f4117c4d 3269
52283633 3270 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3271
3272 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3273
3274 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3275 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3276 from struct frame to use the new ones.
3277
f8e2f3f2
MB
32782000-11-23 Miles Bader <miles@gnu.org>
3279
3280 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3281 the face's inverse-video attribute, rather than overriding it.
3282
60e8e0a5
GM
32832000-11-22 Gerd Moellmann <gerd@gnu.org>
3284
3285 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3286 making tool bar smaller.
3287
92dd1b29
DL
32882000-11-22 Dave Love <fx@gnu.org>
3289
3290 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3291
e672fdce
MB
32922000-11-22 Miles Bader <miles@gnu.org>
3293
3a17d6cc
MB
3294 * keyboard.c (Vminibuffer_message_timeout): New variable.
3295 (command_loop_1): Use it to determine message timeout.
3296 (syms_of_keyboard): Initialize it.
3297
60e8e0a5 3298 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3299
e9655d81
KH
33002000-11-22 Kenichi Handa <handa@etl.go.jp>
3301
3302 * sysdep.c: Move the code for declaring h_errno after #include
3303 <netdb.h>.
3304
77270fac
GM
33052000-11-21 Gerd Moellmann <gerd@gnu.org>
3306
cd913aae
GM
3307 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3308 the menu bar when the tooltip is unmapped.
3309
77270fac
GM
3310 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3311 sole visible buffer when we're currently in the mini-buffer, and
3312 give up if so.
52283633 3313
556635d6
JR
33142000-11-21 Jason Rumney <jasonr@gnu.org>
3315
3316 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3317 put on the clipboard.
3318 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3319 copy of what Emacs last put there. If they are the same, do not
52283633 3320 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3321
5b7bde64
MB
33222000-11-22 Miles Bader <miles@gnu.org>
3323
3324 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3325 (syms_of_minibuf): Initialize it.
3326 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3327 to prompt, don't make read-only.
3328
ff23e1dd
GM
33292000-11-21 Gerd Moellmann <gerd@gnu.org>
3330
52283633
SM
3331 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3332 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3333
7aaf4388
GM
3334 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3335
f5f47add 3336 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3337
ff23e1dd
GM
3338 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3339
37c35586
KH
33402000-11-21 Kenichi Handa <handa@etl.go.jp>
3341
3342 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3343 ... #endif scope.
3344
ff9ab414
GM
33452000-11-20 Gerd Moellmann <gerd@gnu.org>
3346
52283633 3347 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3348 screen supports it.
3349
29a01b72
GM
3350 * s/gnu-linux.h: Don't use `#cpu'.
3351
09dfdf85
GM
3352 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3353 not defined in mman.h.
3354
52283633 3355 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3356 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3357 and store an index in the XClientMessageEvent. Storing a
3358 Lisp_Object or pointer can fail on a 64 bit system, since X only
3359 transfers 32 bits.
52283633
SM
3360 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3361
81459ac9
DL
33622000-11-20 Dave Love <fx@gnu.org>
3363
3364 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3365
56c13ae6
GM
33662000-11-20 Gerd Moellmann <gerd@gnu.org>
3367
3368 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3369
495a6df3
KH
33702000-11-20 Kenichi Handa <handa@etl.go.jp>
3371
2bcf3714
KH
3372 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3373 by WIDTH.
3374
495a6df3
KH
3375 * alloc.c (make_string): Fix previous change. Be sure to make
3376 unibyte string correctly.
3377
6d950f4c
GM
33782000-11-19 Gerd Moellmann <gerd@gnu.org>
3379
39b39373
GM
3380 * window.c (Fwindow_list): Change parameter list to be XEmacs
3381 compatible.
3382 (window_list_1): New function.
3383 (window_loop): Use it instead of Fwindow_list.
3384
b95b34e5
GM
3385 * sysdep.c (emacs_ospeed): New variable.
3386 (toplevel): Don't declare ospeed extern.
3387 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3388
3389 * termcap.c (ospeed): Remove.
3390 (tputs) [!emacs]: Remove unused code.
3391 (tgetent): Avoid a compiler warning.
3392
e83dc917
GM
3393 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3394 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3395 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3396
3397 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3398 removed.
3399 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3400 Take the X display as additional argument.
3401 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3402 `Widget' is a pointer type that's not easily stored in Lisp_Object
3403 form in a portable way.
52283633 3404
6d950f4c
GM
3405 * dispnew.c (update_text_area): Fix last change.
3406
e47306e6
GM
34072000-11-18 Gerd Moellmann <gerd@gnu.org>
3408
fb3cd89b
GM
3409 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3410
3411 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3412 clear current matrices.
3413
edaa9aed
GM
3414 * buffer.c (mmap_enlarge): Don't print a message on stderr
3415 if mapping new memory at the end of the existing region fails.
3416
e47306e6
GM
3417 * dispnew.c (update_text_area): Don't skip over equal glyphs
3418 when the last current glyph overlaps the glyph to its right.
3419
509633e3
MB
34202000-11-18 Miles Bader <miles@gnu.org>
3421
3422 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3423 lines that *end* with "..." too (that's the most common case!).
3424
d392e9c5
GM
34252000-11-18 Gerd Moellmann <gerd@gnu.org>
3426
67988445
GM
3427 * xdisp.c (resize_mini_window): Temporarily change to the
3428 mini-window's buffer if necessary.
1bfdbe43 3429
d392e9c5
GM
3430 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3431 the tooltip obscures less text under it.
3432
34332000-11-17 Gerd Moellmann <gerd@gnu.org>
3434
3435 * puresize.h (BASE_PURESIZE): Increase to 700000.
3436
92bb977f
JR
34372000-11-18 Jason Rumney <jasonr@gnu.org>
3438
3439 * w32term.c (w32_draw_bitmap): Use face to set colors.
3440
26fbf20b
DL
34412000-11-17 Dave Love <fx@gnu.org>
3442
3443 * lread.c (Fload): Fix #ifdef for pcc.
3444
100b593b
GM
34452000-11-17 Gerd Moellmann <gerd@gnu.org>
3446
3447 * xdisp.c (pos_visible_p): Compute the default character height
3448 differently.
3449
a288d0d1
GM
34502000-11-16 Gerd Moellmann <gerd@gnu.org>
3451
cac94de6 3452 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3453 knowing the line's height; use the default font's height in that case.
cac94de6 3454
a288d0d1
GM
3455 * xfaces.c (weight_table): Add `demi' with the same meaning as
3456 `demibold'.
3457
981fb6f6
KH
34582000-11-16 Kenichi Handa <handa@etl.go.jp>
3459
2cca872d 3460 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3461 (clear_glyph_row): Delete local static variable null_row.
3462
e5fa381b
JR
34632000-11-15 Jason Rumney <jasonr@gnu.org>
3464
3465 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3466 (w32_alloc_lighter_color): Use new brightness calculations from
3467 xterm.c. Scale delta to be in the range expected by W32.
3468 (w32_draw_relief_rect): Use frame relief colors.
3469
8e42f043
GM
34702000-11-15 Gerd Moellmann <gerd@gnu.org>
3471
6d133d1f
GM
3472 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3473 (Qinhibit_default_face_x_resources): New variable.
3474 (syms_of_frame): Initialize it.
3475 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3476
3477 * xdisp.c (pos_visible_p): Improve function comment.
3478
3479 * lisp.h (BINDING_STACK_SIZE): New macro.
3480
8e42f043
GM
3481 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3482 reading the directory if readdir returns null and errno is EAGAIN
3483 or EINTR.
3484
e8c87124
SM
34852000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3486
3487 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3488 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3489 Set amount_to_scroll to max of dx and scroll_step so that
3490 scroll-conservatively doesn't defeat scroll-step>1.
3491 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3492 scroll-conservatively for line-at-a-time scrolling.
3493
5f0c971d
GM
34942000-11-14 Gerd Moellmann <gerd@gnu.org>
3495
3496 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3497 extra argument.
3498
3499 * xdisp.c (current_mode_line_height, current_header_line_height):
3500 New variables.
3501 (init_xdisp): Initialize them.
3502 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3503 and use exact mode line heights if it is set.
3504
3505 * lisp.h (pos_visible_p): Change prototype.
3506
3507 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3508 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3509 and current_header_line_height first.
52283633
SM
3510 (current_mode_line_height, current_header_line_height):
3511 Declare extern.
5f0c971d 3512
d7361edf
MB
35132000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3514
3515 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3516 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3517 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3518
ee5e440a
MB
35192000-11-14 Miles Bader <miles@gnu.org>
3520
3521 * xterm.c (x_alloc_lighter_color): Include an additive component
3522 too for dark colors, because FACTOR isn't enough.
3523 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3524 New macros.
3525
5ca020fc
GM
35262000-11-13 Gerd Moellmann <gerd@gnu.org>
3527
3528 * keyboard.c (show_help_echo): Call message3_nolog with number of
3529 bytes in the help string as 2nd parameter, instead of the number
3530 of characters.
3531
9d348294
MB
35322000-11-13 Miles Bader <miles@gnu.org>
3533
3534 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3535 (Fload): Use new openp return protocol.
3536 Don't try to use Vload_source_file_function to load .elc files.
3537 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3538 openp return protocol.
3539 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3540
1729bb9a
KH
35412000-11-11 Kenichi Handa <handa@etl.go.jp>
3542
4e677396
KH
3543 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3544
3545 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3546 Defined these macros.
3547 (NLIST_STRUCT): Avoid re-defining it.
3548
1729bb9a
KH
3549 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3550 -I/usr/contrib/X11R6/include.
3551 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3552
a82fe213
JR
35532000-11-10 Jason Rumney <jasonr@gnu.org>
3554
3555 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3556
3557 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3558 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3559
3560 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3561 (Qw32_charset_vietnamese): New symbol.
3562 (xlfd_charset_of_font): New function.
3563 (w32_load_system_font): Use it.
3564 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3565 when Vw32_charset_info_alist is nil to ensure default face always
3566 has font. Use Fcar and Fcdr for safety.
3567 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3568 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3569 pseudo-codepages for special cases.
3570 (w32_to_x_font): New parameter to allow charset portion to be
3571 specified where there is many to one mapping. Callers changed.
3572 (w32_list_fonts): Avoid listing fonts that won't display.
3573
52d89894
GM
35742000-11-10 Gerd Moellmann <gerd@gnu.org>
3575
3576 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3577 (font_list_1): Renamed from font_list.
3578 (font_list): New function, trying alternative registries from
3579 Vface_alternative_font_registry_alist.
3580 (Finternal_set_alternative_font_registry_alist): New function.
3581 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3582 Vface_alternative_font_registry_alist.
3583 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3584
651cd3da
KR
35852000-11-09 Ken Raeburn <raeburn@gnu.org>
3586
3587 * lisp.h (Flooking_at): Declare.
3588
388ac098
GM
35892000-11-09 Gerd Moellmann <gerd@gnu.org>
3590
778fbc46 3591 * dired.c (directory_files_internal): Fix a braino.
52283633 3592
388ac098
GM
3593 * dired.c (directory_files_internal): Add missing GCPRO's.
3594 Some cleanup.
3595
ecaedde1
GM
35962000-11-08 Gerd Moellmann <gerd@gnu.org>
3597
f7eb32aa
GM
3598 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3599 (resize_mini_window): Return quickly if Vresize_mini_window is
3600 nil. Don't return if Vmax_mini_window_height is nil.
3601
3602 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3603 (syms_of_xdisp): Initialize them.
3604 (resize_mini_window): Act according to the setting of
3605 Vresize_mini_window.
3606 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3607
ecaedde1
GM
3608 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3609 scroll bar widget after configuring it, so that it will appear at
3610 the right position from the start.
3611 (XTredeem_scroll_bar): Cleaned up.
3612
3747ef2c
KH
36132000-11-08 Kenichi Handa <handa@etl.go.jp>
3614
3615 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3616 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3617 division by two.
3618
3619 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3620
03391420
DL
36212000-11-07 Dave Love <fx@gnu.org>
3622
7758f1c1 3623 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3624
3625 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3626
b5de343d
GM
36272000-11-07 Gerd Moellmann <gerd@gnu.org>
3628
acad3c0b
GM
3629 * window.c (Fset_window_configuration): Don't try to preserve
3630 point in the current buffer, if that buffer is displayed in more
3631 than one window.
3632
b5de343d
GM
3633 * xfaces.c (lookup_named_face): If default face isn't realized,
3634 try to realize it. Return -1 if not successful.
3635 (Fx_list_fonts): Handle case that face cannot be determined.
3636 (Fface_font): Likewise.
3637
cdb1fe49
GM
36382000-11-06 Gerd Moellmann <gerd@gnu.org>
3639
3640 * window.c (displayed_window_lines): Detect partially
3641 visible lines at the bottom correctly.
3642
d3a67486
SM
36432000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3644
3645 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3646 when ensuring we don't do visit in indirect buffer.
3647
ff8dd5d5
KH
36482000-11-06 Kenichi Handa <handa@etl.go.jp>
3649
3650 * composite.h (compose_chars_in_text): Add prototype.
3651
3652 * composite.c (Vcomposition_function_table): New variable.
3653 (Qcomposition_function_table): New variable.
3654 (run_composition_function): Call
3655 Vcompose_chars_after_function with three arguments.
3656 (compose_chars_in_text): New function.
3657 (syms_of_composite): Modified the doc-string of
3658 Vcompose_chars_after_function. Declare composition-function-table
3659 as a lisp variable, and initialize it.
3660
3661 * xfns.c (x_encode_text): Suppress producing escape sequences for
3662 composition.
3663
3664 * xselect.c: Include composite.h.
3665 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3666
d1145f85
AI
36672000-11-05 Andrew Innes <andrewi@gnu.org>
3668
3669 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3670
3671 * sysdep.c (read_input_waiting): Remove extraneous argument to
3672 read_socket_hook.
3673
3674 * w32fns.c (Fx_server_version): Include w32_build_number in the
3675 return list.
3676
3677 * w32heap.c (w32_build_number): New variable.
3678 (cache_system_info): Set it.
3679
3680 * w32heap.h (w32_build_number): Add extern.
3681
3682 * emacs.c (syms_of_emacs): Update docstring for
3683 system-configuration, to reflect the actual usage on MS-Windows.
3684
e85ee976
GM
36852000-10-31 Gerd Moellmann <gerd@gnu.org>
3686
26dcb81b
GM
3687 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3688 process idle timers while waiting for another event.
3689
52283633 3690 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3691 the default face are colored.
3692
e85ee976
GM
3693 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3694 window height hasn't changed.
3695
01b220b6
JR
36962000-10-31 Jason Rumney <jasonr@gnu.org>
3697
3698 * w32term.c (x_produce_glyphs): Handle composite characters.
3699 (x_draw_glyph_string_foreground)
3700 (x_draw_composite_glyph_string_foreground): Restore old font.
3701
4e6b7204
MB
37022000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3703
3704 * minibuf.c (read_minibuf): Reset the undo history just before
3705 starting the recursive-edit.
3706
d4358b37
GM
37072000-10-30 Gerd Moellmann <gerd@gnu.org>
3708
563f68f1
GM
3709 * xfaces.c (menu_face_change_count): New variable.
3710 (Finternal_set_lisp_face_attribute): Increment it for changes
3711 of the `menu' face.
3712 (realize_basic_faces): Reflect changes in the `menu' faces
3713 in menu bars.
3714
82e274d1
GM
3715 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3716 dy obtained from the iterator's y-position after moving from
3717 scroll_margin_pos to PT; see comment there.
52283633 3718
0dbf9fd2
GM
3719 * xdisp.c (safe_eval_handler): Call add_to_log.
3720
906b3b14
GM
3721 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3722 is not a symbol or string.
3723
d4358b37
GM
3724 * xdisp.c (echo_area_display): Don't perform a display update from
3725 inside redisplay. The update will happen anyway at the end of
3726 redisplay, and it can confuse redisplay (GC messages while
3727 redisplaying, for instance.)
3728
70c825df
SM
37292000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3730
cf9b4b0b
SM
3731 * xrdb.c (x_load_resources): Use the class name in the defaults.
3732
70c825df
SM
3733 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3734 (regex_compile): Catch bogus \(\1\).
3735
a1d34b1e
GM
37362000-10-30 Gerd Moellmann <gerd@gnu.org>
3737
cae71efe
GM
3738 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3739 RGB values.
52283633 3740
35efe0a1
GM
3741 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3742 we have a color cache, check that the cached color equals the
3743 allocated color. If not, clear the color cache.
3744
1d3baf74
GM
3745 * window.c (displayed_window_lines): Change buffers if necessary.
3746 Fix computation of displayed lines.
3747
a1d34b1e
GM
3748 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3749 update_menu_bindings to DEFVAR_BOOL.
3750
70737ea9
KH
37512000-10-30 Kenichi Handa <handa@etl.go.jp>
3752
70c825df 3753 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3754
fa0cb51d
KH
3755 * puresize.h (BASE_PURESIZE): Increase to 680000.
3756
70737ea9
KH
3757 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3758
0e4c08e8
JR
37592000-10-29 Jason Rumney <jasonr@gnu.org>
3760
3761 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3762
3763 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3764 (w32_cache_char_metrics): Handle possibility that 'x' does not
3765 exist in a BDF font.
3766 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3767
3768 * w32bdf.h (bdffont): Add nchars.
3769
3770 * w32bdf.c (set_bdf_font_info): Set it.
3771 (w32_BDF_TextOut): Swap byte order of double byte characters.
3772 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3773
45b84006
EZ
37742000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3775
3776 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3777 don't override the colors in frame's param_alist, unless they are
3778 unspecified.
3779
3780 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3781 reverse the effect of the highlight flag.
3782
caf9deee
KR
37832000-10-27 Ken Raeburn <raeburn@gnu.org>
3784
3785 * window.h (Fwindow_live_p): Declare.
3786
ae0b9b46
KR
3787 * undo.c (record_delete): Check that last_undo_buffer is really a
3788 buffer before applying XBUFFER to it.
3789
3790 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3791 Faref.
3792
02067692
SM
37932000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3794
3795 * lisp.h (KEYMAPP): New macro.
3796 (get_keymap): Remove.
3797 (get_keymap_1): Rename get_keymap.
3798
3799 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3800
3801 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3802
3803 * xmenu.c (single_submenu): Use KEYMAPP.
3804 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3805 Use KEYMAPP rather than Fkeymapp.
3806
3807 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3808
3809 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3810 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3811 Use KEYMAPP rather than Fkeymapp.
3812 (single_submenu): Use KEYMAPP.
3813 (w32_menu_show, w32_dialog_show): Use TRUE.
3814
3815 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3816
3817 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3818 (Fkeymapp): Use KEYMAPP.
3819 (get_keymap): Rename from get_keymap_1. Remove old def.
3820 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3821 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3822 (Fminor_mode_key_binding): Don't raise an error if the binding
3823 is not a keymap.
3824 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3825 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3826
3827 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3828 Allow Vspecial_event_map to be autoloaded.
3829 (menu_bar_items): Fetch the keymap rather than using keymapp.
3830 (menu_bar_one_keymap): No need to follow func-indirect any more.
3831 (parse_menu_item): get_keymap_1 -> get_keymap.
3832 (tool_bar_items): Fetch the keymap rather than using keymapp.
3833 (read_key_sequence): Use KEYMAPP.
3834
3835 * intervals.c (get_local_map): Use get_keymap rather than following
3836 function-indirections explicitly.
3837
3838 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3839
f9d80af3
JR
38402000-10-27 Jason Rumney <jasonr@gnu.org>
3841
3842 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3843 point, as Windows has oversized fonts.
3844
3845 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3846
a3ba27da
GM
38472000-10-27 Gerd Moellmann <gerd@gnu.org>
3848
3849 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3850 (freehook, reallochook): Handle null pointer arguments.
3851 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3852
aa3b80cc
SM
38532000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3854
3855 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3856 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3857 Giving in to popular pressure to shut up the compiler with casts.
3858
e24e84cc
GM
38592000-10-27 Gerd Moellmann <gerd@gnu.org>
3860
3861 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3862 signed value, and use a default value computed from the font's
3863 maximum descent.
3864
05ea7ef2
MB
38652000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3866
3867 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3868 that specify a negative underline position can still use underlines.
3869
3870 * window.c (Fpos_visible_in_window_p): Make POS default to
3871 WINDOW's point, not the current buffer's point.
3872
0b95284b
DL
38732000-10-26 Dave Love <fx@gnu.org>
3874
3875 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3876 when it's necessary.
3877
6c5b90af
GM
38782000-10-26 Gerd Moellmann <gerd@gnu.org>
3879
8b6d9dc9
GM
3880 * window.c (size_window): Compute size difference from sum of old
3881 child window sizes instead of from parent's size.
3882
6bc92b2e
GM
3883 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3884 Handle obscured lines at the top of the window.
3885
3886 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3887 down after the last error condition check.
3888
6c5b90af
GM
3889 * frame.c (Fdelete_frame): Run delete-frame-hook.
3890
42f92d4d
KH
38912000-10-26 Kenichi Handa <handa@etl.go.jp>
3892
3893 * coding.c (decode_coding): Fix previous change (check also
3894 CODING_MODE_LAST_BLOCK).
3895
d97151cb
SM
38962000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3897
e7efc503
SM
3898 * regex.c: More `unsigned char' -> `re_char' changes.
3899 Also change several `int' into `re_wchar_t'.
3900 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3901 (PUSH_FAILURE_POINTER): Don't cast any more.
3902 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3903 We want GCC to complain, since this piece of code makes
3904 re_match non-reentrant, which *should* be fixed.
3905 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3906 (EXTEND_BUFFER): Use RETALLOC.
3907 (SET_LIST_BIT): Don't cast.
3908 (re_wchar_t): New type.
3909 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3910 that those two functions will always properly return.
3911 (IMMEDIATE_QUIT_CHECK): Cast to void.
3912 (analyse_first): Use recursion rather than an explicit stack.
3913 (re_compile_fastmap): Can't fail anymore.
3914 (re_search_2): Don't check re_compile_fastmap for failure.
3915 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3916 Now also sets the new value (passed in a new argument).
3917 (re_match_2_internal): Use it.
3918 Also, use a new var `reg' of type size_t when looping through regs
3919 rather than reuse the inappropriate `mcnt'.
3920
d97151cb
SM
3921 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3922 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3923 (where_is_internal): Renamed from Fwhere_is_internal.
3924 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3925 (Fwhere_is_internal): New function wrapping where_is_internal.
3926 (where_is_internal_1): Handle the case where we're filling the cache.
3927 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3928
d5789b65
MB
39292000-10-25 Miles Bader <miles@gnu.org>
3930
3931 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3932
4ecda532
GM
39332000-10-25 Gerd Moellmann <gerd@gnu.org>
3934
3935 * window.c (pos_fully_visible_p): Removed.
3936 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3937 if position is visible and/or fully visible.
3938
3939 * lisp.h (pos_visible_p): Add prototype.
3940
3941 * xdisp.c (pos_visible_p): New function.
3942
68c3a137
KH
39432000-10-25 Kenichi Handa <handa@etl.go.jp>
3944
3945 * process.c (send_process): If OBJECT is t, it means that the data
3946 is from C string, but we should encode it. Before calling
3947 setup_raw_text_coding_system, be sure to flush out data by the
3948 previous coding system.
3949
7ae1c032
MB
39502000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3951
ff4dcd4b
MB
3952 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3953 assignment of startpos to prev when startpos == pos.
3954
7ae1c032
MB
3955 * editfns.c (find_field): Set the field stickiness correctly from
3956 overlay fields. Use renamed `text_property_stickiness'.
3957 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3958 Only check text properties, not overlays.
7ae1c032
MB
3959 * textprop.c (get_char_property_and_overlay): New function.
3960 (Fget_char_property): Use it.
3961 * intervals.h (get_char_property_and_overlay): Add declaration.
3962
49801145
SM
39632000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3964
3965 * keymap.c: Use AREF, ASET and ASIZE macros.
3966 (Fmake_sparse_keymap): Docstring fix.
3967 (synkey): Remove.
3968 (shadow_lookup): Move up.
3969 Handle the case where lookup-key returns an integer.
3970 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3971 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3972 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3973 Simplify/rewrite the keymap-finding code.
3974 Add check for command shadowing, using shadow_lookup.
3975
39e776cd
SM
39762000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3977
3978 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3979 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3980 a symbol.
3981
2488aba5
AI
39822000-10-24 Andrew Innes <andrewi@gnu.org>
3983
3984 * dired.c (directory_files_internal_unwind): New function.
3985 (directory_files_internal): Use it to ensure closedir is called
3986 even if expand-file-name or file-attributes throw, eg. because of
3987 a user interrupt. Also enable immediate_quit while calling
3988 re_search, so that matching can be interrupted as well.
3989
b94fdf61
AI
39902000-10-24 Andrew Innes <andrewi@gnu.org>
3991
3992 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3993 NT-Emacs only.
3994 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3995 so that re_search functions only quit when callers expect them to.
3996
39972000-10-24 Kenichi Handa <handa@etl.go.jp>
3998
3999 * regex.c (regex_compile): Change the way of handling a range from
4000 a char less than 256 to a char not less than 256.
4001
1946f901
GM
40022000-10-24 Gerd Moellmann <gerd@gnu.org>
4003
7ae2f10f
GM
4004 * window.c (size_window): Prevent setting window's width or
4005 height to a negative value (esp. with XSETFASTINT).
4006
5dcab13e
GM
4007 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
4008 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
4009 (protect_malloc_state) [GC_MALLOC_CHECK &&
4010 GC_PROTECT_MALLOC_STATE]: New function.
4011 (PROTECT_MALLOC_STATE): New macro.
4012 (__malloc_initialize, morecore, _malloc_internal)
4013 (_free_internal) _realloc_internal): Use it to make _heapinfo
4014 read-only outside of gmalloc.
4015
63e1b552
GM
4016 * keymap.c: Update copyright.
4017
1946f901
GM
4018 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
4019 a symbol.
4020
4fa09beb
GM
40212000-10-24 Colin Walters <walters@cis.ohio-state.edu>
4022
4023 * filelock.c (unlock_all_files): Use unlock_file to expand each
4024 buffer's file_truename before trying remove its lock file.
4025
23afac01
EZ
40262000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4027
4028 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4029 or CRLF, decode EOLs.
4030
04448b95
KH
40312000-10-24 Kenichi Handa <handa@etl.go.jp>
4032
4033 * window.c (Fdisplay_buffer): Fix doc.
4034
3090a5a5
JR
40352000-10-23 Jason Rumney <jasonr@gnu.org>
4036
4037 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4038 ASCII font of default fontset on Windows.
4039
4040 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4041 xterm.c comment below).
4042
4043 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4044
a83fee2c
GM
40452000-10-23 Gerd Moellmann <gerd@gnu.org>
4046
4047 * xterm.c (x_connection_closed): Reset handling_signal.
4048
52283633 4049 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4050
6ffdb539
MB
40512000-10-23 Miles Bader <miles@gnu.org>
4052
4053 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4054 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4055 maintain old behavior.
4056 * minibuf.c (Fminibuffer_complete): Likewise.
4057
7f1c969b
MB
40582000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4059
4060 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4061 that when a font can't be exactly centered, it errs up rather than
4062 down.
4063
23afac01 40642000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4065
52283633 4066 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4067
1a578e9b
AC
40682000-10-23 Andrew Choi <akochoi@i-cable.com>
4069
4070 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4071
4072 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4073 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4074
4075 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4076 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4077 syms_of_search, x_term_init, and init_keyboard before calling
4078 init_window_once. Also, call syms_of_xmenu.
4079
4080 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4081 default fontset to Monaco.
4082
4083 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4084 NewMacWindow and DisposeMacWindow.
4085 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4086 instead of calling NewMacWindow and setting fields of
4087 f->output_data.mac directly. Call init_frame_faces.
4088 (Fdelete_frame) [macintosh]: Remove unused code.
4089 (Fmodify_frame_parameters) [macintosh]: Call
4090 x_set_frame_parameters instead of mac_set_frame_parameters.
4091
4092 * frame.h [macintosh]: Define menu_bar_lines field in struct
4093 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4094
4095 * keyboard.c [macintosh]: Include macterm.h.
4096 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4097 and menu_bar_activate_event type events as for X and NT.
4098 (make_lispy_event) [macintosh]: Construct lisp events of type
4099 MENU_BAR_EVENT as for X and NT.
4100
4101 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4102 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4103 (sys_subshell) [macintosh]: Remove definition entirely.
4104 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4105 Vwindow_system_version here. Remove initialization of
4106 Vx_bitmap_file_path.
4107 (read_input_waiting): Correct the number of parameters passed to
4108 read_socket_hook.
4109 Move all Macintosh functions to mac/mac.c.
4110
4111 * term.c [macintosh]: Include macterm.h.
4112
4113 * window.c [macintosh]: Include macterm.h.
4114
4115 * xdisp.c [macintosh]: Include macterm.h. Declare
4116 set_frame_menubar and pending_menu_activation.
4117 (echo_area_display) [macintosh]: Do not return if terminal frame
4118 is the selected frame.
4119 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4120 Allow only the selected frame to set menu bar.
4121 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4122 calling FRAME_EXTERNAL_MENU_BAR (f).
4123 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4124
4125 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4126 and check_x. Declare XCreateGC. Define x_create_gc and
4127 x_free_gc. Initialize font_sort_order.
4128 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4129 but call x_list_fonts instead of w32_list_fonts.
4130 (Finternal_face_x_get_resource) [macintosh]: Do not call
4131 display_x_get_resource.
4132 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4133 (realize_x_face) [macintosh]: Load the font if it is specified in
4134 ATTRS.
52283633 4135 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4136
1ffbabe3
SM
41372000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4138
4139 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4140 is nil: since we go to the end of submap anyway, we'd end up
4141 setting nil to nil.
4142 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4143 doesn't obey autoload.
4144
bed43f1d
EZ
41452000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4146
1ffbabe3 4147 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4148
ea4233a7
JR
41492000-10-21 Jason Rumney <jasonr@gnu.org>
4150
4151 * w32term.c (w32_cache_char_metrics): Double check that font is
4152 really fixed pitch before trusting tmPitchAndFamily.
4153
f3d3c491
AI
41542000-10-21 Andrew Innes <andrewi@gnu.org>
4155
4156 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4157
4158 * w32term.h: Extern decl for w32_cache_char_metrics.
4159
4160 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4161
4162 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4163 (w32_unload_font): Free per_char array if present.
4164
4165 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4166 cached information in emulated XFontStruct to handle common cases
4167 quickly. Do not allocate XCharStruct for return.
4168 (w32_native_per_char_metric): New function.
4169 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4170 allocating one.
4171 (x_produce_glyphs): Don't get an HDC. Change calls to
4172 w32_per_char_metric to match arg change above. Remove calls to
4173 free results.
4174 (w32_get_glyph_overhangs): Ditto.
4175 (w32_cache_char_metrics): New function.
4176
4177 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4178 ($(BLD)/casefiddle.$(O)): Remove compile command.
4179 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4180 ($(BLD)/dispnew.obj):
4181 ($(BLD)/keyboard.obj):
4182 ($(BLD)/w32inevt.obj):
4183 ($(BLD)/w32bdf.obj):
4184 ($(BLD)/alloc.obj):
4185 ($(BLD)/buffer.obj):
4186 ($(BLD)/editfns.obj):
4187 ($(BLD)/emacs.obj):
4188 ($(BLD)/fileio.obj):
4189 ($(BLD)/fns.obj):
4190 ($(BLD)/indent.obj):
4191 ($(BLD)/insdel.obj):
4192 ($(BLD)/intervals.obj):
4193 ($(BLD)/minibuf.obj):
4194 ($(BLD)/print.obj):
4195 ($(BLD)/scroll.obj):
4196 ($(BLD)/sysdep.obj):
4197 ($(BLD)/textprop.obj):
4198 ($(BLD)/widget.obj):
f3d3c491
AI
4199 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4200 ($(BLD)/term.obj): Add dependency on dispextern.h.
4201
52283633
SM
4202 * makefile.nt ($(BLD)\dispnew.obj):
4203 ($(BLD)\keyboard.obj):
4204 ($(BLD)\w32inevt.obj):
4205 ($(BLD)\w32bdf.obj):
4206 ($(BLD)\alloc.obj):
4207 ($(BLD)\buffer.obj):
4208 ($(BLD)\editfns.obj):
4209 ($(BLD)\emacs.obj):
4210 ($(BLD)\fileio.obj):
4211 ($(BLD)\fns.obj):
4212 ($(BLD)\indent.obj):
4213 ($(BLD)\insdel.obj):
4214 ($(BLD)\intervals.obj):
4215 ($(BLD)\minibuf.obj):
4216 ($(BLD)\print.obj):
4217 ($(BLD)\scroll.obj):
4218 ($(BLD)\sysdep.obj):
4219 ($(BLD)\textprop.obj):
4220 ($(BLD)\widget.obj):
f3d3c491
AI
4221 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4222 ($(BLD)\term.obj): Add dependency on dispextern.h
4223
18ad4821
EZ
42242000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4225
4226 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4227 with an additional argument of Qt.
4228
de54681a
MB
42292000-10-21 Miles Bader <miles@gnu.org>
4230
4231 * window.c (pos_fully_visible_in_window_p): New function.
4232 (Fpos_visible_in_window_p): Add FULLY argument.
4233 Use pos_fully_visible_in_window_p.
4234 (window_scroll_pixel_based, window_scroll_line_based): Update
4235 calls to Fpos_visible_in_window_p.
4236 * lisp.h (Fpos_visible_in_window_p): Update prototype
4237
13c844fb
GM
42382000-10-20 Gerd Moellmann <gerd@gnu.org>
4239
4240 * alloc.c (toplevel): Conditionalize compilation of mem_*
4241 functions differently.
52283633 4242
d9506268
JR
42432000-10-20 Jason Rumney <jasonr@gnu.org>
4244
4245 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4246 mem_init where it used to be. mem_z etc not defined otherwise.
4247
8094989b
GM
42482000-10-20 Gerd Moellmann <gerd@gnu.org>
4249
4250 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4251 GC_MALLOC_CHECK.
4252 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4253 structure definition and related variabled to the top of the file.
4254 Include this code when GC_MALLOC_CHECK is defined.
4255 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4256 register/unregister allocated region.
4257 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4258 which isn't allocated.
4259 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4260 something which is already in use.
4261 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4262 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4263 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4264 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4265
4266 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4267 _malloc_internal instead of malloc.
4268 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4269 of free.
4270
ea456eb4
AI
42712000-10-20 Andrew Innes <andrewi@gnu.org>
4272
4273 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4274 Windows.
4275 (my_strftime) <macro>: Don't use macro arg list when redefining as
4276 _strftime_copytm.
4277 (my_strftime) <function>: Supply 0 as ut argument.
4278
e64c3a75
JR
42792000-10-19 Jason Rumney <jasonr@altavista.net>
4280
4281 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4282 including dispextern.h, as it stops faces from working.
4283
4284 * w32fns.c (Fx_create_frame): Don't bother calling
4285 face-set-after-frame-default since the caller does it for us
4286 anyway. Clean up calls to x_get_arg to be consistent with X.
4287
4288 * w32term.c (x_produce_glyphs): Handle
4289 unibyte_display_via_language_environment correctly.
4290 (w32_draw_box_rect): Fix the calculation of width and height.
4291
4292 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4293 as it has stopped working.
4294 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4295 menu-bar.
4296
17401c97
GM
42972000-10-19 Gerd Moellmann <gerd@gnu.org>
4298
4299 * eval.c (skip_debugger): Prevent a compiler warning.
4300 (Fcondition_case): Likewise.
4301 (Fbacktrace_frame): Use a null interactive spec.
4302
773272d8
KH
43032000-10-19 Kenichi Handa <handa@etl.go.jp>
4304
4305 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4306
a42943e9
GM
43072000-10-18 Gerd Moellmann <gerd@gnu.org>
4308
e50517d9
GM
4309 * strftime.c: Sync with glibc, file version 1.78.
4310 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4311 should no longer be used according to ISO 8601.
4312
9035a35a
GM
4313 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4314 no map for meta_prefix_char, don't try to use it as a keymap.
4315 Instead, if T_OK is non-zero, look up a default binding, if any,
4316 otherwise, if T_OK is zero, return nil.
4317
a42943e9
GM
4318 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4319 (x_to_xcolors, png_load): Use x_query_color.
4320
52283633
SM
4321 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4322 New functions.
a42943e9
GM
4323 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4324 which can be slow.
4325 (x_copy_color, x_alloc_lighter_color): Likewise.
4326
4327 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4328 (x_query_color, x_query_colors): Add prototype.
4329
4330 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4331 check_string_bytes only if not noninteractive, increase count to 50.
4332
00de2987
MB
43332000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4334
4335 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4336 markers correctly.
4337
54918e2b
GM
43382000-10-17 Gerd Moellmann <gerd@gnu.org>
4339
1f0b3fd2
GM
4340 * alloc.c (pure_bytes_used): Renamed from pureptr.
4341 (ALIGN): New macro.
4342 (pure_alloc): New function.
4343 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4344 Use it.
4345 (Fpurecopy): Use PURE_POINTER_P.
4346
68c5d1db
GM
4347 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4348 PT has moved backward.
52283633 4349
9a038881
GM
4350 * xdisp.c (cursor_row_p): Take continued lines into account.
4351
361b097f
GM
4352 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4353 string's size_byte.
4354 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4355 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4356 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4357 string allocated.
4358
54918e2b
GM
4359 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4360 of selective display off while searching for the next line start.
4361
03ed0806
KH
43622000-10-17 Kenichi Handa <handa@etl.go.jp>
4363
4364 * Makefile.in (term.o): Depend on dispextern.h.
4365
7e05cdaf
SM
43662000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4367
4368 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4369
a6801fd1
GM
43702000-10-16 Gerd Moellmann <gerd@gnu.org>
4371
483de32b
GM
4372 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4373 the iterator at the beginning, so that they can be set later on,
4374 for instance in reseat_at_next_visible_line_start, without being
4375 overwritten.
4376
a6801fd1
GM
4377 * xfns.c (pbm_format): Add :foreground and :background keywords.
4378 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4379 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4380
dbf1fcc1
EZ
43812000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4382
4383 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4384
52283633 4385 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4386
4387 * msdos.c (IT_set_face): Compare highlighted face with the default
4388 face, and invert colors if these faces' colors are identical.
4389 (Fmsdos_remember_default_colors): Don't swap foreground and
4390 background colors in initial_colors[].
4391 (IT_set_frame_parameters): Don't swap frame's foreground and
4392 background pixels. If ALIST includes "(reverse . t)", swap
4393 foreground-color and background-color properties in frame's
4394 param_alist. If the original frame's param_alist doesn't specify
4395 the colors, store unspecified-fg and unspecified-bg, reversed if
4396 required.
4397
4398 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4399 the colors are unspecified and reversed, reverse fore- and back-
4400 ground in the returned value.
4401 (Fframe_parameter): Ditto.
4402
b41fe2c3 44032000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4404
3a6b59d9
GM
4405 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4406 get_last_unchanged_at_beg_row.
4407 (find_first_unchanged_at_end_row): Renamed from
4408 get_first_unchanged_at_end_row.
4409 (find_first_unchanged_at_end_row): Convert assertions to
4410 unconditional tests which abort. When looking for a row in
4411 unchanged text, don't go further back than first_text_row.
4412
b41fe2c3
GM
4413 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4414 Don't add in the last line's height when deciding if the new
4415 position is below the scroll margin.
9d1af64f 4416
b41fe2c3 44172000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4418
4419 * editfns.c (Fconstrain_to_field): Check carefully for field
4420 boundaries if either OLD_POS or NEW_POS has a non-nil field
4421 property, even if they're the same.
4422
c412cb7b
KH
44232000-10-16 Kenichi Handa <handa@etl.go.jp>
4424
4425 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4426 height for XFillRectangle.
4427
5586f3eb
SM
44282000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4429
4430 * syntax.c (Fstring_to_syntax): New function extracted from
4431 Fmodify_syntax_entry.
4432 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4433 (skip_chars, Fforward_comment): Remove unused variables.
4434 (syms_of_syntax): Add defsubr for string-to-syntax.
4435 (describe_syntax): Add code for comment and string fences.
4436
db785038
SM
44372000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4438
4439 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4440 Do the meta->esc mapping. Call get_keyelt before returning.
4441 Start scanning from the second element (the first is always `keymap')
4442 to make it easier to detect when we reach a parent map.
4443 Handle the case of inheriting from a symbol whose function is a map.
4444 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4445 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4446 (get_keyelt, Flookup_key): Update call to access_keymap.
4447 Remove the meta->esc mappings.
4448 (define_as_prefix): Delete old disabled code.
4449 (menu_item_p): New function.
4450 (where_is_internal_1): Skip over the few remaining menu items.
4451 * lisp.h (access_keymap): Update prototype.
4452 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4453 Update call to access_keymap.
4454 (follow_key, read_key_sequence): Update calls to access_keymap.
4455 Remove the meta->esc mappings.
4456
cafafe0b
GM
44572000-10-13 Gerd Moellmann <gerd@gnu.org>
4458
a2e2a7f6
GM
4459 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4460 with additional argument.
4461
cafafe0b
GM
4462 * xdisp.c (cursor_row_p): New function.
4463 (try_cursor_movement, display_line): Use it.
52283633 4464
cafafe0b
GM
4465 * xdisp.c (append_space): Also save/restore iterator's current
4466 character and its length.
4467
4468 * xdisp.c (init_from_display_pos): Add an assertion.
4469 (handle_stop): Don't set iterator's add_overlay_start.
4470 (handle_invisible_prop): Likewise.
4471 (load_overlay_strings): If text under an overlay is invisible,
4472 take both before- and after-strings into account when the iterator
4473 is positioned either at the start or at the end of the overlay.
4474 (forward_to_next_line_start): Rewritten.
4475 (reseat_at_next_visible_line_start): Rewritten.
4476 (set_iterator_to_next): Add parameter RESEAT_P.
4477
4478 * dispextern.h (struct it): Remove member add_overlay_start.
4479 (set_iterator_to_next): Change prototype.
4480
c744452b
KH
44812000-10-13 Kenichi Handa <handa@etl.go.jp>
4482
4483 * coding.c (code_convert_region): Be sure to initialize
4484 coding->category_idx.
e4a3f4e1
KH
4485 (decode_coding_string): Set coding->src_multibyte and
4486 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4487 (encode_coding_string): Set coding->src_multibyte and
4488 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4489
321fd26f
SM
44902000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4491
4492 * xfns.c (Fx_create_frame): Don't bother calling
4493 face-set-after-frame-default since the caller does it for us anyway.
4494
76832439
EZ
44952000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4496
4497 * window.c (coordinates_in_window): Fix detection of vertical line
4498 on character terminals.
4499
2483cf58
GM
45002000-10-12 Gerd Moellmann <gerd@gnu.org>
4501
4502 * editfns.c (save_excursion_save): Additionally record the
4503 selected window.
4504 (save_excursion_restore): If buffer was visible in a window, and a
4505 different window was selected, and the old selected window is
4506 still live, restore point in that window.
4507
eb991b25
KH
45082000-10-12 Kenichi Handa <handa@etl.go.jp>
4509
8a0eba09
KH
4510 * xterm.c (x_produce_glyphs): Handle
4511 unibyte_display_via_language_environment correctly.
4512
20401fcc
KH
4513 * regex.c (regex_compile): Change the way of handling a range from
4514 unibyte char to multibyte char.
4515
4516 * syntax.c (skip_chars): Change the way of handling a range from
4517 unibyte char to multibyte char.
4518
eb991b25
KH
4519 * process.c (read_process_output): Cancel previous change.
4520
365dd325
EZ
45212000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4522
c1b096cb
EZ
4523 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4524
365dd325
EZ
4525 * charset.c (Ffind_charset_string): Doc fix.
4526 (Ffind_charset_region): Doc fix.
4527
eb483c2b
KH
45282000-10-11 Kenichi Handa <handa@mule.m17n.org>
4529
4530 * process.c (read_process_output): Fix previous change. Adjust
4531 multibyteness of text to insert in a buffer by
52283633 4532 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4533
b40bfb99
AS
45342000-10-10 Andreas Schwab <schwab@suse.de>
4535
4536 * alloc.c (mark_object): Remove all workarounds installed on
4537 1993-08-08.
4538
caff31d4
KH
45392000-10-10 Kenichi Handa <handa@etl.go.jp>
4540
52283633 4541 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4542 (base64_encode_1): Make it work for a text of multibyte form.
4543 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4544 case. Don't call str_to_multibyte because base64_decode_1
4545 produces correct multibyte form for eight-bit codes.
52283633 4546 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4547 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4548 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4549 codes.
4550
4551 * charset.h (CHAR_STRING): Optimized for single byte characters.
4552
cba026ef
AS
45532000-10-09 Andreas Schwab <schwab@suse.de>
4554
4555 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4556 -1 after socket is closed, to fall through to error processing.
4557
1e21fe48
EZ
45582000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4559
4560 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4561 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4562 background-color, change also the colors of the default face for
4563 this frame.
4564
a640322e
EZ
45652000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4566
4567 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4568 them extern (they are defined on xfaces.c).
4569 (syms_of_msdos): Don't intern and don't staticpro
4570 Qbackground_color and Qforeground_color.
4571
a115794c
EZ
45722000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4573
4574 * frame.c (Fframe_parameter): For non-windowed frames, if
4575 f->param_alist says foreground or background color is unspecified,
4576 call tty_color_name to return the color name computed from the
4577 frame's current colors.
4578
f5533b63
DL
45792000-10-06 Dave Love <fx@gnu.org>
4580
4581 * terminfo.c (ospeed): Don't declare.
4582
4583 * sysdep.c: Don't include string.h.
4584 (h_errno): Declare conditional also on TRY_AGAIN.
4585
4586 * charset.c (Ffind_charset_string): Doc fix.
4587
52283633 4588 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4589 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4590 error messages.
4591
2b06561a
DL
45922000-10-05 Dave Love <fx@gnu.org>
4593
4594 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4595 position like menu-bar.
4596
ca839c85
GM
45972000-10-05 Gerd Moellmann <gerd@gnu.org>
4598
4599 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4600
4601 * xdisp.c (handle_single_display_prop): Use safe_call1.
4602 (safe_call): Renamed from call_function.
4603 (safe_call1): New function.
4604 (handle_fontified_prop): Use safe_call1 instead of call1.
4605 (safe_eval): Renamed from eval_form.
4606 (safe_eval_handler): Renamed from eval_handler.
4607 (handle_single_display_prop, display_mode_element): Use safe_eval
4608 instead of eval_form.
4609
4610 * xfaces.c (merge_face_heights): Use safe_call instead of
4611 call_function.
4612
4613 * keyboard.c (show_help_echo): Use safe_call instead of
4614 call_function; use safe_eval instead of eval_form.
4615
4616 * lisp.h (safe_call): Renamed from call_function.
4617 (safe_eval): Renamed from eval_form.
4618 (safe_call1): Add prototype.
4619
a3489ece
MB
46202000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4621
4622 * xfns.c (image_ascent): Rearrange ascent calculation for the
4623 has-a-font case.
4624
35810b6f
SM
46252000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4626
4627 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4628 (where_is_internal_1): Don't bother ignoring menu-items any more.
4629
3dc78168
GM
46302000-10-04 Gerd Moellmann <gerd@gnu.org>
4631
4632 * keyboard.c (update_menu_bindings): New variable.
4633 (parse_menu_item): Use AREF. If update_menu_bindings
4634 is 0, don't update menu bindings.
4635 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4636
1efc2bb9
EZ
46372000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4638
4639 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4640 to `mark_object'.
4641
3f679f55
SM
46422000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4643
4644 * syntax.c (forw_comment): Match nestedness of ender/starter.
4645 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4646 (prev_char_comstart_first): Remove.
4647 (back_comment): Check two-char comment markers more carefully
4648 to better handle overlapping cases like *//* or /* */* */ ...
4649 Match nestedness of ender/starter.
4650
2021ab61
DL
46512000-10-02 Dave Love <fx@gnu.org>
4652
4653 * config.in (HAVE_GAI_STRERROR): Add undef.
4654
4655 * process.c (Fopen_network_stream): Use it.
4656
4657 * m/alpha.h (NO_REMAP): Don't define.
4658
64e6cc18
GM
46592000-10-02 Gerd Moellmann <gerd@gnu.org>
4660
4661 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4662 return with a string converted to an integer or vice versa when
4663 Vmocklisp_arguments is t.
4664 (Fsignal): Likewise. The function can return for `quit'.
4665 (struct gcpro): Declare member `var' to point to a volatile
4666 Lisp_Object.
4667
4668 * eval.c (error): Prevent compiler warning.
4669
b1904cd9
SM
46702000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4671
4672 * keymap.c (keymap_memberp): New function.
4673 (Fset_keymap_parent): Use it.
4674 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4675 Use keymap_memberp to avoid creating cycles.
4676 (access_keymap): Use KEYMAPP.
4677
71c9ec51
GM
46782000-09-30 Gerd Moellmann <gerd@gnu.org>
4679
4680 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4681 gai_strerror. Make sure xerrno is set if connect fails. Improve
4682 error recovery.
71c9ec51 4683
c70c6b58
JR
46842000-09-29 Jason Rumney <jasonr@gnu.org>
4685
4686 * w32term.c (w32_char_font_type, w32_encode_char)
4687 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4688 (w32_bdf_per_char_metric): New function.
4689 (w32_per_char_metric): Use it.
4690 (x_draw_glyph_string_background): Always draw background for BDF
4691 glyphs.
4692
4693 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4694 GDI object which is a scarce resource.
4695
4696 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4697 (get_quoted_string): Fix limit on memchr search.
4698 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4699 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4700 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4701 (get_cached_font_char, cache_char_offset): Use macro
4702 BDF_CODEPOINT_RANGE_COVER_P.
4703 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4704 (clear_cached_bitmap_slots): New function.
4705 (GET_HEX_VALUE): G-Z, g-z are not hex.
4706 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4707 (get_bitmap_with_cache): Use new cache implementation.
4708 (create_offscreen_bitmap): New function.
4709 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4710
4711 * w32term.c (x_produce_glyphs): If the distance from the current
4712 position to the next tab stop is less than a canonical character
4713 width, use the tab stop after that.
4714 (x_draw_glyphs): Handle case START and END are out of bounds more
4715 carefully.
4716 (x_clear_mouse_face): Block/unblock input.
4717 (x_display_and_set_cursor): Don't show a hollow box cursor for
4718 buffers whose cursor_type is nil.
4719
fe01239f
GM
47202000-09-29 Gerd Moellmann <gerd@gnu.org>
4721
52283633 4722 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4723
4724 * dispextern.h (updating_frame): Declare extern.
4725
e7c52f1f
AS
47262000-09-29 Andreas Schwab <schwab@suse.de>
4727
4728 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4729
de6e1f7c
GM
47302000-09-29 Gerd Moellmann <gerd@gnu.org>
4731
25126faa
GM
4732 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4733 use its function definition.
4734 (tool_bar_items): Likewise.
4735
de6e1f7c 4736 * lisp.h (fatal): Declare NO_RETURN.
52283633 4737
454ee39b
KH
47382000-09-29 Kenichi Handa <handa@etl.go.jp>
4739
4740 * keymap.c: Remove the line "#undef NULL".
4741
96301c5f
GM
47422000-09-28 Gerd Moellmann <gerd@gnu.org>
4743
52283633 4744 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4745
efffeeb4
DL
47462000-09-28 Dave Love <fx@gnu.org>
4747
ecb8b666
DL
4748 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4749
dc3cd20f
DL
4750 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4751
4752 * .gdbinit (xreload): Note its need on GNU/Linux.
4753
efffeeb4
DL
4754 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4755 r_alloc, r_alloc_free.
4756
8610d903
KH
47572000-09-28 Kenichi Handa <handa@etl.go.jp>
4758
4759 * syntax.c (skip_chars): Handle negation correctly.
4760
8901d1ac
GM
47612000-09-27 Gerd Moellmann <gerd@gnu.org>
4762
6f22f1ad
GM
4763 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4764 with non-zero FORCE_P argument.
4765
52283633 4766 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4767 Add assertions.
4768
4769 * xdisp.c (window_box_height): Add an assertion.
4770
4771 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4772 tool-bar than is available.
4773 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4774
36f1966f
DL
47752000-09-27 Dave Love <fx@gnu.org>
4776
efffeeb4 4777 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4778
31d929e5
GM
47792000-09-26 Gerd Moellmann <gerd@gnu.org>
4780
c98863bf
GM
4781 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4782 instead of BITS_PER_INT.
4783 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4784 EMACS_UINT, respectively.
4785 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4786
4787 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4788
4789 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4790
77072ab1
GM
4791 * window.c (freeze_window_starts): Construct last argument for
4792 foreach_window differently.
4793
4794 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4795
4796 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4797 EMACS_UINT instead of `int' and `unsigned int'.
4798 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4799
4800 * frame.h (struct frame): Make the `nothing' member of union
4801 output_data an EMACS_INT.
4802
52283633 4803 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4804 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4805 size in the sdata structure.
4806 (SDATA_NBYTES, SDATA_DATA): New macros.
4807 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4808 differently for the different layout of the sdata structure.
4809 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4810 in sdata.
4811 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4812 Check that size recorded in the string size and size recorded in
4813 the sdata structure agree.
4814
3e60b029
DL
48152000-09-25 Dave Love <fx@gnu.org>
4816
4817 * buffer.c: Include stdio.h.
4818
4819 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4820
3e60b029
DL
4821 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4822
4823 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4824 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4825 (__malloc_extra_blocks): Declare as __malloc_size_t.
4826
8ff16b4e
GM
48272000-09-25 Gerd Moellmann <gerd@gnu.org>
4828
755a2ccd
GM
4829 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4830
d8b4516f
GM
4831 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4832 (read_char): If help-echo is showing, preserve the echo area
4833 when redisplaying.
4834
4835 * xdisp.c (help_echo_showing_p): New variable.
4836 (set_message): Reset it to 0.
4837 (init_xdisp): Initialize help_echo_showing_p.
4838
4839 * dispextern.h (help_echo_showing_p): Declare extern.
4840
4841 * config.in: Fix typo in __GNUC_MINOR__.
4842
4843 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4844
b11af2dd
GM
4845 * s/freebsd.h (POSIX_SIGNALS): Define.
4846
8ff16b4e
GM
4847 * xterm.c (x_clear_mouse_face): Block/unblock input.
4848
844eb643
DL
48492000-09-24 Dave Love <fx@gnu.org>
4850
4851 * fns.c (base64_encode_1): Fix last change.
4852
b30ab1b3
GM
48532000-09-22 Gerd Moellmann <gerd@gnu.org>
4854
4855 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4856
4857 * xdisp.c (try_window_reusing_current_matrix): More fixes
4858 for the case window has a header-line.
4859
c6cbe5f0
DL
48602000-09-22 Dave Love <fx@gnu.org>
4861
4c7c1f3f
DL
4862 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4863 a doc string.
4864
4865 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4866
c6cbe5f0
DL
4867 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4868
550a625e
GM
48692000-09-21 Gerd Moellmann <gerd@gnu.org>
4870
4c7c1f3f 4871 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4872 for GCC >= 2.5.
4873
52283633
SM
4874 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4875 Declare NO_RETURN.
fca99116 4876
80d26f99
GM
4877 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4878 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4879 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4880 warnings.
52283633 4881
80d26f99
GM
4882 * marker.c (byte_char_debug_check): Return void.
4883
623a0aae
GM
4884 * xfns.c (Fx_create_frame): Set default frame parameter value
4885 for tool-bar-lines to 1.
4886
4887 * dispnew.c (scrolling_window): Compare y-positions of rows
4888 equal at the start. Some simplification.
4889
4890 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4891 reused rows' y-position in the case window has a header-line, and
4892 new window start is greater than old window start.
4893
42ac0ae5
GM
4894 * process.c (process_sent_to): New variable.
4895 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4896 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4897 Declare more parameters volatile.
4898
550a625e
GM
4899 * lread.c (Vrecursive_load_depth_limit): New variable.
4900 (Fload): Check recursive loads whose recursion depth exceeds
4901 Vrecursive_load_depth_limit.
4902 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4903
8320414c
GM
49042000-09-20 Gerd Moellmann <gerd@gnu.org>
4905
f46c275e
GM
4906 * fileio.c (Fread_file_name): Doc fix.
4907
4908 * editfns.c (Fmessage_or_box): Doc fix.
4909
4910 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4911
b7e11c5b 4912 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4913
8320414c
GM
4914 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4915 symbols are specified, add color translations to the cache.
52283633 4916 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4917 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4918 xpm_cache_color.
4919 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4920 structures to xpm_init_color_cache.
4921
da1608d9
GM
49222000-09-19 Gerd Moellmann <gerd@gnu.org>
4923
52283633 4924 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4925
6badfa25
AI
49262000-09-19 Andrew Innes <andrewi@gnu.org>
4927
4928 * makefile.nt (bootstrap-emacs): Don't change directory.
4929
3a5f42bb
KH
49302000-09-19 Kenichi Handa <handa@etl.go.jp>
4931
1b7649bd
KH
4932 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4933
3a5f42bb
KH
4934 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4935 If output buffer is too small, signal an appropriated error.
4936
9f83cf0b
DL
49372000-09-18 Dave Love <fx@gnu.org>
4938
52283633 4939 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4940 (current_active_maps): Remove redundant get_local_map call.
4941
28c7826c
GM
49422000-09-18 Gerd Moellmann <gerd@gnu.org>
4943
5cefa566
GM
4944 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4945 cursor for buffers whose cursor_type is nil.
52283633 4946
6fed3546
GM
4947 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4948 a feature to implement that is already implemented.
4949 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4950 warnings.
4951
4952 * xfns.c (x_clear_image_1): New function.
4953 (x_clear_image): Use it.
52283633 4954 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4955
05b1f851
GM
4956 * dispnew.c (update_window): Move test for invisible lines
4957 at the top to update_window_line.
4958 (update_window_line): Handle invisible lines here.
4959
f4779de9
GM
4960 * xfns.c (clear_image_cache): Clear current matrices of all
4961 frames sharing an image cache. Block input while freeing
4962 images. Fix timestamp comparison.
4963 (x_clear_image): Also free the mask.
4964
28c7826c
GM
4965 * xfns.c (lookup_image): Block input while loading the image so
4966 that we won't get interrupted in a state where the image isn't yet
4967 set up completely.
4968 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4969 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4970 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4971 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4972
b7412313
GM
49732000-09-16 Gerd Moellmann <gerd@gnu.org>
4974
4975 * dispnew.c (update_window): Make sure to make desired rows
4976 current even if they are completely invisible at the top
4977 of a window.
4978
47e351a3
GM
49792000-09-15 Gerd Moellmann <gerd@gnu.org>
4980
7f8f1edc
GM
4981 * xfns.c (lookup_image): Build mask before applying an algorithm.
4982 Recognize algorithm `disabled'.
4983 (cross_disabled_images): New variable.
4984 (COLOR_INTENSITY): New macro.
4985 (x_detect_edges): Use COLOR_INTENSITY.
4986 (x_disable_image): New function.
4987 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4988
4989 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4990 disabled state, don't apply an image transformation algorithm if
4991 the user specified an image for the disabled state. Use
28c7826c 4992 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4993 user hasn't specified an image.
4994
ebb8f116
GM
4995 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4996 allocation functions with the XPM lib.
4997 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4998 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4999 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
5000 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 5001 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
5002 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
5003 functions, if possible, because these handle color allocation
5004 failure more gracefully.
5005 (Fimage_mask_p): New function.
5006
47e351a3
GM
5007 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
5008 (Qedge_detection, Qheuristic): New symbols.
5009 (syms_of_xfns): Initialize new symbols.
5010 (lookup_image): Handle `:mask X', `:algorithm emboss', and
5011 `algorithm (edge-detection ...)'.
5012 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
5013 (tiff_format, gif_format, gs_format): Add `:mask'.
5014 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
5015 (GIF_MASK, GS_MASK): New enumerators.
5016 (x_laplace_read_row, x_laplace_write_row): Functions removed.
5017 (emboss_matrix, laplace_matrix): New variables.
5018 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
5019 (x_edge_detection): New functions.
5020 (x_laplace): Rewritten in terms of x_detect_edges.
5021 (x_build_heuristic_mask): If image has a mask, free it.
5022
fe83b953
AI
50232000-09-14 Andrew Innes <andrewi@gnu.org>
5024
5025 * makefile.w32-in: Revert to Unix line endings.
5026
3021e816
AI
50272000-09-14 Andrew Innes <andrewi@gnu.org>
5028
5029 * makefile.w32-in: Standardize indentation somewhat.
5030 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5031 cater for differences between shells.
5032
5033 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5034
2a32b5ea
GM
50352000-09-14 Gerd Moellmann <gerd@gnu.org>
5036
5037 * xterm.c (x_produce_glyphs): If the distance from the current
5038 position to the next tab stop is less than a canonical character
5039 width, use the tab stop after that.
5040
b4331e96
DL
50412000-09-14 Dave Love <fx@gnu.org>
5042
5043 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5044
ef9e4345
GM
50452000-09-14 Gerd Moellmann <gerd@gnu.org>
5046
085536c2
GM
5047 * xdisp.c (handle_fontified_prop): While running fontification
5048 functions, bind `fontification-functions' and
5049 `after-change-functions' to nil.
5050
ef9e4345
GM
5051 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5052 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5053
5054 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5055
5056 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5057 USE_MMAP_FOR_BUFFERS.
5058
5059 * insdel.c (make_gap): Use enlarge_buffer_text.
5060
5061 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5062 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5063 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5064 from former r_alloc_* functions in ralloc.c.
52283633 5065 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5066 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5067 (mmap_init) [REL_ALLOC_MMAP]: New function.
5068 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5069 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5070 BUFFER_FREE.
5071
5072 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5073 (enlarge_buffer_text): Add prototype.
5074
5075 * ralloc.c: Remove everything having to do with the use of mmap.
5076
f8608968
GM
50772000-09-13 Gerd Moellmann <gerd@gnu.org>
5078
2a494b2d
GM
5079 * sound.c (Fplay_sound): Doc fix.
5080
8c907a56
GM
5081 * keyboard.c: Avoid some more compiler warnings.
5082 (parse_tool_bar_item): Ignore cached key bindings.
5083
f8608968
GM
5084 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5085 and allocation of Lisp data.
5086
6ab70e9a
GM
50872000-09-12 Gerd Moellmann <gerd@gnu.org>
5088
d12d0a9b
GM
5089 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5090 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5091 defaults first.
5092
6ab70e9a
GM
5093 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5094
63c36c3c
KH
50952000-09-12 Miyashita Hisashi <himi@meadowy.org>
5096
5097 * ccl.c: Comment fixed.
5098 (MAX_MAP_SET_LEVEL): Increased to 30.
5099 (PUSH_MAPPING_STACK): Enclose with do-while block.
5100 (POP_MAPPING_STACK): Likewise.
5101 (stack_idx_of_map_multiple): New variable.
5102 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5103 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5104 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5105 (ccl_driver) <CCL_MapSingle>: Likewise.
5106 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5107 with the case where looking up process reaches to the end of
5108 map-set, and call CCL programs as the above change.
5109
7ee3bd7b
GM
51102000-09-11 Gerd Moellmann <gerd@gnu.org>
5111
8ec8a5ec
GM
5112 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5113 that might be clobbered by longjmp.
5114 (check_x_display_info, x_decode_color, create_frame_xic)
5115 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5116 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5117
f74b0705
GM
5118 * lread.c (init_lread): Set Vloads_in_progress to nil.
5119 (Fload): Show list of recursively loaded files, when signaling an
5120 error.
5121
7ee3bd7b
GM
5122 * lread.c (Vloads_in_progress): New variable.
5123 (record_load_unwind): New function.
5124 (Fload): Check for recursive loads.
5125 (syms_of_lread): Initialize Vloads_in_progress.
5126 (read_integer, read1): Avoid some compiler warnings.
5127
5128 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5129 compiler warnings.
5130
974e1e5b
MB
51312000-09-11 Miles Bader <miles@gnu.org>
5132
5133 * editfns.c (Fbuffer_string): Doc fix.
5134
9824c4e3
GM
51352000-09-10 Gerd Moellmann <gerd@gnu.org>
5136
5137 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5138
6a72fdd1
KR
51392000-09-09 Ken Raeburn <raeburn@gnu.org>
5140
5141 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5142 whether to include other header files.
5143
28e6fb66
GM
51442000-09-09 Gerd Moellmann <gerd@gnu.org>
5145
52283633 5146 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5147 by Fmemq as a boolean.
28e6fb66 5148
7f8b6551
SM
51492000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5150
5151 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5152
a8710abf
GM
51532000-09-08 Gerd Moellmann <gerd@gnu.org>
5154
d1a02881
GM
5155 * ralloc.c (mmap_fd): Remove initializer which can make it
5156 read-only in a dumped Emacs.
5157 (mmap_fd_1): New variable.
5158 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5159 restore it from there.
5160 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5161 unconditionally so that mmap_fd can be initialized there.
5162 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5163 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5164 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5165
c454aac1
GM
5166 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5167
5168 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5169 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5170
fc653ef2
GM
5171 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5172
3015eec0
GM
5173 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5174 inheritance.
5175
bfe0ee88
GM
5176 * xdisp.c (try_window_id): When trying to locate cursor in
5177 unchanged rows at the top, handle the case that we can't find it.
5178
a8710abf
GM
5179 * xterm.c (x_draw_glyphs): Handle case START and END are out
5180 of bounds more carefully.
5181
6b7d4ae4
DL
51822000-09-08 Dave Love <fx@gnu.org>
5183
423193c5
DL
5184 * s/sol2.h (REL_ALLOC_MMAP): Define.
5185 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5186
5187 * ralloc.c: Don't include string.h (redundant).
5188 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5189 [!MAP_ANON]: Include fcntl.h.
5190 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5191 (r_alloc, r_re_alloc, r_alloc_free)
5192 (mmap_enlarge, mmap_set_vars): Use it.
5193 (r_alloc_init_fd): New function.
5194 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5195 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5196 malloc type.
5197
5198 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5199 Remove vm-limit.o.
5200
6b7d4ae4
DL
5201 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5202 change to __NetBSD__.
5203
44d31981
KH
52042000-09-08 Kenichi Handa <handa@etl.go.jp>
5205
5206 * search.c (compile_pattern): Check the multibyteness of cached
5207 string and PATTERN.
5208
aad40737
MB
52092000-09-08 Miles Bader <miles@gnu.org>
5210
5211 * xfaces.c (default_face_vector): Function removed.
5212 (Finternal_merge_in_global_face): Restore old global/local
5213 attribute override order. Use inline loop instead of calling
5214 default_face_vector.
5215
91a211b5
GM
52162000-09-07 Gerd Moellmann <gerd@gnu.org>
5217
5218 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5219 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5220 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5221 where necessary, in case POINTER_TYPE is `void'.
5222
03419440
EZ
52232000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5224
5225 * frame.c (make_terminal_frame): Initialize frame foreground and
5226 background colors to unspecified, for the initial instance of an
5227 MSDOS frame.
5228
f46f845b
GM
52292000-09-07 Gerd Moellmann <gerd@gnu.org>
5230
24f76fbf
GM
5231 * ralloc.c (mmap_find): Fix overlap computation.
5232 (mmap_enlarge): Compute nbytes before trying to find an
5233 overlapping region.
5234
f46f845b
GM
5235 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5236 instead of `!='.
5237
5238 * lread.c (syms_of_lread): Change value of regexp
5239 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5240
5241 * xmenu.c (xdialog_show): When looking up the selection in
5242 menu_items, take `quote' boundaries into account; this corresponds
5243 to a nil ITEM in x-popup-dialog.
5244
3c014385
KH
52452000-09-07 Kenichi Handa <handa@etl.go.jp>
5246
fd6f711b
KH
5247 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5248 not 0x81.
5249 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5250
3c014385 5251 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5252 encoding, not decoding. Fix the handling of latin-jisx0201.
5253 Check for the charset katakana-jisx0201 too.
3c014385 5254 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5255 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5256
0da3ecef
GM
52572000-09-07 Gerd Moellmann <gerd@gnu.org>
5258
ab0ee409
GM
5259 * xfaces.c (Vparam_value_alist): New variable.
5260 (syms_of_xfaces): Initialize it.
5261 (Finternal_set_lisp_face_attribute): Avoid more consing.
5262
5263 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5264 specially.
5265 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5266 (Qbackground_mode): New variable.
5267 (syms_of_frame_1): Initialize Qbackground_mode.
5268
5269 * lisp.h (Qdisplay): Declare extern.
1091dd67 5270
0da3ecef
GM
5271 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5272 change face on all frames, and change the default for new frames.
5273
b14654b9
DL
52742000-09-07 Dave Love <fx@gnu.org>
5275
5276 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5277
d24fd56f
KH
52782000-09-07 Kenichi Handa <handa@etl.go.jp>
5279
794f3670
KH
5280 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5281
0fddd0dc
KH
5282 * charset.c: Include composite.h
5283 (lisp_string_width): New function.
5284 (Fstring_width): Call lisp_string_width instead of strwidth.
5285
5286 * Makefile.in (charset.o): Depends on composite.h.
5287
d24fd56f
KH
5288 * process.c (read_process_output): Before inserting the decoded
5289 text in the buffer, adjust the multibyteness.
5290
fa0b693c
GM
52912000-09-06 Gerd Moellmann <gerd@gnu.org>
5292
52283633 5293 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5294 buffer's text buffer is null, map new memory.
5295
0a58f946
GM
5296 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5297 POINTER_TYPE and size_t.
5298 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5299 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5300 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5301 [REL_ALLOC_MMAP]: New macros.
5302 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5303 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5304 [REL_ALLOC_MMAP]: New functions.
5305
5306 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5307 before and after unexec.
5308
5309 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5310 text buffers if necessary.
5311
5312 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5313 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5314 in prototypes.
5315
fa0b693c
GM
5316 * config.in (HAVE_MMAP): Add #undef.
5317
877055f6
GM
53182000-09-05 Gerd Moellmann <gerd@gnu.org>
5319
08ba3862
GM
5320 * frame.c (Qdisplay_type): New variable.
5321 (syms_of_frame_1): Initialize it.
5322 (Fframe_parameter): New function that avoids consing.
5323 (syms_of_frame): Defsubr it.
5324
66ffe51c
GM
5325 * buffer.c (Fother_buffer): Consider buffers as invisible when
5326 they are displayed in a window on an invisible frame.
5327
877055f6
GM
5328 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5329 get-largest-window always return nil.
5330
bb970e67
GM
53312000-09-04 Gerd Moellmann <gerd@gnu.org>
5332
5333 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5334 variable; recognize Emacs 19 elc files.
5335
7a3d0e0e
MB
53362000-09-04 Miles Bader <miles@gnu.org>
5337
5338 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5339 before initially popping up the menu, so the menu doesn't flash
52283633 5340 when the face settings are significantly different from the defaults.
7a3d0e0e 5341
14473664
SM
53422000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5343
5344 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5345 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5346 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5347 (BIT_UNIBYTE): Remove.
5348 (re_match_2_internal): Delete corresponding code and streamline the
5349 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5350 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5351 (re_wctype_t): New type.
5352 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5353 (regex_compile): Use them and fix handling of overly long char classes.
5354
c1174479
AI
53552000-09-03 Andrew Innes <andrewi@gnu.org>
5356
f8803e97
AI
5357 * makefile.w32-in: Change to DOS line endings.
5358
c1174479
AI
5359 * s/ms-w32.h (ORDINARY_LINK): New define.
5360
5361 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5362 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5363
5364 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5365 (distclean): Delete them here instead.
5366
44ef7cf6
AI
5367 * w32proc.c (compare_env): Convert to uppercase for comparison,
5368 not lowercase, to match how the native Windows shell works.
5369
49b3bd82
JR
53702000-09-03 Jason Rumney <jasonr@gnu.org>
5371
5372 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5373 CVS changes the line-ends when checking in/out on DOS/Windows.
5374
5375 * makefile.nt (emacs): Do not change directory to run temacs, as
5376 the load-path is set relative to current directory.
5377
a3d35a39
MB
53782000-09-03 Miles Bader <miles@gnu.org>
5379
5380 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5381
d276b0cf
GM
53822000-09-02 Gerd Moellmann <gerd@gnu.org>
5383
715e84c9
GM
5384 * xdisp.c (redisplay_mode_lines): New function.
5385 (display_mode_lines): Return number of mode lines displayed.
5386 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5387 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5388
8892f40b
GM
5389 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5390 string.h and strings.h.
5391 (index) [HAVE_INDEX]: Add prototype.
5392
d276b0cf
GM
5393 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5394 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5395
5396 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5397 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5398
38404229
GM
53992000-09-01 Gerd Moellmann <gerd@gnu.org>
5400
5401 * lread.c (read1): Accept `?' as symbol constituent, for
5402 compatiblity with XEmacs.
5403
c0f9ea08
SM
54042000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5405
5406 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5407 (struct re_pattern_buffer): Remove newline_anchor.
5408 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5409 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5410 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5411 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5412 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5413 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5414 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5415 Get rid of references to newline_anchor.
5416 (regcomp): Allocate and precompute a fastmap.
5417
8c0f83fe
GM
54182000-08-31 Gerd Moellmann <gerd@gnu.org>
5419
5420 * lread.c (openp): GCPRO local variable `filename'.
5421
4bb91c68
SM
54222000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5423
5424 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5425
5426 * regex.c: Merge some changes from GNU libc. Add prototypes.
5427 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5428 Use memcmp and memcpy instead of bcopy and bcmp.
5429 (init_syntax_once): Use ISALNUM.
5430 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5431 (REG_UNSET_VALUE): Remove. Use NULL instead.
5432 (REG_UNSET, re_match_2_internal): Use NULL.
5433 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5434 New macros.
5435 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5436 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5437 (regex_compile): In handle_interval, return an error rather than try to
5438 unfetch the interval if we can't find the closing brace.
5439 Obey the RE_NO_GNU_OPS syntax bit.
5440 (TOLOWER): New macro.
5441 (regcomp): Use it.
5442 (regexec): Allocate regs.start and regs.end as one block.
5443
5226a931
GM
54442000-08-30 Gerd Moellmann <gerd@gnu.org>
5445
868dd24b
GM
5446 * xdisp.c (echo_area_display): Check display_completed instead
5447 of calling detect_input_pending.
5448
5449 * dispnew.c (update_frame): Only set display_completed here; move
5450 the update_begin and update_end calls here from update_frame_1.
5451 (update_frame_1): Don't set display_completed here, don't call
5452 update_begin/update_end.
5453
5226a931
GM
5454 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5455 instead of store_frame_param.
5456
2a8bd25f
GM
54572000-08-29 Gerd Moellmann <gerd@gnu.org>
5458
5459 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5460 desired window matrix hasn't been displayed, use the current row
5461 instead. Make sure that only those frame rows are updated for
5462 which there exists a corresponding enabled desired row.
52283633 5463
ba3478d9
MB
54642000-08-29 Miles Bader <miles@gnu.org>
5465
5466 * xfaces.c (default_face_vector): New function.
5467 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5468
87d0f685
GM
54692000-08-29 Gerd Moellmann <gerd@gnu.org>
5470
5471 * lread.c (openp): Prevent temporary string passed to
5472 Ffile_readable_p from being garbage collected.
5473
6fa86045
DL
54742000-08-28 Dave Love <fx@gnu.org>
5475
5476 * keymap.c (store_in_keymap): Add `static' to declaration.
5477
bb17930d
GM
54782000-08-28 Gerd Moellmann <gerd@gnu.org>
5479
5480 * emacs.c, callint.c, doc.c, editfns.c
5481 (toplevel) [HAVE_STRING_H]: Include string.h.
5482 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5483 (index): Remove prototypes which might conflict with non-standard
5484 definitions of index/strchr.
5485
5486 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5487 (rindex): Define only if !HAVE_RINDEX.
5488
5489 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5490
5491 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5492
87188200
MB
54932000-08-28 Miles Bader <miles@gnu.org>
5494
5495 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5496 made inconsistent by a font-related attribute in FROM.
5497 (merge_face_inheritance): Add function comment.
5498
41a68aef
KH
54992000-08-28 Kenichi Handa <handa@etl.go.jp>
5500
5501 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5502 the 4th arg (PREV_EVENT) Qt to suppress input method.
5503
f7c436c1
SM
55042000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5505
0b32bf0e
SM
5506 * regex.c: Indent cpp directives and remove parens after `defined'.
5507 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5508 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5509 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5510 (re_compile_pattern): Use size_t for length.
5511 (init_syntax_once): Move to a better place.
5512 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5513 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5514
f7c436c1
SM
5515 * syntax.c (back_comment): Detect cases where a comment-starter is
5516 actually inside another comment as in: /* a // b */ c // d \n.
5517 Make it clear that `comstart_pos' is unused for nested comments.
5518
5519 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5520 (KEYMAPP): New macro.
5521 (Fkeymap_parent, Fset_keymap_parent): Use it.
5522 (fix_submap_inheritance): Mark it static.
5523 (define_as_prefix, describe_buffer_bindings, describe_command)
5524 (describe_translation, describe_map): Complete prototypes.
5525
5526 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5527
5528 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5529 to better match the key-lookup behavior.
5530
6288c62f
GM
55312000-08-27 Gerd Moellmann <gerd@gnu.org>
5532
5533 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5534 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5535
e931344e
EZ
55362000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5537
5538 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5539 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5540 (xterm.o): Depend on coding.h
5541
d10dfeef
KH
55422000-08-26 Kenichi Handa <handa@etl.go.jp>
5543
5544 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5545 the corresponding '#endif'.
5546
2d73e8d3
MB
55472000-08-26 Miles Bader <miles@gnu.org>
5548
5549 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5550 * xfaces.c (QCinherit): New variable.
5551 (syms_of_xfaces): Initialize it.
5552 (LFACE_INHERIT): New macro.
5553 (Finternal_get_lisp_face_attribute)
52283633 5554 (merge_face_vector_with_property)
2d73e8d3
MB
5555 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5556 (check_lface_attrs): Allow new types of face height. Check
5557 inherit attribute.
5558 (CYCLE_CHECK): New macro.
5559 (merge_face_inheritance): New function.
5560 (merge_face_vectors): Merge inherited faces too. Add F and
5561 CYCLE_CHECK arguments.
5562 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5563 (lookup_named_face, lookup_derived_face, realize_named_face)
5564 (face_at_string_position, face_at_buffer_position): Supply
5565 new F and CYCLE_CHECK arguments to merge_face_vectors.
5566 (merge_face_heights): New function.
52283633 5567 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5568 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5569 handle relative face heights.
5570 (lface_same_font_attributes_p): Compare heights using EQ.
5571
6ce974d4
KH
55722000-08-26 Kenichi Handa <handa@etl.go.jp>
5573
5574 * charset.c (char_to_string): Check the character validity.
52283633 5575 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5576
dc1e502d
SM
55772000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5578
5579 * regex.c (PUSH_FAILURE_COUNT): New macro.
5580 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5581 Handle popping of a register's or a counter's data.
5582 (POP_FAILURE_POINT): Use the new name.
5583 (re_match_2_internal): Push counter data on the stack for succeed_n,
5584 jump_n and set_number_at and remove misleading dead code in succeed_n.
5585
bd9d0f3f
GM
55862000-08-25 Gerd Moellmann <gerd@gnu.org>
5587
5588 * xdisp.c (redisplay_internal): If considering all windows on all
5589 frames, update the display for each frame as soon as possible,
5590 instead of first building all desired matrices for all frames, and
5591 then updating them all.
5592 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5593
aa5b8e15
GM
55942000-08-24 Gerd Moellmann <gerd@gnu.org>
5595
17494071
GM
5596 * bytecode.c (mark_byte_stack): Add a comment.
5597
52283633
SM
5598 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5599 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5600 a graphical frame.
5601
c543db81
KH
56022000-08-24 Kenichi Handa <handa@etl.go.jp>
5603
d246d5f5
KH
5604 * minibuf.c (do_completion): Always use compare-string, not
5605 string-equal because the latter doesn't pay attention to
5606 multibyteness of strings.
5607
c543db81
KH
5608 * process.c (create_process): Don't setup raw-text coding here.
5609 (Fopen_network_stream): Don't set coding->src_multibyte and
5610 coding->dst_multibyte here.
5611 (read_process_output): For process filter, return unibyte string
5612 if default-enable-multibyte-characters is nil.
5613 (send_process): If OBJECT is multibyte text, be sure to encoded it
5614 by the specified coding system for the process. Otherwise, setup
5615 raw-text coding.
52283633 5616 (init_process): Don't initialize default-process-coding-system here.
c543db81 5617
9b47cfe0
EZ
56182000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5619
5620 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5621 <scroll-down-aggressively>: Likewise.
5622
f5a36960
KH
56232000-08-23 Kenichi Handa <handa@etl.go.jp>
5624
5625 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5626 zero. Set coding->produced_char correctly.
5627
69a7ffa7
AI
56282000-08-22 Andrew Innes <andrewi@gnu.org>
5629
5630 * makefile.w32-in: New file.
5631
5632 * unexw32.c (unexec): Ignore old_name, and use the actual location
5633 of the current executable instead. Base new_name on this.
5634
5635 * w32proc.c (create_child): Remove reference to security
5636 descriptor, which isn't needed and doesn't compile with mingw32.
5637
5638 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5639 up dllimport attributes.
5640 (x_update_window_end): Update prototype.
5641
5642 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5643 extern, which screws up dllimport attributes.
5644
5645 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5646 up dllimport attributes.
5647
5648 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5649 screws up dllimport attributes.
5650
5651 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5652 up dllimport attributes.
5653 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5654 screws up dllimport attributes.
5655
5656 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5657 up dllimport attributes.
5658
5659 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5660 screws up dllimport attributes.
5661
5662 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5663 screws up dllimport attributes.
5664
5665 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5666 up dllimport attributes.
5667
5668 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5669 unnecessary extern, which screws up dllimport attributes.
5670 (main): Ditto.
5671
5672 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5673 up dllimport attributes.
5674
5675 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5676 unnecessary extern, which screws up dllimport attributes.
5677
5678 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5679 screws up dllimport attributes.
5680
5681 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5682 up dllimport attributes.
5683
5684 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5685
52283633
SM
5686 * w32bdf.c (search_file_line):
5687 (set_bdf_font_info):
5688 (seek_char):
5689 (w32_get_bdf_glyph):
69a7ffa7
AI
5690 (w32_BDF_to_x_font): Fix compile warnings.
5691
52283633 5692 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5693
5694 * w32select.c: Include keyboard.h before frame.h.
5695
5696 * w32fns.c (max): Define macro.
5697 (JOHAB_CHARSET): Define if not known.
5698 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5699 (Fx_show_tip): Synch with X version.
5700
5701 * w32xfns.c: Include keyboard.h before frame.h.
5702
5703 * w32fns.c: Include keyboard.h before frame.h.
5704
5705 * w32term.c: Include keyboard.h before frame.h.
5706
5707 * fontset.c: Include keyboard.h before frame.h.
5708
5709 * w32inevt.c: Include keyboard.h before frame.h.
5710 (MOUSE_MOVED): Define if not known.
5711
5712 * minibuf.c: Include keyboard.h before frame.h.
5713
5714 * keyboard.c: Include keyboard.h before frame.h.
5715
5716 * indent.c: Include keyboard.h before frame.h.
5717
5718 * dispnew.c: Include keyboard.h before frame.h.
5719
5720 * buffer.c: Include keyboard.h before frame.h.
5721
5722 * alloc.c: Include keyboard.h before frame.h.
5723
5724 * print.c: Include keyboard.h before frame.h.
5725
5726 * process.c: Include keyboard.h before frame.h.
5727
5728 * scroll.c: Include keyboard.h before frame.h.
5729
5730 * sysdep.c: Include keyboard.h before frame.h.
5731
5732 * term.c: Include keyboard.h before frame.h.
5733
5734 * window.c: Include keyboard.h before frame.h.
5735
5736 * xdisp.c: Include keyboard.h before frame.h.
5737 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5738
5739 * frame.c: Include keyboard.h before frame.h.
5740
5741 * w32heap.h: Undefine min, max.
5742
5743 * w32gui.h: Undefine min, max.
5744
5745 * unexw32.c: Change PUCHAR to PCHAR.
5746 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5747 (relocate_offset):
5748 (get_section_info):
69a7ffa7
AI
5749 (copy_executable_and_dump_data): Remove unnecessary static defs.
5750 (copy_executable_and_dump_data): Fix compile warnings.
5751
5752 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5753
5754 * w32console.c (min): Define macro.
5755 (clear_frame, write_glyphs): Fix compile warning.
5756
52283633 5757 * w32proc.c (compare_env):
69a7ffa7
AI
5758 (find_child_console): Fix compile warning.
5759
5760 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5761 sys_errlist instead of _sys_errlist.
5762 (get_emacs_configuration_options): New function.
5763
5764 * s/ms-w32.h (sys_nerr): Provide default definition.
5765 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5766 name with _ prepended.
5767 (NSIG): Define if not known.
5768 (get_emacs_configuration): Provide extern declaration.
5769 (get_emacs_configuration_options): Provide extern declaration.
5770 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5771
5772 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5773 (map_w32_filename):
69a7ffa7
AI
5774 (read_unc_volume): Fix compile warning.
5775
5776 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5777 definitions from being used.
5778
5779 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5780
52283633 5781 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5782 (open_unc_volume): Make arg const.
5783
5784 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5785 (read_input_waiting): Remove excess parameter.
5786
5787 * w32.c (init_environment): Call _access.
5788 (check_windows_init_file): Call _close.
5789 (init_user_info): Call _putenv.
5790 (init_environment): Call _putenv and _strdup.
5791 (init_ntproc): Reset volume info cache on startup.
5792
5793 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5794 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5795 cannot override the CRT malloc.
5796
5797 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5798 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5799
5800 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5801 unless we are linking with a static CRT.
5802 (RVA_TO_PTR): Cast result to unsigned char*.
5803
5804 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5805 (add_volume_info): Use xstrdup.
5806
25060080
SM
58072000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5808
5809 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5810 (do_completion, Fminibuffer_complete_word): Use it.
5811 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5812 var so it can take non-boolean values.
5813
6917e6bb
GM
58142000-08-21 Gerd Moellmann <gerd@gnu.org>
5815
acb7cc89 5816 * editfns.c (find_field): Formatting changes.
52283633 5817 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5818 changed to prototypes, some new protypes added, some functions
5819 made static.
5820
5821 * lisp.h (set_time_zone_rule): Add prototype.
5822 (use_dialog_box): External declaration.
5823
0bbfdc25
GM
5824 * keyboard.c (gen_help_event): Add parameter SIZE.
5825 (kbd_buffer_events_waiting): Slightly rewritten.
5826 (clear_event): New function.
5827 (kbd_buffer_get_event): Use it, and clear the input_events of
5828 HELP_EVENTs.
5829 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5830 don't fill the newly created array with nils.
5831 (toplevel): Convert some old-style function forward declarations
5832 to prototypes.
5833
5834 * keyboard.h (gen_help_event): Change prototype.
5835
5836 * xterm.c (XTread_socket): Change calls to gen_help_event.
5837
5838 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5839
6917e6bb
GM
5840 * eval.c (Fmacroexpand): Doc fix.
5841
e5cd3d11
JR
58422000-08-20 Jason Rumney <jasonr@gnu.org>
5843
5844 * w32term.h (x_display_info_for_display): Remove as this function
5845 does not exist on W32.
5846
5847 * w32term.c (help_echo_window): New variable.
5848 (syms_of_w32term): staticpro it.
5849 (note_mode_line_highlight): Set it.
5850 (XTextExtents16): Removed as there is no equivalent on W32.
5851 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5852 the X way of doing this will not work for W32.
5853 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5854 (x_draw_image_foreground): Avoid drawing outside of the clip area
5855 when image doesn't have a mask.
5856 (note_mouse_highlight): Process overlays in the right order of
5857 priority. Set help_echo_window.
5858 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5859 because that's more visible for large images.
5860
5861 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5862 name to single_keymap_panes.
5863 (w32_menu_show): Set wv->title when dealing with titles.
5864 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5865
6e69ab8c
MB
58662000-08-21 Miles Bader <miles@gnu.org>
5867
5868 * minibuf.c (do_completion): Try again if we rewrite the input
5869 string, but no completion was done, so that any completion message
5870 will be correct.
5871
511bd4eb
GM
58722000-08-20 Gerd Moellmann <gerd@gnu.org>
5873
5874 * xfaces.c (lface_equal_p): Compare strings differently.
5875 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5876 (realize_tty_face): Use them.
5877 (syms_of_xfaces): Initialize new variables.
5878 (map_tty_color): New function, extracted from realize_tty_face.
5879 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5880 foreground or background color, store the new color name in the
5881 realized face; previous code trying to do this had no effect.
5882 (realize_tty_face): Use map_tty_color.
5883 (Fclear_face_cache): Set face_change_count and ensure thorough
5884 redisplay.
5885
1433385f
GM
58862000-08-19 Gerd Moellmann <gerd@gnu.org>
5887
511bd4eb
GM
5888 * undo.c (record_first_change, record_marker_adjustment): Don't
5889 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5890
419ac0a2
KH
58912000-08-18 Kenichi Handa <handa@etl.go.jp>
5892
5893 * coding.c (decode_coding_string): Set members consumed,
5894 consumed_char, produced, produced_char of *coding correctly. If
5895 decode_coding doesn't consume any byte, don't try anymore.
5896 (encode_coding_string): Likewise.
5897
7eb9e30d
GM
58982000-08-18 Gerd Moellmann <gerd@gnu.org>
5899
511bd4eb
GM
5900 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5901 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5902
5903 * xdisp.c (redisplay_internal): Compare windows for equality with
5904 EQ, instead of applying XWINDOW to something that might not
5905 be a window.
52283633 5906
dd34a735
KH
59072000-08-18 Kenichi Handa <handa@etl.go.jp>
5908
5909 * fontset.c (Finternal_char_font): Search only the selected frame
5910 for a window of the current buffer.
5911
385ff9e3
GM
59122000-08-18 Gerd Moellmann <gerd@gnu.org>
5913
511bd4eb 5914 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5915 Lisp_Objects.
5916
385ff9e3
GM
5917 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5918 second half of a HELP_EVENT is found at the start of kbd_buffer.
5919
d6abb4c7
MB
59202000-08-18 Miles Bader <miles@gnu.org>
5921
4618074a
MB
5922 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5923
d6abb4c7
MB
5924 * editfns.c (save_restriction_save): Rewrite to use markers.
5925 (save_restriction_restore): Rewrite to understand new form of data
5926 saved by save_restriction_save.
5927 (Fsave_restriction): Remove cautionary note in doc-string.
5928
a7b28523
GM
59292000-08-17 Gerd Moellmann <gerd@gnu.org>
5930
5931 * fileio.c (build_annotations): Add a comment explaining the
5932 return value of format-annotate-function. Replace a spurious call
5933 to Flength with a CONSP test. Call format-annotate-function with
5934 a fifth arg specifying how many times the function is been called
5935 in a row, to let it choose temporary buffers appropriately.
5936
03c9ed77
DL
59372000-08-17 Dave Love <fx@gnu.org>
5938
5939 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5940 declare make_temp_name twice.
5941
52283633 5942 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5943 (unreadpure): Give it an arg.
5944
5945 * unexalpha.c: Prototype fatal_unexec, mark_x,
5946 update_dynamic_symbols. Declare unexec as void.
5947
5948 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5949 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5950
5951 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5952 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5953
5954 * alloca.c: Use #error.
5955 [POINTER_TYPE]: Use it.
5956
5957 * eval.c (Fdefvar): Doc fix.
5958
5959 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5960 INITIALIZE_INTERVAL.
5961
5962 * buffer.h: Avoid DECLARE_INTERVALS.
5963
5964 * config.in: Add size_t.
5965
aae41d97
EZ
59662000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5967
5968 * w16select.c (set_clipboard_data): If there's not enough memory
5969 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5970 expects. In case of other failures, return 3.
5971 (system_error_msg): New error message.
5972 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5973 system_error_msg.
5974
65aa5e85
GM
59752000-08-16 Gerd Moellmann <gerd@gnu.org>
5976
5977 * term.c (write_glyphs): Also turn off inverse video after turning
5978 off other appearances in case TS_exit_attribute_mode is not equal
5979 to TS_end_standout_mode.
5980 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5981 with the same face.
5982 (turn_off_face): Reset standout_mode only if
5983 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5984 is equal to TS_end_standout_mode.
5985
ece23901
KH
59862000-08-16 Kenichi Handa <handa@etl.go.jp>
5987
9d7bcb2e
KH
5988 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5989 sequence at the end of the source block.
5990
ece23901
KH
5991 * ccl.c (Fccl_program_p): Docstring modified.
5992 (Fccl_execute): Likewise.
5993 (Fccl_execute_on_string): Likewise.
5994
5e30eaa2
EZ
59952000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5996
5997 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5998
290602fd
KH
59992000-08-16 Kenichi Handa <handa@etl.go.jp>
6000
6001 The following changes are mainly to fix bugs of
6002 encode/decode-coding-string failing if encoding/decoding return
6003 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
6004 variable conversion_buffer.
6005
6006 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
6007 decrement dst_end to avoid buffer overflow in the later call of
6008 string_as_multibyte
6009
6010 * coding.h (conversion_buffer_size, conversion_buffer)
6011 (get_conversion_buffer): Extern deleted.
6012
6013 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
6014 (conversion_buffer, conversion_buffer_size): Variables deleted.
6015 (get_conversion_buffer): Function deleted.
6016 (struct conversion_buffer): New structure.
6017 (MAX_ALLOCA): New macro.
6018 (allocate_conversion_buffer): New macro.
6019 (extend_conversion_buffer, free_conversion_buffer): New functions.
6020 (ccl_coding_driver): Set coding->result.
6021 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
6022 this is the last block of source.
6023 (encode_coding): Likewise. Handle the source block as the last
6024 one only when the whole source text is consumed.
6025 (decode_coding_string): Handle the case that the output buffer is
6026 too small to decode the whole source text. Use
6027 allocate_conversion_buffer, extend_conversion_buffer and
6028 free_conversion_buffer, not get_conversion_buffer.
6029 (encode_coding_string): Likewise.
6030 (init_coding): Function deleted.
52283633 6031 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6032
6033 * emacs.c (main): Don't call init_coding.
6034
52283633 6035 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6036
6037 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6038 (insert_glyphs): Likewise.
6039
6040 * w32console.c (write_glyphs): Use a locally declared
6041 conversion_buffer.
6042
b9f80d41
EZ
60432000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6044
6045 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6046 member of display_info is NULL.
6047
32dc52f7
GM
60482000-08-15 Gerd Moellmann <gerd@gnu.org>
6049
52283633 6050 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6051
32dc52f7 6052 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6053 appearances with capability `me'.
32dc52f7
GM
6054 (write_glyphs): Switch on inverse video before each face change.
6055
4eb22d33
DL
60562000-08-14 Dave Love <fx@gnu.org>
6057
6058 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6059 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6060 (lisp_free): Declare and make static.
6061
6062 * window.c: Fix embedded comment.
6063 (syms_of_window): Fix doc string.
6064
90cbf47e
GM
60652000-08-14 Gerd Moellmann <gerd@gnu.org>
6066
52283633 6067 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6068 make sure to print `C-' before `M-', like in the manual.
6069
440fc135
GM
60702000-08-11 Gerd Moellmann <gerd@gnu.org>
6071
6072 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6073 since they aren't relocated anymore.
52283633 6074 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6075
6076 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6077 partially visible line which is smaller than the window's height.
440fc135 6078
6e264fad
KH
60792000-08-11 Kenichi Handa <handa@etl.go.jp>
6080
6081 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6082 the multibyte form of eight-bit-control characters.
6e264fad
KH
6083 (Fccl_execute_on_string): Initialize ccl->multibyte.
6084
6085 * ccl.h (struct ccl_program): New member multibyte.
6086
6087 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6088
c371f69a
KH
60892000-08-11 Kenichi Handa <handa@etl.go.jp>
6090
6091 * regex.c (regex_compile) <normal_char>: Pay attention to
6092 multibyteness.
6093 (analyse_first) <exactn>: Setup fastmap correctly for
6094 eight-bit-control characters.
6095
60962000-08-11 Kenichi Handa <handa@etl.go.jp>
6097
52283633 6098 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6099
6100 * keyboard.c (make_lispy_event): Handle the new event type
6101 multibyte_char_keystroke.
6102
6103 * xterm.c: Include coding.h.
6104 (XTread_socket): Work around a bug of XmbLookupString. If the
6105 input is from XIM, decode it according to the current locale. In
6106 that case, generate multibyte_char_keystroke events.
6107
b8ddbe71
KH
61082000-08-11 Kenichi Handa <handa@etl.go.jp>
6109
6110 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6111 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6112
47589c8c
GM
61132000-08-10 Gerd Moellmann <gerd@gnu.org>
6114
6115 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6116 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6117 (move_it_in_display_line_to): Record iterator's ascent and descent
6118 before producing glyphs, and restore them when we know the glyph
6119 doesn't fit on the line.
6120 (move_it_to): Restructured so that it's easier to debug. If
6121 moving to a vpos, and not moving to an x or character position,
6122 stop as soon as the specified vpos is reached; don't move further
6123 into that line because that might change the computed line height.
6124 (try_cursor_movement): New function, extracted from the cursor
6125 movement branch of redisplay_window. If ending on a partially
6126 visible line, don't try to scroll if the cursor line is taller
6127 than the window.
6128 (redisplay_window): Use try_cursor_movement.
6129
6130 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6131 because that function doesn't cope with variable-height lines.
6132
6133 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6134 box cursor because that's better visible for large images.
52283633 6135
c51bacd6
MB
61362000-08-10 Miles Bader <miles@gnu.org>
6137
6138 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6139
bea56df7
GM
61402000-08-10 Gerd Moellmann <gerd@gnu.org>
6141
6142 * xdisp.c (Vmessages_buffer_name): New variable.
6143 (message_dolog): Use it.
6144 (syms_of_xdisp): Initialize it.
6145
99cd7364
EZ
61462000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6147
52283633 6148 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6149 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6150 redundant now that keyboard.h is included.
6151
7d093d56
EZ
61522000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6153
6154 * keyboard.c (kbd_buffer_events_waiting): New function.
6155
6156 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6157
6158 * msdos.c: Include keyboard.h.
6159 (XMenuActivate): Empty no_event events from the event buffer. If
6160 no events are left after that, call clear_input_pending.
6161 (mouse_clear_clicks): New function, code moved from mouse_init.
6162 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6163 mouse driver to ``forget'' any past clicks.
6164
6165 * Makefile.in (msdos.o): Depend on keyboard.h.
6166
41e757a6
GM
61672000-08-09 Gerd Moellmann <gerd@gnu.org>
6168
8e7bd231
GM
6169 * lisp.h (input_pending): External declaration.
6170
6171 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6172
8e7bd231
GM
6173 * xdisp.c (echo_area_display): Display thoroughly if input is
6174 pending. Bind redisplay-dont-pause to t during the redisplay.
6175 in case input is pending.
6176
6177 * dispnew.c (Qredisplay_dont_pause): New variable.
6178 (syms_of_display): Initialize and staticpro it.
6179 (update_frame_1): Don't interrupt the display for pending input if
6180 redisplay_dont_pause is set.
52283633 6181
43028b7e
GM
6182 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6183
41e757a6
GM
6184 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6185
2f2174fa
KH
61862000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6187
6188 * callproc.c (Fcall_process): Terminate the unwind-protect around
6189 the post-read-conversion of coding system.
6190
0a6fd67e
MB
6191 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6192 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6193 * buffer.h (overlays_at): Update prototype.
6194 * xdisp.c (next_overlay_change): Update call to overlays_at.
6195 * xfaces.c (face_at_buffer_position): Likewise.
6196 * textprop.c (Fget_char_property): Likewise.
6197 * xterm.c (note_mouse_highlight): Likewise.
6198
0c80756e
MB
6199 * minibuf.c (do_completion): Don't consider a simple change of
6200 case as `completion'.
6201
975f250a
KR
62022000-08-08 Ken Raeburn <raeburn@gnu.org>
6203
52283633 6204 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6205 * undo.c (record_delete): Make sure last_point_position_buffer is
6206 a buffer before comparing pointers.
6207
6208 * coding.h (decode_coding_string): Declare.
6209
6210 * intervals.h (Fprevious_single_char_property_change): Declare.
6211
6212 * textprop.c (Fprevious_single_char_property_change): Don't do
6213 arithmetic directly on lisp objects.
6214
52283633 6215 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6216
6217 * keyboard.h (menu_item_eval_property): Declare.
6218
6219 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6220 reuse as buffer name, instead of recreating (and discarding) every
6221 time a message is logged.
6222 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6223 (current_message_1, truncate_message_1, set_message_1)
6224 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6225 (current_message, truncate_echo_area, display_echo_area)
6226 (resize_echo_area_axactly): Changed calls.
b347b3fd 6227
975f250a 6228 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6229 Lisp object.
975f250a 6230 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6231 must be an integer, not a Lisp object.
975f250a 6232
46dc9912
KH
62332000-08-08 Kenichi Handa <handa@etl.go.jp>
6234
6235 * charset.c (Fchar_width): Doc fix.
6236
9f6d1a6c
GM
62372000-08-08 Gerd Moellmann <gerd@gnu.org>
6238
6239 * charset.c (Fstring_width): Doc fix.
6240
ff3d9573
GM
62412000-08-07 Gerd Moellmann <gerd@gnu.org>
6242
41e757a6 6243 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6244 line, clear ascent and descent members of the iterator structure;
6245 the height of the continued line does not affect the height of the
6246 continuation line.
6247 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6248 line taller than the window.
6249 (redisplay_window) <forced window start>: Handle case that the
6250 middle of the window is not found in any row.
6251 (dump_glyph_row): Show more information.
6252 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6253 first text line in a glyph matrix.
6254
6255 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6256 of the clip area when image doesn't have a mask.
6257
70fc58b3
GM
6258 * fns.c (sweep_weak_table): Fix survival conditions for
6259 key-or-value and key-and-value weakness.
6260
6261 * .gdbinit (xhashtable): New command.
6262
ac0e96ee
GM
6263 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6264 tables out of the list of all weak hash tables.
6265
ff3d9573
GM
6266 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6267 a new buffer is created, make sure echo_area_buffer[] references
6268 the new buffer.
6269
e0d8827b
EZ
62702000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6271
6272 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6273 the doc string.
6274
c6f35378
KH
62752000-08-07 Kenichi Handa <handa@etl.go.jp>
6276
6277 * syntax.c (skip_chars): Fix previous change. Make the handling
6278 of unibyte string consistent with that of regex search.
6279
1fd4c450
GM
62802000-08-05 Gerd Moellmann <gerd@gnu.org>
6281
e49aa397
GM
6282 * xmenu.c (popup_get_selection): Use xfree instead of free.
6283
6284 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6285
6286 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6287
6288 * callproc.c (child_setup): Use xfree instead of free.
6289
6290 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6291 instead of malloc.
6292 (run_mac_command, closedir): Use `xfree' instead of `free'.
6293
6294 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6295
6296 * eval.c (error): Use xfree instead of free.
6297
1fd4c450
GM
6298 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6299
6300 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6301 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6302
82d497fc
KH
63032000-08-05 Kenichi Handa <handa@etl.go.jp>
6304
6305 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6306 conversion.
6307
59f953a2
NF
63082000-08-04 Noah Friedman <friedman@splode.com>
6309
6310 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6311 docstring.
6312
688351f2
GM
63132000-08-04 Gerd Moellmann <gerd@gnu.org>
6314
6315 * syntax.c (skip_chars): Fix typo in error message.
6316
2dad51cc
AS
63172000-08-04 Andreas Schwab <schwab@suse.de>
6318
6319 * m/ia64.h: Moved from s/ia64.h.
6320
99bb2c60
KH
63212000-08-04 Kenichi Handa <handa@etl.go.jp>
6322
082a1df2
KH
6323 * process.c (read_process_output): Big simplification. Handle
6324 composition and post-read-conversion of coding system correctly.
6325 (send_process): Handle composition correctly.
6326
6327 * callproc.c (Fcall_process): Handle post-read-conversion of
6328 coding system if any.
6329
99bb2c60
KH
6330 * coding.c (decode_coding_iso2022): More strict check for handling
6331 single shifting.
082a1df2
KH
6332 (coding_restore_composition): Pay attention to the case that
6333 cmp_data is not set properly (because of invalid code in the
6334 source text).
6335 (run_pre_post_conversion_on_str): Include text properties in the
6336 resulting string.
6337 (decode_coding_string): Set members of coding correctly.
99bb2c60 6338
f4988be7
GM
63392000-08-03 Gerd Moellmann <gerd@gnu.org>
6340
6341 * s/ia64.h: New file.
6342
6343 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6344 Use NULL instead of 0 at the end of variable argument list of
6345 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6346 sizeof (int) < sizeof (void *).
6347
6348 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6349 of variable argument lists of XtVaGetValues and XtVaSetValues.
6350
6351 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6352 variable argument lists of XtVaGetValues and XtVaSetValues.
6353
ead53494
GM
63542000-08-02 Gerd Moellmann <gerd@gnu.org>
6355
6356 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6357 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6358
6359 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6360 prototype.
6361
6362 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6363 in call to Fsingle_key_description.
6364
6365 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6366 Callers changed.
6367
63682000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6369
6370 * window.c (display_buffer_reuse_frames): New variable.
6371 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6372 frames displaying BUFFER.
52283633 6373 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6374
10b0f752
MB
63752000-08-01 Miles Bader <miles@gnu.org>
6376
6377 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6378 when to constrain NEW_POS (they were pretty screwed up before).
6379
16425c4a
EZ
63802000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6381
6382 * msdos.c (run_msdos_command): Save and restore the master
6383 environment, for the case that child_setup signals an error.
6384 When mirroring slashes in DOS shell commands, don't fail when
6385 argv[2] has embedded blanks.
da288c14
EZ
6386 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6387 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6388 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6389
6390 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6391 using alloca; free it after run_msdos_command returns.
6392
27f73852
DL
63932000-07-27 Dave Love <fx@gnu.org>
6394
52283633
SM
6395 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6396 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6397
6398 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6399
c0261b5e
EZ
64002000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6401
6402 * editfns.c (lisp_time_argument): Fix last change.
6403
b548072f
GM
64042000-07-27 Gerd Moellmann <gerd@gnu.org>
6405
3ab82477
GM
6406 * fns.c (Fdelete): Make it work on vectors and strings in addition
6407 to lists.
6408
b548072f
GM
6409 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6410 (syms_of_fns): Initialize new variables.
52283633 6411 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6412 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6413 weakness, with t meaning the same as `key-and-value'.
6414
91ae8751
KH
64152000-07-27 Kenichi Handa <handa@etl.go.jp>
6416
6417 * coding.h (struct coding_system): Member safe_charset deleted.
6418
6419 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6420 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6421 New variables.
91ae8751
KH
6422 (coding_safe_chars): New function.
6423 (CODING_SAFE_CHAR_P): New macro.
6424 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6425 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6426 (detect_coding_iso2022): New local variable safe_chars.
6427 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6428 safe_charsets member of the coding system.
6429 (decode_coding_iso2022): New local variable safe_chars.
6430 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6431 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6432 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6433 (ENCODE_UNSAFE_CHARACTER): New macro.
6434 (encode_coding_iso2022): New local variable safe_chars. Check
6435 unsafe chars.
6436 (setup_coding_system): Delete the code to initialize
6437 coding->safe_charses
6438 (intersection, find_safe_codings): New functions.
6439 (Ffind_coding_systems_region_internal): New function.
6440 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6441 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6442 variable and initialize it.
6443
6444 * fns.c (char_table_ref_and_index): New function.
6445
6446 * lisp.h (char_table_ref_and_index): Add prototype.
6447
34a7a267
SS
64482000-07-26 Sam Steingold <sds@gnu.org>
6449
6450 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6451 (Ffloat_time): New built-in Lisp function.
34a7a267 6452
a95cb10a
GM
64532000-07-26 Gerd Moellmann <gerd@gnu.org>
6454
3353ef5a
GM
6455 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6456 for the character code.
6457
6458 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6459 GNU/Linux.
6460
a95cb10a
GM
6461 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6462 if called for a popup menu.
6463 (xmenu_show): Store help string in widget values.
6464
b4a12321
DL
64652000-07-26 Dave Love <fx@gnu.org>
6466
6467 * syswait.h: Move some definitions.
6468 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6469 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6470 perspicuous definitions.
6471 (WTERMSIG): Fix bit pattern used.
6472
13f5ad37
KH
64732000-07-26 Kenichi Handa <handa@etl.go.jp>
6474
6475 * print.c (print_object): If vector printing is truncated, print
6476 "..." to indicate it as well as the case of list printing.
6477
070fe99c
GM
64782000-07-25 Gerd Moellmann <gerd@gnu.org>
6479
969065c3
GM
6480 * xdisp.c (next_element_from_display_vector): Improve comments.
6481
6482 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6483 for the character code, and the rest for the face id as in 20.x.
6484 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6485
6486 * window.c (window_display_table): Cleaned up.
6487
070fe99c
GM
6488 * syntax.c (Fforward_word): Add last arg nil in call of
6489 Fconstrain_to_field.
6490
bad77ef7
EZ
64912000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6492
969065c3 6493 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6494 identical but for the letter-case, don't call
6495 barf_or_query_if_file_exists.
bad77ef7 6496
c28da489
MB
64972000-07-25 Miles Bader <miles@gnu.org>
6498
6499 * editfns.c (find_field): Honor special `boundary' fields.
6500 (Qboundary): New variables.
6501 (syms_of_editfns): Initialize Qboundary.
6502 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6503 Use scan_buffer instead of find_before_next_newline, because it
6504 allows us to detect the boundary case where there's a newline at
6505 the search limit.
6506 * lisp.h (Fconstrain_to_field): Update external declaration.
6507
e3c31fd5
GM
65082000-07-24 Gerd Moellmann <gerd@gnu.org>
6509
6510 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6511 if that is nil.
c28da489 6512
c66c29a2
DL
65132000-07-24 Dave Love <fx@gnu.org>
6514
6515 * s/sunos4-0.h, s/sol2.h:
6516 (LIBS_TERMCAP): Move from m/sparc.h.
6517
6518 * m/sparc.h (TERMINFO): Moved to system files (probably only
6519 relevant for sunos4 judging by its vintage).
6520 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6521 __arch64__.
6522
fbe0a958
EZ
65232000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6524
6525 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6526 name to single_keymap_panes.
6527
7d88e5c9
AS
65282000-07-24 Andreas Schwab <schwab@suse.de>
6529
6530 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6531
e024b101
GM
65322000-07-24 Gerd Moellmann <gerd@gnu.org>
6533
6534 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6535 parameters instead of using int parameters. Expect FN to accept
6536 EMACS_INT parameters.
6537 (display_echo_area, resize_echo_area_axactly, current_message)
6538 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6539 with new argument list.
6540 (resize_mini_window_1): New callback function.
6541 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6542 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6543
25c1a9ce
KH
65442000-07-24 Kenichi Handa <handa@etl.go.jp>
6545
6546 * fontset.c (fontset_ref): Remove INLINE declaration.
6547 (fontset_ref_via_base): Likewise.
6548 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6549 to downcase.
6550
7f987ac0
EZ
65512000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6552
6553 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6554 correct order of priority. If help echo was found in an overlay,
6555 use that overlay as the object in which the help echo was found.
6556
e2db3069
MB
65572000-07-22 Miles Bader <miles@gnu.org>
6558
6559 * textprop.c (Fprevious_single_char_property_change): The initial
6560 property value should be from the position preceding POSITION, not
6561 following it.
6562
5e3203e4
EZ
65632000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6564
6565 * coding.c (syms_of_coding): Doc fix for
6566 inhibit-iso-escape-detection.
6567
62145073
GM
65682000-07-21 Gerd Moellmann <gerd@gnu.org>
6569
c20aeb83
GM
6570 * xterm.c (note_mouse_highlight): Process overlays in the right
6571 order of priority.
34a7a267 6572
743934db
GM
6573 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6574
6575 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6576 overlay, use that overlay as the object in which the help was found.
743934db 6577
d1dc7e43 6578 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6579
62145073
GM
6580 * window.c (foreach_window): Instead of a fake variable argument
6581 list, take one USER_DATA argument.
6582 (foreach_window_1): Likewise, and call callback functions with two
6583 args, the window and USER_DATA.
6584 (struct check_window_data): New struct.
6585 (check_window_containing): Use it.
6586 (window_from_coordinates): Set up a struct check_window_data for
6587 foreach_window.
6588 (add_window_to_list, freeze_window_start): Change parameters
6589 according to new calling convention.
6590
6591 * window.h (foreach_window): Change prototype.
6592
6593 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6594
65952000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6596
6597 * xmenu.c (menu_help_callback): Call show_help_echo with
6598 additional arguments OBJECT and POS.
6599
11270583
KH
66002000-07-21 Kenichi Handa <handa@etl.go.jp>
6601
07b14857
KH
6602 * data.c (Faset): Allow storing any multibyte character in a
6603 string. Convert unibyte string to multibyte if necessary.
6604
11270583
KH
6605 * xfns.c (x_encode_text): New function.
6606 (x_set_name): Use x_encode_text.
6607 (x_set_title): Likewise.
6608
6609 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6610
6611 * xterm.h (x_encode_text): Add prototype.
6612
bc75b4fd
DL
66132000-07-20 Dave Love <fx@gnu.org>
6614
6615 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6616 xfree, not free.
6617
48c14970
EZ
66182000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6619
6620 * msdos.c (help_echo_window): New variable.
6621 (syms_of_msdos): Initialize and staticpro it.
6622 (IT_note_mode_line_highlight): Set help_echo_window.
6623 (IT_note_mouse_highlight): Ditto.
6624 (dos_rawgetc): Store help_echo_window in the second event produced
6625 for HELP_EVENTs.
6626
6627 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6628 Record the object that generated the help echo and the position of
6629 that object in help_echo_object and help_echo_pos. Record that
6630 some glyphs in a row are displayed in mouse-face.
6631 (IT_update_begin): Don't clear mouse highlight unless one of the
6632 enabled glyph rows is marked as being displayed in mouse-face.
6633 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6634 and position recorded in help_echo_object and help_echo_pos to the
6635 event queue.
6636 (IT_menu_display): Accept a new argument PN: the pane number of
6637 the current menu pane. Record the pane number and the item
6638 number of the item which has associated help string.
6639 (XMenuActivate): Update the prototype for help_callback in
6640 function declaration. Call IT_menu_display with the current menu
6641 pane number as an additional argument. Call help_callback with
6642 two additional arguments: the pane number and the item number of
6643 the menu item associated with the help text.
6644 (help_echo_object, help_echo_pos): New variables.
6645 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6646
6647 * msdos.h (XMenuActivate): Update prototype.
6648
4279296d
GM
66492000-07-19 Gerd Moellmann <gerd@gnu.org>
6650
47db06aa
GM
6651 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6652 Add some more prototypes.
6653
6654 * xterm.c, xterm.h: Add some more prototypes.
6655
6656 * lisp.h (Fnext_single_char_property_change): Add prototype.
6657
6658 * dispnew.c (direct_output_for_insert): Remove confusing
6659 outer local variable mouse_face_overwritten_p.
6660 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6661
4279296d
GM
6662 * alloc.c (allocate_string_data): Don't copy old string contents.
6663
670acd62
KH
66642000-07-19 Kenichi Handa <handa@etl.go.jp>
6665
6666 * coding.c (code_convert_region): Delete text properties before
6667 shrinking the conversion region.
6668
7cea38bc
GM
66692000-07-18 Gerd Moellmann <gerd@gnu.org>
6670
dc1cac59
GM
6671 * dispnew.c (update_text_area): Write the whole row if it
6672 has mouse-face in it.
6673
85a8aca9
GM
6674 * xfaces.c (face-alternative-font-family-alist): Remove
6675 DEFVAR_LISP; staticpro instead.
6676
34a7a267 6677 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6678 new arguments.
6679
6680 * keyboard.c (show_help_echo): Add parameter WINDOW.
6681 (read_char): Call show_help_echo with window extracted from Lisp
6682 help event.
6683 (gen_help_event): Add parameter WINDOW.
6684
6685 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6686
6687 * xterm.c (help_echo_window): New variable.
52283633 6688 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6689 (XTread_socket): Pass help_echo_window to gen_help_event.
6690 (syms_of_xterm): Initialize and staticpro help_echo_window.
6691
f8276b77
DL
66922000-07-18 Dave Love <fx@gnu.org>
6693
52283633 6694 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6695
088831a6
GM
66962000-07-18 Gerd Moellmann <gerd@gnu.org>
6697
3d6cd763
GM
6698 * alloc.c (allocate_string_data): If string had already data
6699 assigned, copy old contents to new string data.
6700
6701 * coding.c (syms_of_coding): Fix typo in spelling of variable
6702 `inhibit-iso-escape-detection'.
6703
088831a6
GM
6704 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6705
6706 * Makefile.in: Add dependencies on dispextern.h.
6707 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6708 `free'; both can conflict with system header files.
6709
bc8a8d55
KH
67102000-07-18 Kenichi Handa <handa@etl.go.jp>
6711
6712 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6713 undefined.
6714
069f5950
DL
67152000-07-18 Dave Love <fx@gnu.org>
6716
6717 * window.c (Fwindow_list): Declare arg `window'.
6718
aa96c820
KH
67192000-07-18 Kenichi Handa <handa@etl.go.jp>
6720
6721 * coding.c (setup_coding_system): Don't override the explicitly
6722 specified designations.
6723
06be8d32
MB
67242000-07-15 Miles Bader <miles@gnu.org>
6725
6726 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6727 from `text_property_eq' and `text_property_stickiness', respectively.
6728 (find_field, Fconstrain_to_field, char_property_eq)
6729 (char_property_stickiness): Changed to call char-property functions
6730 instead of text-property-only ones.
6731
6732 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6733 `next_single_char_property_change'). Do more error checking, and
6734 cleanup limit behavior.
6735 (Fprevious_single_char_property_change): New function.
6736 (syms_of_textprop): Initialize new subrs.
6737
6738 * xdisp.c (display_prop_end, invisible_text_between_p):
6739 Call Fnext_single_char_property_change instead of
6740 next_single_char_property_change.
6741
3fddcdc3
JR
67422000-07-15 Jason Rumney <jasonr@gnu.org>
6743
6744 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6745 after menu is finished with.
6746 (add_menu_item): Only consider wv->title as a menu title.
6747 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6748
6749 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6750 null title.
6751 (FONT_REGEXP): Remove unused macro, and its sub-components.
6752 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6753
6754 * w32term.c (help_echo_object, help_echo_pos): New variables.
6755 (note_mode_line_highlight): Store additional information about the
6756 help-echo in help_echo_object and help_echo_pos. Check both
6757 `local-map' and `keymap' properties for changing the cursor
6758 (note_mouse_highlight): Store additional information about the
6759 help-echo in help_echo_object and help_echo_pos.
6760 (note_tool_bar_highlight): Set help_echo_object to nil and
6761 help_echo_pos to -1.
6762 (w32_read_socket): Use gen_help_event instead of filling
6763 input_events manually.
6764 (syms_of_w32term): Staticpro help_echo_object.
6765 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6766 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6767 (x_clear_mouse_face): New function.
6768 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6769 (x_update_window_begin): No need to turn off the mouse
6770 highlight here.
6771 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6772 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6773 (x_fill_stretch_glyph_string): Consume runs of stretch
6774 glyphs instead of a single one.
6775 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6776 with new argument list.
6777 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6778 (x_append_glyph, x_append_composite_glyph)
6779 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6780 changes in struct glyph starting 1999-12-27. See comments for
6781 xterm.c on 2000-07-05.
6782
178c5d9c
SS
67832000-07-14 Sam Steingold <sds@gnu.org>
6784
6785 * xfaces.c (realize_x_face): Fix the last patch:
6786 check `default_face' before dereferencing.
6787
6fe533f6
DL
67882000-07-14 Dave Love <fx@gnu.org>
6789
069f5950 6790 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6791
dd7b81cf
KH
67922000-07-14 Kenichi Handa <handa@etl.go.jp>
6793
0693904a 6794 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6795 default_face's fontset, not using the default fontset.
0693904a 6796
dd7b81cf
KH
6797 * coding.c (inhibit_iso_escape_detection): New variable.
6798 (syms_of_coding): Make it a Lisp variable.
6799 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6800 nonzero, ignore ISO2022's escape sequence.
6801
d5aa31d8
GM
68022000-07-14 Gerd Moellmann <gerd@gnu.org>
6803
e5acf0ca
GM
6804 * alloca.c (malloc) [emacs]: Define as xmalloc.
6805
bd23a692
GM
6806 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6807 use that instead of the mouse position. Add parameters DX and DY.
6808
6809 * dispextern.h (Fx_show_tip): Adjust number of parameters
6810 in prototype.
6811
9662da0b
GM
6812 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6813 if HELP is a function, call it with OBJECT and POS as parameters
6814 to get the help to display.
6815 (gen_help_event, kbd_buffer_store_help_event): New functions.
6816 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6817 (read_char): Call show_help_echo with new parameters.
6818
178c5d9c 6819 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6820 Add prototypes.
6821
6822 * xterm.c (help_echo_object, help_echo_pos): New variables.
6823 (note_mode_line_highlight): Store additional information about the
6824 help-echo in help_echo_object and help_echo_pos. Check both
6825 `local-map' and `keymap' properties for changing the cursor
6826 (note_mouse_highlight): Store additional information about the
6827 help-echo in help_echo_object and help_echo_pos.
6828 (note_tool_bar_highlight): Set help_echo_object to nil and
6829 help_echo_pos to -1.
6830 (XTread_socket): Use gen_help_event instead of filling
6831 input_events manually.
6832 (syms_of_xterm): Staticpro help_echo_object.
6833
6834 * xmenu.c (menu_highlight_callback): Use
6835 kbd_buffer_store_help_event instead of setting up and input_event
6836 structure manually.
6837
6838 * xdisp.c (eval_form): GCPRO argument sexpr.
6839 (call_function): New function.
6840 (handle_single_display_prop): Use call_function and FUNCTIONP
6841 instead of checking whether if font_height is a symbol and
6842 using eval_form.
6843
6844 * eval.c (internal_condition_case_2): New function.
6845
6846 * lisp.h (FUNCTIONP): New macro.
6847 (internal_condition_case_2, call_function): Add prototypes.
6848
d5aa31d8
GM
6849 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6850 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6851 Always set `arg' member of input_events.
6852 (construct_menu_click): Unused function removed.
6853
6854 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6855
6856 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6857 (construct_drag_n_drop, x_scroll_bar_handle_click)
6858 (w32_read_socket): Always set `arg' member of input_events.
6859
6860 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6861
6862 * lisp.h (eval_form): Add prototype.
6863
6864 * xdisp.c (eval_form): Make it externally visible.
6865
0f1a9b23
GM
68662000-07-13 Gerd Moellmann <gerd@gnu.org>
6867
6868 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6869 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6870 consing. For prefix events, store the frame in the `arg' slot of
6871 the event, otherwise store the key there.
6872 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6873 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6874
6875 * xmenu.c (menu_highlight_callback): Store help string in the
6876 `arg' member of the input event; don't cons.
6877 (menubar_selection_callback): Use the `arg' slot of input events
6878 to queue additional information, instead of consing.
6879
6880 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6881
6882 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6883 TOOL_BAR_EVENTs.
6884 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6885
6886 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6887 input events to queue additional information, instead of consing.
6888
6889 * keyboard.c (kbd_buffer_gcpro): Renamed from
6890 kbd_buffer_frame_or_window. Now used for all Lisp objects
6891 referenced from the input queue.
6892 (kbd_buffer_store_event): Always use structure assignment for
6893 copying input events. Record all Lisp objects referenced from
6894 events in kbd_buffer_gcpro.
6895 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6896 differently from input events. Test for prefix menu_bar_events
6897 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6898 event in kbd_buffer_gcpro to nil.
6899 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6900 frame_or_window is equal to its arg member as prefix events.
6901 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6902 used by an input event to nil.
6903 (init_keyboard): Use two times the size of the input queue
6904 for kbd_buffer_gcpro.
6905 (syms_of_keyboard): Likewise.
6906
52283633
SM
6907 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6908 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6909
6910 * termhooks.h (struct input_event): Add member `arg'.
6911 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6912 (USER_SIGNAL_EVENT): Renamed from user_signal.
6913
6914 * xfaces.c (ASET): Remove definition.
6915
6916 * lisp.h (AREF, ASET, ASIZE): New macros.
6917
6918 * fontset.c (AREF, ASIZE): Remove definitions.
6919
6920 * fns.c (AREF): Remove definition.
178c5d9c 6921
0f1a9b23
GM
6922 * composite.c (AREF): Remove definition.
6923
712eaef2
GM
69242000-07-12 Gerd Moellmann <gerd@gnu.org>
6925
d8ee7803
GM
6926 * dispnew.c (redraw_overlapped_rows): Add missing local.
6927 (scrolling_window): Remove debug code.
6928
712eaef2
GM
6929 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6930 Before scrolling, turn off a mouse-highlight in the window
6931 being scrolled.
6932
6933 * xterm.c (x_update_window_end): Add parameter
6934 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6935 redisplay in XTframe_up_to_date.
6936 (x_clear_mouse_face): New function.
6937 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6938
6939 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6940 current glyph row.
6941 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6942 it when any row is written to that contains glyphs highlighted in
6943 mouse-face.
6944 (update_window): Call the window update end hook with new
6945 parameter MOUSE_FACE_OVERWRITTEN_P.
6946 (direct_output_for_insert): Give up if row contains mouse-face.
6947
6948 * dispextern.h (struct redisplay_interface): Add parameter
6949 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6950 (clear_mouse_face): New function pointer member.
6951
02010917
SM
69522000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6953
6954 * syntax.c (back_comment): Use one switch rather than a few `if's.
6955 Obey open_paren_in_column_0_is_defun_start.
6956 When reverting to the `slow' method, try to nicely handle the case
6957 of nested comments by checking that the comment-starter we found
6958 does indeed match the comment-ender.
6959 (scan_sexps_forward, scan_sexps_forward):
6960 Ignore excessive opening parenthesis rather than throwing an error.
6961
d76c03ea
GM
69622000-07-11 Gerd Moellmann <gerd@gnu.org>
6963
6964 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6965 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6966
6967 * dispnew.c (direct_output_forward_char): Give up if currently
6968 displaying a message instead of the minibuffer contents.
6969
6970 * xterm.c (x_update_window_begin): No need to turn off the mouse
6971 highlight here.
6972 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6973 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6974
6975 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6976 compare the mouse_face_p flags of both rows.
6977
6978 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6979
d55ead18
EZ
69802000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6981
6982 * keyboard.c (show_help_echo): Accept additional parameter
6983 ok_to_overwrite_keystroke_echo.
6984 (read_char): Call show_help_echo with a zero
6985 ok_to_overwrite_keystroke_echo argument.
52283633 6986 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6987 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6988 ok_to_overwrite_keystroke_echo argument.
6989 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6990 non-zero ok_to_overwrite_keystroke_echo argument.
6991
df75b1a3
GM
69922000-07-10 Gerd Moellmann <gerd@gnu.org>
6993
4b92c49a
GM
6994 * xdisp.c (try_window_id): If changes are all below what is
6995 displayed in the window, and point is in the window, we still
6996 might have to find point on the display.
6997
6998 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6999 glyphs instead of a single one.
7000 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
7001 with new argument list.
7002 (x_set_glyph_string_gc): Make sure the face's GC is valid.
7003
df75b1a3
GM
7004 * keymap.c (get_keymap_1): Add comment that this function can GC.
7005 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
7006 comment that functions can GC.
7007 (Fset_keymap_parent): GCPRO arg KEYMAP.
7008
4314cf3e
EZ
70092000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
7010
7011 * msdos.c (XMenuActivate): After exiting the menu, restore the
7012 echo area message and erase it.
7013
ab49ce15
KH
70142000-07-10 Kenichi Handa <handa@etl.go.jp>
7015
7016 * fontset.c (Ffontset_info): Make the return value more compatible
7017 with that of Emacs 20.
7018
090a072f
GM
70192000-07-07 Gerd Moellmann <gerd@gnu.org>
7020
7021 * eval.c (Fsignal): Handle case that backtrace_list is null.
7022
f92de4a6
KH
70232000-07-07 Kenichi Handa <handa@etl.go.jp>
7024
7025 * ccl.c (Fccl_execute): Typo fixed.
7026
dd8888a1
GM
70272000-07-06 Gerd Moellmann <gerd@gnu.org>
7028
e5c81191 7029 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7030
dd8888a1
GM
7031 * window.c (Fwindow_list): Reverse list at the end.
7032 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7033 means allow windows on OWINDOW's frame, only.
7034 (window_loop): Simplified; use Fwindow_list.
7035
7036 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7037
485266d0
GM
70382000-07-05 Gerd Moellmann <gerd@gnu.org>
7039
7040 * xterm.c (XTread_socket): Increment handling_signal at the start,
7041 decrement it at the end.
7042
7043 * eval.c (handling_signal): New variable.
7044 (Fsignal): Abort if handling_signal is non-zero.
7045
7046 * lisp.h (handling_signal): External declaration.
178c5d9c 7047
485266d0
GM
7048 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7049
80fcd514
KR
70502000-07-05 Ken Raeburn <raeburn@gnu.org>
7051
7052 Sound support for NetBSD through "Linux emulation" support:
7053 * config.in (HAVE_SOUNDCARD_H): Undef.
7054 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7055 * Makefile.in (LIBSOUND): New variable.
7056 (LIBES): Include it.
52283633
SM
7057 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7058 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7059 (vox_open): Use DEFAULT_SOUND_DEVICE.
7060 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7061
d5c5cddd
GM
70622000-07-05 Gerd Moellmann <gerd@gnu.org>
7063
7064 * print.c (print_error_message): If Vsignaling_function is set,
7065 show it in *Messages*.
7066
7067 * lisp.h (Vsignaling_function): External declaration.
7068
7069 * eval.c (Vsignaling_function): New variable.
7070 (Fsignal): Compute it.
7071 (syms_of_eval): Staticpro it.
7072
65171e3a
DL
70732000-07-05 Dave Love <fx@gnu.org>
7074
7075 * syswait.h: Use the autoconf recommended approach. Old code
7076 #if'd out in case we need to revert.
7077
178c5d9c 7078 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7079
e2c46326
AI
70802000-07-05 Andrew Innes <andrewi@gnu.org>
7081
7082 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7083 when non-NULL instead of __morecore, to take account of buffer
7084 memory. This also solves a problem with spurious memory warnings
7085 on Windows.
7086
7087 * ralloc.c: Make real_morecore non-static.
7088
7089 * eval.c (internal_condition_case): Comment out abort if
7090 interrupt_input_blocked is not zero.
7091
7092 * makefile.nt: Add support for `bootstrap' and related targets.
7093 Include minimal debug info in emacs.exe in release build.
7094 Remove all dependencies on lisp.h, and fixup some others.
7095
7096 * w32.c (init_environment): Install code from 20.7 for providing
7097 default values for environment variables, based on the
7098 executable's own location.
52283633 7099 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7100 (sys_socket): Install socket inheritance bug fix from 20.7.
7101
7102 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7103 here via blockinput.h).
7104
a027a91b
SM
71052000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7106
e4b31601
SM
7107 * w32menu.c (w32_menu_display_help):
7108 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7109
7110 * keyboard.h (show_help_echo): Declare.
7111
7112 * keyboard.c (show_help_echo): New function, extracted from read_char.
7113 Feval its `msg' argument if it's a cons cell.
7114 (read_char): Use it.
4cf8d9d5 7115 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7116
178c5d9c 7117 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7118 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7119 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7120 (dos_rawgetc):
7121 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7122 (note_tool_bar_highlight, w32_read_socket):
7123 Do not gratuitously ignore non-string `help-echo' properties.
7124
88d75730
GM
71252000-07-05 Gerd Moellmann <gerd@gnu.org>
7126
969f7e79
GM
7127 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7128
71201b00
GM
7129 * window.c (delete_all_subwindows): Reset Vwindow_list.
7130
88d75730
GM
7131 * xterm.c (x_append_glyph, x_append_composite_glyph)
7132 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7133 changes in struct glyph starting 1999-12-27. Some bit-fields of
7134 struct glyph were not set, which made glyphs unequal when compared
7135 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7136 effects were the result. This also depended on the contents of
7137 memory returned by xmalloc. If flickering happens again, activate
7138 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7139 gone with that, chances are that it is caused by something similar.
88d75730
GM
7140
7141 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7142
88d75730
GM
7143 * dispextern.h: Add some comments.
7144
7145 * window.c (add_window_to_list): Add parameter LIST.
7146 (window_list): Order list so that, for each frame, windows are
7147 in canonical order, and so that frames appear in the list in
7148 the order given by Vframe_list.
7149 (next_window): Reverse the handling of NEXT_P.
7150
53654733
GM
71512000-07-04 Gerd Moellmann <gerd@gnu.org>
7152
87efd256
GM
7153 * window.c (Vwindow_list): New variable.
7154 (make_window, delete_window): Set Vwindow_list to nil.
7155 (check_window_containing): New function.
7156 (window_from_coordinates): Rewritten.
7157 (add_window_to_list, window_list, candidate_window_p)
7158 (decode_next_window_args, next_window): New functions.
52283633 7159 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7160 (Fwindow_list): New function.
7161 (Fother_window): Cleaned up.
7162 (foreach_window): Add a longer "variable argument list". Let
7163 callback function return 0 to indicate that cycling over windows
7164 should stop.
7165 (foreach_window_1): Likewise.
7166 (freeze_window_start): Return int.
7167 (init_window): New function.
7168 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7169
7170 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7171 input_event with bzero.
7172 (main): Call init_window.
7173
53654733
GM
7174 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7175 a menu filter.
7176
4a8c194f
KH
71772000-07-04 Kenichi Handa <handa@etl.go.jp>
7178
7179 * composite.h (make_composition_value_copy): Extern it.
7180
7181 * composite.c (make_composition_value_copy): New function.
7182
7183 * editfns.c (Fformat): While copying text properties, make each
7184 composition property value a copy.
7185
7186 * fns.c (concat): While copying text properties, make each
7187 composition property value a copy.
7188
831a6cb0
GM
71892000-07-03 Gerd Moellmann <gerd@gnu.org>
7190
2f516940
GM
7191 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7192
178c5d9c 7193 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7194 marked already.
7195
831a6cb0
GM
7196 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7197 include those frames as candidates which have their focus
7198 redirected to the minibuffer frame.
7199
d9c4f922
SM
72002000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7201
7202 * fns.c (Fputhash): Return `value' rather than nil.
7203
3780bc22
GM
72042000-06-30 Gerd Moellmann <gerd@gnu.org>
7205
97d176db
GM
7206 * frame.c (next_frame): Don't check focus redirection in case
7207 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7208 unless their focus is redirected, which contradicts the
7209 specification of next-frame, and leads to infinite loops in
7210 certain situations when cycling through windows with next-window.
7211
dca9961d
KH
72122000-06-30 Kenichi Handa <handa@etl.go.jp>
7213
7214 * coding.c (code_convert_region): Even if the length of text is
7215 zero, try to convert it if coding->type is coding_type_ccl.
7216 (decode_coding_string, encode_coding_string): Likewise.
7217
d5483ab1
GM
72182000-06-28 Gerd Moellmann <gerd@gnu.org>
7219
af5c25e1 7220 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7221 the display if windows_or_buffers_changed.
af5c25e1
GM
7222
7223 * dispnew.c (struct row_entry): New structure.
7224 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7225 (row_table_size, old_lines, new_lines, old_lines_size)
7226 (new_lines_size, run_pool, runs_size, runs): New variables.
7227 (add_row_entry): New function.
7228 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7229 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7230 holding them in local variables. Use a larger hash table whose
7231 size depends on glyph matrix sizes. Don't use bzero to clear the
7232 hash table; instead, clear used slots only.
7233
7234 * fns.c (next_almost_prime): Make it externally visible.
7235
7236 * lisp.h (next_almost_prime): Add prototype.
7237
d5483ab1
GM
7238 * s/isc4-0.h (sigunblock): Define.
7239
7240 * s/sco5.h (sigunblock): Define.
7241
93e40f40
DL
72422000-06-27 Dave Love <fx@gnu.org>
7243
7244 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7245 (moved to osf5-0.h).
7246 [!NOT_C_CODE]: Protect string.h stuff.
7247
7248 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7249 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7250
3c4b7685
GM
72512000-06-27 Gerd Moellmann <gerd@gnu.org>
7252
97d176db 7253 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7254 below the last line from the needed window height.
7255
32cad0aa
SM
72562000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7257
7258 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7259 (Fwidget_get): Use it.
7260 (syms_of_fns): Defsubr it.
7261
2c69ced2
GM
72622000-06-26 Gerd Moellmann <gerd@gnu.org>
7263
178c5d9c 7264 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7265 display info for XIM.
7266 (xim_open_dpy): Likewise.
7267 (xim_close_dpy): Don't free the display info's XIM.
7268
7269 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7270
7271 * config.in (USE_XIM): New define.
7272
3fc720e4
GM
7273 * keymap.c (get_keyelt): For menu-items containing a `:filter
7274 FILTER', apply FILTER to the menu-item's definition to get the
7275 real definition to use.
7276
7277 * lisp.h (QCfilter): External declaration.
7278
2c69ced2
GM
7279 * xfns.c (Fimage_size): New function.
7280 (syms_of_xfns): Defsubr it.
7281
f978b2a2
AS
72822000-06-26 Andreas Schwab <schwab@suse.de>
7283
7284 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7285 Fstring_as_unibyte.
7286
94cc7892
DL
72872000-06-25 Dave Love <fx@gnu.org>
7288
52283633 7289 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7290
7291 * Makefile.in (blockinput.h): Depend on atimer.h.
7292 (atimer.h): Depend on systime.h.
7293
52283633 7294 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7295
52283633 7296 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7297
7298 * lisp.h (swap_in_global_binding): Declare.
7299
b8c24556
KR
73002000-06-24 Ken Raeburn <raeburn@gnu.org>
7301
7302 * process.c (Fopen_network_stream): Turn off atimers for duration
7303 of call to connect. (Patch from Gerd.)
7304
8cf8560b
DL
73052000-06-23 Dave Love <fx@gnu.org>
7306
511c7541
DL
7307 * ralloc.c: Maybe include unistd.h
7308
8cf8560b
DL
7309 * emacs.c (setgrp): Undefine before defining.
7310 (malloc_warning, set_time_zone_rule, index): Prototype.
7311
7312 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7313 HAVE_STRUCT_TIMEZONE.
7314
7315 * s/osf1.h: Move string.h hack here from alpha.h and make it
7316 conditional.
7317 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7318 _XOPEN_SOURCE.
7319 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7320 (SOCKLEN_TYPE): Don't define.
7321
7322 * m/alpha.h: Remove string.h hack.
7323
7324 * s/osf5-0.h: New file.
7325
7326 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7327 include time.h, done by systime.h.
7328 [__FreeBSD__]: Remove redundant includes.
7329
3fc720e4 7330 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7331 (delete_temp_file): Return Qnil to avoid warning.
7332
7333 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7334
7335 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7336 HAVE_X_WINDOWS.
7337
7338 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7339
7340 * composite.h (compose_text): Declare.
7341
7342 * xterm.c: Don't include sys/types.h unconditionally. Don't
7343 protect its inclusion with !USG (following xmenu.c).
7344
ea055732
GM
73452000-06-23 Gerd Moellmann <gerd@gnu.org>
7346
7347 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7348 in x_create_frame.
7349
74b01b80
EZ
73502000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7351
7352 * coding.c (decode_eol_post_ccl): Special handling for undecided
7353 and inconsistent EOL types.
7354
64f3a166
GM
73552000-06-22 Gerd Moellmann <gerd@gnu.org>
7356
16cf31f7
GM
7357 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7358 trough color and main window's background color.
7359
52283633 7360 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7361
7362 * xterm.h (Xt_app_con): External declaration.
7363
7364 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7365
486a103d
GM
7366 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7367
64f3a166
GM
7368 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7369 (handle_invisible_prop): Record the start of invisible text in
7370 it->add_overlay_start.
7371 (struct overlay_entry): Add member `overlay'.
7372 (handle_overlay_change): Simplify.
7373 (next_overlay_string): After having processed overlay strings at the
7374 end of the buffer, record that fact in
7375 it->overlay_strings_at_end_processed_p.
7376 (compare_overlay_entries): If before- and after-strings come
7377 from the same overlay, let before-strings come first.
7378 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7379 (load_overlay_strings): Take it->add_overlay_start into account
7380 when adding overlay strings.
7381
7382 * dispextern.h (struct it): Add member add_overlay_start.
7383
bb746ea6
DL
73842000-06-22 Dave Love <fx@gnu.org>
7385
7386 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7387
7388 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7389
a8f573f3
KH
73902000-06-22 Kenichi Handa <handa@etl.go.jp>
7391
7392 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7393 is greater than 0.
7394
9f2bbc92
DL
73952000-06-21 Dave Love <fx@gnu.org>
7396
178c5d9c 7397 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7398
3ee5041c
SM
73992000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7400
7401 * syntax.c (back_comment): Simplify string-parity counting (with
7402 the added benefit of handling multiple string-styles as long as
7403 they are not intertwined).
7404 Jump to the slow code as soon as a comment starter is found in
7405 a "string_lossage" position. Fixes the case: " /* " /* " */.
7406
4c343001
DL
74072000-06-21 Dave Love <fx@gnu.org>
7408
7409 * Makefile.in: Use GETLOADAVG_LIBS.
7410
7411 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7412 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7413
e6365855
SM
74142000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7415
7416 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7417 (Fforward_comment, scan_lists):
7418 Check the comstyle of single-char comment-starters.
7419 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7420 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7421 Check the comstyle of single-char comment-starters.
7422 Clarify control-flow around the Scomment case.
e6365855 7423
5700d2cc
DL
74242000-06-20 Dave Love <fx@gnu.org>
7425
d355bd8a
SM
7426 * fns.c (make_hash_table, maybe_resize_hash_table):
7427 Cast arg of next_almost_prime.
5700d2cc 7428
178c5d9c 7429 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7430
7431 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7432 and unistd.h.
7433
4a27bdfb
GM
74342000-06-20 Gerd Moellmann <gerd@gnu.org>
7435
a61d762c 7436 * keyboard.c (adjust_point_for_property): Check if display
52283633 7437 property should be treated as intangible by looking at its value.
a61d762c 7438
178c5d9c 7439 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7440 (display_prop_intangible_p): New functions.
7441
7442 * dispextern.h (display_prop_intangible_p): Add prototype.
7443
7444 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7445
4a27bdfb
GM
7446 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7447 argument to sigprocmask.
7448
7449 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7450 argument to sigprocmask.
7451
7452 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7453 sigprocmask_set, and pass a pointer to it to sigprocmask.
7454
7455 * sysdep.c (sigprocmask_set): New variable.
7456
7457 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7458 report_file_error.
7459
427ec082
SS
74602000-06-20 Sam Steingold <sds@gnu.org>
7461
7462 * xrdb.c: Don't declare xmalloc, xrealloc.
7463
8972fe79 74642000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7465
7466 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7467 (re_comp): Cast gettext return value to avoid complaints when
7468 !HAVE_LIBINTL.
7469
074b6efe
DL
74702000-06-20 Dave Love <fx@gnu.org>
7471
52283633 7472 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7473
5700d2cc 7474 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7475
d355bd8a 7476 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7477
7478 * m/alpha.h: Don't declare xmalloc, xrealloc.
7479
0af4f205
DL
7480 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7481
7482 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7483
7484 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7485
7486 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7487 HAVE_GETWD.
7488
074b6efe
DL
7489 * keyboard.h (poll_for_input_1): Declare.
7490
7491 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7492
7493 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7494
7495 * doprnt.c: Don't declare xmalloc, xrealloc.
7496
7497 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7498 (getenv, ctime, getwd): Removed.
7499 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7500
7501 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7502 x_set_tool_bar_lines.
7503
7504 * config.in: Add HAVE_GETWD. Move some definitions above
7505 machine/system includes.
7506
68a5e97b
KH
75072000-06-20 Kenichi Handa <handa@etl.go.jp>
7508
95417e1e
KH
7509 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7510
68a5e97b
KH
7511 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7512 contain information about ENCODING.
7513
7514 * fontset.c (FONTSET_ASCII): Use the first element of char table
7515 for an ASCII font, not defalt slot.
7516 (fontset_ref_via_base): If FONTSET doesn't contain information for
7517 C, try the default fontset.
7518 (make_fontset): Don't copy the default fontset.
7519 (fontset_font_pattern): Likewise.
7520 (accumulate_font_info): If ELT is nil, use the corresponding
7521 element in the default fontset.
7522
3b4fa1b2
DL
75232000-06-19 Dave Love <fx@gnu.org>
7524
943e731c
DL
7525 * syntax.c (Fparse_partial_sexp): Doc fix.
7526
7527 * regex.h: Test PROTOTYPES as well as __STDC__.
7528
3b4fa1b2
DL
7529 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7530 errno, strerror. Put text after #endif in comment.
7531
52283633 7532 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7533
7534 * xterm.c (x_frame_of_widget): Likewise.
7535
cdf0357b
GM
75362000-06-19 Gerd Moellmann <gerd@gnu.org>
7537
7538 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7539 to Vfundamental_mode_abbrev_table.
7540
7541 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7542 bogus objects are marked. This slows down GC by ~80 percent, but
7543 it might be worth trying when debugging GC-related problems.
7544 This feature requires conservative stack marking to be enabled.
7545
7546 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7547 returns XLookupChars, reset `modifiers' to zero.
7548
998e9f8c
DL
75492000-06-19 Dave Love <fx@gnu.org>
7550
7551 * mktime.c: Unprotoized.
7552
18e21ce8 75532000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7554
7555 * data.c (set_internal): If variable is frame-local,
7556 store the new value immediately into the frame parameter alist.
7557
140c4ac6
KR
75582000-06-19 Ken Raeburn <raeburn@gnu.org>
7559
14358466
KR
7560 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7561 in the custom handler pointer.
7562
140c4ac6
KR
7563 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7564 value, or checks for CHAR_META can fail when Lisp_Object is a
7565 union type.
7566 * keymap.c (get_keyelt): Likewise.
7567
10d7bf84
KH
75682000-06-19 Kenichi Handa <handa@etl.go.jp>
7569
7570 * ccl.h (struct ccl_program): New member eol_type.
7571 (struct ccl_spec): New member cr_carryover.
7572
7573 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7574 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7575
7576 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7577 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7578 (decode_eol_post_ccl): New function.
7579 (decode_coding): Don't detect EOL format here for CCL based coding
7580 systems.
7581 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7582 decode_eol_post_ccl after running the CCL program.
7583 (code_convert_region): Don't detect EOL format here for CCL based
7584 coding systems.
7585 (decode_coding_string): Likewise.
7586
52e386c2
KR
75872000-06-18 Ken Raeburn <raeburn@gnu.org>
7588
7589 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7590 when treating it as an integer.
7591
7592 * coding.h (encode_coding_string): Declare.
7593
7594 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7595 it as an integer.
7596
7597 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7598 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7599 to be passed to get_local_map.
7600
7601 * sound.c (Fplay_sound): Don't call make_number on
7602 Frun_hook_with_args count argument.
7603
7604 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7605 for lisp objects in X event structure data field, when lisp
7606 objects are represented with unions.
7607 (x_scroll_bar_to_input_event): Ditto.
7608
b357b9d4
KR
76092000-06-16 Ken Raeburn <raeburn@gnu.org>
7610
7611 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7612 termination of string. Fix sense of test whether
7613 Vline_number_display_limit is an integer.
b357b9d4 7614
a871441d
GM
76152000-06-16 Gerd Moellmann <gerd@gnu.org>
7616
a9021acd
GM
7617 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7618 only if HAVE_X_WINDOWS.
7619
6344985d
GM
7620 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7621 of titles.
7622
427ec082 7623 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7624 out of bounds.
7625
228b083e
EZ
76262000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7627
7628 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7629 of its headers.
7630
c25b53a2
KH
76312000-06-15 Kenichi Handa <handa@etl.go.jp>
7632
7633 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7634 start of the while loop.
7635
a6981b11
GM
76362000-06-15 Gerd Moellmann <gerd@gnu.org>
7637
e9924e52
GM
7638 * atimer.c (alarm_signal_handler): Add forward declaration.
7639
a6981b11
GM
7640 * data.c (set_internal): Remove debug code.
7641
25fa6deb
GM
76422000-06-14 Gerd Moellmann <gerd@gnu.org>
7643
dce6b995
GM
7644 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7645
9f817ea4
GM
7646 * unexec.c (toplevel) [COFF]: Include coff.h.
7647
7648 * s/lynxos.h: New file.
7649
7650 * keymap.c (Fsingle_key_description): Enclose function key and
7651 event symbol names in angle brackets.
7652
8a4e3c0c
GM
7653 * xdisp.c (setup_echo_area_for_printing): Call
7654 message_log_maybe_newline if message_buf_print is not set.
7655
7656 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7657 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7658 function does something useful even when message_buf_print is
7659 already set.
7660
52283633
SM
7661 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7662 New variables.
25fa6deb
GM
7663 (ensure_echo_area_buffers): Initialize echo buffer's
7664 truncate lines setting to nil.
7665 (with_echo_area_buffer): Don't set the echo buffer's truncate
7666 lines setting here.
8a4e3c0c 7667 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7668 of message_truncate_lines.
7669 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7670 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7671 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7672
7673 * keyboard.c (read_char): Bind message-truncate-lines to t
7674 while displaying a help-echo.
7675
7676 * lisp.h (Qmessage_truncate_lines): External declaration.
7677
163dcff3
GM
76782000-06-13 Gerd Moellmann <gerd@gnu.org>
7679
1681ead6
GM
7680 * xdisp.c (Vline_number_display_limit): Renamed from
7681 line_number_display_limit.
7682 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7683 Extend documentation string. Initialize
7684 Vline_number_display_limit to nil meaning no limit.
7685 (decode_mode_spec): Use Vline_number_display_limit with its new
7686 meaning.
7687
163dcff3
GM
7688 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7689
18e21ce8 76902000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7691
7692 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7693
163dcff3
GM
7694 * xfns.c (x_set_frame_parameters): Comment fix.
7695
7696 * frame.c (store_frame_param): Call swap_in_global_binding if the
7697 variable's current binding was chosen based on this frame.
7698
7699 * data.c (swap_in_global_binding): New function.
7700
a704139d
EZ
77012000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7702
7703 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7704 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7705
9b6610db
EZ
77062000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7707
7708 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7709
c68833d2
JR
77102000-06-12 Jason Rumney <jasonr@gnu.org>
7711
7712 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7713
7714 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7715
7716 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7717
7718 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7719
ed1056b3
GM
77202000-06-12 Gerd Moellmann <gerd@gnu.org>
7721
7722 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7723 (syms_of_xfaces): Defsubr Sdump_colors.
7724 (x_free_colors): Don't treat b&w specially on default visual.
7725 (x_free_dpy_colors): New function.
7726 (free_face_colors): Don't check visual class; it's done
7727 in x_free_colors.
7728
7729 * xterm.c (x_frame_of_widget): New function.
7730 (x_alloc_nearest_color_for_widget): Use it.
7731 (x_copy_dpy_color): New function.
7732 (x_destroy_window): Free various colors.
7733
5050a2ef
KH
77342000-06-12 Kenichi Handa <handa@etl.go.jp>
7735
7736 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7737
7738 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7739
7740 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7741
7742 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7743
7744 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7745
fb1b041d
DL
77462000-06-11 Dave Love <fx@gnu.org>
7747
7748 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7749
ff96b5f4
EZ
77502000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7751
7752 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7753
db8eeecd
GM
77542000-06-11 Gerd Moellmann <gerd@gnu.org>
7755
ed1056b3 7756 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7757 to `XEvent *'.
7758
49b71c5f
KH
77592000-06-10 Kenichi Handa <handa@etl.go.jp>
7760
c479bd55
KH
7761 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7762 (regex_compile): Fix the code for handling the case of single byte
7763 char and multibyte char being mixed in a range within [...].
7764
ff6a65c2
KH
7765 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7766 and dst_multibyte members of coding.
7767
49b71c5f
KH
7768 * charset.c (update_charset_table): Update the table
7769 bytes_by_char_head.
7770 (init_charset_once): Initialize elements of bytes_by_char_head to
7771 1 except for leading codes for private charases.
7772
7773 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7774 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7775
9e80b57d
KR
77762000-06-09 Ken Raeburn <raeburn@gnu.org>
7777
7778 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7779 access the data it doesn't point to.
7780
f83fe4b4
GM
77812000-06-08 Gerd Moellmann <gerd@gnu.org>
7782
7783 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7784 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7785 event queue. This is necessary because Emacs otherwise won't
7786 perform a switch-frame to a new frame until some other event, for
7787 example a keystroke event, forces it to do so. This has various
7788 effects, one visible being that the cursor of a frame created with
7789 C-x 5 2 or switched to with a window manager key binding like
7790 A-TAB stays hollow because selected_window isn't on the newly
7791 focused frame until the switch-frame is performed.
7792
7793 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7794 generating a switch-frame event if necessary.
7795
7796 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7797
7798 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7799 it's an integer.
7800
0890801b
KH
78012000-06-08 Kenichi Handa <handa@etl.go.jp>
7802
52283633 7803 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7804
173cbca8
GM
78052000-06-07 Gerd Moellmann <gerd@gnu.org>
7806
3091c2a6
GM
7807 * window.c (displayed_window_lines): Take empty lines at
7808 the bottom of a window into account.
427ec082 7809
f38952fe
GM
7810 * window.c (displayed_window_lines): New function.
7811 (Fmove_to_window_line): Use displayed_window_lines to determine
7812 the number of lines to move, instead of using the window's height.
7813
7814 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7815 to stop reading, even if the form read sets point to a different
7816 value when evaluated.
7817
427ec082 7818 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7819 put the cursor.
7820
6ba6c818
KH
78212000-06-07 Kenichi Handa <handa@etl.go.jp>
7822
7823 * fileio.c (e_write): Free composition data if stored in
7824 coding->cmp_data.
7825
5f1aea9a
GM
78262000-06-06 Gerd Moellmann <gerd@gnu.org>
7827
666852af
GM
7828 * xdisp.c (display_line): Set row's and iterator's
7829 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7830 Set cursor even if row ends in the middle of a character.
7831 (dump_glyph_row): Print values of new flags.
7832 (redisplay_window) <cursor movement in unchanged window>: When
7833 point has been moved forward, and PT is at the end of the cursor
7834 row, don't place the cursor in the next row if the cursor row ends
7835 in the middle of a character or at ZV.
7836
7837 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7838 (struct glyph_row): Add starts_in_middle_of_char_p and
7839 ends_in_middle_of_char_p.
7840 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7841 ends_in_middle_of_char_p flag.
7842 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7843
d13f3e2e
GM
7844 * term.c (append_glyph): Revert change of 2000-06-06.
7845
7846 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7847 padding glyph not fitting on line as whole character not
7848 fitting on line.
7849
5f1aea9a
GM
7850 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7851 this isn't true for images with `:ascent 100'.
7852
10cda9b0
KH
78532000-06-06 Kenichi Handa <handa@etl.go.jp>
7854
ed00559d
KH
7855 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7856 as modified if it is originally unmodified.
7857
10cda9b0
KH
7858 * term.c (encode_terminal_code): Change the way to check if
7859 terminal coding does any conversion.
7860 (append_glyph): Set glyph->pixel_width correctly.
7861
7862 * xdisp.c (display_line): While checking line continuation, pay
7863 attention to a padding glyph.
7864
1969fae2
GM
78652000-06-05 Gerd Moellmann <gerd@gnu.org>
7866
7867 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7868
162ccef4
DL
78692000-06-05 Dave Love <fx@gnu.org>
7870
f19f32dd
DL
7871 * xdisp.c: Include fontset.h.
7872
7873 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7874
7875 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7876
7877 * dispnew.c: Conditionally include term.h.
7878
7879 * coding.h: Declare code_convert_string_norecord.
7880
7881 * frame.h (struct frame): Use volatile unconditionally.
7882
7883 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7884
7885 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7886
7887 * systime.h: Protect against multiple inclusion.
7888 (timezone) [USG5_4]: Define as time_t.
7889
7890 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7891 (Foptimize_char_table, make_temp_name): Declare.
7892
7893 * Makefile.in (xdisp.o): Depend on fontset.h.
7894
7895 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7896
7897 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7898 (Foptimize_char_table, make_temp_name): Declare.
7899
427ec082 7900 * s/irix4-0.h:
162ccef4
DL
7901 * s/irix5-0.h:
7902 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7903
2082fe81
DL
79042000-06-02 Dave Love <fx@gnu.org>
7905
7906 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7907
dcf671d2
GM
79082000-06-02 Gerd Moellmann <gerd@gnu.org>
7909
7910 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7911 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7912 be freed.
7913
7914 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7915 glyph, use the ASCII NUL character to determine the face.
7916
d42122a3
DL
79172000-06-02 Dave Love <fx@gnu.org>
7918
7919 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7920 (VFORK_RETURN_TYPE): Remove.
427ec082 7921
d42122a3
DL
7922 * config.in: Add NO_MATHERR.
7923
dd432f16
DL
79242000-06-01 Dave Love <fx@gnu.org>
7925
90aa4ea8
DL
7926 * cmds.c (internal_self_insert): Don't check
7927 Vbefore_change_function, Vafter_change_function.
7928
7929 * insdel.c (signal_before_change, signal_after_change): Likewise.
7930
7931 * buffer.c (Vbefore_change_function, Vafter_change_function):
7932 Variables and their initializations deleted.
7933
2330c9d4
DL
7934 * callint.c (Fcall_interactively): Doc fix.
7935
dd432f16
DL
7936 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7937
bf9e8804
DL
79382000-05-31 Dave Love <fx@gnu.org>
7939
7940 * textprop.c: Revert last change -- duplicated.
7941
3694b4ab
GM
79422000-05-31 Gerd Moellmann <gerd@gnu.org>
7943
7944 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7945 in #if 0.
7946
7947 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7948
f14156cd
JR
79492000-05-31 Jason Rumney <jasonr@gnu.org>
7950
8119aab8
JR
7951 * search.c (Fre_search_forward, Fre_search_backward)
7952 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7953
f14156cd
JR
7954 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7955
4aab9be3
JR
79562000-05-30 Jason Rumney <jasonr@gnu.org>
7957
7958 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7959 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7960
52283633 7961 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7962
7963 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7964 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7965 expand a nil default_filename.
7966
7967 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7968 pointer to glyph_to_pixel_coords, not a frame.
7969
7970 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7971 coding.h to dependencies.
7972
7973 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7974
7975 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7976 window pointer to be consistent with w32term.c and xterm.c.
7977
7978 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7979 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7980 (Qline_spacing, Qcenter): New variables.
7981 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7982 (x_set_line_spacing): New function.
52283633 7983 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7984 (x_specified_cursor_type): New function.
7985 (x_set_cursor_type): Use it.
7986 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7987 and icon strings.
7988 (validate_x_resource_name, x_get_resource_string): Measure lengths
7989 of external strings in bytes.
7990 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7991 GetTextExtentPoint32 with NULL title.
7992 (Fx_create_frame): Initialize Qline_spacing.
7993 (w32_load_system_font): Initialize font->double_byte_p.
7994 (x_to_w32_charset): Use Vw32_charset_info_alist.
7995 (Image, busy cursor, tooltip functions): Merged changes from
7996 xfns.c. Not yet functional on Windows.
7997
7998 * w32gui.h (W32FontStruct): Add double_byte_p member.
7999
8000 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
8001 (emacs_button_translation): Use it.
8002 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
8003 in `mask' to be set.
8004
8005 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
8006 menu strings.
8007
8008 * w32term.c: Format and doc changes to bring closer to xterm.c.
8009 (w32_char_font_type): New enum.
8010 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
8011 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
8012 (w32_encode_char): New function.
8013 (x_encode_char): Removed.
8014 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
8015 x_encode_char and w32_font_is_double_byte.
8016 (x_produce_image_glyph): Use image_ascent.
8017 (x_produce_glyphs): Use new version of w32_per_char_metric and
8018 handle NULL return value. Allow extra line spacing.
8019 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
8020 (w32_get_glyph_overhangs): Remove unicode_p param. Use
8021 w32_font_type member of glyph instead.
8022 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
8023 (fast_find_position): Make sure not to consider rows not visible
8024 in the window.
8025 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8026 w32_menu_display_help with input blocked, as it can abort.
8027 (x_display_and_set_cursor): Choose cursor depending
8028 on buffer-local value of cursor_type.
8029 (x_draw_bar_cursor): Add parameter WIDTH.
8030
8031 * w32term.h (CP_DEFAULT): Define.
8032 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8033
10fc3187
GM
80342000-05-30 Gerd Moellmann <gerd@gnu.org>
8035
8036 * search.c (Fre_search_forward, Fre_search_backward)
8037 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8038
d0555360
KH
80392000-05-30 Kenichi Handa <handa@etl.go.jp>
8040
8041 * coding.c (detect_coding_iso2022): Fix code for checking
8042 CODING_CATEGORY_MASK_ISO_8_2.
8043
f1ad044f
SM
80442000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8045
8046 * regex.c (PREFETCH_NOLIMIT): New function.
8047 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8048
84ec3b4b
GM
80492000-05-29 Gerd Moellmann <gerd@gnu.org>
8050
66254a13
GM
8051 * syntax.c (find_defun_start): Move test for
8052 open_paren_in_column_0_is_defun_start outside of the loop.
8053
49e70dec
GM
8054 * xdisp.c (redisplay_window): Really switch buffers when
8055 displaying mode lines, and temporarily set selected_frame to the
8056 frame of the window that's redisplayed.
8057
84ec3b4b
GM
8058 * xfaces.c (free_realized_faces): Block/unblock input.
8059 (free_realized_multibyte_face): Ditto.
8060
869a3a14
DL
80612000-05-29 Dave Love <fx@gnu.org>
8062
8063 * textprop.c (Qkeymap): New variable.
8064 (syms_of_textprop): Intern it.
8065
8066 * keymap.c: Include intervals.h.
8067 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8068
8069 * Makefile.in (keymap.o): Depend on intervals.h.
8070
8071 * keyboard.c (menu_bar_items, tool_bar_items)
8072 (Fexecute_extended_command): Deal with `keymap' property.
8073 (read_key_sequence): Track map from `keymap' property as well as
8074 `local_map'.
8075
8076 * intervals.c (get_local_map): Extra arg to allow looking for
8077 `keymap' too.
8078
8079 * intervals.h (map_property): New enum.
8080 (get_local_map): Extra arg using it.
8081 (Qkeymap): Declare.
8082
84ec3b4b 8083 * lisp.h (get_local_map): Don't declare here.
869a3a14 8084
89d0c844
KH
80852000-05-29 Kenichi Handa <handa@etl.go.jp>
8086
8087 * Makefile.in (callproc.o): Depend on composite.h.
8088
8089 * callproc.c: Include composite.h.
8090 (Fcall_process): Handle composition correctly.
8091
8092 * coding.h (coding_allocate_composition_data): Extern it.
8093 (coding_restore_composition): Likewise.
8094
8095 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8096 yet allocated, finish decoding with result
8097 CODING_FINISH_INSUFFICIENT_CMP.
8098 (coding_allocate_composition_data): Make it non-static.
8099 (coding_restore_composition): Likewise.
8100
797a084a
EZ
81012000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8102
8103 * charset.c (syms_of_charset): Revert last change.
8104
cf872af5
EZ
81052000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8106
8107 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8108 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8109 Handa.
cf872af5 8110
5b1ae051
EZ
81112000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8112
8113 * charset.c (syms_of_charset): Set width of character sets
8114 eight-bit-control and eight-bit-graphic to 1 column.
8115
34ec9ebe
GM
81162000-05-26 Gerd Moellmann <gerd@gnu.org>
8117
8118 * config.in (HAVE_SPEED_T): New define.
8119
8120 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8121 `extern speed_t'.
8122
dd854dc2
DL
81232000-05-26 Dave Love <fx@gnu.org>
8124
8125 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8126
8127 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8128 (Fsubr_arity): New function.
8129 (syms_of_data): Install them.
8130
ba9f8f95
KH
81312000-05-26 Kenichi Handa <handa@etl.go.jp>
8132
0f3e0672
KH
8133 * charset.c (init_charset_once): Set the table bytes_by_char_head
8134 correctly.
8135
cebefb44
KH
8136 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8137 the default fontset to what Emacs uses by default.
0f3e0672
KH
8138 (check_registry_encoding): This function deleted.
8139 (Fset_fontset_font): Remove the adhoc condition for the default
8140 fontset. Allow cons in FONTNAME.
cebefb44 8141
0f3e0672
KH
8142 * fns.c (map_char_table): Ignore char-table entries for
8143 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8144
7a18af49
KR
81452000-05-25 Ken Raeburn <raeburn@gnu.org>
8146
8147 * emacs.c (main): Initialize keyboard syms before initializing
8148 window code, so face names are available.
8149
d2af47df
SM
81502000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8151
8152 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8153 of an anchor at the beginning of a shy-group.
8154
fc6a6a4e
GM
81552000-05-25 Gerd Moellmann <gerd@gnu.org>
8156
8157 * xdisp.c (handle_invisible_prop): Don't try to skip over
8158 invisible text if end of text is already reached.
8159
005f0d35
DL
81602000-05-25 Dave Love <fx@gnu.org>
8161
02513cdd
DL
8162 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8163
005f0d35
DL
8164 * coding.c (encode_eol): Add null statement after label.
8165
89f6ca4e
EZ
81662000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8167
8168 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8169 2000-05-20.
8170
a4e1759e
KH
81712000-05-25 Kenichi Handa <handa@etl.go.jp>
8172
8173 * ccl.c (ccl_driver): Fix previous change.
8174
eacfd7fe
KH
81752000-05-25 Kenichi Handa <handa@etl.go.jp>
8176
46ab33a9
KH
8177 * coding.c (run_pre_post_conversion_on_str): Set point to the
8178 beginning of buffer before calling coding->post_read_conversion.
8179 (decode_coding_string): Give correct args to
8180 run_pre_post_conversion_on_str.
8181 (encode_coding_string): Likewise.
8182
eacfd7fe
KH
8183 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8184 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8185 eight-bit-graphic correctly.
8186
f8569325
DL
81872000-05-24 Kenichi HANDA <handa@etl.go.jp>
8188
8189 * fileio.c (Finsert_file_contents): Even if a file is not found,
8190 execute codes for setting up coding system. Call
8191 after-insert-file-functions unconditionally.
8192
04545643
GM
81932000-05-24 Gerd Moellmann <gerd@gnu.org>
8194
8195 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8196 BSD_PGRPS are not defined.
8197
747d90ea
KH
81982000-05-24 Kenichi Handa <handa@etl.go.jp>
8199
8200 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8201 DESCRIPTION.
8202 (syms_of_charset): Avoid building same strings.
8203
716e3b88
GM
82042000-05-23 Gerd Moellmann <gerd@gnu.org>
8205
8206 * lread.c (Fload): Add a comment about the meaning of
8207 Vuser_init_file being t.
8208
8209 * puresize.h (BASE_PURESIZE): Increase to 675000.
8210
8211 * s/gnu-linux.h (setpgrp): Don't define it here because this
8212 prevents compilation on GNU/Linux systems with glib 2.2.
8213
8214 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8215 as setpgid.
427ec082 8216
9aeb39fa
EZ
82172000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8218
8219 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8220 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8221 version.
8222 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8223
29ced61b
KH
82242000-05-23 Kenichi Handa <handa@etl.go.jp>
8225
52283633 8226 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8227
3d80f24d
KH
8228 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8229
52283633 8230 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8231
29ced61b
KH
8232 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8233
d7e00792
KH
82342000-05-22 Kenichi Handa <handa@etl.go.jp>
8235
c9d80d38
KH
8236 * keyboard.c (read_char): Allow character codes 128..255 to be
8237 handled by input-method-function.
8238
d7e00792
KH
8239 * insdel.c (adjust_markers_for_replace): Fix previous change.
8240 (adjust_after_replace): If PREV_TEXT is nil, call
8241 adjust_markers_for_insert, not adjust_markers_for_replace.
8242
087121cc 82432000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8244
087121cc
GM
8245 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8246 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8247 [HAVE_GRANDPT]: Define.
8248 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8249
8250 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8251 like SYSV_PTYS.
8252
8253 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8254
8255 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8256
c9671f81
KH
82572000-05-20 Kenichi Handa <handa@etl.go.jp>
8258
8259 The following changes are to handle 8-bit characters in a
8260 multibyte buffer/string without facing with byte combining
8261 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8262 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8263
8264 * Makefile.in (fns.o): Depend on charset.h.
8265
8266 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8267 convert it to unibyte.
8268 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8269
8270 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8271 apparent char boundary.
8272 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8273 0x80..0x9F to/from multibyte form.
8274
8275 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8276 to unibyte.
8277
8278 * callproc.c (Fcall_process): Always encode an argument string if
8279 it is multibyte. Setup src_multibyte and dst_multibyte members of
8280 process_coding properly.
ce75fd23 8281
c9671f81
KH
8282 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8283 SPLIT_NON_ASCII_CHAR.
8284
8285 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8286 as is.
8287 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8288
52283633 8289 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8290 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8291 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8292 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8293 and eight-bit-graphic.
8294 (char_to_string): Likewise. Signal an error for too large
8295 character code.
8296 (char_printable_p): Return 0 for 8-bit characters.
8297 (update_charset_table): Update iso_charset_table only when a final
8298 character is non-negative.
8299 (find_charset_in_text): Renamed from find_charset_in_str.
8300 Arguments and return value changed. Callers changed.
8301 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8302 be -1 if CHARSET is used only internally.
8303 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8304 eight-bit-graphic.
8305 (Fcharset_after): Simplified.
8306 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8307 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8308 (multibyte_chars_in_text): Simplified by assuming there's no
8309 invalid multibyte sequence.
52283633
SM
8310 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8311 (str_as_unibyte): New functions.
8312 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8313 (init_charset_once): Initialization for
8314 LEADING_CODE_8_BIT_CONTROL.
8315 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8316 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8317 eight-bit-control and eight-bit-graphic.
8318
52283633
SM
8319 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8320 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8321 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8322 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8323 (CHARSET_REVERSE_CHARSET): Likewise.
8324 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8325 eight-bit-graphic.
8326 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8327 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8328 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8329 encounter an invalid multibyte sequence.
8330 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8331 sequence is always valid.
8332 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8333 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8334 (CHAR_STRING): For 8-bit characters, call char_to_string.
8335 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8336 multibyte sequence is always valid.
8337 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8338 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8339 (str_as_unibyte): Extern them.
c9671f81 8340 (BCOPY_SHORT): Fix a bug.
52283633 8341 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8342 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8343 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8344 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8345
bd4bde7f 8346 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8347 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8348 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8349 (EMIT_BYTES): New macros.
8350 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8351 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8352 macros deleted.
8353 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8354 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8355 check the validity of multibyte sequence.
8356 (decode_coding_emacs_mule): New function.
8357 (encode_coding_emacs_mule): New macro.
8358 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8359 the source.
8360 (DECODE_ISO_CHARACTER): Just return a character code.
8361 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8362 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8363 EMIT_CHAR to produced decoded characters. Exit the loop only by
8364 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8365 block here.
8366 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8367 only position codes for an invalid character.
8368 (encode_designation_at_bol): Return new destination pointer. 5th
8369 arg DSTP is changed to DST.
8370 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8371 from the source by ONE_MORE_CHAR. Don't handle the case of last
8372 block here.
8373 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8374 macros deleted.
52283633
SM
8375 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8376 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8377 TWO_MORE_BYTES to fetch a byte from the source.
8378 (encode_eol): Pay attention to coding->src_multibyte.
8379 (detect_coding, detect_eol): Preserve members src_multibyte and
8380 dst_multibyte.
8381 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8382 (encoding_buffer_size): Set magnification to 3 for all coding
8383 systems that require encoding.
8384 (ccl_coding_driver): For decoding, be sure that the result is
8385 valid multibyte sequence.
8386 (decode_coding): Initialize coding->errors and coding->result.
8387 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8388 and raw-text, always call decode_eol. Handle the case of last
8389 block here. If not coding->dst_multibyte, convert the resulting
8390 sequence to unibyte.
8391 (encode_coding): Initialize coding->errors and coding->result.
8392 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8393 and raw-text, always call encode_eol. Handle the case of last
8394 block here.
8395 (shrink_decoding_region, shrink_encoding_region): Detect cases
8396 that we can't skip data more rigidly.
8397 (code_convert_region): Setup src_multibyte and dst_multibyte
8398 members of coding. For decoding, if the buffer is multibyte,
8399 convert the source sequence to unibyte in advance. For encoding,
8400 if the buffer is multibyte, convert the resulting sequence to
8401 multibyte afterward.
8402 (run_pre_post_conversion_on_str): New function.
8403 (code_convert_string): Deleted and divided into the following two.
8404 (decode_coding_string, encode_coding_string): New functions.
8405 (code_convert_string1, code_convert_string_norecord): Call one of
8406 above.
8407 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8408 MAKE_NON_ASCII_CHAR.
52283633
SM
8409 (Fset_terminal_coding_system_internal)
8410 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8411 and dst_multibyte members.
8412 (init_coding_once): Initialize iso_code_class with new enum
8413 ISO_control_0 and ISO_control_1.
8414
8415 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8416 devided into ISO_control_0 and ISO_control_1.
8417 (struct coding_system): New members src_multibyte, dst_multibyte,
8418 errors, and result. Delete member fake_multibyte.
8419 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8420 nonzero.
8421 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8422 nonzero.
8423
8424 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8425 (Faset): Likewise.
8426
8427 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8428 multibyte form.
8429 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8430 combining occurs.
8431 (Ftranspose_region): Delete codes for handling byte combining.
8432
8433 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8434 dst_multibyte members of coding. On handling REPLACE on unibyte
8435 buffer, convert the result of decode_coding to unibyte. On
8436 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8437 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8438 multibyteness of the source (buffer or string).
8439
8440 * fns.c (concat): Handle 8-bit characters correctly.
8441 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8442 unibyte in the result.
8443 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8444 valid multibyte form in the result.
8445 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8446 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8447 return -1, signal an error.
8448 (base64_encode_1): New arg MULTIBYTE. Get each character by
8449 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8450 character is found, return -1.
8451 (Fbase64_decode_region): Delete codes for handling byte-combining.
8452 Treat each decoded byte as a unibyte character.
8453 (Fbase64_decode_string): Return unibyte string.
8454 (Fcompare_strings, concat, string_byte_to_char): Use
8455 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8456 FETCH_STRING_CHAR_ADVANCE.
8457 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8458 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8459
8460 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8461 SPLIT_NON_ASCII_CHAR.
8462 (fontset_ref_via_base, fontset_set): Likewise
8463
8464 * insdel.c (adjust_markers_for_record_delete): Deleted.
8465 (adjust_markers_for_insert): Argument changed. Caller changed.
8466 (adjust_markers_for_replace): Likewise.
52283633
SM
8467 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8468 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8469 (copy_text): Delete unused local varialbe c_save. For converting
8470 to multibyte, be sure to make all 8-bit characters in valid
8471 multibyte form.
8472 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8473 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8474 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8475 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8476 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8477 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8478 handling byte combining.
8479 (adjust_before_replace): Deleted.
427ec082 8480
c9671f81
KH
8481 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8482 SPLIT_NON_ASCII_CHAR.
8483 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8484 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8485 (Fkey_description): Likewise.
8486
8487 * lread.c (read1): On reading multibyte string, be sure to make
8488 all 8-bit chararacters in valid multibyte form.
8489 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8490
8491 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8492 unconditionally.
8493
8494 * process.c (Fstart_process): GCPRO current_dir before calling
8495 Ffind_operation_coding_system. Encode arguments here.
8496 (create_process): Don't encode arguments here. Setup
8497 src_multibyte and dst_multibyte members of struct coding.
8498 (read_process_output): Setup src_multibyte and dst_multibyte
8499 members of struct coding. If the output is to multibyte buffer,
8500 always decode the output of the process. Adjust the
52283633 8501 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8502 (send_process): Setup coding->src_multibyte according to the
8503 multibyteness of the source.
8504
52283633 8505 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8506 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8507 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8508
52283633 8509 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8510
8511 * w16select.c (Fw16_set_clipboard_data): Setup members
8512 src_multibyte and dst_multibyte of coding. Adjusted for the
8513 change for find_charset_in_str.
8514 (Fw16_get_clipboard_data): Likewise.
8515
8516 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8517 dst_multibyte of coding.
8518 (x_to_w32_font): Likewise.
8519
8520 * w32select.c (Fw32_set_clipboard_data): Setup members
8521 src_multibyte and dst_multibyte of coding. Adjusted for the
8522 change for find_charset_in_str.
8523 (Fw32_get_clipboard_data): Likewise.
8524
8525 * xdisp.c (get_next_display_element): Handle 8-bit characters
8526 correctly.
52283633
SM
8527 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8528 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8529
8530 * xselect.c (selection_data_to_lisp_data): Setup members
8531 src_multibyte and dst_multibyte of coding. Adjusted for the
8532 change for find_charset_in_str.
8533 (lisp_data_to_selection_data): Likewise.
8534
5f64c9e0
GM
85352000-05-19 Gerd Moellmann <gerd@gnu.org>
8536
52283633 8537 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8538
5f64c9e0
GM
8539 * dispextern.h (Vimage_types): Add extern declaration.
8540
8541 * xdisp.c (Vimage_types): Moved here from xfns.c.
8542 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8543
8544 * xfns.c (Vimages_types): Moved to xdisp.c.
8545 (syms_of_xfns): Move `image-types' to xdisp.c.
8546
8547 * w32fns.c (Vimage_types): Removed.
8548 (syms_of_w32fns): Remove `image-types'.
8549
813086ea
KH
85502000-05-18 Kenichi Handa <handa@etl.go.jp>
8551
8552 * fns.c (map_char_table): Pay attention to character number of
8553 charset. Check the validity of charset at the first level. For
8554 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8555 the default value.
8556
8557 * fontset.c: Include "buffer.h".
8558 (fs_load_font): If the face has fontset, record the face ID in
8559 that fontset.
8560 (Finternal_char_font): New function.
8561 (accumulate_font_info): New function.
8562 (Ffontset_info): Rewritten for the new fontset implementation.
8563 (syms_of_fontset): Register Vdefault_fontset in the first element
8564 of Vfontset_table. Include Vdefault_fontset in
8565 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8566 function.
8567
bdaebbf0
DL
85682000-05-16 Dave Love <fx@gnu.org>
8569
8570 * m/iris5d.h: Deleted -- unused.
8571
cb613bb8
GM
85722000-05-16 Gerd Moellmann <gerd@gnu.org>
8573
b15f3b77
GM
8574 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8575 `invalid' instead of `illegal'.
8576
8577 * indent.c (Fmove_to_column): When ending within a tab, insert
8578 spaces first so that markers at the end of the tab get adjusted.
8579
835c1b36
GM
8580 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8581 buffer list that wasn't selected in that frame.
8582
cb613bb8
GM
8583 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8584 is needed on mescaline, use a 2 char prefix, and call
8585 make_temp_name with second arg non-zero.
8586
8587 * fileio.c (make_temp_name): New function, extracted from
8588 Fmake_temp_name.
8589 (Fmake_temp_name): Use it.
8590
f685bea9
EZ
85912000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8592
52283633 8593 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8594
a1b8d58b
GM
85952000-05-15 Gerd Moellmann <gerd@gnu.org>
8596
8597 * Makefile.in (lisp): Add env.elc.
8598
8599 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8600
a265079f
GM
86012000-05-12 Gerd Moellmann <gerd@gnu.org>
8602
8603 * search.c (Freplace_match): Handle case of `\N' in the
8604 replacement when there's no group N.
8605
da4496b6
GM
86062000-05-11 Gerd Moellmann <gerd@gnu.org>
8607
0ace421a
GM
8608 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8609 of the message to message_dolog.
8610
1172eb8d
GM
8611 * keyboard.c (read_char): Don't clear current message for help
8612 events; let the code handling help events handle this. Change
8613 code detecting help events that should be ignored.
8614
da4496b6
GM
8615 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8616 we're interating over a string.
8617
0623e40f
DL
86182000-05-09 Dave Love <fx@gnu.org>
8619
8620 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8621 that offset before writing. Move gcpro region past call of
8622 Ffile_regular_p.
8623
bae2503b
DL
86242000-05-04 Dave Love <fx@gnu.org>
8625
8626 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8627
ec82fb2f
GM
86282000-05-04 Gerd Moellmann <gerd@gnu.org>
8629
8630 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8631 of inserted characters when BUF equals the current buffer, and PT
8632 is in front of or equal to FROM.
8633
cbf18892
GM
86342000-05-03 Gerd Moellmann <gerd@gnu.org>
8635
4ff40dd0
GM
8636 * xdisp.c (handle_single_display_prop): If display property value
8637 is invalid, or something not supported on the frame, restore
8638 iterator's position to what it was initially. Make sure to return
8639 0 for invalid and unsupported property values.
8640
cbf18892
GM
8641 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8642 that x_per_char_metric returns null.
8643
1b0672c3
GM
86442000-05-02 Gerd Moellmann <gerd@gnu.org>
8645
576da55d
GM
8646 * xterm.h (struct face): Add forward declaration.
8647 (struct image): Ditto.
8648 (image_ascent): Add prototype.
8649
8650 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8651 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8652 image_ascent instead of using IMAGE_ASCENT.
8653
8654 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8655 (IMAGE_ASCENT): Removed.
8656
8657 * xfns.c (Qcenter): New variable.
8658 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8659 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8660 (image_ascent): New function.
8661 (lookup_image): Recognize `:ascent center'.
8662 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8663 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8664 (xbm_load): Don't set image's ascent here.
8665 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8666 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8667 check ascent values here.
8668 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8669 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8670 (syms_of_xfns): Initialize Qcenter.
8671
1b0672c3
GM
8672 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8673 to the limits, increase the limits.
8674
0d7811ed
KH
86752000-05-01 Kenichi Handa <handa@etl.go.jp>
8676
8677 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8678 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8679
a943a5ca
GM
86802000-04-28 Gerd Moellmann <gerd@gnu.org>
8681
8682 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8683 taller than the window.
8684
5dba1e29
KH
86852000-04-28 Kenichi Handa <handa@etl.go.jp>
8686
8687 * xfaces.c (realize_x_face): Fix the argument of the second
8688 xassert. BASE_FACE may not be a face for ASCII.
8689
353964e3
GM
86902000-04-27 Gerd Moellmann <gerd@gnu.org>
8691
c76e04a8
GM
8692 * print.c (print_object): Treat print-length < 0 as nil.
8693
8694 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8695
8696 * s/freebsd.h (TERMCAP_OBJ): Removed.
8697 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8698
8699 * lread.c (read1): Don't treat period followed by certain
8700 characters as symbol start.
8701
8702 * xfns.c (slurp_file): New function.
8703 (xbm_image_p): Handle case of in-memory XBM files.
8704 (xbm_scan): Rewritten to work on memory buffers instead of files.
8705 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8706 Work on memory buffers instead of files. If DATA is null test
8707 if buffer looks like an in-memory XBM file.
8708 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8709 memory buffers instead of files.
8710 (xbm_file_p): New function.
8711 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8712
353964e3
GM
8713 * lread.c (end_of_file_error): New function.
8714 (read1): Call it instead of signaling `end-of-file' directly.
8715
427ec082 8716 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8717 with Fprinc instead of Fprin1.
8718
24d744ac
KR
87192000-04-26 Ken Raeburn <raeburn@gnu.org>
8720
8721 * window.c (freeze_window_start): Check that minibuffer scroll
8722 window isn't nil before extracting the window structure pointer
8723 from it.
8724
8725 * undo.c (record_delete): If we hit the end of the undo list, stop
8726 picking elements apart.
8727
7464346d
GM
87282000-04-26 Gerd Moellmann <gerd@gnu.org>
8729
8730 * xdisp.c (display_line): If lines are continued, restore
8731 iterator's ascent/descent information to the values before the
8732 first glyph not fitting on the line.
8733
612839b6
GM
87342000-04-25 Gerd Moellmann <gerd@gnu.org>
8735
8736 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8737 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8738
8739 * dispnew.c (increment_matrix_positions): Renamed from
8740 increment_glyph_matrix_buffer_positions.
8741 (increment_row_positions): Renamed from
8742 increment_glyph_row_buffer_positions.
8743
8744 * dispextern.h: Change names of renamed functions from dispnew.c
8745 in prototypes.
8746
cc181e95
GM
87472000-04-24 Gerd Moellmann <gerd@gnu.org>
8748
abfcc168
GM
8749 * fileio.c (Fdo_auto_save): Create directories for auto-save
8750 list file if necessary.
8751
cc181e95
GM
8752 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8753 from buffer or frame.
8754 (automatic_hscrolling_p): New variable.
8755 (hscroll_windows): Scroll windows horizontally only if automatic
8756 hscrolling is allowed.
8757 (syms_of_xdisp): New variable `automatic-hscrolling'.
8758
8759 * frame.h (struct frame): Add member extra_line_spacing.
8760
8761 * xfns.c (x_set_line_spacing): New function.
8762 (Fx_create_frame): Set line spacing from resources.
8763 (Qline_spacing): New variable.
8764 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8765
cc181e95
GM
8766 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8767
8768 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8769 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8770 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8771 extra_line_spacing from default value.
8772 (init_buffer_once): Initialize default value of extra_line_spacing.
8773
8774 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8775 and extra3.
8776
8777 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8778 prompt_width. Add extra line spacing.
8779
8780 * term.c (produce_glyphs): Remove reference to struct it's
8781 prompt_width.
8782
8783 * dispextern.h (struct it): Remove member prompt_width, add
8784 extra_line_spacing.
8785
58827478
GM
87862000-04-22 Gerd Moellmann <gerd@gnu.org>
8787
8788 * dispnew.c (update_frame_line): When writing a whole line, make
8789 sure cursor is in the right row afterwards, otherwise a use of
8790 capability `ch' in cmgoto might leave the cursor in the row below.
8791
25a87f42
GM
87922000-04-21 Gerd Moellmann <gerd@gnu.org>
8793
8794 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8795
8796 * keyboard.c (timer_check): Fix typo in comment.
8797
54edf5c2
KH
87982000-04-21 Kenichi Handa <handa@etl.go.jp>
8799
8800 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8801 name change: ch -> character.
8802
3a64eef5
GM
88032000-04-20 Gerd Moellmann <gerd@gnu.org>
8804
8805 * keyboard.c (echo_message_buffer): New variable.
8806 (echo_now): Set echo_message_buffer to the echo area buffer used
8807 to display the echo.
8808 (cancel_echoing): Reset echo_message_buffer to nil.
8809 (read_char): Code rewritten that handles canceling an echo or
8810 echoing a dash, respectively.
8811
8812 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8813 directory doesn't exist.
8814
6142fdcb
DL
88152000-04-19 Dave Love <fx@gnu.org>
8816
8817 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8818 (concat): Don't allow numeric args.
8819 (Fconcat): Doc change.
6142fdcb 8820
ac6b5352
SM
88212000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8822
8823 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8824 instead define end_match(1|2) more carefully.
8825 Use GET_CHAR_BEFORE_2 for `begline'.
8826
cb9215e4
GM
88272000-04-19 Gerd Moellmann <gerd@gnu.org>
8828
5e3dac3f
GM
8829 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8830 on 64-bit systems where NULL is defined as `0'.
8831
8832 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8833 the `variable argument list' to make it work on Alpha.
8834
cb9215e4
GM
8835 * m/alpha.h (_LP64) [!_LP64]: Define.
8836 (ORDINARY_LINK): Define for NetBSD.
8837
8838 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8839
f532dca0
DL
88402000-04-19 Dave Love <fx@gnu.org>
8841
c750667e
DL
8842 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8843 change.
8844
8845 * Makefile.in (LIBS): Don't use.
8846 (GETLOADAVG_OBJ): Define again.
8847 (otherobj): Add GETLOADAVG_OBJ.
8848
f532dca0
DL
8849 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8850
1c7e22fd
GM
88512000-04-18 Gerd Moellmann <gerd@gnu.org>
8852
f6d3257b
GM
8853 * lread.c (read_filtered_event): Cancel and start busy cursor.
8854
427ec082 8855 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8856 that the per-character metrics may be null.
8857
e10f64e7
GM
88582000-04-17 Gerd Moellmann <gerd@gnu.org>
8859
0daee095
GM
8860 * buffer.c (clone_per_buffer_values): New function.
8861 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8862 clone_per_buffer_values if CLONE is not nil.
8863
e10f64e7
GM
8864 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8865
38687d43
DL
88662000-04-16 Dave Love <fx@gnu.org>
8867
8868 * Makefile.in: Remove obsolete localcpp stuff.
8869 (GETLOADAVG_OBJ): Don't define.
8870 (obj): Move LIBOBJS...
8871 (otherobj): ... to here.
8872 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8873 whitespace-only lines after the continuation (Irix).
8874
c21c7262
GM
88752000-04-14 Gerd Moellmann <gerd@gnu.org>
8876
8877 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8878
8879 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8880
314767c0
DL
88812000-04-14 Dave Love <fx@gnu.org>
8882
8883 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8884 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8885 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8886 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8887 NLIST_STRUCT.
8888
8889 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8890 autoconfiscated HAVE_GETLOADAVG.
8891
8892 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8893 BROKEN_MKTIME.
8894
a2522dca
GM
88952000-04-14 Gerd Moellmann <gerd@gnu.org>
8896
8897 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8898 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8899
33744b5d
DL
89002000-04-14 Dave Love <fx@gnu.org>
8901
c21c7262 8902 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8903 (INTERVAL_SRC): Convert to make variable.
8904 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8905 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8906 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8907 add LIBOBJS.
8908 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8909 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8910 (shortlisp): Add facemenu, float-sup, frame.
8911 (SOME_MACHINE_LISP): Remove them from here.
8912 (LIBES): Change unused LDLIBS to autoconf LIBS.
8913
8914 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8915
9d3d5916
KH
89162000-04-14 Kenichi Handa <handa@etl.go.jp>
8917
8918 * composite.c (update_compositions): If FROM and TO are not in a
8919 valid range, do nothing.
8920
198e3c7a
GM
89212000-04-13 Gerd Moellmann <gerd@gnu.org>
8922
52283633 8923 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8924
52283633 8925 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8926
8927 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8928 as TERMCAP_OBJ.
8929
055a28c9
EZ
89302000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8931
8932 * fileio.c (a_write): Remove redundant semi-colons.
8933 (e_write): Return -1 if failed to write all the data.
8934 This fixes the changes made at 1999-12-15.
8935
f5c75033
DL
89362000-04-12 Dave Love <fx@gnu.org>
8937
8938 * fns.c (mapcar1): Test for null vals to support mapc.
8939 (Fmapc): New function.
8940
0c3cfc51
EZ
89412000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8942
8943 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8944 (IT_frame_up_to_date): Support the buffer local value of
8945 cursor-type, if defined.
8946
33465a31
DL
89472000-04-10 Dave Love <fx@gnu.org>
8948
8949 * editfns.c (preceding-char, following-char): Doc fix.
8950
6ed56568
KR
89512000-04-10 Ken Raeburn <raeburn@gnu.org>
8952
8953 * Makefile.in (temacs): Revert 2000-03-12 change.
8954
7cf80d4e
JR
89552000-04-10 Jason Rumney <jasonr@gnu.org>
8956
8957 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8958
34f3f342
GM
89592000-04-10 Gerd Moellmann <gerd@gnu.org>
8960
1a1b1895
GM
8961 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8962 area buffer, if it's not set up yet.
8963
34f3f342
GM
8964 * indent.c (compute_motion): Set immediate_quit.
8965
be0dbdab
GM
89662000-04-09 Gerd Moellmann <gerd@gnu.org>
8967
52283633 8968 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8969 (realize_tty_face): Suppress boldness if colors are the inverse of
8970 the default colors, and tty_suppress_bold_inverse_default_colors_p
8971 is set.
8972 (Ftty_suppress_bold_inverse_default_colors): New function.
8973 (syms_of_xfaces): Defsubr it.
8974
be0dbdab
GM
8975 * buffer.c (Frestore_buffer_modified_p): New function.
8976 (syms_of_buffer): Defsubr it.
8977
e8413c3b
KR
89782000-04-08 Ken Raeburn <raeburn@gnu.org>
8979
87f67317
KR
8980 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8981 charset id (int) argument, not a charset (Lisp_Object).
8982
e8413c3b
KR
8983 * coding.h (code_convert_string): Declare.
8984 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8985 object, as the fourth argument to code_convert_string.
8986
52283633 8987 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8988 (Fset_fontset_font): Use EQ to compare lisp objects.
8989
7c752c80
KR
89902000-04-05 Ken Raeburn <raeburn@gnu.org>
8991
c0333abc
KR
8992 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8993 a pointer that looks like a lisp object.
8994 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8995 zero, instead see whether it's an integer object, since they can't
8996 have intervals.
8997 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8998
52283633
SM
8999 * dispnew.c (allocate_matrices_for_frame_redisplay)
9000 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
9001 to convert between (unsigned) int values and lisp integers.
9002 * keyboard.c (read_key_sequence): Likewise.
9003 * lread.c (substitute_object_recurse): Likewise.
9004 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
9005 * minibuf.c (do_completion, Fminibuffer_complete_word)
9006 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
9007 * term.c (produce_special_glyphs): Likewise.
9008
9009 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
9010 * print.c (print_preprocess, print_object): Likewise.
9011
9012 * search.c (compile_pattern): Use NILP when checking for nil.
9013
74e49b38
KR
9014 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
9015 __OPTIMIZE__]: Provide a GNU C macro version that handles
9016 lisp-object unions.
9017 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
9018 field, to better cope with ENABLE_CHECKING and calls that modify a
9019 Lisp_Object using its old value.
9020
685e5ed2
GM
90212000-04-04 Gerd Moellmann <gerd@gnu.org>
9022
c407c570
GM
9023 * window.c (compare_window_configurations): Signal an error
9024 if parameters C1 or C2 aren't window configurations.
9025
685e5ed2
GM
9026 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9027 AFTER_POTENTIAL_GC calls around calls to functions that can
9028 signal an error and thus invoke the debugger.
9029
587a49ab
GM
90302000-04-03 Gerd Moellmann <gerd@gnu.org>
9031
62f20204
GM
9032 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9033 an error if decoding fails.
9034
587a49ab
GM
9035 * keyboard.c (lispy_mouse_names): Variable removed.
9036 (Vlispy_mouse_stem): New variable.
9037 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9038 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9039 for any mouse button number. Increase size of mouse_syms and
9040 button_down_location as needed. Call modify_event_symbol with
9041 different arguments.
9042 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9043 Call modify_event_symbol with different arguments.
9044 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9045 for any button number. Call modify_event_symbol with different
9046 arguments.
9047 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9048 Accept a string for NAME_ALIST_OR_STEM.
9049
9050 * lisp.h (larger_vector): Add prototype.
9051
9052 * fns.c (larger_vector): Make externally visible.
9053
9054 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9055
2d1675e4
SM
90562000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9057
9058 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9059 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9060 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9061 we are between str1 and str2.
9062 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9063 (PATFETCH): Use `TRANSLATE'.
9064 (PATFETCH_RAW): Fetch multibyte char if applicable.
9065 (PATUNFETCH): Remove.
9066 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9067 When writing a char, write it directly into the pattern buffer rather
9068 than going needlessly through a temp char-array.
9069 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9070 multibyte magic and remove the useless `#ifdef emacs'.
9071 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9072 buffer.
9073
9074 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9075 conditional on `emacs'.
9076
9077 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9078
cc2d8c6b
KR
90792000-04-01 Ken Raeburn <raeburn@gnu.org>
9080
9081 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9082 non-union-type versions of XMARK and friends here, because XMARK
9083 and friends won't work on an integer field if NO_UNION_TYPE is not
9084 defined.
52283633 9085 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9086
52283633 9087 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9088 (syms_of_composite): Delete local var NARGS, pass an int as first
9089 argument to Fmake_hash_table.
9090
2387b382
KR
9091 * editfns.c (text_property_stickiness): Use NILP to test
9092 Lisp_Object boolean value.
9093 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9094 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9095 problems reading from and changing the same lisp value in an
9096 XSETSTRING call.
9097
27660e89
GM
90982000-04-01 Gerd Moellmann <gerd@gnu.org>
9099
9100 * term.c (TN_no_color_video): New variable.
9101 (term_init): Intitialize TN_no_color_video.
9102 (enum no_color_bit): New enumeration.
9103 (MAY_USE_WITH_COLORS_P): New macro.
9104 (turn_on_face): Use it to determine if attributes may be used
9105 combined with colors.
9106
3578db3c
KR
91072000-04-01 Ken Raeburn <raeburn@gnu.org>
9108
9109 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9110 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9111 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9112 proper accessor macros.
9113 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9114 (grow_mini_window): Fix typo getting int value of root->height.
9115
6fc556fd
KR
9116 * xdisp.c (compute_string_pos): Fix order of arguments to
9117 string_pos_nchars_ahead.
9118 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9119 count arg to variable-arg routines like Frun_hook_with_args and
9120 Fformat.
587a49ab
GM
9121 (back_to_previous_visible_line_start)
9122 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9123 fixed-arg routines like Fget_char_property and Fmake_string.
9124 (reconsider_clip_changes): Use XINT when comparing integer lisp
9125 objects, or passing them as int arguments.
587a49ab
GM
9126 (mark_window_display_accurate, insert_left_trunc_glyphs)
9127 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9128 storing or passing integer values as lisp objects.
9129 (set_cursor_from_row, highlight_trailing_whitespace): Use
9130 INTEGERP, not implicit test against zero, for glyph object.
9131 (try_window_id): Don't use make_number when we want an int value.
9132
9133 * xfaces.c (xlfd_symbolic_value): Make last argument a
9134 Lisp_Object, to be consistent with callers.
9135 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9136 (lface_hash): Apply XFASTINT to lisp values before folding in.
9137
9138 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9139 fill in window width and height. Pass an int, not a lisp object,
9140 as first arg to Finsert.
9141
6e7b2457
GM
91422000-04-01 Gerd Moellmann <gerd@gnu.org>
9143
610d841e
GM
9144 * xfaces.c (realize_basic_faces): Block input while realizing
9145 the faces.
9146
6e7b2457
GM
9147 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9148
9149 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9150
aa110c0c
GM
91512000-03-31 Gerd Moellmann <gerd@gnu.org>
9152
9153 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9154 or ASCII, handle case that per-char metric is null.
aa110c0c 9155
8801a864
KR
91562000-03-30 Ken Raeburn <raeburn@gnu.org>
9157
c6129d7e
KR
9158 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9159
52283633
SM
9160 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9161 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9162 pointer, using eassert.
9163 * frame.h (XFRAME): Likewise.
9164
52283633
SM
9165 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9166 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9167 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9168 * data.c (set_internal): Likewise.
52283633
SM
9169 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9170 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9171 * fileio.c (auto_save_1): Likewise.
9172 * insdel.c (check_markers): Likewise.
9173 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9174 * undo.c (record_insert): Likewise.
9175 * vmsproc.c (child_sig): Likewise.
9176 * window.c (unshow_buffer, window_loop): Likewise.
9177 * xterm.c (x_erase_phys_cursor): Likewise.
9178
8e7af858
GM
91792000-03-30 Gerd Moellmann <gerd@gnu.org>
9180
9181 * xfns.c (free_image_cache): Free the cache structure itself
9182 last, after all its members have been freed.
9183
9184 * lisp.h (xstrdup): Add prototype.
9185
9186 * alloc.c (xstrdup): Moved here from xfaces.c.
9187 (allocating_for_lisp): Variable removed.
52283633 9188 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9189
9190 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9191 of Fsymbol_value.
9192 (xstrdup): Moved to alloc.c.
9193
e0b8c689
KR
91942000-03-29 Ken Raeburn <raeburn@gnu.org>
9195
b96f9fb7
KR
9196 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9197
9198 * emacs.c (main): Fix sense of no-loadup test.
9199
e0b8c689
KR
9200 * config.in (ENABLE_CHECKING): Undef.
9201
9202 * lisp.h (struct interval): Replace "parent" field with a union of
9203 interval pointer and Lisp_Object; add new bitfield to use as
9204 discriminant. Change other flag fields to bitfields.
9205 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9206 is defined and the supplied test fails, print a message and abort.
9207 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9208
9209 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9210 pointers; abort if the value looks like a lisp object.
52283633
SM
9211 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9212 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9213 Modify for new interval parent definition.
9214
52283633
SM
9215 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9216 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9217 addressable lisp object in the interval structure.
9218 (die): New function.
9219 (suppress_checking): New variable.
9220
9221 * intervals.c (interval_start_pos): Just return 0 if there's no
9222 parent object.
9223
f83c5440
GM
92242000-03-29 Gerd Moellmann <gerd@gnu.org>
9225
9226 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9227 and earlier Emacs versions.
9228
9229 * keyboard.c (Ftop_level): Cancel busy-cursor.
9230
9231 * eval.c (call_debugger): Cancel busy-cursor.
9232
fdce64ff
KH
92332000-03-29 Kenichi Handa <handa@etl.go.jp>
9234
9235 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9236 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9237
f6a3f532
SM
92382000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9239
9240 * regex.c (analyse_first): New function obtained by ripping out most
9241 of re_compile_fastmap and generalizing it a little bit so that it
9242 can also just return whether a given (sub)pattern can match the empty
9243 string or not.
9244 (regex_compile): Use `analyse_first' to decide whether the loop-check
9245 needs to be done or not for *, +, *? and +? (the loop check is costly
9246 for non-greedy repetition).
9247 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9248
e9b309ac
DL
92492000-03-28 Dave Love <fx@gnu.org>
9250
52283633 9251 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9252
e9b309ac
DL
9253 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9254
ed0767d8
SM
92552000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9256
9257 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9258 an expression.
9259 (enum re_opcode_t): Update description of succeed_n.
9260 (PATFETCH): Always define.
9261 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9262 operators, char classes, shy-groups and intervals).
9263 Optimize special cases of intervals so as to only use succeed_n and
9264 jump_n when really needed.
9265 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9266 that we don't have to handle the special cases any more.
9267 Simplify on_failure_jump handling as well.
9268
e11e7e46
JR
92692000-03-28 Jason Rumney <jasonr@gnu.org>
9270
9271 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9272
88faab89
GM
92732000-03-27 Gerd Moellmann <gerd@gnu.org>
9274
182ff242
GM
9275 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9276
9277 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9278
182ff242
GM
9279 * alloc.c (mark_maybe_object): New function.
9280 (mark_memory): Use it.
9281 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9282 (setjmp_tested_p, longjmp_done): New variables.
9283 (test_setjmp): New function.
9284 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9285 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9286
c1005d06
GM
9287 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9288 to DEC_TEXT_POS and INC_TEXT_POS.
9289
9290 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9291 with parameter MULTIBYTE_P.
9292
52283633 9293 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9294
7439e5b9 9295 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9296 buffers because it looks for multibyte character byte sequences
9297 which don't exist in unibyte text.
7439e5b9 9298
d9c545da
GM
9299 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9300
11fd416e 9301 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9302 [DEBUG_X_COLORS]: New functions.
9303 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9304
9305 * xfns.c (x_set_cursor_color): Get color reference counts right.
9306
9307 * xterm.c (x_copy_color): New function.
9308 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9309
9310 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9311 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9312 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9313 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9314 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9315 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9316 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9317 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9318 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9319 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9320
11fd416e
GM
9321 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9322 names for handling per-buffer variables.
d9c545da
GM
9323
9324 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9325 instead of MAX_BUFFER_LOCAL_VARS.
9326 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9327
9328 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9329
88faab89
GM
9330 * xfns.c (x_specified_cursor_type): New function.
9331 (x_set_cursor_type): Use it.
9332
9333 * buffer.h (struct buffer): Add cursor_type.
9334
d80f42b7
SM
93352000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9336
9337 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9338 (print_partial_compiled_pattern, re_compile_fastmap):
9339 Handle new opcode.
d80f42b7
SM
9340 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9341 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9342 executing it as well as when popping it off the stack to find infinite
9343 loops in non-greedy repetition operators.
9344
89e80928
GM
93452000-03-26 Gerd Moellmann <gerd@gnu.org>
9346
3d4ff2dd
GM
9347 * doc.c (Qfunction_documentation): New variable.
9348 (syms_of_doc): Initialize Qfunction_documentation.
9349 (Fdocumentation): If FUNCTION is a symbol with non-nil
9350 `function-documentation' property, return a documentation derived
9351 from that.
9352
bd96bd79
GM
9353 * buffer.c (syms_of_buffer): Add default-cursor-type.
9354 (init_buffer_once): Don't let cursor_type have a local value
9355 in every buffer.
9356
19d1bc27
GM
9357 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9358 on buffer-local value of cursor_type.
9359 (x_draw_bar_cursor): Add parameter WIDTH.
9360
9361 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9362 (init_buffer_once): Set default cursor_type value to t.
9363 Mark cursor_type as local everywhere.
9364 (syms_of_buffer): New per-buffer variable cursor-type.
9365
89e80928
GM
9366 * buffer.h (struct buffer): Remove member local_var_flags,
9367 add local_flags.
9368 (MAX_BUFFER_LOCAL_VARS): New macro.
9369 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9370 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9371 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9372 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9373
52283633 9374 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9375
9376 * category.c (Fset_category_table): Use new macros for per-buffer
9377 variables.
9378
9379 * buffer.c (buffer_permanent_local_flags): Make a char array.
9380 (max_buffer_local_idx): New variable.
9381 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9382 for new handling of per-buffer variables.
9383 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9384 (init_buffer_once): Initialize per-buffer vars differently.
9385 Set max_buffer_local_idx.
9386
9387 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9388 variables.
9389
52283633 9390 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9391
9392 * data.c (do_symval_forwarding, store_symval_forwarding)
9393 (find_symbol_value, set_internal, default_value, Fset_default)
9394 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9395 per-buffer variables.
9396
9397 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9398
9a0dd3dc
GM
93992000-03-24 Gerd Moellmann <gerd@gnu.org>
9400
b68c375f
GM
9401 * xterm.c (x_term_init): Unblock input around call1 of
9402 Qvendor_specific_keysyms.
9403
9a0dd3dc
GM
9404 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9405 (find_defun_start): Consider an open parenthesis in column 0
9406 a defun start only if open_paren_in_column_0_is_defun_start is set.
9407 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9408
7973e637
SM
94092000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9410
9411 * eval.c (Fautoload): Add entry in load-history (if after dump).
9412 * lread.c (load-history): Update docstring.
9413
39210e90
GM
94142000-03-24 Gerd Moellmann <gerd@gnu.org>
9415
9416 * indent.c (Fvertical_motion): Always use the current buffer.
9417 Temporarily change the window's buffer, if necessary.
9418
72db3ab5
GM
94192000-03-23 Gerd Moellmann <gerd@gnu.org>
9420
9421 * xterm.c (fast_find_position): Make sure not to consider rows
9422 not visible in the window.
9423
990b2375
SM
94242000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9425
9426 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9427 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9428
ff4df011
JR
94292000-03-22 Jason Rumney <jasonr@gnu.org>
9430
9431 * w32menu.c (single_submenu): Set help string to NULL if none.
9432 (w32_menu_show): Set help string correctly.
9433 (add-menu-item): Set help string in MIIM_DATA for menu item.
9434 Load SetMenuItemInfoA explicitly.
9435 (w32_menu_display_help): New function.
427ec082 9436
ff4df011
JR
9437 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9438 (QCdata): Moved to xdisp.c.
9439
9440 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9441 (Vw32_charset_to_codepage_alist): Removed.
9442 (Vw32_charset_info_alist): New variable.
52283633
SM
9443 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9444 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9445 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9446 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9447 with TODO comment.
9448 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9449 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9450 Define Vw32_charset_info_alist and w32_charset symbols.
9451
94522000-03-22 Jason Rumney <jasonr@gnu.org>
9453
9454 * makefile.nt (w32bdf.obj): Update dependencies.
9455
9456 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9457
9458 * w32fns.c: Include fontset.h after dispextern.h.
9459 (Fx_create_frame): Do not create fontset.
9460 (w32_load_system_font): Doc fix.
9461 (Fx_close_connection): Free full_name if it is not shared.
9462
9463 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9464 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9465 Callers updated.
ff4df011
JR
9466 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9467 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9468 (w32_font_is_double_byte): New function, needs body.
9469 (x_append_glyph): Set glyph->glyph_not_available_p.
9470 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9471 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9472 character, convert it to a unibyte character.
9473 (struct glyph_string): Delete member `charset'.
9474 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9475 calculating it is found.
9476 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9477 the case that per char metric is not available correctly.
9478 (x_fill_glyph_string): Handle the case that the specific glyph is
9479 not available correctly.
9480 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9481 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9482 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9483 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9484 fontset. Don't call FS_LOAD_FONT.
9485
439d5cb4
KR
94862000-03-22 Ken Raeburn <raeburn@gnu.org>
9487
9488 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9489 (INT_LISPLIKE): New macro.
9490 (NULL_INTERVAL_P): Use it.
52283633
SM
9491 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9492 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9493 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9494
9495 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9496 explicit references to "parent" field of struct interval and
9497 associated unclean type conversions.
52283633
SM
9498 * intervals.c (create_root_interval, root_interval, rotate_right)
9499 (rotate_left, balance_possible_root_interval, split_interval_right)
9500 (split_interval_left, interval_start_pos, find_interval)
9501 (next_interval, previous_interval, update_interval)
9502 (adjust_intervals_for_insertion, delete_node, delete_interval)
9503 (adjust_intervals_for_deletion, merge_interval_right)
9504 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9505 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9506 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9507 Likewise.
9508 * syntax.c (update_syntax_table): Likewise.
9509
9510 * intervals.c (reproduce_tree_obj): New function, like
9511 reproduce_tree but takes a Lisp_Object for the parent. Declare
9512 with prototype.
9513 (graft_intervals_into_buffer): Use it when appropriate.
9514 (reproduce_tree): Declare with prototype.
9515 (balance_possible_root_interval): Check that the parent is a lisp
9516 object before trying to examine its type.
9517
ee1c5b21
GM
95182000-03-22 Gerd Moellmann <gerd@gnu.org>
9519
9520 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9521 as strings only if both are known to be strings.
9522
9523 * s/openbsd.h (LIBS_TERMCAP): Undef.
9524
1fb352e0
SM
95252000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9526
9527 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9528 definitions for non-Emacs compilation.
9529 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9530 outside of `#ifdef emacs'.
9531 (print_partial_compiled_pattern): Update.
9532 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9533 (re_compile_fastmap): Merge handling of charset and charset_not (for
9534 emacs and non-emacs compilation as well).
9535 Similarly for (not)categoryspec and (not)syntaxspec.
9536 Don't use the fastmap when reaching `anychar' since the added
9537 complexity is not justified.
9538 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9539 and (not)syntaxspec. Merge (not)categoryspec.
9540
fdaa1f77
KH
95412000-03-22 Kenichi Handa <handa@etl.go.jp>
9542
52283633
SM
9543 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9544 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9545 --without-x.
fdaa1f77 9546
d152fb46
DL
95472000-03-21 Dave Love <fx@gnu.org>
9548
9549 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9550 doc string.
9551
d2cafc8c
GM
95522000-03-21 Gerd Moellmann <gerd@gnu.org>
9553
9554 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9555 (lface_fully_specified_p): Don't check contents of
9556 LFACE_FONT_INDEX because that attribute is optional.
9557 (realize_x_face): Remove now unwarranted xassert.
9558
9111d4b5
KH
95592000-03-21 Kenichi HANDA <handa@etl.go.jp>
9560
9561 The following changes are to make font selection based on
9562 characters, not charset. In addition, they recover fontset
9563 facilities while utilizing the new font selection mechanism.
9564
6c4bfdc0
KH
9565 * Makefile.in (fontset.o): Depend on dispextern.h.
9566
9567 * alloc.c (mark_face_cache): Don't mark face->registry.
9568
9111d4b5
KH
9569 * dispextern.h (struct glyph): New member glyph_not_available_p.
9570 Use 22 bits for face_id.
9571 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9572 (struct face): Delete member registry, new member ascii_face.
9573 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9574 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9575 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9576 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9577
9578 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9579 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9580 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9581 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9582 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9583 (fs_free_face_fontset, fontset_font_pattern)
9584 (face_suitable_for_char_p, face_for_char)
9585 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9586 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9587 (FS_LOAD_FACE_FONT): New macro.
9588
9589 * fontset.c: All codes rewritten or adjusted for the change of
9590 fontset implementation. Now fontset is represented by char table.
52283633
SM
9591 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9592 Variables removed.
9111d4b5 9593 (my_strcasecmp): Function removed.
52283633 9594 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9595 (AREF, ASIZE): New macros.
52283633
SM
9596 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9597 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9598 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9599 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9600 (fontset_id_valid_p, font_family_registry, fontset_name)
9601 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9602 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9603 New functions.
9604 (fs_load_font): New arg FACE. Caller changed.
9605 (fs_query_fontset): Argument changed. Caller changed.
9606 (Fquery_fontset): call fs_query_fontset.
9607 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9608 Functions removed.
52283633
SM
9609 (clear_fontset_elements, check_registry_encoding)
9610 (check_fontset_name): New functions.
9111d4b5
KH
9611 (syms_of_fontset): Set char-table-extra-slots property of fontset
9612 to 3. Staticpro and initialize Vfontset_table and
9613 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9614
9615 * frame.h (struct frame): Member `fontset_data' removed.
9616 (FRAME_FONTSET_DATA): Macro removed.
9617
9618 * frame.c (make_frame): Don't allocate f->fontset_data.
9619 (Fdelete_frame): Don't free f->fontset_data.
9620
6c4bfdc0
KH
9621 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9622
9111d4b5
KH
9623 * xdisp.c (charset_at_position): Function removed.
9624 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9625 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9626 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9627 Likewise.
9628 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9629 FACE_FOR_CHARSET.
52283633
SM
9630 (get_next_display_element, append_space)
9631 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9632
9633 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9634 Variables removed.
9635 (clear_font_table, frame_update_line_height, load_face_font):
9636 Adjusted for the change of fontset implementation.
9637 (load_face_fontset_font): Function removed.
9638 (pixel_point_size): New function.
9639 (font_list): Argument type changed. Caller changed.
9640 (LFACE_FONT): New macro.
9641 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9642 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9643 Lisp_Object. Determine the font name by actually loading a font
9644 by the specified pattern. Set LFACE_FONT (lface) to the specified
9645 pattern. Even if a font is not found, don't try alternatives.
9646 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9647 (set_font_frame_param): If `font' is specified in lface, use it.
9648 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9649 (lface_same_font_attributes_p): Likewise.
9650 (make_realized_face): Arguent changed. Caller changed. Set
9651 face->ascii_face to face itself.
9652 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9653 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9654 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9655 (free_realized_multibyte_face): New function.
9656 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9657 changed. Caller changed.
9658 (try_font_list): Argument type changed.
9659 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9660 (choose_face_font): Argument changed. Handle fontset properly.
9661 (choose_face_fontset_font): Function removed.
9662 (realize_default_face, realize_named_face): Don't remove the
9663 former face here.
9664 (realize_face): Argument changed. Caller changed. Remove face
52283633 9665 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9666 (realize_x_face): Argument changed. Caller changed. For a
9667 multibyte character, share fontset with base_face. For a single
52283633 9668 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9669 (realize_tty_face): Argument changed. Caller changed.
9670 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9671 (face_at_buffer_position): Don't check multibyte_p for returning
9672 DEFAULT_FACE_ID.
9673 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9674 FACE_SUITABLE_FOR_CHARSET_P.
9675 (syms_of_xfaces): Remove code for Qx_charset_registry and
9676 Vface_default_registry.
9677
6c4bfdc0
KH
9678 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9679 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9680 (x_per_char_metric): Don't try FONT->default_char. Even if
9681 pcm->width is zero, glyph bits may exist.
9682 (x_encode_char): Always initialize char2b->byte1.
9683 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9684 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9685 (x_append_glyph): Set glyph->glyph_not_available_p.
9686 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9687 it->charset. Handle the case that per char metric is not
9688 available. If it->multibyte_p is zero and it->c is a multibyte
9689 character, convert it to a unibyte character.
9690 (struct glyph_string): Delete member `charset'.
9691 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9692 the case that per char metric is not available correctly.
9693 (x_fill_glyph_string): Handle the case that the specific glyph is
9694 not available correctly.
9695 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9696 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9697 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9698 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9699 fontset. Don't call FS_LOAD_FONT.
9700
9701 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9702 (x_create_tip_frame): Likewise.
9703 (Fx_close_connection): Free full_name of font_info.
9704
9705 * fns.c (optimize_sub_char_table): New function.
9706 (Foptimize_char_table): New function.
9707 (syms_of_fns): Defsubr Soptimize_char_table.
9708
b33dd3b0
GM
97092000-03-20 Gerd Moellmann <gerd@gnu.org>
9710
9711 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9712 only if buffer is displayed in some window.
9713
9714 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9715 (try_window_reusing_current_matrix): Don't call scroll run
9716 function if run's current and desired position are the same;
9717 this prevents cursor flickering.
9718
4e8a9132
SM
97192000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9720
9721 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9722
9723 * regex.c (RE_STRING_CHAR): New macro.
9724 (GET_CHAR_AFER_2): Remove.
9725 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9726 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9727 (print_partial_compiled_pattern, re_compile_fastmap)
9728 (re_match_2_internal): Remove on_failure_jump_exclusive.
9729 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9730 optimization only need to work for * (ie. can use of_keep_string_jump).
9731 Remove the special case for .*\n since it is now covered by the general
9732 optimization.
9733 (re_search_2): Don't bother with `room'.
9734 (skip_one_char): New function.
9735 (skip_noops): Simplify since `memory' is not needed any more.
9736 (mutually_exclusive_p): Restructure slightly to use `switch' and
9737 add handling for "all" remaining cases.
9738 (re_match_2_internal): Change on_failure_jump_smart to use
9739 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9740 rather than on_failure_jump_exclusive.
9741
2136fdd4
GM
97422000-03-19 Gerd Moellmann <gerd@gnu.org>
9743
9744 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9745 number of bits per RGB because it's everywhere used as the depth
9746 of the visual.
9747
9748 * term.c (calculate_costs): Remove code dealing with X frames.
9749
18e21ce8 97502000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9751
9752 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9753
d7b511c4
GM
97542000-03-18 Gerd Moellmann <gerd@gnu.org>
9755
9756 * lread.c (read_integer): Unread the last char not consumed.
9757
16b5d424
GM
97582000-03-17 Gerd Moellmann <gerd@gnu.org>
9759
9760 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9761 which are in the process of being deleted.
16b5d424 9762
1fa28578
GM
97632000-03-16 Gerd Moellmann <gerd@gnu.org>
9764
83488cce
GM
9765 * Makefile.in (mostlyclean): Add `*.core'.
9766 (clean): Add `bootstrap-emacs'.
9767
1fa28578
GM
9768 * lread.c (read_integer): New function.
9769 (read1): Support read syntax #o, #x, #b, #r.
9770
99633e97
SM
97712000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9772
1fa28578
GM
9773 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9774 make sure POINTER_TO_OFFSET gives the same value before and after
9775 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9776 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9777 (debug): Now only active if > 0 rather than if != 0.
9778 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9779 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9780 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9781 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9782 (store_op1, store_op2, insert_op1, insert_op2)
9783 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9784 (group_in_compile_stack): Move to after its arg's types are
9785 declared and add a prototype.
99633e97 9786 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9787 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9788 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9789 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9790 indentation of the greedy-op and shy-group code.
99633e97
SM
9791 (at_(beg|end)line_loc_p): Fix argument's types.
9792 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9793 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9794 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9795 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9796 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9797 QUIT unconditionally.
99633e97 9798
699238d9
GM
97992000-03-15 Gerd Moellmann <gerd@gnu.org>
9800
9801 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9802 a sole completion.
9803
9804 * process.c (send_process): Add a hint that the function
9805 can call Lisp code to its comment.
9806
9807 * lread.c (load_dangerous_libraries): New variable.
9808 (Vbytecomp_version_regexp): New variable.
9809 (safe_to_load_p): New function.
9810 (Fload): Handle files not compiled with Emacs specially.
9811 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9812
34e23e5a
GM
98132000-03-14 Gerd Moellmann <gerd@gnu.org>
9814
9c763cca
GM
9815 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9816
9817 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9818 support functions only if HAVE_X11R6_XIM is defined.
9819 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9820
9821 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9822
9823 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9824 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9825 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9826
9827 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9828 (HAVE_X11R6_XIM): Define.
9829
9830 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9831
34e23e5a
GM
9832 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9833 If set, call XSynchronize.
9834
66f0296e
SM
98352000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9836
34e23e5a
GM
9837 * regex.c: Declare a new type `re_char' used throughout the code
9838 for the string char type. It's `const unsigned char' to match the
9839 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9840 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9841 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9842 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9843 code duplication.
66f0296e
SM
9844
9845 * charset.h (GET_CHAR_AFTER_2): Remove.
9846 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9847
854a025c
KR
98482000-03-12 Ken Raeburn <raeburn@gnu.org>
9849
9850 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9851 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9852 of them try to use backquotes.
9853
b9d2c7e2
DL
98542000-03-12 Dave Love <fx@gnu.org>
9855
9856 * unexelf.c: Restore changes of 1999-10-19.
9857 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9858 fix its type and alignment; copy it from current process.
9859
5e5dff44
GM
98602000-03-12 Gerd Moellmann <gerd@gnu.org>
9861
9b2f3c38
GM
9862 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9863 has been found. Fix bug not computing timer's predecessor.
9864
427ec082 9865 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9866 file name.
9867
e1cff360
GM
9868 * window.c (Fsave_window_excursion): Doc fix.
9869
52283633 9870 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9871
e411ce4b
EZ
98722000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9873
9874 * msdos.c (vga_installed): New function, code moved from
9875 dos_set_window_size.
9876 (Qbar, Qcursor_type, outside_cursor): New variables.
9877 (syms_of_msdos): Intern and staticpro them.
9878 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9879 shape used outside Emacs when called for the first time.
9880 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9881 cursor shape used outside Emacs.
9882 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9883 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9884 type has changed.
9885 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9886 parameters specify the cursor. Make qreverse a global
9887 variable (renamed to Qreverse).
9888
80460654
GM
98892000-03-09 Gerd Moellmann <gerd@gnu.org>
9890
9891 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9892
95cd4c40
SM
98932000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9894
9895 This is a big redesign of failure-stack and register handling, prompted
9896 by bugs revealed when trying to add shy-groups. Overall, what happened
9897 is that loops are now structured a little differently, groups can be
9898 shy and the code is a little simpler.
9899
9900 * regex.h: Update the copyright.
9901 (RE_SHY_GROUPS): New value.
9902 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9903 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9904
80460654
GM
9905 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9906 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9907 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9908 for (start|stop)_memory since they now only take one argument (the
9909 second has becomes unnecessary).
52283633 9910 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9911 (print_compiled_pattern): Use %ld to printf long ints and flush to
9912 make debugging a little easier.
95cd4c40
SM
9913 (union fail_stack_elt): Make the integer unsigned.
9914 (struct fail_stack_type): Add a `frame' element.
9915 (INIT_FAIL_STACK): Init `frame' as well.
9916 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9917 (DEBUG_PUSH, DEBUG_POP): Remove.
9918 (NUM_REG_ITEMS): Remove.
9919 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9920 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9921 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9922 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9923 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9924 New macros.
80460654
GM
9925 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9926 address pushed is not the destination of the jump but the source
9927 of it instead.
95cd4c40
SM
9928 (NUM_FAILURE_ITEMS): Remove.
9929 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9930 registers before the actual failure point). Don't hardcode any
9931 meaning for str==NULL anymore.
95cd4c40 9932 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9933 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9934 Remove.
95cd4c40
SM
9935 (REG_UNSET_VALUE): Use NULL (why not?).
9936 (compile_range): Remove declaration since it doesn't exist.
9937 (struct compile_stack_elt_t): Remove inner_group_offset.
9938 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9939 (regex_grow_registers): Remove dead code.
9940 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9941 (regex_compile): Add shy-groups Change loops to use
9942 on_failure_jump_smart&jump instead of
9943 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9944 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9945 variable to me). Use `jump' instead of `jump_past_alt' and don't
9946 bother with push_dummy_failure in alternatives since it is now
9947 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9948 emacs' for (re)allocating the stack.
9949 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9950 from loop when bufp->can_be_null rather than jumping to `done'.
9951 Avoid jumping backwards so as to ensure termination. Use
9952 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9953 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9954 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9955 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9956 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9957 (lowest_active_reg, highest_active_reg)
9958 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9959 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9960 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9961 variables. Push register (in `start_memory') on the stack rather
9962 than storing it in old_reg(start|end). Remove the cycle detection
9963 from `stop_memory', replaced by the use of on_failure_jump_loop
9964 for greedy loops. Add code for the new on_failure_jump_<foo>.
9965 Remove ad-hoc code in `on_failure_jump' to push more registers in
9966 the case of a loop. Take out code from `maybe_pop_jump' into
9967 separate functions and adapt it to the semantics of
9968 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9969 and push_dummy_failure. Remove dummy_failure handling and
9970 handling of `failures to jump to on_failure_jump' (this last one
9971 was already dead code, it seems).
9972 (group_match_null_string_p, alt_match_null_string_p)
9973 (common_op_match_null_string_p): Remove.
95cd4c40 9974
7397acc4
DL
99752000-03-08 Dave Love <fx@gnu.org>
9976
9977 * config.in: Don't depend on __STDC__ for volatile.
9978 Add POINTER_TYPE, PTR, PROTOTYPES.
9979
9980 * hftctl.c, strftime.c: Use PROTOTYPES.
9981 * eval.c (find_handler_clause): Likewise.
9982
9983 * mem-limits.h: Use POINTER_TYPE.
9984
9985 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9986 (memory_warnings): Declare using POINTER_TYPE.
9987
5e91ff9e
GM
99882000-03-08 Gerd Moellmann <gerd@gnu.org>
9989
feab4fba
GM
9990 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9991
52283633 9992 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9993
5e91ff9e
GM
9994 * xfns.c: Remove obsolete code in #if 0.
9995 (Fx_focus_frame): New function.
9996
a735b7e1
KH
99972000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9998
9999 * coding.c (coding_category_name): Add coding-category-utf-8,
10000 coding-category-utf-16-be, coding-category-utf-16-le.
10001 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
10002 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
10003 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
10004 (detect_coding_utf_8): New function.
10005 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
10006 UTF_16_LOW_SURROGATE_P): New macros.
10007 (detect_coding_utf_16): New function
10008 (detect_coding_mask): When priorities are specified, skip any
10009 categories that have `nil' coding-system. Fix bug of returning
10010 wrong mask when PRIORITIES is specified and detect_coding_XXX()
10011 returns a mask not set in PRIORITIES.
10012 (detect_eol_type_in_2_octet_form): New function.
10013 (detect_eol): selects detect_eol_type_XXX to call according to
10014 cooding->category_idx.
10015 (detect_coding_system): Remove `nil' coding-system in the result.
10016 (Fupdate_coding_systems_internal): Update all coding-categories.
10017
52283633
SM
10018 * coding.h (CODING_CATEGORY_IDX_UTF_8)
10019 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
10020 New macros.
10021 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
10022 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
10023 (CODING_CATEGORY_IDX_UTF_16_LE)
10024 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
10025 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10026 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10027 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10028
9994cc69
GM
100292000-03-07 Gerd Moellmann <gerd@gnu.org>
10030
e9b4e5ff
GM
10031 * doc.c (Fdocumentation_property): If value is not a string,
10032 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10033
f7daf1e1
GM
10034 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10035 close the display with XtCloseDisplay. This caused a bus error
10036 on OpenWindows.
10037
9994cc69
GM
10038 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10039 complete but not unique.
10040
4336c705
GM
100412000-03-06 Gerd Moellmann <gerd@gnu.org>
10042
18bb0684
GM
10043 * process.c (send_process): Remove local variable `procname' that
10044 might become invalid when a GC happens. Instead, access the
10045 process name slot directly.
10046
4336c705
GM
10047 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10048 orig_height if set.
10049
10050 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10051 orig_height if set.
10052
515d0d0e
EZ
100532000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10054
10055 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10056 glyph matrices have been freed.
10057
100b3cbb
GM
100582000-03-05 Gerd Moellmann <gerd@gnu.org>
10059
50df5e5a 10060 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10061 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10062
10063 * xfns.c (QCdata): Moved to xdisp.c.
10064
10065 * xdisp.c (QCdata): Moved here from xfns.c.
10066 (syms_of_xdisp): Initialize QCdata.
10067
10068 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10069
10070 * window.c (coordinates_in_window): Use
10071 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10072 FRAME_INTERNAL_BORDER_WIDTH.
10073
100b3cbb 10074 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10075 it is obviously invalid.
100b3cbb
GM
10076
10077 * xterm.c (x_term_init): Create a colormap if not using the
10078 default visual.
10079
10080 * xterm.h (select_visual): Change prototype.
10081
10082 * xfns.c (select_visual): Rewritten. Recognize user-specified
10083 visual classes.
10084 (visual_classes): New variable.
10085
64d739c4
GM
100862000-03-04 Gerd Moellmann <gerd@gnu.org>
10087
10088 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10089 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10090 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10091 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10092 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10093 XtNcolormap resources.
10094 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10095 (Fx_create_frame): Initialize color members of x_output structure.
10096 (xpm_load): Pass colormap to XPM lib.
10097
10098 * xfaces.c (x_free_colors): Access colormap of frame using
10099 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10100 when default colormap is used.
10101
10102 * xterm.c (x_term_init): Set Colormap member of x_display_info
10103 structure. Copy colormap if resource `privateColormap' is
10104 specified (PseudoColor only).
10105 (x_setup_relief_color): Access colormap of frame using
10106 FRAME_X_COLORMAP.
10107
10108 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10109 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10110
c3cee013
JR
101112000-03-04 Jason Rumney <jasonr@gnu.org>
10112
10113 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10114 other non-platform-specific equivalents.
64d739c4 10115 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10116 specific functions and macros as their w32 equivalents where
10117 non-platform-specifics are not available.
10118 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10119 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10120 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10121 (frame_update_line_height): Use macros to access f->output_data.
10122 (defined_color): Remove FIXME comments; fixed.
10123 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10124 into #ifdef blocks. Add WINDOWSNT blocks.
10125 (Fx_list_fonts): Use macros for accessing font data.
10126 (set_lface_from_font_name): Different default fonts for X and
10127 WINDOWSNT.
10128 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10129 scalable for backward compatibility.
64d739c4 10130 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10131 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10132
64d739c4 10133 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10134 syms_of_w32faces.
10135
10136 * makefile.nt (w32faces.obj): Remove.
10137 (xfaces.obj): Add.
10138
807cc41c
JR
101392000-03-03 Jason Rumney <jasonr@gnu.org>
10140
10141 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10142 correct parameters.
10143
0007072a
KR
101442000-03-03 Ken Raeburn <raeburn@gnu.org>
10145
10146 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10147 standard ELF definitions here if the system header does not.
10148
71a6ba55
GM
101492000-03-03 Gerd Moellmann <gerd@gnu.org>
10150
10151 * xterm.c (PER_CHAR_METRIC): Removed.
10152 (x_per_char_metric_1, x_default_char): New functions.
10153 (x_per_char_metric): If font's default char is invalid, return
10154 metrics of a suitably chosen usable default char.
10155 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10156 char, replace occurrences of unprintable chars with a suitably
10157 chosen usable default char.
71a6ba55 10158
900fa1f1
GM
101592000-03-02 Gerd Moellmann <gerd@gnu.org>
10160
42f55fe0
GM
10161 * xterm.c (note_mouse_highlight): Return quickly if frame's
10162 glyph matrices have been freed.
10163
10164 * dispnew.c (free_glyphs): Block input while freeing matrices.
10165
900fa1f1
GM
10166 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10167
52283633
SM
10168 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10169 Use x_free_colors.
900fa1f1
GM
10170
10171 * dispextern.h (x_free_colors): Add prototype.
10172
10173 * xfaces.c (x_free_colors): New function.
10174 (unload_color, free_face_colors): Use it.
10175
2f950292
EZ
101762000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10177
10178 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10179
10180 * window.c [MSDOS]: Include msdos.h.
10181
54d04320
DL
101822000-03-02 Dave Love <fx@gnu.org>
10183
10184 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10185
10186 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10187 set C_OPTIMIZE_SWITCH for gcc.
10188
0ba93ac4
KH
101892000-03-02 Kenichi Handa <handa@etl.go.jp>
10190
10191 * coding.c (coding_save_composition): Be sure to allocate
10192 composition data area in coding even if there's no composition in
10193 the current run.
10194
a2bc11d4
JR
101952000-03-01 Jason Rumney <jasonr@gnu.org>
10196
10197 * w32term.c: Equivalent changes to those made to xterm.c on
10198 2000-02-25 and 2000-02-24.
10199
10200 * w32fns.c: Equivalent changes to those made to xfns.c on
10201 2000-02-25 and 2000-02-21.
10202
10203 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10204 correct line-end convention is followed.
10205
10206 * w32menu.c [HAVE_BOXES]: Remove #undef.
10207 (single_keymap_panes): Remove code for simulating checkmarks.
10208 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10209 Remove code for drawing simulated checkmarks.
10210 (w32_menu_show): make unibyte help string correctly.
10211 (add_menu_item): draw standard Windows checkmarks. Draw radio
10212 buttons as radio buttons if possible.
10213
72d19d75
GM
102142000-03-01 Gerd Moellmann <gerd@gnu.org>
10215
2df636f4
GM
10216 * sysdep.c (start_of_text): Don't define this function for NetBSD
10217 with ELF.
10218
427ec082 10219 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10220 Don't define.
10221 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10222 (LINKER): Don't undef if __NetBSD__ is defined.
10223
10224 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10225
10226 * fileio.c [__NetBSD__]: Define `unix'.
10227
72d19d75
GM
10228 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10229
ed4d0512
GM
102302000-02-29 Gerd Moellmann <gerd@gnu.org>
10231
50b1039f
GM
10232 * atimer.c (start_atimer): Don't abort when timers are stopped.
10233 (append_atimer_lists): New function.
10234 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10235 arbitrary lists of stopped and running atimers.
10236
ed4d0512
GM
10237 * atimer.c (cancel_atimer): Handle canceling an atimer when
10238 some timers are stopped.
10239
10240 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10241 after canceling it.
10242
10243 * fns.c (maybe_resize_hash_table): Handle case of new size
10244 coming out as being the same as old size.
10245
387023ee
JR
102462000-02-27 Jason Rumney <jasonr@gnu.org>
10247
10248 * makefile.nt: Add atimer.h to dependencies.
10249 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10250 * w32console.c: Only disable window system features for dispextern.h
10251 (initialize_w32_display): Build a display info for the console.
10252 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10253 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10254 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10255 as 2 button mice.
10256 * w32gui.h (struct W32FontStruct): Revert last change after change
10257 to xdisp.c.
10258 * w32menu.c (single_submenu): Set up help string.
10259 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10260 (w32_dialog_show): Set up help string.
10261 * w32term.c (w32_display_info_for_display): Remove unused function.
10262 (w32_draw_bitmap): Use pre-built bitmaps.
10263 (w32_initialize_display_info): New function to initialize parts of
10264 display info that are common to both GUI and console frames.
10265 (w32_term_init): Use w32_initialize_display_info. Do not set
10266 Vw32_num_mouse_buttons here, as it is not called for console
10267 frames. Build bitmaps for indicating truncated lines etc.
10268 (x_delete_display): Destroy pre-built bitmaps.
10269 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10270 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10271
4516715a
DL
102722000-02-27 Dave Love <fx@gnu.org>
10273
10274 * lisp.h: Add a bunch of prototypes.
10275
171ca836
KH
102762000-02-26 Kenichi Handa <handa@etl.go.jp>
10277
10278 * keyboard.c (read_char): Set `usec' correctly.
10279
4013921d
KH
102802000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10281
10282 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10283 `lambda', set reg[RRR] to the map index.
10284 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10285 reg[RRR] to 0. Otherwise, set it to -1.
10286
9244a058
GM
102872000-02-25 Gerd Moellmann <gerd@gnu.org>
10288
2df636f4 10289 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10290
18e21ce8 102912000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10292
f43d79c1
GM
10293 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10294 and contains a `:', prepend `/:'.
10295
10296 * window.c (select_window_1): If selected_window is nil,
10297 don't "swap out" the buffer's point.
10298 (Fset_window_configuration): Set selected_window to nil
10299 before calling Fselect_window.
10300 (unshow_buffer): Don't set point in buffer from window's point
10301 if another more recently selected window also shows the buffer.
10302
bed0c171
GM
103032000-02-25 Gerd Moellmann <gerd@gnu.org>
10304
449c3c52
GM
10305 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10306
f5b58615
GM
10307 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10308 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10309 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10310 New variables.
f5b58615
GM
10311 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10312 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10313 (hide_busy_cursor): New functions.
10314 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10315
10316 * minibuf.c (read_minibuf): Cancel busy-cursor.
10317
10318 * keyboard.c (command_loop_1): Call start_busy_cursor before
10319 Fcommand_execute and cancel_busy_cursor after it.
10320 (timer_check): Remove busy-cursor code.
10321 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10322 cursor timer.
10323
10324 * process.c (wait_reading_process_input): Remove busy-cursor code.
10325
10326 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10327 Fx_hide_busy_cursor.
10328
10329 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10330 Remove prototyoes.
10331 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10332
10333 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10334
10335 * xterm.c (XTread_socket): Remove busy-cursor code.
10336
4eb8436f
GM
10337 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10338 (build_frame_matrix_from_leaf_window): Put code handling
10339 glyph row's not being a slice of a frame row in #if 0.
10340 (sync_window_with_frame_matrix_rows): New function.
10341 (frame_row_to_window): New function.
10342 (mirror_line_dance): Handle copies between windows.
10343
3cb65b0e
GM
10344 * lread.c (Fload): Use `xfree' instead of `free'.
10345 (init_obarray): Use `xmalloc' instead of `malloc'.
10346
bed0c171
GM
10347 * window.c (Fset_window_buffer): Set WINDOW to the window
10348 after decoding.
2add4349
GM
10349 (coordinates_in_window): Take frame's internal border width
10350 into account.
bed0c171 10351
42088c12
GM
103522000-02-24 Gerd Moellmann <gerd@gnu.org>
10353
10354 * xterm.c (x_display_and_set_cursor): Display cursor of
10355 non-selected windows depending on the setting of
10356 cursor_in_non_selected_windows.
10357
10358 * xdisp.c (cursor_in_non_selected_windows): New variable.
10359 (syms_of_xdisp): DEFVAR_BOOL it.
10360
d1e103b2
GM
103612000-02-23 Gerd Moellmann <gerd@gnu.org>
10362
723e779c
GM
10363 * data.c (Fstring_to_number): If number is greater than what
10364 fits into an integer, return a float.
10365
d1e103b2
GM
10366 * eval.c (specbind): Remove references to
10367 keyword_symbols_constant_flag.
10368
10369 * data.c (keyword_symbols_constant_flag): Removed.
10370 (Fmakunbound, set_internal, syms_of_data): Remove references to
10371 keyword_symbols_constant_flag.
10372
10373 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10374
214f877f
KH
103752000-02-23 Kenichi Handa <handa@etl.go.jp>
10376
10377 * syntax.c (multibyte_syntax_as_symbol): New variable.
10378 (syms_of_syntax): Declare it as a Lisp variable.
10379 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10380 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10381 nonzero, treat all multibyte characters as symbol.
52283633 10382 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10383
130adcb7
EZ
103842000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10385
3cb65b0e 10386 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10387 a deleted frame.
130adcb7 10388
17cbbf95
GM
103892000-02-21 Gerd Moellmann <gerd@gnu.org>
10390
10391 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10392
10393 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10394 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10395
beb0bc36
DL
103962000-02-21 Dave Love <fx@gnu.org>
10397
10398 * frame.c (Vmouse_position_function): New variable.
10399 (Fmouse_position): Use it.
10400 (syms_of_frame): Install it.
10401
10402 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10403
1d92afcd
GM
104042000-02-20 Gerd Moellmann <gerd@gnu.org>
10405
10406 * fileio.c (Finsert_file_contents): Unbind the binding of
10407 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10408
10409 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10410 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10411 (specbind, unbind_to): Handle most common case of non-constant
10412 symbol with trivial value specially.
10413
10414 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10415
18e21ce8 104162000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10417
10418 * data.c (Fmake_variable_buffer_local): Doc fix.
10419 Init found_for_buffer to 0.
10420 (Fmake_variable_frame_local): If the variable has already
10421 been buffer-local, set the check_frame field.
10422
1d4311c3
EZ
104232000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10424
10425 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10426 produced for CODING_MODE_LAST_BLOCK requires.
10427
2dc95ddd
DL
104282000-02-18 Dave Love <fx@gnu.org>
10429
10430 * keyboard.c (echo_keystrokes): Remove declaration.
10431 (Vecho_keystrokes) New variable.
10432 (read_char, record_menu_key, read_key_sequence): Use it to allow
10433 use of float value.
10434 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10435
10436 * lread.c: Undef feature selection macros before defining.
10437
f0930f35
GM
104382000-02-18 Gerd Moellmann <gerd@gnu.org>
10439
10440 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10441 for symbols other than the symbol in question.
10442
e3d4de90
DL
104432000-02-17 Dave Love <fx@gnu.org>
10444
10445 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10446
0b378936
GM
104472000-02-17 Gerd Moellmann <gerd@gnu.org>
10448
d621caf7
GM
10449 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10450
0b378936
GM
10451 * alloc.c (enum mem_type): Compile unconditionally.
10452
3b451f74
EZ
104532000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10454
10455 * xfaces.c (tty_defined_color): Don't return faulire indication
10456 for unspecified-fg and unspecified-bg pseudo-colors.
10457
10689a01
GM
104582000-02-17 Gerd Moellmann <gerd@gnu.org>
10459
1216f5e4
GM
10460 * alloc.c (mark_object): Don't mark symbol names in pure space.
10461 (gc_sweep): Don't unmark symbol names in pure space.
10462
10463 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10464 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10465 [GC_MARK_STACK]: New defines.
427ec082 10466 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10467 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10468
10469 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10470
10471 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10472 allocate_buffer instead of xmalloc.
10473
10474 * alloc.c (toplevel): Include setjmp.h.
10475 (PURE_POINTER_P): New define.
10476 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10477 (Vdead) [GC_MARK_STACK]: New variable.
10478 (lisp_malloc): Add parameter TYPE, call mem_insert if
10479 GC_MARK_STACK is defined.
10480 (allocate_buffer): New function.
427ec082 10481 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10482 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10483 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10484 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10485 (MEM_NIL) [GC_MARK_STACK]: New define.
10486 (struct mem_node) [GC_MARK_STACK]: New structure.
10487 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10488 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10489 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10490 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10491 (mark_stack) [GC_MARK_STACK]: New functions.
10492 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10493 (clear_marks): Removed.
10494 (gc_sweep): Set free conses' car, free floats' type, free
10495 symbols' function to Vdead. Use lisp_free to free buffers.
10496 (init_alloc_once): Initialize Vdead.
10497 (survives_gc_p): Return non-zero for pure objects.
10498
10499 * alloc.c: Add comments throughout the file.
10500
2503c8b1
GM
10501 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10502 that unblocks alarms.
10503
8389e1e2
GM
10504 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10505 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10506 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10507
10689a01 10508 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10509
bfc17d18
KH
105102000-02-17 Kenichi Handa <handa@etl.go.jp>
10511
4a09dee0
KH
10512 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10513 avoid infinite error signaling. Allocate sufficient memory for
10514 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10515
2b927d02
SM
105162000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10517
10518 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10519 depends on the previous behavior.
10520
b49cb764
GM
105212000-02-16 Gerd Moellmann <gerd@gnu.org>
10522
10523 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10524
99e95407
GM
105252000-02-15 Gerd Moellmann <gerd@gnu.org>
10526
10527 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10528
10529 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10530 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10531 write(2).
10532
6ffd3cf7
RS
105332000-02-15 Richard M. Stallman <rms@gnu.org>
10534
10535 * data.c (set_internal): Don't make variable buffer-local
10536 if within a let-binding for the same buffer.
10537 (let_shadows_buffer_binding_p): New function.
10538
10539 * eval.c (specbind): For buffer-local value,
10540 record the current buffer also.
10541 (unbind_to): Cope with that change.
10542
cad53475
GM
105432000-02-15 Gerd Moellmann <gerd@gnu.org>
10544
10545 * window.c (Fsave_window_excursion): Doc fix.
10546
1aa963c8
SM
105472000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10548
10549 * syntax.c (back_comment): Make sure we only consider comment-starters
10550 of the relevant style and return -1 in case of a failure to find the
10551 beginning of the comment.
10552 (Fforward_comment): If back_comment fails, go back to the position just
10553 after the comment-end.
10554 (scan_lists): Add comment describing a very minor bug.
10555
b9b84fd3
SM
105562000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10557
10558 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10559 `completion-regexp-list' in the docstring.
10560
3a28db80
DL
105612000-02-14 Dave Love <fx@gnu.org>
10562
10563 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10564
fb4a568d
SM
105652000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10566
10567 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10568 to Emacs' syntax. Also fix the comment about set/not-set meanings
10569 since Emacs syntax is not the value 0 any more.
10570 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10571 since it's now part of RE_SYNTAX_EMACS.
10572
1063ebb5
DL
105732000-02-12 Dave Love <fx@gnu.org>
10574
52283633 10575 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10576
fb07a302
GM
105772000-02-12 Gerd Moellmann <gerd@gnu.org>
10578
10579 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10580
aaf2320c
DL
105812000-02-12 Dave Love <fx@gnu.org>
10582
10583 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10584
10585 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10586 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10587 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10588
10589 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10590
10591 * s/nextstep.h: Don't define HAVE_ALLOCA.
10592
10593 * config.in: Add vfork bits.
10594
eedf8bde
GM
105952000-02-12 Gerd Moellmann <gerd@gnu.org>
10596
10597 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10598 unwind function to undo the effect of stopping atimers.
10599
52283633 10600 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10601
10602 * atimer.c (stopped_atimers): New variable.
10603 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10604 New functions.
10605
10606 * atimer.h (stop_other_atimers, run_all_atimers)
10607 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10608
eedf8bde
GM
10609 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10610
8476c2f8
KR
106112000-02-11 Ken Raeburn <raeburn@gnu.org>
10612
10613 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10614 library may depend on jpeg.
10615 (atimer.o): Depends on atimer.c.
10616
0e85e4a3
KH
106172000-02-11 Kenichi Handa <handa@etl.go.jp>
10618
10619 * insdel.c (del_range_1): Call update_compositions.
10620 (del_range_both): Call update_compositions just once..
10621
97fa0cc8
DL
106222000-02-10 Dave Love <fx@gnu.org>
10623
10624 * xfns.c (create_frame_xic): Fix initialization of automatic
10625 aggregates for pcc.
10626
25566a3c
KH
106272000-02-09 Kenichi Handa <handa@etl.go.jp>
10628
10629 * ccl.c (CCL_MAKE_CHAR): New macro.
10630 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10631 registers by CCL_MAKE_CHAR before calling translate_char.
10632 <CCL_TranslateCharacterConstTbl> Likewise.
10633
69da54ba
DL
106342000-02-08 Dave Love <fx@gnu.org>
10635
10636 * lread.c (__EXTENSIONS__): Define.
10637
f7136ee8
GM
106382000-02-08 Gerd Moellmann <gerd@gnu.org>
10639
10640 * puresize.h (BASE_PURESIZE): Increase to 650000.
10641
7768790b
EZ
106422000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10643
10644 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10645 the help message.
10646
38fd211b
EZ
106472000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10648
10649 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10650 md, mh, mb, mr, and me to the fake termcap entry.
10651
66e4690f
KR
106522000-02-06 Ken Raeburn <raeburn@gnu.org>
10653
10654 * sound.c (sound_cleanup): Don't call device close routine if the
10655 function pointer is null.
10656
a75dfea0
AI
106572000-02-06 Andrew Innes <andrewi@gnu.org>
10658
10659 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10660 around image definitions and prototypes.
10661 (gamma_correct) [WINDOWSNT]: New prototype.
10662
10663 * w32term.c (x_make_frame_visible): Replace call to
10664 input_poll_signal with poll_for_input.
10665
10666 * window.c [WINDOWSNT]: Include w32term.h.
10667
10668 * xdisp.c [WINDOWSNT]: Include w32term.h.
10669
10670 * makefile.nt: Add dependencies on w32gui.h.
10671 (OBJ1): Include atimer.obj.
10672 ($(BLD)\atimer.obj): New dependency rule.
10673
10674 * w32.c (sigmask): New function (does nothing).
10675 (sigunblock): Ditto.
10676
10677 * frame.c [WINDOWSNT]: Include w32term.h.
10678
10679 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10680
10681 * lread.c (syms_of_lread): Fix literal newlines.
10682
10683 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10684 the string constant limit (2048 bytes) in MSVC.
10685 (main): Ditto.
10686
59ddecde
GM
106872000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10688
52283633 10689 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10690 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10691 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10692 dispatch the event.
10693
07590973
DL
106942000-02-04 Dave Love <fx@gnu.org>
10695
10696 * fileio.c: Remove some unused vars.
10697 (_GNU_SOURCE): Define (for euidaccess).
10698
10699 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10700
10701 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10702 gcpro1, gcpro2.
10703 (read_minibuf): Deal with allow_props correctly.
10704
649351f9
EZ
107052000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10706
10707 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10708
66e4690f 107092000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10710
10711 * search.c (compile_pattern): If a cache entry has a nil regexp,
10712 fill in that entry instead of clobbering a previously cached
10713 string regexp.
10714
66e4690f 107152000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10716
10717 * puresize.h (BASE_PURESIZE): Increase to 610000.
10718
d240a249
GM
107192000-02-02 Gerd Moellmann <gerd@gnu.org>
10720
10721 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10722 can GC.
10723
ca91fb26
KH
107242000-02-02 Kenichi Handa <handa@etl.go.jp>
10725
25660570
KH
10726 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10727 instead of incrementing ic directly.
10728 <CCL_WriteExprConst> Likewise.
10729 <ccl_set_expr>: Set ic to jump_address.
10730
ca91fb26
KH
10731 * fileio.c (e_write): Fix the handling of
10732 CODING_FINISH_INSUFFICIENT_SRC.
10733
2ede9689
DL
107342000-02-01 Dave Love <fx@gnu.org>
10735
10736 * editfns.c (Fpropertize): Doc fix.
10737
10738 * process.c (Fstart_process): Doc fix.
10739
10740 * eval.c: Fix various doc strings not to duplicate information
10741 from help-manyarg-func-alist.
10742
52283633 10743 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10744
10745 * doc.c (Vhelp_manyarg_func_alist): New variable.
10746 (Fdocumentation): Use it.
10747 (syms_of_doc): Define it.
10748
b6680a0e
GM
107492000-01-31 Gerd Moellmann <gerd@gnu.org>
10750
2cb750ba
GM
10751 * xterm.c (xim_open_dpy): Remove unused local variable.
10752
52283633 10753 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10754
10755 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10756 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10757
b6680a0e
GM
10758 * fns.c (sweep_weak_table): New function.
10759 (sweep_weak_hash_tables): Use it. Keep on marking until there
10760 is no more change.
10761
994c5afe
GM
107622000-01-30 Gerd Moellmann <gerd@gnu.org>
10763
10764 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10765 that XTread_socket does not crash by trying to call XNoOp on a
10766 closed display.
427ec082 10767
f00276e3
JR
107682000-01-30 Jason Rumney <jasonr@gnu.org>
10769
10770 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10771 Change selected_frame to SELECTED_FRAME ().
10772 (w32_console_mouse_position): Remove #ifndef MULE from around
10773 `insist' parameter.
10774
10775 * makefile.nt: Remove dosfns.obj.
10776
10777 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10778
10779 * w32fns.c (w32_defined_color): Check for valid frame before
10780 applying gamma correction. Eliminate dependency on frame elsewhere.
10781 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10782 (w32_to_x_font): Use resx and resy not height_in and width_in.
10783 (x_to_w32_font): Doc fix.
10784 (xlfd_strip_height): New function to strip and return font height.
10785 (w32_font_match): Compare height separately from rest of xlfd
10786 spec, using xlfd_strip_height.
10787
10788 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10789 width_in. Use w32_defined_color in place of defined_color.
10790
10791 * w32faces.c: Merge more of DOS and X specifics in preparation for
10792 merge with xfaces.c.
10793 (defined_color): Remove FIXME comment.
10794 (tty_color_name): Provide w32-specific function.
10795 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10796
10797 * w32console.c (turn_on_face, turn_off_face): Removed.
10798 (w32_face_attributes): New function.
10799 (Global_variables): Reduce scope where possible.
10800 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10801 fill attribute.
10802 (hl_mode): Don't modify text attributes.
10803 (write_glyphs): Don't do anything if len <= 0. Use
10804 w32_face_attributes to get attributes for drawing. Write
10805 terminating codes using char_attr_normal.
10806 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10807 (update_begin, update_end): Likewise.
10808 (vga_stdcolor_name): New function.
10809 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10810 (Fset_screen_color): Remove char_attr_reverse.
10811
b08e8bb2
GM
108122000-01-29 Gerd Moellmann <gerd@gnu.org>
10813
10814 * xfns.c (xic_set_preeditarea): Take window parameter and
10815 window-relative pixel-positions.
10816
10817 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10818 is its frame's selected window.
10819 (xim_instantiate_callback): Likewise.
10820
10821 * xfns.c (x_create_im): Removed.
10822 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10823 (supported_xim_styles): Renamed from supported_styles.
10824 (best_xim_style): Renamed from best_style.
10825 (create_frame_xic): Renamed from xic_create_frame.
10826 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10827
b08e8bb2
GM
108282000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10829
10830 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10831 our frames, call XFilterEvent with 2nd parameter `None'.
10832 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10833 returning XBufferOverflow.
52283633 10834 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10835 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10836 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10837 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10838 (xim_initialize, xim_close)
10839 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10840 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10841 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10842 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10843
10844 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10845 and `xim_styles'.
10846 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10847 `xic_style' and `xic_xfs'.
10848 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10849 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10850 (FRAME_XIM): Removed.
10851
10852 * xfns.c (supported_styles): New variable.
10853 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10854 (xic_create_xfontset, best_style, xic_create_frame)
10855 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10856 (xic_set_xfontset): New functions.
10857
142e109c
DL
108582000-01-28 Dave Love <fx@gnu.org>
10859
10860 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10861
10862 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10863
b02786f9
GM
108642000-01-28 Gerd Moellmann <gerd@gnu.org>
10865
d060bc9f
GM
10866 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10867 for *scratch* if it already existed.
10868
b02786f9
GM
10869 * emacs.c (USAGE): New macro.
10870 (main): Use it to display usage information.
10871
2c52d7e4
EZ
108722000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10873
10874 Support for the menu-help feature:
10875
52283633 10876 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10877
10878 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10879 part of the line to the termscript file.
10880 (IT_clear_to_end): Clear the entire line, not just its beginning.
10881 (menu_help_message, prev_menu_help_message): New variables.
10882 (IT_menu_make_room): Make room for the help_text member.
10883 (IT_menu_display): New argument disp_help; all callers changed.
10884 If disp_help is non-zero, store the help text of the active menu
10885 item in menu_help_message.
10886 (XMenuAddPane): Initialize the help_text member to NULL.
10887 (XMenuAddSelection): New argument help_text. Store it in the
10888 XMenu structure.
10889 (XMenuActivate): New argument help_callback. If the value of
10890 menu_help_message has changed since the last time, display the
10891 menu help message text while waiting for the mouse to move. Clear
10892 the echo area before exiting.
10893 (XMenuDestroy): Free the help_text member.
10894
ffe0bcd1
GM
108952000-01-27 Gerd Moellmann <gerd@gnu.org>
10896
10897 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10898 XMenuAddSelection. Pass help callback to XMenuActivate.
10899 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10900
50dbd23f
EZ
109012000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10902
10903 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10904 and EMACS_SET_USECS.
10905
f5941bf8
GM
109062000-01-26 Dave Love <fx@gnu.org>
10907
6c67ddee
DL
10908 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10909
f5941bf8
GM
10910 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10911 an error may be signalled.
10912
9e49c990
GM
109132000-01-26 Gerd Moellmann <gerd@gnu.org>
10914
fc3cb460
GM
10915 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10916 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10917
9e49c990
GM
10918 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10919
d0c037d8
GM
109202000-01-25 Gerd Moellmann <gerd@gnu.org>
10921
10922 * charset.c (Fstring): If there is a multibyte char among
10923 the args, always return a multibyte string.
10924
e12489f9
GM
109252000-01-25 Gerd Moellmann <gerd@gnu.org>
10926
10927 * sysdep.c (sys_select): Turn atimers off and on instead of
10928 recording and restoring old alarm handler
10929
10930 * process.c (toplevel): Include atimer.h.
10931 (create_process_1): Rewritten.
10932 (create_process): Use atimers instead of alarm.
10933 (wait_reading_process_input) [hpux]: Turn atimers off instead
10934 of turning off SIGALRM.
10935 (wait_reading_process_input): Turn off atimers instead off
10936 calling stop_polling.
10937
10938 * emacs.c (main): Call init_atimer.
10939
10940 * keyboard.c (toplevel): Include systime.h and atimer.h.
10941 (polling_for_input): Removed because unused.
10942 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10943 (poll_timer): New variable.
10944 (poll_for_input, poll_for_input_1): New functions.
10945 (start_polling, stop_polling): Rewritten.
10946
10947 * keyboard.h (polling_for_input): Removed.
427ec082 10948
e12489f9
GM
10949 * atimer.h, atimer.c: New files.
10950
10951 * Makefile.in (obj): Add atimer.o.
10952 (atimer.o): New target.
10953
10954 * blockinput.h (pending_atimers): Add extern declaration.
10955 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10956
10957 * lisp.h (popup_activated_flag): Add extern declaration.
10958
10959 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10960 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10961 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10962
10963 * xterm.c (toplevel): Include atimer.h.
10964 (toolkit_scroll_bar_interaction): New variable.
10965 (Fxt_process_timeouts): Removed.
10966 (x_process_timeouts): New function.
10967 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10968 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10969 (x_make_frame_visible): Call poll_for_input_1 instead of
10970 input_poll_signal. Don't call alarm.
10971 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10972
1e5279b9
DL
109732000-01-24 Dave Love <fx@gnu.org>
10974
6c67ddee 10975 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10976 Don't use -cckr -- apparently not now necessary.
10977
edf6aeb8
EZ
109782000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10979
10980 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10981 screen boundary.
10982
9badad41
JR
109832000-01-23 Jason Rumney <jasonr@gnu.org>
10984
10985 * w32fns.c (w32_defined_color): Apply gamma correction before
10986 trying to map to the palette.
10987 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10988 to w32_clear_rect.
10989
10990 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10991 here. Callers changed to always pass real device context.
10992 (w32_draw_bitmap): Likewise.
10993 (w32_get_glyph_overhangs): Likewise.
52283633 10994 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10995 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10996 pfnSetScrollInfo and SetScrollRange.
10997 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10998 back into MULE characters after decoding them.
10999 (x_get_glyph_face_and_encoding): Likewise.
11000 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
11001 GetCharABCWidthsW fails, since this is defined on Windows 9x.
11002 (x_produce_glyphs): Calculate per char metrics for a character
11003 that we know exists in default font when font_not_found_p is true.
11004
63bd786b
JR
110052000-01-22 Jason Rumney <jasonr@gnu.org>
11006
11007 * makefile.nt (intervals.obj, composite.obj): New modules.
11008 (composite.h): Added as dependency where appropriate.
11009
11010 * w32gui.h (XGCValue): New struct for emulating X GCs.
11011
11012 * w32term.h (XCharStruct): New struct for emulating X.
11013
11014 * w32console.c (turn_on_face, turn_off_face): New functions.
11015 (change_line_highlight): New prototype for new redisplay.
11016 (write_glyphs): Support multibyte text. Support faces.
11017
52283633 11018 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
11019
11020 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
11021 throughout. struct frame * in place of FRAME_PTR.
11022 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 11023 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
11024 (w32_get_arg): Renamed from x_get_arg.
11025 (Fx_file_dialog): New function.
11026 (w32_list_fonts): Check cache before asking system.
11027 (Vw32_enable_synthesized_fonts): New variable.
11028 (Vw32_enable_italics): Obsolete, removed.
11029
11030 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11031 Use SELECTED_FRAME macro.
11032
11033 * w32menu.c: Add skeleton support for help strings on menus.
11034 (add_menu_item): Native checkbox and radio support added, but not
11035 yet enabled due to bugs.
11036 (push_menu_item): Add parameters type, selection and help.
11037 Callers updated.
11038 Formatting changes to reduce unnecessary diffs with xmenu.c.
11039
11040 * w32select.c (Fw32_set_clipboard_data): Update call to
11041 find_charset_in_str.
11042
11043 * w32term.c: Complete rewrite for new redisplay based on new
11044 xterm.c with necessary sections merged back in from old w32term.c.
11045
6ffd3cf7 110462000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11047
11048 * data.c (set_internal): Further fix in same criterion.
11049
6ffd3cf7 110502000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11051
11052 * data.c (set_internal): Fix the criteria for whether
11053 to swap out the old cached binding.
11054
60af03f1
DL
110552000-01-19 Dave Love <fx@gnu.org>
11056
11057 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11058
f9be074f
KH
110592000-01-18 Kenichi Handa <handa@etl.go.jp>
11060
11061 * regex.c (re_compile_fastmap): While checking a range table for
11062 `charset', skip flag bits for a character class correctly.
11063
52b8dbf9
GM
110642000-01-17 Gerd Moellmann <gerd@gnu.org>
11065
d36100c9
GM
11066 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11067
52283633 11068 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11069
11070 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11071 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11072
11073 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11074 MENU_ITEMS_ITEM_.*.
11075 (MENU_ITEMS_ITEM_HELP): New enumerator.
11076 (push_menu_item): Add parameter HELP. Record help in menu_items.
11077 (single_menu_item, single_submenu, list_of_items): Call
11078 push_menu_item with new parameter.
11079 (single_submenu): Set help string in widget value.
11080 (menu_highlight_callback): New function.
11081 (set_frame_menubar): Call lw_create_widget with new
11082 parameter list.
11083 (xmenu_show, xdialog_show): Ditto.
11084
3139018f
GM
110852000-01-13 Gerd Moellmann <gerd@gnu.org>
11086
11087 * sound.c (Fplay_sound): Improve doc string.
11088
83c8f461
RS
110892000-01-11 Richard M. Stallman <rms@gnu.org>
11090
11091 * lisp.h (set_internal): Enter the new arg.
11092
11093 * eval.c (specbind): Record buffer-local variables specially,
11094 indicating which buffer's binding was saved.
11095 (unbind_to): Restore buffer-local variables specially
11096 in the proper buffer.
11097
11098 * data.c (set_internal): New arg BUF.
427ec082 11099
83c8f461
RS
11100 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11101 * data.c (Fset): Pass new arg to set_internal.
11102 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11103
1fab1775
GM
111042000-01-11 Gerd Moellmann <gerd@gnu.org>
11105
52283633 11106 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11107
83c8f461 111082000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11109
11110 * minibuf.c (Ftry_completion): Doc fix.
11111
7a85e4df
GM
111122000-01-11 Gerd Moellmann <gerd@gnu.org>
11113
11114 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11115 vector, too.
11116
a970dae4
AS
111172000-01-11 Andreas Schwab <schwab@suse.de>
11118
11119 * coding.c (code_convert_region): Initialize total_skip.
11120
c65d14ee
DL
111212000-01-08 Dave Love <fx@gnu.org>
11122
11123 * eval.c (Fuser_variable_p): Check customizability too.
11124
834938d2
GM
111252000-01-07 Gerd Moellmann <gerd@gnu.org>
11126
11127 * minibuf.c (Fcompleting_read): Doc fix.
11128
e0303cd6
GM
111292000-01-05 Gerd Moellmann <gerd@gnu.org>
11130
8a26744b
GM
11131 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11132 -L /usr/local/lib.
11133
e0303cd6
GM
11134 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11135 Check that input style is supported before trying to create an
11136 IC for it.
11137 (x_window): Call x_create_im.
427ec082 11138
2e471eb5
GM
111392000-01-04 Gerd Moellmann <gerd@gnu.org>
11140
560a7bd2
GM
11141 * xfns.c (current_gif_memory_src): New variable.
11142 (gif_load): Record the address of the current memory source
11143 in current_gif_memory_src.
11144 (gif_read_from_memory): Use current_gif_memory_src.
11145
f9ee84a3
GM
11146 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11147 macros statement form.
11148
d1299cde
GM
11149 * sound.c (struct sound): Renamed from struct sound_file.
11150 (struct sound): Add members `data' and `header_size'.
11151 (enum sound_attr): Add SOUND_DATA.
11152 (current_sound, current_sound_device): Variables renamed from
11153 sound_file and sound_device.
11154 (parse_sound): Parse :data.
11155 (parse_sound): Handle sound data in strings.
11156 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11157 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11158 needed header size.
11159 (wav_play, au_play): Play sounds from string data.
11160
2e471eb5
GM
11161 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11162
11163 * lisp.h: Add prototype for allocate_string_data.
11164
52283633 11165 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11166
11167 * alloc.c (mark_buffer): Remove code in #if 0.
11168 (gc_sweep): Ditto.
11169 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11170 (strings_consed): New variable.
11171 (allocate_string): Set it.
11172 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11173 (Fmemory_use_counts): Return strings_consed. Use Flist.
11174
11175 * alloc.c: General cleanup in comments etc. Remove conditional
11176 compilation for `standalone'.
11177
11178 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11179
11180 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11181 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11182 (DONT_COPY_FLAG): Removed.
11183 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11184 (struct sdata, struct sblock): New
11185 (struct string_block): Rewritten.
11186 (STRINGS_IN_STRING_BLOCK): New macro.
11187 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11188 (large_sblocks, string_blocks, string_free_list): New variables.
11189 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11190 (init_strings): Rewritten.
11191 (allocate_string, allocate_string_data, compact_small_strings)
11192 (free_large_strings, sweep_strings): New functions.
11193 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11194 (struct string_block_head, current_string_block)
11195 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11196 (STRING_PAD): Removed.
11197 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11198 (Fgarbage_collect): Don't set mark bit in large strings.
11199 (mark_object): Mark strings differently. Mark symbol names
11200 differently.
11201 (survives_gc_p): Test marked strings differently.
427ec082 11202 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11203 symbol names.
11204 (compact_strings): Removed.
11205
42608ba8
EZ
112062000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11207
11208 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11209 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11210
e0a09e1a
KH
112112000-01-04 Kenichi Handa <handa@etl.go.jp>
11212
dd9f0750 11213 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11214 in a non-empty buffer.
dd9f0750 11215
3c0f3b15 11216 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11217
44cd3ae5
GM
112182000-01-03 Gerd Moellmann <gerd@gnu.org>
11219
11220 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11221 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11222
11223 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11224
c182a70f
EZ
112252000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11226
11227 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11228 need to test for MSDOS frames.
11229
24480d5b
EZ
112302000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11231
11232 * dosfns.c (unspecified_colors): Remove.
11233 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11234 unspecified_bg.
11235 (msdos_stdcolor_name): Return strings for unspecified fore- and
11236 back-ground colors.
11237
11238 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11239 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11240 (tty_color_name): Return Lisp strings for unspecified fore- and
11241 back-ground colors.
11242 (Finternal_set_lisp_face_attribute): Remove the special treatment
11243 for Qunspecified_{f,b}g.
52283633 11244 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11245
047f434a
GM
112462000-01-03 Gerd Moellmann <gerd@gnu.org>
11247
11248 * xdisp.c (reseat_at_next_visible_line_start): Position before
11249 newline only if ending up on a newline.
11250 (next_element_from_ellipsis): Return success. Handle case of
52283633 11251 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11252 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11253 returns 0.
11254
d684c676
EZ
112552000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11256
11257 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11258 (Fcolor_supported_p): Renamed from face-color-supported-p.
11259
5fe1d139
EZ
112602000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11261
11262 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11263 list of colors renamed to tty-defined-color-alist.
11264 (tty_color_name): Pass the frame to tty-color-by-index.
11265 (realize_tty_face): tty-color-alist is now a function which
11266 accepts the frame as argument.
11267
52283633 11268 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11269
816be8b8
EZ
112702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11271
11272 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11273 encode_terminal_code.
11274
b635321e
EZ
112752000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11276
11277 * dispnew.c (mode_line_string): Support termcap frames as well.
11278
9b784e96
GM
112792000-01-01 Gerd Moellmann <gerd@gnu.org>
11280
27189709
GM
11281 * syntax.c (Fforward_word): Undo previous change.
11282
11283 * editfns.c (Fconstrain_to_field): Don't constrain if
11284 inhibit-field-text-motion is non-nil.
11285 (Fline_beginning_position): Undo previous change.
11286 (Fline_end_position): Ditto.
11287
11288 * syntax.c (Fforward_word): Notice field boundaries only if
11289 inhibit-field-text-motion is nil.
11290
11291 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11292
11293 * editfns.c (Vinhibit_field_text_motion): New variable.
11294 (inhibit-field-text-motion): New DEFVAR_LISP.
11295 (Fline_beginning_position, Fline_end_position): Notice field
11296 boundaries only if inhibit-field-text-motion is nil.
11297
45158a91
GM
11298 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11299 All calls adjusted.
11300 (x_build_heuristic_mask): Likewise.
11301 (xbm_load_image_from_file): Change error output.
11302 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11303 (gif_load, gs_load, x_kill_gs_process): Ditto.
11304
9b784e96
GM
11305 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11306 color indices when accessing raster pixels.
63cec32f
GM
11307 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11308 one of :file or :data.
11309 (enum pbm_keyword_index): Add PBM_DATA.
11310 (pbm_format): Add :data.
11311 (pbm_image_p): Allow either :file or :data.
11312 (pbm_read_file): New function.
11313 (pbm_scan_number): Rewritten to read from string.
11314 (pbm_load): Support :data.
9b784e96 11315
2cb085db 11316See ChangeLog.8 for earlier changes.
6922b018
KH
11317
11318;; Local Variables:
49b3bd82 11319;; coding: iso-2022-7bit
6922b018 11320;; End: