(Operating on Files): Document dired-dwim-target.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
8c56a983
GM
12001-04-25 Gerd Moellmann <gerd@gnu.org>
2
a728644c
GM
3 * term.c (toggle_highlight): New function.
4 (turn_on_face): Change handling of reverse video.
5
c88164fe
GM
6 * process.c (wait_reading_process_input): Call
7 record_asynch_buffer_change only if a timer really changed
8 buffers.
9
bfd8410f
GM
10 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
11 of the number of overlays to check.
12
be2488ca
GM
13 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
14
8c56a983
GM
15 * xdisp.c (try_window_id): Fix a case where window_end_pos
16 and window_end_bytepos were not adjusted.
17
522d42f7
GM
182001-04-23 Gerd Moellmann <gerd@gnu.org>
19
20 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
21 zero instead of -1.
22
78c1afb6
EZ
232001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
24
25 * process.c (wait_reading_process_input) [!subprocesses]: Don't
26 reference waiting_for_user_input_p, it's not defined in the branch
27 without async subprocesses support.
28
a2fab450
GM
292001-04-19 Gerd Moellmann <gerd@gnu.org>
30
a122a38e
GM
31 * keyboard.c (delete_kboard): Prevent a dangling reference
32 from current_kboard to KB, which is freed.
33
a2fab450
GM
34 * process.c (wait_reading_process_input): Call
35 record_asynch_buffer_change after running timers, to make
36 read_key_sequence aware of buffer changes from under it.
37
0f8d6dc7
GM
382001-04-18 Gerd Moellmann <gerd@gnu.org>
39
eeffb293
GM
40 * xfaces.c (Qscalable_fonts_allowed): New variable.
41 (realizing_basic_faces_p): Removed.
42 (x_face_list_fonts): Special handling for realizing_basic_faces_p
43 removed.
44 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
45 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
46 default for scalable-fonts-allowed to t.
47
0f8d6dc7
GM
48 * fileio.c (Finsert_file_contents): If the file size returned from
49 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
50 read from files on a procfs whose contents are generated
51 dynamically.
52
eec2d1de
EZ
532001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
54
55 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
56 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
57 (__memalign_hook): Make the two prototypes consistent.
58
f4f480bd
GM
592001-04-17 Gerd Moellmann <gerd@gnu.org>
60
61 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
62 matrix of mini-windows.
63
52283633
SM
642001-04-12 Stefan Monnier <monnier@cs.yale.edu>
65
66 * intervals.c (find_interval): Don't rebalance during signal handling.
67
ec2423c9
GM
682001-04-11 Gerd Moellmann <gerd@gnu.org>
69
30cb0001 70 * fns.c: Include blockinput.h.
52283633 71
ec2423c9
GM
72 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
73
719d83ad
GM
742001-04-10 Gerd Moellmann <gerd@gnu.org>
75
60f8d735
GM
76 * fns.c (Fcompare_strings): Fix return values.
77
afffeb57
GM
78 * window.c (window_scroll): Change the meaning of N to mean
79 N screen-fulls or N lines.
80 (window_scroll_pixel_based, window_scroll_line_based)
81 (scroll_command, Fscroll_other_window): Change accordingly.
82
52283633
SM
83 * window.c (window_scroll_pixel_based, Frecenter):
84 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
85 height of the window.
86
87 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
88 instead of using it.last_visible_y for the height of the window.
52283633 89
719d83ad
GM
90 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
91
92 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
93 able to write to hidden and system files. Make file handles
94 non-inheritable.
95
96 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
97
522ed7fb
GM
982001-04-09 Gerd Moellmann <gerd@gnu.org>
99
9170e5d4
GM
100 * fns.c (Fplist_get, Fplist_put): Add QUITs.
101
522ed7fb
GM
102 * window.c (window_internal_height): Return 1 less if the
103 window has a header line.
104
105 * xdisp.c (try_window_id): When scrolling on a terminal, take
106 the change of window_internal_height into account.
107
ceeb3d7d
EZ
1082001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
109
110 * gmalloc.c (align): If the argument SIZE would overflow
111 __malloc_ptrdiff_t, fail right away.
112
63685b9d
GM
1132001-04-06 Gerd Moellmann <gerd@gnu.org>
114
115 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
116 Make sure the tooltip is completely visible.
117 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
118
119 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
120
121 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
122
3ffb33bb
DL
1232001-04-06 Dave Love <fx@gnu.org>
124
52283633
SM
125 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
126 Fix test of `from'.
3ffb33bb 127
869fb12c
GM
1282001-04-06 Gerd Moellmann <gerd@gnu.org>
129
52283633 130 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 131
869fb12c
GM
132 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
133
441bf856
GM
1342001-04-05 Gerd Moellmann <gerd@gnu.org>
135
4d664b04
GM
136 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
137
52283633 138 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 139
30ca89f5
GM
140 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
141 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
142
143 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
144 shell widget's position only if it is non-null.
145
52283633
SM
146 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
147 Set f->output_data.x->widget to null after destroying it.
30ca89f5 148
81a81c0f
GM
149 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
150 FILENAME to bring it in synch with the documentation.
151
441bf856
GM
152 * xfaces.c (realizing_basic_faces_p): Renamed from
153 realize_default_face_p.
154 (realize_basic_faces): Set/clear realizing_basic_faces_p.
155 (realize_default_face): Don't set the flag.
156
702a1e8e
GM
1572001-04-04 Gerd Moellmann <gerd@gnu.org>
158
1013f4e3
GM
159 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
160
52283633
SM
161 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
162
1013f4e3
GM
163 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
164 the buffer that was used for echoing.
165
702a1e8e
GM
166 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
167 (first_font_matching): Removed unused function.
168 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
169 (may_use_scalable_font_p): Remove parameter FONT; rename
170 parameter NAME to FONT.
171 (x_face_list_fonts): Fix missing bounds check.
172 (realizing_default_face_p): New variable.
173 (realize_default_face): Set and clear that flag.
174 (x_face_list_fonts): When called during the realization of the
175 default face, and no matching fonts are found when ignoring
176 scalable fonts and fonts matching a regexp from
177 face-ignored-fonts, try without ignoring fonts.
178
f9dbcda4
GM
1792001-04-03 Gerd Moellmann <gerd@gnu.org>
180
ad18ffb1
GM
181 * xfns.c (postprocess_image): New function.
182 (lookup_image): Call it for all image types except PostScript.
183 (x_kill_gs_process): Call postprocess_image.
184
f9dbcda4
GM
185 * xterm.c (x_use_underline_position_properties): New variable.
186 (x_draw_glyph_string): Use it.
187 (syms_of_xterm): DEFVAR_BOOL it.
188
651f03b6
GM
1892001-04-02 Gerd Moellmann <gerd@gnu.org>
190
191 * xterm.c (x_alloc_nearest_color_1): New function.
192 (x_alloc_nearest_color): Use it.
193 (x_color_cells): Take a Display as argument, instead of a frame.
194 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
195 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
196 (x_initialize): Register cvt_string_to_pixel as resource converter
197 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
198
73d75a62
GM
1992001-03-30 Gerd Moellmann <gerd@gnu.org>
200
b2046df8
GM
201 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
202 (set_iterator_to_next): If a string from a display property ends,
203 consider the case that this might also be the end of an
204 overlay string having the display property.
205
52283633 206 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 207
87d8eba4
GM
208 * xdisp.c (reseat_to_string): Undo last change.
209
73d75a62
GM
210 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
211 matrix of a window when the header line changes, when
212 new rows are allocated, or when the width changes.
213
911a2406
EZ
2142001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
215
52283633 216 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 217
aea51abe
EZ
2182001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
219
220 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
221 deprecated.
222
176bc847
GM
2232001-03-29 Gerd Moellmann <gerd@gnu.org>
224
ed31fabf
GM
225 * data.c (Fsubr_interactive_form): New function.
226 (syms_of_data): Defsubr it.
227
176bc847
GM
228 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
229 (live_float_p, live_misc_p): Return 1 only if the offset of the
230 pointer in its block is >= 0.
231
e59d0e9d
GM
2322001-03-28 Paul Eggert <eggert@twinsun.com>
233
234 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
235 microseconds calcuation. Avoid double-rounding problem.
236 In doc string, warn that the result is approximate.
237
f827b862
GM
2382001-03-28 Gerd Moellmann <gerd@gnu.org>
239
30a3f61c
GM
240 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
241 bind `inhibit-eval-during-redisplay' to t.
242
243 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
244
245 * xdisp.c (inhibit_eval_during_redisplay)
246 (Qinhibit_eval_during_redisplay): New variables.
247 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
248 don't eval, return nil instead.
249 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
250 Initialize Qinhibit_eval_during_redisplay.
251
e719f5ae
GM
252 * xdisp.c (reseat_to_string): If STRING is multibyte, set
253 the iterator's multibyte_p flag.
254
deb2613a
GM
255 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
256 instead of setting it to zero; it's incremented for each frame
257 where the menu face is changed.
258
52283633
SM
259 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
260 change bottom shadow accordingly.
261
262 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
263 intersections here.
264 (expose_window): Do it here instead.
52283633 265 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 266
f827b862
GM
267 * bytecode.c (BYTE_CODE_QUIT): New macro.
268 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
269
4bde0ebb
GM
2702001-03-27 Gerd Moellmann <gerd@gnu.org>
271
607ec83c
GM
272 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
273 Give up if matrix starts in an ellipsis.
274 (init_from_display_pos): Do nothing if POS doesn't specify
275 a dpvec_index but the iterator has such a position.
276
0245398f
GM
277 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
278
aba25348
GM
279 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
280 x/y position is (0, 0) after destroying the menu bar, restore
281 its original position.
282
4bde0ebb
GM
283 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
284 (init_from_display_pos): Use it.
285 (try_window_reusing_current_matrix): Don't use cursor_row_p.
286
8cdb267e
GM
2872001-03-26 Gerd Moellmann <gerd@gnu.org>
288
289 * xdisp.c (try_window_id): Undo last change.
290
9948db79
EZ
2912001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
292
293 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
294
295 * buffer.c (syms_of_buffer): Doc fix.
296
2eddf899
GM
2972001-03-26 Gerd Moellmann <gerd@gnu.org>
298
299 * xfaces.c (x_update_menu_appearance): Use local variable
300 popup_path for setting font resources.
301
6c145d35
EZ
3022001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
303
6a65b1b5
EZ
304 * frame.c (Fframe_list): Don't reference tip_frame if
305 HAVE_WINDOW_SYSTEM is not defined.
306
6c145d35
EZ
307 * emacs.c (main): Update the copyright year. From Werner LEMBERG
308 <wl@gnu.org>.
309
d74c1900
GM
3102001-03-25 Gerd Moellmann <gerd@gnu.org>
311
20fbd925
GM
312 * xdisp.c (init_from_display_pos): Test invisible property
313 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 314
927c5b3b
GM
315 * xdisp.c (redisplay_internal) <update one window>: Make sure
316 last_arrow_position and last_arrow_string are set.
317
d74c1900
GM
318 * frame.c (Fframe_list): Don't return a tooltip frame.
319
091f8878
GM
3202001-03-23 Gerd Moellmann <gerd@gnu.org>
321
52283633
SM
322 * xdisp.c (mark_window_display_accurate_1): New function,
323 extracted from mark_window_display_accurate.
324 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
325 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
326 (mark_window_display_accurate): Use it.
327 (redisplay_internal): Use it for the selected window.
328 (redisplay_internal): Avoid duplicate mark_window_display_accurate
329 for the selected frame.
330
ac90c44f
GM
331 * xdisp.c Use make_number, for readability.
332 (try_window_id): Disable rows below the window end.
333 (try_window_reusing_current_matrix): Use cursor_row_p.
334 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
335 of rows.
336 (init_from_display_pos): If POS specifies a position in a display
337 vector, maybe get the iterator set up for that ellipsis.
43c09969 338
091f8878
GM
339 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
340
991786dd
EZ
3412001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
342
343 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
344
6c29b43c
GM
3452001-03-23 Gerd Moellmann <gerd@gnu.org>
346
347 * xfaces.c (x_update_menu_appearance): Use a different path
348 for Lucid popup menus.
349
d8731202
SM
3502001-03-22 Stefan Monnier <monnier@cs.yale.edu>
351
352 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
353
354 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
355 (string_buffer_position): Use `make_number'.
356
f61a541b
GM
3572001-03-22 Gerd Moellmann <gerd@gnu.org>
358
3c9e997b
GM
359 * xfaces.c (x_update_menu_appearance): Renamed from
360 x_set_menu_face_resources. Use different resources for popups.
361
362 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
363 (GC_CHECK_STRING_BYTES): Don't define.
364
364cd450
GM
365 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
366 Removed, together with subroutines.
367 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 368 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 369
d8731202
SM
370 * dispextern.h (x_set_menu_resources_from_menu_face):
371 Remove prototype.
364cd450 372
d8731202 373 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
374 Remove calls to x_set_menu_resources_from_menu_face.
375
d8731202
SM
376 * xfaces.c (xm_set_menu_resources_from_menu_face):
377 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
378
379 * xmenu.c: Include widget.h.
380 (single_submenu): Return int. Some cleanup.
381 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
382
140330de
GM
3832001-03-21 Gerd Moellmann <gerd@gnu.org>
384
385 * xterm.c (x_update_window_end): Handle overwritten mouse face
386 also for tool bar windows.
387 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
388 DRAW is DRAW_IMAGE_RAISED.
389
1741905c
GM
3902001-03-20 Gerd Moellmann <gerd@gnu.org>
391
fa88947e
GM
392 * print.c (syms_of_print): Doc fixes.
393
1741905c
GM
394 * fns.c (Fmd5): Doc fix.
395
ade0bee1
GM
3962001-03-19 Gerd Moellmann <gerd@gnu.org>
397
357e7376
GM
398 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
399 Clear area of the frame not occupied by the scroll bar.
400
c2c097cc
GM
401 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
402 tip frame's root window buffer to *tip* right after creating
403 the frame.
404
ade0bee1
GM
405 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
406 is an integer don't have to be for space characters.
407
88c6e37e
GM
4082001-03-16 Gerd Moellmann <gerd@gnu.org>
409
52283633
SM
410 * indent.c (current_column, current_column_1, Fmove_to_column)
411 (compute_motion): Handle characters from display vectors differently.
88c6e37e 412
c62eed76
KH
4132001-03-15 Kenichi Handa <handa@etl.go.jp>
414
415 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
416 drawing glyph string.
417
c899e7e6
GM
4182001-03-15 Gerd Moellmann <gerd@gnu.org>
419
d0bbfc99
GM
420 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
421 (command_loop_1): Undo last change.
422
03d1a189
GM
423 * xterm.c (fast_find_position): Return the correct vpos.
424
c899e7e6 425 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 426 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
427 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
428 Call store_symval_forwarding with BUF null.
429 (set_internal): Call store_symval_forwarding with the BUF
430 parameter passed to set_internal. Formerly, the value was always
431 set in the current buffer; the buffer recorded in specbind for
432 this case wasn't used.
433 (arith_driver): Reindent.
434
52283633
SM
435 * buffer.c (swap_out_buffer_local_variables):
436 Call store_symval_forwarding with BUF null.
c899e7e6
GM
437
438 * lisp.h (store_symval_forwarding): Change prototype.
439
440 * eval.c (specbind): Call store_symval_forwarding with BUF null.
441
57ac7c81
GM
4422001-03-14 Gerd Moellmann <gerd@gnu.org>
443
697617d9
GM
444 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
445 FOR_DELETION. Avoid resizing the mini-window of the selected
446 frame if FOR_DELETION is set.
447 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
448 (Fmake_frame_invisible): Change calls to do_switch_frame for new
449 signature.
450
451 * window.c (Fset_window_configuration): Change call to
452 do_switch_frame to new format.
453
454 * keyboard.c (quit_throw_to_read_char): Change call to
455 do_switch_frame to new format.
456
457 * lisp.h (do_switch_frame): Change prototype.
458
819dce0f
GM
459 * frame.c (Fframe_parameters): In the `buffer-list' frame
460 parameter, store the buffer list of FRAME, not the list of the
461 selected frame.
462
57ac7c81
GM
463 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
464 box just because the glyph row's full_width_p flag is set.
465
65008712
GM
4662001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
467
468 * xdisp.c (highlight_trailing_whitespace): On character terminals,
469 skip the padding blanks inserted in extend_face_to_end_of_line,
470 before checking for trailing whitespace.
471
159cf431
GM
4722001-03-13 Gerd Moellmann <gerd@gnu.org>
473
52283633 474 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
475 Remove special handling for LessTif/Motif.
476 (toplevel): Don't include Xm/Xm.h.
477
52283633
SM
478 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
479 Remove workaround code for LessTif; it doesn't work anymore.
480
2564ea1b 481 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 482 Xm/ScrollBarP.h.
afcdc0a1 483
52283633
SM
484 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
485 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
486 contemporary LessTif.
487
52283633
SM
488 * xfaces.c (xm_set_menu_resources_from_menu_face):
489 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 490
159cf431
GM
491 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
492 removing button grabs.
493
c6f7429a
KH
4942001-03-13 Kenichi Handa <handa@etl.go.jp>
495
cb82d767
KH
496 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
497 and clip-large-size-font as obsolete.
498
c6f7429a
KH
499 * lread.c (read_multibyte): Check the validity of multibyte
500 sequence. If invalid, return the first byte.
501
760cefb5
GM
5022001-03-12 Gerd Moellmann <gerd@gnu.org>
503
504 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
505 before running the command; timer functions or process
506 filters may have set it.
507
5141f9d0
EZ
5082001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
509
510 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
511 Doc fix.
512
b6a15240
GM
5132001-03-12 Gerd Moellmann <gerd@gnu.org>
514
515 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
516 to sprintf.
517
95522746
GM
5182001-03-09 Gerd Moellmann <gerd@gnu.org>
519
db14cfc5
GM
520 * dispextern.h (string_buffer_position): Add prototype.
521
52283633 522 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
523 (single_display_prop_string_p): New functions.
524
525 * xterm.c (note_mouse_highlight): If there's no help-echo on
526 a string, look at the buffer text ``under'' it.
527
528 * keyboard.c (make_lispy_event): Add string info to the event,
529 analogous to what's done on mode lines.
530 (read_key_sequence): For a click on a string, consider `local-map'
531 and `keymap' of that string.
532
52283633
SM
533 * keyboard.c (make_lispy_event, make_lispy_movement):
534 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
535
536 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
537
538 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
539 POS; return void.
540
95522746
GM
541 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
542 flags argument to emacs_open; it seems to conflict with O_EXCL.
543
898a399d
KH
5442001-03-09 Kenichi Handa <handa@etl.go.jp>
545
28cd4910
KH
546 * composite.h (struct composition): Change types of members;
547 glyph_len to unsigned, width to unsigned short.
898a399d 548
4cdf6a6c
AI
5492001-03-08 Andrew Innes <andrewi@gnu.org>
550
551 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
552 menu titles.
553
129004d3
GM
5542001-03-08 Gerd Moellmann <gerd@gnu.org>
555
221dd3e7
GM
556 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
557 instead of nil.
558
52283633 559 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
560 help-echo in strings.
561 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
562 (fast_find_string_pos): New function.
563
52283633
SM
564 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
565 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
566
567 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
568 Handle `mouse-face'.
569
570 * dispextern.h (face_at_string_position): Change prototype.
571
52283633 572 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 573
129004d3
GM
574 * keyboard.c (make_lispy_event): Avoid generating drag events
575 if the mouse hasn't actually moved to another buffer position.
52283633 576
80c8ab8c
DL
5772001-03-08 Dave Love <fx@gnu.org>
578
129004d3 579 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 580
989521fd
GM
5812001-03-08 Gerd Moellmann <gerd@gnu.org>
582
583 * process.c (Fset_process_window_size): Fix a typo.
584
bb5c338d
KH
5852001-03-08 Kenichi Handa <handa@etl.go.jp>
586
587 * coding.c (detect_coding_sjis): Do more rigid check.
588 (detect_coding_big5): Likewise.
589 (decode_coding_sjis_big5): Likewise.
590 (Fdetect_coding_region): Call detect_coding_system with tailing
591 anchor byte `\0' for more rigid detection.
52283633 592 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
593 (Fdetect_coding_string): Likewise.
594
8b8f9197
SM
5952001-03-07 Stefan Monnier <monnier@cs.yale.edu>
596
597 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
598 a string before extracting its data.
599
3bdf2660
GM
6002001-03-07 Gerd Moellmann <gerd@gnu.org>
601
602 * window.c (Frecenter): Rewrite code handling negative values
603 of ARG on graphical frames.
604
6052001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
606
607 * window.c (displayed_window_lines): If W->start is outside the
608 accessible portion of the buffer, call start_display with BEGV or
609 ZV instead of W->start.
610
471f86b9
GM
6112001-03-07 Gerd Moellmann <gerd@gnu.org>
612
2ab62c6c
GM
613 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
614
471f86b9
GM
615 * process.c (Fset_process_filter): Don't crash if the input
616 file descriptor of PROCESS is closed.
617 (Fset_process_window_size): Likewise.
618
101922c3
GM
6192001-03-06 Kenichi Handa <handa@etl.go.jp>
620
621 * xterm.c (XTflash): Make the timeout of select shorter, and call
622 select repeatedly until the desired time expires.
623
45d051a7
GM
6242001-03-06 Gerd Moellmann <gerd@gnu.org>
625
626 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
627
628 * xfns.c (Fx_create_frame): Clear Vwindow_list.
629
630 * lisp.h (Vwindow_list): Declare extern.
631
8f372c46
EZ
6322001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
633
634 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
635
f16a7aa5
GM
6362001-03-06 Gerd Moellmann <gerd@gnu.org>
637
157ae273
GM
638 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
639 to detect a case where we have to highlight a different region
640 despite not having left the currently highlighted region.
641 Set mouse_face_overlay in the x_display_info.
45d051a7 642 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
643
644 * xterm.h (struct x_display_info): Add mouse_face_overlay.
645
646 * buffer.c (mouse_face_overlay_overlaps): New function.
647
648 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
649 (Qmouse_face): Declare extern.
650
f16a7aa5
GM
651 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
652 if face_change_count is non-zero.
653
827afcac
KH
6542001-03-06 Kenichi Handa <handa@etl.go.jp>
655
656 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
657 that the source is unibyte.
658
14c7242e
DL
6592001-03-05 Dave Love <fx@gnu.org>
660
827afcac 661 * xterm.c (XTmouse_position): Fix typo.
14c7242e 662
c28b847b
GM
6632001-03-05 Gerd Moellmann <gerd@gnu.org>
664
665 * minibuf.c (read_minibuf): Clean up the binding stack if
666 called noninteractively.
667
b86644f2
KH
6682001-03-05 Kenichi Handa <handa@etl.go.jp>
669
670 * coding.c (syms_of_coding): Docstring modified.
671
203682cc 6722001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
673
674 * charset.c (char_to_string): If a single byte char has modifier
675 bits that can't be reflected to the character code, ignore them
45d051a7 676 instead of signaling an error.
b86644f2 677
e30bd7b7
EZ
6782001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
679
680 * s/msdos.h: Update copyright notice.
681
682 * dosfns.h: Update copyright notice.
683
684 * dosfns.c: Update copyright notice.
685
686 * msdos.c: Update copyright notice.
687
b52b65bd
GM
6882001-03-02 Gerd Moellmann <gerd@gnu.org>
689
690 * xterm.c (glyph_rect): New function.
691 (XTmouse_position): Use it to raise the threshold for mouse
692 movement event generation.
693
53c4b1e6
EZ
6942001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
695
696 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
697 specifies (reverse . t), reverse the initial screen colors.
698 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
699 but we are reversing the colors, set bg_set, not fg_set.
700 Likewise for setting background-color and reversing: set fg_set.
701 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
702 in effect.
703
704 * xfaces.c (Finternal_set_lisp_face_attribute)
705 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
706 parameters alist.
707
f964b4d7
GM
7082001-03-02 Gerd Moellmann <gerd@gnu.org>
709
ef53d75e
GM
710 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
711 to a single slash in the middle of file names.
712
52283633 713 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
714 Accept only alphanumeric time zone names.
715
f964b4d7
GM
716 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
717 or width area.
718 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
719 a widget to zero height.
52283633 720
c3c45f65
GM
7212001-03-01 Gerd Moellmann <gerd@gnu.org>
722
723 * window.c (Fwindow_end): Call move_it_past_eol only if
724 ending up on a partially visible line.
725
028d739a
DL
7262001-03-01 Dave Love <fx@gnu.org>
727
728 * ccl.c (Fccl_execute): Doc fix.
729
57c5889c
GM
7302001-03-01 Gerd Moellmann <gerd@gnu.org>
731
35f59f6b
GM
732 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
733 of the tool bar before calling x_figure_window_size.
734
f84ff02c
GM
735 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
736 NULL after destroying it, otherwise XTread_socket can access a
737 destroyed widget when input is unblocked.
738
8b8f9197 739 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 740
57c5889c
GM
741 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
742 same name as before, although there was a change in fontsets.
743
224227d1
KR
7442001-02-28 Ken Raeburn <raeburn@gnu.org>
745
4560730a
KR
746 * lisp.h (Fframe_parameter): Declare.
747
224227d1 748 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 749 Lisp_Object.
224227d1 750
ece93c02
GM
7512001-02-28 Gerd Moellmann <gerd@gnu.org>
752
11ef99b9
GM
753 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
754 NULL instead.
755
756 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
757 NULL instead.
758
ece93c02
GM
759 * alloc.c (toplevel): Include process.h.
760 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
761 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
762 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
763 (allocate_vector, allocate_hash_table, allocate_window)
764 (allocate_frame, allocate_process, allocate_other_vector):
765 New functions.
ece93c02
GM
766 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
767 (mark_maybe_pointer): New function.
52283633 768 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
769 remain and not Lisp_Objects.
770 (min_heap_address, max_heap_address): New variables.
771 (mem_find): Return MEM_NIL if START is below min_heap_address or
772 above max_heap_address.
773 (mem_insert): Compute min_heap_address and max_heap_address.
774
775 * process.c (make_process): Use allocate_process.
776
777 * frame.c (make_frame): Use allocate_frame.
778
779 * window.c (make_window, make_dummy_parent): Use allocate_window.
780 (Fcurrent_window_configuration): Use allocate_other_vector.
781
782 * lisp.h (allocate_vectorlike): Remove prototype.
783 (allocate_vector, allocate_other_vector, allocate_frame)
784 (allocate_window, allocate_process, allocate_hash_table):
785 Add prototypes.
786
787 * fns.c (Fdelete, larger_vector): Use allocate_vector.
788 (make_hash_table, copy_hash_table): Use allocate_hash_table.
789
063af457
KH
7902001-02-27 Kenichi Handa <handa@etl.go.jp>
791
792 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
793 treat the produced bytes as a valid multibyte sequence.
794
795 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
796 (ccl_driver) <CCL_WriteMultibyteChar2>:
797 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
798 <ccl_finish>: Set ccl->eight_bit_control properly.
799
800 * ccl.h (struct ccl_program): New member eight_bit_control.
801
f58c6494
SM
8022001-02-26 Stefan Monnier <monnier@cs.yale.edu>
803
804 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
805 accessible_keymaps_char_table.
806 (accessible_keymaps_char_table): Obey `is_metized'.
807 (where_is_internal, Fwhere_is_internal): Don't confuse int and
808 Lisp_Object.
809
c596c392
GM
8102001-02-26 Gerd Moellmann <gerd@gnu.org>
811
812 * dispnew.c: Check HAVE_TERM_H before including term.h.
813
425de386
AI
8142001-02-24 Andrew Innes <andrewi@gnu.org>
815
816 * makefile.w32-in: Update copyright notice.
817
2ba11bbd
SM
8182001-02-24 Stefan Monnier <monnier@cs.yale.edu>
819
820 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
821
66c56ed1
KH
8222001-02-24 Kenichi Handa <handa@etl.go.jp>
823
4c1593ce
KH
824 * Makefile.in (lisp): Add international/utf-8.elc.
825
66c56ed1
KH
826 * fontset.c (Fnew_fontset): Fix handling of the case that an
827 element of FONTLIST is a cons of family and registry.
828
796ead7e
JR
8292001-02-23 Jason Rumney <jasonr@gnu.org>
830
831 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
832 to height unconditionally.
833
834 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 835 background face to the end of the drawing area in the text area, only.
796ead7e
JR
836 (x_insert_glyphs): Call window_box_left to obtain the left
837 x-coordinate of the area to shift.
838
839 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
840 safe_run_hooks.
841
f6839838
AI
8422001-02-22 Andrew Innes <andrewi@gnu.org>
843
52283633 844 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
845 ($(BLD)\dispnew.obj):
846 ($(BLD)\editfns.obj):
847 ($(BLD)\fileio.obj):
848 ($(BLD)\filelock.obj):
849 ($(BLD)\keyboard.obj):
850 ($(BLD)\w32proc.obj):
851 ($(BLD)\process.obj):
852 ($(BLD)\sysdep.obj): Ditto.
853
854 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
855 header files.
52283633
SM
856 ($(BLD)/dispnew.$(O)):
857 ($(BLD)/editfns.$(O)):
858 ($(BLD)/fileio.$(O)):
859 ($(BLD)/filelock.$(O)):
860 ($(BLD)/keyboard.$(O)):
861 ($(BLD)/w32proc.$(O)):
862 ($(BLD)/process.$(O)):
f6839838
AI
863 ($(BLD)/sysdep.$(O)): Ditto.
864
c224f70b
GM
8652001-02-22 Gerd Moellmann <gerd@gnu.org>
866
51695746
GM
867 * xdisp.c (forward_to_next_line_start): When taking the shortcut
868 at the start of the function, check that the \n in it->c is
869 from the iterator's current position.
52283633 870
a61b7058
GM
871 * xdisp.c (handle_single_display_prop): Add parameter
872 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
873 properties which replace the display of text with something else.
874 (handle_display_prop): Call handle_single_display_prop with
875 additional argument saying if we already replaced text display
876 with something else. Use AREF.
52283633 877 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
878 (decode_mode_spec_coding): Use AREF and ASIZE.
879
3473f362
GM
880 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
881 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
882 * vmstime.h: Files removed.
52283633 883
2bb58df3
GM
884 * unexencap.c, unexfx2800.c: Files removed.
885
c224f70b
GM
886 * dispnew.c (direct_output_for_insert): Give up if we are showing
887 a message or just cleared the message because we might need to
888 resize the echo area window or display an empty echo area.
889
ffc9ff0c
GM
8902001-02-21 Gerd Moellmann <gerd@gnu.org>
891
0528abe1
GM
892 * xdisp.c (redisplay_internal): Do the
893 mark_window_display_accurate after all windows have been
894 redisplayed because this call resets flags in buffers which are
895 needed for proper redisplay.
896
52283633
SM
897 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
898 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
899 the old names.
900
52283633
SM
901 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
902 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
903
904 * msdos.h (struct x_output): Rename busy_window to
905 hourglass_window, busy_p to hourglass_p.
906
52283633
SM
907 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
908 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
909
910 * xfns.c: Rename everything containing *busy_cursor* and similar
911 to *hourglass*.
912 (syms_of_w32fns): Rename x-busy-pointer-shape to
913 x-hourglass-pointer-shape, display-busy-cursor to
914 display-hourglass, busy-cursor-delay to hourglass-delay.
915
916 * w32fns.c: Rename everything containing *busy_cursor* and similar
917 to *hourglass*.
918 (syms_of_w32fns): Rename x-busy-pointer-shape to
919 x-hourglass-pointer-shape, display-busy-cursor to
920 display-hourglass, busy-cursor-delay to hourglass-delay.
921
922 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
923 of its busy_p flag.
924
925 * dispextern.h (start_hourglass, cancel_hourglass)
926 (display_hourglass_p): Renamed from *busy_cursor*.
927
ab2c5f0a
GM
9282001-02-20 Gerd Moellmann <gerd@gnu.org>
929
d17e49a8
GM
930 * keyboard.c (read_char): When an event from unread-command-events
931 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
932
fa97adf6
GM
933 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
934 equal to the current buffer.
935
ab2c5f0a
GM
936 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
937 nil, otherwise we're left with truncate_lines t when a message
938 is printed with message-truncate-lines bound to t.
939
aeac019e
GM
9402001-02-19 Gerd Moellmann <gerd@gnu.org>
941
c8bc6f65
GM
942 * window.c (Fmove_to_window_line): Undo last change.
943 (displayed_window_lines): Call line_bottom_y to determine
944 the line's bottom position.
945
946 * dispextern.h (line_bottom_y): Add prototype.
947
52283633 948 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
949 (pos_visible_p): Use it.
950
980a2d69
GM
951 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
952 set redisplaying_p to 0 here instead of in Frecursive_edit.
953 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
954 set redisplaying_p.
955
52283633 956 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
957 New variables.
958 (syms_of_xdisp): Initialize new variables.
959 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
960 Specbind `inhibit-menubar-update' when updating the menu bar.
961
65048e97
GM
962 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
963 safe_run_hooks.
964
965 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
966 safe_run_hooks.
967
a57c4026
GM
968 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
969 is null.
970
aeac019e
GM
971 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
972 to the start of the file.
973
76846b31
GM
9742001-02-16 Gerd Moellmann <gerd@gnu.org>
975
f3f053f3 976 * window.c (set_window_buffer): Fix last change.
52283633 977
f3f053f3
GM
978 * window.c (set_window_buffer): Set window's vscroll to 0.
979
dad75588
GM
980 * window.c (coordinates_in_window): Increase width of area
981 where the vertical line can be dragged.
982
c220b753
GM
983 * xterm.c (x_set_glyph_string_background_width): Extend the
984 background face to the end of the drawing area in the text
985 area, only.
986
c56b1c1b
GM
987 * xdisp.c (handle_single_display_prop): Set iterator's position
988 to where the `display' property starts, like for images.
989 (dump_glyph): New function.
990 (dump_glyph_row): Use it. Dump info about marginal areas.
991
992 * dispnew.c (direct_output_for_insert): Recognize more cases where
993 glyphs can be written instead of being inserted.
994
995 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
996 the left x-coordinate of the area to shift.
997
76846b31
GM
998 * dired.c (directory_files_internal): Set result list to nil
999 before retrying.
1000
0fc71a77
KH
10012001-02-15 Kenichi Handa <handa@etl.go.jp>
1002
1003 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1004 invalid multibyte sequence, treat *SRC as a character of
1005 eight-bit-graphic.
1006
25078b54
EZ
10072001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1008
1009 * textprop.c (Fset_text_properties): Doc fix.
1010
8399f8a0
GM
10112001-02-15 Gerd Moellmann <gerd@gnu.org>
1012
1013 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1014
9a2a6f73
DL
10152001-02-14 Dave Love <fx@gnu.org>
1016
1017 * coding.c: Doc and message fixes.
1018
bf853fee
AI
10192001-02-14 Andrew Innes <andrewi@gnu.org>
1020
1021 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1022 Emacs frame above the screen size.
1023
78c663d8
GM
10242001-02-14 Gerd Moellmann <gerd@gnu.org>
1025
1026 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1027
7cc9f69f
GM
10282001-02-13 Gerd Moellmann <gerd@gnu.org>
1029
0a411995
GM
1030 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1031 case that TO ends up beyond ZV after running before-change-functions.
1032
5ddc1b75
GM
1033 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1034 the selected window if it is showing the buffer in question.
1035
7cc9f69f
GM
1036 * dired.c (directory_files_internal): Initialize errno.
1037 (toplevel): Include errno.h.
1038
2e6621ca
GM
10392001-02-13 Kenichi Handa <handa@etl.go.jp>
1040
1041 * xfaces.c (best_matching_font): New parameter width_ratio.
1042 Multiply avgwidth by width_ratio.
1043 (choose_face_font): Call best_matching_font with width_ratio
1044 calculated from the column width of C.
1045
60222d69
AI
10462001-02-12 Andrew Innes <andrewi@gnu.org>
1047
1048 The following changes are to draw box lines inside characters area
1049 if line-width is negative.
52283633 1050
60222d69
AI
1051 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1052 face->box_line_width is negative.
1053 (x_produce_stretch_glyph): Likewise.
1054 (x_produce_glyphs): Likewise.
1055 (x_estimate_mode_line_height): Likewise.
1056 (x_draw_glyph_string_background): Likewise.
1057 (x_draw_glyph_string_foreground): Likewise.
1058 (x_draw_composite_glyph_string_foreground): Likewise.
1059 (x_draw_glyph_string_box): Likewise.
1060 (x_draw_image_foreground): Likewise.
1061 (x_draw_image_relief): Likewise.
1062 (x_draw_image_foreground_1): Likewise.
1063 (x_draw_image_glyph_string): Likewise.
1064
9804b846
KH
10652001-02-09 Kenichi Handa <handa@etl.go.jp>
1066
1067 The following changes are to draw box lines inside characters area
1068 if line-width is negative.
52283633 1069
9804b846
KH
1070 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1071 face->box_line_width is negative.
1072 (x_produce_stretch_glyph): Likewise.
1073 (x_produce_glyphs): Likewise.
1074 (x_estimate_mode_line_height): Likewise.
1075 (x_draw_glyph_string_background): Likewise.
1076 (x_draw_glyph_string_foreground): Likewise.
1077 (x_draw_composite_glyph_string_foreground): Likewise.
1078 (x_draw_glyph_string_box): Likewise.
1079 (x_draw_image_foreground): Likewise.
1080 (x_draw_image_relief): Likewise.
1081 (x_draw_image_foreground_1): Likewise.
1082 (x_draw_image_glyph_string): Likewise.
1083
1084 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1085 and :line-width can be negative.
52283633 1086 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1087
49be9f70
JR
10882001-02-09 Jason Rumney <jasonr@gnu.org>
1089
1090 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1091 characters the same as ASCII and latin-1.
1092 (x_display_and_set_cursor): Check for the focus frame's selected
1093 window instead of selected_window.
1094 (x_after_update_window_line): Don't clear if frame's internal
1095 border width is zero.
1096 (x_new_font): Don't change a tooltip's size.
1097 (w32_initialize): Set char_ins_del_ok to 1.
1098
1099 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1100 (x_set_font): If font hasn't changed, avoid recomputing
1101 faces and other things.
52283633
SM
1102 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1103 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1104 (x_create_tip_frame): Prevent changing the tooltip's
1105 background color by specifying a color for the default font
1106 in .Xdefaults.
1107 (Qcancel_timer): New variable.
1108 (syms_of_w32fns): Initialize and staticpro it.
1109 (Fx_hide_tip, Fx_show_tip): Use it.
1110 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1111 the timer.
1112 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1113
1114 * w32.c (init_environment): Duplicate local string before putenv.
1115
555e35d2
SZ
11162001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1117
1118 * charset.c (Fstring): A typo.
1119
19c92c94
KH
11202001-02-09 Kenichi Handa <handa@etl.go.jp>
1121
e47a1c33
KH
1122 * charset.c (Fstring): If all arguments are less than 256, return
1123 a unibyte string.
1124
1125 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1126 return a unibyte string.
1127
19c92c94
KH
1128 * coding.c (code_convert_region): After detecting a coding, if
1129 nothing found, set coding->composing to COMPOSITION_NO.
1130 (decode_coding_string): Likewise.
1131
d8e675f5
SM
11322001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1133
1134 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1135 to avoid overflow.
1136
bd503487
KH
11372001-02-07 Kenichi Handa <handa@etl.go.jp>
1138
1139 * charset.c (parse_str_to_multibyte): New function.
1140
1141 * charset.h (parse_str_to_multibyte): Extern it.
1142
1143 * print.c (print_string): If we are going to print a unibyte
1144 string into a multibyte buffer, convert the string to multibyte by
1145 str_to_multibyte.
1146
a8370d72
AI
11472001-02-06 Andrew Innes <andrewi@gnu.org>
1148
1149 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1150 been created. It seems we can get sent window messages such as
1151 WM_ERASEBKGND before we properly update a frame.
1152
c363a1d6
GM
11532001-02-06 Gerd Moellmann <gerd@gnu.org>
1154
1155 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1156 Avoid some unnecessary cursor positioning.
1157
a08332c0
GM
11582001-02-05 Gerd Moellmann <gerd@gnu.org>
1159
52283633 1160 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1161 (LFACE_AVGWIDTH): New macro.
1162 (LFACEP): Use AREF.
1163 (check_lface_attrs): Check LFACE_AVGWIDTH.
1164 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1165 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1166 (merge_face_vectors): Check LFACE_AVGWIDTH.
1167 (Finternal_make_lisp_face): Use AREF.
1168 (xm_set_menu_resources_from_menu_face)
1169 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1170 (Finternal_lisp_face_empty_p): Use AREF.
1171 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1172 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1173 Compare average widths..
1174 (best_matching_font): Arrange for comparing average widths.
1175
52283633
SM
1176 * dispextern.h (enum lface_attribute_index):
1177 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1178
5cb3c8d4
DL
11792001-02-05 Dave Love <fx@gnu.org>
1180
1181 * puresize.h: Revert last change following loadup.el change.
1182
193fba87
AI
11832001-02-05 Andrew Innes <andrewi@gnu.org>
1184
1185 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1186 invocation of temacs, to work with Windows 2000.
1187 (bootstrap-emacs): Ditto.
1188
e16f52ce
GM
11892001-02-05 Gerd Moellmann <gerd@gnu.org>
1190
7a58ab59
GM
1191 * xterm.c (x_display_and_set_cursor): Check for the focus
1192 frame's selected window instead of selected_window.
1193
e89aaabd
GM
1194 * xdisp.c (try_scrolling): If point is in the line below the
1195 window, make sure to move the iterator at least a canonical
1196 char height down.
1197
52283633 1198 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1199
789ce875
KH
12002001-02-05 Kenichi Handa <handa@etl.go.jp>
1201
52283633
SM
1202 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1203 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1204 (ccl_driver): If the CCL program is terminated because of
1205 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1206 destination instead of throwing them away.
1207
20b28f82
GM
12082001-02-02 Gerd Moellmann <gerd@gnu.org>
1209
79fb38c0
GM
1210 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1211 faces and other things.
1212
20b28f82
GM
1213 * xdisp.c (get_next_display_element): Fix case of empty
1214 display table entry.
1215
5a72551e
EZ
12162001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1217
eb24d0bf
EZ
1218 * editfns.c (Fconstrain_to_field): Doc fix.
1219
6a3f48c7
EZ
1220 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1221 into `thoroughly', to make it consistent with the doc string.
1222
5a72551e
EZ
1223 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1224
01acdb05
GM
12252001-02-01 Gerd Moellmann <gerd@gnu.org>
1226
0353b28f
GM
1227 * search.c (search_buffer): Call set_search_regs with a byte
1228 position, not a character position.
1229
01acdb05
GM
1230 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1231 minibuffer-only,
1232
e86b5133
EZ
12332001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1234
1235 * frame.c (Fmodify_frame_parameters): Doc fix.
1236
7442878f
GM
12372001-01-31 Gerd Moellmann <gerd@gnu.org>
1238
01acdb05
GM
1239 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1240 identifier which is not reserved by Standard C.
52283633 1241
7442878f
GM
1242 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1243
1244 * window.c (enum window_part): New enumeration.
1245 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1246 Qright_bitmap_area.
1247 (coordinates_in_window): Return an enumerator from enum
1248 window_part. Fix handling of right scroll bar.
1249 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1250 `right-fringe' instead of `left-bitmap-area' and
1251 `right-bitmap-area'. Use enumerators from enum window_part
1252 instead of hard-coded integers.
52283633
SM
1253 (check_window_containing, window_from_coordinates):
1254 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1255 (syms_of_window): Replace Qleft_bitmap_area and
1256 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1257
7c132cba
EZ
12582001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1259
1260 * editfns.c (Fformat_time_string): Doc fix.
1261
c359dd9e
SM
12622001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1263
1264 * keymap.c (Fwhere_is_internal): Use the first valid binding
1265 if no ascii binding is found (when firstonly is t).
1266
ce070307
GM
12672001-01-31 Gerd Moellmann <gerd@gnu.org>
1268
b4f30ec5
GM
1269 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1270 instead of Finteractive_p.
1271
1272 * lisp.h (interactive_p): Add prototype.
1273
1274 * eval.c (interactive_p): New function.
1275 (Finteractive_p): Use it.
1276
ce070307
GM
1277 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1278
f57b6e64
DL
12792001-01-31 Dave Love <fx@gnu.org>
1280
d61c7afe
DL
1281 * .gdbinit (hook-run): Define to run xreload.
1282
f57b6e64
DL
1283 * textprop.c (Fset_text_properties): Fix newline in doc string.
1284
eef93f99
GM
12852001-01-30 Gerd Moellmann <gerd@gnu.org>
1286
52283633
SM
1287 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1288 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1289
1290 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1291 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1292 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1293
1294 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1295 height.
1296
d9c1f6f9
DL
12972001-01-30 Dave Love <fx@gnu.org>
1298
1299 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1300 AFTER_POTENTIAL_GC.
1301
e8f044a0
GM
13022001-01-29 Gerd Moellmann <gerd@gnu.org>
1303
52283633
SM
1304 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1305 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1306
8e1db7b3
EZ
13072001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1308
1309 * textprop.c (Fset_text_properties): Doc fix.
1310
4eefd9d2
GM
13112001-01-29 Gerd Moellmann <gerd@gnu.org>
1312
1313 * xdisp.c (forward_to_next_line_start): Remove xassert.
1314
fccb8288
EZ
13152001-01-29 Jason Rumney <jasonr@gnu.org>
1316
4eefd9d2 1317 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1318 returning without releasing it.
1319
76581eab
KH
13202001-01-29 Kenichi Handa <handa@etl.go.jp>
1321
1322 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1323 for '^', '$', and '\0'.
1324
83a96b4d
AC
13252001-01-28 Andrew Choi <akochoi@i-cable.com>
1326
5604ec34
AC
1327 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1328 regex for '^', '$', and '\0'.
1329
83a96b4d
AC
1330 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1331 only if current_sblock has been initialized.
1332
1333 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1334 terminal frame even if it is the only visible frame.
1335
c09a6440
KH
13362001-01-28 Kenichi Handa <handa@etl.go.jp>
1337
1338 * fontset.c (font_family_registry): Even if FONTNAME conform to
1339 XLFD, if it specifies other fields than family and registry,
52283633 1340 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1341 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1342 a signle byte character. Don't set FAMILY part to nil here.
1343 It is handled by the caller choose_face_font.
c09a6440
KH
1344 (Fnew_fontset): Call font_family_registry with FORCE 0.
1345 (Fset_fontset_font): Likewise.
1346
4dcd74e6
GM
13472001-01-27 Gerd Moellmann <gerd@gnu.org>
1348
1349 * xdisp.c (display_line): Don't treat a newline as fitting
1350 on the line.
1351
d2906bf8
GM
13522001-01-26 Gerd Moellmann <gerd@gnu.org>
1353
0130fe1a
GM
1354 * window.c (size_window): Set the window's orig_top to nil when
1355 changing heights, so that a future shrink_mini_window won't
1356 restore a bogus height.
1357
550f0e6a
GM
1358 * frame.c (do_switch_frame): If selected frame has a mini-window,
1359 resize that to exact size.
1360
b7b20fbd
GM
1361 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1362
a47b7816
GM
1363 * xdisp.c (display_line): Simplify check for glyphs fitting
1364 entirely in the line.
1365
d2906bf8
GM
1366 * xfns.c (xic_style): New variable.
1367 (create_frame_xic): Move static variable to global scope for
550f0e6a 1368 the case that `static' gets defined away.
d2906bf8 1369
73df2b1e
KH
13702001-01-26 Kenichi Handa <handa@etl.go.jp>
1371
1372 * coding.c (decode_coding): Set a flag for inhibiting
1373 inconsistent eol.
1374 (code_convert_region): Always set saved_coding_symbol.
1375 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1376 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1377
6613cfc4
GM
13782001-01-25 Gerd Moellmann <gerd@gnu.org>
1379
c5e6e06b
GM
1380 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1381 XClearArea.
1382
1383 * xterm.c (x_after_update_window_line): Don't clear if frame's
1384 internal border width is zero.
1385 (x_clear_area): New function.
1386 (x_after_update_window_line, x_clear_end_of_line)
1387 (x_scroll_bar_create, x_scroll_bar_set_handle)
1388 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1389 instead of XClearArea.
1390
1391 * xterm.h (x_clear_area): Add prototype.
1392
6613cfc4
GM
1393 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1394 which doesn't seem necessary anymore with Lesstif 0.92.
1395
650cc6cc
DL
13962001-01-25 Dave Love <fx@gnu.org>
1397
34ac3367
DL
1398 * puresize.h (BASE_PURESIZE): Up to 720000.
1399
650cc6cc
DL
1400 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1401
5e37dc22
GM
14022001-01-25 Gerd Moellmann <gerd@gnu.org>
1403
e1e441f9
GM
1404 * xdisp.c (echo_area_display): Don't call redisplay_internal
1405 when Emacs is shutting down. We can't run hooks etc. that
1406 would be necessary to do a redisplay.
1407
5e37dc22
GM
1408 * lread.c (read_integer): Use type EMACS_INT instead of int.
1409
0fb94c7f
EZ
14102001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1411
1412 * ccl.c (ccl_driver): Fix last change.
1413
e3778624
KH
14142001-01-25 Kenichi Handa <handa@etl.go.jp>
1415
1416 * ccl.h (sturct ccl_program): New member suppress_error.
1417
bb264518 1418 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1419 insert error message to the output.
1420 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1421
1422 * coding.h (struct coding_system): New member suppress_error.
1423
1424 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1425 (Fset_terminal_coding_system_internal): Set the member
1426 suppress_error to 1.
1427 (Fset_safe_terminal_coding_system_internal): Likewise.
1428
245ed2b1
SM
14292001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1430
1431 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1432 as if it was a `charset'.
1433
f9aaedb6
GM
14342001-01-24 Gerd Moellmann <gerd@gnu.org>
1435
1436 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1437 value in where_is_cache; the next lookup in the cache returns
1438 something bogus if we do.
1439
c3902c3e
EZ
14402001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1441
1442 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1443 if HAVE_WINDOW_SYSTEM isn't defined.
1444
3497f73e
GM
14452001-01-24 Gerd Moellmann <gerd@gnu.org>
1446
e7e41584
GM
1447 * fns.c (sweep_weak_table): Fix code taking items out of
1448 the hash collision chain. Some cleanup.
1449
3497f73e
GM
1450 * xterm.c (x_new_font): Don't change a tooltip's size.
1451
1452 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1453 background color by specifying a color for the default font
1454 in .Xdefaults.
1455
3d48e687
KH
14562001-01-24 Kenichi Handa <handa@etl.go.jp>
1457
96531b20
KH
1458 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1459 a workaround for SunOS 4's cc.
1460 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1461 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1462 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1463 statement.
3d48e687 1464
a30629d2
GM
14652001-01-23 Gerd Moellmann <gerd@gnu.org>
1466
1467 * xterm.c (x_set_window_size_1): New function extracted from
1468 x_set_window_size.
1469 (x_set_window_size): Use it.
1470 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1471 doesn't have a widget, like tooltips.
1472
5a43decf
EZ
14732001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1474
52283633 1475 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1476
b0e98867
KH
14772001-01-23 Kenichi Handa <handa@etl.go.jp>
1478
1479 * fns.c (Fset_char_table_default): Fix to make sub char-table
1480 correctly.
1481
50606b4c
GM
14822001-01-22 Gerd Moellmann <gerd@gnu.org>
1483
cb2ddc53 1484 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1485 a desired tool bar string, even if there are no tool bar items.
1486
57c28064
GM
1487 * xdisp.c (Ftool_bar_lines_needed): New function.
1488 (syms_of_xdisp): Defsubr it.
1489
50606b4c
GM
1490 * editfns.c (Fformat): Don't extend text properties from arguments
1491 to padding chars in the result.
1492
2f169c38
EZ
14932001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1494
1495 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1496
0f32f023
AI
14972001-01-20 Andrew Innes <andrewi@gnu.org>
1498
52283633 1499 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1500 (w32_initialize): Don't set term hooks that aren't actually needed
1501 in windowed mode.
1502
1503 * xfaces.c (realize_default_face):
1504 (realize_face):
1505 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1506
1507 * xdisp.c (handle_single_display_prop): Remove references to
1508 FRAME_W32_CONSOLE_P.
1509
52283633 1510 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1511
1512 * frame.h (output_method): Remove output_w32_console method.
1513 (FRAME_W32_CONSOLE_P): Remove macro.
1514
1515 * frame.c (Qw32_console): Remove variable.
1516 (Fframep): Remove references to it.
1517 (syms_of_frame): Ditto.
1518 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1519
1520 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1521 redefinition.
1522
7173eada
KH
15232001-01-20 Kenichi Handa <handa@etl.go.jp>
1524
1525 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1526
755b45ce
AI
15272001-01-19 Andrew Innes <andrewi@gnu.org>
1528
1529 * w32.c (init_environment): Add a version-independent site-lisp
1530 directory to EMACSLOADPATH, after the version dependent one.
1531
0a949811
GM
15322001-01-19 Gerd Moellmann <gerd@gnu.org>
1533
8501998a
GM
1534 * editfns.c (Fbuffer_substring): Doc fix.
1535
52283633
SM
1536 * xdisp.c (message_dolog, message2, message2_nolog):
1537 Rename parameter LEN to NBYTES.
0a949811 1538
e6ebcbbe
KH
15392001-01-19 Kenichi Handa <handa@etl.go.jp>
1540
200ecca2
KH
1541 * charset.c (strwidth): Use c_string_width.
1542 (c_string_width): New function.
1543 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1544 Caller changed.
1545
1546 * charset.h (c_string_width, lisp_string_width): Extern them.
1547
52283633 1548 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1549
e6ebcbbe
KH
1550 * indent.c (check_composition): Check validity of composition.
1551
200ecca2
KH
1552 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1553 characters by calling c_string_width.
1554 (x_consider_frame_title): Get byte length of frame tile string
1555 correctly.
1556 (display_mode_element): Pay attention to width of non-ASCII
1557 characters by calling strwidth.
1558
8692ca92
GM
15592001-01-18 Gerd Moellmann <gerd@gnu.org>
1560
8962e303
GM
1561 * xfns.c (Qcancel_timer): New variable.
1562 (syms_of_xfns): Initialize and staticpro it.
1563 (Fx_hide_tip, Fx_show_tip): Use it.
1564 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1565 the timer.
1566 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1567
91523be9
GM
1568 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1569
1570 * window.h (WINDOW_LIVE_P): New macro.
1571
b0b7ed0e
GM
1572 * window.c (window_size_fixed): New variable.
1573 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1574 the doc string.
1575
06bccf8e
GM
1576 * eval.c (specbind): If binding a per-buffer variable which
1577 doesn't have a buffer-local value in the current buffer, change
1578 the global value by changing the value of the symbol bound in all
1579 buffers not having their own value, to make it consistent with
1580 what happens with other buffer-local variables.
1581
8692ca92
GM
1582 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1583
1584 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1585 when searching for a newline.
1586
bb3a3b50
KH
15872001-01-18 Kenichi Handa <handa@etl.go.jp>
1588
1589 * xdisp.c (display_string): Fix previous change.
1590
c2cc16fa
JR
15912001-01-18 Jason Rumney <jasonr@gnu.org>
1592
1593 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1594 GLYPH_DEBUG is defined.
1595 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1596 true for images with `:ascent 100'.
1597 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1598 meantime, use face MOUSE_FACE_ID.
1599 If first glyph isn't a character glyph, use the ASCII NUL
1600 character to determine the face.
1601 (expose_area): Do not treat left margin specially.
1602 (note_mode_line_highlight): If no local_map, check global keymap.
1603 (note_mouse_highlight): Initialize overlay.
52283633 1604 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1605 (show_scroll_bars): Remove unused function.
1606 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1607 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1608 Clip to row.
52283633 1609 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1610 (x_free_frame_resources): Unload relief colors.
1611
9c11f79e
GM
16122001-01-17 Gerd Moellmann <gerd@gnu.org>
1613
3aec8722 1614 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1615 get_next_display_element when the newline is already found.
1616 This may change the iterator's position, when its current position is
3aec8722
GM
1617 equal to the iterator's stop_charpos.
1618
f3ffc2c3
GM
1619 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1620 zero, use this method only at the end of a line.
1621
52283633 1622 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1623 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1624 if SCALABLE_FONTS_P is set.
52283633 1625
d26d6fd9
GM
1626 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1627 so that scalable fonts are included.
1628
9c11f79e
GM
1629 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1630 In the cache, use a key containing the information if scalable
1631 fonts are included.
1632 (x_load_font): Adapt to change of keys in the font cache.
1633
16342001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1635
d26d6fd9
GM
1636 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1637 XListFonts to take advantage of font caching.
1638
9c11f79e
GM
1639 * xterm.c (x_list_fonts): Ensure caching font information when
1640 called for a null frame, which is the case frequently when Emacs
1641 starts.
1642
51446987
GM
16432001-01-17 Gerd Moellmann <gerd@gnu.org>
1644
f864120f
GM
1645 * xfns.c (QCconversion): Replaces QCalgorithm.
1646
1647 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1648
1649 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1650 of :algorithm.
52283633 1651
e37d1417
GM
1652 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1653 not everything could be displayed.
1654
51446987
GM
1655 * line.h, x-list-font.c: Files removed because unused.
1656
9ad4f3e5
AI
16572001-01-17 Andrew Innes <andrewi@gnu.org>
1658
1659 * dired.c (directory_files_internal): Convert result from readdir
1660 to a unibyte string initially, to avoid possible misinterpretation
1661 of some bytes as the internal form of Emacs characters.
1662
2eda09b5
KH
16632001-01-17 Kenichi Handa <handa@etl.go.jp>
1664
1665 * fns.c (concat): Be sure to avoid putting the same `composition'
1666 property on the adjacent regions.
1667
826f3788
GM
16682001-01-16 Gerd Moellmann <gerd@gnu.org>
1669
52283633 1670 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1671 (Fscroll_right, Fscroll_left): Set it here instead, if called
1672 interactively.
1673
d57b83b3
GM
1674 * buffer.c (Fset_buffer_modified_p): Set buffer's
1675 prevent_redisplay_optimizations_p flag.
1676
826f3788 1677 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1678 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1679 with additional arg.
1680
1681 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1682 Change prototype.
826f3788 1683
826f3788
GM
1684 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1685 FROM_WHERE, for debugging.
1686
261d788b
KH
16872001-01-16 Kenichi Handa <handa@etl.go.jp>
1688
1689 * ccl.c (Fregister_ccl_program): Handle the return value of
1690 resolve_symbol_ccl_program correctly.
52283633 1691 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1692
bccee4f2
GM
16932001-01-15 Gerd Moellmann <gerd@gnu.org>
1694
e4ded23c
GM
1695 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1696 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1697
1698 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1699 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1700 the display; we didn't open it.
1701
bccee4f2
GM
1702 * dispnew.c (save_or_restore_current_matrices): Function removed.
1703 (save_current_matrix, restore_current_matrix): New functions.
1704 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1705 restore the frame's current matrix. Due to the glyph pointer
1706 setup done in adjust_glyph_matrix, there is no easy way to make
1707 saving the current matrix in the desired matrix generally correct,
1708 so don't try it.
1709
ebeccffa
KH
17102001-01-15 Kenichi Handa <handa@etl.go.jp>
1711
1712 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1713 truncation glyphs.
1714 (display_line): Optimize for wide characters.
e4ded23c 1715 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1716 partially. On ttys, produce more than one truncation glyph for
1717 multi-column characters that don't fit on the line.
1718
64388126
KH
17192001-01-13 Kenichi Handa <handa@etl.go.jp>
1720
52283633
SM
1721 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1722 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1723
8edb0a6f
JR
17242001-01-13 Jason Rumney <jasonr@gnu.org>
1725
1726 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1727 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1728 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1729 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1730
52283633
SM
1731 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1732 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1733 (x_draw_image_glyph_string): Adapt to change of image margins.
1734
1735 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1736 variables.
1737
1738 * w32bdf.c (search_file_line, get_cached_font_char)
1739 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1740
1741 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1742
1743 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1744 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1745 (Fw32_send_sys_command): Remove unused variables.
1746 (w32_msg_pump): Add parentheses.
1747
1748 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1749 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1750 Add parentheses.
1751
4956d1ef
GM
17522001-01-12 Gerd Moellmann <gerd@gnu.org>
1753
b30623be
GM
1754 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1755 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1756 being a pair of margins.
1757 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1758 to DEFVAR_LISP. Extend doc.
1759
1760 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1761 margins.
1762 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1763 pair of integers `(X . Y)', use X for the horizontal and Y for the
1764 vertical margin.
1765 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1766 (parse_image_spec): Check it.
52283633
SM
1767 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1768 (tiff_format, gif_format, gs_format):
1769 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1770
52283633
SM
1771 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1772 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1773 (x_draw_image_glyph_string): Adapt to the change of image margins.
1774
1775 * dispextern.h (struct image): Replace member `margin' with
1776 `hmargin' and `vmargin'.
1777
4554cc79
GM
1778 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1779 and GLYPHS.
1780
1781 * dispnew.c (update_text_area): Put code which decrements the
1782 stop position when the row's face extends to the end of the
3bffc665 1783 line in #if 0.
4554cc79 1784
3cccce8d
GM
1785 * xfns.c (x_set_mouse_color): Fix color allocation.
1786
4956d1ef
GM
1787 * keyboard.c: Call get_local_map with new argument list.
1788
1789 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1790
1791 * intervals.h (enum map_property): Removed.
1792 (get_local_map): Change prototype.
1793
1794 * keymap.c: Call get_local_map with new argument list.
1795 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1796
2c2ff7f2
GM
17972001-01-11 Gerd Moellmann <gerd@gnu.org>
1798
a23887b9
GM
1799 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1800 of the size needed for the tool bar string. For the last image,
1801 use a `display' property that reaches to the end of the string.
1802
a7ee2d2e
GM
1803 * xselect.c (selection_request_dpyinfo): New variable.
1804 (x_handle_selection_request): Set it.
1805 (x_selection_request_lisp_error): Don't call
1806 x_decline_selection_request if selection request's display has
1807 been closed.
1808
52283633
SM
1809 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1810 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1811
457b792c
GM
18122001-01-10 Dave Love <fx@gnu.org>
1813
1814 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1815 ${SOME_MACHINE_LISP}, not ${lisp}.
1816
c1efd260
GM
18172001-01-10 Gerd Moellmann <gerd@gnu.org>
1818
52283633
SM
1819 * xdisp.c (display_line): On ttys, produce more than one truncation
1820 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1821
ac95a621
GM
1822 * xselect.c (x_reply_selection_request): Add a comment.
1823
c1efd260
GM
1824 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1825 XkbGetNames instead of XkbGetKeyboard.
1826
1bfb1345
DL
18272001-01-10 Dave Love <fx@gnu.org>
1828
1829 * sysdep.c (random): Revert the declaration.
1830
38119822
GM
18312001-01-09 Gerd Moellmann <gerd@gnu.org>
1832
52283633
SM
1833 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1834 Call function string_bytes.
35f464a7
GM
1835 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1836
1837 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1838 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1839 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1840 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1841 the current sblock.
1842 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1843 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1844 after sweeping strings, and at the end.
1845 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1846
38119822
GM
1847 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1848 ensure that pop_message is called.
1849
1850 * keyboard.c (Fexecute_extended_command): Use a
1851 record_unwind_protect to ensure that pop_message is called.
1852
1853 * lisp.h (push_message_unwind): Add prototype.
1854
1855 * xdisp.c (push_message_unwind): New function.
1856
1857 * fileio.c (do_auto_save_unwind): Do the pop_message here
1858 instead of in Fdo_auto_save.
1859 (Fdo_auto_save): Don't call pop_message.
1860
f47a9ec4
KR
18612001-01-08 Ken Raeburn <raeburn@gnu.org>
1862
1863 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1864 in inner block.
1865
a758f97d
GM
18662001-01-08 Gerd Moellmann <gerd@gnu.org>
1867
6d0afc03
GM
1868 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1869 when increasing window's vscroll.
1870
a758f97d
GM
1871 * macros.c (Qkbd_macro_termination_hook): New variable.
1872 (syms_of_macros): Initialize and staticpro it.
1873 (pop_kbd_macro): Run kbd-macro-termination-hook.
1874
1875 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1876
1bfb1345 18772001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1878
1879 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1880 arglist, for documentation's sake.
1881
0dac6924
AI
18822001-01-06 Andrew Innes <andrewi@gnu.org>
1883
1884 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1885 of *.pdb.
1886
8182406a
AI
18872001-01-05 Andrew Innes <andrewi@gnu.org>
1888
1889 * term.c (update_end): Don't check updating_frame; for some reason
1890 this can be 0 sometimes, such as after dismissing a popup menu,
1891 and isn't necessary given the explicit frame argument.
1892
3828218c
GM
18932001-01-05 Gerd Moellmann <gerd@gnu.org>
1894
1895 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1896 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1897
2f5ded21
GM
18982001-01-04 Gerd Moellmann <gerd@gnu.org>
1899
52283633 1900 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1901
1902 * xfns.c (x_create_tip_frame): Preserve the value of
1903 face_change_count around the creation of the tip frame.
52283633 1904
2f5ded21
GM
1905 * xfns.c (last_show_tip_args): New variable.
1906 (compute_tip_xy): New function.
1907 (Fx_show_tip): Reuse an existing tip frame, if possible.
1908 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1909
dfad65fa
DL
19102001-01-04 Dave Love <fx@gnu.org>
1911
64d4ec0f
DL
1912 * editfns.c (Fformat): Doc fix.
1913
dfad65fa
DL
1914 * systime.h (set_file_times): Prototype.
1915
1916 * widget.h (EmacsFrameSetCharSize_): Prototype.
1917
1918 * sysdep.c (random, srandom): Declare explicitly.
1919
1920 * dispextern.h (move_it_vertically_backward): Declare.
1921
85fe3b5e
GM
19222001-01-04 Gerd Moellmann <gerd@gnu.org>
1923
0f2ac578
GM
1924 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1925 like in Fx_create_frame.
1926
482cca61
GM
1927 * xfaces.c (set_font_frame_param): Don't do anything for
1928 non-graphical frames.
1929
85fe3b5e
GM
1930 * window.c (Fdelete_other_windows): Set window's window_end_valid
1931 to nil when changing the window's start. Don't change the
1932 window's start when its top position hasn't changed. If we do,
1933 this will set the window's optional_new_start, which act's like a
1934 force_start during redisplay with C-x 1 M-> under particular
1935 circumstances (see report from Per Starback to emacs-pretest-bug
1936 from 2000-12-13.).
1937
3e99d3b4
GM
19382001-01-03 Gerd Moellmann <gerd@gnu.org>
1939
a77dc1ec
GM
1940 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1941 short cut at the start of the function. Add an assertion.
1942 (reseat_at_next_visible_line_start): Add an assertion.
1943
2f3cad6c
GM
1944 * window.c (Frecenter): When changing the window start, set the
1945 window's window_end_valid to nil.
1946 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1947
1948 * dispextern.h (move_it_past_eol): Add prototype.
1949
1950 * xdisp.c (move_it_past_eol): New function.
1951
3e99d3b4
GM
1952 * window.c (Fwindow_end): Doc fix.
1953
19542001-01-03 Dave Love <fx@gnu.org>
1955
52283633 1956 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 1957
bafb434c
GM
19582001-01-03 Gerd Moellmann <gerd@gnu.org>
1959
1960 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1961 the enabled_p flag of the glyph row at window_end_vpos to 0.
1962 (handle_single_display_prop): Fix last change.
1963
5297fb00
RS
19642001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1965
1966 * window.c (Frecenter): Doc fix.
1967
13d6a61c
AI
19682001-01-02 Andrew Innes <andrewi@gnu.org>
1969
1970 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1971
1972 * frame.h (output_method): Add output_w32_console method.
1973 (FRAME_W32_CONSOLE_P): New macro.
1974
1975 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1976 use output_w32_console method.
1977 (Qw32_console): New Lisp_Object.
1978 (Fframep): Return it.
1979 (syms_of_frame): Init it.
52283633 1980 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
1981
1982 * xfaces.c (realize_default_face): Set face foreground and
1983 background to unspecified for w32_console frames.
1984 (realize_face): Realize face cache for w32_console frames.
1985 (realize_tty_face): Accept w32_console frames.
1986
52283633 1987 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
1988 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1989 necessary, even if running interactively.
1990
1991 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1992 w32_console frames.
1993
52283633
SM
1994 * w32term.c (x_update_begin):
1995 (x_update_end):
1996 (x_clear_frame):
1997 (x_ins_del_lines):
1998 (x_change_line_highlight):
1999 (x_delete_glyphs):
2000 (w32_ring_bell):
2001 (x_update_begin):
2002 (x_update_end):
2003 (w32_reassert_line_highlight):
2004 (w32_frame_rehighlight):
13d6a61c
AI
2005 (w32_frame_raise_lower): Do nothing if not w32 frame.
2006
2007 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2008
2009 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2010 system doesn't tell us directly.
2011 (Fx_display_visual_class): Implement properly.
2012
d6bb0c0d
GM
20132001-01-02 Gerd Moellmann <gerd@gnu.org>
2014
2015 * window.c (Frecenter): Handle centering in graphical frames
2016 specially. Centering on the basis of line counts doesn't work
2017 reliably with variable-height lines.
52283633 2018
315f5865
EZ
20192001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2020
2021 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2022 and al[].
2023
52283633 2024 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2025 (update_compositions): Remove unused variable `hook'.
2026
2027 * intervals.c (get_local_map): Remove unused variable `tem'.
2028
2029 * doprnt.c (doprnt1): Remove unused variable `size'.
2030
2031 * fns.c (Flength): Remove unused variable `tail'.
2032 (Fdelete): Remove unused variable `size'.
2033
2034 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2035 and `gcpro2'.
2036
52283633 2037 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2038
2039 * data.c (find_symbol_value): Remove extra 3rd argument in the
2040 call to swap_in_symval_forwarding.
2041
52283633 2042 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2043
2044 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2045 (trivial_regexp_p): Remove unused variable `c'.
2046 (boyer_moore): Remove unused variable `k'.
2047
2048 * indent.c (current_column): Remove unused variable `stopchar'.
2049 (Fcompute_motion): Remove unused variable `contin'.
2050
2051 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2052
2053 * dired.c (directory_files_internal): Fix a typo in a comment.
2054 Remove an unused variable `handler'.
52283633 2055 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2056 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2057 on BSD4_2.
2058
52283633 2059 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2060
2061 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2062 and `buf'.
2063 (Fmarker_insertion_type): Remove unused variable `buf'.
2064
2065 * insdel.c (make_gap): Remove unused variable `result'.
2066
52283633 2067 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2068 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2069 (menu_bar_items): Remove unused function-scope variable `tem'.
2070
2071 * fontset.c (fontset_ref): Remove unused variable `i'.
2072 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2073 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2074 (make_fontset_for_ascii_face): Remove unused variable `name'.
2075 (fs_load_font): Remove unused variable `font_idx'.
52283633 2076 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2077 (list_fontsets): Remove unused variable `tail'.
2078 (Fnew_fontset): Remove unused variables `family' and `registry'.
2079 (accumulate_font_info): Remove unused variable `tmp'.
2080 (Ffontset_font): Remove unused variable `id'.
2081 (syms_of_fontset): Remove unused variable `i'.
2082
2083 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2084 to x_term_init.
2085 (lookup_image): Remove unused variable `file'.
2086 (xbm_load): Remove unused variables `bitmap_data', `height', and
2087 `width'. Remove function-local variable `i', leave the
2088 block-local one.
2089 (gif_load): Remove unused variable `inc'.
2090
52283633 2091 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2092 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2093 leave only the one in the inner block.
2094
2095 * xfaces.c (face_fontset, realize_default_face): Remove unused
2096 variable `fontset'.
2097 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2098
2099 * term.c (encode_terminal_code): Remove unused variable `c'.
2100
2101 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2102 char *' instead of `char *'.
2103
2104 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2105 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2106 (Fchar_category_set): Remove unused variables `val', `charset',
2107 `c1' and `c2'.
2108
52283633
SM
2109 * coding.c (detect_coding_iso2022, setup_coding_system):
2110 Remove unused variable `i'.
315f5865
EZ
2111 (detect_coding_mask): Remove unused variable `idx'.
2112 (detect_coding): Remove unused variable `i'.
2113 (ccl_coding_driver): Remove unused variable `result'.
2114 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2115 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2116 (encode_coding_string): Remove unused variables `gcpro1' and
2117 `saved_coding_symbol'.
2118 (Ffind_coding_systems_region_internal): Remove function-local
2119 variable args[], leave only the block-local one.
2120 (code_convert_region1): Remove unused variable `len'.
2121
2122 * charset.c (char_printable_p): Remove unused variable `chars'.
2123 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2124 (str_to_multibyte): Remove unused variable `c'.
2125
2126 * window.c (size_window): Remove block-local variable `min_size'.
2127
2128 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2129 `header_line_height'.
2130 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2131 enum display_element_type.
2132
1a8a9daf
GM
21332001-01-02 Gerd Moellmann <gerd@gnu.org>
2134
6dde6abc 2135 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2136 statements that call X. Save away the error message in a local copy.
2137
1883b2c6
GM
2138 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2139 the start.
2140
a13be207
GM
2141 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2142 in or at the start of invisible text.
2143
1a8a9daf
GM
2144 * dispnew.c (update_window): Don't check_current_matrix_flags.
2145
3608c0f9
JR
21462001-01-01 Jason Rumney <jasonr@gnu.org>
2147
2148 * w32fns.c (x_figure_window_size): Do not allow new_height and
2149 new_width of frame to override specified values.
2150
abb1acc4
KH
21512000-12-30 Kenichi Handa <handa@etl.go.jp>
2152
52283633 2153 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2154
762a68ec
GM
21552000-12-29 Gerd Moellmann <gerd@gnu.org>
2156
52283633 2157 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2158 (update_window) [GLYPH_DEBUG]: Call it.
2159 (scrolling_window): Prevent including current rows which are below
2160 what's displayed in the window.
2161
2162 * xdisp.c (try_window_reusing_current_matrix)
2163 <new start <= old start>: Disable rows in the current matrix
2164 which are below the window after scrolling.
52283633 2165
762a68ec
GM
2166 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2167 is zero. It's not worth the complexity.
2168 (invisible_text_between_p): Put in #if 0 because unused.
2169
2d5912c1
GM
21702000-12-28 Gerd Moellmann <gerd@gnu.org>
2171
46f6a258
GM
2172 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2173 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2174
89f93679
GM
2175 * keyboard.c (echo_char): If C is an integer, always call
2176 push_key_description. Former code could signal an invalid
2177 character error.
2178
2179 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2180 If set, print multibyte text.
2181 (Fsingle_key_description): Call push_key_description with
2182 FORCE_MULTIBYTE set.
2183 (describe_buffer_bindings): Likewise.
2184
2185 * lisp.h (push_key_description): Add prototype.
2186
c06017fb
GM
2187 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2188 around the call to redisplay_internal.
2189
f1d2ce7f
GM
2190 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2191
2d5912c1
GM
2192 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2193
9371f831
KH
21942000-12-28 Kenichi Handa <handa@etl.go.jp>
2195
2196 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2197 (ccl_driver): New local variable `extra_bytes'.
2198
2199 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2200
52283633
SM
2201 * coding.c (setup_coding_system):
2202 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2203 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2204
0c80628a
KH
22052000-12-28 Kenichi Handa <handa@etl.go.jp>
2206
2207 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2208 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2209 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2210 (decode_composition_emacs_mule): New function.
2211 (decode_coding_emacs_mule): Decode composition sequence by calling
2212 decode_composition_emacs_mule.
2213 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2214 (encode_coding_emacs_mule): Changed from macro to function.
2215 If a text contains compositions, encode them correctly.
0c80628a
KH
2216 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2217 that decoding and encoding are required.
2218
3e32cc27
GM
22192000-12-27 Gerd Moellmann <gerd@gnu.org>
2220
5e25feee
GM
2221 * xfaces.c (PT_PER_INCH): New macro.
2222 (xlfd_point_size): Compute real point size from font's pixel size.
2223 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2224 instead of 72.
2225
892d8fcd
GM
2226 * .gdbinit: Comment out the line pointing to the Lesstif source
2227 directory.
2228
12c8b416
GM
2229 * window.c (Frecenter): Use displayed_window_lines instead
2230 of window_internal_height.
2231
6061fbf0
GM
2232 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2233 instead of x-toolkit-scroll-bars-p.
2234 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2235
2236 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2237 instead of x-toolkit-scroll-bars-p.
2238 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2239
3e32cc27
GM
2240 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2241 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2242 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2243 New variables.
2244 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2245 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2246 (build_frame_matrix_from_leaf_window): Remove unused code.
2247 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2248 redisplay history.
2249 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2250 (update_window) [GLYPH_DEBUG]: Likewise.
2251 (syms_of_display): Defsubr dump-redisplay-history.
2252
31798cfe
GM
22532000-12-23 Gerd Moellmann <gerd@gnu.org>
2254
f717c2ba
GM
2255 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2256 the end of the prompt. Set echo_after_prompt to the offset
2257 of echoptr in echobuf.
2258
aeb2b8fc
GM
2259 * xdisp.c (init_from_display_pos): Pop until the iterator's
2260 stack is empty; there may be frames for stretch or images
2261 on the stack.
2262
31798cfe
GM
2263 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2264 (save_or_restore_current_matrix): New function for the same
2265 purpose, but more efficient.
2266 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2267
f8156156
EZ
22682000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2269
2270 * xdisp.c (syms_of_xdisp): Fix last change.
2271
bdd6d4e8
GM
22722000-12-23 Gerd Moellmann <gerd@gnu.org>
2273
2274 * xdisp.c (syms_of_xdisp): Doc fix.
2275
2276 * xdisp.c (redisplay_window): Remove label restore_buffers;
2277 use finish_scroll_bars instead to make sure that scroll bars
2278 are redeemed. If we don't do this, flickering can result from
2279 scroll bars being destroyed and recreated.
2280
9436cdf9
JR
22812000-12-22 Jason Rumney <jasonr@gnu.org>
2282
2283 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2284 in the wrong colors when the foreground is not black.
2285 (expose_window): Don't redraw the window that's currently being
2286 updated.
2287
951f9df5
GM
22882000-12-22 Gerd Moellmann <gerd@gnu.org>
2289
856ff7a7
GM
2290 * window.c (size_window): When setting the window's too_small_ok
2291 flag, compare old size with minimum size depending on WIDTH_P,
2292 don't compare with window_min_width.
52283633 2293
951f9df5
GM
2294 * window.c (delete_window): Simplify somewhat.
2295 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2296 freeing window matrices. The flag windows_or_buffers_changed is
2297 set, so the next redisplay will consider all windows; this should
2298 suffice.
2299
886bc933
KH
23002000-12-22 Kenichi Handa <handa@etl.go.jp>
2301
2302 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2303
2304 * ccl.h (struct ccl_program): New member cr_consumed.
2305
2306 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2307 (CCL_READ_CHAR): Handle EOL conversion here.
2308 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2309
177f4e88
GM
23102000-12-21 Gerd Moellmann <gerd@gnu.org>
2311
52283633 2312 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2313
2314 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2315 otherwise tabs of different size compare equal.
2316
2317 * callint.c (Fcall_interactively): Prevent a compiler warning.
2318
2319 * print.c (print_unwind): Return nil.
2320 (PRINTDECLARE): Initialize all local variables.
2321 (print_preprocess): Add a default case.
2322
8e15274f
GM
2323 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2324
2325 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2326
52283633 2327 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2328 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2329
2330 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2331
2332 * dispnew.c (ensure_frame_matrix): Removed.
2333 (save_frame_matrix, restore_frame_matrix): New functions.
2334 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2335
2336 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2337 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2338
99012074
AI
23392000-12-21 Andrew Innes <andrewi@gnu.org>
2340
2341 * w32term.c (x_update_begin): Regenerate the palette here, rather
2342 than for each window.
2343
2344 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2345 palette is NULL, since this corrupts memory! Also get
2346 display_info reference from frame.
2347
29ef7d2d
JR
23482000-12-21 Jason Rumney <jasonr@gnu.org>
2349
2350 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2351
2352 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2353 to avoid returning without releasing it.
3e27fa1f 2354
3f9d67a6
KH
23552000-12-21 Kenichi Handa <handa@etl.go.jp>
2356
587fc3f9
KH
2357 * keymap.c (push_key_description): Don't convert eight-bit-control
2358 and eight-bit-graphic to multibyte character.
2359
3f9d67a6
KH
2360 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2361 generic character and CODE1 is nil, return the smallest character
2362 in CHARSET.
2363
774ba8c9
DL
23642000-12-20 Dave Love <fx@gnu.org>
2365
2366 * s/osf5-0.h (NSIG): Don't redefine.
2367
88416888
SM
23682000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2369
2370 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2371 excluding menu-bar and tool-bar.
2372 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2373 (menu_item_p): Remove.
2374 (where_is_internal_1): Don't ignore menu-items.
2375
a6426c6f
GM
23762000-12-20 Gerd Moellmann <gerd@gnu.org>
2377
03ff8aab
GM
2378 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2379 into account.
2380
2381 * window.c (make_window): Initialize window's min_hscroll.
2382 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2383 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2384 to zero.
2385 (struct saved_window): New member min_hscroll.
2386 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2387 (Fset_window_configuration): Set window's min_hscroll.
2388 (save_window_save): Save window's min_hscroll.
2389 (compare_window_configurations): Compare min_hscroll values.
2390
2391 * window.h (struct window): New member min_hscroll.
2392
2393 * keyboard.c (echo_prompt): Prevent a compiler warning.
2394
8de4aaf8
GM
2395 * xdisp.c (try_cursor_movement): Fix last change. The real
2396 condition is that PT is at the end of the row, and should
2397 be displayed at the start of the next row.
52283633 2398
3f7e3031
GM
2399 * xdisp.c (try_cursor_movement): If we end on a partially
2400 visible line, end we already decided to scroll, return -1.
2401
a6426c6f
GM
2402 * dispextern.h (ensure_frame_matrix): Add prototype.
2403
2404 * window.c (delete_window, Fsplit_window)
2405 (Fset_window_configuration): Call ensure_frame_matrix.
2406
52283633
SM
2407 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2408 New functions.
a6426c6f
GM
2409 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2410 completed, call fake_current_matrices instead of marking frame
2411 garbaged.
2412
57fa2774
JR
24132000-12-20 Jason Rumney <jasonr@gnu.org>
2414
2415 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2416
d925df90
EZ
24172000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2418
2419 * fns.c (Frequire): Doc fix.
2420
7b93a85b
GM
24212000-12-19 Gerd Moellmann <gerd@gnu.org>
2422
52283633 2423 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2424
c74e645b
GM
2425 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2426 currently displaying a message.
2427
7b93a85b
GM
2428 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2429 xterm.h.
2430 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2431
90d97e64
AI
24322000-12-18 Andrew Innes <andrewi@gnu.org>
2433
2434 * w32.c (w32_strerror): New function.
2435
2436 * w32.h (w32_strerror): New extern.
2437
2438 * w32fns.c (Fw32_shell_execute): Use it.
2439
91c9e6ce
GM
24402000-12-18 Gerd Moellmann <gerd@gnu.org>
2441
2442 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2443
6f4745e2
EZ
24442000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2445
2446 * msdos.c (IT_set_face): Obey inverse_video.
2447
c9e088ce
KH
24482000-12-18 Kenichi Handa <handa@etl.go.jp>
2449
2450 * dired.c (directory_files_internal): Always return decoded filenames.
2451
c3695f5f
GM
24522000-12-18 Gerd Moellmann <gerd@gnu.org>
2453
52d8e4ff
GM
2454 * xterm.c (x_connection_closed): Prevent being called recursively
2455 because of an error condition in XtCloseDisplay.
52283633 2456
62be9979
GM
2457 * xdisp.c (init_iterator): If noninteractive, and the frame's
2458 face cache is null, make one.
2459
52283633 2460 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2461
c3695f5f
GM
2462 * process.c (wait_reading_process_input): Check for pending
2463 input when running timers.
2464
78555fbe
EZ
24652000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2466
52283633 2467 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2468
b2b36264
KH
24692000-12-18 Kenichi Handa <handa@etl.go.jp>
2470
2471 * process.c (read_process_output): Don't run a filter if the code
2472 decoder produces nothing but carryover.
2473
9c543fbf
AI
24742000-12-17 Andrew Innes <andrewi@gnu.org>
2475
2476 * w32.c (sys_rename): Only check errno against EEXIST, and not
2477 EACCES, when determining whether rename failed because the target
2478 exists. This was resulting in indefinite looping on Windows 9x if
2479 the source file was locked by another process.
2480
2481 * w32fns.c (Ffile_system_info): New function.
2482 (syms_of_w32fns): Defsubr it.
2483
10c2b5a8
GM
24842000-12-17 Gerd Moellmann <gerd@gnu.org>
2485
b0228ace
GM
2486 * window.c (coordinates_in_window): Fix computation for
2487 position on vertical line between mode lines.
2488
10c2b5a8
GM
2489 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2490 Don't alter tip_frame or tip_window.
2491 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2492 was deleted.
2493
c844a81a
GM
2494 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2495 Don't alter tip_frame or tip_window.
2496 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2497 was deleted.
2498
6c825f8e
EZ
24992000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2500
2501 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2502 be consistent with the doc string. Reported by NAKAJIMA Mikio
2503 <minakaji@osaka.email.ne.jp>.
2504
af4bb4c8
KH
25052000-12-16 Kenichi Handa <handa@etl.go.jp>
2506
2507 * xfaces.c (Vface_ignored_fonts): New variable.
2508 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2509 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2510
8062e53a
GM
25112000-12-15 Gerd Moellmann <gerd@gnu.org>
2512
e87b8809
GM
2513 * dispnew.c (update_window): Detect pending input every nth line
2514 updated, i.e. do it depending on real work done, and not on the
2515 vpos of the line.
2516
2517 * xterm.c (expose_window): Don't redraw the window that's
2518 currently being updated.
2519
a6768cc5
GM
2520 * window.c (Fset_window_point): Remove test for
2521 cursor_in_non_selected_windows.
2522
4ea7fdca
GM
2523 * lread.c (read1): Recognize end of file after `\\'.
2524
8062e53a
GM
2525 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2526 not unwind_create_frame.
2527
bb7959c1
GM
25282000-12-15 Dave Love <fx@gnu.org>
2529
2530 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2531 bcopy & al.
2532
2533 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2534
ced04c42
KH
25352000-12-15 Kenichi Handa <handa@etl.go.jp>
2536
c5443913
KH
2537 * coding.c (setup_coding_system): Clear all members of the struct
2538 coding_system at first.
bc137305
KH
2539 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2540 argument.
2541 (code_convert_region): Don't override coding->src_multibyte and
2542 coding->dst_multibyte.
c5443913 2543
ced04c42
KH
2544 * fns.c (Fmd5): Docstring improved.
2545
c2d7f289
MB
25462000-12-15 Miles Bader <miles@gnu.org>
2547
2548 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2549 are actually marked as mode-lines; otherwise use
2550 estimate_mode_line_height.
2551
9d7d9263
GM
25522000-12-14 Gerd Moellmann <gerd@gnu.org>
2553
2554 * editfns.c (Fformat): Prevent a buffer overrun when the format
2555 specifies a precision.
2556
7cf0153a
EZ
25572000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2558
2559 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2560 argument is outside the range [2..3].
2561
1de0f662
AI
25622000-12-14 Andrew Innes <andrewi@gnu.org>
2563
2564 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2565 nothing to do. Bind inhibit-quit.
2566 (tip_frame): Make it a Lisp_Object.
2567 (x_create_tip_frame): Set tip_frame after it has been added to
2568 Vframe_list.
2569 (Fx_show_tip): Don't set tip_frame here.
52283633 2570 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2571 (unwind_create_frame, unwind_create_tip_frame): New functions.
2572 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2573 while a frame is only partially constructed.
2574
2575 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2576 (x_free_frame_resources): New function.
2577 (x_destroy_window): Use it.
2578
02387dcc
GM
25792000-12-14 Gerd Moellmann <gerd@gnu.org>
2580
2581 * xfns.c (Fx_backspace_delete_keys_p): New function.
2582 (syms_of_xfns): Defsubr it.
2583
2584 * config.in (HAVE_XKBGETKEYBOARD): Add.
2585
0544ef49
KH
25862000-12-14 Kenichi Handa <handa@etl.go.jp>
2587
98d62747
KH
2588 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2589 Always store string in multibyte representation in echobuf.
2590 (echo_char): Always store string in multibyte representation in
2591 echobuf.
2592 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2593 (read_key_sequence): Adjusted for the change of echo_prompt.
2594
a20193cd
KH
2595 * fns.c (Fmd5): Docstring improved.
2596
191b83b6
KH
2597 * lisp.h (detect_coding_system): Prototype adjusted.
2598
0544ef49
KH
2599 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2600 (detect_coding_emacs_mule, detect_coding_iso2022,)
2601 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2602 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2603 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2604 (detect_coding_mask, detect_coding_system): New argument
2605 MULTIBYTEP. Callers changed.
1da1bb05
KH
2606 (decode_coding_string): Set coding->src_multibyte and
2607 coding->dst_multibyte before calling detect_coding and detect_eol.
2608 Update them after some coding system is detected.
52283633 2609
d5b3eb1b
SM
26102000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2611
2612 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2613
2614 * keyboard.c (menu_bar_items, tool_bar_items):
2615 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2616
f7f8bb69
GM
26172000-12-13 Gerd Moellmann <gerd@gnu.org>
2618
52283633 2619 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2620 New variables.
2621 (unwind_create_frame, unwind_create_tip_frame): New functions.
2622 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2623 while a frame is only partially constructed.
2624
2625 * xterm.h (x_free_frame_resources): Declare.
2626
2627 * xterm.c (x_free_frame_resources): New function.
2628 (x_destroy_window): Use it.
2629
e10da507
GM
2630 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2631 don't interrupt the update for pending input initially, i.e.
2632 update at least some lines.
2633
2634 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2635
d5b3eb1b 2636 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2637
2638 * xfns.c (gray_bitmap_bits): Declare `char *'.
2639
90aa2856
GM
26402000-12-12 Gerd Moellmann <gerd@gnu.org>
2641
2642 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2643 lines start with a relief line.
2644
a308c9cd
DL
26452000-12-12 Dave Love <fx@gnu.org>
2646
2647 * window.c (Fdisplay_buffer): Doc fix.
2648 (Fwindow_list): Remove unused var.
2649
2650 * buffer.h (mmap_set_vars): Declare.
2651
2652 * window.h (Fset_window_point): Declare.
2653
d575011f
EZ
26542000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2655
bf6282d2 2656 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2657 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2658 variable `area'. When looking for a row under (X,Y), give up if some
2659 of the previous rows is not enabled.
d575011f 2660
ecf4d726
GM
26612000-12-12 Gerd Moellmann <gerd@gnu.org>
2662
2ebf6139
GM
2663 * window.c (Fset_window_point): If displaying cursors in windows
2664 other than the selected window, make sure redisplay updates
2665 other windows to show the new value of point in the window.
2666
2667 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2668
bfdb75ee
GM
2669 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2670 the buffer is the sole visible buffer when in the mini-buffer.
2671
52283633 2672 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2673 Bind `inhibit-read-only' to t.
2674 (unwind_with_echo_area_buffer): Use AREF.
2675
c0006262
GM
2676 * xfns.c (Fx_hide_tip): Simplified.
2677
52283633
SM
2678 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2679 instead of `1'.
e9a59cad 2680
ecf4d726
GM
2681 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2682
e5959a9a
GM
26832000-12-11 Gerd Moellmann <gerd@gnu.org>
2684
a3642e49 2685 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2686
44b5a125
GM
2687 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2688 nothing to do. Bind inhibit-quit.
2689 (tip_frame): Make it a Lisp_Object.
2690 (x_create_tip_frame): Set tip_frame after it has been added to
2691 Vframe_list.
2692 (Fx_show_tip): Don't set tip_frame here.
2693
2694 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2695
2696 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2697 Lisp_Object.
2698
2699 * dispextern.h: Change external declaration of tip_frame.
2700
d990421f
GM
2701 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2702 return an empty string.
2703
4db87380
GM
2704 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2705 of the window's update_mode_line flag, since the former is set by
2706 force-mode-line-update, not the latter. This makes
2707 column-number-mode slightly faster.
52283633 2708
e5959a9a
GM
2709 * xdisp.c (try_window_id) <all changes above window start>:
2710 Set the cursor.
2711
169fe44e
GM
27122000-12-11 Paul Eggert <eggert@twinsun.com>
2713
2714 * config.in (HAVE_FTELLO): Remove.
2715 (HAVE_FSEEKO): Add.
2716 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2717 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2718 HAVE_FTELLO.
2719 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2720 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2721
59ec59ae
MB
27222000-12-11 Miles Bader <miles@gnu.org>
2723
2724 * window.c (displayed_window_lines): Don't round up when
2725 converting empty space at bottom to lines.
ff904dd6
MB
2726 Handle non-newline-terminated final lines properly.
2727 (Fwindow_text_height): New function (used to be in lisp).
2728 (syms_of_window): Initialize it.
59ec59ae 2729
42ebfa31
SM
27302000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2731
2732 * syntax.c (scan_lists): Check that the right quote char has the
2733 right Sstring syntax when jumping over strings.
2734 (init_syntax_once): Use Smax rather than 13.
2735
5cdb3cf3
MB
27362000-12-09 Miles Bader <miles@gnu.org>
2737
2738 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2739 with PARTIALLY, inverting the sense.
2740 (window_scroll_pixel_based): Scroll partially visible lines into
2741 place if we hit the beginning or end of the buffer.
a12167c5
MB
2742 (displayed_window_lines): Don't include partially visible lines.
2743 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2744
842b2a94
GM
27452000-12-08 Gerd Moellmann <gerd@gnu.org>
2746
2747 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2748
2749 * tparam.c (tparam1): Change the way buffers are reallocated to be
2750 portable and less obfuscated.
2751
2752 * termcap.c (tgetent): Change the way buffers are reallocated to
2753 be portable and less obfuscated.
2754
2755 * macros.c (store_kbd_macro_char): Change the way buffers are
2756 reallocated to be portable and less obfuscated.
2757
2758 * lread.c (read1): Change the way buffers are reallocated to be
2759 portable and less obfuscated.
2760
2761 * doc.c (Fsubstitute_command_keys): Change the way buffers
2762 are reallocated so that it is portable.
2763
137cad7c
EZ
27642000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2765
2766 * dosfns.c (Ffile_system_info): New function.
2767 (syms_of_dosfns): Defsubr it.
2768
5c7f629c
SM
27692000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2770
2771 * alloc.c (gc_sweep): Add comment.
2772
959e647d
GM
27732000-12-07 Gerd Moellmann <gerd@gnu.org>
2774
52283633
SM
2775 * sound.c (vox_configure): Change order of ioctls.
2776 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2777 Ignore errors when changing volume.
2778 (vox_close): Don't reset the device.
2779
926b7e5e
GM
2780 * process.c (read_process_output): Make sure the process marker's
2781 position is valid when the process buffer is changed in
2782 after-change functions. W3 does that.
52283633 2783
959e647d
GM
2784 * xfns.c (x_free_gcs): New function.
2785
2786 * xterm.h (x_free_gcs): Add prototype.
2787
2788 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2789 freeing GCs here.
2790
2791 * xterm.c (x_destroy_window): Call x_free_gcs so that
2792 resources of non-toolkit X windows will be freed.
2793
478ea067
AI
27942000-12-07 Andrew Innes <andrewi@gnu.org>
2795
2796 * w32fns.c (xlfd_charset_of_font): Fix last change.
2797
fbee3231
DL
27982000-12-06 Dave Love <fx@gnu.org>
2799
67292061
DL
2800 * md5.h (__P): Don't define -- it comes from config.h.
2801
fbee3231
DL
2802 * strftime.c: Change some #if foo to #ifdef foo.
2803
4ee87dbb
AI
28042000-12-06 Andrew Innes <andrewi@gnu.org>
2805
2806 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2807
52283633 2808 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2809 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2810 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2811
9765b4a4
GM
28122000-12-06 Gerd Moellmann <gerd@gnu.org>
2813
d285b373
GM
2814 * alloc.c (gc_sweep): Prevent symbols read during loadup
2815 from being freed.
2816
384333ee
GM
2817 * xdisp.c (underlying_face_id): New function.
2818 (handle_face_prop, face_before_or_after_it_pos): Use it
2819 to determine the face ``under'' a string. Let strings inherit
2820 the face of the buffer under them.
2821
2822 * xfaces.c (face_at_string_position): Update function comment.
52283633 2823
d4b72d58
GM
2824 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2825 matrix if the window's left position has changed; we need to
2826 redraw it in this case.
2827
2828 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2829
e1d05387
GM
2830 * window.c (coordinates_in_window): Check mouse on mode-line or
2831 header-line first.
2832
eb1b0c74
GM
2833 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2834 advertized by the function documentation.
2835
d94d636f
GM
2836 * window.c (syms_of_window): Doc fix.
2837
3887b449
GM
2838 * sound.c (vox_configure): Set volume for left and right channel.
2839 (sound_cleanup): Return nil.
2840
efc8f57a
GM
2841 * xdisp.c (move_it_by_lines): Fix paren typo.
2842
9765b4a4
GM
2843 * xterm.c (x_load_font): Don't use the font's max_bounds for
2844 computing the height of the font. If max_bounds' ascent or
2845 descent are greater than the font's ascent or descent, this means
2846 glyphs overlap, which should be handled now by redisplay.
2847
6529ed87
GM
2848 * window.c (Veven_window_heights): New variable.
2849 (syms_of_window): DEFVAR_LISP it.
2850 (Fdisplay_buffer): Check Veven_window_heights before evening the
2851 window heights.
52283633 2852
0eb2ecde
MB
28532000-12-06 Miles Bader <miles@gnu.org>
2854
2855 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2856 update `default-frame-alist' instead of setting no frame parameters.
2857
03d7a167
KH
28582000-12-06 Kenichi Handa <handa@etl.go.jp>
2859
2860 * composite.c (update_compositions): Fix typo (use the correct
2861 variable).
2862
5f8803c2
JR
28632000-12-05 Jason Rumney <jasonr@gnu.org>
2864
2865 * md5.h: Remove underscores from function declarations.
2866 (__attribute__, __alignof__) [!__GNUC__]: Define.
2867
2868 * md5.c: Delay include of md5.h until after namespace cleaning.
2869
c28a075b
JR
2870 * makefile.w32-in (fns.o): Depend on md5.h
2871 (md5.o): New target.
2872 (sunfns.o): Remove.
2873
2874 * makefile.nt: Likewise.
2875
ff3c7056
JR
28762000-12-05 Jason Rumney <jasonr@altavista.net>
2877
2878 * w32term.c (expose_area): Complete last change.
2879
0c21eeeb
KR
28802000-12-05 Ken Raeburn <raeburn@gnu.org>
2881
2882 * minibuf.c: Include intervals.h.
2883
f201d732
JR
28842000-12-05 Jason Rumney <jasonr@gnu.org>
2885
2886 * w32term.c (x_produce_glyphs): If a font for a component of
2887 a composition is not found, use 1 pixel dot ascent and 0 dot
2888 descent value to avoid displaying terribly tall empty boxes.
2889 (expose_area): Pass x-coordinate relative to the exposed
2890 area to x_draw_glyphs instead of a window-relative coordinate.
2891
21999ab9
GM
28922000-12-05 Gerd Moellmann <gerd@gnu.org>
2893
4d2036e4
GM
2894 * xdisp.c (next_element_from_ellipsis): Save face before selective
2895 display in saved_face_id, and set face_before_selective_p.
2896 (reseat_1): Reset face_before_selective_p.
2897 (append_space, extend_face_to_end_of_line): If iterator's
2898 face_before_selective_p is set, use the face from saved_face_id.
2899 (extend_face_to_end_of_line): For tty frames, make sure to
2900 use the right face id when producing spaces at the end of
2901 the line.
2902
2903 * dispextern.h (struct it): Add face_before_selective_p.
2904
52be17cc
GM
2905 * keyboard.c (record_char): Don't record identical help-echo
2906 events in recent_keys.
2907
8a4f36cc
GM
2908 * xterm.c [USE_X_TOOLKIT]: Close the display.
2909 (xim_close_dpy): Handle case that the display has been closed.
2910
57d6e381
GM
2911 * xterm.c (x_destroy_window): Reset the frame's X window after
2912 destroying it.
2913
21999ab9
GM
2914 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2915 variable window_width.
2916 (line_draw_cost): Fix code skipping over spaces at the end of the
2917 line when must_write_spaces is not set.
2918 (scrolling_window): Fix code inserting runs in list of all runs.
2919
91372bb7
KH
29202000-12-05 Kenichi Handa <handa@etl.go.jp>
2921
2922 * coding.c (setup_coding_system): Be sure to initialize
2923 coding->category_idx.
2924
6c083b4c
GM
29252000-12-04 Gerd Moellmann <gerd@gnu.org>
2926
0c68ce6f 2927 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2928
6452929e
GM
2929 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2930 area to x_draw_glyphs instead of a window-relative coordinate.
2931
d7f31e22
GM
2932 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2933 error in the message.
2934
ae18aa3b
GM
2935 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2936 timer after having read a key. It's not good for code reading
2937 several keys in a loop, like an input method.
2938
caa15ef7
GM
2939 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2940 record undo information for format-decode.
2941
2942 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2943 current buffer is read-only, not if it isn't.
2944
6c083b4c
GM
2945 * keyboard.c (record_char): Record `help-echo' input events
2946 in recent_keys only if they display some help. Don't record
2947 `help-echo' events as macro char.
2948
caa15ef7
GM
29492000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2950
2951 * editfns.c (save_excursion_restore): Don't move point
2952 in another window if it is showing the wrong buffer.
2953 Avoid the call to Fwindow_live_p, for speed.
2954
5a13529b
KH
29552000-12-04 Kenichi Handa <handa@etl.go.jp>
2956
e225faa7
KH
2957 * xfaces.c (struct font_name): New member registry_priority.
2958 (split_font_name): Initialize the above member to zero.
2959 (concat_font_list): New function.
2960 (font_list): Include fonts of all alternative registries.
2961 (FONT_POINT_SIZE_QUANTUM): New macro.
2962 (better_font_p): Ignore point size difference less than
2963 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2964
e89648b4
KH
2965 * xterm.c (x_produce_glyphs): If a font for a component of
2966 a composition is not found, use 1 pixel dot ascent and 0 dot
2967 descent value to avoid displaying terribly tall empty boxes.
2968
5a13529b
KH
2969 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2970
d7935eb6
KR
29712000-12-03 Ken Raeburn <raeburn@gnu.org>
2972
2973 * coding.h (code_convert_string1): Declare.
2974
2975 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2976
52283633 2977 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 2978
0dd5e255
JR
29792000-12-02 Jason Rumney <jasonr@gnu.org>
2980
2981 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2982 correctly for single byte character case.
2983 (w32_per_char_metric): Do not try to make any assumptions about
2984 the metrics of BDF fonts.
250cfece 2985 (x_estimate_mode_line_height): If `mode-line' face
52283633 2986 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
2987 (note_mouse_highlight): Change the cursor shape on the vertical
2988 border between windows [not enabled].
2989
2990 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2991
2992 * w32fns.c (Fx_create_frame): Reintroduce the call to
2993 face-set-after-frame-defaults.
2994 (Vx_window_horizontal_drag_shape): New variable.
2995 (syms_of_xfns): DEFVAR_LISP it.
2996 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2997 enabled].
0dd5e255 2998
b5d8d2ca
GM
29992000-12-02 Simon Josefsson <simon@josefsson.org>
3000
3001 * fns.c (Fmd5): Use a different logic to decide the coding system
3002 to use.
3003
3004 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3005
fbb87147
EZ
30062000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3007
52283633 3008 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3009
447e9da0
GM
30102000-12-01 Gerd Moellmann <gerd@gnu.org>
3011
7708ced0
GM
3012 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3013 height for YNegative.
3014 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3015 height; also see comment there.
3016
447e9da0
GM
3017 * window.c (coordinates_in_window): Handle computations for
3018 positions on the vertical bar and fringes differently for
3019 window-system frames. Consider some pixels near the vertical bar
3020 as on the bar if the frame doesn't have vertical scroll bars.
3021 Associate positions between mode or header lines with the
3022 right window, the left one.
3023
86d1db20
JR
30242000-12-01 Jason Rumney <jasonr@gnu.org>
3025
3026 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3027
3028 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3029 invalid frame.
3030
a1d58e5b
GM
30312000-12-01 Gerd Moellmann <gerd@gnu.org>
3032
52283633 3033 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3034 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3035 (save_window_save, Fset_window_configuration): Save/restore
3036 window's orig_top and orig_height.
3037
89c609af
JR
30382000-12-01 Jason Rumney <jasonr@gnu.org>
3039
4d177746 3040 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3041
89c609af
JR
3042 * w32fns.c (x_set_cursor_color): Fix last change.
3043
eccc05db
GM
30442000-11-30 Gerd Moellmann <gerd@gnu.org>
3045
31b6671b
GM
3046 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3047 sure that the next redisplay displays the minibuffer, so that
3048 the cursor will be replaced with what the minibuffer wants.
3049
eccc05db
GM
3050 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3051 #ifndef instead of using #if.
3052 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3053 USE_TOOLKIT_SCROLL_BARS is defined.
3054
162de750
JR
30552000-11-30 Jason Rumney <jasonr@gnu.org>
3056
3057 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3058 x_display_cursor.
3059
693c4692
GM
30602000-11-30 Gerd Moellmann <gerd@gnu.org>
3061
3062 * fns.c (Fmd5): Doc fix.
3063
b5d8d2ca 30642000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3065
3066 * fns.c (Fmd5): New function.
3067 (syms_of_fns): Defsubr md5.
3068
3069 * Makefile.in (obj): Add md5.o
3070
b02cd40b
GM
30712000-11-30 Gerd Moellmann <gerd@gnu.org>
3072
edfb795e
GM
3073 * md5.h, md5.c: New files, taken from glibc.
3074
df3aedcf
GM
3075 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3076
b02cd40b 3077 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3078 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3079
8b5176cd
SM
30802000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3081
3082 * eval.c (Frun_hooks): Allow 0 arguments.
3083
346598f1
GM
30842000-11-29 Gerd Moellmann <gerd@gnu.org>
3085
f9396e03
GM
3086 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3087 is over the menu bar widget, say it's not on the frame.
3088
4a967a9b
GM
3089 * xfns.c (Fx_create_frame): Reintroduce the call to
3090 face-set-after-frame-defaults.
3091
346598f1
GM
3092 * eval.c (Fsignal): Reset handling_signal.
3093
222456a1
JR
30942000-11-28 Jason Rumney <jasonr@gnu.org>
3095
3096 * w32menu.c (add_menu_item): Reset menu item text when changing
3097 type to radio button.
3098
8049ddc0
GM
30992000-11-28 Gerd Moellmann <gerd@gnu.org>
3100
346598f1 3101 * xselect.c: Update copyright.
f4f4ee4d 3102
bebe4a2c
GM
3103 * window.c (coordinates_in_window): If on a mode or header line,
3104 but sufficiently close to its start, return ``on vertical
3105 border''. This gives us a way to drag windows horizontally when
3106 using toolkit scroll bars.
3107
3108 * xterm.c (note_mouse_highlight): Change the cursor shape
3109 on the vertical border between windows.
3110
3111 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3112
3113 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3114 (syms_of_xfns): DEFVAR_LISP it.
3115 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3116
8d2c2642
GM
3117 * textprop.c (text_read_only): New function.
3118 (verify_interval_modification): Use it instead of signaling
3119 `text-read-only'. This makes it easier to catch this error
52283633 3120 with a breakpoint.:
8d2c2642 3121
52283633 3122 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3123 not end of line, which includes CR.
3124
5a2bae6c
KH
31252000-11-28 Kenichi Handa <handa@etl.go.jp>
3126
3127 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3128 include no-conversion.
3129
ae31f84d
JR
31302000-11-27 Jason Rumney <jasonr@gnu.org>
3131
3132 * w32fns.c (w32_load_system_font): Always mark font as double byte
3133 if codepage is unicode.
3134
67f1cf4c
GM
31352000-11-27 Gerd Moellmann <gerd@gnu.org>
3136
4a74d071 3137 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3138 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3139
902ae620
GM
3140 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3141 `vertical-line', `mode-line' and `header-line' events.
3142
3143 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3144 of a character, a TAB for instance. This is easier than to set
3145 up the iterator exactly, and it's not a frequent case, so the
3146 additional effort wouldn't really pay off.
3147
c1e279c2
AC
31482000-11-26 Andrew Choi <akochoi@i-cable.com>
3149
67f1cf4c 3150 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3151 init_window_once.
3152
a609568a
JR
31532000-11-25 Jason Rumney <jasonr@gnu.org>
3154
52283633
SM
3155 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3156 Args to window_from_coordinates should be pixel coordinates.
48b21762 3157
a609568a
JR
3158 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3159 redisplay handles them properly.
3160
a658d039
MB
31612000-11-25 Miles Bader <miles@gnu.org>
3162
3163 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3164
d3416cca
JR
31652000-11-24 Jason Rumney <jasonr@gnu.org>
3166
3167 * w32.c (init_environment): Set LANG environment variable based on
3168 locale settings, if not set.
3169
3170 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3171 making tool bar smaller. When clearing the frame, also
3172 clear current matrices. Clear frame when tool bar disappears.
3173 Don't use more lines for the tool-bar than is available.
3174 (x_change_window_heights): New function.
3175
ba193890
GM
31762000-11-24 Gerd Moellmann <gerd@gnu.org>
3177
2be8f184
GM
3178 * xdisp.c (init_from_display_pos): If POS says we're already after
3179 an overlay string ending at POS, make sure to pop the iterator
3180 because it will be in front of that overlay string. When POS is
3181 ZV, we've thereby also ``processed'' overlay strings at ZV.
3182
ba193890
GM
3183 * xfaces.c (lface_from_face_name): Function comment fix.
3184
1862a24e
MB
31852000-11-24 Miles Bader <miles@gnu.org>
3186
3187 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3188 apply `mode-line-inverse-video' -- zero means force display using
3189 the default face, non-zero means display using the specialized face.
3190 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3191
f07fa1b8
KH
31922000-11-23 Kenichi Handa <handa@etl.go.jp>
3193
3194 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3195 hard coded `4'.
3196
2bcdf662
EZ
31972000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3198
3199 * coding.c (decode_coding_emacs_mule): Fix the case of
3200 CODING_EOL_LF, which used uninitialized value of c.
3201
ba8299ff
SM
32022000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3203
3204 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3205
f4117c4d
GM
32062000-11-22 Gerd Moellmann <gerd@gnu.org>
3207
03e757c1
GM
3208 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3209 buffer object.
3210
f4117c4d
GM
3211 * frame.h (struct frame): Replace desired_tool_bar_items,
3212 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3213 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3214
3215 * frame.c (make_frame): Change initialization of tool bar
3216 items accordingly.
3217
3218 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3219 Change references to members deleted from struct frame to use the
f4117c4d
GM
3220 new ones.
3221
3222 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3223 references to members deleted from struct frame to use the new ones.
f4117c4d 3224
52283633 3225 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3226
3227 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3228
3229 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3230 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3231 from struct frame to use the new ones.
3232
f8e2f3f2
MB
32332000-11-23 Miles Bader <miles@gnu.org>
3234
3235 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3236 the face's inverse-video attribute, rather than overriding it.
3237
60e8e0a5
GM
32382000-11-22 Gerd Moellmann <gerd@gnu.org>
3239
3240 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3241 making tool bar smaller.
3242
92dd1b29
DL
32432000-11-22 Dave Love <fx@gnu.org>
3244
3245 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3246
e672fdce
MB
32472000-11-22 Miles Bader <miles@gnu.org>
3248
3a17d6cc
MB
3249 * keyboard.c (Vminibuffer_message_timeout): New variable.
3250 (command_loop_1): Use it to determine message timeout.
3251 (syms_of_keyboard): Initialize it.
3252
60e8e0a5 3253 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3254
e9655d81
KH
32552000-11-22 Kenichi Handa <handa@etl.go.jp>
3256
3257 * sysdep.c: Move the code for declaring h_errno after #include
3258 <netdb.h>.
3259
77270fac
GM
32602000-11-21 Gerd Moellmann <gerd@gnu.org>
3261
cd913aae
GM
3262 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3263 the menu bar when the tooltip is unmapped.
3264
77270fac
GM
3265 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3266 sole visible buffer when we're currently in the mini-buffer, and
3267 give up if so.
52283633 3268
556635d6
JR
32692000-11-21 Jason Rumney <jasonr@gnu.org>
3270
3271 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3272 put on the clipboard.
3273 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3274 copy of what Emacs last put there. If they are the same, do not
52283633 3275 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3276
5b7bde64
MB
32772000-11-22 Miles Bader <miles@gnu.org>
3278
3279 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3280 (syms_of_minibuf): Initialize it.
3281 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3282 to prompt, don't make read-only.
3283
ff23e1dd
GM
32842000-11-21 Gerd Moellmann <gerd@gnu.org>
3285
52283633
SM
3286 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3287 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3288
7aaf4388
GM
3289 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3290
f5f47add 3291 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3292
ff23e1dd
GM
3293 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3294
37c35586
KH
32952000-11-21 Kenichi Handa <handa@etl.go.jp>
3296
3297 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3298 ... #endif scope.
3299
ff9ab414
GM
33002000-11-20 Gerd Moellmann <gerd@gnu.org>
3301
52283633 3302 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3303 screen supports it.
3304
29a01b72
GM
3305 * s/gnu-linux.h: Don't use `#cpu'.
3306
09dfdf85
GM
3307 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3308 not defined in mman.h.
3309
52283633 3310 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3311 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3312 and store an index in the XClientMessageEvent. Storing a
3313 Lisp_Object or pointer can fail on a 64 bit system, since X only
3314 transfers 32 bits.
52283633
SM
3315 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3316
81459ac9
DL
33172000-11-20 Dave Love <fx@gnu.org>
3318
3319 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3320
56c13ae6
GM
33212000-11-20 Gerd Moellmann <gerd@gnu.org>
3322
3323 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3324
495a6df3
KH
33252000-11-20 Kenichi Handa <handa@etl.go.jp>
3326
2bcf3714
KH
3327 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3328 by WIDTH.
3329
495a6df3
KH
3330 * alloc.c (make_string): Fix previous change. Be sure to make
3331 unibyte string correctly.
3332
6d950f4c
GM
33332000-11-19 Gerd Moellmann <gerd@gnu.org>
3334
39b39373
GM
3335 * window.c (Fwindow_list): Change parameter list to be XEmacs
3336 compatible.
3337 (window_list_1): New function.
3338 (window_loop): Use it instead of Fwindow_list.
3339
b95b34e5
GM
3340 * sysdep.c (emacs_ospeed): New variable.
3341 (toplevel): Don't declare ospeed extern.
3342 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3343
3344 * termcap.c (ospeed): Remove.
3345 (tputs) [!emacs]: Remove unused code.
3346 (tgetent): Avoid a compiler warning.
3347
e83dc917
GM
3348 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3349 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3350 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3351
3352 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3353 removed.
3354 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3355 Take the X display as additional argument.
3356 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3357 `Widget' is a pointer type that's not easily stored in Lisp_Object
3358 form in a portable way.
52283633 3359
6d950f4c
GM
3360 * dispnew.c (update_text_area): Fix last change.
3361
e47306e6
GM
33622000-11-18 Gerd Moellmann <gerd@gnu.org>
3363
fb3cd89b
GM
3364 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3365
3366 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3367 clear current matrices.
3368
edaa9aed
GM
3369 * buffer.c (mmap_enlarge): Don't print a message on stderr
3370 if mapping new memory at the end of the existing region fails.
3371
e47306e6
GM
3372 * dispnew.c (update_text_area): Don't skip over equal glyphs
3373 when the last current glyph overlaps the glyph to its right.
3374
509633e3
MB
33752000-11-18 Miles Bader <miles@gnu.org>
3376
3377 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3378 lines that *end* with "..." too (that's the most common case!).
3379
d392e9c5
GM
33802000-11-18 Gerd Moellmann <gerd@gnu.org>
3381
67988445
GM
3382 * xdisp.c (resize_mini_window): Temporarily change to the
3383 mini-window's buffer if necessary.
1bfdbe43 3384
d392e9c5
GM
3385 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3386 the tooltip obscures less text under it.
3387
33882000-11-17 Gerd Moellmann <gerd@gnu.org>
3389
3390 * puresize.h (BASE_PURESIZE): Increase to 700000.
3391
92bb977f
JR
33922000-11-18 Jason Rumney <jasonr@gnu.org>
3393
3394 * w32term.c (w32_draw_bitmap): Use face to set colors.
3395
26fbf20b
DL
33962000-11-17 Dave Love <fx@gnu.org>
3397
3398 * lread.c (Fload): Fix #ifdef for pcc.
3399
100b593b
GM
34002000-11-17 Gerd Moellmann <gerd@gnu.org>
3401
3402 * xdisp.c (pos_visible_p): Compute the default character height
3403 differently.
3404
a288d0d1
GM
34052000-11-16 Gerd Moellmann <gerd@gnu.org>
3406
cac94de6 3407 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3408 knowing the line's height; use the default font's height in that case.
cac94de6 3409
a288d0d1
GM
3410 * xfaces.c (weight_table): Add `demi' with the same meaning as
3411 `demibold'.
3412
981fb6f6
KH
34132000-11-16 Kenichi Handa <handa@etl.go.jp>
3414
2cca872d 3415 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3416 (clear_glyph_row): Delete local static variable null_row.
3417
e5fa381b
JR
34182000-11-15 Jason Rumney <jasonr@gnu.org>
3419
3420 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3421 (w32_alloc_lighter_color): Use new brightness calculations from
3422 xterm.c. Scale delta to be in the range expected by W32.
3423 (w32_draw_relief_rect): Use frame relief colors.
3424
8e42f043
GM
34252000-11-15 Gerd Moellmann <gerd@gnu.org>
3426
6d133d1f
GM
3427 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3428 (Qinhibit_default_face_x_resources): New variable.
3429 (syms_of_frame): Initialize it.
3430 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3431
3432 * xdisp.c (pos_visible_p): Improve function comment.
3433
3434 * lisp.h (BINDING_STACK_SIZE): New macro.
3435
8e42f043
GM
3436 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3437 reading the directory if readdir returns null and errno is EAGAIN
3438 or EINTR.
3439
e8c87124
SM
34402000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3441
3442 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3443 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3444 Set amount_to_scroll to max of dx and scroll_step so that
3445 scroll-conservatively doesn't defeat scroll-step>1.
3446 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3447 scroll-conservatively for line-at-a-time scrolling.
3448
5f0c971d
GM
34492000-11-14 Gerd Moellmann <gerd@gnu.org>
3450
3451 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3452 extra argument.
3453
3454 * xdisp.c (current_mode_line_height, current_header_line_height):
3455 New variables.
3456 (init_xdisp): Initialize them.
3457 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3458 and use exact mode line heights if it is set.
3459
3460 * lisp.h (pos_visible_p): Change prototype.
3461
3462 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3463 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3464 and current_header_line_height first.
52283633
SM
3465 (current_mode_line_height, current_header_line_height):
3466 Declare extern.
5f0c971d 3467
d7361edf
MB
34682000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3469
3470 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3471 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3472 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3473
ee5e440a
MB
34742000-11-14 Miles Bader <miles@gnu.org>
3475
3476 * xterm.c (x_alloc_lighter_color): Include an additive component
3477 too for dark colors, because FACTOR isn't enough.
3478 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3479 New macros.
3480
5ca020fc
GM
34812000-11-13 Gerd Moellmann <gerd@gnu.org>
3482
3483 * keyboard.c (show_help_echo): Call message3_nolog with number of
3484 bytes in the help string as 2nd parameter, instead of the number
3485 of characters.
3486
9d348294
MB
34872000-11-13 Miles Bader <miles@gnu.org>
3488
3489 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3490 (Fload): Use new openp return protocol.
3491 Don't try to use Vload_source_file_function to load .elc files.
3492 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3493 openp return protocol.
3494 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3495
1729bb9a
KH
34962000-11-11 Kenichi Handa <handa@etl.go.jp>
3497
4e677396
KH
3498 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3499
3500 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3501 Defined these macros.
3502 (NLIST_STRUCT): Avoid re-defining it.
3503
1729bb9a
KH
3504 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3505 -I/usr/contrib/X11R6/include.
3506 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3507
a82fe213
JR
35082000-11-10 Jason Rumney <jasonr@gnu.org>
3509
3510 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3511
3512 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3513 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3514
3515 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3516 (Qw32_charset_vietnamese): New symbol.
3517 (xlfd_charset_of_font): New function.
3518 (w32_load_system_font): Use it.
3519 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3520 when Vw32_charset_info_alist is nil to ensure default face always
3521 has font. Use Fcar and Fcdr for safety.
3522 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3523 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3524 pseudo-codepages for special cases.
3525 (w32_to_x_font): New parameter to allow charset portion to be
3526 specified where there is many to one mapping. Callers changed.
3527 (w32_list_fonts): Avoid listing fonts that won't display.
3528
52d89894
GM
35292000-11-10 Gerd Moellmann <gerd@gnu.org>
3530
3531 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3532 (font_list_1): Renamed from font_list.
3533 (font_list): New function, trying alternative registries from
3534 Vface_alternative_font_registry_alist.
3535 (Finternal_set_alternative_font_registry_alist): New function.
3536 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3537 Vface_alternative_font_registry_alist.
3538 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3539
651cd3da
KR
35402000-11-09 Ken Raeburn <raeburn@gnu.org>
3541
3542 * lisp.h (Flooking_at): Declare.
3543
388ac098
GM
35442000-11-09 Gerd Moellmann <gerd@gnu.org>
3545
778fbc46 3546 * dired.c (directory_files_internal): Fix a braino.
52283633 3547
388ac098
GM
3548 * dired.c (directory_files_internal): Add missing GCPRO's.
3549 Some cleanup.
3550
ecaedde1
GM
35512000-11-08 Gerd Moellmann <gerd@gnu.org>
3552
f7eb32aa
GM
3553 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3554 (resize_mini_window): Return quickly if Vresize_mini_window is
3555 nil. Don't return if Vmax_mini_window_height is nil.
3556
3557 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3558 (syms_of_xdisp): Initialize them.
3559 (resize_mini_window): Act according to the setting of
3560 Vresize_mini_window.
3561 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3562
ecaedde1
GM
3563 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3564 scroll bar widget after configuring it, so that it will appear at
3565 the right position from the start.
3566 (XTredeem_scroll_bar): Cleaned up.
3567
3747ef2c
KH
35682000-11-08 Kenichi Handa <handa@etl.go.jp>
3569
3570 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3571 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3572 division by two.
3573
3574 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3575
03391420
DL
35762000-11-07 Dave Love <fx@gnu.org>
3577
7758f1c1 3578 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3579
3580 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3581
b5de343d
GM
35822000-11-07 Gerd Moellmann <gerd@gnu.org>
3583
acad3c0b
GM
3584 * window.c (Fset_window_configuration): Don't try to preserve
3585 point in the current buffer, if that buffer is displayed in more
3586 than one window.
3587
b5de343d
GM
3588 * xfaces.c (lookup_named_face): If default face isn't realized,
3589 try to realize it. Return -1 if not successful.
3590 (Fx_list_fonts): Handle case that face cannot be determined.
3591 (Fface_font): Likewise.
3592
cdb1fe49
GM
35932000-11-06 Gerd Moellmann <gerd@gnu.org>
3594
3595 * window.c (displayed_window_lines): Detect partially
3596 visible lines at the bottom correctly.
3597
d3a67486
SM
35982000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3599
3600 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3601 when ensuring we don't do visit in indirect buffer.
3602
ff8dd5d5
KH
36032000-11-06 Kenichi Handa <handa@etl.go.jp>
3604
3605 * composite.h (compose_chars_in_text): Add prototype.
3606
3607 * composite.c (Vcomposition_function_table): New variable.
3608 (Qcomposition_function_table): New variable.
3609 (run_composition_function): Call
3610 Vcompose_chars_after_function with three arguments.
3611 (compose_chars_in_text): New function.
3612 (syms_of_composite): Modified the doc-string of
3613 Vcompose_chars_after_function. Declare composition-function-table
3614 as a lisp variable, and initialize it.
3615
3616 * xfns.c (x_encode_text): Suppress producing escape sequences for
3617 composition.
3618
3619 * xselect.c: Include composite.h.
3620 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3621
d1145f85
AI
36222000-11-05 Andrew Innes <andrewi@gnu.org>
3623
3624 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3625
3626 * sysdep.c (read_input_waiting): Remove extraneous argument to
3627 read_socket_hook.
3628
3629 * w32fns.c (Fx_server_version): Include w32_build_number in the
3630 return list.
3631
3632 * w32heap.c (w32_build_number): New variable.
3633 (cache_system_info): Set it.
3634
3635 * w32heap.h (w32_build_number): Add extern.
3636
3637 * emacs.c (syms_of_emacs): Update docstring for
3638 system-configuration, to reflect the actual usage on MS-Windows.
3639
e85ee976
GM
36402000-10-31 Gerd Moellmann <gerd@gnu.org>
3641
26dcb81b
GM
3642 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3643 process idle timers while waiting for another event.
3644
52283633 3645 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3646 the default face are colored.
3647
e85ee976
GM
3648 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3649 window height hasn't changed.
3650
01b220b6
JR
36512000-10-31 Jason Rumney <jasonr@gnu.org>
3652
3653 * w32term.c (x_produce_glyphs): Handle composite characters.
3654 (x_draw_glyph_string_foreground)
3655 (x_draw_composite_glyph_string_foreground): Restore old font.
3656
4e6b7204
MB
36572000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3658
3659 * minibuf.c (read_minibuf): Reset the undo history just before
3660 starting the recursive-edit.
3661
d4358b37
GM
36622000-10-30 Gerd Moellmann <gerd@gnu.org>
3663
563f68f1
GM
3664 * xfaces.c (menu_face_change_count): New variable.
3665 (Finternal_set_lisp_face_attribute): Increment it for changes
3666 of the `menu' face.
3667 (realize_basic_faces): Reflect changes in the `menu' faces
3668 in menu bars.
3669
82e274d1
GM
3670 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3671 dy obtained from the iterator's y-position after moving from
3672 scroll_margin_pos to PT; see comment there.
52283633 3673
0dbf9fd2
GM
3674 * xdisp.c (safe_eval_handler): Call add_to_log.
3675
906b3b14
GM
3676 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3677 is not a symbol or string.
3678
d4358b37
GM
3679 * xdisp.c (echo_area_display): Don't perform a display update from
3680 inside redisplay. The update will happen anyway at the end of
3681 redisplay, and it can confuse redisplay (GC messages while
3682 redisplaying, for instance.)
3683
70c825df
SM
36842000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3685
cf9b4b0b
SM
3686 * xrdb.c (x_load_resources): Use the class name in the defaults.
3687
70c825df
SM
3688 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3689 (regex_compile): Catch bogus \(\1\).
3690
a1d34b1e
GM
36912000-10-30 Gerd Moellmann <gerd@gnu.org>
3692
cae71efe
GM
3693 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3694 RGB values.
52283633 3695
35efe0a1
GM
3696 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3697 we have a color cache, check that the cached color equals the
3698 allocated color. If not, clear the color cache.
3699
1d3baf74
GM
3700 * window.c (displayed_window_lines): Change buffers if necessary.
3701 Fix computation of displayed lines.
3702
a1d34b1e
GM
3703 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3704 update_menu_bindings to DEFVAR_BOOL.
3705
70737ea9
KH
37062000-10-30 Kenichi Handa <handa@etl.go.jp>
3707
70c825df 3708 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3709
fa0cb51d
KH
3710 * puresize.h (BASE_PURESIZE): Increase to 680000.
3711
70737ea9
KH
3712 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3713
0e4c08e8
JR
37142000-10-29 Jason Rumney <jasonr@gnu.org>
3715
3716 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3717
3718 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3719 (w32_cache_char_metrics): Handle possibility that 'x' does not
3720 exist in a BDF font.
3721 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3722
3723 * w32bdf.h (bdffont): Add nchars.
3724
3725 * w32bdf.c (set_bdf_font_info): Set it.
3726 (w32_BDF_TextOut): Swap byte order of double byte characters.
3727 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3728
45b84006
EZ
37292000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3730
3731 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3732 don't override the colors in frame's param_alist, unless they are
3733 unspecified.
3734
3735 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3736 reverse the effect of the highlight flag.
3737
caf9deee
KR
37382000-10-27 Ken Raeburn <raeburn@gnu.org>
3739
3740 * window.h (Fwindow_live_p): Declare.
3741
ae0b9b46
KR
3742 * undo.c (record_delete): Check that last_undo_buffer is really a
3743 buffer before applying XBUFFER to it.
3744
3745 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3746 Faref.
3747
02067692
SM
37482000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3749
3750 * lisp.h (KEYMAPP): New macro.
3751 (get_keymap): Remove.
3752 (get_keymap_1): Rename get_keymap.
3753
3754 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3755
3756 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3757
3758 * xmenu.c (single_submenu): Use KEYMAPP.
3759 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3760 Use KEYMAPP rather than Fkeymapp.
3761
3762 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3763
3764 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3765 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3766 Use KEYMAPP rather than Fkeymapp.
3767 (single_submenu): Use KEYMAPP.
3768 (w32_menu_show, w32_dialog_show): Use TRUE.
3769
3770 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3771
3772 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3773 (Fkeymapp): Use KEYMAPP.
3774 (get_keymap): Rename from get_keymap_1. Remove old def.
3775 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3776 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3777 (Fminor_mode_key_binding): Don't raise an error if the binding
3778 is not a keymap.
3779 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3780 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3781
3782 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3783 Allow Vspecial_event_map to be autoloaded.
3784 (menu_bar_items): Fetch the keymap rather than using keymapp.
3785 (menu_bar_one_keymap): No need to follow func-indirect any more.
3786 (parse_menu_item): get_keymap_1 -> get_keymap.
3787 (tool_bar_items): Fetch the keymap rather than using keymapp.
3788 (read_key_sequence): Use KEYMAPP.
3789
3790 * intervals.c (get_local_map): Use get_keymap rather than following
3791 function-indirections explicitly.
3792
3793 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3794
f9d80af3
JR
37952000-10-27 Jason Rumney <jasonr@gnu.org>
3796
3797 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3798 point, as Windows has oversized fonts.
3799
3800 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3801
a3ba27da
GM
38022000-10-27 Gerd Moellmann <gerd@gnu.org>
3803
3804 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3805 (freehook, reallochook): Handle null pointer arguments.
3806 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3807
aa3b80cc
SM
38082000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3809
3810 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3811 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3812 Giving in to popular pressure to shut up the compiler with casts.
3813
e24e84cc
GM
38142000-10-27 Gerd Moellmann <gerd@gnu.org>
3815
3816 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3817 signed value, and use a default value computed from the font's
3818 maximum descent.
3819
05ea7ef2
MB
38202000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3821
3822 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3823 that specify a negative underline position can still use underlines.
3824
3825 * window.c (Fpos_visible_in_window_p): Make POS default to
3826 WINDOW's point, not the current buffer's point.
3827
0b95284b
DL
38282000-10-26 Dave Love <fx@gnu.org>
3829
3830 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3831 when it's necessary.
3832
6c5b90af
GM
38332000-10-26 Gerd Moellmann <gerd@gnu.org>
3834
8b6d9dc9
GM
3835 * window.c (size_window): Compute size difference from sum of old
3836 child window sizes instead of from parent's size.
3837
6bc92b2e
GM
3838 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3839 Handle obscured lines at the top of the window.
3840
3841 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3842 down after the last error condition check.
3843
6c5b90af
GM
3844 * frame.c (Fdelete_frame): Run delete-frame-hook.
3845
42f92d4d
KH
38462000-10-26 Kenichi Handa <handa@etl.go.jp>
3847
3848 * coding.c (decode_coding): Fix previous change (check also
3849 CODING_MODE_LAST_BLOCK).
3850
d97151cb
SM
38512000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3852
e7efc503
SM
3853 * regex.c: More `unsigned char' -> `re_char' changes.
3854 Also change several `int' into `re_wchar_t'.
3855 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3856 (PUSH_FAILURE_POINTER): Don't cast any more.
3857 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3858 We want GCC to complain, since this piece of code makes
3859 re_match non-reentrant, which *should* be fixed.
3860 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3861 (EXTEND_BUFFER): Use RETALLOC.
3862 (SET_LIST_BIT): Don't cast.
3863 (re_wchar_t): New type.
3864 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3865 that those two functions will always properly return.
3866 (IMMEDIATE_QUIT_CHECK): Cast to void.
3867 (analyse_first): Use recursion rather than an explicit stack.
3868 (re_compile_fastmap): Can't fail anymore.
3869 (re_search_2): Don't check re_compile_fastmap for failure.
3870 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3871 Now also sets the new value (passed in a new argument).
3872 (re_match_2_internal): Use it.
3873 Also, use a new var `reg' of type size_t when looping through regs
3874 rather than reuse the inappropriate `mcnt'.
3875
d97151cb
SM
3876 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3877 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3878 (where_is_internal): Renamed from Fwhere_is_internal.
3879 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3880 (Fwhere_is_internal): New function wrapping where_is_internal.
3881 (where_is_internal_1): Handle the case where we're filling the cache.
3882 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3883
d5789b65
MB
38842000-10-25 Miles Bader <miles@gnu.org>
3885
3886 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3887
4ecda532
GM
38882000-10-25 Gerd Moellmann <gerd@gnu.org>
3889
3890 * window.c (pos_fully_visible_p): Removed.
3891 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3892 if position is visible and/or fully visible.
3893
3894 * lisp.h (pos_visible_p): Add prototype.
3895
3896 * xdisp.c (pos_visible_p): New function.
3897
68c3a137
KH
38982000-10-25 Kenichi Handa <handa@etl.go.jp>
3899
3900 * process.c (send_process): If OBJECT is t, it means that the data
3901 is from C string, but we should encode it. Before calling
3902 setup_raw_text_coding_system, be sure to flush out data by the
3903 previous coding system.
3904
7ae1c032
MB
39052000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3906
ff4dcd4b
MB
3907 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3908 assignment of startpos to prev when startpos == pos.
3909
7ae1c032
MB
3910 * editfns.c (find_field): Set the field stickiness correctly from
3911 overlay fields. Use renamed `text_property_stickiness'.
3912 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3913 Only check text properties, not overlays.
7ae1c032
MB
3914 * textprop.c (get_char_property_and_overlay): New function.
3915 (Fget_char_property): Use it.
3916 * intervals.h (get_char_property_and_overlay): Add declaration.
3917
49801145
SM
39182000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3919
3920 * keymap.c: Use AREF, ASET and ASIZE macros.
3921 (Fmake_sparse_keymap): Docstring fix.
3922 (synkey): Remove.
3923 (shadow_lookup): Move up.
3924 Handle the case where lookup-key returns an integer.
3925 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3926 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3927 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3928 Simplify/rewrite the keymap-finding code.
3929 Add check for command shadowing, using shadow_lookup.
3930
39e776cd
SM
39312000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3932
3933 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3934 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3935 a symbol.
3936
2488aba5
AI
39372000-10-24 Andrew Innes <andrewi@gnu.org>
3938
3939 * dired.c (directory_files_internal_unwind): New function.
3940 (directory_files_internal): Use it to ensure closedir is called
3941 even if expand-file-name or file-attributes throw, eg. because of
3942 a user interrupt. Also enable immediate_quit while calling
3943 re_search, so that matching can be interrupted as well.
3944
b94fdf61
AI
39452000-10-24 Andrew Innes <andrewi@gnu.org>
3946
3947 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3948 NT-Emacs only.
3949 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3950 so that re_search functions only quit when callers expect them to.
3951
39522000-10-24 Kenichi Handa <handa@etl.go.jp>
3953
3954 * regex.c (regex_compile): Change the way of handling a range from
3955 a char less than 256 to a char not less than 256.
3956
1946f901
GM
39572000-10-24 Gerd Moellmann <gerd@gnu.org>
3958
7ae2f10f
GM
3959 * window.c (size_window): Prevent setting window's width or
3960 height to a negative value (esp. with XSETFASTINT).
3961
5dcab13e
GM
3962 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3963 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3964 (protect_malloc_state) [GC_MALLOC_CHECK &&
3965 GC_PROTECT_MALLOC_STATE]: New function.
3966 (PROTECT_MALLOC_STATE): New macro.
3967 (__malloc_initialize, morecore, _malloc_internal)
3968 (_free_internal) _realloc_internal): Use it to make _heapinfo
3969 read-only outside of gmalloc.
3970
63e1b552
GM
3971 * keymap.c: Update copyright.
3972
1946f901
GM
3973 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3974 a symbol.
3975
4fa09beb
GM
39762000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3977
3978 * filelock.c (unlock_all_files): Use unlock_file to expand each
3979 buffer's file_truename before trying remove its lock file.
3980
23afac01
EZ
39812000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3982
3983 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3984 or CRLF, decode EOLs.
3985
04448b95
KH
39862000-10-24 Kenichi Handa <handa@etl.go.jp>
3987
3988 * window.c (Fdisplay_buffer): Fix doc.
3989
3090a5a5
JR
39902000-10-23 Jason Rumney <jasonr@gnu.org>
3991
3992 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3993 ASCII font of default fontset on Windows.
3994
3995 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3996 xterm.c comment below).
3997
3998 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3999
a83fee2c
GM
40002000-10-23 Gerd Moellmann <gerd@gnu.org>
4001
4002 * xterm.c (x_connection_closed): Reset handling_signal.
4003
52283633 4004 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4005
6ffdb539
MB
40062000-10-23 Miles Bader <miles@gnu.org>
4007
4008 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4009 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4010 maintain old behavior.
4011 * minibuf.c (Fminibuffer_complete): Likewise.
4012
7f1c969b
MB
40132000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4014
4015 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4016 that when a font can't be exactly centered, it errs up rather than
4017 down.
4018
23afac01 40192000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4020
52283633 4021 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4022
1a578e9b
AC
40232000-10-23 Andrew Choi <akochoi@i-cable.com>
4024
4025 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4026
4027 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4028 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4029
4030 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4031 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4032 syms_of_search, x_term_init, and init_keyboard before calling
4033 init_window_once. Also, call syms_of_xmenu.
4034
4035 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4036 default fontset to Monaco.
4037
4038 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4039 NewMacWindow and DisposeMacWindow.
4040 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4041 instead of calling NewMacWindow and setting fields of
4042 f->output_data.mac directly. Call init_frame_faces.
4043 (Fdelete_frame) [macintosh]: Remove unused code.
4044 (Fmodify_frame_parameters) [macintosh]: Call
4045 x_set_frame_parameters instead of mac_set_frame_parameters.
4046
4047 * frame.h [macintosh]: Define menu_bar_lines field in struct
4048 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4049
4050 * keyboard.c [macintosh]: Include macterm.h.
4051 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4052 and menu_bar_activate_event type events as for X and NT.
4053 (make_lispy_event) [macintosh]: Construct lisp events of type
4054 MENU_BAR_EVENT as for X and NT.
4055
4056 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4057 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4058 (sys_subshell) [macintosh]: Remove definition entirely.
4059 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4060 Vwindow_system_version here. Remove initialization of
4061 Vx_bitmap_file_path.
4062 (read_input_waiting): Correct the number of parameters passed to
4063 read_socket_hook.
4064 Move all Macintosh functions to mac/mac.c.
4065
4066 * term.c [macintosh]: Include macterm.h.
4067
4068 * window.c [macintosh]: Include macterm.h.
4069
4070 * xdisp.c [macintosh]: Include macterm.h. Declare
4071 set_frame_menubar and pending_menu_activation.
4072 (echo_area_display) [macintosh]: Do not return if terminal frame
4073 is the selected frame.
4074 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4075 Allow only the selected frame to set menu bar.
4076 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4077 calling FRAME_EXTERNAL_MENU_BAR (f).
4078 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4079
4080 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4081 and check_x. Declare XCreateGC. Define x_create_gc and
4082 x_free_gc. Initialize font_sort_order.
4083 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4084 but call x_list_fonts instead of w32_list_fonts.
4085 (Finternal_face_x_get_resource) [macintosh]: Do not call
4086 display_x_get_resource.
4087 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4088 (realize_x_face) [macintosh]: Load the font if it is specified in
4089 ATTRS.
52283633 4090 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4091
1ffbabe3
SM
40922000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4093
4094 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4095 is nil: since we go to the end of submap anyway, we'd end up
4096 setting nil to nil.
4097 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4098 doesn't obey autoload.
4099
bed43f1d
EZ
41002000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4101
1ffbabe3 4102 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4103
ea4233a7
JR
41042000-10-21 Jason Rumney <jasonr@gnu.org>
4105
4106 * w32term.c (w32_cache_char_metrics): Double check that font is
4107 really fixed pitch before trusting tmPitchAndFamily.
4108
f3d3c491
AI
41092000-10-21 Andrew Innes <andrewi@gnu.org>
4110
4111 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4112
4113 * w32term.h: Extern decl for w32_cache_char_metrics.
4114
4115 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4116
4117 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4118 (w32_unload_font): Free per_char array if present.
4119
4120 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4121 cached information in emulated XFontStruct to handle common cases
4122 quickly. Do not allocate XCharStruct for return.
4123 (w32_native_per_char_metric): New function.
4124 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4125 allocating one.
4126 (x_produce_glyphs): Don't get an HDC. Change calls to
4127 w32_per_char_metric to match arg change above. Remove calls to
4128 free results.
4129 (w32_get_glyph_overhangs): Ditto.
4130 (w32_cache_char_metrics): New function.
4131
4132 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4133 ($(BLD)/casefiddle.$(O)): Remove compile command.
4134 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4135 ($(BLD)/dispnew.obj):
4136 ($(BLD)/keyboard.obj):
4137 ($(BLD)/w32inevt.obj):
4138 ($(BLD)/w32bdf.obj):
4139 ($(BLD)/alloc.obj):
4140 ($(BLD)/buffer.obj):
4141 ($(BLD)/editfns.obj):
4142 ($(BLD)/emacs.obj):
4143 ($(BLD)/fileio.obj):
4144 ($(BLD)/fns.obj):
4145 ($(BLD)/indent.obj):
4146 ($(BLD)/insdel.obj):
4147 ($(BLD)/intervals.obj):
4148 ($(BLD)/minibuf.obj):
4149 ($(BLD)/print.obj):
4150 ($(BLD)/scroll.obj):
4151 ($(BLD)/sysdep.obj):
4152 ($(BLD)/textprop.obj):
4153 ($(BLD)/widget.obj):
f3d3c491
AI
4154 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4155 ($(BLD)/term.obj): Add dependency on dispextern.h.
4156
52283633
SM
4157 * makefile.nt ($(BLD)\dispnew.obj):
4158 ($(BLD)\keyboard.obj):
4159 ($(BLD)\w32inevt.obj):
4160 ($(BLD)\w32bdf.obj):
4161 ($(BLD)\alloc.obj):
4162 ($(BLD)\buffer.obj):
4163 ($(BLD)\editfns.obj):
4164 ($(BLD)\emacs.obj):
4165 ($(BLD)\fileio.obj):
4166 ($(BLD)\fns.obj):
4167 ($(BLD)\indent.obj):
4168 ($(BLD)\insdel.obj):
4169 ($(BLD)\intervals.obj):
4170 ($(BLD)\minibuf.obj):
4171 ($(BLD)\print.obj):
4172 ($(BLD)\scroll.obj):
4173 ($(BLD)\sysdep.obj):
4174 ($(BLD)\textprop.obj):
4175 ($(BLD)\widget.obj):
f3d3c491
AI
4176 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4177 ($(BLD)\term.obj): Add dependency on dispextern.h
4178
18ad4821
EZ
41792000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4180
4181 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4182 with an additional argument of Qt.
4183
de54681a
MB
41842000-10-21 Miles Bader <miles@gnu.org>
4185
4186 * window.c (pos_fully_visible_in_window_p): New function.
4187 (Fpos_visible_in_window_p): Add FULLY argument.
4188 Use pos_fully_visible_in_window_p.
4189 (window_scroll_pixel_based, window_scroll_line_based): Update
4190 calls to Fpos_visible_in_window_p.
4191 * lisp.h (Fpos_visible_in_window_p): Update prototype
4192
13c844fb
GM
41932000-10-20 Gerd Moellmann <gerd@gnu.org>
4194
4195 * alloc.c (toplevel): Conditionalize compilation of mem_*
4196 functions differently.
52283633 4197
d9506268
JR
41982000-10-20 Jason Rumney <jasonr@gnu.org>
4199
4200 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4201 mem_init where it used to be. mem_z etc not defined otherwise.
4202
8094989b
GM
42032000-10-20 Gerd Moellmann <gerd@gnu.org>
4204
4205 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4206 GC_MALLOC_CHECK.
4207 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4208 structure definition and related variabled to the top of the file.
4209 Include this code when GC_MALLOC_CHECK is defined.
4210 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4211 register/unregister allocated region.
4212 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4213 which isn't allocated.
4214 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4215 something which is already in use.
4216 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4217 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4218 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4219 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4220
4221 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4222 _malloc_internal instead of malloc.
4223 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4224 of free.
4225
ea456eb4
AI
42262000-10-20 Andrew Innes <andrewi@gnu.org>
4227
4228 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4229 Windows.
4230 (my_strftime) <macro>: Don't use macro arg list when redefining as
4231 _strftime_copytm.
4232 (my_strftime) <function>: Supply 0 as ut argument.
4233
e64c3a75
JR
42342000-10-19 Jason Rumney <jasonr@altavista.net>
4235
4236 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4237 including dispextern.h, as it stops faces from working.
4238
4239 * w32fns.c (Fx_create_frame): Don't bother calling
4240 face-set-after-frame-default since the caller does it for us
4241 anyway. Clean up calls to x_get_arg to be consistent with X.
4242
4243 * w32term.c (x_produce_glyphs): Handle
4244 unibyte_display_via_language_environment correctly.
4245 (w32_draw_box_rect): Fix the calculation of width and height.
4246
4247 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4248 as it has stopped working.
4249 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4250 menu-bar.
4251
17401c97
GM
42522000-10-19 Gerd Moellmann <gerd@gnu.org>
4253
4254 * eval.c (skip_debugger): Prevent a compiler warning.
4255 (Fcondition_case): Likewise.
4256 (Fbacktrace_frame): Use a null interactive spec.
4257
773272d8
KH
42582000-10-19 Kenichi Handa <handa@etl.go.jp>
4259
4260 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4261
a42943e9
GM
42622000-10-18 Gerd Moellmann <gerd@gnu.org>
4263
e50517d9
GM
4264 * strftime.c: Sync with glibc, file version 1.78.
4265 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4266 should no longer be used according to ISO 8601.
4267
9035a35a
GM
4268 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4269 no map for meta_prefix_char, don't try to use it as a keymap.
4270 Instead, if T_OK is non-zero, look up a default binding, if any,
4271 otherwise, if T_OK is zero, return nil.
4272
a42943e9
GM
4273 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4274 (x_to_xcolors, png_load): Use x_query_color.
4275
52283633
SM
4276 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4277 New functions.
a42943e9
GM
4278 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4279 which can be slow.
4280 (x_copy_color, x_alloc_lighter_color): Likewise.
4281
4282 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4283 (x_query_color, x_query_colors): Add prototype.
4284
4285 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4286 check_string_bytes only if not noninteractive, increase count to 50.
4287
00de2987
MB
42882000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4289
4290 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4291 markers correctly.
4292
54918e2b
GM
42932000-10-17 Gerd Moellmann <gerd@gnu.org>
4294
1f0b3fd2
GM
4295 * alloc.c (pure_bytes_used): Renamed from pureptr.
4296 (ALIGN): New macro.
4297 (pure_alloc): New function.
4298 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4299 Use it.
4300 (Fpurecopy): Use PURE_POINTER_P.
4301
68c5d1db
GM
4302 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4303 PT has moved backward.
52283633 4304
9a038881
GM
4305 * xdisp.c (cursor_row_p): Take continued lines into account.
4306
361b097f
GM
4307 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4308 string's size_byte.
4309 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4310 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4311 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4312 string allocated.
4313
54918e2b
GM
4314 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4315 of selective display off while searching for the next line start.
4316
03ed0806
KH
43172000-10-17 Kenichi Handa <handa@etl.go.jp>
4318
4319 * Makefile.in (term.o): Depend on dispextern.h.
4320
7e05cdaf
SM
43212000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4322
4323 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4324
a6801fd1
GM
43252000-10-16 Gerd Moellmann <gerd@gnu.org>
4326
483de32b
GM
4327 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4328 the iterator at the beginning, so that they can be set later on,
4329 for instance in reseat_at_next_visible_line_start, without being
4330 overwritten.
4331
a6801fd1
GM
4332 * xfns.c (pbm_format): Add :foreground and :background keywords.
4333 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4334 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4335
dbf1fcc1
EZ
43362000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4337
4338 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4339
52283633 4340 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4341
4342 * msdos.c (IT_set_face): Compare highlighted face with the default
4343 face, and invert colors if these faces' colors are identical.
4344 (Fmsdos_remember_default_colors): Don't swap foreground and
4345 background colors in initial_colors[].
4346 (IT_set_frame_parameters): Don't swap frame's foreground and
4347 background pixels. If ALIST includes "(reverse . t)", swap
4348 foreground-color and background-color properties in frame's
4349 param_alist. If the original frame's param_alist doesn't specify
4350 the colors, store unspecified-fg and unspecified-bg, reversed if
4351 required.
4352
4353 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4354 the colors are unspecified and reversed, reverse fore- and back-
4355 ground in the returned value.
4356 (Fframe_parameter): Ditto.
4357
b41fe2c3 43582000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4359
3a6b59d9
GM
4360 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4361 get_last_unchanged_at_beg_row.
4362 (find_first_unchanged_at_end_row): Renamed from
4363 get_first_unchanged_at_end_row.
4364 (find_first_unchanged_at_end_row): Convert assertions to
4365 unconditional tests which abort. When looking for a row in
4366 unchanged text, don't go further back than first_text_row.
4367
b41fe2c3
GM
4368 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4369 Don't add in the last line's height when deciding if the new
4370 position is below the scroll margin.
9d1af64f 4371
b41fe2c3 43722000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4373
4374 * editfns.c (Fconstrain_to_field): Check carefully for field
4375 boundaries if either OLD_POS or NEW_POS has a non-nil field
4376 property, even if they're the same.
4377
c412cb7b
KH
43782000-10-16 Kenichi Handa <handa@etl.go.jp>
4379
4380 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4381 height for XFillRectangle.
4382
5586f3eb
SM
43832000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4384
4385 * syntax.c (Fstring_to_syntax): New function extracted from
4386 Fmodify_syntax_entry.
4387 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4388 (skip_chars, Fforward_comment): Remove unused variables.
4389 (syms_of_syntax): Add defsubr for string-to-syntax.
4390 (describe_syntax): Add code for comment and string fences.
4391
db785038
SM
43922000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4393
4394 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4395 Do the meta->esc mapping. Call get_keyelt before returning.
4396 Start scanning from the second element (the first is always `keymap')
4397 to make it easier to detect when we reach a parent map.
4398 Handle the case of inheriting from a symbol whose function is a map.
4399 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4400 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4401 (get_keyelt, Flookup_key): Update call to access_keymap.
4402 Remove the meta->esc mappings.
4403 (define_as_prefix): Delete old disabled code.
4404 (menu_item_p): New function.
4405 (where_is_internal_1): Skip over the few remaining menu items.
4406 * lisp.h (access_keymap): Update prototype.
4407 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4408 Update call to access_keymap.
4409 (follow_key, read_key_sequence): Update calls to access_keymap.
4410 Remove the meta->esc mappings.
4411
cafafe0b
GM
44122000-10-13 Gerd Moellmann <gerd@gnu.org>
4413
a2e2a7f6
GM
4414 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4415 with additional argument.
4416
cafafe0b
GM
4417 * xdisp.c (cursor_row_p): New function.
4418 (try_cursor_movement, display_line): Use it.
52283633 4419
cafafe0b
GM
4420 * xdisp.c (append_space): Also save/restore iterator's current
4421 character and its length.
4422
4423 * xdisp.c (init_from_display_pos): Add an assertion.
4424 (handle_stop): Don't set iterator's add_overlay_start.
4425 (handle_invisible_prop): Likewise.
4426 (load_overlay_strings): If text under an overlay is invisible,
4427 take both before- and after-strings into account when the iterator
4428 is positioned either at the start or at the end of the overlay.
4429 (forward_to_next_line_start): Rewritten.
4430 (reseat_at_next_visible_line_start): Rewritten.
4431 (set_iterator_to_next): Add parameter RESEAT_P.
4432
4433 * dispextern.h (struct it): Remove member add_overlay_start.
4434 (set_iterator_to_next): Change prototype.
4435
c744452b
KH
44362000-10-13 Kenichi Handa <handa@etl.go.jp>
4437
4438 * coding.c (code_convert_region): Be sure to initialize
4439 coding->category_idx.
e4a3f4e1
KH
4440 (decode_coding_string): Set coding->src_multibyte and
4441 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4442 (encode_coding_string): Set coding->src_multibyte and
4443 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4444
321fd26f
SM
44452000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4446
4447 * xfns.c (Fx_create_frame): Don't bother calling
4448 face-set-after-frame-default since the caller does it for us anyway.
4449
76832439
EZ
44502000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4451
4452 * window.c (coordinates_in_window): Fix detection of vertical line
4453 on character terminals.
4454
2483cf58
GM
44552000-10-12 Gerd Moellmann <gerd@gnu.org>
4456
4457 * editfns.c (save_excursion_save): Additionally record the
4458 selected window.
4459 (save_excursion_restore): If buffer was visible in a window, and a
4460 different window was selected, and the old selected window is
4461 still live, restore point in that window.
4462
eb991b25
KH
44632000-10-12 Kenichi Handa <handa@etl.go.jp>
4464
8a0eba09
KH
4465 * xterm.c (x_produce_glyphs): Handle
4466 unibyte_display_via_language_environment correctly.
4467
20401fcc
KH
4468 * regex.c (regex_compile): Change the way of handling a range from
4469 unibyte char to multibyte char.
4470
4471 * syntax.c (skip_chars): Change the way of handling a range from
4472 unibyte char to multibyte char.
4473
eb991b25
KH
4474 * process.c (read_process_output): Cancel previous change.
4475
365dd325
EZ
44762000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4477
c1b096cb
EZ
4478 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4479
365dd325
EZ
4480 * charset.c (Ffind_charset_string): Doc fix.
4481 (Ffind_charset_region): Doc fix.
4482
eb483c2b
KH
44832000-10-11 Kenichi Handa <handa@mule.m17n.org>
4484
4485 * process.c (read_process_output): Fix previous change. Adjust
4486 multibyteness of text to insert in a buffer by
52283633 4487 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4488
b40bfb99
AS
44892000-10-10 Andreas Schwab <schwab@suse.de>
4490
4491 * alloc.c (mark_object): Remove all workarounds installed on
4492 1993-08-08.
4493
caff31d4
KH
44942000-10-10 Kenichi Handa <handa@etl.go.jp>
4495
52283633 4496 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4497 (base64_encode_1): Make it work for a text of multibyte form.
4498 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4499 case. Don't call str_to_multibyte because base64_decode_1
4500 produces correct multibyte form for eight-bit codes.
52283633 4501 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4502 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4503 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4504 codes.
4505
4506 * charset.h (CHAR_STRING): Optimized for single byte characters.
4507
cba026ef
AS
45082000-10-09 Andreas Schwab <schwab@suse.de>
4509
4510 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4511 -1 after socket is closed, to fall through to error processing.
4512
1e21fe48
EZ
45132000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4514
4515 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4516 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4517 background-color, change also the colors of the default face for
4518 this frame.
4519
a640322e
EZ
45202000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4521
4522 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4523 them extern (they are defined on xfaces.c).
4524 (syms_of_msdos): Don't intern and don't staticpro
4525 Qbackground_color and Qforeground_color.
4526
a115794c
EZ
45272000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4528
4529 * frame.c (Fframe_parameter): For non-windowed frames, if
4530 f->param_alist says foreground or background color is unspecified,
4531 call tty_color_name to return the color name computed from the
4532 frame's current colors.
4533
f5533b63
DL
45342000-10-06 Dave Love <fx@gnu.org>
4535
4536 * terminfo.c (ospeed): Don't declare.
4537
4538 * sysdep.c: Don't include string.h.
4539 (h_errno): Declare conditional also on TRY_AGAIN.
4540
4541 * charset.c (Ffind_charset_string): Doc fix.
4542
52283633 4543 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4544 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4545 error messages.
4546
2b06561a
DL
45472000-10-05 Dave Love <fx@gnu.org>
4548
4549 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4550 position like menu-bar.
4551
ca839c85
GM
45522000-10-05 Gerd Moellmann <gerd@gnu.org>
4553
4554 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4555
4556 * xdisp.c (handle_single_display_prop): Use safe_call1.
4557 (safe_call): Renamed from call_function.
4558 (safe_call1): New function.
4559 (handle_fontified_prop): Use safe_call1 instead of call1.
4560 (safe_eval): Renamed from eval_form.
4561 (safe_eval_handler): Renamed from eval_handler.
4562 (handle_single_display_prop, display_mode_element): Use safe_eval
4563 instead of eval_form.
4564
4565 * xfaces.c (merge_face_heights): Use safe_call instead of
4566 call_function.
4567
4568 * keyboard.c (show_help_echo): Use safe_call instead of
4569 call_function; use safe_eval instead of eval_form.
4570
4571 * lisp.h (safe_call): Renamed from call_function.
4572 (safe_eval): Renamed from eval_form.
4573 (safe_call1): Add prototype.
4574
a3489ece
MB
45752000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4576
4577 * xfns.c (image_ascent): Rearrange ascent calculation for the
4578 has-a-font case.
4579
35810b6f
SM
45802000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4581
4582 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4583 (where_is_internal_1): Don't bother ignoring menu-items any more.
4584
3dc78168
GM
45852000-10-04 Gerd Moellmann <gerd@gnu.org>
4586
4587 * keyboard.c (update_menu_bindings): New variable.
4588 (parse_menu_item): Use AREF. If update_menu_bindings
4589 is 0, don't update menu bindings.
4590 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4591
1efc2bb9
EZ
45922000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4593
4594 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4595 to `mark_object'.
4596
3f679f55
SM
45972000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4598
4599 * syntax.c (forw_comment): Match nestedness of ender/starter.
4600 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4601 (prev_char_comstart_first): Remove.
4602 (back_comment): Check two-char comment markers more carefully
4603 to better handle overlapping cases like *//* or /* */* */ ...
4604 Match nestedness of ender/starter.
4605
2021ab61
DL
46062000-10-02 Dave Love <fx@gnu.org>
4607
4608 * config.in (HAVE_GAI_STRERROR): Add undef.
4609
4610 * process.c (Fopen_network_stream): Use it.
4611
4612 * m/alpha.h (NO_REMAP): Don't define.
4613
64e6cc18
GM
46142000-10-02 Gerd Moellmann <gerd@gnu.org>
4615
4616 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4617 return with a string converted to an integer or vice versa when
4618 Vmocklisp_arguments is t.
4619 (Fsignal): Likewise. The function can return for `quit'.
4620 (struct gcpro): Declare member `var' to point to a volatile
4621 Lisp_Object.
4622
4623 * eval.c (error): Prevent compiler warning.
4624
b1904cd9
SM
46252000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4626
4627 * keymap.c (keymap_memberp): New function.
4628 (Fset_keymap_parent): Use it.
4629 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4630 Use keymap_memberp to avoid creating cycles.
4631 (access_keymap): Use KEYMAPP.
4632
71c9ec51
GM
46332000-09-30 Gerd Moellmann <gerd@gnu.org>
4634
4635 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4636 gai_strerror. Make sure xerrno is set if connect fails. Improve
4637 error recovery.
71c9ec51 4638
c70c6b58
JR
46392000-09-29 Jason Rumney <jasonr@gnu.org>
4640
4641 * w32term.c (w32_char_font_type, w32_encode_char)
4642 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4643 (w32_bdf_per_char_metric): New function.
4644 (w32_per_char_metric): Use it.
4645 (x_draw_glyph_string_background): Always draw background for BDF
4646 glyphs.
4647
4648 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4649 GDI object which is a scarce resource.
4650
4651 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4652 (get_quoted_string): Fix limit on memchr search.
4653 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4654 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4655 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4656 (get_cached_font_char, cache_char_offset): Use macro
4657 BDF_CODEPOINT_RANGE_COVER_P.
4658 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4659 (clear_cached_bitmap_slots): New function.
4660 (GET_HEX_VALUE): G-Z, g-z are not hex.
4661 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4662 (get_bitmap_with_cache): Use new cache implementation.
4663 (create_offscreen_bitmap): New function.
4664 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4665
4666 * w32term.c (x_produce_glyphs): If the distance from the current
4667 position to the next tab stop is less than a canonical character
4668 width, use the tab stop after that.
4669 (x_draw_glyphs): Handle case START and END are out of bounds more
4670 carefully.
4671 (x_clear_mouse_face): Block/unblock input.
4672 (x_display_and_set_cursor): Don't show a hollow box cursor for
4673 buffers whose cursor_type is nil.
4674
fe01239f
GM
46752000-09-29 Gerd Moellmann <gerd@gnu.org>
4676
52283633 4677 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4678
4679 * dispextern.h (updating_frame): Declare extern.
4680
e7c52f1f
AS
46812000-09-29 Andreas Schwab <schwab@suse.de>
4682
4683 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4684
de6e1f7c
GM
46852000-09-29 Gerd Moellmann <gerd@gnu.org>
4686
25126faa
GM
4687 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4688 use its function definition.
4689 (tool_bar_items): Likewise.
4690
de6e1f7c 4691 * lisp.h (fatal): Declare NO_RETURN.
52283633 4692
454ee39b
KH
46932000-09-29 Kenichi Handa <handa@etl.go.jp>
4694
4695 * keymap.c: Remove the line "#undef NULL".
4696
96301c5f
GM
46972000-09-28 Gerd Moellmann <gerd@gnu.org>
4698
52283633 4699 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4700
efffeeb4
DL
47012000-09-28 Dave Love <fx@gnu.org>
4702
ecb8b666
DL
4703 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4704
dc3cd20f
DL
4705 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4706
4707 * .gdbinit (xreload): Note its need on GNU/Linux.
4708
efffeeb4
DL
4709 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4710 r_alloc, r_alloc_free.
4711
8610d903
KH
47122000-09-28 Kenichi Handa <handa@etl.go.jp>
4713
4714 * syntax.c (skip_chars): Handle negation correctly.
4715
8901d1ac
GM
47162000-09-27 Gerd Moellmann <gerd@gnu.org>
4717
6f22f1ad
GM
4718 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4719 with non-zero FORCE_P argument.
4720
52283633 4721 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4722 Add assertions.
4723
4724 * xdisp.c (window_box_height): Add an assertion.
4725
4726 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4727 tool-bar than is available.
4728 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4729
36f1966f
DL
47302000-09-27 Dave Love <fx@gnu.org>
4731
efffeeb4 4732 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4733
31d929e5
GM
47342000-09-26 Gerd Moellmann <gerd@gnu.org>
4735
c98863bf
GM
4736 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4737 instead of BITS_PER_INT.
4738 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4739 EMACS_UINT, respectively.
4740 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4741
4742 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4743
4744 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4745
77072ab1
GM
4746 * window.c (freeze_window_starts): Construct last argument for
4747 foreach_window differently.
4748
4749 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4750
4751 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4752 EMACS_UINT instead of `int' and `unsigned int'.
4753 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4754
4755 * frame.h (struct frame): Make the `nothing' member of union
4756 output_data an EMACS_INT.
4757
52283633 4758 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4759 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4760 size in the sdata structure.
4761 (SDATA_NBYTES, SDATA_DATA): New macros.
4762 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4763 differently for the different layout of the sdata structure.
4764 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4765 in sdata.
4766 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4767 Check that size recorded in the string size and size recorded in
4768 the sdata structure agree.
4769
3e60b029
DL
47702000-09-25 Dave Love <fx@gnu.org>
4771
4772 * buffer.c: Include stdio.h.
4773
4774 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4775
3e60b029
DL
4776 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4777
4778 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4779 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4780 (__malloc_extra_blocks): Declare as __malloc_size_t.
4781
8ff16b4e
GM
47822000-09-25 Gerd Moellmann <gerd@gnu.org>
4783
755a2ccd
GM
4784 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4785
d8b4516f
GM
4786 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4787 (read_char): If help-echo is showing, preserve the echo area
4788 when redisplaying.
4789
4790 * xdisp.c (help_echo_showing_p): New variable.
4791 (set_message): Reset it to 0.
4792 (init_xdisp): Initialize help_echo_showing_p.
4793
4794 * dispextern.h (help_echo_showing_p): Declare extern.
4795
4796 * config.in: Fix typo in __GNUC_MINOR__.
4797
4798 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4799
b11af2dd
GM
4800 * s/freebsd.h (POSIX_SIGNALS): Define.
4801
8ff16b4e
GM
4802 * xterm.c (x_clear_mouse_face): Block/unblock input.
4803
844eb643
DL
48042000-09-24 Dave Love <fx@gnu.org>
4805
4806 * fns.c (base64_encode_1): Fix last change.
4807
b30ab1b3
GM
48082000-09-22 Gerd Moellmann <gerd@gnu.org>
4809
4810 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4811
4812 * xdisp.c (try_window_reusing_current_matrix): More fixes
4813 for the case window has a header-line.
4814
c6cbe5f0
DL
48152000-09-22 Dave Love <fx@gnu.org>
4816
4c7c1f3f
DL
4817 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4818 a doc string.
4819
4820 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4821
c6cbe5f0
DL
4822 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4823
550a625e
GM
48242000-09-21 Gerd Moellmann <gerd@gnu.org>
4825
4c7c1f3f 4826 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4827 for GCC >= 2.5.
4828
52283633
SM
4829 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4830 Declare NO_RETURN.
fca99116 4831
80d26f99
GM
4832 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4833 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4834 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4835 warnings.
52283633 4836
80d26f99
GM
4837 * marker.c (byte_char_debug_check): Return void.
4838
623a0aae
GM
4839 * xfns.c (Fx_create_frame): Set default frame parameter value
4840 for tool-bar-lines to 1.
4841
4842 * dispnew.c (scrolling_window): Compare y-positions of rows
4843 equal at the start. Some simplification.
4844
4845 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4846 reused rows' y-position in the case window has a header-line, and
4847 new window start is greater than old window start.
4848
42ac0ae5
GM
4849 * process.c (process_sent_to): New variable.
4850 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4851 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4852 Declare more parameters volatile.
4853
550a625e
GM
4854 * lread.c (Vrecursive_load_depth_limit): New variable.
4855 (Fload): Check recursive loads whose recursion depth exceeds
4856 Vrecursive_load_depth_limit.
4857 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4858
8320414c
GM
48592000-09-20 Gerd Moellmann <gerd@gnu.org>
4860
f46c275e
GM
4861 * fileio.c (Fread_file_name): Doc fix.
4862
4863 * editfns.c (Fmessage_or_box): Doc fix.
4864
4865 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4866
b7e11c5b 4867 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4868
8320414c
GM
4869 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4870 symbols are specified, add color translations to the cache.
52283633 4871 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4872 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4873 xpm_cache_color.
4874 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4875 structures to xpm_init_color_cache.
4876
da1608d9
GM
48772000-09-19 Gerd Moellmann <gerd@gnu.org>
4878
52283633 4879 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4880
6badfa25
AI
48812000-09-19 Andrew Innes <andrewi@gnu.org>
4882
4883 * makefile.nt (bootstrap-emacs): Don't change directory.
4884
3a5f42bb
KH
48852000-09-19 Kenichi Handa <handa@etl.go.jp>
4886
1b7649bd
KH
4887 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4888
3a5f42bb
KH
4889 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4890 If output buffer is too small, signal an appropriated error.
4891
9f83cf0b
DL
48922000-09-18 Dave Love <fx@gnu.org>
4893
52283633 4894 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4895 (current_active_maps): Remove redundant get_local_map call.
4896
28c7826c
GM
48972000-09-18 Gerd Moellmann <gerd@gnu.org>
4898
5cefa566
GM
4899 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4900 cursor for buffers whose cursor_type is nil.
52283633 4901
6fed3546
GM
4902 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4903 a feature to implement that is already implemented.
4904 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4905 warnings.
4906
4907 * xfns.c (x_clear_image_1): New function.
4908 (x_clear_image): Use it.
52283633 4909 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4910
05b1f851
GM
4911 * dispnew.c (update_window): Move test for invisible lines
4912 at the top to update_window_line.
4913 (update_window_line): Handle invisible lines here.
4914
f4779de9
GM
4915 * xfns.c (clear_image_cache): Clear current matrices of all
4916 frames sharing an image cache. Block input while freeing
4917 images. Fix timestamp comparison.
4918 (x_clear_image): Also free the mask.
4919
28c7826c
GM
4920 * xfns.c (lookup_image): Block input while loading the image so
4921 that we won't get interrupted in a state where the image isn't yet
4922 set up completely.
4923 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4924 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4925 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4926 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4927
b7412313
GM
49282000-09-16 Gerd Moellmann <gerd@gnu.org>
4929
4930 * dispnew.c (update_window): Make sure to make desired rows
4931 current even if they are completely invisible at the top
4932 of a window.
4933
47e351a3
GM
49342000-09-15 Gerd Moellmann <gerd@gnu.org>
4935
7f8f1edc
GM
4936 * xfns.c (lookup_image): Build mask before applying an algorithm.
4937 Recognize algorithm `disabled'.
4938 (cross_disabled_images): New variable.
4939 (COLOR_INTENSITY): New macro.
4940 (x_detect_edges): Use COLOR_INTENSITY.
4941 (x_disable_image): New function.
4942 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4943
4944 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4945 disabled state, don't apply an image transformation algorithm if
4946 the user specified an image for the disabled state. Use
28c7826c 4947 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4948 user hasn't specified an image.
4949
ebb8f116
GM
4950 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4951 allocation functions with the XPM lib.
4952 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4953 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4954 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4955 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 4956 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
4957 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4958 functions, if possible, because these handle color allocation
4959 failure more gracefully.
4960 (Fimage_mask_p): New function.
4961
47e351a3
GM
4962 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4963 (Qedge_detection, Qheuristic): New symbols.
4964 (syms_of_xfns): Initialize new symbols.
4965 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4966 `algorithm (edge-detection ...)'.
4967 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4968 (tiff_format, gif_format, gs_format): Add `:mask'.
4969 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4970 (GIF_MASK, GS_MASK): New enumerators.
4971 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4972 (emboss_matrix, laplace_matrix): New variables.
4973 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4974 (x_edge_detection): New functions.
4975 (x_laplace): Rewritten in terms of x_detect_edges.
4976 (x_build_heuristic_mask): If image has a mask, free it.
4977
fe83b953
AI
49782000-09-14 Andrew Innes <andrewi@gnu.org>
4979
4980 * makefile.w32-in: Revert to Unix line endings.
4981
3021e816
AI
49822000-09-14 Andrew Innes <andrewi@gnu.org>
4983
4984 * makefile.w32-in: Standardize indentation somewhat.
4985 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4986 cater for differences between shells.
4987
4988 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4989
2a32b5ea
GM
49902000-09-14 Gerd Moellmann <gerd@gnu.org>
4991
4992 * xterm.c (x_produce_glyphs): If the distance from the current
4993 position to the next tab stop is less than a canonical character
4994 width, use the tab stop after that.
4995
b4331e96
DL
49962000-09-14 Dave Love <fx@gnu.org>
4997
4998 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4999
ef9e4345
GM
50002000-09-14 Gerd Moellmann <gerd@gnu.org>
5001
085536c2
GM
5002 * xdisp.c (handle_fontified_prop): While running fontification
5003 functions, bind `fontification-functions' and
5004 `after-change-functions' to nil.
5005
ef9e4345
GM
5006 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5007 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5008
5009 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5010
5011 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5012 USE_MMAP_FOR_BUFFERS.
5013
5014 * insdel.c (make_gap): Use enlarge_buffer_text.
5015
5016 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5017 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5018 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5019 from former r_alloc_* functions in ralloc.c.
52283633 5020 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5021 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5022 (mmap_init) [REL_ALLOC_MMAP]: New function.
5023 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5024 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5025 BUFFER_FREE.
5026
5027 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5028 (enlarge_buffer_text): Add prototype.
5029
5030 * ralloc.c: Remove everything having to do with the use of mmap.
5031
f8608968
GM
50322000-09-13 Gerd Moellmann <gerd@gnu.org>
5033
2a494b2d
GM
5034 * sound.c (Fplay_sound): Doc fix.
5035
8c907a56
GM
5036 * keyboard.c: Avoid some more compiler warnings.
5037 (parse_tool_bar_item): Ignore cached key bindings.
5038
f8608968
GM
5039 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5040 and allocation of Lisp data.
5041
6ab70e9a
GM
50422000-09-12 Gerd Moellmann <gerd@gnu.org>
5043
d12d0a9b
GM
5044 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5045 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5046 defaults first.
5047
6ab70e9a
GM
5048 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5049
63c36c3c
KH
50502000-09-12 Miyashita Hisashi <himi@meadowy.org>
5051
5052 * ccl.c: Comment fixed.
5053 (MAX_MAP_SET_LEVEL): Increased to 30.
5054 (PUSH_MAPPING_STACK): Enclose with do-while block.
5055 (POP_MAPPING_STACK): Likewise.
5056 (stack_idx_of_map_multiple): New variable.
5057 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5058 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5059 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5060 (ccl_driver) <CCL_MapSingle>: Likewise.
5061 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5062 with the case where looking up process reaches to the end of
5063 map-set, and call CCL programs as the above change.
5064
7ee3bd7b
GM
50652000-09-11 Gerd Moellmann <gerd@gnu.org>
5066
8ec8a5ec
GM
5067 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5068 that might be clobbered by longjmp.
5069 (check_x_display_info, x_decode_color, create_frame_xic)
5070 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5071 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5072
f74b0705
GM
5073 * lread.c (init_lread): Set Vloads_in_progress to nil.
5074 (Fload): Show list of recursively loaded files, when signaling an
5075 error.
5076
7ee3bd7b
GM
5077 * lread.c (Vloads_in_progress): New variable.
5078 (record_load_unwind): New function.
5079 (Fload): Check for recursive loads.
5080 (syms_of_lread): Initialize Vloads_in_progress.
5081 (read_integer, read1): Avoid some compiler warnings.
5082
5083 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5084 compiler warnings.
5085
974e1e5b
MB
50862000-09-11 Miles Bader <miles@gnu.org>
5087
5088 * editfns.c (Fbuffer_string): Doc fix.
5089
9824c4e3
GM
50902000-09-10 Gerd Moellmann <gerd@gnu.org>
5091
5092 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5093
6a72fdd1
KR
50942000-09-09 Ken Raeburn <raeburn@gnu.org>
5095
5096 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5097 whether to include other header files.
5098
28e6fb66
GM
50992000-09-09 Gerd Moellmann <gerd@gnu.org>
5100
52283633 5101 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5102 by Fmemq as a boolean.
28e6fb66 5103
7f8b6551
SM
51042000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5105
5106 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5107
a8710abf
GM
51082000-09-08 Gerd Moellmann <gerd@gnu.org>
5109
d1a02881
GM
5110 * ralloc.c (mmap_fd): Remove initializer which can make it
5111 read-only in a dumped Emacs.
5112 (mmap_fd_1): New variable.
5113 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5114 restore it from there.
5115 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5116 unconditionally so that mmap_fd can be initialized there.
5117 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5118 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5119 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5120
c454aac1
GM
5121 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5122
5123 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5124 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5125
fc653ef2
GM
5126 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5127
3015eec0
GM
5128 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5129 inheritance.
5130
bfe0ee88
GM
5131 * xdisp.c (try_window_id): When trying to locate cursor in
5132 unchanged rows at the top, handle the case that we can't find it.
5133
a8710abf
GM
5134 * xterm.c (x_draw_glyphs): Handle case START and END are out
5135 of bounds more carefully.
5136
6b7d4ae4
DL
51372000-09-08 Dave Love <fx@gnu.org>
5138
423193c5
DL
5139 * s/sol2.h (REL_ALLOC_MMAP): Define.
5140 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5141
5142 * ralloc.c: Don't include string.h (redundant).
5143 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5144 [!MAP_ANON]: Include fcntl.h.
5145 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5146 (r_alloc, r_re_alloc, r_alloc_free)
5147 (mmap_enlarge, mmap_set_vars): Use it.
5148 (r_alloc_init_fd): New function.
5149 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5150 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5151 malloc type.
5152
5153 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5154 Remove vm-limit.o.
5155
6b7d4ae4
DL
5156 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5157 change to __NetBSD__.
5158
44d31981
KH
51592000-09-08 Kenichi Handa <handa@etl.go.jp>
5160
5161 * search.c (compile_pattern): Check the multibyteness of cached
5162 string and PATTERN.
5163
aad40737
MB
51642000-09-08 Miles Bader <miles@gnu.org>
5165
5166 * xfaces.c (default_face_vector): Function removed.
5167 (Finternal_merge_in_global_face): Restore old global/local
5168 attribute override order. Use inline loop instead of calling
5169 default_face_vector.
5170
91a211b5
GM
51712000-09-07 Gerd Moellmann <gerd@gnu.org>
5172
5173 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5174 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5175 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5176 where necessary, in case POINTER_TYPE is `void'.
5177
03419440
EZ
51782000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5179
5180 * frame.c (make_terminal_frame): Initialize frame foreground and
5181 background colors to unspecified, for the initial instance of an
5182 MSDOS frame.
5183
f46f845b
GM
51842000-09-07 Gerd Moellmann <gerd@gnu.org>
5185
24f76fbf
GM
5186 * ralloc.c (mmap_find): Fix overlap computation.
5187 (mmap_enlarge): Compute nbytes before trying to find an
5188 overlapping region.
5189
f46f845b
GM
5190 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5191 instead of `!='.
5192
5193 * lread.c (syms_of_lread): Change value of regexp
5194 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5195
5196 * xmenu.c (xdialog_show): When looking up the selection in
5197 menu_items, take `quote' boundaries into account; this corresponds
5198 to a nil ITEM in x-popup-dialog.
5199
3c014385
KH
52002000-09-07 Kenichi Handa <handa@etl.go.jp>
5201
fd6f711b
KH
5202 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5203 not 0x81.
5204 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5205
3c014385 5206 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5207 encoding, not decoding. Fix the handling of latin-jisx0201.
5208 Check for the charset katakana-jisx0201 too.
3c014385 5209 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5210 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5211
0da3ecef
GM
52122000-09-07 Gerd Moellmann <gerd@gnu.org>
5213
ab0ee409
GM
5214 * xfaces.c (Vparam_value_alist): New variable.
5215 (syms_of_xfaces): Initialize it.
5216 (Finternal_set_lisp_face_attribute): Avoid more consing.
5217
5218 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5219 specially.
5220 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5221 (Qbackground_mode): New variable.
5222 (syms_of_frame_1): Initialize Qbackground_mode.
5223
5224 * lisp.h (Qdisplay): Declare extern.
1091dd67 5225
0da3ecef
GM
5226 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5227 change face on all frames, and change the default for new frames.
5228
b14654b9
DL
52292000-09-07 Dave Love <fx@gnu.org>
5230
5231 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5232
d24fd56f
KH
52332000-09-07 Kenichi Handa <handa@etl.go.jp>
5234
794f3670
KH
5235 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5236
0fddd0dc
KH
5237 * charset.c: Include composite.h
5238 (lisp_string_width): New function.
5239 (Fstring_width): Call lisp_string_width instead of strwidth.
5240
5241 * Makefile.in (charset.o): Depends on composite.h.
5242
d24fd56f
KH
5243 * process.c (read_process_output): Before inserting the decoded
5244 text in the buffer, adjust the multibyteness.
5245
fa0b693c
GM
52462000-09-06 Gerd Moellmann <gerd@gnu.org>
5247
52283633 5248 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5249 buffer's text buffer is null, map new memory.
5250
0a58f946
GM
5251 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5252 POINTER_TYPE and size_t.
5253 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5254 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5255 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5256 [REL_ALLOC_MMAP]: New macros.
5257 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5258 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5259 [REL_ALLOC_MMAP]: New functions.
5260
5261 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5262 before and after unexec.
5263
5264 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5265 text buffers if necessary.
5266
5267 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5268 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5269 in prototypes.
5270
fa0b693c
GM
5271 * config.in (HAVE_MMAP): Add #undef.
5272
877055f6
GM
52732000-09-05 Gerd Moellmann <gerd@gnu.org>
5274
08ba3862
GM
5275 * frame.c (Qdisplay_type): New variable.
5276 (syms_of_frame_1): Initialize it.
5277 (Fframe_parameter): New function that avoids consing.
5278 (syms_of_frame): Defsubr it.
5279
66ffe51c
GM
5280 * buffer.c (Fother_buffer): Consider buffers as invisible when
5281 they are displayed in a window on an invisible frame.
5282
877055f6
GM
5283 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5284 get-largest-window always return nil.
5285
bb970e67
GM
52862000-09-04 Gerd Moellmann <gerd@gnu.org>
5287
5288 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5289 variable; recognize Emacs 19 elc files.
5290
7a3d0e0e
MB
52912000-09-04 Miles Bader <miles@gnu.org>
5292
5293 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5294 before initially popping up the menu, so the menu doesn't flash
52283633 5295 when the face settings are significantly different from the defaults.
7a3d0e0e 5296
14473664
SM
52972000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5298
5299 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5300 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5301 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5302 (BIT_UNIBYTE): Remove.
5303 (re_match_2_internal): Delete corresponding code and streamline the
5304 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5305 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5306 (re_wctype_t): New type.
5307 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5308 (regex_compile): Use them and fix handling of overly long char classes.
5309
c1174479
AI
53102000-09-03 Andrew Innes <andrewi@gnu.org>
5311
f8803e97
AI
5312 * makefile.w32-in: Change to DOS line endings.
5313
c1174479
AI
5314 * s/ms-w32.h (ORDINARY_LINK): New define.
5315
5316 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5317 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5318
5319 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5320 (distclean): Delete them here instead.
5321
44ef7cf6
AI
5322 * w32proc.c (compare_env): Convert to uppercase for comparison,
5323 not lowercase, to match how the native Windows shell works.
5324
49b3bd82
JR
53252000-09-03 Jason Rumney <jasonr@gnu.org>
5326
5327 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5328 CVS changes the line-ends when checking in/out on DOS/Windows.
5329
5330 * makefile.nt (emacs): Do not change directory to run temacs, as
5331 the load-path is set relative to current directory.
5332
a3d35a39
MB
53332000-09-03 Miles Bader <miles@gnu.org>
5334
5335 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5336
d276b0cf
GM
53372000-09-02 Gerd Moellmann <gerd@gnu.org>
5338
715e84c9
GM
5339 * xdisp.c (redisplay_mode_lines): New function.
5340 (display_mode_lines): Return number of mode lines displayed.
5341 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5342 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5343
8892f40b
GM
5344 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5345 string.h and strings.h.
5346 (index) [HAVE_INDEX]: Add prototype.
5347
d276b0cf
GM
5348 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5349 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5350
5351 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5352 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5353
38404229
GM
53542000-09-01 Gerd Moellmann <gerd@gnu.org>
5355
5356 * lread.c (read1): Accept `?' as symbol constituent, for
5357 compatiblity with XEmacs.
5358
c0f9ea08
SM
53592000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5360
5361 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5362 (struct re_pattern_buffer): Remove newline_anchor.
5363 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5364 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5365 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5366 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5367 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5368 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5369 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5370 Get rid of references to newline_anchor.
5371 (regcomp): Allocate and precompute a fastmap.
5372
8c0f83fe
GM
53732000-08-31 Gerd Moellmann <gerd@gnu.org>
5374
5375 * lread.c (openp): GCPRO local variable `filename'.
5376
4bb91c68
SM
53772000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5378
5379 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5380
5381 * regex.c: Merge some changes from GNU libc. Add prototypes.
5382 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5383 Use memcmp and memcpy instead of bcopy and bcmp.
5384 (init_syntax_once): Use ISALNUM.
5385 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5386 (REG_UNSET_VALUE): Remove. Use NULL instead.
5387 (REG_UNSET, re_match_2_internal): Use NULL.
5388 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5389 New macros.
5390 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5391 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5392 (regex_compile): In handle_interval, return an error rather than try to
5393 unfetch the interval if we can't find the closing brace.
5394 Obey the RE_NO_GNU_OPS syntax bit.
5395 (TOLOWER): New macro.
5396 (regcomp): Use it.
5397 (regexec): Allocate regs.start and regs.end as one block.
5398
5226a931
GM
53992000-08-30 Gerd Moellmann <gerd@gnu.org>
5400
868dd24b
GM
5401 * xdisp.c (echo_area_display): Check display_completed instead
5402 of calling detect_input_pending.
5403
5404 * dispnew.c (update_frame): Only set display_completed here; move
5405 the update_begin and update_end calls here from update_frame_1.
5406 (update_frame_1): Don't set display_completed here, don't call
5407 update_begin/update_end.
5408
5226a931
GM
5409 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5410 instead of store_frame_param.
5411
2a8bd25f
GM
54122000-08-29 Gerd Moellmann <gerd@gnu.org>
5413
5414 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5415 desired window matrix hasn't been displayed, use the current row
5416 instead. Make sure that only those frame rows are updated for
5417 which there exists a corresponding enabled desired row.
52283633 5418
ba3478d9
MB
54192000-08-29 Miles Bader <miles@gnu.org>
5420
5421 * xfaces.c (default_face_vector): New function.
5422 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5423
87d0f685
GM
54242000-08-29 Gerd Moellmann <gerd@gnu.org>
5425
5426 * lread.c (openp): Prevent temporary string passed to
5427 Ffile_readable_p from being garbage collected.
5428
6fa86045
DL
54292000-08-28 Dave Love <fx@gnu.org>
5430
5431 * keymap.c (store_in_keymap): Add `static' to declaration.
5432
bb17930d
GM
54332000-08-28 Gerd Moellmann <gerd@gnu.org>
5434
5435 * emacs.c, callint.c, doc.c, editfns.c
5436 (toplevel) [HAVE_STRING_H]: Include string.h.
5437 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5438 (index): Remove prototypes which might conflict with non-standard
5439 definitions of index/strchr.
5440
5441 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5442 (rindex): Define only if !HAVE_RINDEX.
5443
5444 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5445
5446 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5447
87188200
MB
54482000-08-28 Miles Bader <miles@gnu.org>
5449
5450 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5451 made inconsistent by a font-related attribute in FROM.
5452 (merge_face_inheritance): Add function comment.
5453
41a68aef
KH
54542000-08-28 Kenichi Handa <handa@etl.go.jp>
5455
5456 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5457 the 4th arg (PREV_EVENT) Qt to suppress input method.
5458
f7c436c1
SM
54592000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5460
0b32bf0e
SM
5461 * regex.c: Indent cpp directives and remove parens after `defined'.
5462 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5463 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5464 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5465 (re_compile_pattern): Use size_t for length.
5466 (init_syntax_once): Move to a better place.
5467 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5468 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5469
f7c436c1
SM
5470 * syntax.c (back_comment): Detect cases where a comment-starter is
5471 actually inside another comment as in: /* a // b */ c // d \n.
5472 Make it clear that `comstart_pos' is unused for nested comments.
5473
5474 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5475 (KEYMAPP): New macro.
5476 (Fkeymap_parent, Fset_keymap_parent): Use it.
5477 (fix_submap_inheritance): Mark it static.
5478 (define_as_prefix, describe_buffer_bindings, describe_command)
5479 (describe_translation, describe_map): Complete prototypes.
5480
5481 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5482
5483 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5484 to better match the key-lookup behavior.
5485
6288c62f
GM
54862000-08-27 Gerd Moellmann <gerd@gnu.org>
5487
5488 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5489 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5490
e931344e
EZ
54912000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5492
5493 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5494 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5495 (xterm.o): Depend on coding.h
5496
d10dfeef
KH
54972000-08-26 Kenichi Handa <handa@etl.go.jp>
5498
5499 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5500 the corresponding '#endif'.
5501
2d73e8d3
MB
55022000-08-26 Miles Bader <miles@gnu.org>
5503
5504 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5505 * xfaces.c (QCinherit): New variable.
5506 (syms_of_xfaces): Initialize it.
5507 (LFACE_INHERIT): New macro.
5508 (Finternal_get_lisp_face_attribute)
52283633 5509 (merge_face_vector_with_property)
2d73e8d3
MB
5510 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5511 (check_lface_attrs): Allow new types of face height. Check
5512 inherit attribute.
5513 (CYCLE_CHECK): New macro.
5514 (merge_face_inheritance): New function.
5515 (merge_face_vectors): Merge inherited faces too. Add F and
5516 CYCLE_CHECK arguments.
5517 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5518 (lookup_named_face, lookup_derived_face, realize_named_face)
5519 (face_at_string_position, face_at_buffer_position): Supply
5520 new F and CYCLE_CHECK arguments to merge_face_vectors.
5521 (merge_face_heights): New function.
52283633 5522 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5523 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5524 handle relative face heights.
5525 (lface_same_font_attributes_p): Compare heights using EQ.
5526
6ce974d4
KH
55272000-08-26 Kenichi Handa <handa@etl.go.jp>
5528
5529 * charset.c (char_to_string): Check the character validity.
52283633 5530 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5531
dc1e502d
SM
55322000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5533
5534 * regex.c (PUSH_FAILURE_COUNT): New macro.
5535 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5536 Handle popping of a register's or a counter's data.
5537 (POP_FAILURE_POINT): Use the new name.
5538 (re_match_2_internal): Push counter data on the stack for succeed_n,
5539 jump_n and set_number_at and remove misleading dead code in succeed_n.
5540
bd9d0f3f
GM
55412000-08-25 Gerd Moellmann <gerd@gnu.org>
5542
5543 * xdisp.c (redisplay_internal): If considering all windows on all
5544 frames, update the display for each frame as soon as possible,
5545 instead of first building all desired matrices for all frames, and
5546 then updating them all.
5547 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5548
aa5b8e15
GM
55492000-08-24 Gerd Moellmann <gerd@gnu.org>
5550
17494071
GM
5551 * bytecode.c (mark_byte_stack): Add a comment.
5552
52283633
SM
5553 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5554 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5555 a graphical frame.
5556
c543db81
KH
55572000-08-24 Kenichi Handa <handa@etl.go.jp>
5558
d246d5f5
KH
5559 * minibuf.c (do_completion): Always use compare-string, not
5560 string-equal because the latter doesn't pay attention to
5561 multibyteness of strings.
5562
c543db81
KH
5563 * process.c (create_process): Don't setup raw-text coding here.
5564 (Fopen_network_stream): Don't set coding->src_multibyte and
5565 coding->dst_multibyte here.
5566 (read_process_output): For process filter, return unibyte string
5567 if default-enable-multibyte-characters is nil.
5568 (send_process): If OBJECT is multibyte text, be sure to encoded it
5569 by the specified coding system for the process. Otherwise, setup
5570 raw-text coding.
52283633 5571 (init_process): Don't initialize default-process-coding-system here.
c543db81 5572
9b47cfe0
EZ
55732000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5574
5575 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5576 <scroll-down-aggressively>: Likewise.
5577
f5a36960
KH
55782000-08-23 Kenichi Handa <handa@etl.go.jp>
5579
5580 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5581 zero. Set coding->produced_char correctly.
5582
69a7ffa7
AI
55832000-08-22 Andrew Innes <andrewi@gnu.org>
5584
5585 * makefile.w32-in: New file.
5586
5587 * unexw32.c (unexec): Ignore old_name, and use the actual location
5588 of the current executable instead. Base new_name on this.
5589
5590 * w32proc.c (create_child): Remove reference to security
5591 descriptor, which isn't needed and doesn't compile with mingw32.
5592
5593 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5594 up dllimport attributes.
5595 (x_update_window_end): Update prototype.
5596
5597 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5598 extern, which screws up dllimport attributes.
5599
5600 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5601 up dllimport attributes.
5602
5603 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5604 screws up dllimport attributes.
5605
5606 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5607 up dllimport attributes.
5608 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5609 screws up dllimport attributes.
5610
5611 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5612 up dllimport attributes.
5613
5614 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5615 screws up dllimport attributes.
5616
5617 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5618 screws up dllimport attributes.
5619
5620 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5621 up dllimport attributes.
5622
5623 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5624 unnecessary extern, which screws up dllimport attributes.
5625 (main): Ditto.
5626
5627 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5628 up dllimport attributes.
5629
5630 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5631 unnecessary extern, which screws up dllimport attributes.
5632
5633 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5634 screws up dllimport attributes.
5635
5636 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5637 up dllimport attributes.
5638
5639 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5640
52283633
SM
5641 * w32bdf.c (search_file_line):
5642 (set_bdf_font_info):
5643 (seek_char):
5644 (w32_get_bdf_glyph):
69a7ffa7
AI
5645 (w32_BDF_to_x_font): Fix compile warnings.
5646
52283633 5647 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5648
5649 * w32select.c: Include keyboard.h before frame.h.
5650
5651 * w32fns.c (max): Define macro.
5652 (JOHAB_CHARSET): Define if not known.
5653 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5654 (Fx_show_tip): Synch with X version.
5655
5656 * w32xfns.c: Include keyboard.h before frame.h.
5657
5658 * w32fns.c: Include keyboard.h before frame.h.
5659
5660 * w32term.c: Include keyboard.h before frame.h.
5661
5662 * fontset.c: Include keyboard.h before frame.h.
5663
5664 * w32inevt.c: Include keyboard.h before frame.h.
5665 (MOUSE_MOVED): Define if not known.
5666
5667 * minibuf.c: Include keyboard.h before frame.h.
5668
5669 * keyboard.c: Include keyboard.h before frame.h.
5670
5671 * indent.c: Include keyboard.h before frame.h.
5672
5673 * dispnew.c: Include keyboard.h before frame.h.
5674
5675 * buffer.c: Include keyboard.h before frame.h.
5676
5677 * alloc.c: Include keyboard.h before frame.h.
5678
5679 * print.c: Include keyboard.h before frame.h.
5680
5681 * process.c: Include keyboard.h before frame.h.
5682
5683 * scroll.c: Include keyboard.h before frame.h.
5684
5685 * sysdep.c: Include keyboard.h before frame.h.
5686
5687 * term.c: Include keyboard.h before frame.h.
5688
5689 * window.c: Include keyboard.h before frame.h.
5690
5691 * xdisp.c: Include keyboard.h before frame.h.
5692 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5693
5694 * frame.c: Include keyboard.h before frame.h.
5695
5696 * w32heap.h: Undefine min, max.
5697
5698 * w32gui.h: Undefine min, max.
5699
5700 * unexw32.c: Change PUCHAR to PCHAR.
5701 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5702 (relocate_offset):
5703 (get_section_info):
69a7ffa7
AI
5704 (copy_executable_and_dump_data): Remove unnecessary static defs.
5705 (copy_executable_and_dump_data): Fix compile warnings.
5706
5707 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5708
5709 * w32console.c (min): Define macro.
5710 (clear_frame, write_glyphs): Fix compile warning.
5711
52283633 5712 * w32proc.c (compare_env):
69a7ffa7
AI
5713 (find_child_console): Fix compile warning.
5714
5715 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5716 sys_errlist instead of _sys_errlist.
5717 (get_emacs_configuration_options): New function.
5718
5719 * s/ms-w32.h (sys_nerr): Provide default definition.
5720 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5721 name with _ prepended.
5722 (NSIG): Define if not known.
5723 (get_emacs_configuration): Provide extern declaration.
5724 (get_emacs_configuration_options): Provide extern declaration.
5725 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5726
5727 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5728 (map_w32_filename):
69a7ffa7
AI
5729 (read_unc_volume): Fix compile warning.
5730
5731 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5732 definitions from being used.
5733
5734 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5735
52283633 5736 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5737 (open_unc_volume): Make arg const.
5738
5739 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5740 (read_input_waiting): Remove excess parameter.
5741
5742 * w32.c (init_environment): Call _access.
5743 (check_windows_init_file): Call _close.
5744 (init_user_info): Call _putenv.
5745 (init_environment): Call _putenv and _strdup.
5746 (init_ntproc): Reset volume info cache on startup.
5747
5748 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5749 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5750 cannot override the CRT malloc.
5751
5752 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5753 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5754
5755 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5756 unless we are linking with a static CRT.
5757 (RVA_TO_PTR): Cast result to unsigned char*.
5758
5759 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5760 (add_volume_info): Use xstrdup.
5761
25060080
SM
57622000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5763
5764 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5765 (do_completion, Fminibuffer_complete_word): Use it.
5766 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5767 var so it can take non-boolean values.
5768
6917e6bb
GM
57692000-08-21 Gerd Moellmann <gerd@gnu.org>
5770
acb7cc89 5771 * editfns.c (find_field): Formatting changes.
52283633 5772 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5773 changed to prototypes, some new protypes added, some functions
5774 made static.
5775
5776 * lisp.h (set_time_zone_rule): Add prototype.
5777 (use_dialog_box): External declaration.
5778
0bbfdc25
GM
5779 * keyboard.c (gen_help_event): Add parameter SIZE.
5780 (kbd_buffer_events_waiting): Slightly rewritten.
5781 (clear_event): New function.
5782 (kbd_buffer_get_event): Use it, and clear the input_events of
5783 HELP_EVENTs.
5784 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5785 don't fill the newly created array with nils.
5786 (toplevel): Convert some old-style function forward declarations
5787 to prototypes.
5788
5789 * keyboard.h (gen_help_event): Change prototype.
5790
5791 * xterm.c (XTread_socket): Change calls to gen_help_event.
5792
5793 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5794
6917e6bb
GM
5795 * eval.c (Fmacroexpand): Doc fix.
5796
e5cd3d11
JR
57972000-08-20 Jason Rumney <jasonr@gnu.org>
5798
5799 * w32term.h (x_display_info_for_display): Remove as this function
5800 does not exist on W32.
5801
5802 * w32term.c (help_echo_window): New variable.
5803 (syms_of_w32term): staticpro it.
5804 (note_mode_line_highlight): Set it.
5805 (XTextExtents16): Removed as there is no equivalent on W32.
5806 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5807 the X way of doing this will not work for W32.
5808 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5809 (x_draw_image_foreground): Avoid drawing outside of the clip area
5810 when image doesn't have a mask.
5811 (note_mouse_highlight): Process overlays in the right order of
5812 priority. Set help_echo_window.
5813 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5814 because that's more visible for large images.
5815
5816 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5817 name to single_keymap_panes.
5818 (w32_menu_show): Set wv->title when dealing with titles.
5819 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5820
6e69ab8c
MB
58212000-08-21 Miles Bader <miles@gnu.org>
5822
5823 * minibuf.c (do_completion): Try again if we rewrite the input
5824 string, but no completion was done, so that any completion message
5825 will be correct.
5826
511bd4eb
GM
58272000-08-20 Gerd Moellmann <gerd@gnu.org>
5828
5829 * xfaces.c (lface_equal_p): Compare strings differently.
5830 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5831 (realize_tty_face): Use them.
5832 (syms_of_xfaces): Initialize new variables.
5833 (map_tty_color): New function, extracted from realize_tty_face.
5834 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5835 foreground or background color, store the new color name in the
5836 realized face; previous code trying to do this had no effect.
5837 (realize_tty_face): Use map_tty_color.
5838 (Fclear_face_cache): Set face_change_count and ensure thorough
5839 redisplay.
5840
1433385f
GM
58412000-08-19 Gerd Moellmann <gerd@gnu.org>
5842
511bd4eb
GM
5843 * undo.c (record_first_change, record_marker_adjustment): Don't
5844 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5845
419ac0a2
KH
58462000-08-18 Kenichi Handa <handa@etl.go.jp>
5847
5848 * coding.c (decode_coding_string): Set members consumed,
5849 consumed_char, produced, produced_char of *coding correctly. If
5850 decode_coding doesn't consume any byte, don't try anymore.
5851 (encode_coding_string): Likewise.
5852
7eb9e30d
GM
58532000-08-18 Gerd Moellmann <gerd@gnu.org>
5854
511bd4eb
GM
5855 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5856 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5857
5858 * xdisp.c (redisplay_internal): Compare windows for equality with
5859 EQ, instead of applying XWINDOW to something that might not
5860 be a window.
52283633 5861
dd34a735
KH
58622000-08-18 Kenichi Handa <handa@etl.go.jp>
5863
5864 * fontset.c (Finternal_char_font): Search only the selected frame
5865 for a window of the current buffer.
5866
385ff9e3
GM
58672000-08-18 Gerd Moellmann <gerd@gnu.org>
5868
511bd4eb 5869 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5870 Lisp_Objects.
5871
385ff9e3
GM
5872 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5873 second half of a HELP_EVENT is found at the start of kbd_buffer.
5874
d6abb4c7
MB
58752000-08-18 Miles Bader <miles@gnu.org>
5876
4618074a
MB
5877 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5878
d6abb4c7
MB
5879 * editfns.c (save_restriction_save): Rewrite to use markers.
5880 (save_restriction_restore): Rewrite to understand new form of data
5881 saved by save_restriction_save.
5882 (Fsave_restriction): Remove cautionary note in doc-string.
5883
a7b28523
GM
58842000-08-17 Gerd Moellmann <gerd@gnu.org>
5885
5886 * fileio.c (build_annotations): Add a comment explaining the
5887 return value of format-annotate-function. Replace a spurious call
5888 to Flength with a CONSP test. Call format-annotate-function with
5889 a fifth arg specifying how many times the function is been called
5890 in a row, to let it choose temporary buffers appropriately.
5891
03c9ed77
DL
58922000-08-17 Dave Love <fx@gnu.org>
5893
5894 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5895 declare make_temp_name twice.
5896
52283633 5897 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5898 (unreadpure): Give it an arg.
5899
5900 * unexalpha.c: Prototype fatal_unexec, mark_x,
5901 update_dynamic_symbols. Declare unexec as void.
5902
5903 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5904 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5905
5906 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5907 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5908
5909 * alloca.c: Use #error.
5910 [POINTER_TYPE]: Use it.
5911
5912 * eval.c (Fdefvar): Doc fix.
5913
5914 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5915 INITIALIZE_INTERVAL.
5916
5917 * buffer.h: Avoid DECLARE_INTERVALS.
5918
5919 * config.in: Add size_t.
5920
aae41d97
EZ
59212000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5922
5923 * w16select.c (set_clipboard_data): If there's not enough memory
5924 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5925 expects. In case of other failures, return 3.
5926 (system_error_msg): New error message.
5927 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5928 system_error_msg.
5929
65aa5e85
GM
59302000-08-16 Gerd Moellmann <gerd@gnu.org>
5931
5932 * term.c (write_glyphs): Also turn off inverse video after turning
5933 off other appearances in case TS_exit_attribute_mode is not equal
5934 to TS_end_standout_mode.
5935 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5936 with the same face.
5937 (turn_off_face): Reset standout_mode only if
5938 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5939 is equal to TS_end_standout_mode.
5940
ece23901
KH
59412000-08-16 Kenichi Handa <handa@etl.go.jp>
5942
9d7bcb2e
KH
5943 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5944 sequence at the end of the source block.
5945
ece23901
KH
5946 * ccl.c (Fccl_program_p): Docstring modified.
5947 (Fccl_execute): Likewise.
5948 (Fccl_execute_on_string): Likewise.
5949
5e30eaa2
EZ
59502000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5951
5952 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5953
290602fd
KH
59542000-08-16 Kenichi Handa <handa@etl.go.jp>
5955
5956 The following changes are mainly to fix bugs of
5957 encode/decode-coding-string failing if encoding/decoding return
5958 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5959 variable conversion_buffer.
5960
5961 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5962 decrement dst_end to avoid buffer overflow in the later call of
5963 string_as_multibyte
5964
5965 * coding.h (conversion_buffer_size, conversion_buffer)
5966 (get_conversion_buffer): Extern deleted.
5967
5968 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5969 (conversion_buffer, conversion_buffer_size): Variables deleted.
5970 (get_conversion_buffer): Function deleted.
5971 (struct conversion_buffer): New structure.
5972 (MAX_ALLOCA): New macro.
5973 (allocate_conversion_buffer): New macro.
5974 (extend_conversion_buffer, free_conversion_buffer): New functions.
5975 (ccl_coding_driver): Set coding->result.
5976 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5977 this is the last block of source.
5978 (encode_coding): Likewise. Handle the source block as the last
5979 one only when the whole source text is consumed.
5980 (decode_coding_string): Handle the case that the output buffer is
5981 too small to decode the whole source text. Use
5982 allocate_conversion_buffer, extend_conversion_buffer and
5983 free_conversion_buffer, not get_conversion_buffer.
5984 (encode_coding_string): Likewise.
5985 (init_coding): Function deleted.
52283633 5986 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
5987
5988 * emacs.c (main): Don't call init_coding.
5989
52283633 5990 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
5991
5992 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5993 (insert_glyphs): Likewise.
5994
5995 * w32console.c (write_glyphs): Use a locally declared
5996 conversion_buffer.
5997
b9f80d41
EZ
59982000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5999
6000 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6001 member of display_info is NULL.
6002
32dc52f7
GM
60032000-08-15 Gerd Moellmann <gerd@gnu.org>
6004
52283633 6005 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6006
32dc52f7 6007 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6008 appearances with capability `me'.
32dc52f7
GM
6009 (write_glyphs): Switch on inverse video before each face change.
6010
4eb22d33
DL
60112000-08-14 Dave Love <fx@gnu.org>
6012
6013 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6014 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6015 (lisp_free): Declare and make static.
6016
6017 * window.c: Fix embedded comment.
6018 (syms_of_window): Fix doc string.
6019
90cbf47e
GM
60202000-08-14 Gerd Moellmann <gerd@gnu.org>
6021
52283633 6022 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6023 make sure to print `C-' before `M-', like in the manual.
6024
440fc135
GM
60252000-08-11 Gerd Moellmann <gerd@gnu.org>
6026
6027 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6028 since they aren't relocated anymore.
52283633 6029 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6030
6031 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6032 partially visible line which is smaller than the window's height.
440fc135 6033
6e264fad
KH
60342000-08-11 Kenichi Handa <handa@etl.go.jp>
6035
6036 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6037 the multibyte form of eight-bit-control characters.
6e264fad
KH
6038 (Fccl_execute_on_string): Initialize ccl->multibyte.
6039
6040 * ccl.h (struct ccl_program): New member multibyte.
6041
6042 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6043
c371f69a
KH
60442000-08-11 Kenichi Handa <handa@etl.go.jp>
6045
6046 * regex.c (regex_compile) <normal_char>: Pay attention to
6047 multibyteness.
6048 (analyse_first) <exactn>: Setup fastmap correctly for
6049 eight-bit-control characters.
6050
60512000-08-11 Kenichi Handa <handa@etl.go.jp>
6052
52283633 6053 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6054
6055 * keyboard.c (make_lispy_event): Handle the new event type
6056 multibyte_char_keystroke.
6057
6058 * xterm.c: Include coding.h.
6059 (XTread_socket): Work around a bug of XmbLookupString. If the
6060 input is from XIM, decode it according to the current locale. In
6061 that case, generate multibyte_char_keystroke events.
6062
b8ddbe71
KH
60632000-08-11 Kenichi Handa <handa@etl.go.jp>
6064
6065 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6066 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6067
47589c8c
GM
60682000-08-10 Gerd Moellmann <gerd@gnu.org>
6069
6070 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6071 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6072 (move_it_in_display_line_to): Record iterator's ascent and descent
6073 before producing glyphs, and restore them when we know the glyph
6074 doesn't fit on the line.
6075 (move_it_to): Restructured so that it's easier to debug. If
6076 moving to a vpos, and not moving to an x or character position,
6077 stop as soon as the specified vpos is reached; don't move further
6078 into that line because that might change the computed line height.
6079 (try_cursor_movement): New function, extracted from the cursor
6080 movement branch of redisplay_window. If ending on a partially
6081 visible line, don't try to scroll if the cursor line is taller
6082 than the window.
6083 (redisplay_window): Use try_cursor_movement.
6084
6085 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6086 because that function doesn't cope with variable-height lines.
6087
6088 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6089 box cursor because that's better visible for large images.
52283633 6090
c51bacd6
MB
60912000-08-10 Miles Bader <miles@gnu.org>
6092
6093 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6094
bea56df7
GM
60952000-08-10 Gerd Moellmann <gerd@gnu.org>
6096
6097 * xdisp.c (Vmessages_buffer_name): New variable.
6098 (message_dolog): Use it.
6099 (syms_of_xdisp): Initialize it.
6100
99cd7364
EZ
61012000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6102
52283633 6103 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6104 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6105 redundant now that keyboard.h is included.
6106
7d093d56
EZ
61072000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6108
6109 * keyboard.c (kbd_buffer_events_waiting): New function.
6110
6111 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6112
6113 * msdos.c: Include keyboard.h.
6114 (XMenuActivate): Empty no_event events from the event buffer. If
6115 no events are left after that, call clear_input_pending.
6116 (mouse_clear_clicks): New function, code moved from mouse_init.
6117 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6118 mouse driver to ``forget'' any past clicks.
6119
6120 * Makefile.in (msdos.o): Depend on keyboard.h.
6121
41e757a6
GM
61222000-08-09 Gerd Moellmann <gerd@gnu.org>
6123
8e7bd231
GM
6124 * lisp.h (input_pending): External declaration.
6125
6126 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6127
8e7bd231
GM
6128 * xdisp.c (echo_area_display): Display thoroughly if input is
6129 pending. Bind redisplay-dont-pause to t during the redisplay.
6130 in case input is pending.
6131
6132 * dispnew.c (Qredisplay_dont_pause): New variable.
6133 (syms_of_display): Initialize and staticpro it.
6134 (update_frame_1): Don't interrupt the display for pending input if
6135 redisplay_dont_pause is set.
52283633 6136
43028b7e
GM
6137 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6138
41e757a6
GM
6139 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6140
2f2174fa
KH
61412000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6142
6143 * callproc.c (Fcall_process): Terminate the unwind-protect around
6144 the post-read-conversion of coding system.
6145
0a6fd67e
MB
6146 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6147 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6148 * buffer.h (overlays_at): Update prototype.
6149 * xdisp.c (next_overlay_change): Update call to overlays_at.
6150 * xfaces.c (face_at_buffer_position): Likewise.
6151 * textprop.c (Fget_char_property): Likewise.
6152 * xterm.c (note_mouse_highlight): Likewise.
6153
0c80756e
MB
6154 * minibuf.c (do_completion): Don't consider a simple change of
6155 case as `completion'.
6156
975f250a
KR
61572000-08-08 Ken Raeburn <raeburn@gnu.org>
6158
52283633 6159 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6160 * undo.c (record_delete): Make sure last_point_position_buffer is
6161 a buffer before comparing pointers.
6162
6163 * coding.h (decode_coding_string): Declare.
6164
6165 * intervals.h (Fprevious_single_char_property_change): Declare.
6166
6167 * textprop.c (Fprevious_single_char_property_change): Don't do
6168 arithmetic directly on lisp objects.
6169
52283633 6170 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6171
6172 * keyboard.h (menu_item_eval_property): Declare.
6173
6174 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6175 reuse as buffer name, instead of recreating (and discarding) every
6176 time a message is logged.
6177 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6178 (current_message_1, truncate_message_1, set_message_1)
6179 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6180 (current_message, truncate_echo_area, display_echo_area)
6181 (resize_echo_area_axactly): Changed calls.
b347b3fd 6182
975f250a 6183 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6184 Lisp object.
975f250a 6185 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6186 must be an integer, not a Lisp object.
975f250a 6187
46dc9912
KH
61882000-08-08 Kenichi Handa <handa@etl.go.jp>
6189
6190 * charset.c (Fchar_width): Doc fix.
6191
9f6d1a6c
GM
61922000-08-08 Gerd Moellmann <gerd@gnu.org>
6193
6194 * charset.c (Fstring_width): Doc fix.
6195
ff3d9573
GM
61962000-08-07 Gerd Moellmann <gerd@gnu.org>
6197
41e757a6 6198 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6199 line, clear ascent and descent members of the iterator structure;
6200 the height of the continued line does not affect the height of the
6201 continuation line.
6202 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6203 line taller than the window.
6204 (redisplay_window) <forced window start>: Handle case that the
6205 middle of the window is not found in any row.
6206 (dump_glyph_row): Show more information.
6207 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6208 first text line in a glyph matrix.
6209
6210 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6211 of the clip area when image doesn't have a mask.
6212
70fc58b3
GM
6213 * fns.c (sweep_weak_table): Fix survival conditions for
6214 key-or-value and key-and-value weakness.
6215
6216 * .gdbinit (xhashtable): New command.
6217
ac0e96ee
GM
6218 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6219 tables out of the list of all weak hash tables.
6220
ff3d9573
GM
6221 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6222 a new buffer is created, make sure echo_area_buffer[] references
6223 the new buffer.
6224
e0d8827b
EZ
62252000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6226
6227 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6228 the doc string.
6229
c6f35378
KH
62302000-08-07 Kenichi Handa <handa@etl.go.jp>
6231
6232 * syntax.c (skip_chars): Fix previous change. Make the handling
6233 of unibyte string consistent with that of regex search.
6234
1fd4c450
GM
62352000-08-05 Gerd Moellmann <gerd@gnu.org>
6236
e49aa397
GM
6237 * xmenu.c (popup_get_selection): Use xfree instead of free.
6238
6239 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6240
6241 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6242
6243 * callproc.c (child_setup): Use xfree instead of free.
6244
6245 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6246 instead of malloc.
6247 (run_mac_command, closedir): Use `xfree' instead of `free'.
6248
6249 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6250
6251 * eval.c (error): Use xfree instead of free.
6252
1fd4c450
GM
6253 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6254
6255 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6256 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6257
82d497fc
KH
62582000-08-05 Kenichi Handa <handa@etl.go.jp>
6259
6260 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6261 conversion.
6262
59f953a2
NF
62632000-08-04 Noah Friedman <friedman@splode.com>
6264
6265 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6266 docstring.
6267
688351f2
GM
62682000-08-04 Gerd Moellmann <gerd@gnu.org>
6269
6270 * syntax.c (skip_chars): Fix typo in error message.
6271
2dad51cc
AS
62722000-08-04 Andreas Schwab <schwab@suse.de>
6273
6274 * m/ia64.h: Moved from s/ia64.h.
6275
99bb2c60
KH
62762000-08-04 Kenichi Handa <handa@etl.go.jp>
6277
082a1df2
KH
6278 * process.c (read_process_output): Big simplification. Handle
6279 composition and post-read-conversion of coding system correctly.
6280 (send_process): Handle composition correctly.
6281
6282 * callproc.c (Fcall_process): Handle post-read-conversion of
6283 coding system if any.
6284
99bb2c60
KH
6285 * coding.c (decode_coding_iso2022): More strict check for handling
6286 single shifting.
082a1df2
KH
6287 (coding_restore_composition): Pay attention to the case that
6288 cmp_data is not set properly (because of invalid code in the
6289 source text).
6290 (run_pre_post_conversion_on_str): Include text properties in the
6291 resulting string.
6292 (decode_coding_string): Set members of coding correctly.
99bb2c60 6293
f4988be7
GM
62942000-08-03 Gerd Moellmann <gerd@gnu.org>
6295
6296 * s/ia64.h: New file.
6297
6298 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6299 Use NULL instead of 0 at the end of variable argument list of
6300 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6301 sizeof (int) < sizeof (void *).
6302
6303 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6304 of variable argument lists of XtVaGetValues and XtVaSetValues.
6305
6306 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6307 variable argument lists of XtVaGetValues and XtVaSetValues.
6308
ead53494
GM
63092000-08-02 Gerd Moellmann <gerd@gnu.org>
6310
6311 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6312 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6313
6314 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6315 prototype.
6316
6317 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6318 in call to Fsingle_key_description.
6319
6320 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6321 Callers changed.
6322
63232000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6324
6325 * window.c (display_buffer_reuse_frames): New variable.
6326 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6327 frames displaying BUFFER.
52283633 6328 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6329
10b0f752
MB
63302000-08-01 Miles Bader <miles@gnu.org>
6331
6332 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6333 when to constrain NEW_POS (they were pretty screwed up before).
6334
16425c4a
EZ
63352000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6336
6337 * msdos.c (run_msdos_command): Save and restore the master
6338 environment, for the case that child_setup signals an error.
6339 When mirroring slashes in DOS shell commands, don't fail when
6340 argv[2] has embedded blanks.
da288c14
EZ
6341 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6342 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6343 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6344
6345 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6346 using alloca; free it after run_msdos_command returns.
6347
27f73852
DL
63482000-07-27 Dave Love <fx@gnu.org>
6349
52283633
SM
6350 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6351 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6352
6353 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6354
c0261b5e
EZ
63552000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6356
6357 * editfns.c (lisp_time_argument): Fix last change.
6358
b548072f
GM
63592000-07-27 Gerd Moellmann <gerd@gnu.org>
6360
3ab82477
GM
6361 * fns.c (Fdelete): Make it work on vectors and strings in addition
6362 to lists.
6363
b548072f
GM
6364 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6365 (syms_of_fns): Initialize new variables.
52283633 6366 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6367 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6368 weakness, with t meaning the same as `key-and-value'.
6369
91ae8751
KH
63702000-07-27 Kenichi Handa <handa@etl.go.jp>
6371
6372 * coding.h (struct coding_system): Member safe_charset deleted.
6373
6374 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6375 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6376 New variables.
91ae8751
KH
6377 (coding_safe_chars): New function.
6378 (CODING_SAFE_CHAR_P): New macro.
6379 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6380 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6381 (detect_coding_iso2022): New local variable safe_chars.
6382 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6383 safe_charsets member of the coding system.
6384 (decode_coding_iso2022): New local variable safe_chars.
6385 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6386 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6387 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6388 (ENCODE_UNSAFE_CHARACTER): New macro.
6389 (encode_coding_iso2022): New local variable safe_chars. Check
6390 unsafe chars.
6391 (setup_coding_system): Delete the code to initialize
6392 coding->safe_charses
6393 (intersection, find_safe_codings): New functions.
6394 (Ffind_coding_systems_region_internal): New function.
6395 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6396 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6397 variable and initialize it.
6398
6399 * fns.c (char_table_ref_and_index): New function.
6400
6401 * lisp.h (char_table_ref_and_index): Add prototype.
6402
34a7a267
SS
64032000-07-26 Sam Steingold <sds@gnu.org>
6404
6405 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6406 (Ffloat_time): New built-in Lisp function.
34a7a267 6407
a95cb10a
GM
64082000-07-26 Gerd Moellmann <gerd@gnu.org>
6409
3353ef5a
GM
6410 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6411 for the character code.
6412
6413 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6414 GNU/Linux.
6415
a95cb10a
GM
6416 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6417 if called for a popup menu.
6418 (xmenu_show): Store help string in widget values.
6419
b4a12321
DL
64202000-07-26 Dave Love <fx@gnu.org>
6421
6422 * syswait.h: Move some definitions.
6423 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6424 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6425 perspicuous definitions.
6426 (WTERMSIG): Fix bit pattern used.
6427
13f5ad37
KH
64282000-07-26 Kenichi Handa <handa@etl.go.jp>
6429
6430 * print.c (print_object): If vector printing is truncated, print
6431 "..." to indicate it as well as the case of list printing.
6432
070fe99c
GM
64332000-07-25 Gerd Moellmann <gerd@gnu.org>
6434
969065c3
GM
6435 * xdisp.c (next_element_from_display_vector): Improve comments.
6436
6437 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6438 for the character code, and the rest for the face id as in 20.x.
6439 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6440
6441 * window.c (window_display_table): Cleaned up.
6442
070fe99c
GM
6443 * syntax.c (Fforward_word): Add last arg nil in call of
6444 Fconstrain_to_field.
6445
bad77ef7
EZ
64462000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6447
969065c3 6448 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6449 identical but for the letter-case, don't call
6450 barf_or_query_if_file_exists.
bad77ef7 6451
c28da489
MB
64522000-07-25 Miles Bader <miles@gnu.org>
6453
6454 * editfns.c (find_field): Honor special `boundary' fields.
6455 (Qboundary): New variables.
6456 (syms_of_editfns): Initialize Qboundary.
6457 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6458 Use scan_buffer instead of find_before_next_newline, because it
6459 allows us to detect the boundary case where there's a newline at
6460 the search limit.
6461 * lisp.h (Fconstrain_to_field): Update external declaration.
6462
e3c31fd5
GM
64632000-07-24 Gerd Moellmann <gerd@gnu.org>
6464
6465 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6466 if that is nil.
c28da489 6467
c66c29a2
DL
64682000-07-24 Dave Love <fx@gnu.org>
6469
6470 * s/sunos4-0.h, s/sol2.h:
6471 (LIBS_TERMCAP): Move from m/sparc.h.
6472
6473 * m/sparc.h (TERMINFO): Moved to system files (probably only
6474 relevant for sunos4 judging by its vintage).
6475 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6476 __arch64__.
6477
fbe0a958
EZ
64782000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6479
6480 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6481 name to single_keymap_panes.
6482
7d88e5c9
AS
64832000-07-24 Andreas Schwab <schwab@suse.de>
6484
6485 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6486
e024b101
GM
64872000-07-24 Gerd Moellmann <gerd@gnu.org>
6488
6489 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6490 parameters instead of using int parameters. Expect FN to accept
6491 EMACS_INT parameters.
6492 (display_echo_area, resize_echo_area_axactly, current_message)
6493 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6494 with new argument list.
6495 (resize_mini_window_1): New callback function.
6496 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6497 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6498
25c1a9ce
KH
64992000-07-24 Kenichi Handa <handa@etl.go.jp>
6500
6501 * fontset.c (fontset_ref): Remove INLINE declaration.
6502 (fontset_ref_via_base): Likewise.
6503 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6504 to downcase.
6505
7f987ac0
EZ
65062000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6507
6508 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6509 correct order of priority. If help echo was found in an overlay,
6510 use that overlay as the object in which the help echo was found.
6511
e2db3069
MB
65122000-07-22 Miles Bader <miles@gnu.org>
6513
6514 * textprop.c (Fprevious_single_char_property_change): The initial
6515 property value should be from the position preceding POSITION, not
6516 following it.
6517
5e3203e4
EZ
65182000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6519
6520 * coding.c (syms_of_coding): Doc fix for
6521 inhibit-iso-escape-detection.
6522
62145073
GM
65232000-07-21 Gerd Moellmann <gerd@gnu.org>
6524
c20aeb83
GM
6525 * xterm.c (note_mouse_highlight): Process overlays in the right
6526 order of priority.
34a7a267 6527
743934db
GM
6528 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6529
6530 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6531 overlay, use that overlay as the object in which the help was found.
743934db 6532
d1dc7e43 6533 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6534
62145073
GM
6535 * window.c (foreach_window): Instead of a fake variable argument
6536 list, take one USER_DATA argument.
6537 (foreach_window_1): Likewise, and call callback functions with two
6538 args, the window and USER_DATA.
6539 (struct check_window_data): New struct.
6540 (check_window_containing): Use it.
6541 (window_from_coordinates): Set up a struct check_window_data for
6542 foreach_window.
6543 (add_window_to_list, freeze_window_start): Change parameters
6544 according to new calling convention.
6545
6546 * window.h (foreach_window): Change prototype.
6547
6548 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6549
65502000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6551
6552 * xmenu.c (menu_help_callback): Call show_help_echo with
6553 additional arguments OBJECT and POS.
6554
11270583
KH
65552000-07-21 Kenichi Handa <handa@etl.go.jp>
6556
07b14857
KH
6557 * data.c (Faset): Allow storing any multibyte character in a
6558 string. Convert unibyte string to multibyte if necessary.
6559
11270583
KH
6560 * xfns.c (x_encode_text): New function.
6561 (x_set_name): Use x_encode_text.
6562 (x_set_title): Likewise.
6563
6564 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6565
6566 * xterm.h (x_encode_text): Add prototype.
6567
bc75b4fd
DL
65682000-07-20 Dave Love <fx@gnu.org>
6569
6570 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6571 xfree, not free.
6572
48c14970
EZ
65732000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6574
6575 * msdos.c (help_echo_window): New variable.
6576 (syms_of_msdos): Initialize and staticpro it.
6577 (IT_note_mode_line_highlight): Set help_echo_window.
6578 (IT_note_mouse_highlight): Ditto.
6579 (dos_rawgetc): Store help_echo_window in the second event produced
6580 for HELP_EVENTs.
6581
6582 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6583 Record the object that generated the help echo and the position of
6584 that object in help_echo_object and help_echo_pos. Record that
6585 some glyphs in a row are displayed in mouse-face.
6586 (IT_update_begin): Don't clear mouse highlight unless one of the
6587 enabled glyph rows is marked as being displayed in mouse-face.
6588 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6589 and position recorded in help_echo_object and help_echo_pos to the
6590 event queue.
6591 (IT_menu_display): Accept a new argument PN: the pane number of
6592 the current menu pane. Record the pane number and the item
6593 number of the item which has associated help string.
6594 (XMenuActivate): Update the prototype for help_callback in
6595 function declaration. Call IT_menu_display with the current menu
6596 pane number as an additional argument. Call help_callback with
6597 two additional arguments: the pane number and the item number of
6598 the menu item associated with the help text.
6599 (help_echo_object, help_echo_pos): New variables.
6600 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6601
6602 * msdos.h (XMenuActivate): Update prototype.
6603
4279296d
GM
66042000-07-19 Gerd Moellmann <gerd@gnu.org>
6605
47db06aa
GM
6606 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6607 Add some more prototypes.
6608
6609 * xterm.c, xterm.h: Add some more prototypes.
6610
6611 * lisp.h (Fnext_single_char_property_change): Add prototype.
6612
6613 * dispnew.c (direct_output_for_insert): Remove confusing
6614 outer local variable mouse_face_overwritten_p.
6615 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6616
4279296d
GM
6617 * alloc.c (allocate_string_data): Don't copy old string contents.
6618
670acd62
KH
66192000-07-19 Kenichi Handa <handa@etl.go.jp>
6620
6621 * coding.c (code_convert_region): Delete text properties before
6622 shrinking the conversion region.
6623
7cea38bc
GM
66242000-07-18 Gerd Moellmann <gerd@gnu.org>
6625
dc1cac59
GM
6626 * dispnew.c (update_text_area): Write the whole row if it
6627 has mouse-face in it.
6628
85a8aca9
GM
6629 * xfaces.c (face-alternative-font-family-alist): Remove
6630 DEFVAR_LISP; staticpro instead.
6631
34a7a267 6632 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6633 new arguments.
6634
6635 * keyboard.c (show_help_echo): Add parameter WINDOW.
6636 (read_char): Call show_help_echo with window extracted from Lisp
6637 help event.
6638 (gen_help_event): Add parameter WINDOW.
6639
6640 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6641
6642 * xterm.c (help_echo_window): New variable.
52283633 6643 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6644 (XTread_socket): Pass help_echo_window to gen_help_event.
6645 (syms_of_xterm): Initialize and staticpro help_echo_window.
6646
f8276b77
DL
66472000-07-18 Dave Love <fx@gnu.org>
6648
52283633 6649 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6650
088831a6
GM
66512000-07-18 Gerd Moellmann <gerd@gnu.org>
6652
3d6cd763
GM
6653 * alloc.c (allocate_string_data): If string had already data
6654 assigned, copy old contents to new string data.
6655
6656 * coding.c (syms_of_coding): Fix typo in spelling of variable
6657 `inhibit-iso-escape-detection'.
6658
088831a6
GM
6659 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6660
6661 * Makefile.in: Add dependencies on dispextern.h.
6662 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6663 `free'; both can conflict with system header files.
6664
bc8a8d55
KH
66652000-07-18 Kenichi Handa <handa@etl.go.jp>
6666
6667 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6668 undefined.
6669
069f5950
DL
66702000-07-18 Dave Love <fx@gnu.org>
6671
6672 * window.c (Fwindow_list): Declare arg `window'.
6673
aa96c820
KH
66742000-07-18 Kenichi Handa <handa@etl.go.jp>
6675
6676 * coding.c (setup_coding_system): Don't override the explicitly
6677 specified designations.
6678
06be8d32
MB
66792000-07-15 Miles Bader <miles@gnu.org>
6680
6681 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6682 from `text_property_eq' and `text_property_stickiness', respectively.
6683 (find_field, Fconstrain_to_field, char_property_eq)
6684 (char_property_stickiness): Changed to call char-property functions
6685 instead of text-property-only ones.
6686
6687 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6688 `next_single_char_property_change'). Do more error checking, and
6689 cleanup limit behavior.
6690 (Fprevious_single_char_property_change): New function.
6691 (syms_of_textprop): Initialize new subrs.
6692
6693 * xdisp.c (display_prop_end, invisible_text_between_p):
6694 Call Fnext_single_char_property_change instead of
6695 next_single_char_property_change.
6696
3fddcdc3
JR
66972000-07-15 Jason Rumney <jasonr@gnu.org>
6698
6699 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6700 after menu is finished with.
6701 (add_menu_item): Only consider wv->title as a menu title.
6702 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6703
6704 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6705 null title.
6706 (FONT_REGEXP): Remove unused macro, and its sub-components.
6707 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6708
6709 * w32term.c (help_echo_object, help_echo_pos): New variables.
6710 (note_mode_line_highlight): Store additional information about the
6711 help-echo in help_echo_object and help_echo_pos. Check both
6712 `local-map' and `keymap' properties for changing the cursor
6713 (note_mouse_highlight): Store additional information about the
6714 help-echo in help_echo_object and help_echo_pos.
6715 (note_tool_bar_highlight): Set help_echo_object to nil and
6716 help_echo_pos to -1.
6717 (w32_read_socket): Use gen_help_event instead of filling
6718 input_events manually.
6719 (syms_of_w32term): Staticpro help_echo_object.
6720 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6721 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6722 (x_clear_mouse_face): New function.
6723 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6724 (x_update_window_begin): No need to turn off the mouse
6725 highlight here.
6726 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6727 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6728 (x_fill_stretch_glyph_string): Consume runs of stretch
6729 glyphs instead of a single one.
6730 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6731 with new argument list.
6732 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6733 (x_append_glyph, x_append_composite_glyph)
6734 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6735 changes in struct glyph starting 1999-12-27. See comments for
6736 xterm.c on 2000-07-05.
6737
178c5d9c
SS
67382000-07-14 Sam Steingold <sds@gnu.org>
6739
6740 * xfaces.c (realize_x_face): Fix the last patch:
6741 check `default_face' before dereferencing.
6742
6fe533f6
DL
67432000-07-14 Dave Love <fx@gnu.org>
6744
069f5950 6745 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6746
dd7b81cf
KH
67472000-07-14 Kenichi Handa <handa@etl.go.jp>
6748
0693904a 6749 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6750 default_face's fontset, not using the default fontset.
0693904a 6751
dd7b81cf
KH
6752 * coding.c (inhibit_iso_escape_detection): New variable.
6753 (syms_of_coding): Make it a Lisp variable.
6754 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6755 nonzero, ignore ISO2022's escape sequence.
6756
d5aa31d8
GM
67572000-07-14 Gerd Moellmann <gerd@gnu.org>
6758
e5acf0ca
GM
6759 * alloca.c (malloc) [emacs]: Define as xmalloc.
6760
bd23a692
GM
6761 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6762 use that instead of the mouse position. Add parameters DX and DY.
6763
6764 * dispextern.h (Fx_show_tip): Adjust number of parameters
6765 in prototype.
6766
9662da0b
GM
6767 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6768 if HELP is a function, call it with OBJECT and POS as parameters
6769 to get the help to display.
6770 (gen_help_event, kbd_buffer_store_help_event): New functions.
6771 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6772 (read_char): Call show_help_echo with new parameters.
6773
178c5d9c 6774 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6775 Add prototypes.
6776
6777 * xterm.c (help_echo_object, help_echo_pos): New variables.
6778 (note_mode_line_highlight): Store additional information about the
6779 help-echo in help_echo_object and help_echo_pos. Check both
6780 `local-map' and `keymap' properties for changing the cursor
6781 (note_mouse_highlight): Store additional information about the
6782 help-echo in help_echo_object and help_echo_pos.
6783 (note_tool_bar_highlight): Set help_echo_object to nil and
6784 help_echo_pos to -1.
6785 (XTread_socket): Use gen_help_event instead of filling
6786 input_events manually.
6787 (syms_of_xterm): Staticpro help_echo_object.
6788
6789 * xmenu.c (menu_highlight_callback): Use
6790 kbd_buffer_store_help_event instead of setting up and input_event
6791 structure manually.
6792
6793 * xdisp.c (eval_form): GCPRO argument sexpr.
6794 (call_function): New function.
6795 (handle_single_display_prop): Use call_function and FUNCTIONP
6796 instead of checking whether if font_height is a symbol and
6797 using eval_form.
6798
6799 * eval.c (internal_condition_case_2): New function.
6800
6801 * lisp.h (FUNCTIONP): New macro.
6802 (internal_condition_case_2, call_function): Add prototypes.
6803
d5aa31d8
GM
6804 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6805 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6806 Always set `arg' member of input_events.
6807 (construct_menu_click): Unused function removed.
6808
6809 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6810
6811 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6812 (construct_drag_n_drop, x_scroll_bar_handle_click)
6813 (w32_read_socket): Always set `arg' member of input_events.
6814
6815 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6816
6817 * lisp.h (eval_form): Add prototype.
6818
6819 * xdisp.c (eval_form): Make it externally visible.
6820
0f1a9b23
GM
68212000-07-13 Gerd Moellmann <gerd@gnu.org>
6822
6823 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6824 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6825 consing. For prefix events, store the frame in the `arg' slot of
6826 the event, otherwise store the key there.
6827 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6828 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6829
6830 * xmenu.c (menu_highlight_callback): Store help string in the
6831 `arg' member of the input event; don't cons.
6832 (menubar_selection_callback): Use the `arg' slot of input events
6833 to queue additional information, instead of consing.
6834
6835 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6836
6837 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6838 TOOL_BAR_EVENTs.
6839 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6840
6841 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6842 input events to queue additional information, instead of consing.
6843
6844 * keyboard.c (kbd_buffer_gcpro): Renamed from
6845 kbd_buffer_frame_or_window. Now used for all Lisp objects
6846 referenced from the input queue.
6847 (kbd_buffer_store_event): Always use structure assignment for
6848 copying input events. Record all Lisp objects referenced from
6849 events in kbd_buffer_gcpro.
6850 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6851 differently from input events. Test for prefix menu_bar_events
6852 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6853 event in kbd_buffer_gcpro to nil.
6854 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6855 frame_or_window is equal to its arg member as prefix events.
6856 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6857 used by an input event to nil.
6858 (init_keyboard): Use two times the size of the input queue
6859 for kbd_buffer_gcpro.
6860 (syms_of_keyboard): Likewise.
6861
52283633
SM
6862 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6863 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6864
6865 * termhooks.h (struct input_event): Add member `arg'.
6866 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6867 (USER_SIGNAL_EVENT): Renamed from user_signal.
6868
6869 * xfaces.c (ASET): Remove definition.
6870
6871 * lisp.h (AREF, ASET, ASIZE): New macros.
6872
6873 * fontset.c (AREF, ASIZE): Remove definitions.
6874
6875 * fns.c (AREF): Remove definition.
178c5d9c 6876
0f1a9b23
GM
6877 * composite.c (AREF): Remove definition.
6878
712eaef2
GM
68792000-07-12 Gerd Moellmann <gerd@gnu.org>
6880
d8ee7803
GM
6881 * dispnew.c (redraw_overlapped_rows): Add missing local.
6882 (scrolling_window): Remove debug code.
6883
712eaef2
GM
6884 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6885 Before scrolling, turn off a mouse-highlight in the window
6886 being scrolled.
6887
6888 * xterm.c (x_update_window_end): Add parameter
6889 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6890 redisplay in XTframe_up_to_date.
6891 (x_clear_mouse_face): New function.
6892 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6893
6894 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6895 current glyph row.
6896 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6897 it when any row is written to that contains glyphs highlighted in
6898 mouse-face.
6899 (update_window): Call the window update end hook with new
6900 parameter MOUSE_FACE_OVERWRITTEN_P.
6901 (direct_output_for_insert): Give up if row contains mouse-face.
6902
6903 * dispextern.h (struct redisplay_interface): Add parameter
6904 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6905 (clear_mouse_face): New function pointer member.
6906
02010917
SM
69072000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6908
6909 * syntax.c (back_comment): Use one switch rather than a few `if's.
6910 Obey open_paren_in_column_0_is_defun_start.
6911 When reverting to the `slow' method, try to nicely handle the case
6912 of nested comments by checking that the comment-starter we found
6913 does indeed match the comment-ender.
6914 (scan_sexps_forward, scan_sexps_forward):
6915 Ignore excessive opening parenthesis rather than throwing an error.
6916
d76c03ea
GM
69172000-07-11 Gerd Moellmann <gerd@gnu.org>
6918
6919 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6920 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6921
6922 * dispnew.c (direct_output_forward_char): Give up if currently
6923 displaying a message instead of the minibuffer contents.
6924
6925 * xterm.c (x_update_window_begin): No need to turn off the mouse
6926 highlight here.
6927 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6928 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6929
6930 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6931 compare the mouse_face_p flags of both rows.
6932
6933 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6934
d55ead18
EZ
69352000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6936
6937 * keyboard.c (show_help_echo): Accept additional parameter
6938 ok_to_overwrite_keystroke_echo.
6939 (read_char): Call show_help_echo with a zero
6940 ok_to_overwrite_keystroke_echo argument.
52283633 6941 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6942 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6943 ok_to_overwrite_keystroke_echo argument.
6944 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6945 non-zero ok_to_overwrite_keystroke_echo argument.
6946
df75b1a3
GM
69472000-07-10 Gerd Moellmann <gerd@gnu.org>
6948
4b92c49a
GM
6949 * xdisp.c (try_window_id): If changes are all below what is
6950 displayed in the window, and point is in the window, we still
6951 might have to find point on the display.
6952
6953 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6954 glyphs instead of a single one.
6955 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6956 with new argument list.
6957 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6958
df75b1a3
GM
6959 * keymap.c (get_keymap_1): Add comment that this function can GC.
6960 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6961 comment that functions can GC.
6962 (Fset_keymap_parent): GCPRO arg KEYMAP.
6963
4314cf3e
EZ
69642000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6965
6966 * msdos.c (XMenuActivate): After exiting the menu, restore the
6967 echo area message and erase it.
6968
ab49ce15
KH
69692000-07-10 Kenichi Handa <handa@etl.go.jp>
6970
6971 * fontset.c (Ffontset_info): Make the return value more compatible
6972 with that of Emacs 20.
6973
090a072f
GM
69742000-07-07 Gerd Moellmann <gerd@gnu.org>
6975
6976 * eval.c (Fsignal): Handle case that backtrace_list is null.
6977
f92de4a6
KH
69782000-07-07 Kenichi Handa <handa@etl.go.jp>
6979
6980 * ccl.c (Fccl_execute): Typo fixed.
6981
dd8888a1
GM
69822000-07-06 Gerd Moellmann <gerd@gnu.org>
6983
e5c81191 6984 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6985
dd8888a1
GM
6986 * window.c (Fwindow_list): Reverse list at the end.
6987 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6988 means allow windows on OWINDOW's frame, only.
6989 (window_loop): Simplified; use Fwindow_list.
6990
6991 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6992
485266d0
GM
69932000-07-05 Gerd Moellmann <gerd@gnu.org>
6994
6995 * xterm.c (XTread_socket): Increment handling_signal at the start,
6996 decrement it at the end.
6997
6998 * eval.c (handling_signal): New variable.
6999 (Fsignal): Abort if handling_signal is non-zero.
7000
7001 * lisp.h (handling_signal): External declaration.
178c5d9c 7002
485266d0
GM
7003 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7004
80fcd514
KR
70052000-07-05 Ken Raeburn <raeburn@gnu.org>
7006
7007 Sound support for NetBSD through "Linux emulation" support:
7008 * config.in (HAVE_SOUNDCARD_H): Undef.
7009 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7010 * Makefile.in (LIBSOUND): New variable.
7011 (LIBES): Include it.
52283633
SM
7012 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7013 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7014 (vox_open): Use DEFAULT_SOUND_DEVICE.
7015 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7016
d5c5cddd
GM
70172000-07-05 Gerd Moellmann <gerd@gnu.org>
7018
7019 * print.c (print_error_message): If Vsignaling_function is set,
7020 show it in *Messages*.
7021
7022 * lisp.h (Vsignaling_function): External declaration.
7023
7024 * eval.c (Vsignaling_function): New variable.
7025 (Fsignal): Compute it.
7026 (syms_of_eval): Staticpro it.
7027
65171e3a
DL
70282000-07-05 Dave Love <fx@gnu.org>
7029
7030 * syswait.h: Use the autoconf recommended approach. Old code
7031 #if'd out in case we need to revert.
7032
178c5d9c 7033 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7034
e2c46326
AI
70352000-07-05 Andrew Innes <andrewi@gnu.org>
7036
7037 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7038 when non-NULL instead of __morecore, to take account of buffer
7039 memory. This also solves a problem with spurious memory warnings
7040 on Windows.
7041
7042 * ralloc.c: Make real_morecore non-static.
7043
7044 * eval.c (internal_condition_case): Comment out abort if
7045 interrupt_input_blocked is not zero.
7046
7047 * makefile.nt: Add support for `bootstrap' and related targets.
7048 Include minimal debug info in emacs.exe in release build.
7049 Remove all dependencies on lisp.h, and fixup some others.
7050
7051 * w32.c (init_environment): Install code from 20.7 for providing
7052 default values for environment variables, based on the
7053 executable's own location.
52283633 7054 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7055 (sys_socket): Install socket inheritance bug fix from 20.7.
7056
7057 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7058 here via blockinput.h).
7059
a027a91b
SM
70602000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7061
e4b31601
SM
7062 * w32menu.c (w32_menu_display_help):
7063 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7064
7065 * keyboard.h (show_help_echo): Declare.
7066
7067 * keyboard.c (show_help_echo): New function, extracted from read_char.
7068 Feval its `msg' argument if it's a cons cell.
7069 (read_char): Use it.
4cf8d9d5 7070 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7071
178c5d9c 7072 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7073 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7074 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7075 (dos_rawgetc):
7076 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7077 (note_tool_bar_highlight, w32_read_socket):
7078 Do not gratuitously ignore non-string `help-echo' properties.
7079
88d75730
GM
70802000-07-05 Gerd Moellmann <gerd@gnu.org>
7081
969f7e79
GM
7082 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7083
71201b00
GM
7084 * window.c (delete_all_subwindows): Reset Vwindow_list.
7085
88d75730
GM
7086 * xterm.c (x_append_glyph, x_append_composite_glyph)
7087 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7088 changes in struct glyph starting 1999-12-27. Some bit-fields of
7089 struct glyph were not set, which made glyphs unequal when compared
7090 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7091 effects were the result. This also depended on the contents of
7092 memory returned by xmalloc. If flickering happens again, activate
7093 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7094 gone with that, chances are that it is caused by something similar.
88d75730
GM
7095
7096 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7097
88d75730
GM
7098 * dispextern.h: Add some comments.
7099
7100 * window.c (add_window_to_list): Add parameter LIST.
7101 (window_list): Order list so that, for each frame, windows are
7102 in canonical order, and so that frames appear in the list in
7103 the order given by Vframe_list.
7104 (next_window): Reverse the handling of NEXT_P.
7105
53654733
GM
71062000-07-04 Gerd Moellmann <gerd@gnu.org>
7107
87efd256
GM
7108 * window.c (Vwindow_list): New variable.
7109 (make_window, delete_window): Set Vwindow_list to nil.
7110 (check_window_containing): New function.
7111 (window_from_coordinates): Rewritten.
7112 (add_window_to_list, window_list, candidate_window_p)
7113 (decode_next_window_args, next_window): New functions.
52283633 7114 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7115 (Fwindow_list): New function.
7116 (Fother_window): Cleaned up.
7117 (foreach_window): Add a longer "variable argument list". Let
7118 callback function return 0 to indicate that cycling over windows
7119 should stop.
7120 (foreach_window_1): Likewise.
7121 (freeze_window_start): Return int.
7122 (init_window): New function.
7123 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7124
7125 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7126 input_event with bzero.
7127 (main): Call init_window.
7128
53654733
GM
7129 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7130 a menu filter.
7131
4a8c194f
KH
71322000-07-04 Kenichi Handa <handa@etl.go.jp>
7133
7134 * composite.h (make_composition_value_copy): Extern it.
7135
7136 * composite.c (make_composition_value_copy): New function.
7137
7138 * editfns.c (Fformat): While copying text properties, make each
7139 composition property value a copy.
7140
7141 * fns.c (concat): While copying text properties, make each
7142 composition property value a copy.
7143
831a6cb0
GM
71442000-07-03 Gerd Moellmann <gerd@gnu.org>
7145
2f516940
GM
7146 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7147
178c5d9c 7148 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7149 marked already.
7150
831a6cb0
GM
7151 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7152 include those frames as candidates which have their focus
7153 redirected to the minibuffer frame.
7154
d9c4f922
SM
71552000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7156
7157 * fns.c (Fputhash): Return `value' rather than nil.
7158
3780bc22
GM
71592000-06-30 Gerd Moellmann <gerd@gnu.org>
7160
97d176db
GM
7161 * frame.c (next_frame): Don't check focus redirection in case
7162 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7163 unless their focus is redirected, which contradicts the
7164 specification of next-frame, and leads to infinite loops in
7165 certain situations when cycling through windows with next-window.
7166
dca9961d
KH
71672000-06-30 Kenichi Handa <handa@etl.go.jp>
7168
7169 * coding.c (code_convert_region): Even if the length of text is
7170 zero, try to convert it if coding->type is coding_type_ccl.
7171 (decode_coding_string, encode_coding_string): Likewise.
7172
d5483ab1
GM
71732000-06-28 Gerd Moellmann <gerd@gnu.org>
7174
af5c25e1 7175 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7176 the display if windows_or_buffers_changed.
af5c25e1
GM
7177
7178 * dispnew.c (struct row_entry): New structure.
7179 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7180 (row_table_size, old_lines, new_lines, old_lines_size)
7181 (new_lines_size, run_pool, runs_size, runs): New variables.
7182 (add_row_entry): New function.
7183 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7184 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7185 holding them in local variables. Use a larger hash table whose
7186 size depends on glyph matrix sizes. Don't use bzero to clear the
7187 hash table; instead, clear used slots only.
7188
7189 * fns.c (next_almost_prime): Make it externally visible.
7190
7191 * lisp.h (next_almost_prime): Add prototype.
7192
d5483ab1
GM
7193 * s/isc4-0.h (sigunblock): Define.
7194
7195 * s/sco5.h (sigunblock): Define.
7196
93e40f40
DL
71972000-06-27 Dave Love <fx@gnu.org>
7198
7199 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7200 (moved to osf5-0.h).
7201 [!NOT_C_CODE]: Protect string.h stuff.
7202
7203 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7204 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7205
3c4b7685
GM
72062000-06-27 Gerd Moellmann <gerd@gnu.org>
7207
97d176db 7208 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7209 below the last line from the needed window height.
7210
32cad0aa
SM
72112000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7212
7213 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7214 (Fwidget_get): Use it.
7215 (syms_of_fns): Defsubr it.
7216
2c69ced2
GM
72172000-06-26 Gerd Moellmann <gerd@gnu.org>
7218
178c5d9c 7219 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7220 display info for XIM.
7221 (xim_open_dpy): Likewise.
7222 (xim_close_dpy): Don't free the display info's XIM.
7223
7224 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7225
7226 * config.in (USE_XIM): New define.
7227
3fc720e4
GM
7228 * keymap.c (get_keyelt): For menu-items containing a `:filter
7229 FILTER', apply FILTER to the menu-item's definition to get the
7230 real definition to use.
7231
7232 * lisp.h (QCfilter): External declaration.
7233
2c69ced2
GM
7234 * xfns.c (Fimage_size): New function.
7235 (syms_of_xfns): Defsubr it.
7236
f978b2a2
AS
72372000-06-26 Andreas Schwab <schwab@suse.de>
7238
7239 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7240 Fstring_as_unibyte.
7241
94cc7892
DL
72422000-06-25 Dave Love <fx@gnu.org>
7243
52283633 7244 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7245
7246 * Makefile.in (blockinput.h): Depend on atimer.h.
7247 (atimer.h): Depend on systime.h.
7248
52283633 7249 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7250
52283633 7251 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7252
7253 * lisp.h (swap_in_global_binding): Declare.
7254
b8c24556
KR
72552000-06-24 Ken Raeburn <raeburn@gnu.org>
7256
7257 * process.c (Fopen_network_stream): Turn off atimers for duration
7258 of call to connect. (Patch from Gerd.)
7259
8cf8560b
DL
72602000-06-23 Dave Love <fx@gnu.org>
7261
511c7541
DL
7262 * ralloc.c: Maybe include unistd.h
7263
8cf8560b
DL
7264 * emacs.c (setgrp): Undefine before defining.
7265 (malloc_warning, set_time_zone_rule, index): Prototype.
7266
7267 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7268 HAVE_STRUCT_TIMEZONE.
7269
7270 * s/osf1.h: Move string.h hack here from alpha.h and make it
7271 conditional.
7272 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7273 _XOPEN_SOURCE.
7274 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7275 (SOCKLEN_TYPE): Don't define.
7276
7277 * m/alpha.h: Remove string.h hack.
7278
7279 * s/osf5-0.h: New file.
7280
7281 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7282 include time.h, done by systime.h.
7283 [__FreeBSD__]: Remove redundant includes.
7284
3fc720e4 7285 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7286 (delete_temp_file): Return Qnil to avoid warning.
7287
7288 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7289
7290 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7291 HAVE_X_WINDOWS.
7292
7293 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7294
7295 * composite.h (compose_text): Declare.
7296
7297 * xterm.c: Don't include sys/types.h unconditionally. Don't
7298 protect its inclusion with !USG (following xmenu.c).
7299
ea055732
GM
73002000-06-23 Gerd Moellmann <gerd@gnu.org>
7301
7302 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7303 in x_create_frame.
7304
74b01b80
EZ
73052000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7306
7307 * coding.c (decode_eol_post_ccl): Special handling for undecided
7308 and inconsistent EOL types.
7309
64f3a166
GM
73102000-06-22 Gerd Moellmann <gerd@gnu.org>
7311
16cf31f7
GM
7312 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7313 trough color and main window's background color.
7314
52283633 7315 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7316
7317 * xterm.h (Xt_app_con): External declaration.
7318
7319 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7320
486a103d
GM
7321 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7322
64f3a166
GM
7323 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7324 (handle_invisible_prop): Record the start of invisible text in
7325 it->add_overlay_start.
7326 (struct overlay_entry): Add member `overlay'.
7327 (handle_overlay_change): Simplify.
7328 (next_overlay_string): After having processed overlay strings at the
7329 end of the buffer, record that fact in
7330 it->overlay_strings_at_end_processed_p.
7331 (compare_overlay_entries): If before- and after-strings come
7332 from the same overlay, let before-strings come first.
7333 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7334 (load_overlay_strings): Take it->add_overlay_start into account
7335 when adding overlay strings.
7336
7337 * dispextern.h (struct it): Add member add_overlay_start.
7338
bb746ea6
DL
73392000-06-22 Dave Love <fx@gnu.org>
7340
7341 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7342
7343 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7344
a8f573f3
KH
73452000-06-22 Kenichi Handa <handa@etl.go.jp>
7346
7347 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7348 is greater than 0.
7349
9f2bbc92
DL
73502000-06-21 Dave Love <fx@gnu.org>
7351
178c5d9c 7352 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7353
3ee5041c
SM
73542000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7355
7356 * syntax.c (back_comment): Simplify string-parity counting (with
7357 the added benefit of handling multiple string-styles as long as
7358 they are not intertwined).
7359 Jump to the slow code as soon as a comment starter is found in
7360 a "string_lossage" position. Fixes the case: " /* " /* " */.
7361
4c343001
DL
73622000-06-21 Dave Love <fx@gnu.org>
7363
7364 * Makefile.in: Use GETLOADAVG_LIBS.
7365
7366 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7367 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7368
e6365855
SM
73692000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7370
7371 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7372 (Fforward_comment, scan_lists):
7373 Check the comstyle of single-char comment-starters.
7374 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7375 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7376 Check the comstyle of single-char comment-starters.
7377 Clarify control-flow around the Scomment case.
e6365855 7378
5700d2cc
DL
73792000-06-20 Dave Love <fx@gnu.org>
7380
d355bd8a
SM
7381 * fns.c (make_hash_table, maybe_resize_hash_table):
7382 Cast arg of next_almost_prime.
5700d2cc 7383
178c5d9c 7384 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7385
7386 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7387 and unistd.h.
7388
4a27bdfb
GM
73892000-06-20 Gerd Moellmann <gerd@gnu.org>
7390
a61d762c 7391 * keyboard.c (adjust_point_for_property): Check if display
52283633 7392 property should be treated as intangible by looking at its value.
a61d762c 7393
178c5d9c 7394 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7395 (display_prop_intangible_p): New functions.
7396
7397 * dispextern.h (display_prop_intangible_p): Add prototype.
7398
7399 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7400
4a27bdfb
GM
7401 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7402 argument to sigprocmask.
7403
7404 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7405 argument to sigprocmask.
7406
7407 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7408 sigprocmask_set, and pass a pointer to it to sigprocmask.
7409
7410 * sysdep.c (sigprocmask_set): New variable.
7411
7412 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7413 report_file_error.
7414
427ec082
SS
74152000-06-20 Sam Steingold <sds@gnu.org>
7416
7417 * xrdb.c: Don't declare xmalloc, xrealloc.
7418
8972fe79 74192000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7420
7421 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7422 (re_comp): Cast gettext return value to avoid complaints when
7423 !HAVE_LIBINTL.
7424
074b6efe
DL
74252000-06-20 Dave Love <fx@gnu.org>
7426
52283633 7427 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7428
5700d2cc 7429 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7430
d355bd8a 7431 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7432
7433 * m/alpha.h: Don't declare xmalloc, xrealloc.
7434
0af4f205
DL
7435 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7436
7437 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7438
7439 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7440
7441 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7442 HAVE_GETWD.
7443
074b6efe
DL
7444 * keyboard.h (poll_for_input_1): Declare.
7445
7446 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7447
7448 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7449
7450 * doprnt.c: Don't declare xmalloc, xrealloc.
7451
7452 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7453 (getenv, ctime, getwd): Removed.
7454 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7455
7456 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7457 x_set_tool_bar_lines.
7458
7459 * config.in: Add HAVE_GETWD. Move some definitions above
7460 machine/system includes.
7461
68a5e97b
KH
74622000-06-20 Kenichi Handa <handa@etl.go.jp>
7463
95417e1e
KH
7464 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7465
68a5e97b
KH
7466 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7467 contain information about ENCODING.
7468
7469 * fontset.c (FONTSET_ASCII): Use the first element of char table
7470 for an ASCII font, not defalt slot.
7471 (fontset_ref_via_base): If FONTSET doesn't contain information for
7472 C, try the default fontset.
7473 (make_fontset): Don't copy the default fontset.
7474 (fontset_font_pattern): Likewise.
7475 (accumulate_font_info): If ELT is nil, use the corresponding
7476 element in the default fontset.
7477
3b4fa1b2
DL
74782000-06-19 Dave Love <fx@gnu.org>
7479
943e731c
DL
7480 * syntax.c (Fparse_partial_sexp): Doc fix.
7481
7482 * regex.h: Test PROTOTYPES as well as __STDC__.
7483
3b4fa1b2
DL
7484 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7485 errno, strerror. Put text after #endif in comment.
7486
52283633 7487 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7488
7489 * xterm.c (x_frame_of_widget): Likewise.
7490
cdf0357b
GM
74912000-06-19 Gerd Moellmann <gerd@gnu.org>
7492
7493 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7494 to Vfundamental_mode_abbrev_table.
7495
7496 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7497 bogus objects are marked. This slows down GC by ~80 percent, but
7498 it might be worth trying when debugging GC-related problems.
7499 This feature requires conservative stack marking to be enabled.
7500
7501 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7502 returns XLookupChars, reset `modifiers' to zero.
7503
998e9f8c
DL
75042000-06-19 Dave Love <fx@gnu.org>
7505
7506 * mktime.c: Unprotoized.
7507
18e21ce8 75082000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7509
7510 * data.c (set_internal): If variable is frame-local,
7511 store the new value immediately into the frame parameter alist.
7512
140c4ac6
KR
75132000-06-19 Ken Raeburn <raeburn@gnu.org>
7514
14358466
KR
7515 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7516 in the custom handler pointer.
7517
140c4ac6
KR
7518 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7519 value, or checks for CHAR_META can fail when Lisp_Object is a
7520 union type.
7521 * keymap.c (get_keyelt): Likewise.
7522
10d7bf84
KH
75232000-06-19 Kenichi Handa <handa@etl.go.jp>
7524
7525 * ccl.h (struct ccl_program): New member eol_type.
7526 (struct ccl_spec): New member cr_carryover.
7527
7528 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7529 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7530
7531 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7532 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7533 (decode_eol_post_ccl): New function.
7534 (decode_coding): Don't detect EOL format here for CCL based coding
7535 systems.
7536 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7537 decode_eol_post_ccl after running the CCL program.
7538 (code_convert_region): Don't detect EOL format here for CCL based
7539 coding systems.
7540 (decode_coding_string): Likewise.
7541
52e386c2
KR
75422000-06-18 Ken Raeburn <raeburn@gnu.org>
7543
7544 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7545 when treating it as an integer.
7546
7547 * coding.h (encode_coding_string): Declare.
7548
7549 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7550 it as an integer.
7551
7552 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7553 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7554 to be passed to get_local_map.
7555
7556 * sound.c (Fplay_sound): Don't call make_number on
7557 Frun_hook_with_args count argument.
7558
7559 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7560 for lisp objects in X event structure data field, when lisp
7561 objects are represented with unions.
7562 (x_scroll_bar_to_input_event): Ditto.
7563
b357b9d4
KR
75642000-06-16 Ken Raeburn <raeburn@gnu.org>
7565
7566 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7567 termination of string. Fix sense of test whether
7568 Vline_number_display_limit is an integer.
b357b9d4 7569
a871441d
GM
75702000-06-16 Gerd Moellmann <gerd@gnu.org>
7571
a9021acd
GM
7572 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7573 only if HAVE_X_WINDOWS.
7574
6344985d
GM
7575 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7576 of titles.
7577
427ec082 7578 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7579 out of bounds.
7580
228b083e
EZ
75812000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7582
7583 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7584 of its headers.
7585
c25b53a2
KH
75862000-06-15 Kenichi Handa <handa@etl.go.jp>
7587
7588 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7589 start of the while loop.
7590
a6981b11
GM
75912000-06-15 Gerd Moellmann <gerd@gnu.org>
7592
e9924e52
GM
7593 * atimer.c (alarm_signal_handler): Add forward declaration.
7594
a6981b11
GM
7595 * data.c (set_internal): Remove debug code.
7596
25fa6deb
GM
75972000-06-14 Gerd Moellmann <gerd@gnu.org>
7598
dce6b995
GM
7599 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7600
9f817ea4
GM
7601 * unexec.c (toplevel) [COFF]: Include coff.h.
7602
7603 * s/lynxos.h: New file.
7604
7605 * keymap.c (Fsingle_key_description): Enclose function key and
7606 event symbol names in angle brackets.
7607
8a4e3c0c
GM
7608 * xdisp.c (setup_echo_area_for_printing): Call
7609 message_log_maybe_newline if message_buf_print is not set.
7610
7611 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7612 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7613 function does something useful even when message_buf_print is
7614 already set.
7615
52283633
SM
7616 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7617 New variables.
25fa6deb
GM
7618 (ensure_echo_area_buffers): Initialize echo buffer's
7619 truncate lines setting to nil.
7620 (with_echo_area_buffer): Don't set the echo buffer's truncate
7621 lines setting here.
8a4e3c0c 7622 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7623 of message_truncate_lines.
7624 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7625 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7626 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7627
7628 * keyboard.c (read_char): Bind message-truncate-lines to t
7629 while displaying a help-echo.
7630
7631 * lisp.h (Qmessage_truncate_lines): External declaration.
7632
163dcff3
GM
76332000-06-13 Gerd Moellmann <gerd@gnu.org>
7634
1681ead6
GM
7635 * xdisp.c (Vline_number_display_limit): Renamed from
7636 line_number_display_limit.
7637 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7638 Extend documentation string. Initialize
7639 Vline_number_display_limit to nil meaning no limit.
7640 (decode_mode_spec): Use Vline_number_display_limit with its new
7641 meaning.
7642
163dcff3
GM
7643 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7644
18e21ce8 76452000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7646
7647 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7648
163dcff3
GM
7649 * xfns.c (x_set_frame_parameters): Comment fix.
7650
7651 * frame.c (store_frame_param): Call swap_in_global_binding if the
7652 variable's current binding was chosen based on this frame.
7653
7654 * data.c (swap_in_global_binding): New function.
7655
a704139d
EZ
76562000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7657
7658 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7659 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7660
9b6610db
EZ
76612000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7662
7663 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7664
c68833d2
JR
76652000-06-12 Jason Rumney <jasonr@gnu.org>
7666
7667 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7668
7669 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7670
7671 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7672
7673 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7674
ed1056b3
GM
76752000-06-12 Gerd Moellmann <gerd@gnu.org>
7676
7677 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7678 (syms_of_xfaces): Defsubr Sdump_colors.
7679 (x_free_colors): Don't treat b&w specially on default visual.
7680 (x_free_dpy_colors): New function.
7681 (free_face_colors): Don't check visual class; it's done
7682 in x_free_colors.
7683
7684 * xterm.c (x_frame_of_widget): New function.
7685 (x_alloc_nearest_color_for_widget): Use it.
7686 (x_copy_dpy_color): New function.
7687 (x_destroy_window): Free various colors.
7688
5050a2ef
KH
76892000-06-12 Kenichi Handa <handa@etl.go.jp>
7690
7691 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7692
7693 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7694
7695 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7696
7697 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7698
7699 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7700
fb1b041d
DL
77012000-06-11 Dave Love <fx@gnu.org>
7702
7703 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7704
ff96b5f4
EZ
77052000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7706
7707 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7708
db8eeecd
GM
77092000-06-11 Gerd Moellmann <gerd@gnu.org>
7710
ed1056b3 7711 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7712 to `XEvent *'.
7713
49b71c5f
KH
77142000-06-10 Kenichi Handa <handa@etl.go.jp>
7715
c479bd55
KH
7716 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7717 (regex_compile): Fix the code for handling the case of single byte
7718 char and multibyte char being mixed in a range within [...].
7719
ff6a65c2
KH
7720 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7721 and dst_multibyte members of coding.
7722
49b71c5f
KH
7723 * charset.c (update_charset_table): Update the table
7724 bytes_by_char_head.
7725 (init_charset_once): Initialize elements of bytes_by_char_head to
7726 1 except for leading codes for private charases.
7727
7728 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7729 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7730
9e80b57d
KR
77312000-06-09 Ken Raeburn <raeburn@gnu.org>
7732
7733 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7734 access the data it doesn't point to.
7735
f83fe4b4
GM
77362000-06-08 Gerd Moellmann <gerd@gnu.org>
7737
7738 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7739 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7740 event queue. This is necessary because Emacs otherwise won't
7741 perform a switch-frame to a new frame until some other event, for
7742 example a keystroke event, forces it to do so. This has various
7743 effects, one visible being that the cursor of a frame created with
7744 C-x 5 2 or switched to with a window manager key binding like
7745 A-TAB stays hollow because selected_window isn't on the newly
7746 focused frame until the switch-frame is performed.
7747
7748 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7749 generating a switch-frame event if necessary.
7750
7751 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7752
7753 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7754 it's an integer.
7755
0890801b
KH
77562000-06-08 Kenichi Handa <handa@etl.go.jp>
7757
52283633 7758 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7759
173cbca8
GM
77602000-06-07 Gerd Moellmann <gerd@gnu.org>
7761
3091c2a6
GM
7762 * window.c (displayed_window_lines): Take empty lines at
7763 the bottom of a window into account.
427ec082 7764
f38952fe
GM
7765 * window.c (displayed_window_lines): New function.
7766 (Fmove_to_window_line): Use displayed_window_lines to determine
7767 the number of lines to move, instead of using the window's height.
7768
7769 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7770 to stop reading, even if the form read sets point to a different
7771 value when evaluated.
7772
427ec082 7773 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7774 put the cursor.
7775
6ba6c818
KH
77762000-06-07 Kenichi Handa <handa@etl.go.jp>
7777
7778 * fileio.c (e_write): Free composition data if stored in
7779 coding->cmp_data.
7780
5f1aea9a
GM
77812000-06-06 Gerd Moellmann <gerd@gnu.org>
7782
666852af
GM
7783 * xdisp.c (display_line): Set row's and iterator's
7784 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7785 Set cursor even if row ends in the middle of a character.
7786 (dump_glyph_row): Print values of new flags.
7787 (redisplay_window) <cursor movement in unchanged window>: When
7788 point has been moved forward, and PT is at the end of the cursor
7789 row, don't place the cursor in the next row if the cursor row ends
7790 in the middle of a character or at ZV.
7791
7792 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7793 (struct glyph_row): Add starts_in_middle_of_char_p and
7794 ends_in_middle_of_char_p.
7795 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7796 ends_in_middle_of_char_p flag.
7797 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7798
d13f3e2e
GM
7799 * term.c (append_glyph): Revert change of 2000-06-06.
7800
7801 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7802 padding glyph not fitting on line as whole character not
7803 fitting on line.
7804
5f1aea9a
GM
7805 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7806 this isn't true for images with `:ascent 100'.
7807
10cda9b0
KH
78082000-06-06 Kenichi Handa <handa@etl.go.jp>
7809
ed00559d
KH
7810 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7811 as modified if it is originally unmodified.
7812
10cda9b0
KH
7813 * term.c (encode_terminal_code): Change the way to check if
7814 terminal coding does any conversion.
7815 (append_glyph): Set glyph->pixel_width correctly.
7816
7817 * xdisp.c (display_line): While checking line continuation, pay
7818 attention to a padding glyph.
7819
1969fae2
GM
78202000-06-05 Gerd Moellmann <gerd@gnu.org>
7821
7822 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7823
162ccef4
DL
78242000-06-05 Dave Love <fx@gnu.org>
7825
f19f32dd
DL
7826 * xdisp.c: Include fontset.h.
7827
7828 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7829
7830 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7831
7832 * dispnew.c: Conditionally include term.h.
7833
7834 * coding.h: Declare code_convert_string_norecord.
7835
7836 * frame.h (struct frame): Use volatile unconditionally.
7837
7838 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7839
7840 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7841
7842 * systime.h: Protect against multiple inclusion.
7843 (timezone) [USG5_4]: Define as time_t.
7844
7845 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7846 (Foptimize_char_table, make_temp_name): Declare.
7847
7848 * Makefile.in (xdisp.o): Depend on fontset.h.
7849
7850 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7851
7852 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7853 (Foptimize_char_table, make_temp_name): Declare.
7854
427ec082 7855 * s/irix4-0.h:
162ccef4
DL
7856 * s/irix5-0.h:
7857 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7858
2082fe81
DL
78592000-06-02 Dave Love <fx@gnu.org>
7860
7861 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7862
dcf671d2
GM
78632000-06-02 Gerd Moellmann <gerd@gnu.org>
7864
7865 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7866 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7867 be freed.
7868
7869 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7870 glyph, use the ASCII NUL character to determine the face.
7871
d42122a3
DL
78722000-06-02 Dave Love <fx@gnu.org>
7873
7874 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7875 (VFORK_RETURN_TYPE): Remove.
427ec082 7876
d42122a3
DL
7877 * config.in: Add NO_MATHERR.
7878
dd432f16
DL
78792000-06-01 Dave Love <fx@gnu.org>
7880
90aa4ea8
DL
7881 * cmds.c (internal_self_insert): Don't check
7882 Vbefore_change_function, Vafter_change_function.
7883
7884 * insdel.c (signal_before_change, signal_after_change): Likewise.
7885
7886 * buffer.c (Vbefore_change_function, Vafter_change_function):
7887 Variables and their initializations deleted.
7888
2330c9d4
DL
7889 * callint.c (Fcall_interactively): Doc fix.
7890
dd432f16
DL
7891 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7892
bf9e8804
DL
78932000-05-31 Dave Love <fx@gnu.org>
7894
7895 * textprop.c: Revert last change -- duplicated.
7896
3694b4ab
GM
78972000-05-31 Gerd Moellmann <gerd@gnu.org>
7898
7899 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7900 in #if 0.
7901
7902 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7903
f14156cd
JR
79042000-05-31 Jason Rumney <jasonr@gnu.org>
7905
8119aab8
JR
7906 * search.c (Fre_search_forward, Fre_search_backward)
7907 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7908
f14156cd
JR
7909 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7910
4aab9be3
JR
79112000-05-30 Jason Rumney <jasonr@gnu.org>
7912
7913 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7914 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7915
52283633 7916 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7917
7918 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7919 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7920 expand a nil default_filename.
7921
7922 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7923 pointer to glyph_to_pixel_coords, not a frame.
7924
7925 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7926 coding.h to dependencies.
7927
7928 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7929
7930 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7931 window pointer to be consistent with w32term.c and xterm.c.
7932
7933 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7934 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7935 (Qline_spacing, Qcenter): New variables.
7936 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7937 (x_set_line_spacing): New function.
52283633 7938 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7939 (x_specified_cursor_type): New function.
7940 (x_set_cursor_type): Use it.
7941 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7942 and icon strings.
7943 (validate_x_resource_name, x_get_resource_string): Measure lengths
7944 of external strings in bytes.
7945 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7946 GetTextExtentPoint32 with NULL title.
7947 (Fx_create_frame): Initialize Qline_spacing.
7948 (w32_load_system_font): Initialize font->double_byte_p.
7949 (x_to_w32_charset): Use Vw32_charset_info_alist.
7950 (Image, busy cursor, tooltip functions): Merged changes from
7951 xfns.c. Not yet functional on Windows.
7952
7953 * w32gui.h (W32FontStruct): Add double_byte_p member.
7954
7955 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7956 (emacs_button_translation): Use it.
7957 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7958 in `mask' to be set.
7959
7960 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7961 menu strings.
7962
7963 * w32term.c: Format and doc changes to bring closer to xterm.c.
7964 (w32_char_font_type): New enum.
7965 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7966 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7967 (w32_encode_char): New function.
7968 (x_encode_char): Removed.
7969 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7970 x_encode_char and w32_font_is_double_byte.
7971 (x_produce_image_glyph): Use image_ascent.
7972 (x_produce_glyphs): Use new version of w32_per_char_metric and
7973 handle NULL return value. Allow extra line spacing.
7974 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7975 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7976 w32_font_type member of glyph instead.
7977 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7978 (fast_find_position): Make sure not to consider rows not visible
7979 in the window.
7980 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7981 w32_menu_display_help with input blocked, as it can abort.
7982 (x_display_and_set_cursor): Choose cursor depending
7983 on buffer-local value of cursor_type.
7984 (x_draw_bar_cursor): Add parameter WIDTH.
7985
7986 * w32term.h (CP_DEFAULT): Define.
7987 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7988
10fc3187
GM
79892000-05-30 Gerd Moellmann <gerd@gnu.org>
7990
7991 * search.c (Fre_search_forward, Fre_search_backward)
7992 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7993
d0555360
KH
79942000-05-30 Kenichi Handa <handa@etl.go.jp>
7995
7996 * coding.c (detect_coding_iso2022): Fix code for checking
7997 CODING_CATEGORY_MASK_ISO_8_2.
7998
f1ad044f
SM
79992000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8000
8001 * regex.c (PREFETCH_NOLIMIT): New function.
8002 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8003
84ec3b4b
GM
80042000-05-29 Gerd Moellmann <gerd@gnu.org>
8005
66254a13
GM
8006 * syntax.c (find_defun_start): Move test for
8007 open_paren_in_column_0_is_defun_start outside of the loop.
8008
49e70dec
GM
8009 * xdisp.c (redisplay_window): Really switch buffers when
8010 displaying mode lines, and temporarily set selected_frame to the
8011 frame of the window that's redisplayed.
8012
84ec3b4b
GM
8013 * xfaces.c (free_realized_faces): Block/unblock input.
8014 (free_realized_multibyte_face): Ditto.
8015
869a3a14
DL
80162000-05-29 Dave Love <fx@gnu.org>
8017
8018 * textprop.c (Qkeymap): New variable.
8019 (syms_of_textprop): Intern it.
8020
8021 * keymap.c: Include intervals.h.
8022 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8023
8024 * Makefile.in (keymap.o): Depend on intervals.h.
8025
8026 * keyboard.c (menu_bar_items, tool_bar_items)
8027 (Fexecute_extended_command): Deal with `keymap' property.
8028 (read_key_sequence): Track map from `keymap' property as well as
8029 `local_map'.
8030
8031 * intervals.c (get_local_map): Extra arg to allow looking for
8032 `keymap' too.
8033
8034 * intervals.h (map_property): New enum.
8035 (get_local_map): Extra arg using it.
8036 (Qkeymap): Declare.
8037
84ec3b4b 8038 * lisp.h (get_local_map): Don't declare here.
869a3a14 8039
89d0c844
KH
80402000-05-29 Kenichi Handa <handa@etl.go.jp>
8041
8042 * Makefile.in (callproc.o): Depend on composite.h.
8043
8044 * callproc.c: Include composite.h.
8045 (Fcall_process): Handle composition correctly.
8046
8047 * coding.h (coding_allocate_composition_data): Extern it.
8048 (coding_restore_composition): Likewise.
8049
8050 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8051 yet allocated, finish decoding with result
8052 CODING_FINISH_INSUFFICIENT_CMP.
8053 (coding_allocate_composition_data): Make it non-static.
8054 (coding_restore_composition): Likewise.
8055
797a084a
EZ
80562000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8057
8058 * charset.c (syms_of_charset): Revert last change.
8059
cf872af5
EZ
80602000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8061
8062 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8063 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8064 Handa.
cf872af5 8065
5b1ae051
EZ
80662000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8067
8068 * charset.c (syms_of_charset): Set width of character sets
8069 eight-bit-control and eight-bit-graphic to 1 column.
8070
34ec9ebe
GM
80712000-05-26 Gerd Moellmann <gerd@gnu.org>
8072
8073 * config.in (HAVE_SPEED_T): New define.
8074
8075 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8076 `extern speed_t'.
8077
dd854dc2
DL
80782000-05-26 Dave Love <fx@gnu.org>
8079
8080 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8081
8082 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8083 (Fsubr_arity): New function.
8084 (syms_of_data): Install them.
8085
ba9f8f95
KH
80862000-05-26 Kenichi Handa <handa@etl.go.jp>
8087
0f3e0672
KH
8088 * charset.c (init_charset_once): Set the table bytes_by_char_head
8089 correctly.
8090
cebefb44
KH
8091 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8092 the default fontset to what Emacs uses by default.
0f3e0672
KH
8093 (check_registry_encoding): This function deleted.
8094 (Fset_fontset_font): Remove the adhoc condition for the default
8095 fontset. Allow cons in FONTNAME.
cebefb44 8096
0f3e0672
KH
8097 * fns.c (map_char_table): Ignore char-table entries for
8098 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8099
7a18af49
KR
81002000-05-25 Ken Raeburn <raeburn@gnu.org>
8101
8102 * emacs.c (main): Initialize keyboard syms before initializing
8103 window code, so face names are available.
8104
d2af47df
SM
81052000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8106
8107 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8108 of an anchor at the beginning of a shy-group.
8109
fc6a6a4e
GM
81102000-05-25 Gerd Moellmann <gerd@gnu.org>
8111
8112 * xdisp.c (handle_invisible_prop): Don't try to skip over
8113 invisible text if end of text is already reached.
8114
005f0d35
DL
81152000-05-25 Dave Love <fx@gnu.org>
8116
02513cdd
DL
8117 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8118
005f0d35
DL
8119 * coding.c (encode_eol): Add null statement after label.
8120
89f6ca4e
EZ
81212000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8122
8123 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8124 2000-05-20.
8125
a4e1759e
KH
81262000-05-25 Kenichi Handa <handa@etl.go.jp>
8127
8128 * ccl.c (ccl_driver): Fix previous change.
8129
eacfd7fe
KH
81302000-05-25 Kenichi Handa <handa@etl.go.jp>
8131
46ab33a9
KH
8132 * coding.c (run_pre_post_conversion_on_str): Set point to the
8133 beginning of buffer before calling coding->post_read_conversion.
8134 (decode_coding_string): Give correct args to
8135 run_pre_post_conversion_on_str.
8136 (encode_coding_string): Likewise.
8137
eacfd7fe
KH
8138 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8139 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8140 eight-bit-graphic correctly.
8141
f8569325
DL
81422000-05-24 Kenichi HANDA <handa@etl.go.jp>
8143
8144 * fileio.c (Finsert_file_contents): Even if a file is not found,
8145 execute codes for setting up coding system. Call
8146 after-insert-file-functions unconditionally.
8147
04545643
GM
81482000-05-24 Gerd Moellmann <gerd@gnu.org>
8149
8150 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8151 BSD_PGRPS are not defined.
8152
747d90ea
KH
81532000-05-24 Kenichi Handa <handa@etl.go.jp>
8154
8155 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8156 DESCRIPTION.
8157 (syms_of_charset): Avoid building same strings.
8158
716e3b88
GM
81592000-05-23 Gerd Moellmann <gerd@gnu.org>
8160
8161 * lread.c (Fload): Add a comment about the meaning of
8162 Vuser_init_file being t.
8163
8164 * puresize.h (BASE_PURESIZE): Increase to 675000.
8165
8166 * s/gnu-linux.h (setpgrp): Don't define it here because this
8167 prevents compilation on GNU/Linux systems with glib 2.2.
8168
8169 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8170 as setpgid.
427ec082 8171
9aeb39fa
EZ
81722000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8173
8174 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8175 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8176 version.
8177 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8178
29ced61b
KH
81792000-05-23 Kenichi Handa <handa@etl.go.jp>
8180
52283633 8181 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8182
3d80f24d
KH
8183 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8184
52283633 8185 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8186
29ced61b
KH
8187 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8188
d7e00792
KH
81892000-05-22 Kenichi Handa <handa@etl.go.jp>
8190
c9d80d38
KH
8191 * keyboard.c (read_char): Allow character codes 128..255 to be
8192 handled by input-method-function.
8193
d7e00792
KH
8194 * insdel.c (adjust_markers_for_replace): Fix previous change.
8195 (adjust_after_replace): If PREV_TEXT is nil, call
8196 adjust_markers_for_insert, not adjust_markers_for_replace.
8197
087121cc 81982000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8199
087121cc
GM
8200 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8201 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8202 [HAVE_GRANDPT]: Define.
8203 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8204
8205 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8206 like SYSV_PTYS.
8207
8208 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8209
8210 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8211
c9671f81
KH
82122000-05-20 Kenichi Handa <handa@etl.go.jp>
8213
8214 The following changes are to handle 8-bit characters in a
8215 multibyte buffer/string without facing with byte combining
8216 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8217 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8218
8219 * Makefile.in (fns.o): Depend on charset.h.
8220
8221 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8222 convert it to unibyte.
8223 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8224
8225 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8226 apparent char boundary.
8227 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8228 0x80..0x9F to/from multibyte form.
8229
8230 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8231 to unibyte.
8232
8233 * callproc.c (Fcall_process): Always encode an argument string if
8234 it is multibyte. Setup src_multibyte and dst_multibyte members of
8235 process_coding properly.
ce75fd23 8236
c9671f81
KH
8237 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8238 SPLIT_NON_ASCII_CHAR.
8239
8240 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8241 as is.
8242 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8243
52283633 8244 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8245 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8246 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8247 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8248 and eight-bit-graphic.
8249 (char_to_string): Likewise. Signal an error for too large
8250 character code.
8251 (char_printable_p): Return 0 for 8-bit characters.
8252 (update_charset_table): Update iso_charset_table only when a final
8253 character is non-negative.
8254 (find_charset_in_text): Renamed from find_charset_in_str.
8255 Arguments and return value changed. Callers changed.
8256 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8257 be -1 if CHARSET is used only internally.
8258 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8259 eight-bit-graphic.
8260 (Fcharset_after): Simplified.
8261 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8262 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8263 (multibyte_chars_in_text): Simplified by assuming there's no
8264 invalid multibyte sequence.
52283633
SM
8265 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8266 (str_as_unibyte): New functions.
8267 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8268 (init_charset_once): Initialization for
8269 LEADING_CODE_8_BIT_CONTROL.
8270 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8271 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8272 eight-bit-control and eight-bit-graphic.
8273
52283633
SM
8274 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8275 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8276 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8277 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8278 (CHARSET_REVERSE_CHARSET): Likewise.
8279 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8280 eight-bit-graphic.
8281 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8282 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8283 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8284 encounter an invalid multibyte sequence.
8285 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8286 sequence is always valid.
8287 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8288 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8289 (CHAR_STRING): For 8-bit characters, call char_to_string.
8290 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8291 multibyte sequence is always valid.
8292 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8293 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8294 (str_as_unibyte): Extern them.
c9671f81 8295 (BCOPY_SHORT): Fix a bug.
52283633 8296 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8297 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8298 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8299 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8300
bd4bde7f 8301 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8302 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8303 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8304 (EMIT_BYTES): New macros.
8305 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8306 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8307 macros deleted.
8308 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8309 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8310 check the validity of multibyte sequence.
8311 (decode_coding_emacs_mule): New function.
8312 (encode_coding_emacs_mule): New macro.
8313 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8314 the source.
8315 (DECODE_ISO_CHARACTER): Just return a character code.
8316 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8317 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8318 EMIT_CHAR to produced decoded characters. Exit the loop only by
8319 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8320 block here.
8321 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8322 only position codes for an invalid character.
8323 (encode_designation_at_bol): Return new destination pointer. 5th
8324 arg DSTP is changed to DST.
8325 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8326 from the source by ONE_MORE_CHAR. Don't handle the case of last
8327 block here.
8328 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8329 macros deleted.
52283633
SM
8330 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8331 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8332 TWO_MORE_BYTES to fetch a byte from the source.
8333 (encode_eol): Pay attention to coding->src_multibyte.
8334 (detect_coding, detect_eol): Preserve members src_multibyte and
8335 dst_multibyte.
8336 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8337 (encoding_buffer_size): Set magnification to 3 for all coding
8338 systems that require encoding.
8339 (ccl_coding_driver): For decoding, be sure that the result is
8340 valid multibyte sequence.
8341 (decode_coding): Initialize coding->errors and coding->result.
8342 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8343 and raw-text, always call decode_eol. Handle the case of last
8344 block here. If not coding->dst_multibyte, convert the resulting
8345 sequence to unibyte.
8346 (encode_coding): Initialize coding->errors and coding->result.
8347 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8348 and raw-text, always call encode_eol. Handle the case of last
8349 block here.
8350 (shrink_decoding_region, shrink_encoding_region): Detect cases
8351 that we can't skip data more rigidly.
8352 (code_convert_region): Setup src_multibyte and dst_multibyte
8353 members of coding. For decoding, if the buffer is multibyte,
8354 convert the source sequence to unibyte in advance. For encoding,
8355 if the buffer is multibyte, convert the resulting sequence to
8356 multibyte afterward.
8357 (run_pre_post_conversion_on_str): New function.
8358 (code_convert_string): Deleted and divided into the following two.
8359 (decode_coding_string, encode_coding_string): New functions.
8360 (code_convert_string1, code_convert_string_norecord): Call one of
8361 above.
8362 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8363 MAKE_NON_ASCII_CHAR.
52283633
SM
8364 (Fset_terminal_coding_system_internal)
8365 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8366 and dst_multibyte members.
8367 (init_coding_once): Initialize iso_code_class with new enum
8368 ISO_control_0 and ISO_control_1.
8369
8370 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8371 devided into ISO_control_0 and ISO_control_1.
8372 (struct coding_system): New members src_multibyte, dst_multibyte,
8373 errors, and result. Delete member fake_multibyte.
8374 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8375 nonzero.
8376 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8377 nonzero.
8378
8379 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8380 (Faset): Likewise.
8381
8382 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8383 multibyte form.
8384 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8385 combining occurs.
8386 (Ftranspose_region): Delete codes for handling byte combining.
8387
8388 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8389 dst_multibyte members of coding. On handling REPLACE on unibyte
8390 buffer, convert the result of decode_coding to unibyte. On
8391 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8392 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8393 multibyteness of the source (buffer or string).
8394
8395 * fns.c (concat): Handle 8-bit characters correctly.
8396 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8397 unibyte in the result.
8398 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8399 valid multibyte form in the result.
8400 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8401 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8402 return -1, signal an error.
8403 (base64_encode_1): New arg MULTIBYTE. Get each character by
8404 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8405 character is found, return -1.
8406 (Fbase64_decode_region): Delete codes for handling byte-combining.
8407 Treat each decoded byte as a unibyte character.
8408 (Fbase64_decode_string): Return unibyte string.
8409 (Fcompare_strings, concat, string_byte_to_char): Use
8410 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8411 FETCH_STRING_CHAR_ADVANCE.
8412 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8413 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8414
8415 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8416 SPLIT_NON_ASCII_CHAR.
8417 (fontset_ref_via_base, fontset_set): Likewise
8418
8419 * insdel.c (adjust_markers_for_record_delete): Deleted.
8420 (adjust_markers_for_insert): Argument changed. Caller changed.
8421 (adjust_markers_for_replace): Likewise.
52283633
SM
8422 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8423 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8424 (copy_text): Delete unused local varialbe c_save. For converting
8425 to multibyte, be sure to make all 8-bit characters in valid
8426 multibyte form.
8427 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8428 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8429 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8430 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8431 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8432 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8433 handling byte combining.
8434 (adjust_before_replace): Deleted.
427ec082 8435
c9671f81
KH
8436 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8437 SPLIT_NON_ASCII_CHAR.
8438 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8439 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8440 (Fkey_description): Likewise.
8441
8442 * lread.c (read1): On reading multibyte string, be sure to make
8443 all 8-bit chararacters in valid multibyte form.
8444 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8445
8446 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8447 unconditionally.
8448
8449 * process.c (Fstart_process): GCPRO current_dir before calling
8450 Ffind_operation_coding_system. Encode arguments here.
8451 (create_process): Don't encode arguments here. Setup
8452 src_multibyte and dst_multibyte members of struct coding.
8453 (read_process_output): Setup src_multibyte and dst_multibyte
8454 members of struct coding. If the output is to multibyte buffer,
8455 always decode the output of the process. Adjust the
52283633 8456 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8457 (send_process): Setup coding->src_multibyte according to the
8458 multibyteness of the source.
8459
52283633 8460 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8461 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8462 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8463
52283633 8464 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8465
8466 * w16select.c (Fw16_set_clipboard_data): Setup members
8467 src_multibyte and dst_multibyte of coding. Adjusted for the
8468 change for find_charset_in_str.
8469 (Fw16_get_clipboard_data): Likewise.
8470
8471 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8472 dst_multibyte of coding.
8473 (x_to_w32_font): Likewise.
8474
8475 * w32select.c (Fw32_set_clipboard_data): Setup members
8476 src_multibyte and dst_multibyte of coding. Adjusted for the
8477 change for find_charset_in_str.
8478 (Fw32_get_clipboard_data): Likewise.
8479
8480 * xdisp.c (get_next_display_element): Handle 8-bit characters
8481 correctly.
52283633
SM
8482 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8483 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8484
8485 * xselect.c (selection_data_to_lisp_data): Setup members
8486 src_multibyte and dst_multibyte of coding. Adjusted for the
8487 change for find_charset_in_str.
8488 (lisp_data_to_selection_data): Likewise.
8489
5f64c9e0
GM
84902000-05-19 Gerd Moellmann <gerd@gnu.org>
8491
52283633 8492 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8493
5f64c9e0
GM
8494 * dispextern.h (Vimage_types): Add extern declaration.
8495
8496 * xdisp.c (Vimage_types): Moved here from xfns.c.
8497 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8498
8499 * xfns.c (Vimages_types): Moved to xdisp.c.
8500 (syms_of_xfns): Move `image-types' to xdisp.c.
8501
8502 * w32fns.c (Vimage_types): Removed.
8503 (syms_of_w32fns): Remove `image-types'.
8504
813086ea
KH
85052000-05-18 Kenichi Handa <handa@etl.go.jp>
8506
8507 * fns.c (map_char_table): Pay attention to character number of
8508 charset. Check the validity of charset at the first level. For
8509 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8510 the default value.
8511
8512 * fontset.c: Include "buffer.h".
8513 (fs_load_font): If the face has fontset, record the face ID in
8514 that fontset.
8515 (Finternal_char_font): New function.
8516 (accumulate_font_info): New function.
8517 (Ffontset_info): Rewritten for the new fontset implementation.
8518 (syms_of_fontset): Register Vdefault_fontset in the first element
8519 of Vfontset_table. Include Vdefault_fontset in
8520 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8521 function.
8522
bdaebbf0
DL
85232000-05-16 Dave Love <fx@gnu.org>
8524
8525 * m/iris5d.h: Deleted -- unused.
8526
cb613bb8
GM
85272000-05-16 Gerd Moellmann <gerd@gnu.org>
8528
b15f3b77
GM
8529 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8530 `invalid' instead of `illegal'.
8531
8532 * indent.c (Fmove_to_column): When ending within a tab, insert
8533 spaces first so that markers at the end of the tab get adjusted.
8534
835c1b36
GM
8535 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8536 buffer list that wasn't selected in that frame.
8537
cb613bb8
GM
8538 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8539 is needed on mescaline, use a 2 char prefix, and call
8540 make_temp_name with second arg non-zero.
8541
8542 * fileio.c (make_temp_name): New function, extracted from
8543 Fmake_temp_name.
8544 (Fmake_temp_name): Use it.
8545
f685bea9
EZ
85462000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8547
52283633 8548 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8549
a1b8d58b
GM
85502000-05-15 Gerd Moellmann <gerd@gnu.org>
8551
8552 * Makefile.in (lisp): Add env.elc.
8553
8554 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8555
a265079f
GM
85562000-05-12 Gerd Moellmann <gerd@gnu.org>
8557
8558 * search.c (Freplace_match): Handle case of `\N' in the
8559 replacement when there's no group N.
8560
da4496b6
GM
85612000-05-11 Gerd Moellmann <gerd@gnu.org>
8562
0ace421a
GM
8563 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8564 of the message to message_dolog.
8565
1172eb8d
GM
8566 * keyboard.c (read_char): Don't clear current message for help
8567 events; let the code handling help events handle this. Change
8568 code detecting help events that should be ignored.
8569
da4496b6
GM
8570 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8571 we're interating over a string.
8572
0623e40f
DL
85732000-05-09 Dave Love <fx@gnu.org>
8574
8575 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8576 that offset before writing. Move gcpro region past call of
8577 Ffile_regular_p.
8578
bae2503b
DL
85792000-05-04 Dave Love <fx@gnu.org>
8580
8581 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8582
ec82fb2f
GM
85832000-05-04 Gerd Moellmann <gerd@gnu.org>
8584
8585 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8586 of inserted characters when BUF equals the current buffer, and PT
8587 is in front of or equal to FROM.
8588
cbf18892
GM
85892000-05-03 Gerd Moellmann <gerd@gnu.org>
8590
4ff40dd0
GM
8591 * xdisp.c (handle_single_display_prop): If display property value
8592 is invalid, or something not supported on the frame, restore
8593 iterator's position to what it was initially. Make sure to return
8594 0 for invalid and unsupported property values.
8595
cbf18892
GM
8596 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8597 that x_per_char_metric returns null.
8598
1b0672c3
GM
85992000-05-02 Gerd Moellmann <gerd@gnu.org>
8600
576da55d
GM
8601 * xterm.h (struct face): Add forward declaration.
8602 (struct image): Ditto.
8603 (image_ascent): Add prototype.
8604
8605 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8606 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8607 image_ascent instead of using IMAGE_ASCENT.
8608
8609 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8610 (IMAGE_ASCENT): Removed.
8611
8612 * xfns.c (Qcenter): New variable.
8613 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8614 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8615 (image_ascent): New function.
8616 (lookup_image): Recognize `:ascent center'.
8617 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8618 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8619 (xbm_load): Don't set image's ascent here.
8620 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8621 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8622 check ascent values here.
8623 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8624 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8625 (syms_of_xfns): Initialize Qcenter.
8626
1b0672c3
GM
8627 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8628 to the limits, increase the limits.
8629
0d7811ed
KH
86302000-05-01 Kenichi Handa <handa@etl.go.jp>
8631
8632 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8633 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8634
a943a5ca
GM
86352000-04-28 Gerd Moellmann <gerd@gnu.org>
8636
8637 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8638 taller than the window.
8639
5dba1e29
KH
86402000-04-28 Kenichi Handa <handa@etl.go.jp>
8641
8642 * xfaces.c (realize_x_face): Fix the argument of the second
8643 xassert. BASE_FACE may not be a face for ASCII.
8644
353964e3
GM
86452000-04-27 Gerd Moellmann <gerd@gnu.org>
8646
c76e04a8
GM
8647 * print.c (print_object): Treat print-length < 0 as nil.
8648
8649 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8650
8651 * s/freebsd.h (TERMCAP_OBJ): Removed.
8652 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8653
8654 * lread.c (read1): Don't treat period followed by certain
8655 characters as symbol start.
8656
8657 * xfns.c (slurp_file): New function.
8658 (xbm_image_p): Handle case of in-memory XBM files.
8659 (xbm_scan): Rewritten to work on memory buffers instead of files.
8660 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8661 Work on memory buffers instead of files. If DATA is null test
8662 if buffer looks like an in-memory XBM file.
8663 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8664 memory buffers instead of files.
8665 (xbm_file_p): New function.
8666 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8667
353964e3
GM
8668 * lread.c (end_of_file_error): New function.
8669 (read1): Call it instead of signaling `end-of-file' directly.
8670
427ec082 8671 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8672 with Fprinc instead of Fprin1.
8673
24d744ac
KR
86742000-04-26 Ken Raeburn <raeburn@gnu.org>
8675
8676 * window.c (freeze_window_start): Check that minibuffer scroll
8677 window isn't nil before extracting the window structure pointer
8678 from it.
8679
8680 * undo.c (record_delete): If we hit the end of the undo list, stop
8681 picking elements apart.
8682
7464346d
GM
86832000-04-26 Gerd Moellmann <gerd@gnu.org>
8684
8685 * xdisp.c (display_line): If lines are continued, restore
8686 iterator's ascent/descent information to the values before the
8687 first glyph not fitting on the line.
8688
612839b6
GM
86892000-04-25 Gerd Moellmann <gerd@gnu.org>
8690
8691 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8692 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8693
8694 * dispnew.c (increment_matrix_positions): Renamed from
8695 increment_glyph_matrix_buffer_positions.
8696 (increment_row_positions): Renamed from
8697 increment_glyph_row_buffer_positions.
8698
8699 * dispextern.h: Change names of renamed functions from dispnew.c
8700 in prototypes.
8701
cc181e95
GM
87022000-04-24 Gerd Moellmann <gerd@gnu.org>
8703
abfcc168
GM
8704 * fileio.c (Fdo_auto_save): Create directories for auto-save
8705 list file if necessary.
8706
cc181e95
GM
8707 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8708 from buffer or frame.
8709 (automatic_hscrolling_p): New variable.
8710 (hscroll_windows): Scroll windows horizontally only if automatic
8711 hscrolling is allowed.
8712 (syms_of_xdisp): New variable `automatic-hscrolling'.
8713
8714 * frame.h (struct frame): Add member extra_line_spacing.
8715
8716 * xfns.c (x_set_line_spacing): New function.
8717 (Fx_create_frame): Set line spacing from resources.
8718 (Qline_spacing): New variable.
8719 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8720
cc181e95
GM
8721 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8722
8723 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8724 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8725 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8726 extra_line_spacing from default value.
8727 (init_buffer_once): Initialize default value of extra_line_spacing.
8728
8729 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8730 and extra3.
8731
8732 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8733 prompt_width. Add extra line spacing.
8734
8735 * term.c (produce_glyphs): Remove reference to struct it's
8736 prompt_width.
8737
8738 * dispextern.h (struct it): Remove member prompt_width, add
8739 extra_line_spacing.
8740
58827478
GM
87412000-04-22 Gerd Moellmann <gerd@gnu.org>
8742
8743 * dispnew.c (update_frame_line): When writing a whole line, make
8744 sure cursor is in the right row afterwards, otherwise a use of
8745 capability `ch' in cmgoto might leave the cursor in the row below.
8746
25a87f42
GM
87472000-04-21 Gerd Moellmann <gerd@gnu.org>
8748
8749 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8750
8751 * keyboard.c (timer_check): Fix typo in comment.
8752
54edf5c2
KH
87532000-04-21 Kenichi Handa <handa@etl.go.jp>
8754
8755 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8756 name change: ch -> character.
8757
3a64eef5
GM
87582000-04-20 Gerd Moellmann <gerd@gnu.org>
8759
8760 * keyboard.c (echo_message_buffer): New variable.
8761 (echo_now): Set echo_message_buffer to the echo area buffer used
8762 to display the echo.
8763 (cancel_echoing): Reset echo_message_buffer to nil.
8764 (read_char): Code rewritten that handles canceling an echo or
8765 echoing a dash, respectively.
8766
8767 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8768 directory doesn't exist.
8769
6142fdcb
DL
87702000-04-19 Dave Love <fx@gnu.org>
8771
8772 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8773 (concat): Don't allow numeric args.
8774 (Fconcat): Doc change.
6142fdcb 8775
ac6b5352
SM
87762000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8777
8778 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8779 instead define end_match(1|2) more carefully.
8780 Use GET_CHAR_BEFORE_2 for `begline'.
8781
cb9215e4
GM
87822000-04-19 Gerd Moellmann <gerd@gnu.org>
8783
5e3dac3f
GM
8784 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8785 on 64-bit systems where NULL is defined as `0'.
8786
8787 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8788 the `variable argument list' to make it work on Alpha.
8789
cb9215e4
GM
8790 * m/alpha.h (_LP64) [!_LP64]: Define.
8791 (ORDINARY_LINK): Define for NetBSD.
8792
8793 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8794
f532dca0
DL
87952000-04-19 Dave Love <fx@gnu.org>
8796
c750667e
DL
8797 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8798 change.
8799
8800 * Makefile.in (LIBS): Don't use.
8801 (GETLOADAVG_OBJ): Define again.
8802 (otherobj): Add GETLOADAVG_OBJ.
8803
f532dca0
DL
8804 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8805
1c7e22fd
GM
88062000-04-18 Gerd Moellmann <gerd@gnu.org>
8807
f6d3257b
GM
8808 * lread.c (read_filtered_event): Cancel and start busy cursor.
8809
427ec082 8810 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8811 that the per-character metrics may be null.
8812
e10f64e7
GM
88132000-04-17 Gerd Moellmann <gerd@gnu.org>
8814
0daee095
GM
8815 * buffer.c (clone_per_buffer_values): New function.
8816 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8817 clone_per_buffer_values if CLONE is not nil.
8818
e10f64e7
GM
8819 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8820
38687d43
DL
88212000-04-16 Dave Love <fx@gnu.org>
8822
8823 * Makefile.in: Remove obsolete localcpp stuff.
8824 (GETLOADAVG_OBJ): Don't define.
8825 (obj): Move LIBOBJS...
8826 (otherobj): ... to here.
8827 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8828 whitespace-only lines after the continuation (Irix).
8829
c21c7262
GM
88302000-04-14 Gerd Moellmann <gerd@gnu.org>
8831
8832 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8833
8834 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8835
314767c0
DL
88362000-04-14 Dave Love <fx@gnu.org>
8837
8838 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8839 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8840 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8841 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8842 NLIST_STRUCT.
8843
8844 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8845 autoconfiscated HAVE_GETLOADAVG.
8846
8847 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8848 BROKEN_MKTIME.
8849
a2522dca
GM
88502000-04-14 Gerd Moellmann <gerd@gnu.org>
8851
8852 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8853 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8854
33744b5d
DL
88552000-04-14 Dave Love <fx@gnu.org>
8856
c21c7262 8857 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8858 (INTERVAL_SRC): Convert to make variable.
8859 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8860 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8861 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8862 add LIBOBJS.
8863 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8864 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8865 (shortlisp): Add facemenu, float-sup, frame.
8866 (SOME_MACHINE_LISP): Remove them from here.
8867 (LIBES): Change unused LDLIBS to autoconf LIBS.
8868
8869 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8870
9d3d5916
KH
88712000-04-14 Kenichi Handa <handa@etl.go.jp>
8872
8873 * composite.c (update_compositions): If FROM and TO are not in a
8874 valid range, do nothing.
8875
198e3c7a
GM
88762000-04-13 Gerd Moellmann <gerd@gnu.org>
8877
52283633 8878 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8879
52283633 8880 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8881
8882 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8883 as TERMCAP_OBJ.
8884
055a28c9
EZ
88852000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8886
8887 * fileio.c (a_write): Remove redundant semi-colons.
8888 (e_write): Return -1 if failed to write all the data.
8889 This fixes the changes made at 1999-12-15.
8890
f5c75033
DL
88912000-04-12 Dave Love <fx@gnu.org>
8892
8893 * fns.c (mapcar1): Test for null vals to support mapc.
8894 (Fmapc): New function.
8895
0c3cfc51
EZ
88962000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8897
8898 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8899 (IT_frame_up_to_date): Support the buffer local value of
8900 cursor-type, if defined.
8901
33465a31
DL
89022000-04-10 Dave Love <fx@gnu.org>
8903
8904 * editfns.c (preceding-char, following-char): Doc fix.
8905
6ed56568
KR
89062000-04-10 Ken Raeburn <raeburn@gnu.org>
8907
8908 * Makefile.in (temacs): Revert 2000-03-12 change.
8909
7cf80d4e
JR
89102000-04-10 Jason Rumney <jasonr@gnu.org>
8911
8912 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8913
34f3f342
GM
89142000-04-10 Gerd Moellmann <gerd@gnu.org>
8915
1a1b1895
GM
8916 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8917 area buffer, if it's not set up yet.
8918
34f3f342
GM
8919 * indent.c (compute_motion): Set immediate_quit.
8920
be0dbdab
GM
89212000-04-09 Gerd Moellmann <gerd@gnu.org>
8922
52283633 8923 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8924 (realize_tty_face): Suppress boldness if colors are the inverse of
8925 the default colors, and tty_suppress_bold_inverse_default_colors_p
8926 is set.
8927 (Ftty_suppress_bold_inverse_default_colors): New function.
8928 (syms_of_xfaces): Defsubr it.
8929
be0dbdab
GM
8930 * buffer.c (Frestore_buffer_modified_p): New function.
8931 (syms_of_buffer): Defsubr it.
8932
e8413c3b
KR
89332000-04-08 Ken Raeburn <raeburn@gnu.org>
8934
87f67317
KR
8935 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8936 charset id (int) argument, not a charset (Lisp_Object).
8937
e8413c3b
KR
8938 * coding.h (code_convert_string): Declare.
8939 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8940 object, as the fourth argument to code_convert_string.
8941
52283633 8942 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8943 (Fset_fontset_font): Use EQ to compare lisp objects.
8944
7c752c80
KR
89452000-04-05 Ken Raeburn <raeburn@gnu.org>
8946
c0333abc
KR
8947 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8948 a pointer that looks like a lisp object.
8949 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8950 zero, instead see whether it's an integer object, since they can't
8951 have intervals.
8952 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8953
52283633
SM
8954 * dispnew.c (allocate_matrices_for_frame_redisplay)
8955 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
8956 to convert between (unsigned) int values and lisp integers.
8957 * keyboard.c (read_key_sequence): Likewise.
8958 * lread.c (substitute_object_recurse): Likewise.
8959 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
8960 * minibuf.c (do_completion, Fminibuffer_complete_word)
8961 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
8962 * term.c (produce_special_glyphs): Likewise.
8963
8964 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8965 * print.c (print_preprocess, print_object): Likewise.
8966
8967 * search.c (compile_pattern): Use NILP when checking for nil.
8968
74e49b38
KR
8969 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8970 __OPTIMIZE__]: Provide a GNU C macro version that handles
8971 lisp-object unions.
8972 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8973 field, to better cope with ENABLE_CHECKING and calls that modify a
8974 Lisp_Object using its old value.
8975
685e5ed2
GM
89762000-04-04 Gerd Moellmann <gerd@gnu.org>
8977
c407c570
GM
8978 * window.c (compare_window_configurations): Signal an error
8979 if parameters C1 or C2 aren't window configurations.
8980
685e5ed2
GM
8981 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8982 AFTER_POTENTIAL_GC calls around calls to functions that can
8983 signal an error and thus invoke the debugger.
8984
587a49ab
GM
89852000-04-03 Gerd Moellmann <gerd@gnu.org>
8986
62f20204
GM
8987 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8988 an error if decoding fails.
8989
587a49ab
GM
8990 * keyboard.c (lispy_mouse_names): Variable removed.
8991 (Vlispy_mouse_stem): New variable.
8992 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8993 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8994 for any mouse button number. Increase size of mouse_syms and
8995 button_down_location as needed. Call modify_event_symbol with
8996 different arguments.
8997 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8998 Call modify_event_symbol with different arguments.
8999 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9000 for any button number. Call modify_event_symbol with different
9001 arguments.
9002 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9003 Accept a string for NAME_ALIST_OR_STEM.
9004
9005 * lisp.h (larger_vector): Add prototype.
9006
9007 * fns.c (larger_vector): Make externally visible.
9008
9009 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9010
2d1675e4
SM
90112000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9012
9013 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9014 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9015 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9016 we are between str1 and str2.
9017 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9018 (PATFETCH): Use `TRANSLATE'.
9019 (PATFETCH_RAW): Fetch multibyte char if applicable.
9020 (PATUNFETCH): Remove.
9021 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9022 When writing a char, write it directly into the pattern buffer rather
9023 than going needlessly through a temp char-array.
9024 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9025 multibyte magic and remove the useless `#ifdef emacs'.
9026 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9027 buffer.
9028
9029 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9030 conditional on `emacs'.
9031
9032 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9033
cc2d8c6b
KR
90342000-04-01 Ken Raeburn <raeburn@gnu.org>
9035
9036 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9037 non-union-type versions of XMARK and friends here, because XMARK
9038 and friends won't work on an integer field if NO_UNION_TYPE is not
9039 defined.
52283633 9040 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9041
52283633 9042 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9043 (syms_of_composite): Delete local var NARGS, pass an int as first
9044 argument to Fmake_hash_table.
9045
2387b382
KR
9046 * editfns.c (text_property_stickiness): Use NILP to test
9047 Lisp_Object boolean value.
9048 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9049 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9050 problems reading from and changing the same lisp value in an
9051 XSETSTRING call.
9052
27660e89
GM
90532000-04-01 Gerd Moellmann <gerd@gnu.org>
9054
9055 * term.c (TN_no_color_video): New variable.
9056 (term_init): Intitialize TN_no_color_video.
9057 (enum no_color_bit): New enumeration.
9058 (MAY_USE_WITH_COLORS_P): New macro.
9059 (turn_on_face): Use it to determine if attributes may be used
9060 combined with colors.
9061
3578db3c
KR
90622000-04-01 Ken Raeburn <raeburn@gnu.org>
9063
9064 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9065 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9066 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9067 proper accessor macros.
9068 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9069 (grow_mini_window): Fix typo getting int value of root->height.
9070
6fc556fd
KR
9071 * xdisp.c (compute_string_pos): Fix order of arguments to
9072 string_pos_nchars_ahead.
9073 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9074 count arg to variable-arg routines like Frun_hook_with_args and
9075 Fformat.
587a49ab
GM
9076 (back_to_previous_visible_line_start)
9077 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9078 fixed-arg routines like Fget_char_property and Fmake_string.
9079 (reconsider_clip_changes): Use XINT when comparing integer lisp
9080 objects, or passing them as int arguments.
587a49ab
GM
9081 (mark_window_display_accurate, insert_left_trunc_glyphs)
9082 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9083 storing or passing integer values as lisp objects.
9084 (set_cursor_from_row, highlight_trailing_whitespace): Use
9085 INTEGERP, not implicit test against zero, for glyph object.
9086 (try_window_id): Don't use make_number when we want an int value.
9087
9088 * xfaces.c (xlfd_symbolic_value): Make last argument a
9089 Lisp_Object, to be consistent with callers.
9090 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9091 (lface_hash): Apply XFASTINT to lisp values before folding in.
9092
9093 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9094 fill in window width and height. Pass an int, not a lisp object,
9095 as first arg to Finsert.
9096
6e7b2457
GM
90972000-04-01 Gerd Moellmann <gerd@gnu.org>
9098
610d841e
GM
9099 * xfaces.c (realize_basic_faces): Block input while realizing
9100 the faces.
9101
6e7b2457
GM
9102 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9103
9104 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9105
aa110c0c
GM
91062000-03-31 Gerd Moellmann <gerd@gnu.org>
9107
9108 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9109 or ASCII, handle case that per-char metric is null.
aa110c0c 9110
8801a864
KR
91112000-03-30 Ken Raeburn <raeburn@gnu.org>
9112
c6129d7e
KR
9113 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9114
52283633
SM
9115 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9116 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9117 pointer, using eassert.
9118 * frame.h (XFRAME): Likewise.
9119
52283633
SM
9120 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9121 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9122 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9123 * data.c (set_internal): Likewise.
52283633
SM
9124 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9125 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9126 * fileio.c (auto_save_1): Likewise.
9127 * insdel.c (check_markers): Likewise.
9128 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9129 * undo.c (record_insert): Likewise.
9130 * vmsproc.c (child_sig): Likewise.
9131 * window.c (unshow_buffer, window_loop): Likewise.
9132 * xterm.c (x_erase_phys_cursor): Likewise.
9133
8e7af858
GM
91342000-03-30 Gerd Moellmann <gerd@gnu.org>
9135
9136 * xfns.c (free_image_cache): Free the cache structure itself
9137 last, after all its members have been freed.
9138
9139 * lisp.h (xstrdup): Add prototype.
9140
9141 * alloc.c (xstrdup): Moved here from xfaces.c.
9142 (allocating_for_lisp): Variable removed.
52283633 9143 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9144
9145 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9146 of Fsymbol_value.
9147 (xstrdup): Moved to alloc.c.
9148
e0b8c689
KR
91492000-03-29 Ken Raeburn <raeburn@gnu.org>
9150
b96f9fb7
KR
9151 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9152
9153 * emacs.c (main): Fix sense of no-loadup test.
9154
e0b8c689
KR
9155 * config.in (ENABLE_CHECKING): Undef.
9156
9157 * lisp.h (struct interval): Replace "parent" field with a union of
9158 interval pointer and Lisp_Object; add new bitfield to use as
9159 discriminant. Change other flag fields to bitfields.
9160 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9161 is defined and the supplied test fails, print a message and abort.
9162 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9163
9164 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9165 pointers; abort if the value looks like a lisp object.
52283633
SM
9166 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9167 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9168 Modify for new interval parent definition.
9169
52283633
SM
9170 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9171 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9172 addressable lisp object in the interval structure.
9173 (die): New function.
9174 (suppress_checking): New variable.
9175
9176 * intervals.c (interval_start_pos): Just return 0 if there's no
9177 parent object.
9178
f83c5440
GM
91792000-03-29 Gerd Moellmann <gerd@gnu.org>
9180
9181 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9182 and earlier Emacs versions.
9183
9184 * keyboard.c (Ftop_level): Cancel busy-cursor.
9185
9186 * eval.c (call_debugger): Cancel busy-cursor.
9187
fdce64ff
KH
91882000-03-29 Kenichi Handa <handa@etl.go.jp>
9189
9190 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9191 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9192
f6a3f532
SM
91932000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9194
9195 * regex.c (analyse_first): New function obtained by ripping out most
9196 of re_compile_fastmap and generalizing it a little bit so that it
9197 can also just return whether a given (sub)pattern can match the empty
9198 string or not.
9199 (regex_compile): Use `analyse_first' to decide whether the loop-check
9200 needs to be done or not for *, +, *? and +? (the loop check is costly
9201 for non-greedy repetition).
9202 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9203
e9b309ac
DL
92042000-03-28 Dave Love <fx@gnu.org>
9205
52283633 9206 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9207
e9b309ac
DL
9208 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9209
ed0767d8
SM
92102000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9211
9212 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9213 an expression.
9214 (enum re_opcode_t): Update description of succeed_n.
9215 (PATFETCH): Always define.
9216 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9217 operators, char classes, shy-groups and intervals).
9218 Optimize special cases of intervals so as to only use succeed_n and
9219 jump_n when really needed.
9220 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9221 that we don't have to handle the special cases any more.
9222 Simplify on_failure_jump handling as well.
9223
e11e7e46
JR
92242000-03-28 Jason Rumney <jasonr@gnu.org>
9225
9226 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9227
88faab89
GM
92282000-03-27 Gerd Moellmann <gerd@gnu.org>
9229
182ff242
GM
9230 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9231
9232 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9233
182ff242
GM
9234 * alloc.c (mark_maybe_object): New function.
9235 (mark_memory): Use it.
9236 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9237 (setjmp_tested_p, longjmp_done): New variables.
9238 (test_setjmp): New function.
9239 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9240 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9241
c1005d06
GM
9242 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9243 to DEC_TEXT_POS and INC_TEXT_POS.
9244
9245 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9246 with parameter MULTIBYTE_P.
9247
52283633 9248 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9249
7439e5b9 9250 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9251 buffers because it looks for multibyte character byte sequences
9252 which don't exist in unibyte text.
7439e5b9 9253
d9c545da
GM
9254 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9255
11fd416e 9256 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9257 [DEBUG_X_COLORS]: New functions.
9258 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9259
9260 * xfns.c (x_set_cursor_color): Get color reference counts right.
9261
9262 * xterm.c (x_copy_color): New function.
9263 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9264
9265 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9266 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9267 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9268 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9269 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9270 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9271 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9272 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9273 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9274 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9275
11fd416e
GM
9276 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9277 names for handling per-buffer variables.
d9c545da
GM
9278
9279 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9280 instead of MAX_BUFFER_LOCAL_VARS.
9281 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9282
9283 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9284
88faab89
GM
9285 * xfns.c (x_specified_cursor_type): New function.
9286 (x_set_cursor_type): Use it.
9287
9288 * buffer.h (struct buffer): Add cursor_type.
9289
d80f42b7
SM
92902000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9291
9292 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9293 (print_partial_compiled_pattern, re_compile_fastmap):
9294 Handle new opcode.
d80f42b7
SM
9295 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9296 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9297 executing it as well as when popping it off the stack to find infinite
9298 loops in non-greedy repetition operators.
9299
89e80928
GM
93002000-03-26 Gerd Moellmann <gerd@gnu.org>
9301
3d4ff2dd
GM
9302 * doc.c (Qfunction_documentation): New variable.
9303 (syms_of_doc): Initialize Qfunction_documentation.
9304 (Fdocumentation): If FUNCTION is a symbol with non-nil
9305 `function-documentation' property, return a documentation derived
9306 from that.
9307
bd96bd79
GM
9308 * buffer.c (syms_of_buffer): Add default-cursor-type.
9309 (init_buffer_once): Don't let cursor_type have a local value
9310 in every buffer.
9311
19d1bc27
GM
9312 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9313 on buffer-local value of cursor_type.
9314 (x_draw_bar_cursor): Add parameter WIDTH.
9315
9316 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9317 (init_buffer_once): Set default cursor_type value to t.
9318 Mark cursor_type as local everywhere.
9319 (syms_of_buffer): New per-buffer variable cursor-type.
9320
89e80928
GM
9321 * buffer.h (struct buffer): Remove member local_var_flags,
9322 add local_flags.
9323 (MAX_BUFFER_LOCAL_VARS): New macro.
9324 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9325 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9326 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9327 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9328
52283633 9329 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9330
9331 * category.c (Fset_category_table): Use new macros for per-buffer
9332 variables.
9333
9334 * buffer.c (buffer_permanent_local_flags): Make a char array.
9335 (max_buffer_local_idx): New variable.
9336 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9337 for new handling of per-buffer variables.
9338 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9339 (init_buffer_once): Initialize per-buffer vars differently.
9340 Set max_buffer_local_idx.
9341
9342 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9343 variables.
9344
52283633 9345 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9346
9347 * data.c (do_symval_forwarding, store_symval_forwarding)
9348 (find_symbol_value, set_internal, default_value, Fset_default)
9349 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9350 per-buffer variables.
9351
9352 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9353
9a0dd3dc
GM
93542000-03-24 Gerd Moellmann <gerd@gnu.org>
9355
b68c375f
GM
9356 * xterm.c (x_term_init): Unblock input around call1 of
9357 Qvendor_specific_keysyms.
9358
9a0dd3dc
GM
9359 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9360 (find_defun_start): Consider an open parenthesis in column 0
9361 a defun start only if open_paren_in_column_0_is_defun_start is set.
9362 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9363
7973e637
SM
93642000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9365
9366 * eval.c (Fautoload): Add entry in load-history (if after dump).
9367 * lread.c (load-history): Update docstring.
9368
39210e90
GM
93692000-03-24 Gerd Moellmann <gerd@gnu.org>
9370
9371 * indent.c (Fvertical_motion): Always use the current buffer.
9372 Temporarily change the window's buffer, if necessary.
9373
72db3ab5
GM
93742000-03-23 Gerd Moellmann <gerd@gnu.org>
9375
9376 * xterm.c (fast_find_position): Make sure not to consider rows
9377 not visible in the window.
9378
990b2375
SM
93792000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9380
9381 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9382 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9383
ff4df011
JR
93842000-03-22 Jason Rumney <jasonr@gnu.org>
9385
9386 * w32menu.c (single_submenu): Set help string to NULL if none.
9387 (w32_menu_show): Set help string correctly.
9388 (add-menu-item): Set help string in MIIM_DATA for menu item.
9389 Load SetMenuItemInfoA explicitly.
9390 (w32_menu_display_help): New function.
427ec082 9391
ff4df011
JR
9392 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9393 (QCdata): Moved to xdisp.c.
9394
9395 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9396 (Vw32_charset_to_codepage_alist): Removed.
9397 (Vw32_charset_info_alist): New variable.
52283633
SM
9398 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9399 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9400 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9401 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9402 with TODO comment.
9403 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9404 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9405 Define Vw32_charset_info_alist and w32_charset symbols.
9406
94072000-03-22 Jason Rumney <jasonr@gnu.org>
9408
9409 * makefile.nt (w32bdf.obj): Update dependencies.
9410
9411 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9412
9413 * w32fns.c: Include fontset.h after dispextern.h.
9414 (Fx_create_frame): Do not create fontset.
9415 (w32_load_system_font): Doc fix.
9416 (Fx_close_connection): Free full_name if it is not shared.
9417
9418 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9419 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9420 Callers updated.
ff4df011
JR
9421 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9422 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9423 (w32_font_is_double_byte): New function, needs body.
9424 (x_append_glyph): Set glyph->glyph_not_available_p.
9425 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9426 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9427 character, convert it to a unibyte character.
9428 (struct glyph_string): Delete member `charset'.
9429 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9430 calculating it is found.
9431 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9432 the case that per char metric is not available correctly.
9433 (x_fill_glyph_string): Handle the case that the specific glyph is
9434 not available correctly.
9435 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9436 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9437 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9438 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9439 fontset. Don't call FS_LOAD_FONT.
9440
439d5cb4
KR
94412000-03-22 Ken Raeburn <raeburn@gnu.org>
9442
9443 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9444 (INT_LISPLIKE): New macro.
9445 (NULL_INTERVAL_P): Use it.
52283633
SM
9446 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9447 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9448 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9449
9450 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9451 explicit references to "parent" field of struct interval and
9452 associated unclean type conversions.
52283633
SM
9453 * intervals.c (create_root_interval, root_interval, rotate_right)
9454 (rotate_left, balance_possible_root_interval, split_interval_right)
9455 (split_interval_left, interval_start_pos, find_interval)
9456 (next_interval, previous_interval, update_interval)
9457 (adjust_intervals_for_insertion, delete_node, delete_interval)
9458 (adjust_intervals_for_deletion, merge_interval_right)
9459 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9460 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9461 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9462 Likewise.
9463 * syntax.c (update_syntax_table): Likewise.
9464
9465 * intervals.c (reproduce_tree_obj): New function, like
9466 reproduce_tree but takes a Lisp_Object for the parent. Declare
9467 with prototype.
9468 (graft_intervals_into_buffer): Use it when appropriate.
9469 (reproduce_tree): Declare with prototype.
9470 (balance_possible_root_interval): Check that the parent is a lisp
9471 object before trying to examine its type.
9472
ee1c5b21
GM
94732000-03-22 Gerd Moellmann <gerd@gnu.org>
9474
9475 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9476 as strings only if both are known to be strings.
9477
9478 * s/openbsd.h (LIBS_TERMCAP): Undef.
9479
1fb352e0
SM
94802000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9481
9482 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9483 definitions for non-Emacs compilation.
9484 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9485 outside of `#ifdef emacs'.
9486 (print_partial_compiled_pattern): Update.
9487 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9488 (re_compile_fastmap): Merge handling of charset and charset_not (for
9489 emacs and non-emacs compilation as well).
9490 Similarly for (not)categoryspec and (not)syntaxspec.
9491 Don't use the fastmap when reaching `anychar' since the added
9492 complexity is not justified.
9493 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9494 and (not)syntaxspec. Merge (not)categoryspec.
9495
fdaa1f77
KH
94962000-03-22 Kenichi Handa <handa@etl.go.jp>
9497
52283633
SM
9498 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9499 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9500 --without-x.
fdaa1f77 9501
d152fb46
DL
95022000-03-21 Dave Love <fx@gnu.org>
9503
9504 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9505 doc string.
9506
d2cafc8c
GM
95072000-03-21 Gerd Moellmann <gerd@gnu.org>
9508
9509 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9510 (lface_fully_specified_p): Don't check contents of
9511 LFACE_FONT_INDEX because that attribute is optional.
9512 (realize_x_face): Remove now unwarranted xassert.
9513
9111d4b5
KH
95142000-03-21 Kenichi HANDA <handa@etl.go.jp>
9515
9516 The following changes are to make font selection based on
9517 characters, not charset. In addition, they recover fontset
9518 facilities while utilizing the new font selection mechanism.
9519
6c4bfdc0
KH
9520 * Makefile.in (fontset.o): Depend on dispextern.h.
9521
9522 * alloc.c (mark_face_cache): Don't mark face->registry.
9523
9111d4b5
KH
9524 * dispextern.h (struct glyph): New member glyph_not_available_p.
9525 Use 22 bits for face_id.
9526 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9527 (struct face): Delete member registry, new member ascii_face.
9528 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9529 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9530 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9531 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9532
9533 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9534 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9535 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9536 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9537 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9538 (fs_free_face_fontset, fontset_font_pattern)
9539 (face_suitable_for_char_p, face_for_char)
9540 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9541 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9542 (FS_LOAD_FACE_FONT): New macro.
9543
9544 * fontset.c: All codes rewritten or adjusted for the change of
9545 fontset implementation. Now fontset is represented by char table.
52283633
SM
9546 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9547 Variables removed.
9111d4b5 9548 (my_strcasecmp): Function removed.
52283633 9549 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9550 (AREF, ASIZE): New macros.
52283633
SM
9551 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9552 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9553 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9554 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9555 (fontset_id_valid_p, font_family_registry, fontset_name)
9556 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9557 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9558 New functions.
9559 (fs_load_font): New arg FACE. Caller changed.
9560 (fs_query_fontset): Argument changed. Caller changed.
9561 (Fquery_fontset): call fs_query_fontset.
9562 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9563 Functions removed.
52283633
SM
9564 (clear_fontset_elements, check_registry_encoding)
9565 (check_fontset_name): New functions.
9111d4b5
KH
9566 (syms_of_fontset): Set char-table-extra-slots property of fontset
9567 to 3. Staticpro and initialize Vfontset_table and
9568 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9569
9570 * frame.h (struct frame): Member `fontset_data' removed.
9571 (FRAME_FONTSET_DATA): Macro removed.
9572
9573 * frame.c (make_frame): Don't allocate f->fontset_data.
9574 (Fdelete_frame): Don't free f->fontset_data.
9575
6c4bfdc0
KH
9576 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9577
9111d4b5
KH
9578 * xdisp.c (charset_at_position): Function removed.
9579 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9580 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9581 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9582 Likewise.
9583 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9584 FACE_FOR_CHARSET.
52283633
SM
9585 (get_next_display_element, append_space)
9586 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9587
9588 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9589 Variables removed.
9590 (clear_font_table, frame_update_line_height, load_face_font):
9591 Adjusted for the change of fontset implementation.
9592 (load_face_fontset_font): Function removed.
9593 (pixel_point_size): New function.
9594 (font_list): Argument type changed. Caller changed.
9595 (LFACE_FONT): New macro.
9596 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9597 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9598 Lisp_Object. Determine the font name by actually loading a font
9599 by the specified pattern. Set LFACE_FONT (lface) to the specified
9600 pattern. Even if a font is not found, don't try alternatives.
9601 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9602 (set_font_frame_param): If `font' is specified in lface, use it.
9603 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9604 (lface_same_font_attributes_p): Likewise.
9605 (make_realized_face): Arguent changed. Caller changed. Set
9606 face->ascii_face to face itself.
9607 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9608 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9609 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9610 (free_realized_multibyte_face): New function.
9611 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9612 changed. Caller changed.
9613 (try_font_list): Argument type changed.
9614 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9615 (choose_face_font): Argument changed. Handle fontset properly.
9616 (choose_face_fontset_font): Function removed.
9617 (realize_default_face, realize_named_face): Don't remove the
9618 former face here.
9619 (realize_face): Argument changed. Caller changed. Remove face
52283633 9620 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9621 (realize_x_face): Argument changed. Caller changed. For a
9622 multibyte character, share fontset with base_face. For a single
52283633 9623 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9624 (realize_tty_face): Argument changed. Caller changed.
9625 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9626 (face_at_buffer_position): Don't check multibyte_p for returning
9627 DEFAULT_FACE_ID.
9628 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9629 FACE_SUITABLE_FOR_CHARSET_P.
9630 (syms_of_xfaces): Remove code for Qx_charset_registry and
9631 Vface_default_registry.
9632
6c4bfdc0
KH
9633 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9634 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9635 (x_per_char_metric): Don't try FONT->default_char. Even if
9636 pcm->width is zero, glyph bits may exist.
9637 (x_encode_char): Always initialize char2b->byte1.
9638 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9639 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9640 (x_append_glyph): Set glyph->glyph_not_available_p.
9641 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9642 it->charset. Handle the case that per char metric is not
9643 available. If it->multibyte_p is zero and it->c is a multibyte
9644 character, convert it to a unibyte character.
9645 (struct glyph_string): Delete member `charset'.
9646 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9647 the case that per char metric is not available correctly.
9648 (x_fill_glyph_string): Handle the case that the specific glyph is
9649 not available correctly.
9650 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9651 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9652 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9653 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9654 fontset. Don't call FS_LOAD_FONT.
9655
9656 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9657 (x_create_tip_frame): Likewise.
9658 (Fx_close_connection): Free full_name of font_info.
9659
9660 * fns.c (optimize_sub_char_table): New function.
9661 (Foptimize_char_table): New function.
9662 (syms_of_fns): Defsubr Soptimize_char_table.
9663
b33dd3b0
GM
96642000-03-20 Gerd Moellmann <gerd@gnu.org>
9665
9666 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9667 only if buffer is displayed in some window.
9668
9669 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9670 (try_window_reusing_current_matrix): Don't call scroll run
9671 function if run's current and desired position are the same;
9672 this prevents cursor flickering.
9673
4e8a9132
SM
96742000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9675
9676 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9677
9678 * regex.c (RE_STRING_CHAR): New macro.
9679 (GET_CHAR_AFER_2): Remove.
9680 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9681 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9682 (print_partial_compiled_pattern, re_compile_fastmap)
9683 (re_match_2_internal): Remove on_failure_jump_exclusive.
9684 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9685 optimization only need to work for * (ie. can use of_keep_string_jump).
9686 Remove the special case for .*\n since it is now covered by the general
9687 optimization.
9688 (re_search_2): Don't bother with `room'.
9689 (skip_one_char): New function.
9690 (skip_noops): Simplify since `memory' is not needed any more.
9691 (mutually_exclusive_p): Restructure slightly to use `switch' and
9692 add handling for "all" remaining cases.
9693 (re_match_2_internal): Change on_failure_jump_smart to use
9694 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9695 rather than on_failure_jump_exclusive.
9696
2136fdd4
GM
96972000-03-19 Gerd Moellmann <gerd@gnu.org>
9698
9699 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9700 number of bits per RGB because it's everywhere used as the depth
9701 of the visual.
9702
9703 * term.c (calculate_costs): Remove code dealing with X frames.
9704
18e21ce8 97052000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9706
9707 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9708
d7b511c4
GM
97092000-03-18 Gerd Moellmann <gerd@gnu.org>
9710
9711 * lread.c (read_integer): Unread the last char not consumed.
9712
16b5d424
GM
97132000-03-17 Gerd Moellmann <gerd@gnu.org>
9714
9715 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9716 which are in the process of being deleted.
16b5d424 9717
1fa28578
GM
97182000-03-16 Gerd Moellmann <gerd@gnu.org>
9719
83488cce
GM
9720 * Makefile.in (mostlyclean): Add `*.core'.
9721 (clean): Add `bootstrap-emacs'.
9722
1fa28578
GM
9723 * lread.c (read_integer): New function.
9724 (read1): Support read syntax #o, #x, #b, #r.
9725
99633e97
SM
97262000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9727
1fa28578
GM
9728 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9729 make sure POINTER_TO_OFFSET gives the same value before and after
9730 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9731 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9732 (debug): Now only active if > 0 rather than if != 0.
9733 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9734 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9735 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9736 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9737 (store_op1, store_op2, insert_op1, insert_op2)
9738 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9739 (group_in_compile_stack): Move to after its arg's types are
9740 declared and add a prototype.
99633e97 9741 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9742 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9743 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9744 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9745 indentation of the greedy-op and shy-group code.
99633e97
SM
9746 (at_(beg|end)line_loc_p): Fix argument's types.
9747 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9748 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9749 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9750 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9751 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9752 QUIT unconditionally.
99633e97 9753
699238d9
GM
97542000-03-15 Gerd Moellmann <gerd@gnu.org>
9755
9756 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9757 a sole completion.
9758
9759 * process.c (send_process): Add a hint that the function
9760 can call Lisp code to its comment.
9761
9762 * lread.c (load_dangerous_libraries): New variable.
9763 (Vbytecomp_version_regexp): New variable.
9764 (safe_to_load_p): New function.
9765 (Fload): Handle files not compiled with Emacs specially.
9766 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9767
34e23e5a
GM
97682000-03-14 Gerd Moellmann <gerd@gnu.org>
9769
9c763cca
GM
9770 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9771
9772 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9773 support functions only if HAVE_X11R6_XIM is defined.
9774 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9775
9776 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9777
9778 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9779 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9780 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9781
9782 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9783 (HAVE_X11R6_XIM): Define.
9784
9785 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9786
34e23e5a
GM
9787 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9788 If set, call XSynchronize.
9789
66f0296e
SM
97902000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9791
34e23e5a
GM
9792 * regex.c: Declare a new type `re_char' used throughout the code
9793 for the string char type. It's `const unsigned char' to match the
9794 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9795 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9796 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9797 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9798 code duplication.
66f0296e
SM
9799
9800 * charset.h (GET_CHAR_AFTER_2): Remove.
9801 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9802
854a025c
KR
98032000-03-12 Ken Raeburn <raeburn@gnu.org>
9804
9805 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9806 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9807 of them try to use backquotes.
9808
b9d2c7e2
DL
98092000-03-12 Dave Love <fx@gnu.org>
9810
9811 * unexelf.c: Restore changes of 1999-10-19.
9812 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9813 fix its type and alignment; copy it from current process.
9814
5e5dff44
GM
98152000-03-12 Gerd Moellmann <gerd@gnu.org>
9816
9b2f3c38
GM
9817 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9818 has been found. Fix bug not computing timer's predecessor.
9819
427ec082 9820 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9821 file name.
9822
e1cff360
GM
9823 * window.c (Fsave_window_excursion): Doc fix.
9824
52283633 9825 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9826
e411ce4b
EZ
98272000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9828
9829 * msdos.c (vga_installed): New function, code moved from
9830 dos_set_window_size.
9831 (Qbar, Qcursor_type, outside_cursor): New variables.
9832 (syms_of_msdos): Intern and staticpro them.
9833 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9834 shape used outside Emacs when called for the first time.
9835 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9836 cursor shape used outside Emacs.
9837 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9838 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9839 type has changed.
9840 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9841 parameters specify the cursor. Make qreverse a global
9842 variable (renamed to Qreverse).
9843
80460654
GM
98442000-03-09 Gerd Moellmann <gerd@gnu.org>
9845
9846 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9847
95cd4c40
SM
98482000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9849
9850 This is a big redesign of failure-stack and register handling, prompted
9851 by bugs revealed when trying to add shy-groups. Overall, what happened
9852 is that loops are now structured a little differently, groups can be
9853 shy and the code is a little simpler.
9854
9855 * regex.h: Update the copyright.
9856 (RE_SHY_GROUPS): New value.
9857 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9858 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9859
80460654
GM
9860 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9861 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9862 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9863 for (start|stop)_memory since they now only take one argument (the
9864 second has becomes unnecessary).
52283633 9865 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9866 (print_compiled_pattern): Use %ld to printf long ints and flush to
9867 make debugging a little easier.
95cd4c40
SM
9868 (union fail_stack_elt): Make the integer unsigned.
9869 (struct fail_stack_type): Add a `frame' element.
9870 (INIT_FAIL_STACK): Init `frame' as well.
9871 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9872 (DEBUG_PUSH, DEBUG_POP): Remove.
9873 (NUM_REG_ITEMS): Remove.
9874 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9875 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9876 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9877 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9878 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9879 New macros.
80460654
GM
9880 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9881 address pushed is not the destination of the jump but the source
9882 of it instead.
95cd4c40
SM
9883 (NUM_FAILURE_ITEMS): Remove.
9884 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9885 registers before the actual failure point). Don't hardcode any
9886 meaning for str==NULL anymore.
95cd4c40 9887 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9888 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9889 Remove.
95cd4c40
SM
9890 (REG_UNSET_VALUE): Use NULL (why not?).
9891 (compile_range): Remove declaration since it doesn't exist.
9892 (struct compile_stack_elt_t): Remove inner_group_offset.
9893 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9894 (regex_grow_registers): Remove dead code.
9895 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9896 (regex_compile): Add shy-groups Change loops to use
9897 on_failure_jump_smart&jump instead of
9898 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9899 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9900 variable to me). Use `jump' instead of `jump_past_alt' and don't
9901 bother with push_dummy_failure in alternatives since it is now
9902 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9903 emacs' for (re)allocating the stack.
9904 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9905 from loop when bufp->can_be_null rather than jumping to `done'.
9906 Avoid jumping backwards so as to ensure termination. Use
9907 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9908 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9909 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9910 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9911 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9912 (lowest_active_reg, highest_active_reg)
9913 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9914 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9915 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9916 variables. Push register (in `start_memory') on the stack rather
9917 than storing it in old_reg(start|end). Remove the cycle detection
9918 from `stop_memory', replaced by the use of on_failure_jump_loop
9919 for greedy loops. Add code for the new on_failure_jump_<foo>.
9920 Remove ad-hoc code in `on_failure_jump' to push more registers in
9921 the case of a loop. Take out code from `maybe_pop_jump' into
9922 separate functions and adapt it to the semantics of
9923 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9924 and push_dummy_failure. Remove dummy_failure handling and
9925 handling of `failures to jump to on_failure_jump' (this last one
9926 was already dead code, it seems).
9927 (group_match_null_string_p, alt_match_null_string_p)
9928 (common_op_match_null_string_p): Remove.
95cd4c40 9929
7397acc4
DL
99302000-03-08 Dave Love <fx@gnu.org>
9931
9932 * config.in: Don't depend on __STDC__ for volatile.
9933 Add POINTER_TYPE, PTR, PROTOTYPES.
9934
9935 * hftctl.c, strftime.c: Use PROTOTYPES.
9936 * eval.c (find_handler_clause): Likewise.
9937
9938 * mem-limits.h: Use POINTER_TYPE.
9939
9940 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9941 (memory_warnings): Declare using POINTER_TYPE.
9942
5e91ff9e
GM
99432000-03-08 Gerd Moellmann <gerd@gnu.org>
9944
feab4fba
GM
9945 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9946
52283633 9947 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9948
5e91ff9e
GM
9949 * xfns.c: Remove obsolete code in #if 0.
9950 (Fx_focus_frame): New function.
9951
a735b7e1
KH
99522000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9953
9954 * coding.c (coding_category_name): Add coding-category-utf-8,
9955 coding-category-utf-16-be, coding-category-utf-16-le.
9956 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9957 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9958 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9959 (detect_coding_utf_8): New function.
9960 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9961 UTF_16_LOW_SURROGATE_P): New macros.
9962 (detect_coding_utf_16): New function
9963 (detect_coding_mask): When priorities are specified, skip any
9964 categories that have `nil' coding-system. Fix bug of returning
9965 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9966 returns a mask not set in PRIORITIES.
9967 (detect_eol_type_in_2_octet_form): New function.
9968 (detect_eol): selects detect_eol_type_XXX to call according to
9969 cooding->category_idx.
9970 (detect_coding_system): Remove `nil' coding-system in the result.
9971 (Fupdate_coding_systems_internal): Update all coding-categories.
9972
52283633
SM
9973 * coding.h (CODING_CATEGORY_IDX_UTF_8)
9974 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
9975 New macros.
9976 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
9977 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9978 (CODING_CATEGORY_IDX_UTF_16_LE)
9979 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
9980 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
9981 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9982 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9983
9994cc69
GM
99842000-03-07 Gerd Moellmann <gerd@gnu.org>
9985
e9b4e5ff
GM
9986 * doc.c (Fdocumentation_property): If value is not a string,
9987 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9988
f7daf1e1
GM
9989 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9990 close the display with XtCloseDisplay. This caused a bus error
9991 on OpenWindows.
9992
9994cc69
GM
9993 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9994 complete but not unique.
9995
4336c705
GM
99962000-03-06 Gerd Moellmann <gerd@gnu.org>
9997
18bb0684
GM
9998 * process.c (send_process): Remove local variable `procname' that
9999 might become invalid when a GC happens. Instead, access the
10000 process name slot directly.
10001
4336c705
GM
10002 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10003 orig_height if set.
10004
10005 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10006 orig_height if set.
10007
515d0d0e
EZ
100082000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10009
10010 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10011 glyph matrices have been freed.
10012
100b3cbb
GM
100132000-03-05 Gerd Moellmann <gerd@gnu.org>
10014
50df5e5a 10015 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10016 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10017
10018 * xfns.c (QCdata): Moved to xdisp.c.
10019
10020 * xdisp.c (QCdata): Moved here from xfns.c.
10021 (syms_of_xdisp): Initialize QCdata.
10022
10023 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10024
10025 * window.c (coordinates_in_window): Use
10026 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10027 FRAME_INTERNAL_BORDER_WIDTH.
10028
100b3cbb 10029 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10030 it is obviously invalid.
100b3cbb
GM
10031
10032 * xterm.c (x_term_init): Create a colormap if not using the
10033 default visual.
10034
10035 * xterm.h (select_visual): Change prototype.
10036
10037 * xfns.c (select_visual): Rewritten. Recognize user-specified
10038 visual classes.
10039 (visual_classes): New variable.
10040
64d739c4
GM
100412000-03-04 Gerd Moellmann <gerd@gnu.org>
10042
10043 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10044 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10045 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10046 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10047 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10048 XtNcolormap resources.
10049 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10050 (Fx_create_frame): Initialize color members of x_output structure.
10051 (xpm_load): Pass colormap to XPM lib.
10052
10053 * xfaces.c (x_free_colors): Access colormap of frame using
10054 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10055 when default colormap is used.
10056
10057 * xterm.c (x_term_init): Set Colormap member of x_display_info
10058 structure. Copy colormap if resource `privateColormap' is
10059 specified (PseudoColor only).
10060 (x_setup_relief_color): Access colormap of frame using
10061 FRAME_X_COLORMAP.
10062
10063 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10064 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10065
c3cee013
JR
100662000-03-04 Jason Rumney <jasonr@gnu.org>
10067
10068 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10069 other non-platform-specific equivalents.
64d739c4 10070 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10071 specific functions and macros as their w32 equivalents where
10072 non-platform-specifics are not available.
10073 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10074 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10075 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10076 (frame_update_line_height): Use macros to access f->output_data.
10077 (defined_color): Remove FIXME comments; fixed.
10078 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10079 into #ifdef blocks. Add WINDOWSNT blocks.
10080 (Fx_list_fonts): Use macros for accessing font data.
10081 (set_lface_from_font_name): Different default fonts for X and
10082 WINDOWSNT.
10083 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10084 scalable for backward compatibility.
64d739c4 10085 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10086 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10087
64d739c4 10088 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10089 syms_of_w32faces.
10090
10091 * makefile.nt (w32faces.obj): Remove.
10092 (xfaces.obj): Add.
10093
807cc41c
JR
100942000-03-03 Jason Rumney <jasonr@gnu.org>
10095
10096 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10097 correct parameters.
10098
0007072a
KR
100992000-03-03 Ken Raeburn <raeburn@gnu.org>
10100
10101 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10102 standard ELF definitions here if the system header does not.
10103
71a6ba55
GM
101042000-03-03 Gerd Moellmann <gerd@gnu.org>
10105
10106 * xterm.c (PER_CHAR_METRIC): Removed.
10107 (x_per_char_metric_1, x_default_char): New functions.
10108 (x_per_char_metric): If font's default char is invalid, return
10109 metrics of a suitably chosen usable default char.
10110 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10111 char, replace occurrences of unprintable chars with a suitably
10112 chosen usable default char.
71a6ba55 10113
900fa1f1
GM
101142000-03-02 Gerd Moellmann <gerd@gnu.org>
10115
42f55fe0
GM
10116 * xterm.c (note_mouse_highlight): Return quickly if frame's
10117 glyph matrices have been freed.
10118
10119 * dispnew.c (free_glyphs): Block input while freeing matrices.
10120
900fa1f1
GM
10121 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10122
52283633
SM
10123 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10124 Use x_free_colors.
900fa1f1
GM
10125
10126 * dispextern.h (x_free_colors): Add prototype.
10127
10128 * xfaces.c (x_free_colors): New function.
10129 (unload_color, free_face_colors): Use it.
10130
2f950292
EZ
101312000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10132
10133 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10134
10135 * window.c [MSDOS]: Include msdos.h.
10136
54d04320
DL
101372000-03-02 Dave Love <fx@gnu.org>
10138
10139 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10140
10141 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10142 set C_OPTIMIZE_SWITCH for gcc.
10143
0ba93ac4
KH
101442000-03-02 Kenichi Handa <handa@etl.go.jp>
10145
10146 * coding.c (coding_save_composition): Be sure to allocate
10147 composition data area in coding even if there's no composition in
10148 the current run.
10149
a2bc11d4
JR
101502000-03-01 Jason Rumney <jasonr@gnu.org>
10151
10152 * w32term.c: Equivalent changes to those made to xterm.c on
10153 2000-02-25 and 2000-02-24.
10154
10155 * w32fns.c: Equivalent changes to those made to xfns.c on
10156 2000-02-25 and 2000-02-21.
10157
10158 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10159 correct line-end convention is followed.
10160
10161 * w32menu.c [HAVE_BOXES]: Remove #undef.
10162 (single_keymap_panes): Remove code for simulating checkmarks.
10163 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10164 Remove code for drawing simulated checkmarks.
10165 (w32_menu_show): make unibyte help string correctly.
10166 (add_menu_item): draw standard Windows checkmarks. Draw radio
10167 buttons as radio buttons if possible.
10168
72d19d75
GM
101692000-03-01 Gerd Moellmann <gerd@gnu.org>
10170
2df636f4
GM
10171 * sysdep.c (start_of_text): Don't define this function for NetBSD
10172 with ELF.
10173
427ec082 10174 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10175 Don't define.
10176 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10177 (LINKER): Don't undef if __NetBSD__ is defined.
10178
10179 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10180
10181 * fileio.c [__NetBSD__]: Define `unix'.
10182
72d19d75
GM
10183 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10184
ed4d0512
GM
101852000-02-29 Gerd Moellmann <gerd@gnu.org>
10186
50b1039f
GM
10187 * atimer.c (start_atimer): Don't abort when timers are stopped.
10188 (append_atimer_lists): New function.
10189 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10190 arbitrary lists of stopped and running atimers.
10191
ed4d0512
GM
10192 * atimer.c (cancel_atimer): Handle canceling an atimer when
10193 some timers are stopped.
10194
10195 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10196 after canceling it.
10197
10198 * fns.c (maybe_resize_hash_table): Handle case of new size
10199 coming out as being the same as old size.
10200
387023ee
JR
102012000-02-27 Jason Rumney <jasonr@gnu.org>
10202
10203 * makefile.nt: Add atimer.h to dependencies.
10204 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10205 * w32console.c: Only disable window system features for dispextern.h
10206 (initialize_w32_display): Build a display info for the console.
10207 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10208 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10209 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10210 as 2 button mice.
10211 * w32gui.h (struct W32FontStruct): Revert last change after change
10212 to xdisp.c.
10213 * w32menu.c (single_submenu): Set up help string.
10214 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10215 (w32_dialog_show): Set up help string.
10216 * w32term.c (w32_display_info_for_display): Remove unused function.
10217 (w32_draw_bitmap): Use pre-built bitmaps.
10218 (w32_initialize_display_info): New function to initialize parts of
10219 display info that are common to both GUI and console frames.
10220 (w32_term_init): Use w32_initialize_display_info. Do not set
10221 Vw32_num_mouse_buttons here, as it is not called for console
10222 frames. Build bitmaps for indicating truncated lines etc.
10223 (x_delete_display): Destroy pre-built bitmaps.
10224 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10225 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10226
4516715a
DL
102272000-02-27 Dave Love <fx@gnu.org>
10228
10229 * lisp.h: Add a bunch of prototypes.
10230
171ca836
KH
102312000-02-26 Kenichi Handa <handa@etl.go.jp>
10232
10233 * keyboard.c (read_char): Set `usec' correctly.
10234
4013921d
KH
102352000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10236
10237 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10238 `lambda', set reg[RRR] to the map index.
10239 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10240 reg[RRR] to 0. Otherwise, set it to -1.
10241
9244a058
GM
102422000-02-25 Gerd Moellmann <gerd@gnu.org>
10243
2df636f4 10244 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10245
18e21ce8 102462000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10247
f43d79c1
GM
10248 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10249 and contains a `:', prepend `/:'.
10250
10251 * window.c (select_window_1): If selected_window is nil,
10252 don't "swap out" the buffer's point.
10253 (Fset_window_configuration): Set selected_window to nil
10254 before calling Fselect_window.
10255 (unshow_buffer): Don't set point in buffer from window's point
10256 if another more recently selected window also shows the buffer.
10257
bed0c171
GM
102582000-02-25 Gerd Moellmann <gerd@gnu.org>
10259
449c3c52
GM
10260 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10261
f5b58615
GM
10262 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10263 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10264 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10265 New variables.
f5b58615
GM
10266 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10267 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10268 (hide_busy_cursor): New functions.
10269 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10270
10271 * minibuf.c (read_minibuf): Cancel busy-cursor.
10272
10273 * keyboard.c (command_loop_1): Call start_busy_cursor before
10274 Fcommand_execute and cancel_busy_cursor after it.
10275 (timer_check): Remove busy-cursor code.
10276 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10277 cursor timer.
10278
10279 * process.c (wait_reading_process_input): Remove busy-cursor code.
10280
10281 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10282 Fx_hide_busy_cursor.
10283
10284 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10285 Remove prototyoes.
10286 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10287
10288 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10289
10290 * xterm.c (XTread_socket): Remove busy-cursor code.
10291
4eb8436f
GM
10292 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10293 (build_frame_matrix_from_leaf_window): Put code handling
10294 glyph row's not being a slice of a frame row in #if 0.
10295 (sync_window_with_frame_matrix_rows): New function.
10296 (frame_row_to_window): New function.
10297 (mirror_line_dance): Handle copies between windows.
10298
3cb65b0e
GM
10299 * lread.c (Fload): Use `xfree' instead of `free'.
10300 (init_obarray): Use `xmalloc' instead of `malloc'.
10301
bed0c171
GM
10302 * window.c (Fset_window_buffer): Set WINDOW to the window
10303 after decoding.
2add4349
GM
10304 (coordinates_in_window): Take frame's internal border width
10305 into account.
bed0c171 10306
42088c12
GM
103072000-02-24 Gerd Moellmann <gerd@gnu.org>
10308
10309 * xterm.c (x_display_and_set_cursor): Display cursor of
10310 non-selected windows depending on the setting of
10311 cursor_in_non_selected_windows.
10312
10313 * xdisp.c (cursor_in_non_selected_windows): New variable.
10314 (syms_of_xdisp): DEFVAR_BOOL it.
10315
d1e103b2
GM
103162000-02-23 Gerd Moellmann <gerd@gnu.org>
10317
723e779c
GM
10318 * data.c (Fstring_to_number): If number is greater than what
10319 fits into an integer, return a float.
10320
d1e103b2
GM
10321 * eval.c (specbind): Remove references to
10322 keyword_symbols_constant_flag.
10323
10324 * data.c (keyword_symbols_constant_flag): Removed.
10325 (Fmakunbound, set_internal, syms_of_data): Remove references to
10326 keyword_symbols_constant_flag.
10327
10328 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10329
214f877f
KH
103302000-02-23 Kenichi Handa <handa@etl.go.jp>
10331
10332 * syntax.c (multibyte_syntax_as_symbol): New variable.
10333 (syms_of_syntax): Declare it as a Lisp variable.
10334 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10335 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10336 nonzero, treat all multibyte characters as symbol.
52283633 10337 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10338
130adcb7
EZ
103392000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10340
3cb65b0e 10341 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10342 a deleted frame.
130adcb7 10343
17cbbf95
GM
103442000-02-21 Gerd Moellmann <gerd@gnu.org>
10345
10346 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10347
10348 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10349 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10350
beb0bc36
DL
103512000-02-21 Dave Love <fx@gnu.org>
10352
10353 * frame.c (Vmouse_position_function): New variable.
10354 (Fmouse_position): Use it.
10355 (syms_of_frame): Install it.
10356
10357 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10358
1d92afcd
GM
103592000-02-20 Gerd Moellmann <gerd@gnu.org>
10360
10361 * fileio.c (Finsert_file_contents): Unbind the binding of
10362 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10363
10364 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10365 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10366 (specbind, unbind_to): Handle most common case of non-constant
10367 symbol with trivial value specially.
10368
10369 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10370
18e21ce8 103712000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10372
10373 * data.c (Fmake_variable_buffer_local): Doc fix.
10374 Init found_for_buffer to 0.
10375 (Fmake_variable_frame_local): If the variable has already
10376 been buffer-local, set the check_frame field.
10377
1d4311c3
EZ
103782000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10379
10380 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10381 produced for CODING_MODE_LAST_BLOCK requires.
10382
2dc95ddd
DL
103832000-02-18 Dave Love <fx@gnu.org>
10384
10385 * keyboard.c (echo_keystrokes): Remove declaration.
10386 (Vecho_keystrokes) New variable.
10387 (read_char, record_menu_key, read_key_sequence): Use it to allow
10388 use of float value.
10389 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10390
10391 * lread.c: Undef feature selection macros before defining.
10392
f0930f35
GM
103932000-02-18 Gerd Moellmann <gerd@gnu.org>
10394
10395 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10396 for symbols other than the symbol in question.
10397
e3d4de90
DL
103982000-02-17 Dave Love <fx@gnu.org>
10399
10400 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10401
0b378936
GM
104022000-02-17 Gerd Moellmann <gerd@gnu.org>
10403
d621caf7
GM
10404 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10405
0b378936
GM
10406 * alloc.c (enum mem_type): Compile unconditionally.
10407
3b451f74
EZ
104082000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10409
10410 * xfaces.c (tty_defined_color): Don't return faulire indication
10411 for unspecified-fg and unspecified-bg pseudo-colors.
10412
10689a01
GM
104132000-02-17 Gerd Moellmann <gerd@gnu.org>
10414
1216f5e4
GM
10415 * alloc.c (mark_object): Don't mark symbol names in pure space.
10416 (gc_sweep): Don't unmark symbol names in pure space.
10417
10418 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10419 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10420 [GC_MARK_STACK]: New defines.
427ec082 10421 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10422 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10423
10424 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10425
10426 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10427 allocate_buffer instead of xmalloc.
10428
10429 * alloc.c (toplevel): Include setjmp.h.
10430 (PURE_POINTER_P): New define.
10431 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10432 (Vdead) [GC_MARK_STACK]: New variable.
10433 (lisp_malloc): Add parameter TYPE, call mem_insert if
10434 GC_MARK_STACK is defined.
10435 (allocate_buffer): New function.
427ec082 10436 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10437 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10438 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10439 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10440 (MEM_NIL) [GC_MARK_STACK]: New define.
10441 (struct mem_node) [GC_MARK_STACK]: New structure.
10442 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10443 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10444 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10445 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10446 (mark_stack) [GC_MARK_STACK]: New functions.
10447 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10448 (clear_marks): Removed.
10449 (gc_sweep): Set free conses' car, free floats' type, free
10450 symbols' function to Vdead. Use lisp_free to free buffers.
10451 (init_alloc_once): Initialize Vdead.
10452 (survives_gc_p): Return non-zero for pure objects.
10453
10454 * alloc.c: Add comments throughout the file.
10455
2503c8b1
GM
10456 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10457 that unblocks alarms.
10458
8389e1e2
GM
10459 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10460 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10461 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10462
10689a01 10463 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10464
bfc17d18
KH
104652000-02-17 Kenichi Handa <handa@etl.go.jp>
10466
4a09dee0
KH
10467 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10468 avoid infinite error signaling. Allocate sufficient memory for
10469 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10470
2b927d02
SM
104712000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10472
10473 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10474 depends on the previous behavior.
10475
b49cb764
GM
104762000-02-16 Gerd Moellmann <gerd@gnu.org>
10477
10478 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10479
99e95407
GM
104802000-02-15 Gerd Moellmann <gerd@gnu.org>
10481
10482 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10483
10484 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10485 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10486 write(2).
10487
6ffd3cf7
RS
104882000-02-15 Richard M. Stallman <rms@gnu.org>
10489
10490 * data.c (set_internal): Don't make variable buffer-local
10491 if within a let-binding for the same buffer.
10492 (let_shadows_buffer_binding_p): New function.
10493
10494 * eval.c (specbind): For buffer-local value,
10495 record the current buffer also.
10496 (unbind_to): Cope with that change.
10497
cad53475
GM
104982000-02-15 Gerd Moellmann <gerd@gnu.org>
10499
10500 * window.c (Fsave_window_excursion): Doc fix.
10501
1aa963c8
SM
105022000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10503
10504 * syntax.c (back_comment): Make sure we only consider comment-starters
10505 of the relevant style and return -1 in case of a failure to find the
10506 beginning of the comment.
10507 (Fforward_comment): If back_comment fails, go back to the position just
10508 after the comment-end.
10509 (scan_lists): Add comment describing a very minor bug.
10510
b9b84fd3
SM
105112000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10512
10513 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10514 `completion-regexp-list' in the docstring.
10515
3a28db80
DL
105162000-02-14 Dave Love <fx@gnu.org>
10517
10518 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10519
fb4a568d
SM
105202000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10521
10522 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10523 to Emacs' syntax. Also fix the comment about set/not-set meanings
10524 since Emacs syntax is not the value 0 any more.
10525 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10526 since it's now part of RE_SYNTAX_EMACS.
10527
1063ebb5
DL
105282000-02-12 Dave Love <fx@gnu.org>
10529
52283633 10530 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10531
fb07a302
GM
105322000-02-12 Gerd Moellmann <gerd@gnu.org>
10533
10534 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10535
aaf2320c
DL
105362000-02-12 Dave Love <fx@gnu.org>
10537
10538 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10539
10540 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10541 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10542 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10543
10544 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10545
10546 * s/nextstep.h: Don't define HAVE_ALLOCA.
10547
10548 * config.in: Add vfork bits.
10549
eedf8bde
GM
105502000-02-12 Gerd Moellmann <gerd@gnu.org>
10551
10552 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10553 unwind function to undo the effect of stopping atimers.
10554
52283633 10555 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10556
10557 * atimer.c (stopped_atimers): New variable.
10558 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10559 New functions.
10560
10561 * atimer.h (stop_other_atimers, run_all_atimers)
10562 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10563
eedf8bde
GM
10564 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10565
8476c2f8
KR
105662000-02-11 Ken Raeburn <raeburn@gnu.org>
10567
10568 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10569 library may depend on jpeg.
10570 (atimer.o): Depends on atimer.c.
10571
0e85e4a3
KH
105722000-02-11 Kenichi Handa <handa@etl.go.jp>
10573
10574 * insdel.c (del_range_1): Call update_compositions.
10575 (del_range_both): Call update_compositions just once..
10576
97fa0cc8
DL
105772000-02-10 Dave Love <fx@gnu.org>
10578
10579 * xfns.c (create_frame_xic): Fix initialization of automatic
10580 aggregates for pcc.
10581
25566a3c
KH
105822000-02-09 Kenichi Handa <handa@etl.go.jp>
10583
10584 * ccl.c (CCL_MAKE_CHAR): New macro.
10585 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10586 registers by CCL_MAKE_CHAR before calling translate_char.
10587 <CCL_TranslateCharacterConstTbl> Likewise.
10588
69da54ba
DL
105892000-02-08 Dave Love <fx@gnu.org>
10590
10591 * lread.c (__EXTENSIONS__): Define.
10592
f7136ee8
GM
105932000-02-08 Gerd Moellmann <gerd@gnu.org>
10594
10595 * puresize.h (BASE_PURESIZE): Increase to 650000.
10596
7768790b
EZ
105972000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10598
10599 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10600 the help message.
10601
38fd211b
EZ
106022000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10605 md, mh, mb, mr, and me to the fake termcap entry.
10606
66e4690f
KR
106072000-02-06 Ken Raeburn <raeburn@gnu.org>
10608
10609 * sound.c (sound_cleanup): Don't call device close routine if the
10610 function pointer is null.
10611
a75dfea0
AI
106122000-02-06 Andrew Innes <andrewi@gnu.org>
10613
10614 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10615 around image definitions and prototypes.
10616 (gamma_correct) [WINDOWSNT]: New prototype.
10617
10618 * w32term.c (x_make_frame_visible): Replace call to
10619 input_poll_signal with poll_for_input.
10620
10621 * window.c [WINDOWSNT]: Include w32term.h.
10622
10623 * xdisp.c [WINDOWSNT]: Include w32term.h.
10624
10625 * makefile.nt: Add dependencies on w32gui.h.
10626 (OBJ1): Include atimer.obj.
10627 ($(BLD)\atimer.obj): New dependency rule.
10628
10629 * w32.c (sigmask): New function (does nothing).
10630 (sigunblock): Ditto.
10631
10632 * frame.c [WINDOWSNT]: Include w32term.h.
10633
10634 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10635
10636 * lread.c (syms_of_lread): Fix literal newlines.
10637
10638 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10639 the string constant limit (2048 bytes) in MSVC.
10640 (main): Ditto.
10641
59ddecde
GM
106422000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10643
52283633 10644 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10645 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10646 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10647 dispatch the event.
10648
07590973
DL
106492000-02-04 Dave Love <fx@gnu.org>
10650
10651 * fileio.c: Remove some unused vars.
10652 (_GNU_SOURCE): Define (for euidaccess).
10653
10654 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10655
10656 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10657 gcpro1, gcpro2.
10658 (read_minibuf): Deal with allow_props correctly.
10659
649351f9
EZ
106602000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10661
10662 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10663
66e4690f 106642000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10665
10666 * search.c (compile_pattern): If a cache entry has a nil regexp,
10667 fill in that entry instead of clobbering a previously cached
10668 string regexp.
10669
66e4690f 106702000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10671
10672 * puresize.h (BASE_PURESIZE): Increase to 610000.
10673
d240a249
GM
106742000-02-02 Gerd Moellmann <gerd@gnu.org>
10675
10676 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10677 can GC.
10678
ca91fb26
KH
106792000-02-02 Kenichi Handa <handa@etl.go.jp>
10680
25660570
KH
10681 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10682 instead of incrementing ic directly.
10683 <CCL_WriteExprConst> Likewise.
10684 <ccl_set_expr>: Set ic to jump_address.
10685
ca91fb26
KH
10686 * fileio.c (e_write): Fix the handling of
10687 CODING_FINISH_INSUFFICIENT_SRC.
10688
2ede9689
DL
106892000-02-01 Dave Love <fx@gnu.org>
10690
10691 * editfns.c (Fpropertize): Doc fix.
10692
10693 * process.c (Fstart_process): Doc fix.
10694
10695 * eval.c: Fix various doc strings not to duplicate information
10696 from help-manyarg-func-alist.
10697
52283633 10698 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10699
10700 * doc.c (Vhelp_manyarg_func_alist): New variable.
10701 (Fdocumentation): Use it.
10702 (syms_of_doc): Define it.
10703
b6680a0e
GM
107042000-01-31 Gerd Moellmann <gerd@gnu.org>
10705
2cb750ba
GM
10706 * xterm.c (xim_open_dpy): Remove unused local variable.
10707
52283633 10708 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10709
10710 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10711 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10712
b6680a0e
GM
10713 * fns.c (sweep_weak_table): New function.
10714 (sweep_weak_hash_tables): Use it. Keep on marking until there
10715 is no more change.
10716
994c5afe
GM
107172000-01-30 Gerd Moellmann <gerd@gnu.org>
10718
10719 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10720 that XTread_socket does not crash by trying to call XNoOp on a
10721 closed display.
427ec082 10722
f00276e3
JR
107232000-01-30 Jason Rumney <jasonr@gnu.org>
10724
10725 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10726 Change selected_frame to SELECTED_FRAME ().
10727 (w32_console_mouse_position): Remove #ifndef MULE from around
10728 `insist' parameter.
10729
10730 * makefile.nt: Remove dosfns.obj.
10731
10732 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10733
10734 * w32fns.c (w32_defined_color): Check for valid frame before
10735 applying gamma correction. Eliminate dependency on frame elsewhere.
10736 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10737 (w32_to_x_font): Use resx and resy not height_in and width_in.
10738 (x_to_w32_font): Doc fix.
10739 (xlfd_strip_height): New function to strip and return font height.
10740 (w32_font_match): Compare height separately from rest of xlfd
10741 spec, using xlfd_strip_height.
10742
10743 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10744 width_in. Use w32_defined_color in place of defined_color.
10745
10746 * w32faces.c: Merge more of DOS and X specifics in preparation for
10747 merge with xfaces.c.
10748 (defined_color): Remove FIXME comment.
10749 (tty_color_name): Provide w32-specific function.
10750 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10751
10752 * w32console.c (turn_on_face, turn_off_face): Removed.
10753 (w32_face_attributes): New function.
10754 (Global_variables): Reduce scope where possible.
10755 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10756 fill attribute.
10757 (hl_mode): Don't modify text attributes.
10758 (write_glyphs): Don't do anything if len <= 0. Use
10759 w32_face_attributes to get attributes for drawing. Write
10760 terminating codes using char_attr_normal.
10761 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10762 (update_begin, update_end): Likewise.
10763 (vga_stdcolor_name): New function.
10764 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10765 (Fset_screen_color): Remove char_attr_reverse.
10766
b08e8bb2
GM
107672000-01-29 Gerd Moellmann <gerd@gnu.org>
10768
10769 * xfns.c (xic_set_preeditarea): Take window parameter and
10770 window-relative pixel-positions.
10771
10772 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10773 is its frame's selected window.
10774 (xim_instantiate_callback): Likewise.
10775
10776 * xfns.c (x_create_im): Removed.
10777 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10778 (supported_xim_styles): Renamed from supported_styles.
10779 (best_xim_style): Renamed from best_style.
10780 (create_frame_xic): Renamed from xic_create_frame.
10781 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10782
b08e8bb2
GM
107832000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10784
10785 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10786 our frames, call XFilterEvent with 2nd parameter `None'.
10787 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10788 returning XBufferOverflow.
52283633 10789 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10790 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10791 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10792 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10793 (xim_initialize, xim_close)
10794 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10795 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10796 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10797 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10798
10799 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10800 and `xim_styles'.
10801 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10802 `xic_style' and `xic_xfs'.
10803 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10804 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10805 (FRAME_XIM): Removed.
10806
10807 * xfns.c (supported_styles): New variable.
10808 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10809 (xic_create_xfontset, best_style, xic_create_frame)
10810 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10811 (xic_set_xfontset): New functions.
10812
142e109c
DL
108132000-01-28 Dave Love <fx@gnu.org>
10814
10815 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10816
10817 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10818
b02786f9
GM
108192000-01-28 Gerd Moellmann <gerd@gnu.org>
10820
d060bc9f
GM
10821 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10822 for *scratch* if it already existed.
10823
b02786f9
GM
10824 * emacs.c (USAGE): New macro.
10825 (main): Use it to display usage information.
10826
2c52d7e4
EZ
108272000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10828
10829 Support for the menu-help feature:
10830
52283633 10831 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10832
10833 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10834 part of the line to the termscript file.
10835 (IT_clear_to_end): Clear the entire line, not just its beginning.
10836 (menu_help_message, prev_menu_help_message): New variables.
10837 (IT_menu_make_room): Make room for the help_text member.
10838 (IT_menu_display): New argument disp_help; all callers changed.
10839 If disp_help is non-zero, store the help text of the active menu
10840 item in menu_help_message.
10841 (XMenuAddPane): Initialize the help_text member to NULL.
10842 (XMenuAddSelection): New argument help_text. Store it in the
10843 XMenu structure.
10844 (XMenuActivate): New argument help_callback. If the value of
10845 menu_help_message has changed since the last time, display the
10846 menu help message text while waiting for the mouse to move. Clear
10847 the echo area before exiting.
10848 (XMenuDestroy): Free the help_text member.
10849
ffe0bcd1
GM
108502000-01-27 Gerd Moellmann <gerd@gnu.org>
10851
10852 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10853 XMenuAddSelection. Pass help callback to XMenuActivate.
10854 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10855
50dbd23f
EZ
108562000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10857
10858 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10859 and EMACS_SET_USECS.
10860
f5941bf8
GM
108612000-01-26 Dave Love <fx@gnu.org>
10862
6c67ddee
DL
10863 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10864
f5941bf8
GM
10865 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10866 an error may be signalled.
10867
9e49c990
GM
108682000-01-26 Gerd Moellmann <gerd@gnu.org>
10869
fc3cb460
GM
10870 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10871 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10872
9e49c990
GM
10873 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10874
d0c037d8
GM
108752000-01-25 Gerd Moellmann <gerd@gnu.org>
10876
10877 * charset.c (Fstring): If there is a multibyte char among
10878 the args, always return a multibyte string.
10879
e12489f9
GM
108802000-01-25 Gerd Moellmann <gerd@gnu.org>
10881
10882 * sysdep.c (sys_select): Turn atimers off and on instead of
10883 recording and restoring old alarm handler
10884
10885 * process.c (toplevel): Include atimer.h.
10886 (create_process_1): Rewritten.
10887 (create_process): Use atimers instead of alarm.
10888 (wait_reading_process_input) [hpux]: Turn atimers off instead
10889 of turning off SIGALRM.
10890 (wait_reading_process_input): Turn off atimers instead off
10891 calling stop_polling.
10892
10893 * emacs.c (main): Call init_atimer.
10894
10895 * keyboard.c (toplevel): Include systime.h and atimer.h.
10896 (polling_for_input): Removed because unused.
10897 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10898 (poll_timer): New variable.
10899 (poll_for_input, poll_for_input_1): New functions.
10900 (start_polling, stop_polling): Rewritten.
10901
10902 * keyboard.h (polling_for_input): Removed.
427ec082 10903
e12489f9
GM
10904 * atimer.h, atimer.c: New files.
10905
10906 * Makefile.in (obj): Add atimer.o.
10907 (atimer.o): New target.
10908
10909 * blockinput.h (pending_atimers): Add extern declaration.
10910 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10911
10912 * lisp.h (popup_activated_flag): Add extern declaration.
10913
10914 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10915 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10916 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10917
10918 * xterm.c (toplevel): Include atimer.h.
10919 (toolkit_scroll_bar_interaction): New variable.
10920 (Fxt_process_timeouts): Removed.
10921 (x_process_timeouts): New function.
10922 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10923 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10924 (x_make_frame_visible): Call poll_for_input_1 instead of
10925 input_poll_signal. Don't call alarm.
10926 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10927
1e5279b9
DL
109282000-01-24 Dave Love <fx@gnu.org>
10929
6c67ddee 10930 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10931 Don't use -cckr -- apparently not now necessary.
10932
edf6aeb8
EZ
109332000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10934
10935 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10936 screen boundary.
10937
9badad41
JR
109382000-01-23 Jason Rumney <jasonr@gnu.org>
10939
10940 * w32fns.c (w32_defined_color): Apply gamma correction before
10941 trying to map to the palette.
10942 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10943 to w32_clear_rect.
10944
10945 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10946 here. Callers changed to always pass real device context.
10947 (w32_draw_bitmap): Likewise.
10948 (w32_get_glyph_overhangs): Likewise.
52283633 10949 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10950 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10951 pfnSetScrollInfo and SetScrollRange.
10952 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10953 back into MULE characters after decoding them.
10954 (x_get_glyph_face_and_encoding): Likewise.
10955 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10956 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10957 (x_produce_glyphs): Calculate per char metrics for a character
10958 that we know exists in default font when font_not_found_p is true.
10959
63bd786b
JR
109602000-01-22 Jason Rumney <jasonr@gnu.org>
10961
10962 * makefile.nt (intervals.obj, composite.obj): New modules.
10963 (composite.h): Added as dependency where appropriate.
10964
10965 * w32gui.h (XGCValue): New struct for emulating X GCs.
10966
10967 * w32term.h (XCharStruct): New struct for emulating X.
10968
10969 * w32console.c (turn_on_face, turn_off_face): New functions.
10970 (change_line_highlight): New prototype for new redisplay.
10971 (write_glyphs): Support multibyte text. Support faces.
10972
52283633 10973 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
10974
10975 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10976 throughout. struct frame * in place of FRAME_PTR.
10977 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 10978 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
10979 (w32_get_arg): Renamed from x_get_arg.
10980 (Fx_file_dialog): New function.
10981 (w32_list_fonts): Check cache before asking system.
10982 (Vw32_enable_synthesized_fonts): New variable.
10983 (Vw32_enable_italics): Obsolete, removed.
10984
10985 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10986 Use SELECTED_FRAME macro.
10987
10988 * w32menu.c: Add skeleton support for help strings on menus.
10989 (add_menu_item): Native checkbox and radio support added, but not
10990 yet enabled due to bugs.
10991 (push_menu_item): Add parameters type, selection and help.
10992 Callers updated.
10993 Formatting changes to reduce unnecessary diffs with xmenu.c.
10994
10995 * w32select.c (Fw32_set_clipboard_data): Update call to
10996 find_charset_in_str.
10997
10998 * w32term.c: Complete rewrite for new redisplay based on new
10999 xterm.c with necessary sections merged back in from old w32term.c.
11000
6ffd3cf7 110012000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11002
11003 * data.c (set_internal): Further fix in same criterion.
11004
6ffd3cf7 110052000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11006
11007 * data.c (set_internal): Fix the criteria for whether
11008 to swap out the old cached binding.
11009
60af03f1
DL
110102000-01-19 Dave Love <fx@gnu.org>
11011
11012 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11013
f9be074f
KH
110142000-01-18 Kenichi Handa <handa@etl.go.jp>
11015
11016 * regex.c (re_compile_fastmap): While checking a range table for
11017 `charset', skip flag bits for a character class correctly.
11018
52b8dbf9
GM
110192000-01-17 Gerd Moellmann <gerd@gnu.org>
11020
d36100c9
GM
11021 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11022
52283633 11023 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11024
11025 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11026 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11027
11028 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11029 MENU_ITEMS_ITEM_.*.
11030 (MENU_ITEMS_ITEM_HELP): New enumerator.
11031 (push_menu_item): Add parameter HELP. Record help in menu_items.
11032 (single_menu_item, single_submenu, list_of_items): Call
11033 push_menu_item with new parameter.
11034 (single_submenu): Set help string in widget value.
11035 (menu_highlight_callback): New function.
11036 (set_frame_menubar): Call lw_create_widget with new
11037 parameter list.
11038 (xmenu_show, xdialog_show): Ditto.
11039
3139018f
GM
110402000-01-13 Gerd Moellmann <gerd@gnu.org>
11041
11042 * sound.c (Fplay_sound): Improve doc string.
11043
83c8f461
RS
110442000-01-11 Richard M. Stallman <rms@gnu.org>
11045
11046 * lisp.h (set_internal): Enter the new arg.
11047
11048 * eval.c (specbind): Record buffer-local variables specially,
11049 indicating which buffer's binding was saved.
11050 (unbind_to): Restore buffer-local variables specially
11051 in the proper buffer.
11052
11053 * data.c (set_internal): New arg BUF.
427ec082 11054
83c8f461
RS
11055 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11056 * data.c (Fset): Pass new arg to set_internal.
11057 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11058
1fab1775
GM
110592000-01-11 Gerd Moellmann <gerd@gnu.org>
11060
52283633 11061 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11062
83c8f461 110632000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11064
11065 * minibuf.c (Ftry_completion): Doc fix.
11066
7a85e4df
GM
110672000-01-11 Gerd Moellmann <gerd@gnu.org>
11068
11069 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11070 vector, too.
11071
a970dae4
AS
110722000-01-11 Andreas Schwab <schwab@suse.de>
11073
11074 * coding.c (code_convert_region): Initialize total_skip.
11075
c65d14ee
DL
110762000-01-08 Dave Love <fx@gnu.org>
11077
11078 * eval.c (Fuser_variable_p): Check customizability too.
11079
834938d2
GM
110802000-01-07 Gerd Moellmann <gerd@gnu.org>
11081
11082 * minibuf.c (Fcompleting_read): Doc fix.
11083
e0303cd6
GM
110842000-01-05 Gerd Moellmann <gerd@gnu.org>
11085
8a26744b
GM
11086 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11087 -L /usr/local/lib.
11088
e0303cd6
GM
11089 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11090 Check that input style is supported before trying to create an
11091 IC for it.
11092 (x_window): Call x_create_im.
427ec082 11093
2e471eb5
GM
110942000-01-04 Gerd Moellmann <gerd@gnu.org>
11095
560a7bd2
GM
11096 * xfns.c (current_gif_memory_src): New variable.
11097 (gif_load): Record the address of the current memory source
11098 in current_gif_memory_src.
11099 (gif_read_from_memory): Use current_gif_memory_src.
11100
f9ee84a3
GM
11101 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11102 macros statement form.
11103
d1299cde
GM
11104 * sound.c (struct sound): Renamed from struct sound_file.
11105 (struct sound): Add members `data' and `header_size'.
11106 (enum sound_attr): Add SOUND_DATA.
11107 (current_sound, current_sound_device): Variables renamed from
11108 sound_file and sound_device.
11109 (parse_sound): Parse :data.
11110 (parse_sound): Handle sound data in strings.
11111 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11112 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11113 needed header size.
11114 (wav_play, au_play): Play sounds from string data.
11115
2e471eb5
GM
11116 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11117
11118 * lisp.h: Add prototype for allocate_string_data.
11119
52283633 11120 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11121
11122 * alloc.c (mark_buffer): Remove code in #if 0.
11123 (gc_sweep): Ditto.
11124 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11125 (strings_consed): New variable.
11126 (allocate_string): Set it.
11127 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11128 (Fmemory_use_counts): Return strings_consed. Use Flist.
11129
11130 * alloc.c: General cleanup in comments etc. Remove conditional
11131 compilation for `standalone'.
11132
11133 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11134
11135 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11136 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11137 (DONT_COPY_FLAG): Removed.
11138 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11139 (struct sdata, struct sblock): New
11140 (struct string_block): Rewritten.
11141 (STRINGS_IN_STRING_BLOCK): New macro.
11142 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11143 (large_sblocks, string_blocks, string_free_list): New variables.
11144 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11145 (init_strings): Rewritten.
11146 (allocate_string, allocate_string_data, compact_small_strings)
11147 (free_large_strings, sweep_strings): New functions.
11148 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11149 (struct string_block_head, current_string_block)
11150 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11151 (STRING_PAD): Removed.
11152 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11153 (Fgarbage_collect): Don't set mark bit in large strings.
11154 (mark_object): Mark strings differently. Mark symbol names
11155 differently.
11156 (survives_gc_p): Test marked strings differently.
427ec082 11157 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11158 symbol names.
11159 (compact_strings): Removed.
11160
42608ba8
EZ
111612000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11162
11163 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11164 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11165
e0a09e1a
KH
111662000-01-04 Kenichi Handa <handa@etl.go.jp>
11167
dd9f0750 11168 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11169 in a non-empty buffer.
dd9f0750 11170
3c0f3b15 11171 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11172
44cd3ae5
GM
111732000-01-03 Gerd Moellmann <gerd@gnu.org>
11174
11175 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11176 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11177
11178 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11179
c182a70f
EZ
111802000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11181
11182 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11183 need to test for MSDOS frames.
11184
24480d5b
EZ
111852000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11186
11187 * dosfns.c (unspecified_colors): Remove.
11188 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11189 unspecified_bg.
11190 (msdos_stdcolor_name): Return strings for unspecified fore- and
11191 back-ground colors.
11192
11193 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11194 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11195 (tty_color_name): Return Lisp strings for unspecified fore- and
11196 back-ground colors.
11197 (Finternal_set_lisp_face_attribute): Remove the special treatment
11198 for Qunspecified_{f,b}g.
52283633 11199 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11200
047f434a
GM
112012000-01-03 Gerd Moellmann <gerd@gnu.org>
11202
11203 * xdisp.c (reseat_at_next_visible_line_start): Position before
11204 newline only if ending up on a newline.
11205 (next_element_from_ellipsis): Return success. Handle case of
52283633 11206 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11207 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11208 returns 0.
11209
d684c676
EZ
112102000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11211
11212 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11213 (Fcolor_supported_p): Renamed from face-color-supported-p.
11214
5fe1d139
EZ
112152000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11216
11217 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11218 list of colors renamed to tty-defined-color-alist.
11219 (tty_color_name): Pass the frame to tty-color-by-index.
11220 (realize_tty_face): tty-color-alist is now a function which
11221 accepts the frame as argument.
11222
52283633 11223 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11224
816be8b8
EZ
112252000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11226
11227 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11228 encode_terminal_code.
11229
b635321e
EZ
112302000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11231
11232 * dispnew.c (mode_line_string): Support termcap frames as well.
11233
9b784e96
GM
112342000-01-01 Gerd Moellmann <gerd@gnu.org>
11235
27189709
GM
11236 * syntax.c (Fforward_word): Undo previous change.
11237
11238 * editfns.c (Fconstrain_to_field): Don't constrain if
11239 inhibit-field-text-motion is non-nil.
11240 (Fline_beginning_position): Undo previous change.
11241 (Fline_end_position): Ditto.
11242
11243 * syntax.c (Fforward_word): Notice field boundaries only if
11244 inhibit-field-text-motion is nil.
11245
11246 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11247
11248 * editfns.c (Vinhibit_field_text_motion): New variable.
11249 (inhibit-field-text-motion): New DEFVAR_LISP.
11250 (Fline_beginning_position, Fline_end_position): Notice field
11251 boundaries only if inhibit-field-text-motion is nil.
11252
45158a91
GM
11253 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11254 All calls adjusted.
11255 (x_build_heuristic_mask): Likewise.
11256 (xbm_load_image_from_file): Change error output.
11257 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11258 (gif_load, gs_load, x_kill_gs_process): Ditto.
11259
9b784e96
GM
11260 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11261 color indices when accessing raster pixels.
63cec32f
GM
11262 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11263 one of :file or :data.
11264 (enum pbm_keyword_index): Add PBM_DATA.
11265 (pbm_format): Add :data.
11266 (pbm_image_p): Allow either :file or :data.
11267 (pbm_read_file): New function.
11268 (pbm_scan_number): Rewritten to read from string.
11269 (pbm_load): Support :data.
9b784e96 11270
2cb085db 11271See ChangeLog.8 for earlier changes.
6922b018
KH
11272
11273;; Local Variables:
49b3bd82 11274;; coding: iso-2022-7bit
6922b018 11275;; End: