(rmail-message-regexp-p): Don't match before
[bpt/emacs.git] / src / ChangeLog
CommitLineData
ba973f7a
GM
12001-04-26 Gerd Moellmann <gerd@gnu.org>
2
3 * editfns.c (save_excursion_restore): Don't use XBUFFER on
4 a non-buffer.
5
8c56a983
GM
62001-04-25 Gerd Moellmann <gerd@gnu.org>
7
a728644c
GM
8 * term.c (toggle_highlight): New function.
9 (turn_on_face): Change handling of reverse video.
10
c88164fe
GM
11 * process.c (wait_reading_process_input): Call
12 record_asynch_buffer_change only if a timer really changed
13 buffers.
14
bfd8410f
GM
15 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
16 of the number of overlays to check.
17
be2488ca
GM
18 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
19
8c56a983
GM
20 * xdisp.c (try_window_id): Fix a case where window_end_pos
21 and window_end_bytepos were not adjusted.
22
522d42f7
GM
232001-04-23 Gerd Moellmann <gerd@gnu.org>
24
25 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
26 zero instead of -1.
27
78c1afb6
EZ
282001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
29
30 * process.c (wait_reading_process_input) [!subprocesses]: Don't
31 reference waiting_for_user_input_p, it's not defined in the branch
32 without async subprocesses support.
33
a2fab450
GM
342001-04-19 Gerd Moellmann <gerd@gnu.org>
35
a122a38e
GM
36 * keyboard.c (delete_kboard): Prevent a dangling reference
37 from current_kboard to KB, which is freed.
38
a2fab450
GM
39 * process.c (wait_reading_process_input): Call
40 record_asynch_buffer_change after running timers, to make
41 read_key_sequence aware of buffer changes from under it.
42
0f8d6dc7
GM
432001-04-18 Gerd Moellmann <gerd@gnu.org>
44
eeffb293
GM
45 * xfaces.c (Qscalable_fonts_allowed): New variable.
46 (realizing_basic_faces_p): Removed.
47 (x_face_list_fonts): Special handling for realizing_basic_faces_p
48 removed.
49 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
50 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
51 default for scalable-fonts-allowed to t.
52
0f8d6dc7
GM
53 * fileio.c (Finsert_file_contents): If the file size returned from
54 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
55 read from files on a procfs whose contents are generated
56 dynamically.
57
eec2d1de
EZ
582001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
59
60 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
61 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
62 (__memalign_hook): Make the two prototypes consistent.
63
f4f480bd
GM
642001-04-17 Gerd Moellmann <gerd@gnu.org>
65
66 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
67 matrix of mini-windows.
68
52283633
SM
692001-04-12 Stefan Monnier <monnier@cs.yale.edu>
70
71 * intervals.c (find_interval): Don't rebalance during signal handling.
72
ec2423c9
GM
732001-04-11 Gerd Moellmann <gerd@gnu.org>
74
30cb0001 75 * fns.c: Include blockinput.h.
52283633 76
ec2423c9
GM
77 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
78
719d83ad
GM
792001-04-10 Gerd Moellmann <gerd@gnu.org>
80
60f8d735
GM
81 * fns.c (Fcompare_strings): Fix return values.
82
afffeb57
GM
83 * window.c (window_scroll): Change the meaning of N to mean
84 N screen-fulls or N lines.
85 (window_scroll_pixel_based, window_scroll_line_based)
86 (scroll_command, Fscroll_other_window): Change accordingly.
87
52283633
SM
88 * window.c (window_scroll_pixel_based, Frecenter):
89 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
90 height of the window.
91
92 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
93 instead of using it.last_visible_y for the height of the window.
52283633 94
719d83ad
GM
95 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
96
97 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
98 able to write to hidden and system files. Make file handles
99 non-inheritable.
100
101 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
102
522ed7fb
GM
1032001-04-09 Gerd Moellmann <gerd@gnu.org>
104
9170e5d4
GM
105 * fns.c (Fplist_get, Fplist_put): Add QUITs.
106
522ed7fb
GM
107 * window.c (window_internal_height): Return 1 less if the
108 window has a header line.
109
110 * xdisp.c (try_window_id): When scrolling on a terminal, take
111 the change of window_internal_height into account.
112
ceeb3d7d
EZ
1132001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
114
115 * gmalloc.c (align): If the argument SIZE would overflow
116 __malloc_ptrdiff_t, fail right away.
117
63685b9d
GM
1182001-04-06 Gerd Moellmann <gerd@gnu.org>
119
120 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
121 Make sure the tooltip is completely visible.
122 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
123
124 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
125
126 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
127
3ffb33bb
DL
1282001-04-06 Dave Love <fx@gnu.org>
129
52283633
SM
130 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
131 Fix test of `from'.
3ffb33bb 132
869fb12c
GM
1332001-04-06 Gerd Moellmann <gerd@gnu.org>
134
52283633 135 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 136
869fb12c
GM
137 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
138
441bf856
GM
1392001-04-05 Gerd Moellmann <gerd@gnu.org>
140
4d664b04
GM
141 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
142
52283633 143 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 144
30ca89f5
GM
145 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
146 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
147
148 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
149 shell widget's position only if it is non-null.
150
52283633
SM
151 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
152 Set f->output_data.x->widget to null after destroying it.
30ca89f5 153
81a81c0f
GM
154 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
155 FILENAME to bring it in synch with the documentation.
156
441bf856
GM
157 * xfaces.c (realizing_basic_faces_p): Renamed from
158 realize_default_face_p.
159 (realize_basic_faces): Set/clear realizing_basic_faces_p.
160 (realize_default_face): Don't set the flag.
161
702a1e8e
GM
1622001-04-04 Gerd Moellmann <gerd@gnu.org>
163
1013f4e3
GM
164 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
165
52283633
SM
166 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
167
1013f4e3
GM
168 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
169 the buffer that was used for echoing.
170
702a1e8e
GM
171 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
172 (first_font_matching): Removed unused function.
173 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
174 (may_use_scalable_font_p): Remove parameter FONT; rename
175 parameter NAME to FONT.
176 (x_face_list_fonts): Fix missing bounds check.
177 (realizing_default_face_p): New variable.
178 (realize_default_face): Set and clear that flag.
179 (x_face_list_fonts): When called during the realization of the
180 default face, and no matching fonts are found when ignoring
181 scalable fonts and fonts matching a regexp from
182 face-ignored-fonts, try without ignoring fonts.
183
f9dbcda4
GM
1842001-04-03 Gerd Moellmann <gerd@gnu.org>
185
ad18ffb1
GM
186 * xfns.c (postprocess_image): New function.
187 (lookup_image): Call it for all image types except PostScript.
188 (x_kill_gs_process): Call postprocess_image.
189
f9dbcda4
GM
190 * xterm.c (x_use_underline_position_properties): New variable.
191 (x_draw_glyph_string): Use it.
192 (syms_of_xterm): DEFVAR_BOOL it.
193
651f03b6
GM
1942001-04-02 Gerd Moellmann <gerd@gnu.org>
195
196 * xterm.c (x_alloc_nearest_color_1): New function.
197 (x_alloc_nearest_color): Use it.
198 (x_color_cells): Take a Display as argument, instead of a frame.
199 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
200 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
201 (x_initialize): Register cvt_string_to_pixel as resource converter
202 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
203
73d75a62
GM
2042001-03-30 Gerd Moellmann <gerd@gnu.org>
205
b2046df8
GM
206 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
207 (set_iterator_to_next): If a string from a display property ends,
208 consider the case that this might also be the end of an
209 overlay string having the display property.
210
52283633 211 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 212
87d8eba4
GM
213 * xdisp.c (reseat_to_string): Undo last change.
214
73d75a62
GM
215 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
216 matrix of a window when the header line changes, when
217 new rows are allocated, or when the width changes.
218
911a2406
EZ
2192001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
220
52283633 221 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 222
aea51abe
EZ
2232001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
224
225 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
226 deprecated.
227
176bc847
GM
2282001-03-29 Gerd Moellmann <gerd@gnu.org>
229
ed31fabf
GM
230 * data.c (Fsubr_interactive_form): New function.
231 (syms_of_data): Defsubr it.
232
176bc847
GM
233 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
234 (live_float_p, live_misc_p): Return 1 only if the offset of the
235 pointer in its block is >= 0.
236
e59d0e9d
GM
2372001-03-28 Paul Eggert <eggert@twinsun.com>
238
239 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
240 microseconds calcuation. Avoid double-rounding problem.
241 In doc string, warn that the result is approximate.
242
f827b862
GM
2432001-03-28 Gerd Moellmann <gerd@gnu.org>
244
30a3f61c
GM
245 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
246 bind `inhibit-eval-during-redisplay' to t.
247
248 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
249
250 * xdisp.c (inhibit_eval_during_redisplay)
251 (Qinhibit_eval_during_redisplay): New variables.
252 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
253 don't eval, return nil instead.
254 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
255 Initialize Qinhibit_eval_during_redisplay.
256
e719f5ae
GM
257 * xdisp.c (reseat_to_string): If STRING is multibyte, set
258 the iterator's multibyte_p flag.
259
deb2613a
GM
260 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
261 instead of setting it to zero; it's incremented for each frame
262 where the menu face is changed.
263
52283633
SM
264 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
265 change bottom shadow accordingly.
266
267 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
268 intersections here.
269 (expose_window): Do it here instead.
52283633 270 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 271
f827b862
GM
272 * bytecode.c (BYTE_CODE_QUIT): New macro.
273 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
274
4bde0ebb
GM
2752001-03-27 Gerd Moellmann <gerd@gnu.org>
276
607ec83c
GM
277 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
278 Give up if matrix starts in an ellipsis.
279 (init_from_display_pos): Do nothing if POS doesn't specify
280 a dpvec_index but the iterator has such a position.
281
0245398f
GM
282 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
283
aba25348
GM
284 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
285 x/y position is (0, 0) after destroying the menu bar, restore
286 its original position.
287
4bde0ebb
GM
288 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
289 (init_from_display_pos): Use it.
290 (try_window_reusing_current_matrix): Don't use cursor_row_p.
291
8cdb267e
GM
2922001-03-26 Gerd Moellmann <gerd@gnu.org>
293
294 * xdisp.c (try_window_id): Undo last change.
295
9948db79
EZ
2962001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
297
298 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
299
300 * buffer.c (syms_of_buffer): Doc fix.
301
2eddf899
GM
3022001-03-26 Gerd Moellmann <gerd@gnu.org>
303
304 * xfaces.c (x_update_menu_appearance): Use local variable
305 popup_path for setting font resources.
306
6c145d35
EZ
3072001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
308
6a65b1b5
EZ
309 * frame.c (Fframe_list): Don't reference tip_frame if
310 HAVE_WINDOW_SYSTEM is not defined.
311
6c145d35
EZ
312 * emacs.c (main): Update the copyright year. From Werner LEMBERG
313 <wl@gnu.org>.
314
d74c1900
GM
3152001-03-25 Gerd Moellmann <gerd@gnu.org>
316
20fbd925
GM
317 * xdisp.c (init_from_display_pos): Test invisible property
318 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 319
927c5b3b
GM
320 * xdisp.c (redisplay_internal) <update one window>: Make sure
321 last_arrow_position and last_arrow_string are set.
322
d74c1900
GM
323 * frame.c (Fframe_list): Don't return a tooltip frame.
324
091f8878
GM
3252001-03-23 Gerd Moellmann <gerd@gnu.org>
326
52283633
SM
327 * xdisp.c (mark_window_display_accurate_1): New function,
328 extracted from mark_window_display_accurate.
329 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
330 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
331 (mark_window_display_accurate): Use it.
332 (redisplay_internal): Use it for the selected window.
333 (redisplay_internal): Avoid duplicate mark_window_display_accurate
334 for the selected frame.
335
ac90c44f
GM
336 * xdisp.c Use make_number, for readability.
337 (try_window_id): Disable rows below the window end.
338 (try_window_reusing_current_matrix): Use cursor_row_p.
339 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
340 of rows.
341 (init_from_display_pos): If POS specifies a position in a display
342 vector, maybe get the iterator set up for that ellipsis.
43c09969 343
091f8878
GM
344 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
345
991786dd
EZ
3462001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
347
348 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
349
6c29b43c
GM
3502001-03-23 Gerd Moellmann <gerd@gnu.org>
351
352 * xfaces.c (x_update_menu_appearance): Use a different path
353 for Lucid popup menus.
354
d8731202
SM
3552001-03-22 Stefan Monnier <monnier@cs.yale.edu>
356
357 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
358
359 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
360 (string_buffer_position): Use `make_number'.
361
f61a541b
GM
3622001-03-22 Gerd Moellmann <gerd@gnu.org>
363
3c9e997b
GM
364 * xfaces.c (x_update_menu_appearance): Renamed from
365 x_set_menu_face_resources. Use different resources for popups.
366
367 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
368 (GC_CHECK_STRING_BYTES): Don't define.
369
364cd450
GM
370 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
371 Removed, together with subroutines.
372 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 373 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 374
d8731202
SM
375 * dispextern.h (x_set_menu_resources_from_menu_face):
376 Remove prototype.
364cd450 377
d8731202 378 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
379 Remove calls to x_set_menu_resources_from_menu_face.
380
d8731202
SM
381 * xfaces.c (xm_set_menu_resources_from_menu_face):
382 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
383
384 * xmenu.c: Include widget.h.
385 (single_submenu): Return int. Some cleanup.
386 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
387
140330de
GM
3882001-03-21 Gerd Moellmann <gerd@gnu.org>
389
390 * xterm.c (x_update_window_end): Handle overwritten mouse face
391 also for tool bar windows.
392 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
393 DRAW is DRAW_IMAGE_RAISED.
394
1741905c
GM
3952001-03-20 Gerd Moellmann <gerd@gnu.org>
396
fa88947e
GM
397 * print.c (syms_of_print): Doc fixes.
398
1741905c
GM
399 * fns.c (Fmd5): Doc fix.
400
ade0bee1
GM
4012001-03-19 Gerd Moellmann <gerd@gnu.org>
402
357e7376
GM
403 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
404 Clear area of the frame not occupied by the scroll bar.
405
c2c097cc
GM
406 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
407 tip frame's root window buffer to *tip* right after creating
408 the frame.
409
ade0bee1
GM
410 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
411 is an integer don't have to be for space characters.
412
88c6e37e
GM
4132001-03-16 Gerd Moellmann <gerd@gnu.org>
414
52283633
SM
415 * indent.c (current_column, current_column_1, Fmove_to_column)
416 (compute_motion): Handle characters from display vectors differently.
88c6e37e 417
c62eed76
KH
4182001-03-15 Kenichi Handa <handa@etl.go.jp>
419
420 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
421 drawing glyph string.
422
c899e7e6
GM
4232001-03-15 Gerd Moellmann <gerd@gnu.org>
424
d0bbfc99
GM
425 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
426 (command_loop_1): Undo last change.
427
03d1a189
GM
428 * xterm.c (fast_find_position): Return the correct vpos.
429
c899e7e6 430 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 431 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
432 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
433 Call store_symval_forwarding with BUF null.
434 (set_internal): Call store_symval_forwarding with the BUF
435 parameter passed to set_internal. Formerly, the value was always
436 set in the current buffer; the buffer recorded in specbind for
437 this case wasn't used.
438 (arith_driver): Reindent.
439
52283633
SM
440 * buffer.c (swap_out_buffer_local_variables):
441 Call store_symval_forwarding with BUF null.
c899e7e6
GM
442
443 * lisp.h (store_symval_forwarding): Change prototype.
444
445 * eval.c (specbind): Call store_symval_forwarding with BUF null.
446
57ac7c81
GM
4472001-03-14 Gerd Moellmann <gerd@gnu.org>
448
697617d9
GM
449 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
450 FOR_DELETION. Avoid resizing the mini-window of the selected
451 frame if FOR_DELETION is set.
452 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
453 (Fmake_frame_invisible): Change calls to do_switch_frame for new
454 signature.
455
456 * window.c (Fset_window_configuration): Change call to
457 do_switch_frame to new format.
458
459 * keyboard.c (quit_throw_to_read_char): Change call to
460 do_switch_frame to new format.
461
462 * lisp.h (do_switch_frame): Change prototype.
463
819dce0f
GM
464 * frame.c (Fframe_parameters): In the `buffer-list' frame
465 parameter, store the buffer list of FRAME, not the list of the
466 selected frame.
467
57ac7c81
GM
468 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
469 box just because the glyph row's full_width_p flag is set.
470
65008712
GM
4712001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
472
473 * xdisp.c (highlight_trailing_whitespace): On character terminals,
474 skip the padding blanks inserted in extend_face_to_end_of_line,
475 before checking for trailing whitespace.
476
159cf431
GM
4772001-03-13 Gerd Moellmann <gerd@gnu.org>
478
52283633 479 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
480 Remove special handling for LessTif/Motif.
481 (toplevel): Don't include Xm/Xm.h.
482
52283633
SM
483 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
484 Remove workaround code for LessTif; it doesn't work anymore.
485
2564ea1b 486 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 487 Xm/ScrollBarP.h.
afcdc0a1 488
52283633
SM
489 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
490 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
491 contemporary LessTif.
492
52283633
SM
493 * xfaces.c (xm_set_menu_resources_from_menu_face):
494 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 495
159cf431
GM
496 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
497 removing button grabs.
498
c6f7429a
KH
4992001-03-13 Kenichi Handa <handa@etl.go.jp>
500
cb82d767
KH
501 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
502 and clip-large-size-font as obsolete.
503
c6f7429a
KH
504 * lread.c (read_multibyte): Check the validity of multibyte
505 sequence. If invalid, return the first byte.
506
760cefb5
GM
5072001-03-12 Gerd Moellmann <gerd@gnu.org>
508
509 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
510 before running the command; timer functions or process
511 filters may have set it.
512
5141f9d0
EZ
5132001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
514
515 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
516 Doc fix.
517
b6a15240
GM
5182001-03-12 Gerd Moellmann <gerd@gnu.org>
519
520 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
521 to sprintf.
522
95522746
GM
5232001-03-09 Gerd Moellmann <gerd@gnu.org>
524
db14cfc5
GM
525 * dispextern.h (string_buffer_position): Add prototype.
526
52283633 527 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
528 (single_display_prop_string_p): New functions.
529
530 * xterm.c (note_mouse_highlight): If there's no help-echo on
531 a string, look at the buffer text ``under'' it.
532
533 * keyboard.c (make_lispy_event): Add string info to the event,
534 analogous to what's done on mode lines.
535 (read_key_sequence): For a click on a string, consider `local-map'
536 and `keymap' of that string.
537
52283633
SM
538 * keyboard.c (make_lispy_event, make_lispy_movement):
539 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
540
541 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
542
543 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
544 POS; return void.
545
95522746
GM
546 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
547 flags argument to emacs_open; it seems to conflict with O_EXCL.
548
898a399d
KH
5492001-03-09 Kenichi Handa <handa@etl.go.jp>
550
28cd4910
KH
551 * composite.h (struct composition): Change types of members;
552 glyph_len to unsigned, width to unsigned short.
898a399d 553
4cdf6a6c
AI
5542001-03-08 Andrew Innes <andrewi@gnu.org>
555
556 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
557 menu titles.
558
129004d3
GM
5592001-03-08 Gerd Moellmann <gerd@gnu.org>
560
221dd3e7
GM
561 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
562 instead of nil.
563
52283633 564 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
565 help-echo in strings.
566 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
567 (fast_find_string_pos): New function.
568
52283633
SM
569 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
570 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
571
572 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
573 Handle `mouse-face'.
574
575 * dispextern.h (face_at_string_position): Change prototype.
576
52283633 577 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 578
129004d3
GM
579 * keyboard.c (make_lispy_event): Avoid generating drag events
580 if the mouse hasn't actually moved to another buffer position.
52283633 581
80c8ab8c
DL
5822001-03-08 Dave Love <fx@gnu.org>
583
129004d3 584 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 585
989521fd
GM
5862001-03-08 Gerd Moellmann <gerd@gnu.org>
587
588 * process.c (Fset_process_window_size): Fix a typo.
589
bb5c338d
KH
5902001-03-08 Kenichi Handa <handa@etl.go.jp>
591
592 * coding.c (detect_coding_sjis): Do more rigid check.
593 (detect_coding_big5): Likewise.
594 (decode_coding_sjis_big5): Likewise.
595 (Fdetect_coding_region): Call detect_coding_system with tailing
596 anchor byte `\0' for more rigid detection.
52283633 597 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
598 (Fdetect_coding_string): Likewise.
599
8b8f9197
SM
6002001-03-07 Stefan Monnier <monnier@cs.yale.edu>
601
602 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
603 a string before extracting its data.
604
3bdf2660
GM
6052001-03-07 Gerd Moellmann <gerd@gnu.org>
606
607 * window.c (Frecenter): Rewrite code handling negative values
608 of ARG on graphical frames.
609
6102001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
611
612 * window.c (displayed_window_lines): If W->start is outside the
613 accessible portion of the buffer, call start_display with BEGV or
614 ZV instead of W->start.
615
471f86b9
GM
6162001-03-07 Gerd Moellmann <gerd@gnu.org>
617
2ab62c6c
GM
618 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
619
471f86b9
GM
620 * process.c (Fset_process_filter): Don't crash if the input
621 file descriptor of PROCESS is closed.
622 (Fset_process_window_size): Likewise.
623
101922c3
GM
6242001-03-06 Kenichi Handa <handa@etl.go.jp>
625
626 * xterm.c (XTflash): Make the timeout of select shorter, and call
627 select repeatedly until the desired time expires.
628
45d051a7
GM
6292001-03-06 Gerd Moellmann <gerd@gnu.org>
630
631 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
632
633 * xfns.c (Fx_create_frame): Clear Vwindow_list.
634
635 * lisp.h (Vwindow_list): Declare extern.
636
8f372c46
EZ
6372001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
638
639 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
640
f16a7aa5
GM
6412001-03-06 Gerd Moellmann <gerd@gnu.org>
642
157ae273
GM
643 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
644 to detect a case where we have to highlight a different region
645 despite not having left the currently highlighted region.
646 Set mouse_face_overlay in the x_display_info.
45d051a7 647 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
648
649 * xterm.h (struct x_display_info): Add mouse_face_overlay.
650
651 * buffer.c (mouse_face_overlay_overlaps): New function.
652
653 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
654 (Qmouse_face): Declare extern.
655
f16a7aa5
GM
656 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
657 if face_change_count is non-zero.
658
827afcac
KH
6592001-03-06 Kenichi Handa <handa@etl.go.jp>
660
661 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
662 that the source is unibyte.
663
14c7242e
DL
6642001-03-05 Dave Love <fx@gnu.org>
665
827afcac 666 * xterm.c (XTmouse_position): Fix typo.
14c7242e 667
c28b847b
GM
6682001-03-05 Gerd Moellmann <gerd@gnu.org>
669
670 * minibuf.c (read_minibuf): Clean up the binding stack if
671 called noninteractively.
672
b86644f2
KH
6732001-03-05 Kenichi Handa <handa@etl.go.jp>
674
675 * coding.c (syms_of_coding): Docstring modified.
676
203682cc 6772001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
678
679 * charset.c (char_to_string): If a single byte char has modifier
680 bits that can't be reflected to the character code, ignore them
45d051a7 681 instead of signaling an error.
b86644f2 682
e30bd7b7
EZ
6832001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
684
685 * s/msdos.h: Update copyright notice.
686
687 * dosfns.h: Update copyright notice.
688
689 * dosfns.c: Update copyright notice.
690
691 * msdos.c: Update copyright notice.
692
b52b65bd
GM
6932001-03-02 Gerd Moellmann <gerd@gnu.org>
694
695 * xterm.c (glyph_rect): New function.
696 (XTmouse_position): Use it to raise the threshold for mouse
697 movement event generation.
698
53c4b1e6
EZ
6992001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
700
701 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
702 specifies (reverse . t), reverse the initial screen colors.
703 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
704 but we are reversing the colors, set bg_set, not fg_set.
705 Likewise for setting background-color and reversing: set fg_set.
706 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
707 in effect.
708
709 * xfaces.c (Finternal_set_lisp_face_attribute)
710 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
711 parameters alist.
712
f964b4d7
GM
7132001-03-02 Gerd Moellmann <gerd@gnu.org>
714
ef53d75e
GM
715 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
716 to a single slash in the middle of file names.
717
52283633 718 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
719 Accept only alphanumeric time zone names.
720
f964b4d7
GM
721 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
722 or width area.
723 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
724 a widget to zero height.
52283633 725
c3c45f65
GM
7262001-03-01 Gerd Moellmann <gerd@gnu.org>
727
728 * window.c (Fwindow_end): Call move_it_past_eol only if
729 ending up on a partially visible line.
730
028d739a
DL
7312001-03-01 Dave Love <fx@gnu.org>
732
733 * ccl.c (Fccl_execute): Doc fix.
734
57c5889c
GM
7352001-03-01 Gerd Moellmann <gerd@gnu.org>
736
35f59f6b
GM
737 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
738 of the tool bar before calling x_figure_window_size.
739
f84ff02c
GM
740 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
741 NULL after destroying it, otherwise XTread_socket can access a
742 destroyed widget when input is unblocked.
743
8b8f9197 744 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 745
57c5889c
GM
746 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
747 same name as before, although there was a change in fontsets.
748
224227d1
KR
7492001-02-28 Ken Raeburn <raeburn@gnu.org>
750
4560730a
KR
751 * lisp.h (Fframe_parameter): Declare.
752
224227d1 753 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 754 Lisp_Object.
224227d1 755
ece93c02
GM
7562001-02-28 Gerd Moellmann <gerd@gnu.org>
757
11ef99b9
GM
758 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
759 NULL instead.
760
761 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
762 NULL instead.
763
ece93c02
GM
764 * alloc.c (toplevel): Include process.h.
765 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
766 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
767 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
768 (allocate_vector, allocate_hash_table, allocate_window)
769 (allocate_frame, allocate_process, allocate_other_vector):
770 New functions.
ece93c02
GM
771 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
772 (mark_maybe_pointer): New function.
52283633 773 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
774 remain and not Lisp_Objects.
775 (min_heap_address, max_heap_address): New variables.
776 (mem_find): Return MEM_NIL if START is below min_heap_address or
777 above max_heap_address.
778 (mem_insert): Compute min_heap_address and max_heap_address.
779
780 * process.c (make_process): Use allocate_process.
781
782 * frame.c (make_frame): Use allocate_frame.
783
784 * window.c (make_window, make_dummy_parent): Use allocate_window.
785 (Fcurrent_window_configuration): Use allocate_other_vector.
786
787 * lisp.h (allocate_vectorlike): Remove prototype.
788 (allocate_vector, allocate_other_vector, allocate_frame)
789 (allocate_window, allocate_process, allocate_hash_table):
790 Add prototypes.
791
792 * fns.c (Fdelete, larger_vector): Use allocate_vector.
793 (make_hash_table, copy_hash_table): Use allocate_hash_table.
794
063af457
KH
7952001-02-27 Kenichi Handa <handa@etl.go.jp>
796
797 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
798 treat the produced bytes as a valid multibyte sequence.
799
800 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
801 (ccl_driver) <CCL_WriteMultibyteChar2>:
802 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
803 <ccl_finish>: Set ccl->eight_bit_control properly.
804
805 * ccl.h (struct ccl_program): New member eight_bit_control.
806
f58c6494
SM
8072001-02-26 Stefan Monnier <monnier@cs.yale.edu>
808
809 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
810 accessible_keymaps_char_table.
811 (accessible_keymaps_char_table): Obey `is_metized'.
812 (where_is_internal, Fwhere_is_internal): Don't confuse int and
813 Lisp_Object.
814
c596c392
GM
8152001-02-26 Gerd Moellmann <gerd@gnu.org>
816
817 * dispnew.c: Check HAVE_TERM_H before including term.h.
818
425de386
AI
8192001-02-24 Andrew Innes <andrewi@gnu.org>
820
821 * makefile.w32-in: Update copyright notice.
822
2ba11bbd
SM
8232001-02-24 Stefan Monnier <monnier@cs.yale.edu>
824
825 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
826
66c56ed1
KH
8272001-02-24 Kenichi Handa <handa@etl.go.jp>
828
4c1593ce
KH
829 * Makefile.in (lisp): Add international/utf-8.elc.
830
66c56ed1
KH
831 * fontset.c (Fnew_fontset): Fix handling of the case that an
832 element of FONTLIST is a cons of family and registry.
833
796ead7e
JR
8342001-02-23 Jason Rumney <jasonr@gnu.org>
835
836 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
837 to height unconditionally.
838
839 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 840 background face to the end of the drawing area in the text area, only.
796ead7e
JR
841 (x_insert_glyphs): Call window_box_left to obtain the left
842 x-coordinate of the area to shift.
843
844 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
845 safe_run_hooks.
846
f6839838
AI
8472001-02-22 Andrew Innes <andrewi@gnu.org>
848
52283633 849 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
850 ($(BLD)\dispnew.obj):
851 ($(BLD)\editfns.obj):
852 ($(BLD)\fileio.obj):
853 ($(BLD)\filelock.obj):
854 ($(BLD)\keyboard.obj):
855 ($(BLD)\w32proc.obj):
856 ($(BLD)\process.obj):
857 ($(BLD)\sysdep.obj): Ditto.
858
859 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
860 header files.
52283633
SM
861 ($(BLD)/dispnew.$(O)):
862 ($(BLD)/editfns.$(O)):
863 ($(BLD)/fileio.$(O)):
864 ($(BLD)/filelock.$(O)):
865 ($(BLD)/keyboard.$(O)):
866 ($(BLD)/w32proc.$(O)):
867 ($(BLD)/process.$(O)):
f6839838
AI
868 ($(BLD)/sysdep.$(O)): Ditto.
869
c224f70b
GM
8702001-02-22 Gerd Moellmann <gerd@gnu.org>
871
51695746
GM
872 * xdisp.c (forward_to_next_line_start): When taking the shortcut
873 at the start of the function, check that the \n in it->c is
874 from the iterator's current position.
52283633 875
a61b7058
GM
876 * xdisp.c (handle_single_display_prop): Add parameter
877 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
878 properties which replace the display of text with something else.
879 (handle_display_prop): Call handle_single_display_prop with
880 additional argument saying if we already replaced text display
881 with something else. Use AREF.
52283633 882 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
883 (decode_mode_spec_coding): Use AREF and ASIZE.
884
3473f362
GM
885 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
886 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
887 * vmstime.h: Files removed.
52283633 888
2bb58df3
GM
889 * unexencap.c, unexfx2800.c: Files removed.
890
c224f70b
GM
891 * dispnew.c (direct_output_for_insert): Give up if we are showing
892 a message or just cleared the message because we might need to
893 resize the echo area window or display an empty echo area.
894
ffc9ff0c
GM
8952001-02-21 Gerd Moellmann <gerd@gnu.org>
896
0528abe1
GM
897 * xdisp.c (redisplay_internal): Do the
898 mark_window_display_accurate after all windows have been
899 redisplayed because this call resets flags in buffers which are
900 needed for proper redisplay.
901
52283633
SM
902 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
903 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
904 the old names.
905
52283633
SM
906 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
907 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
908
909 * msdos.h (struct x_output): Rename busy_window to
910 hourglass_window, busy_p to hourglass_p.
911
52283633
SM
912 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
913 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
914
915 * xfns.c: Rename everything containing *busy_cursor* and similar
916 to *hourglass*.
917 (syms_of_w32fns): Rename x-busy-pointer-shape to
918 x-hourglass-pointer-shape, display-busy-cursor to
919 display-hourglass, busy-cursor-delay to hourglass-delay.
920
921 * w32fns.c: Rename everything containing *busy_cursor* and similar
922 to *hourglass*.
923 (syms_of_w32fns): Rename x-busy-pointer-shape to
924 x-hourglass-pointer-shape, display-busy-cursor to
925 display-hourglass, busy-cursor-delay to hourglass-delay.
926
927 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
928 of its busy_p flag.
929
930 * dispextern.h (start_hourglass, cancel_hourglass)
931 (display_hourglass_p): Renamed from *busy_cursor*.
932
ab2c5f0a
GM
9332001-02-20 Gerd Moellmann <gerd@gnu.org>
934
d17e49a8
GM
935 * keyboard.c (read_char): When an event from unread-command-events
936 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
937
fa97adf6
GM
938 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
939 equal to the current buffer.
940
ab2c5f0a
GM
941 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
942 nil, otherwise we're left with truncate_lines t when a message
943 is printed with message-truncate-lines bound to t.
944
aeac019e
GM
9452001-02-19 Gerd Moellmann <gerd@gnu.org>
946
c8bc6f65
GM
947 * window.c (Fmove_to_window_line): Undo last change.
948 (displayed_window_lines): Call line_bottom_y to determine
949 the line's bottom position.
950
951 * dispextern.h (line_bottom_y): Add prototype.
952
52283633 953 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
954 (pos_visible_p): Use it.
955
980a2d69
GM
956 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
957 set redisplaying_p to 0 here instead of in Frecursive_edit.
958 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
959 set redisplaying_p.
960
52283633 961 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
962 New variables.
963 (syms_of_xdisp): Initialize new variables.
964 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
965 Specbind `inhibit-menubar-update' when updating the menu bar.
966
65048e97
GM
967 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
968 safe_run_hooks.
969
970 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
971 safe_run_hooks.
972
a57c4026
GM
973 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
974 is null.
975
aeac019e
GM
976 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
977 to the start of the file.
978
76846b31
GM
9792001-02-16 Gerd Moellmann <gerd@gnu.org>
980
f3f053f3 981 * window.c (set_window_buffer): Fix last change.
52283633 982
f3f053f3
GM
983 * window.c (set_window_buffer): Set window's vscroll to 0.
984
dad75588
GM
985 * window.c (coordinates_in_window): Increase width of area
986 where the vertical line can be dragged.
987
c220b753
GM
988 * xterm.c (x_set_glyph_string_background_width): Extend the
989 background face to the end of the drawing area in the text
990 area, only.
991
c56b1c1b
GM
992 * xdisp.c (handle_single_display_prop): Set iterator's position
993 to where the `display' property starts, like for images.
994 (dump_glyph): New function.
995 (dump_glyph_row): Use it. Dump info about marginal areas.
996
997 * dispnew.c (direct_output_for_insert): Recognize more cases where
998 glyphs can be written instead of being inserted.
999
1000 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1001 the left x-coordinate of the area to shift.
1002
76846b31
GM
1003 * dired.c (directory_files_internal): Set result list to nil
1004 before retrying.
1005
0fc71a77
KH
10062001-02-15 Kenichi Handa <handa@etl.go.jp>
1007
1008 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1009 invalid multibyte sequence, treat *SRC as a character of
1010 eight-bit-graphic.
1011
25078b54
EZ
10122001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1013
1014 * textprop.c (Fset_text_properties): Doc fix.
1015
8399f8a0
GM
10162001-02-15 Gerd Moellmann <gerd@gnu.org>
1017
1018 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1019
9a2a6f73
DL
10202001-02-14 Dave Love <fx@gnu.org>
1021
1022 * coding.c: Doc and message fixes.
1023
bf853fee
AI
10242001-02-14 Andrew Innes <andrewi@gnu.org>
1025
1026 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1027 Emacs frame above the screen size.
1028
78c663d8
GM
10292001-02-14 Gerd Moellmann <gerd@gnu.org>
1030
1031 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1032
7cc9f69f
GM
10332001-02-13 Gerd Moellmann <gerd@gnu.org>
1034
0a411995
GM
1035 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1036 case that TO ends up beyond ZV after running before-change-functions.
1037
5ddc1b75
GM
1038 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1039 the selected window if it is showing the buffer in question.
1040
7cc9f69f
GM
1041 * dired.c (directory_files_internal): Initialize errno.
1042 (toplevel): Include errno.h.
1043
2e6621ca
GM
10442001-02-13 Kenichi Handa <handa@etl.go.jp>
1045
1046 * xfaces.c (best_matching_font): New parameter width_ratio.
1047 Multiply avgwidth by width_ratio.
1048 (choose_face_font): Call best_matching_font with width_ratio
1049 calculated from the column width of C.
1050
60222d69
AI
10512001-02-12 Andrew Innes <andrewi@gnu.org>
1052
1053 The following changes are to draw box lines inside characters area
1054 if line-width is negative.
52283633 1055
60222d69
AI
1056 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1057 face->box_line_width is negative.
1058 (x_produce_stretch_glyph): Likewise.
1059 (x_produce_glyphs): Likewise.
1060 (x_estimate_mode_line_height): Likewise.
1061 (x_draw_glyph_string_background): Likewise.
1062 (x_draw_glyph_string_foreground): Likewise.
1063 (x_draw_composite_glyph_string_foreground): Likewise.
1064 (x_draw_glyph_string_box): Likewise.
1065 (x_draw_image_foreground): Likewise.
1066 (x_draw_image_relief): Likewise.
1067 (x_draw_image_foreground_1): Likewise.
1068 (x_draw_image_glyph_string): Likewise.
1069
9804b846
KH
10702001-02-09 Kenichi Handa <handa@etl.go.jp>
1071
1072 The following changes are to draw box lines inside characters area
1073 if line-width is negative.
52283633 1074
9804b846
KH
1075 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1076 face->box_line_width is negative.
1077 (x_produce_stretch_glyph): Likewise.
1078 (x_produce_glyphs): Likewise.
1079 (x_estimate_mode_line_height): Likewise.
1080 (x_draw_glyph_string_background): Likewise.
1081 (x_draw_glyph_string_foreground): Likewise.
1082 (x_draw_composite_glyph_string_foreground): Likewise.
1083 (x_draw_glyph_string_box): Likewise.
1084 (x_draw_image_foreground): Likewise.
1085 (x_draw_image_relief): Likewise.
1086 (x_draw_image_foreground_1): Likewise.
1087 (x_draw_image_glyph_string): Likewise.
1088
1089 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1090 and :line-width can be negative.
52283633 1091 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1092
49be9f70
JR
10932001-02-09 Jason Rumney <jasonr@gnu.org>
1094
1095 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1096 characters the same as ASCII and latin-1.
1097 (x_display_and_set_cursor): Check for the focus frame's selected
1098 window instead of selected_window.
1099 (x_after_update_window_line): Don't clear if frame's internal
1100 border width is zero.
1101 (x_new_font): Don't change a tooltip's size.
1102 (w32_initialize): Set char_ins_del_ok to 1.
1103
1104 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1105 (x_set_font): If font hasn't changed, avoid recomputing
1106 faces and other things.
52283633
SM
1107 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1108 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1109 (x_create_tip_frame): Prevent changing the tooltip's
1110 background color by specifying a color for the default font
1111 in .Xdefaults.
1112 (Qcancel_timer): New variable.
1113 (syms_of_w32fns): Initialize and staticpro it.
1114 (Fx_hide_tip, Fx_show_tip): Use it.
1115 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1116 the timer.
1117 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1118
1119 * w32.c (init_environment): Duplicate local string before putenv.
1120
555e35d2
SZ
11212001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1122
1123 * charset.c (Fstring): A typo.
1124
19c92c94
KH
11252001-02-09 Kenichi Handa <handa@etl.go.jp>
1126
e47a1c33
KH
1127 * charset.c (Fstring): If all arguments are less than 256, return
1128 a unibyte string.
1129
1130 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1131 return a unibyte string.
1132
19c92c94
KH
1133 * coding.c (code_convert_region): After detecting a coding, if
1134 nothing found, set coding->composing to COMPOSITION_NO.
1135 (decode_coding_string): Likewise.
1136
d8e675f5
SM
11372001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1138
1139 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1140 to avoid overflow.
1141
bd503487
KH
11422001-02-07 Kenichi Handa <handa@etl.go.jp>
1143
1144 * charset.c (parse_str_to_multibyte): New function.
1145
1146 * charset.h (parse_str_to_multibyte): Extern it.
1147
1148 * print.c (print_string): If we are going to print a unibyte
1149 string into a multibyte buffer, convert the string to multibyte by
1150 str_to_multibyte.
1151
a8370d72
AI
11522001-02-06 Andrew Innes <andrewi@gnu.org>
1153
1154 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1155 been created. It seems we can get sent window messages such as
1156 WM_ERASEBKGND before we properly update a frame.
1157
c363a1d6
GM
11582001-02-06 Gerd Moellmann <gerd@gnu.org>
1159
1160 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1161 Avoid some unnecessary cursor positioning.
1162
a08332c0
GM
11632001-02-05 Gerd Moellmann <gerd@gnu.org>
1164
52283633 1165 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1166 (LFACE_AVGWIDTH): New macro.
1167 (LFACEP): Use AREF.
1168 (check_lface_attrs): Check LFACE_AVGWIDTH.
1169 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1170 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1171 (merge_face_vectors): Check LFACE_AVGWIDTH.
1172 (Finternal_make_lisp_face): Use AREF.
1173 (xm_set_menu_resources_from_menu_face)
1174 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1175 (Finternal_lisp_face_empty_p): Use AREF.
1176 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1177 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1178 Compare average widths..
1179 (best_matching_font): Arrange for comparing average widths.
1180
52283633
SM
1181 * dispextern.h (enum lface_attribute_index):
1182 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1183
5cb3c8d4
DL
11842001-02-05 Dave Love <fx@gnu.org>
1185
1186 * puresize.h: Revert last change following loadup.el change.
1187
193fba87
AI
11882001-02-05 Andrew Innes <andrewi@gnu.org>
1189
1190 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1191 invocation of temacs, to work with Windows 2000.
1192 (bootstrap-emacs): Ditto.
1193
e16f52ce
GM
11942001-02-05 Gerd Moellmann <gerd@gnu.org>
1195
7a58ab59
GM
1196 * xterm.c (x_display_and_set_cursor): Check for the focus
1197 frame's selected window instead of selected_window.
1198
e89aaabd
GM
1199 * xdisp.c (try_scrolling): If point is in the line below the
1200 window, make sure to move the iterator at least a canonical
1201 char height down.
1202
52283633 1203 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1204
789ce875
KH
12052001-02-05 Kenichi Handa <handa@etl.go.jp>
1206
52283633
SM
1207 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1208 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1209 (ccl_driver): If the CCL program is terminated because of
1210 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1211 destination instead of throwing them away.
1212
20b28f82
GM
12132001-02-02 Gerd Moellmann <gerd@gnu.org>
1214
79fb38c0
GM
1215 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1216 faces and other things.
1217
20b28f82
GM
1218 * xdisp.c (get_next_display_element): Fix case of empty
1219 display table entry.
1220
5a72551e
EZ
12212001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1222
eb24d0bf
EZ
1223 * editfns.c (Fconstrain_to_field): Doc fix.
1224
6a3f48c7
EZ
1225 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1226 into `thoroughly', to make it consistent with the doc string.
1227
5a72551e
EZ
1228 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1229
01acdb05
GM
12302001-02-01 Gerd Moellmann <gerd@gnu.org>
1231
0353b28f
GM
1232 * search.c (search_buffer): Call set_search_regs with a byte
1233 position, not a character position.
1234
01acdb05
GM
1235 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1236 minibuffer-only,
1237
e86b5133
EZ
12382001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1239
1240 * frame.c (Fmodify_frame_parameters): Doc fix.
1241
7442878f
GM
12422001-01-31 Gerd Moellmann <gerd@gnu.org>
1243
01acdb05
GM
1244 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1245 identifier which is not reserved by Standard C.
52283633 1246
7442878f
GM
1247 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1248
1249 * window.c (enum window_part): New enumeration.
1250 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1251 Qright_bitmap_area.
1252 (coordinates_in_window): Return an enumerator from enum
1253 window_part. Fix handling of right scroll bar.
1254 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1255 `right-fringe' instead of `left-bitmap-area' and
1256 `right-bitmap-area'. Use enumerators from enum window_part
1257 instead of hard-coded integers.
52283633
SM
1258 (check_window_containing, window_from_coordinates):
1259 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1260 (syms_of_window): Replace Qleft_bitmap_area and
1261 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1262
7c132cba
EZ
12632001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1264
1265 * editfns.c (Fformat_time_string): Doc fix.
1266
c359dd9e
SM
12672001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1268
1269 * keymap.c (Fwhere_is_internal): Use the first valid binding
1270 if no ascii binding is found (when firstonly is t).
1271
ce070307
GM
12722001-01-31 Gerd Moellmann <gerd@gnu.org>
1273
b4f30ec5
GM
1274 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1275 instead of Finteractive_p.
1276
1277 * lisp.h (interactive_p): Add prototype.
1278
1279 * eval.c (interactive_p): New function.
1280 (Finteractive_p): Use it.
1281
ce070307
GM
1282 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1283
f57b6e64
DL
12842001-01-31 Dave Love <fx@gnu.org>
1285
d61c7afe
DL
1286 * .gdbinit (hook-run): Define to run xreload.
1287
f57b6e64
DL
1288 * textprop.c (Fset_text_properties): Fix newline in doc string.
1289
eef93f99
GM
12902001-01-30 Gerd Moellmann <gerd@gnu.org>
1291
52283633
SM
1292 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1293 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1294
1295 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1296 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1297 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1298
1299 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1300 height.
1301
d9c1f6f9
DL
13022001-01-30 Dave Love <fx@gnu.org>
1303
1304 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1305 AFTER_POTENTIAL_GC.
1306
e8f044a0
GM
13072001-01-29 Gerd Moellmann <gerd@gnu.org>
1308
52283633
SM
1309 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1310 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1311
8e1db7b3
EZ
13122001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1313
1314 * textprop.c (Fset_text_properties): Doc fix.
1315
4eefd9d2
GM
13162001-01-29 Gerd Moellmann <gerd@gnu.org>
1317
1318 * xdisp.c (forward_to_next_line_start): Remove xassert.
1319
fccb8288
EZ
13202001-01-29 Jason Rumney <jasonr@gnu.org>
1321
4eefd9d2 1322 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1323 returning without releasing it.
1324
76581eab
KH
13252001-01-29 Kenichi Handa <handa@etl.go.jp>
1326
1327 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1328 for '^', '$', and '\0'.
1329
83a96b4d
AC
13302001-01-28 Andrew Choi <akochoi@i-cable.com>
1331
5604ec34
AC
1332 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1333 regex for '^', '$', and '\0'.
1334
83a96b4d
AC
1335 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1336 only if current_sblock has been initialized.
1337
1338 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1339 terminal frame even if it is the only visible frame.
1340
c09a6440
KH
13412001-01-28 Kenichi Handa <handa@etl.go.jp>
1342
1343 * fontset.c (font_family_registry): Even if FONTNAME conform to
1344 XLFD, if it specifies other fields than family and registry,
52283633 1345 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1346 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1347 a signle byte character. Don't set FAMILY part to nil here.
1348 It is handled by the caller choose_face_font.
c09a6440
KH
1349 (Fnew_fontset): Call font_family_registry with FORCE 0.
1350 (Fset_fontset_font): Likewise.
1351
4dcd74e6
GM
13522001-01-27 Gerd Moellmann <gerd@gnu.org>
1353
1354 * xdisp.c (display_line): Don't treat a newline as fitting
1355 on the line.
1356
d2906bf8
GM
13572001-01-26 Gerd Moellmann <gerd@gnu.org>
1358
0130fe1a
GM
1359 * window.c (size_window): Set the window's orig_top to nil when
1360 changing heights, so that a future shrink_mini_window won't
1361 restore a bogus height.
1362
550f0e6a
GM
1363 * frame.c (do_switch_frame): If selected frame has a mini-window,
1364 resize that to exact size.
1365
b7b20fbd
GM
1366 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1367
a47b7816
GM
1368 * xdisp.c (display_line): Simplify check for glyphs fitting
1369 entirely in the line.
1370
d2906bf8
GM
1371 * xfns.c (xic_style): New variable.
1372 (create_frame_xic): Move static variable to global scope for
550f0e6a 1373 the case that `static' gets defined away.
d2906bf8 1374
73df2b1e
KH
13752001-01-26 Kenichi Handa <handa@etl.go.jp>
1376
1377 * coding.c (decode_coding): Set a flag for inhibiting
1378 inconsistent eol.
1379 (code_convert_region): Always set saved_coding_symbol.
1380 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1381 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1382
6613cfc4
GM
13832001-01-25 Gerd Moellmann <gerd@gnu.org>
1384
c5e6e06b
GM
1385 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1386 XClearArea.
1387
1388 * xterm.c (x_after_update_window_line): Don't clear if frame's
1389 internal border width is zero.
1390 (x_clear_area): New function.
1391 (x_after_update_window_line, x_clear_end_of_line)
1392 (x_scroll_bar_create, x_scroll_bar_set_handle)
1393 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1394 instead of XClearArea.
1395
1396 * xterm.h (x_clear_area): Add prototype.
1397
6613cfc4
GM
1398 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1399 which doesn't seem necessary anymore with Lesstif 0.92.
1400
650cc6cc
DL
14012001-01-25 Dave Love <fx@gnu.org>
1402
34ac3367
DL
1403 * puresize.h (BASE_PURESIZE): Up to 720000.
1404
650cc6cc
DL
1405 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1406
5e37dc22
GM
14072001-01-25 Gerd Moellmann <gerd@gnu.org>
1408
e1e441f9
GM
1409 * xdisp.c (echo_area_display): Don't call redisplay_internal
1410 when Emacs is shutting down. We can't run hooks etc. that
1411 would be necessary to do a redisplay.
1412
5e37dc22
GM
1413 * lread.c (read_integer): Use type EMACS_INT instead of int.
1414
0fb94c7f
EZ
14152001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1416
1417 * ccl.c (ccl_driver): Fix last change.
1418
e3778624
KH
14192001-01-25 Kenichi Handa <handa@etl.go.jp>
1420
1421 * ccl.h (sturct ccl_program): New member suppress_error.
1422
bb264518 1423 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1424 insert error message to the output.
1425 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1426
1427 * coding.h (struct coding_system): New member suppress_error.
1428
1429 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1430 (Fset_terminal_coding_system_internal): Set the member
1431 suppress_error to 1.
1432 (Fset_safe_terminal_coding_system_internal): Likewise.
1433
245ed2b1
SM
14342001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1435
1436 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1437 as if it was a `charset'.
1438
f9aaedb6
GM
14392001-01-24 Gerd Moellmann <gerd@gnu.org>
1440
1441 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1442 value in where_is_cache; the next lookup in the cache returns
1443 something bogus if we do.
1444
c3902c3e
EZ
14452001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1446
1447 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1448 if HAVE_WINDOW_SYSTEM isn't defined.
1449
3497f73e
GM
14502001-01-24 Gerd Moellmann <gerd@gnu.org>
1451
e7e41584
GM
1452 * fns.c (sweep_weak_table): Fix code taking items out of
1453 the hash collision chain. Some cleanup.
1454
3497f73e
GM
1455 * xterm.c (x_new_font): Don't change a tooltip's size.
1456
1457 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1458 background color by specifying a color for the default font
1459 in .Xdefaults.
1460
3d48e687
KH
14612001-01-24 Kenichi Handa <handa@etl.go.jp>
1462
96531b20
KH
1463 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1464 a workaround for SunOS 4's cc.
1465 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1466 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1467 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1468 statement.
3d48e687 1469
a30629d2
GM
14702001-01-23 Gerd Moellmann <gerd@gnu.org>
1471
1472 * xterm.c (x_set_window_size_1): New function extracted from
1473 x_set_window_size.
1474 (x_set_window_size): Use it.
1475 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1476 doesn't have a widget, like tooltips.
1477
5a43decf
EZ
14782001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1479
52283633 1480 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1481
b0e98867
KH
14822001-01-23 Kenichi Handa <handa@etl.go.jp>
1483
1484 * fns.c (Fset_char_table_default): Fix to make sub char-table
1485 correctly.
1486
50606b4c
GM
14872001-01-22 Gerd Moellmann <gerd@gnu.org>
1488
cb2ddc53 1489 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1490 a desired tool bar string, even if there are no tool bar items.
1491
57c28064
GM
1492 * xdisp.c (Ftool_bar_lines_needed): New function.
1493 (syms_of_xdisp): Defsubr it.
1494
50606b4c
GM
1495 * editfns.c (Fformat): Don't extend text properties from arguments
1496 to padding chars in the result.
1497
2f169c38
EZ
14982001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1499
1500 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1501
0f32f023
AI
15022001-01-20 Andrew Innes <andrewi@gnu.org>
1503
52283633 1504 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1505 (w32_initialize): Don't set term hooks that aren't actually needed
1506 in windowed mode.
1507
1508 * xfaces.c (realize_default_face):
1509 (realize_face):
1510 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1511
1512 * xdisp.c (handle_single_display_prop): Remove references to
1513 FRAME_W32_CONSOLE_P.
1514
52283633 1515 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1516
1517 * frame.h (output_method): Remove output_w32_console method.
1518 (FRAME_W32_CONSOLE_P): Remove macro.
1519
1520 * frame.c (Qw32_console): Remove variable.
1521 (Fframep): Remove references to it.
1522 (syms_of_frame): Ditto.
1523 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1524
1525 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1526 redefinition.
1527
7173eada
KH
15282001-01-20 Kenichi Handa <handa@etl.go.jp>
1529
1530 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1531
755b45ce
AI
15322001-01-19 Andrew Innes <andrewi@gnu.org>
1533
1534 * w32.c (init_environment): Add a version-independent site-lisp
1535 directory to EMACSLOADPATH, after the version dependent one.
1536
0a949811
GM
15372001-01-19 Gerd Moellmann <gerd@gnu.org>
1538
8501998a
GM
1539 * editfns.c (Fbuffer_substring): Doc fix.
1540
52283633
SM
1541 * xdisp.c (message_dolog, message2, message2_nolog):
1542 Rename parameter LEN to NBYTES.
0a949811 1543
e6ebcbbe
KH
15442001-01-19 Kenichi Handa <handa@etl.go.jp>
1545
200ecca2
KH
1546 * charset.c (strwidth): Use c_string_width.
1547 (c_string_width): New function.
1548 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1549 Caller changed.
1550
1551 * charset.h (c_string_width, lisp_string_width): Extern them.
1552
52283633 1553 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1554
e6ebcbbe
KH
1555 * indent.c (check_composition): Check validity of composition.
1556
200ecca2
KH
1557 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1558 characters by calling c_string_width.
1559 (x_consider_frame_title): Get byte length of frame tile string
1560 correctly.
1561 (display_mode_element): Pay attention to width of non-ASCII
1562 characters by calling strwidth.
1563
8692ca92
GM
15642001-01-18 Gerd Moellmann <gerd@gnu.org>
1565
8962e303
GM
1566 * xfns.c (Qcancel_timer): New variable.
1567 (syms_of_xfns): Initialize and staticpro it.
1568 (Fx_hide_tip, Fx_show_tip): Use it.
1569 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1570 the timer.
1571 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1572
91523be9
GM
1573 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1574
1575 * window.h (WINDOW_LIVE_P): New macro.
1576
b0b7ed0e
GM
1577 * window.c (window_size_fixed): New variable.
1578 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1579 the doc string.
1580
06bccf8e
GM
1581 * eval.c (specbind): If binding a per-buffer variable which
1582 doesn't have a buffer-local value in the current buffer, change
1583 the global value by changing the value of the symbol bound in all
1584 buffers not having their own value, to make it consistent with
1585 what happens with other buffer-local variables.
1586
8692ca92
GM
1587 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1588
1589 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1590 when searching for a newline.
1591
bb3a3b50
KH
15922001-01-18 Kenichi Handa <handa@etl.go.jp>
1593
1594 * xdisp.c (display_string): Fix previous change.
1595
c2cc16fa
JR
15962001-01-18 Jason Rumney <jasonr@gnu.org>
1597
1598 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1599 GLYPH_DEBUG is defined.
1600 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1601 true for images with `:ascent 100'.
1602 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1603 meantime, use face MOUSE_FACE_ID.
1604 If first glyph isn't a character glyph, use the ASCII NUL
1605 character to determine the face.
1606 (expose_area): Do not treat left margin specially.
1607 (note_mode_line_highlight): If no local_map, check global keymap.
1608 (note_mouse_highlight): Initialize overlay.
52283633 1609 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1610 (show_scroll_bars): Remove unused function.
1611 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1612 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1613 Clip to row.
52283633 1614 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1615 (x_free_frame_resources): Unload relief colors.
1616
9c11f79e
GM
16172001-01-17 Gerd Moellmann <gerd@gnu.org>
1618
3aec8722 1619 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1620 get_next_display_element when the newline is already found.
1621 This may change the iterator's position, when its current position is
3aec8722
GM
1622 equal to the iterator's stop_charpos.
1623
f3ffc2c3
GM
1624 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1625 zero, use this method only at the end of a line.
1626
52283633 1627 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1628 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1629 if SCALABLE_FONTS_P is set.
52283633 1630
d26d6fd9
GM
1631 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1632 so that scalable fonts are included.
1633
9c11f79e
GM
1634 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1635 In the cache, use a key containing the information if scalable
1636 fonts are included.
1637 (x_load_font): Adapt to change of keys in the font cache.
1638
16392001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1640
d26d6fd9
GM
1641 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1642 XListFonts to take advantage of font caching.
1643
9c11f79e
GM
1644 * xterm.c (x_list_fonts): Ensure caching font information when
1645 called for a null frame, which is the case frequently when Emacs
1646 starts.
1647
51446987
GM
16482001-01-17 Gerd Moellmann <gerd@gnu.org>
1649
f864120f
GM
1650 * xfns.c (QCconversion): Replaces QCalgorithm.
1651
1652 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1653
1654 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1655 of :algorithm.
52283633 1656
e37d1417
GM
1657 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1658 not everything could be displayed.
1659
51446987
GM
1660 * line.h, x-list-font.c: Files removed because unused.
1661
9ad4f3e5
AI
16622001-01-17 Andrew Innes <andrewi@gnu.org>
1663
1664 * dired.c (directory_files_internal): Convert result from readdir
1665 to a unibyte string initially, to avoid possible misinterpretation
1666 of some bytes as the internal form of Emacs characters.
1667
2eda09b5
KH
16682001-01-17 Kenichi Handa <handa@etl.go.jp>
1669
1670 * fns.c (concat): Be sure to avoid putting the same `composition'
1671 property on the adjacent regions.
1672
826f3788
GM
16732001-01-16 Gerd Moellmann <gerd@gnu.org>
1674
52283633 1675 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1676 (Fscroll_right, Fscroll_left): Set it here instead, if called
1677 interactively.
1678
d57b83b3
GM
1679 * buffer.c (Fset_buffer_modified_p): Set buffer's
1680 prevent_redisplay_optimizations_p flag.
1681
826f3788 1682 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1683 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1684 with additional arg.
1685
1686 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1687 Change prototype.
826f3788 1688
826f3788
GM
1689 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1690 FROM_WHERE, for debugging.
1691
261d788b
KH
16922001-01-16 Kenichi Handa <handa@etl.go.jp>
1693
1694 * ccl.c (Fregister_ccl_program): Handle the return value of
1695 resolve_symbol_ccl_program correctly.
52283633 1696 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1697
bccee4f2
GM
16982001-01-15 Gerd Moellmann <gerd@gnu.org>
1699
e4ded23c
GM
1700 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1701 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1702
1703 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1704 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1705 the display; we didn't open it.
1706
bccee4f2
GM
1707 * dispnew.c (save_or_restore_current_matrices): Function removed.
1708 (save_current_matrix, restore_current_matrix): New functions.
1709 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1710 restore the frame's current matrix. Due to the glyph pointer
1711 setup done in adjust_glyph_matrix, there is no easy way to make
1712 saving the current matrix in the desired matrix generally correct,
1713 so don't try it.
1714
ebeccffa
KH
17152001-01-15 Kenichi Handa <handa@etl.go.jp>
1716
1717 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1718 truncation glyphs.
1719 (display_line): Optimize for wide characters.
e4ded23c 1720 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1721 partially. On ttys, produce more than one truncation glyph for
1722 multi-column characters that don't fit on the line.
1723
64388126
KH
17242001-01-13 Kenichi Handa <handa@etl.go.jp>
1725
52283633
SM
1726 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1727 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1728
8edb0a6f
JR
17292001-01-13 Jason Rumney <jasonr@gnu.org>
1730
1731 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1732 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1733 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1734 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1735
52283633
SM
1736 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1737 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1738 (x_draw_image_glyph_string): Adapt to change of image margins.
1739
1740 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1741 variables.
1742
1743 * w32bdf.c (search_file_line, get_cached_font_char)
1744 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1745
1746 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1747
1748 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1749 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1750 (Fw32_send_sys_command): Remove unused variables.
1751 (w32_msg_pump): Add parentheses.
1752
1753 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1754 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1755 Add parentheses.
1756
4956d1ef
GM
17572001-01-12 Gerd Moellmann <gerd@gnu.org>
1758
b30623be
GM
1759 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1760 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1761 being a pair of margins.
1762 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1763 to DEFVAR_LISP. Extend doc.
1764
1765 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1766 margins.
1767 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1768 pair of integers `(X . Y)', use X for the horizontal and Y for the
1769 vertical margin.
1770 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1771 (parse_image_spec): Check it.
52283633
SM
1772 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1773 (tiff_format, gif_format, gs_format):
1774 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1775
52283633
SM
1776 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1777 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1778 (x_draw_image_glyph_string): Adapt to the change of image margins.
1779
1780 * dispextern.h (struct image): Replace member `margin' with
1781 `hmargin' and `vmargin'.
1782
4554cc79
GM
1783 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1784 and GLYPHS.
1785
1786 * dispnew.c (update_text_area): Put code which decrements the
1787 stop position when the row's face extends to the end of the
3bffc665 1788 line in #if 0.
4554cc79 1789
3cccce8d
GM
1790 * xfns.c (x_set_mouse_color): Fix color allocation.
1791
4956d1ef
GM
1792 * keyboard.c: Call get_local_map with new argument list.
1793
1794 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1795
1796 * intervals.h (enum map_property): Removed.
1797 (get_local_map): Change prototype.
1798
1799 * keymap.c: Call get_local_map with new argument list.
1800 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1801
2c2ff7f2
GM
18022001-01-11 Gerd Moellmann <gerd@gnu.org>
1803
a23887b9
GM
1804 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1805 of the size needed for the tool bar string. For the last image,
1806 use a `display' property that reaches to the end of the string.
1807
a7ee2d2e
GM
1808 * xselect.c (selection_request_dpyinfo): New variable.
1809 (x_handle_selection_request): Set it.
1810 (x_selection_request_lisp_error): Don't call
1811 x_decline_selection_request if selection request's display has
1812 been closed.
1813
52283633
SM
1814 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1815 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1816
457b792c
GM
18172001-01-10 Dave Love <fx@gnu.org>
1818
1819 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1820 ${SOME_MACHINE_LISP}, not ${lisp}.
1821
c1efd260
GM
18222001-01-10 Gerd Moellmann <gerd@gnu.org>
1823
52283633
SM
1824 * xdisp.c (display_line): On ttys, produce more than one truncation
1825 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1826
ac95a621
GM
1827 * xselect.c (x_reply_selection_request): Add a comment.
1828
c1efd260
GM
1829 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1830 XkbGetNames instead of XkbGetKeyboard.
1831
1bfb1345
DL
18322001-01-10 Dave Love <fx@gnu.org>
1833
1834 * sysdep.c (random): Revert the declaration.
1835
38119822
GM
18362001-01-09 Gerd Moellmann <gerd@gnu.org>
1837
52283633
SM
1838 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1839 Call function string_bytes.
35f464a7
GM
1840 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1841
1842 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1843 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1844 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1845 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1846 the current sblock.
1847 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1848 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1849 after sweeping strings, and at the end.
1850 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1851
38119822
GM
1852 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1853 ensure that pop_message is called.
1854
1855 * keyboard.c (Fexecute_extended_command): Use a
1856 record_unwind_protect to ensure that pop_message is called.
1857
1858 * lisp.h (push_message_unwind): Add prototype.
1859
1860 * xdisp.c (push_message_unwind): New function.
1861
1862 * fileio.c (do_auto_save_unwind): Do the pop_message here
1863 instead of in Fdo_auto_save.
1864 (Fdo_auto_save): Don't call pop_message.
1865
f47a9ec4
KR
18662001-01-08 Ken Raeburn <raeburn@gnu.org>
1867
1868 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1869 in inner block.
1870
a758f97d
GM
18712001-01-08 Gerd Moellmann <gerd@gnu.org>
1872
6d0afc03
GM
1873 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1874 when increasing window's vscroll.
1875
a758f97d
GM
1876 * macros.c (Qkbd_macro_termination_hook): New variable.
1877 (syms_of_macros): Initialize and staticpro it.
1878 (pop_kbd_macro): Run kbd-macro-termination-hook.
1879
1880 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1881
1bfb1345 18822001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1883
1884 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1885 arglist, for documentation's sake.
1886
0dac6924
AI
18872001-01-06 Andrew Innes <andrewi@gnu.org>
1888
1889 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1890 of *.pdb.
1891
8182406a
AI
18922001-01-05 Andrew Innes <andrewi@gnu.org>
1893
1894 * term.c (update_end): Don't check updating_frame; for some reason
1895 this can be 0 sometimes, such as after dismissing a popup menu,
1896 and isn't necessary given the explicit frame argument.
1897
3828218c
GM
18982001-01-05 Gerd Moellmann <gerd@gnu.org>
1899
1900 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1901 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1902
2f5ded21
GM
19032001-01-04 Gerd Moellmann <gerd@gnu.org>
1904
52283633 1905 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1906
1907 * xfns.c (x_create_tip_frame): Preserve the value of
1908 face_change_count around the creation of the tip frame.
52283633 1909
2f5ded21
GM
1910 * xfns.c (last_show_tip_args): New variable.
1911 (compute_tip_xy): New function.
1912 (Fx_show_tip): Reuse an existing tip frame, if possible.
1913 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1914
dfad65fa
DL
19152001-01-04 Dave Love <fx@gnu.org>
1916
64d4ec0f
DL
1917 * editfns.c (Fformat): Doc fix.
1918
dfad65fa
DL
1919 * systime.h (set_file_times): Prototype.
1920
1921 * widget.h (EmacsFrameSetCharSize_): Prototype.
1922
1923 * sysdep.c (random, srandom): Declare explicitly.
1924
1925 * dispextern.h (move_it_vertically_backward): Declare.
1926
85fe3b5e
GM
19272001-01-04 Gerd Moellmann <gerd@gnu.org>
1928
0f2ac578
GM
1929 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1930 like in Fx_create_frame.
1931
482cca61
GM
1932 * xfaces.c (set_font_frame_param): Don't do anything for
1933 non-graphical frames.
1934
85fe3b5e
GM
1935 * window.c (Fdelete_other_windows): Set window's window_end_valid
1936 to nil when changing the window's start. Don't change the
1937 window's start when its top position hasn't changed. If we do,
1938 this will set the window's optional_new_start, which act's like a
1939 force_start during redisplay with C-x 1 M-> under particular
1940 circumstances (see report from Per Starback to emacs-pretest-bug
1941 from 2000-12-13.).
1942
3e99d3b4
GM
19432001-01-03 Gerd Moellmann <gerd@gnu.org>
1944
a77dc1ec
GM
1945 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1946 short cut at the start of the function. Add an assertion.
1947 (reseat_at_next_visible_line_start): Add an assertion.
1948
2f3cad6c
GM
1949 * window.c (Frecenter): When changing the window start, set the
1950 window's window_end_valid to nil.
1951 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1952
1953 * dispextern.h (move_it_past_eol): Add prototype.
1954
1955 * xdisp.c (move_it_past_eol): New function.
1956
3e99d3b4
GM
1957 * window.c (Fwindow_end): Doc fix.
1958
19592001-01-03 Dave Love <fx@gnu.org>
1960
52283633 1961 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 1962
bafb434c
GM
19632001-01-03 Gerd Moellmann <gerd@gnu.org>
1964
1965 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1966 the enabled_p flag of the glyph row at window_end_vpos to 0.
1967 (handle_single_display_prop): Fix last change.
1968
5297fb00
RS
19692001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1970
1971 * window.c (Frecenter): Doc fix.
1972
13d6a61c
AI
19732001-01-02 Andrew Innes <andrewi@gnu.org>
1974
1975 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1976
1977 * frame.h (output_method): Add output_w32_console method.
1978 (FRAME_W32_CONSOLE_P): New macro.
1979
1980 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1981 use output_w32_console method.
1982 (Qw32_console): New Lisp_Object.
1983 (Fframep): Return it.
1984 (syms_of_frame): Init it.
52283633 1985 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
1986
1987 * xfaces.c (realize_default_face): Set face foreground and
1988 background to unspecified for w32_console frames.
1989 (realize_face): Realize face cache for w32_console frames.
1990 (realize_tty_face): Accept w32_console frames.
1991
52283633 1992 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
1993 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1994 necessary, even if running interactively.
1995
1996 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1997 w32_console frames.
1998
52283633
SM
1999 * w32term.c (x_update_begin):
2000 (x_update_end):
2001 (x_clear_frame):
2002 (x_ins_del_lines):
2003 (x_change_line_highlight):
2004 (x_delete_glyphs):
2005 (w32_ring_bell):
2006 (x_update_begin):
2007 (x_update_end):
2008 (w32_reassert_line_highlight):
2009 (w32_frame_rehighlight):
13d6a61c
AI
2010 (w32_frame_raise_lower): Do nothing if not w32 frame.
2011
2012 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2013
2014 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2015 system doesn't tell us directly.
2016 (Fx_display_visual_class): Implement properly.
2017
d6bb0c0d
GM
20182001-01-02 Gerd Moellmann <gerd@gnu.org>
2019
2020 * window.c (Frecenter): Handle centering in graphical frames
2021 specially. Centering on the basis of line counts doesn't work
2022 reliably with variable-height lines.
52283633 2023
315f5865
EZ
20242001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2025
2026 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2027 and al[].
2028
52283633 2029 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2030 (update_compositions): Remove unused variable `hook'.
2031
2032 * intervals.c (get_local_map): Remove unused variable `tem'.
2033
2034 * doprnt.c (doprnt1): Remove unused variable `size'.
2035
2036 * fns.c (Flength): Remove unused variable `tail'.
2037 (Fdelete): Remove unused variable `size'.
2038
2039 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2040 and `gcpro2'.
2041
52283633 2042 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2043
2044 * data.c (find_symbol_value): Remove extra 3rd argument in the
2045 call to swap_in_symval_forwarding.
2046
52283633 2047 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2048
2049 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2050 (trivial_regexp_p): Remove unused variable `c'.
2051 (boyer_moore): Remove unused variable `k'.
2052
2053 * indent.c (current_column): Remove unused variable `stopchar'.
2054 (Fcompute_motion): Remove unused variable `contin'.
2055
2056 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2057
2058 * dired.c (directory_files_internal): Fix a typo in a comment.
2059 Remove an unused variable `handler'.
52283633 2060 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2061 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2062 on BSD4_2.
2063
52283633 2064 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2065
2066 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2067 and `buf'.
2068 (Fmarker_insertion_type): Remove unused variable `buf'.
2069
2070 * insdel.c (make_gap): Remove unused variable `result'.
2071
52283633 2072 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2073 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2074 (menu_bar_items): Remove unused function-scope variable `tem'.
2075
2076 * fontset.c (fontset_ref): Remove unused variable `i'.
2077 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2078 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2079 (make_fontset_for_ascii_face): Remove unused variable `name'.
2080 (fs_load_font): Remove unused variable `font_idx'.
52283633 2081 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2082 (list_fontsets): Remove unused variable `tail'.
2083 (Fnew_fontset): Remove unused variables `family' and `registry'.
2084 (accumulate_font_info): Remove unused variable `tmp'.
2085 (Ffontset_font): Remove unused variable `id'.
2086 (syms_of_fontset): Remove unused variable `i'.
2087
2088 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2089 to x_term_init.
2090 (lookup_image): Remove unused variable `file'.
2091 (xbm_load): Remove unused variables `bitmap_data', `height', and
2092 `width'. Remove function-local variable `i', leave the
2093 block-local one.
2094 (gif_load): Remove unused variable `inc'.
2095
52283633 2096 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2097 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2098 leave only the one in the inner block.
2099
2100 * xfaces.c (face_fontset, realize_default_face): Remove unused
2101 variable `fontset'.
2102 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2103
2104 * term.c (encode_terminal_code): Remove unused variable `c'.
2105
2106 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2107 char *' instead of `char *'.
2108
2109 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2110 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2111 (Fchar_category_set): Remove unused variables `val', `charset',
2112 `c1' and `c2'.
2113
52283633
SM
2114 * coding.c (detect_coding_iso2022, setup_coding_system):
2115 Remove unused variable `i'.
315f5865
EZ
2116 (detect_coding_mask): Remove unused variable `idx'.
2117 (detect_coding): Remove unused variable `i'.
2118 (ccl_coding_driver): Remove unused variable `result'.
2119 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2120 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2121 (encode_coding_string): Remove unused variables `gcpro1' and
2122 `saved_coding_symbol'.
2123 (Ffind_coding_systems_region_internal): Remove function-local
2124 variable args[], leave only the block-local one.
2125 (code_convert_region1): Remove unused variable `len'.
2126
2127 * charset.c (char_printable_p): Remove unused variable `chars'.
2128 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2129 (str_to_multibyte): Remove unused variable `c'.
2130
2131 * window.c (size_window): Remove block-local variable `min_size'.
2132
2133 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2134 `header_line_height'.
2135 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2136 enum display_element_type.
2137
1a8a9daf
GM
21382001-01-02 Gerd Moellmann <gerd@gnu.org>
2139
6dde6abc 2140 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2141 statements that call X. Save away the error message in a local copy.
2142
1883b2c6
GM
2143 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2144 the start.
2145
a13be207
GM
2146 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2147 in or at the start of invisible text.
2148
1a8a9daf
GM
2149 * dispnew.c (update_window): Don't check_current_matrix_flags.
2150
3608c0f9
JR
21512001-01-01 Jason Rumney <jasonr@gnu.org>
2152
2153 * w32fns.c (x_figure_window_size): Do not allow new_height and
2154 new_width of frame to override specified values.
2155
abb1acc4
KH
21562000-12-30 Kenichi Handa <handa@etl.go.jp>
2157
52283633 2158 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2159
762a68ec
GM
21602000-12-29 Gerd Moellmann <gerd@gnu.org>
2161
52283633 2162 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2163 (update_window) [GLYPH_DEBUG]: Call it.
2164 (scrolling_window): Prevent including current rows which are below
2165 what's displayed in the window.
2166
2167 * xdisp.c (try_window_reusing_current_matrix)
2168 <new start <= old start>: Disable rows in the current matrix
2169 which are below the window after scrolling.
52283633 2170
762a68ec
GM
2171 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2172 is zero. It's not worth the complexity.
2173 (invisible_text_between_p): Put in #if 0 because unused.
2174
2d5912c1
GM
21752000-12-28 Gerd Moellmann <gerd@gnu.org>
2176
46f6a258
GM
2177 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2178 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2179
89f93679
GM
2180 * keyboard.c (echo_char): If C is an integer, always call
2181 push_key_description. Former code could signal an invalid
2182 character error.
2183
2184 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2185 If set, print multibyte text.
2186 (Fsingle_key_description): Call push_key_description with
2187 FORCE_MULTIBYTE set.
2188 (describe_buffer_bindings): Likewise.
2189
2190 * lisp.h (push_key_description): Add prototype.
2191
c06017fb
GM
2192 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2193 around the call to redisplay_internal.
2194
f1d2ce7f
GM
2195 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2196
2d5912c1
GM
2197 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2198
9371f831
KH
21992000-12-28 Kenichi Handa <handa@etl.go.jp>
2200
2201 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2202 (ccl_driver): New local variable `extra_bytes'.
2203
2204 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2205
52283633
SM
2206 * coding.c (setup_coding_system):
2207 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2208 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2209
0c80628a
KH
22102000-12-28 Kenichi Handa <handa@etl.go.jp>
2211
2212 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2213 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2214 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2215 (decode_composition_emacs_mule): New function.
2216 (decode_coding_emacs_mule): Decode composition sequence by calling
2217 decode_composition_emacs_mule.
2218 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2219 (encode_coding_emacs_mule): Changed from macro to function.
2220 If a text contains compositions, encode them correctly.
0c80628a
KH
2221 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2222 that decoding and encoding are required.
2223
3e32cc27
GM
22242000-12-27 Gerd Moellmann <gerd@gnu.org>
2225
5e25feee
GM
2226 * xfaces.c (PT_PER_INCH): New macro.
2227 (xlfd_point_size): Compute real point size from font's pixel size.
2228 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2229 instead of 72.
2230
892d8fcd
GM
2231 * .gdbinit: Comment out the line pointing to the Lesstif source
2232 directory.
2233
12c8b416
GM
2234 * window.c (Frecenter): Use displayed_window_lines instead
2235 of window_internal_height.
2236
6061fbf0
GM
2237 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2238 instead of x-toolkit-scroll-bars-p.
2239 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2240
2241 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2242 instead of x-toolkit-scroll-bars-p.
2243 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2244
3e32cc27
GM
2245 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2246 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2247 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2248 New variables.
2249 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2250 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2251 (build_frame_matrix_from_leaf_window): Remove unused code.
2252 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2253 redisplay history.
2254 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2255 (update_window) [GLYPH_DEBUG]: Likewise.
2256 (syms_of_display): Defsubr dump-redisplay-history.
2257
31798cfe
GM
22582000-12-23 Gerd Moellmann <gerd@gnu.org>
2259
f717c2ba
GM
2260 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2261 the end of the prompt. Set echo_after_prompt to the offset
2262 of echoptr in echobuf.
2263
aeb2b8fc
GM
2264 * xdisp.c (init_from_display_pos): Pop until the iterator's
2265 stack is empty; there may be frames for stretch or images
2266 on the stack.
2267
31798cfe
GM
2268 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2269 (save_or_restore_current_matrix): New function for the same
2270 purpose, but more efficient.
2271 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2272
f8156156
EZ
22732000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2274
2275 * xdisp.c (syms_of_xdisp): Fix last change.
2276
bdd6d4e8
GM
22772000-12-23 Gerd Moellmann <gerd@gnu.org>
2278
2279 * xdisp.c (syms_of_xdisp): Doc fix.
2280
2281 * xdisp.c (redisplay_window): Remove label restore_buffers;
2282 use finish_scroll_bars instead to make sure that scroll bars
2283 are redeemed. If we don't do this, flickering can result from
2284 scroll bars being destroyed and recreated.
2285
9436cdf9
JR
22862000-12-22 Jason Rumney <jasonr@gnu.org>
2287
2288 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2289 in the wrong colors when the foreground is not black.
2290 (expose_window): Don't redraw the window that's currently being
2291 updated.
2292
951f9df5
GM
22932000-12-22 Gerd Moellmann <gerd@gnu.org>
2294
856ff7a7
GM
2295 * window.c (size_window): When setting the window's too_small_ok
2296 flag, compare old size with minimum size depending on WIDTH_P,
2297 don't compare with window_min_width.
52283633 2298
951f9df5
GM
2299 * window.c (delete_window): Simplify somewhat.
2300 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2301 freeing window matrices. The flag windows_or_buffers_changed is
2302 set, so the next redisplay will consider all windows; this should
2303 suffice.
2304
886bc933
KH
23052000-12-22 Kenichi Handa <handa@etl.go.jp>
2306
2307 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2308
2309 * ccl.h (struct ccl_program): New member cr_consumed.
2310
2311 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2312 (CCL_READ_CHAR): Handle EOL conversion here.
2313 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2314
177f4e88
GM
23152000-12-21 Gerd Moellmann <gerd@gnu.org>
2316
52283633 2317 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2318
2319 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2320 otherwise tabs of different size compare equal.
2321
2322 * callint.c (Fcall_interactively): Prevent a compiler warning.
2323
2324 * print.c (print_unwind): Return nil.
2325 (PRINTDECLARE): Initialize all local variables.
2326 (print_preprocess): Add a default case.
2327
8e15274f
GM
2328 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2329
2330 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2331
52283633 2332 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2333 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2334
2335 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2336
2337 * dispnew.c (ensure_frame_matrix): Removed.
2338 (save_frame_matrix, restore_frame_matrix): New functions.
2339 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2340
2341 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2342 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2343
99012074
AI
23442000-12-21 Andrew Innes <andrewi@gnu.org>
2345
2346 * w32term.c (x_update_begin): Regenerate the palette here, rather
2347 than for each window.
2348
2349 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2350 palette is NULL, since this corrupts memory! Also get
2351 display_info reference from frame.
2352
29ef7d2d
JR
23532000-12-21 Jason Rumney <jasonr@gnu.org>
2354
2355 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2356
2357 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2358 to avoid returning without releasing it.
3e27fa1f 2359
3f9d67a6
KH
23602000-12-21 Kenichi Handa <handa@etl.go.jp>
2361
587fc3f9
KH
2362 * keymap.c (push_key_description): Don't convert eight-bit-control
2363 and eight-bit-graphic to multibyte character.
2364
3f9d67a6
KH
2365 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2366 generic character and CODE1 is nil, return the smallest character
2367 in CHARSET.
2368
774ba8c9
DL
23692000-12-20 Dave Love <fx@gnu.org>
2370
2371 * s/osf5-0.h (NSIG): Don't redefine.
2372
88416888
SM
23732000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2374
2375 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2376 excluding menu-bar and tool-bar.
2377 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2378 (menu_item_p): Remove.
2379 (where_is_internal_1): Don't ignore menu-items.
2380
a6426c6f
GM
23812000-12-20 Gerd Moellmann <gerd@gnu.org>
2382
03ff8aab
GM
2383 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2384 into account.
2385
2386 * window.c (make_window): Initialize window's min_hscroll.
2387 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2388 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2389 to zero.
2390 (struct saved_window): New member min_hscroll.
2391 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2392 (Fset_window_configuration): Set window's min_hscroll.
2393 (save_window_save): Save window's min_hscroll.
2394 (compare_window_configurations): Compare min_hscroll values.
2395
2396 * window.h (struct window): New member min_hscroll.
2397
2398 * keyboard.c (echo_prompt): Prevent a compiler warning.
2399
8de4aaf8
GM
2400 * xdisp.c (try_cursor_movement): Fix last change. The real
2401 condition is that PT is at the end of the row, and should
2402 be displayed at the start of the next row.
52283633 2403
3f7e3031
GM
2404 * xdisp.c (try_cursor_movement): If we end on a partially
2405 visible line, end we already decided to scroll, return -1.
2406
a6426c6f
GM
2407 * dispextern.h (ensure_frame_matrix): Add prototype.
2408
2409 * window.c (delete_window, Fsplit_window)
2410 (Fset_window_configuration): Call ensure_frame_matrix.
2411
52283633
SM
2412 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2413 New functions.
a6426c6f
GM
2414 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2415 completed, call fake_current_matrices instead of marking frame
2416 garbaged.
2417
57fa2774
JR
24182000-12-20 Jason Rumney <jasonr@gnu.org>
2419
2420 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2421
d925df90
EZ
24222000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2423
2424 * fns.c (Frequire): Doc fix.
2425
7b93a85b
GM
24262000-12-19 Gerd Moellmann <gerd@gnu.org>
2427
52283633 2428 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2429
c74e645b
GM
2430 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2431 currently displaying a message.
2432
7b93a85b
GM
2433 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2434 xterm.h.
2435 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2436
90d97e64
AI
24372000-12-18 Andrew Innes <andrewi@gnu.org>
2438
2439 * w32.c (w32_strerror): New function.
2440
2441 * w32.h (w32_strerror): New extern.
2442
2443 * w32fns.c (Fw32_shell_execute): Use it.
2444
91c9e6ce
GM
24452000-12-18 Gerd Moellmann <gerd@gnu.org>
2446
2447 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2448
6f4745e2
EZ
24492000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2450
2451 * msdos.c (IT_set_face): Obey inverse_video.
2452
c9e088ce
KH
24532000-12-18 Kenichi Handa <handa@etl.go.jp>
2454
2455 * dired.c (directory_files_internal): Always return decoded filenames.
2456
c3695f5f
GM
24572000-12-18 Gerd Moellmann <gerd@gnu.org>
2458
52d8e4ff
GM
2459 * xterm.c (x_connection_closed): Prevent being called recursively
2460 because of an error condition in XtCloseDisplay.
52283633 2461
62be9979
GM
2462 * xdisp.c (init_iterator): If noninteractive, and the frame's
2463 face cache is null, make one.
2464
52283633 2465 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2466
c3695f5f
GM
2467 * process.c (wait_reading_process_input): Check for pending
2468 input when running timers.
2469
78555fbe
EZ
24702000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2471
52283633 2472 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2473
b2b36264
KH
24742000-12-18 Kenichi Handa <handa@etl.go.jp>
2475
2476 * process.c (read_process_output): Don't run a filter if the code
2477 decoder produces nothing but carryover.
2478
9c543fbf
AI
24792000-12-17 Andrew Innes <andrewi@gnu.org>
2480
2481 * w32.c (sys_rename): Only check errno against EEXIST, and not
2482 EACCES, when determining whether rename failed because the target
2483 exists. This was resulting in indefinite looping on Windows 9x if
2484 the source file was locked by another process.
2485
2486 * w32fns.c (Ffile_system_info): New function.
2487 (syms_of_w32fns): Defsubr it.
2488
10c2b5a8
GM
24892000-12-17 Gerd Moellmann <gerd@gnu.org>
2490
b0228ace
GM
2491 * window.c (coordinates_in_window): Fix computation for
2492 position on vertical line between mode lines.
2493
10c2b5a8
GM
2494 * xfns.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
c844a81a
GM
2499 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2500 Don't alter tip_frame or tip_window.
2501 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2502 was deleted.
2503
6c825f8e
EZ
25042000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2505
2506 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2507 be consistent with the doc string. Reported by NAKAJIMA Mikio
2508 <minakaji@osaka.email.ne.jp>.
2509
af4bb4c8
KH
25102000-12-16 Kenichi Handa <handa@etl.go.jp>
2511
2512 * xfaces.c (Vface_ignored_fonts): New variable.
2513 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2514 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2515
8062e53a
GM
25162000-12-15 Gerd Moellmann <gerd@gnu.org>
2517
e87b8809
GM
2518 * dispnew.c (update_window): Detect pending input every nth line
2519 updated, i.e. do it depending on real work done, and not on the
2520 vpos of the line.
2521
2522 * xterm.c (expose_window): Don't redraw the window that's
2523 currently being updated.
2524
a6768cc5
GM
2525 * window.c (Fset_window_point): Remove test for
2526 cursor_in_non_selected_windows.
2527
4ea7fdca
GM
2528 * lread.c (read1): Recognize end of file after `\\'.
2529
8062e53a
GM
2530 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2531 not unwind_create_frame.
2532
bb7959c1
GM
25332000-12-15 Dave Love <fx@gnu.org>
2534
2535 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2536 bcopy & al.
2537
2538 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2539
ced04c42
KH
25402000-12-15 Kenichi Handa <handa@etl.go.jp>
2541
c5443913
KH
2542 * coding.c (setup_coding_system): Clear all members of the struct
2543 coding_system at first.
bc137305
KH
2544 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2545 argument.
2546 (code_convert_region): Don't override coding->src_multibyte and
2547 coding->dst_multibyte.
c5443913 2548
ced04c42
KH
2549 * fns.c (Fmd5): Docstring improved.
2550
c2d7f289
MB
25512000-12-15 Miles Bader <miles@gnu.org>
2552
2553 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2554 are actually marked as mode-lines; otherwise use
2555 estimate_mode_line_height.
2556
9d7d9263
GM
25572000-12-14 Gerd Moellmann <gerd@gnu.org>
2558
2559 * editfns.c (Fformat): Prevent a buffer overrun when the format
2560 specifies a precision.
2561
7cf0153a
EZ
25622000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2563
2564 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2565 argument is outside the range [2..3].
2566
1de0f662
AI
25672000-12-14 Andrew Innes <andrewi@gnu.org>
2568
2569 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2570 nothing to do. Bind inhibit-quit.
2571 (tip_frame): Make it a Lisp_Object.
2572 (x_create_tip_frame): Set tip_frame after it has been added to
2573 Vframe_list.
2574 (Fx_show_tip): Don't set tip_frame here.
52283633 2575 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2576 (unwind_create_frame, unwind_create_tip_frame): New functions.
2577 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2578 while a frame is only partially constructed.
2579
2580 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2581 (x_free_frame_resources): New function.
2582 (x_destroy_window): Use it.
2583
02387dcc
GM
25842000-12-14 Gerd Moellmann <gerd@gnu.org>
2585
2586 * xfns.c (Fx_backspace_delete_keys_p): New function.
2587 (syms_of_xfns): Defsubr it.
2588
2589 * config.in (HAVE_XKBGETKEYBOARD): Add.
2590
0544ef49
KH
25912000-12-14 Kenichi Handa <handa@etl.go.jp>
2592
98d62747
KH
2593 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2594 Always store string in multibyte representation in echobuf.
2595 (echo_char): Always store string in multibyte representation in
2596 echobuf.
2597 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2598 (read_key_sequence): Adjusted for the change of echo_prompt.
2599
a20193cd
KH
2600 * fns.c (Fmd5): Docstring improved.
2601
191b83b6
KH
2602 * lisp.h (detect_coding_system): Prototype adjusted.
2603
0544ef49
KH
2604 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2605 (detect_coding_emacs_mule, detect_coding_iso2022,)
2606 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2607 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2608 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2609 (detect_coding_mask, detect_coding_system): New argument
2610 MULTIBYTEP. Callers changed.
1da1bb05
KH
2611 (decode_coding_string): Set coding->src_multibyte and
2612 coding->dst_multibyte before calling detect_coding and detect_eol.
2613 Update them after some coding system is detected.
52283633 2614
d5b3eb1b
SM
26152000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2616
2617 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2618
2619 * keyboard.c (menu_bar_items, tool_bar_items):
2620 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2621
f7f8bb69
GM
26222000-12-13 Gerd Moellmann <gerd@gnu.org>
2623
52283633 2624 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2625 New variables.
2626 (unwind_create_frame, unwind_create_tip_frame): New functions.
2627 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2628 while a frame is only partially constructed.
2629
2630 * xterm.h (x_free_frame_resources): Declare.
2631
2632 * xterm.c (x_free_frame_resources): New function.
2633 (x_destroy_window): Use it.
2634
e10da507
GM
2635 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2636 don't interrupt the update for pending input initially, i.e.
2637 update at least some lines.
2638
2639 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2640
d5b3eb1b 2641 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2642
2643 * xfns.c (gray_bitmap_bits): Declare `char *'.
2644
90aa2856
GM
26452000-12-12 Gerd Moellmann <gerd@gnu.org>
2646
2647 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2648 lines start with a relief line.
2649
a308c9cd
DL
26502000-12-12 Dave Love <fx@gnu.org>
2651
2652 * window.c (Fdisplay_buffer): Doc fix.
2653 (Fwindow_list): Remove unused var.
2654
2655 * buffer.h (mmap_set_vars): Declare.
2656
2657 * window.h (Fset_window_point): Declare.
2658
d575011f
EZ
26592000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2660
bf6282d2 2661 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2662 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2663 variable `area'. When looking for a row under (X,Y), give up if some
2664 of the previous rows is not enabled.
d575011f 2665
ecf4d726
GM
26662000-12-12 Gerd Moellmann <gerd@gnu.org>
2667
2ebf6139
GM
2668 * window.c (Fset_window_point): If displaying cursors in windows
2669 other than the selected window, make sure redisplay updates
2670 other windows to show the new value of point in the window.
2671
2672 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2673
bfdb75ee
GM
2674 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2675 the buffer is the sole visible buffer when in the mini-buffer.
2676
52283633 2677 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2678 Bind `inhibit-read-only' to t.
2679 (unwind_with_echo_area_buffer): Use AREF.
2680
c0006262
GM
2681 * xfns.c (Fx_hide_tip): Simplified.
2682
52283633
SM
2683 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2684 instead of `1'.
e9a59cad 2685
ecf4d726
GM
2686 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2687
e5959a9a
GM
26882000-12-11 Gerd Moellmann <gerd@gnu.org>
2689
a3642e49 2690 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2691
44b5a125
GM
2692 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2693 nothing to do. Bind inhibit-quit.
2694 (tip_frame): Make it a Lisp_Object.
2695 (x_create_tip_frame): Set tip_frame after it has been added to
2696 Vframe_list.
2697 (Fx_show_tip): Don't set tip_frame here.
2698
2699 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2700
2701 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2702 Lisp_Object.
2703
2704 * dispextern.h: Change external declaration of tip_frame.
2705
d990421f
GM
2706 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2707 return an empty string.
2708
4db87380
GM
2709 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2710 of the window's update_mode_line flag, since the former is set by
2711 force-mode-line-update, not the latter. This makes
2712 column-number-mode slightly faster.
52283633 2713
e5959a9a
GM
2714 * xdisp.c (try_window_id) <all changes above window start>:
2715 Set the cursor.
2716
169fe44e
GM
27172000-12-11 Paul Eggert <eggert@twinsun.com>
2718
2719 * config.in (HAVE_FTELLO): Remove.
2720 (HAVE_FSEEKO): Add.
2721 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2722 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2723 HAVE_FTELLO.
2724 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2725 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2726
59ec59ae
MB
27272000-12-11 Miles Bader <miles@gnu.org>
2728
2729 * window.c (displayed_window_lines): Don't round up when
2730 converting empty space at bottom to lines.
ff904dd6
MB
2731 Handle non-newline-terminated final lines properly.
2732 (Fwindow_text_height): New function (used to be in lisp).
2733 (syms_of_window): Initialize it.
59ec59ae 2734
42ebfa31
SM
27352000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2736
2737 * syntax.c (scan_lists): Check that the right quote char has the
2738 right Sstring syntax when jumping over strings.
2739 (init_syntax_once): Use Smax rather than 13.
2740
5cdb3cf3
MB
27412000-12-09 Miles Bader <miles@gnu.org>
2742
2743 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2744 with PARTIALLY, inverting the sense.
2745 (window_scroll_pixel_based): Scroll partially visible lines into
2746 place if we hit the beginning or end of the buffer.
a12167c5
MB
2747 (displayed_window_lines): Don't include partially visible lines.
2748 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2749
842b2a94
GM
27502000-12-08 Gerd Moellmann <gerd@gnu.org>
2751
2752 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2753
2754 * tparam.c (tparam1): Change the way buffers are reallocated to be
2755 portable and less obfuscated.
2756
2757 * termcap.c (tgetent): Change the way buffers are reallocated to
2758 be portable and less obfuscated.
2759
2760 * macros.c (store_kbd_macro_char): Change the way buffers are
2761 reallocated to be portable and less obfuscated.
2762
2763 * lread.c (read1): Change the way buffers are reallocated to be
2764 portable and less obfuscated.
2765
2766 * doc.c (Fsubstitute_command_keys): Change the way buffers
2767 are reallocated so that it is portable.
2768
137cad7c
EZ
27692000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2770
2771 * dosfns.c (Ffile_system_info): New function.
2772 (syms_of_dosfns): Defsubr it.
2773
5c7f629c
SM
27742000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2775
2776 * alloc.c (gc_sweep): Add comment.
2777
959e647d
GM
27782000-12-07 Gerd Moellmann <gerd@gnu.org>
2779
52283633
SM
2780 * sound.c (vox_configure): Change order of ioctls.
2781 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2782 Ignore errors when changing volume.
2783 (vox_close): Don't reset the device.
2784
926b7e5e
GM
2785 * process.c (read_process_output): Make sure the process marker's
2786 position is valid when the process buffer is changed in
2787 after-change functions. W3 does that.
52283633 2788
959e647d
GM
2789 * xfns.c (x_free_gcs): New function.
2790
2791 * xterm.h (x_free_gcs): Add prototype.
2792
2793 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2794 freeing GCs here.
2795
2796 * xterm.c (x_destroy_window): Call x_free_gcs so that
2797 resources of non-toolkit X windows will be freed.
2798
478ea067
AI
27992000-12-07 Andrew Innes <andrewi@gnu.org>
2800
2801 * w32fns.c (xlfd_charset_of_font): Fix last change.
2802
fbee3231
DL
28032000-12-06 Dave Love <fx@gnu.org>
2804
67292061
DL
2805 * md5.h (__P): Don't define -- it comes from config.h.
2806
fbee3231
DL
2807 * strftime.c: Change some #if foo to #ifdef foo.
2808
4ee87dbb
AI
28092000-12-06 Andrew Innes <andrewi@gnu.org>
2810
2811 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2812
52283633 2813 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2814 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2815 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2816
9765b4a4
GM
28172000-12-06 Gerd Moellmann <gerd@gnu.org>
2818
d285b373
GM
2819 * alloc.c (gc_sweep): Prevent symbols read during loadup
2820 from being freed.
2821
384333ee
GM
2822 * xdisp.c (underlying_face_id): New function.
2823 (handle_face_prop, face_before_or_after_it_pos): Use it
2824 to determine the face ``under'' a string. Let strings inherit
2825 the face of the buffer under them.
2826
2827 * xfaces.c (face_at_string_position): Update function comment.
52283633 2828
d4b72d58
GM
2829 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2830 matrix if the window's left position has changed; we need to
2831 redraw it in this case.
2832
2833 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2834
e1d05387
GM
2835 * window.c (coordinates_in_window): Check mouse on mode-line or
2836 header-line first.
2837
eb1b0c74
GM
2838 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2839 advertized by the function documentation.
2840
d94d636f
GM
2841 * window.c (syms_of_window): Doc fix.
2842
3887b449
GM
2843 * sound.c (vox_configure): Set volume for left and right channel.
2844 (sound_cleanup): Return nil.
2845
efc8f57a
GM
2846 * xdisp.c (move_it_by_lines): Fix paren typo.
2847
9765b4a4
GM
2848 * xterm.c (x_load_font): Don't use the font's max_bounds for
2849 computing the height of the font. If max_bounds' ascent or
2850 descent are greater than the font's ascent or descent, this means
2851 glyphs overlap, which should be handled now by redisplay.
2852
6529ed87
GM
2853 * window.c (Veven_window_heights): New variable.
2854 (syms_of_window): DEFVAR_LISP it.
2855 (Fdisplay_buffer): Check Veven_window_heights before evening the
2856 window heights.
52283633 2857
0eb2ecde
MB
28582000-12-06 Miles Bader <miles@gnu.org>
2859
2860 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2861 update `default-frame-alist' instead of setting no frame parameters.
2862
03d7a167
KH
28632000-12-06 Kenichi Handa <handa@etl.go.jp>
2864
2865 * composite.c (update_compositions): Fix typo (use the correct
2866 variable).
2867
5f8803c2
JR
28682000-12-05 Jason Rumney <jasonr@gnu.org>
2869
2870 * md5.h: Remove underscores from function declarations.
2871 (__attribute__, __alignof__) [!__GNUC__]: Define.
2872
2873 * md5.c: Delay include of md5.h until after namespace cleaning.
2874
c28a075b
JR
2875 * makefile.w32-in (fns.o): Depend on md5.h
2876 (md5.o): New target.
2877 (sunfns.o): Remove.
2878
2879 * makefile.nt: Likewise.
2880
ff3c7056
JR
28812000-12-05 Jason Rumney <jasonr@altavista.net>
2882
2883 * w32term.c (expose_area): Complete last change.
2884
0c21eeeb
KR
28852000-12-05 Ken Raeburn <raeburn@gnu.org>
2886
2887 * minibuf.c: Include intervals.h.
2888
f201d732
JR
28892000-12-05 Jason Rumney <jasonr@gnu.org>
2890
2891 * w32term.c (x_produce_glyphs): If a font for a component of
2892 a composition is not found, use 1 pixel dot ascent and 0 dot
2893 descent value to avoid displaying terribly tall empty boxes.
2894 (expose_area): Pass x-coordinate relative to the exposed
2895 area to x_draw_glyphs instead of a window-relative coordinate.
2896
21999ab9
GM
28972000-12-05 Gerd Moellmann <gerd@gnu.org>
2898
4d2036e4
GM
2899 * xdisp.c (next_element_from_ellipsis): Save face before selective
2900 display in saved_face_id, and set face_before_selective_p.
2901 (reseat_1): Reset face_before_selective_p.
2902 (append_space, extend_face_to_end_of_line): If iterator's
2903 face_before_selective_p is set, use the face from saved_face_id.
2904 (extend_face_to_end_of_line): For tty frames, make sure to
2905 use the right face id when producing spaces at the end of
2906 the line.
2907
2908 * dispextern.h (struct it): Add face_before_selective_p.
2909
52be17cc
GM
2910 * keyboard.c (record_char): Don't record identical help-echo
2911 events in recent_keys.
2912
8a4f36cc
GM
2913 * xterm.c [USE_X_TOOLKIT]: Close the display.
2914 (xim_close_dpy): Handle case that the display has been closed.
2915
57d6e381
GM
2916 * xterm.c (x_destroy_window): Reset the frame's X window after
2917 destroying it.
2918
21999ab9
GM
2919 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2920 variable window_width.
2921 (line_draw_cost): Fix code skipping over spaces at the end of the
2922 line when must_write_spaces is not set.
2923 (scrolling_window): Fix code inserting runs in list of all runs.
2924
91372bb7
KH
29252000-12-05 Kenichi Handa <handa@etl.go.jp>
2926
2927 * coding.c (setup_coding_system): Be sure to initialize
2928 coding->category_idx.
2929
6c083b4c
GM
29302000-12-04 Gerd Moellmann <gerd@gnu.org>
2931
0c68ce6f 2932 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2933
6452929e
GM
2934 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2935 area to x_draw_glyphs instead of a window-relative coordinate.
2936
d7f31e22
GM
2937 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2938 error in the message.
2939
ae18aa3b
GM
2940 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2941 timer after having read a key. It's not good for code reading
2942 several keys in a loop, like an input method.
2943
caa15ef7
GM
2944 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2945 record undo information for format-decode.
2946
2947 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2948 current buffer is read-only, not if it isn't.
2949
6c083b4c
GM
2950 * keyboard.c (record_char): Record `help-echo' input events
2951 in recent_keys only if they display some help. Don't record
2952 `help-echo' events as macro char.
2953
caa15ef7
GM
29542000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2955
2956 * editfns.c (save_excursion_restore): Don't move point
2957 in another window if it is showing the wrong buffer.
2958 Avoid the call to Fwindow_live_p, for speed.
2959
5a13529b
KH
29602000-12-04 Kenichi Handa <handa@etl.go.jp>
2961
e225faa7
KH
2962 * xfaces.c (struct font_name): New member registry_priority.
2963 (split_font_name): Initialize the above member to zero.
2964 (concat_font_list): New function.
2965 (font_list): Include fonts of all alternative registries.
2966 (FONT_POINT_SIZE_QUANTUM): New macro.
2967 (better_font_p): Ignore point size difference less than
2968 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2969
e89648b4
KH
2970 * xterm.c (x_produce_glyphs): If a font for a component of
2971 a composition is not found, use 1 pixel dot ascent and 0 dot
2972 descent value to avoid displaying terribly tall empty boxes.
2973
5a13529b
KH
2974 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2975
d7935eb6
KR
29762000-12-03 Ken Raeburn <raeburn@gnu.org>
2977
2978 * coding.h (code_convert_string1): Declare.
2979
2980 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2981
52283633 2982 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 2983
0dd5e255
JR
29842000-12-02 Jason Rumney <jasonr@gnu.org>
2985
2986 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2987 correctly for single byte character case.
2988 (w32_per_char_metric): Do not try to make any assumptions about
2989 the metrics of BDF fonts.
250cfece 2990 (x_estimate_mode_line_height): If `mode-line' face
52283633 2991 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
2992 (note_mouse_highlight): Change the cursor shape on the vertical
2993 border between windows [not enabled].
2994
2995 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2996
2997 * w32fns.c (Fx_create_frame): Reintroduce the call to
2998 face-set-after-frame-defaults.
2999 (Vx_window_horizontal_drag_shape): New variable.
3000 (syms_of_xfns): DEFVAR_LISP it.
3001 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3002 enabled].
0dd5e255 3003
b5d8d2ca
GM
30042000-12-02 Simon Josefsson <simon@josefsson.org>
3005
3006 * fns.c (Fmd5): Use a different logic to decide the coding system
3007 to use.
3008
3009 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3010
fbb87147
EZ
30112000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3012
52283633 3013 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3014
447e9da0
GM
30152000-12-01 Gerd Moellmann <gerd@gnu.org>
3016
7708ced0
GM
3017 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3018 height for YNegative.
3019 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3020 height; also see comment there.
3021
447e9da0
GM
3022 * window.c (coordinates_in_window): Handle computations for
3023 positions on the vertical bar and fringes differently for
3024 window-system frames. Consider some pixels near the vertical bar
3025 as on the bar if the frame doesn't have vertical scroll bars.
3026 Associate positions between mode or header lines with the
3027 right window, the left one.
3028
86d1db20
JR
30292000-12-01 Jason Rumney <jasonr@gnu.org>
3030
3031 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3032
3033 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3034 invalid frame.
3035
a1d58e5b
GM
30362000-12-01 Gerd Moellmann <gerd@gnu.org>
3037
52283633 3038 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3039 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3040 (save_window_save, Fset_window_configuration): Save/restore
3041 window's orig_top and orig_height.
3042
89c609af
JR
30432000-12-01 Jason Rumney <jasonr@gnu.org>
3044
4d177746 3045 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3046
89c609af
JR
3047 * w32fns.c (x_set_cursor_color): Fix last change.
3048
eccc05db
GM
30492000-11-30 Gerd Moellmann <gerd@gnu.org>
3050
31b6671b
GM
3051 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3052 sure that the next redisplay displays the minibuffer, so that
3053 the cursor will be replaced with what the minibuffer wants.
3054
eccc05db
GM
3055 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3056 #ifndef instead of using #if.
3057 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3058 USE_TOOLKIT_SCROLL_BARS is defined.
3059
162de750
JR
30602000-11-30 Jason Rumney <jasonr@gnu.org>
3061
3062 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3063 x_display_cursor.
3064
693c4692
GM
30652000-11-30 Gerd Moellmann <gerd@gnu.org>
3066
3067 * fns.c (Fmd5): Doc fix.
3068
b5d8d2ca 30692000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3070
3071 * fns.c (Fmd5): New function.
3072 (syms_of_fns): Defsubr md5.
3073
3074 * Makefile.in (obj): Add md5.o
3075
b02cd40b
GM
30762000-11-30 Gerd Moellmann <gerd@gnu.org>
3077
edfb795e
GM
3078 * md5.h, md5.c: New files, taken from glibc.
3079
df3aedcf
GM
3080 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3081
b02cd40b 3082 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3083 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3084
8b5176cd
SM
30852000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3086
3087 * eval.c (Frun_hooks): Allow 0 arguments.
3088
346598f1
GM
30892000-11-29 Gerd Moellmann <gerd@gnu.org>
3090
f9396e03
GM
3091 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3092 is over the menu bar widget, say it's not on the frame.
3093
4a967a9b
GM
3094 * xfns.c (Fx_create_frame): Reintroduce the call to
3095 face-set-after-frame-defaults.
3096
346598f1
GM
3097 * eval.c (Fsignal): Reset handling_signal.
3098
222456a1
JR
30992000-11-28 Jason Rumney <jasonr@gnu.org>
3100
3101 * w32menu.c (add_menu_item): Reset menu item text when changing
3102 type to radio button.
3103
8049ddc0
GM
31042000-11-28 Gerd Moellmann <gerd@gnu.org>
3105
346598f1 3106 * xselect.c: Update copyright.
f4f4ee4d 3107
bebe4a2c
GM
3108 * window.c (coordinates_in_window): If on a mode or header line,
3109 but sufficiently close to its start, return ``on vertical
3110 border''. This gives us a way to drag windows horizontally when
3111 using toolkit scroll bars.
3112
3113 * xterm.c (note_mouse_highlight): Change the cursor shape
3114 on the vertical border between windows.
3115
3116 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3117
3118 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3119 (syms_of_xfns): DEFVAR_LISP it.
3120 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3121
8d2c2642
GM
3122 * textprop.c (text_read_only): New function.
3123 (verify_interval_modification): Use it instead of signaling
3124 `text-read-only'. This makes it easier to catch this error
52283633 3125 with a breakpoint.:
8d2c2642 3126
52283633 3127 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3128 not end of line, which includes CR.
3129
5a2bae6c
KH
31302000-11-28 Kenichi Handa <handa@etl.go.jp>
3131
3132 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3133 include no-conversion.
3134
ae31f84d
JR
31352000-11-27 Jason Rumney <jasonr@gnu.org>
3136
3137 * w32fns.c (w32_load_system_font): Always mark font as double byte
3138 if codepage is unicode.
3139
67f1cf4c
GM
31402000-11-27 Gerd Moellmann <gerd@gnu.org>
3141
4a74d071 3142 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3143 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3144
902ae620
GM
3145 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3146 `vertical-line', `mode-line' and `header-line' events.
3147
3148 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3149 of a character, a TAB for instance. This is easier than to set
3150 up the iterator exactly, and it's not a frequent case, so the
3151 additional effort wouldn't really pay off.
3152
c1e279c2
AC
31532000-11-26 Andrew Choi <akochoi@i-cable.com>
3154
67f1cf4c 3155 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3156 init_window_once.
3157
a609568a
JR
31582000-11-25 Jason Rumney <jasonr@gnu.org>
3159
52283633
SM
3160 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3161 Args to window_from_coordinates should be pixel coordinates.
48b21762 3162
a609568a
JR
3163 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3164 redisplay handles them properly.
3165
a658d039
MB
31662000-11-25 Miles Bader <miles@gnu.org>
3167
3168 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3169
d3416cca
JR
31702000-11-24 Jason Rumney <jasonr@gnu.org>
3171
3172 * w32.c (init_environment): Set LANG environment variable based on
3173 locale settings, if not set.
3174
3175 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3176 making tool bar smaller. When clearing the frame, also
3177 clear current matrices. Clear frame when tool bar disappears.
3178 Don't use more lines for the tool-bar than is available.
3179 (x_change_window_heights): New function.
3180
ba193890
GM
31812000-11-24 Gerd Moellmann <gerd@gnu.org>
3182
2be8f184
GM
3183 * xdisp.c (init_from_display_pos): If POS says we're already after
3184 an overlay string ending at POS, make sure to pop the iterator
3185 because it will be in front of that overlay string. When POS is
3186 ZV, we've thereby also ``processed'' overlay strings at ZV.
3187
ba193890
GM
3188 * xfaces.c (lface_from_face_name): Function comment fix.
3189
1862a24e
MB
31902000-11-24 Miles Bader <miles@gnu.org>
3191
3192 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3193 apply `mode-line-inverse-video' -- zero means force display using
3194 the default face, non-zero means display using the specialized face.
3195 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3196
f07fa1b8
KH
31972000-11-23 Kenichi Handa <handa@etl.go.jp>
3198
3199 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3200 hard coded `4'.
3201
2bcdf662
EZ
32022000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3203
3204 * coding.c (decode_coding_emacs_mule): Fix the case of
3205 CODING_EOL_LF, which used uninitialized value of c.
3206
ba8299ff
SM
32072000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3208
3209 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3210
f4117c4d
GM
32112000-11-22 Gerd Moellmann <gerd@gnu.org>
3212
03e757c1
GM
3213 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3214 buffer object.
3215
f4117c4d
GM
3216 * frame.h (struct frame): Replace desired_tool_bar_items,
3217 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3218 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3219
3220 * frame.c (make_frame): Change initialization of tool bar
3221 items accordingly.
3222
3223 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3224 Change references to members deleted from struct frame to use the
f4117c4d
GM
3225 new ones.
3226
3227 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3228 references to members deleted from struct frame to use the new ones.
f4117c4d 3229
52283633 3230 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3231
3232 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3233
3234 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3235 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3236 from struct frame to use the new ones.
3237
f8e2f3f2
MB
32382000-11-23 Miles Bader <miles@gnu.org>
3239
3240 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3241 the face's inverse-video attribute, rather than overriding it.
3242
60e8e0a5
GM
32432000-11-22 Gerd Moellmann <gerd@gnu.org>
3244
3245 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3246 making tool bar smaller.
3247
92dd1b29
DL
32482000-11-22 Dave Love <fx@gnu.org>
3249
3250 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3251
e672fdce
MB
32522000-11-22 Miles Bader <miles@gnu.org>
3253
3a17d6cc
MB
3254 * keyboard.c (Vminibuffer_message_timeout): New variable.
3255 (command_loop_1): Use it to determine message timeout.
3256 (syms_of_keyboard): Initialize it.
3257
60e8e0a5 3258 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3259
e9655d81
KH
32602000-11-22 Kenichi Handa <handa@etl.go.jp>
3261
3262 * sysdep.c: Move the code for declaring h_errno after #include
3263 <netdb.h>.
3264
77270fac
GM
32652000-11-21 Gerd Moellmann <gerd@gnu.org>
3266
cd913aae
GM
3267 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3268 the menu bar when the tooltip is unmapped.
3269
77270fac
GM
3270 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3271 sole visible buffer when we're currently in the mini-buffer, and
3272 give up if so.
52283633 3273
556635d6
JR
32742000-11-21 Jason Rumney <jasonr@gnu.org>
3275
3276 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3277 put on the clipboard.
3278 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3279 copy of what Emacs last put there. If they are the same, do not
52283633 3280 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3281
5b7bde64
MB
32822000-11-22 Miles Bader <miles@gnu.org>
3283
3284 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3285 (syms_of_minibuf): Initialize it.
3286 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3287 to prompt, don't make read-only.
3288
ff23e1dd
GM
32892000-11-21 Gerd Moellmann <gerd@gnu.org>
3290
52283633
SM
3291 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3292 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3293
7aaf4388
GM
3294 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3295
f5f47add 3296 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3297
ff23e1dd
GM
3298 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3299
37c35586
KH
33002000-11-21 Kenichi Handa <handa@etl.go.jp>
3301
3302 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3303 ... #endif scope.
3304
ff9ab414
GM
33052000-11-20 Gerd Moellmann <gerd@gnu.org>
3306
52283633 3307 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3308 screen supports it.
3309
29a01b72
GM
3310 * s/gnu-linux.h: Don't use `#cpu'.
3311
09dfdf85
GM
3312 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3313 not defined in mman.h.
3314
52283633 3315 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3316 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3317 and store an index in the XClientMessageEvent. Storing a
3318 Lisp_Object or pointer can fail on a 64 bit system, since X only
3319 transfers 32 bits.
52283633
SM
3320 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3321
81459ac9
DL
33222000-11-20 Dave Love <fx@gnu.org>
3323
3324 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3325
56c13ae6
GM
33262000-11-20 Gerd Moellmann <gerd@gnu.org>
3327
3328 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3329
495a6df3
KH
33302000-11-20 Kenichi Handa <handa@etl.go.jp>
3331
2bcf3714
KH
3332 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3333 by WIDTH.
3334
495a6df3
KH
3335 * alloc.c (make_string): Fix previous change. Be sure to make
3336 unibyte string correctly.
3337
6d950f4c
GM
33382000-11-19 Gerd Moellmann <gerd@gnu.org>
3339
39b39373
GM
3340 * window.c (Fwindow_list): Change parameter list to be XEmacs
3341 compatible.
3342 (window_list_1): New function.
3343 (window_loop): Use it instead of Fwindow_list.
3344
b95b34e5
GM
3345 * sysdep.c (emacs_ospeed): New variable.
3346 (toplevel): Don't declare ospeed extern.
3347 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3348
3349 * termcap.c (ospeed): Remove.
3350 (tputs) [!emacs]: Remove unused code.
3351 (tgetent): Avoid a compiler warning.
3352
e83dc917
GM
3353 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3354 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3355 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3356
3357 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3358 removed.
3359 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3360 Take the X display as additional argument.
3361 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3362 `Widget' is a pointer type that's not easily stored in Lisp_Object
3363 form in a portable way.
52283633 3364
6d950f4c
GM
3365 * dispnew.c (update_text_area): Fix last change.
3366
e47306e6
GM
33672000-11-18 Gerd Moellmann <gerd@gnu.org>
3368
fb3cd89b
GM
3369 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3370
3371 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3372 clear current matrices.
3373
edaa9aed
GM
3374 * buffer.c (mmap_enlarge): Don't print a message on stderr
3375 if mapping new memory at the end of the existing region fails.
3376
e47306e6
GM
3377 * dispnew.c (update_text_area): Don't skip over equal glyphs
3378 when the last current glyph overlaps the glyph to its right.
3379
509633e3
MB
33802000-11-18 Miles Bader <miles@gnu.org>
3381
3382 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3383 lines that *end* with "..." too (that's the most common case!).
3384
d392e9c5
GM
33852000-11-18 Gerd Moellmann <gerd@gnu.org>
3386
67988445
GM
3387 * xdisp.c (resize_mini_window): Temporarily change to the
3388 mini-window's buffer if necessary.
1bfdbe43 3389
d392e9c5
GM
3390 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3391 the tooltip obscures less text under it.
3392
33932000-11-17 Gerd Moellmann <gerd@gnu.org>
3394
3395 * puresize.h (BASE_PURESIZE): Increase to 700000.
3396
92bb977f
JR
33972000-11-18 Jason Rumney <jasonr@gnu.org>
3398
3399 * w32term.c (w32_draw_bitmap): Use face to set colors.
3400
26fbf20b
DL
34012000-11-17 Dave Love <fx@gnu.org>
3402
3403 * lread.c (Fload): Fix #ifdef for pcc.
3404
100b593b
GM
34052000-11-17 Gerd Moellmann <gerd@gnu.org>
3406
3407 * xdisp.c (pos_visible_p): Compute the default character height
3408 differently.
3409
a288d0d1
GM
34102000-11-16 Gerd Moellmann <gerd@gnu.org>
3411
cac94de6 3412 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3413 knowing the line's height; use the default font's height in that case.
cac94de6 3414
a288d0d1
GM
3415 * xfaces.c (weight_table): Add `demi' with the same meaning as
3416 `demibold'.
3417
981fb6f6
KH
34182000-11-16 Kenichi Handa <handa@etl.go.jp>
3419
2cca872d 3420 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3421 (clear_glyph_row): Delete local static variable null_row.
3422
e5fa381b
JR
34232000-11-15 Jason Rumney <jasonr@gnu.org>
3424
3425 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3426 (w32_alloc_lighter_color): Use new brightness calculations from
3427 xterm.c. Scale delta to be in the range expected by W32.
3428 (w32_draw_relief_rect): Use frame relief colors.
3429
8e42f043
GM
34302000-11-15 Gerd Moellmann <gerd@gnu.org>
3431
6d133d1f
GM
3432 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3433 (Qinhibit_default_face_x_resources): New variable.
3434 (syms_of_frame): Initialize it.
3435 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3436
3437 * xdisp.c (pos_visible_p): Improve function comment.
3438
3439 * lisp.h (BINDING_STACK_SIZE): New macro.
3440
8e42f043
GM
3441 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3442 reading the directory if readdir returns null and errno is EAGAIN
3443 or EINTR.
3444
e8c87124
SM
34452000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3446
3447 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3448 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3449 Set amount_to_scroll to max of dx and scroll_step so that
3450 scroll-conservatively doesn't defeat scroll-step>1.
3451 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3452 scroll-conservatively for line-at-a-time scrolling.
3453
5f0c971d
GM
34542000-11-14 Gerd Moellmann <gerd@gnu.org>
3455
3456 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3457 extra argument.
3458
3459 * xdisp.c (current_mode_line_height, current_header_line_height):
3460 New variables.
3461 (init_xdisp): Initialize them.
3462 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3463 and use exact mode line heights if it is set.
3464
3465 * lisp.h (pos_visible_p): Change prototype.
3466
3467 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3468 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3469 and current_header_line_height first.
52283633
SM
3470 (current_mode_line_height, current_header_line_height):
3471 Declare extern.
5f0c971d 3472
d7361edf
MB
34732000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3474
3475 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3476 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3477 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3478
ee5e440a
MB
34792000-11-14 Miles Bader <miles@gnu.org>
3480
3481 * xterm.c (x_alloc_lighter_color): Include an additive component
3482 too for dark colors, because FACTOR isn't enough.
3483 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3484 New macros.
3485
5ca020fc
GM
34862000-11-13 Gerd Moellmann <gerd@gnu.org>
3487
3488 * keyboard.c (show_help_echo): Call message3_nolog with number of
3489 bytes in the help string as 2nd parameter, instead of the number
3490 of characters.
3491
9d348294
MB
34922000-11-13 Miles Bader <miles@gnu.org>
3493
3494 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3495 (Fload): Use new openp return protocol.
3496 Don't try to use Vload_source_file_function to load .elc files.
3497 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3498 openp return protocol.
3499 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3500
1729bb9a
KH
35012000-11-11 Kenichi Handa <handa@etl.go.jp>
3502
4e677396
KH
3503 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3504
3505 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3506 Defined these macros.
3507 (NLIST_STRUCT): Avoid re-defining it.
3508
1729bb9a
KH
3509 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3510 -I/usr/contrib/X11R6/include.
3511 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3512
a82fe213
JR
35132000-11-10 Jason Rumney <jasonr@gnu.org>
3514
3515 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3516
3517 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3518 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3519
3520 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3521 (Qw32_charset_vietnamese): New symbol.
3522 (xlfd_charset_of_font): New function.
3523 (w32_load_system_font): Use it.
3524 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3525 when Vw32_charset_info_alist is nil to ensure default face always
3526 has font. Use Fcar and Fcdr for safety.
3527 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3528 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3529 pseudo-codepages for special cases.
3530 (w32_to_x_font): New parameter to allow charset portion to be
3531 specified where there is many to one mapping. Callers changed.
3532 (w32_list_fonts): Avoid listing fonts that won't display.
3533
52d89894
GM
35342000-11-10 Gerd Moellmann <gerd@gnu.org>
3535
3536 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3537 (font_list_1): Renamed from font_list.
3538 (font_list): New function, trying alternative registries from
3539 Vface_alternative_font_registry_alist.
3540 (Finternal_set_alternative_font_registry_alist): New function.
3541 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3542 Vface_alternative_font_registry_alist.
3543 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3544
651cd3da
KR
35452000-11-09 Ken Raeburn <raeburn@gnu.org>
3546
3547 * lisp.h (Flooking_at): Declare.
3548
388ac098
GM
35492000-11-09 Gerd Moellmann <gerd@gnu.org>
3550
778fbc46 3551 * dired.c (directory_files_internal): Fix a braino.
52283633 3552
388ac098
GM
3553 * dired.c (directory_files_internal): Add missing GCPRO's.
3554 Some cleanup.
3555
ecaedde1
GM
35562000-11-08 Gerd Moellmann <gerd@gnu.org>
3557
f7eb32aa
GM
3558 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3559 (resize_mini_window): Return quickly if Vresize_mini_window is
3560 nil. Don't return if Vmax_mini_window_height is nil.
3561
3562 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3563 (syms_of_xdisp): Initialize them.
3564 (resize_mini_window): Act according to the setting of
3565 Vresize_mini_window.
3566 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3567
ecaedde1
GM
3568 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3569 scroll bar widget after configuring it, so that it will appear at
3570 the right position from the start.
3571 (XTredeem_scroll_bar): Cleaned up.
3572
3747ef2c
KH
35732000-11-08 Kenichi Handa <handa@etl.go.jp>
3574
3575 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3576 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3577 division by two.
3578
3579 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3580
03391420
DL
35812000-11-07 Dave Love <fx@gnu.org>
3582
7758f1c1 3583 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3584
3585 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3586
b5de343d
GM
35872000-11-07 Gerd Moellmann <gerd@gnu.org>
3588
acad3c0b
GM
3589 * window.c (Fset_window_configuration): Don't try to preserve
3590 point in the current buffer, if that buffer is displayed in more
3591 than one window.
3592
b5de343d
GM
3593 * xfaces.c (lookup_named_face): If default face isn't realized,
3594 try to realize it. Return -1 if not successful.
3595 (Fx_list_fonts): Handle case that face cannot be determined.
3596 (Fface_font): Likewise.
3597
cdb1fe49
GM
35982000-11-06 Gerd Moellmann <gerd@gnu.org>
3599
3600 * window.c (displayed_window_lines): Detect partially
3601 visible lines at the bottom correctly.
3602
d3a67486
SM
36032000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3604
3605 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3606 when ensuring we don't do visit in indirect buffer.
3607
ff8dd5d5
KH
36082000-11-06 Kenichi Handa <handa@etl.go.jp>
3609
3610 * composite.h (compose_chars_in_text): Add prototype.
3611
3612 * composite.c (Vcomposition_function_table): New variable.
3613 (Qcomposition_function_table): New variable.
3614 (run_composition_function): Call
3615 Vcompose_chars_after_function with three arguments.
3616 (compose_chars_in_text): New function.
3617 (syms_of_composite): Modified the doc-string of
3618 Vcompose_chars_after_function. Declare composition-function-table
3619 as a lisp variable, and initialize it.
3620
3621 * xfns.c (x_encode_text): Suppress producing escape sequences for
3622 composition.
3623
3624 * xselect.c: Include composite.h.
3625 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3626
d1145f85
AI
36272000-11-05 Andrew Innes <andrewi@gnu.org>
3628
3629 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3630
3631 * sysdep.c (read_input_waiting): Remove extraneous argument to
3632 read_socket_hook.
3633
3634 * w32fns.c (Fx_server_version): Include w32_build_number in the
3635 return list.
3636
3637 * w32heap.c (w32_build_number): New variable.
3638 (cache_system_info): Set it.
3639
3640 * w32heap.h (w32_build_number): Add extern.
3641
3642 * emacs.c (syms_of_emacs): Update docstring for
3643 system-configuration, to reflect the actual usage on MS-Windows.
3644
e85ee976
GM
36452000-10-31 Gerd Moellmann <gerd@gnu.org>
3646
26dcb81b
GM
3647 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3648 process idle timers while waiting for another event.
3649
52283633 3650 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3651 the default face are colored.
3652
e85ee976
GM
3653 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3654 window height hasn't changed.
3655
01b220b6
JR
36562000-10-31 Jason Rumney <jasonr@gnu.org>
3657
3658 * w32term.c (x_produce_glyphs): Handle composite characters.
3659 (x_draw_glyph_string_foreground)
3660 (x_draw_composite_glyph_string_foreground): Restore old font.
3661
4e6b7204
MB
36622000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3663
3664 * minibuf.c (read_minibuf): Reset the undo history just before
3665 starting the recursive-edit.
3666
d4358b37
GM
36672000-10-30 Gerd Moellmann <gerd@gnu.org>
3668
563f68f1
GM
3669 * xfaces.c (menu_face_change_count): New variable.
3670 (Finternal_set_lisp_face_attribute): Increment it for changes
3671 of the `menu' face.
3672 (realize_basic_faces): Reflect changes in the `menu' faces
3673 in menu bars.
3674
82e274d1
GM
3675 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3676 dy obtained from the iterator's y-position after moving from
3677 scroll_margin_pos to PT; see comment there.
52283633 3678
0dbf9fd2
GM
3679 * xdisp.c (safe_eval_handler): Call add_to_log.
3680
906b3b14
GM
3681 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3682 is not a symbol or string.
3683
d4358b37
GM
3684 * xdisp.c (echo_area_display): Don't perform a display update from
3685 inside redisplay. The update will happen anyway at the end of
3686 redisplay, and it can confuse redisplay (GC messages while
3687 redisplaying, for instance.)
3688
70c825df
SM
36892000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3690
cf9b4b0b
SM
3691 * xrdb.c (x_load_resources): Use the class name in the defaults.
3692
70c825df
SM
3693 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3694 (regex_compile): Catch bogus \(\1\).
3695
a1d34b1e
GM
36962000-10-30 Gerd Moellmann <gerd@gnu.org>
3697
cae71efe
GM
3698 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3699 RGB values.
52283633 3700
35efe0a1
GM
3701 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3702 we have a color cache, check that the cached color equals the
3703 allocated color. If not, clear the color cache.
3704
1d3baf74
GM
3705 * window.c (displayed_window_lines): Change buffers if necessary.
3706 Fix computation of displayed lines.
3707
a1d34b1e
GM
3708 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3709 update_menu_bindings to DEFVAR_BOOL.
3710
70737ea9
KH
37112000-10-30 Kenichi Handa <handa@etl.go.jp>
3712
70c825df 3713 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3714
fa0cb51d
KH
3715 * puresize.h (BASE_PURESIZE): Increase to 680000.
3716
70737ea9
KH
3717 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3718
0e4c08e8
JR
37192000-10-29 Jason Rumney <jasonr@gnu.org>
3720
3721 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3722
3723 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3724 (w32_cache_char_metrics): Handle possibility that 'x' does not
3725 exist in a BDF font.
3726 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3727
3728 * w32bdf.h (bdffont): Add nchars.
3729
3730 * w32bdf.c (set_bdf_font_info): Set it.
3731 (w32_BDF_TextOut): Swap byte order of double byte characters.
3732 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3733
45b84006
EZ
37342000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3735
3736 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3737 don't override the colors in frame's param_alist, unless they are
3738 unspecified.
3739
3740 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3741 reverse the effect of the highlight flag.
3742
caf9deee
KR
37432000-10-27 Ken Raeburn <raeburn@gnu.org>
3744
3745 * window.h (Fwindow_live_p): Declare.
3746
ae0b9b46
KR
3747 * undo.c (record_delete): Check that last_undo_buffer is really a
3748 buffer before applying XBUFFER to it.
3749
3750 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3751 Faref.
3752
02067692
SM
37532000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3754
3755 * lisp.h (KEYMAPP): New macro.
3756 (get_keymap): Remove.
3757 (get_keymap_1): Rename get_keymap.
3758
3759 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3760
3761 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3762
3763 * xmenu.c (single_submenu): Use KEYMAPP.
3764 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3765 Use KEYMAPP rather than Fkeymapp.
3766
3767 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3768
3769 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3770 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3771 Use KEYMAPP rather than Fkeymapp.
3772 (single_submenu): Use KEYMAPP.
3773 (w32_menu_show, w32_dialog_show): Use TRUE.
3774
3775 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3776
3777 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3778 (Fkeymapp): Use KEYMAPP.
3779 (get_keymap): Rename from get_keymap_1. Remove old def.
3780 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3781 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3782 (Fminor_mode_key_binding): Don't raise an error if the binding
3783 is not a keymap.
3784 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3785 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3786
3787 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3788 Allow Vspecial_event_map to be autoloaded.
3789 (menu_bar_items): Fetch the keymap rather than using keymapp.
3790 (menu_bar_one_keymap): No need to follow func-indirect any more.
3791 (parse_menu_item): get_keymap_1 -> get_keymap.
3792 (tool_bar_items): Fetch the keymap rather than using keymapp.
3793 (read_key_sequence): Use KEYMAPP.
3794
3795 * intervals.c (get_local_map): Use get_keymap rather than following
3796 function-indirections explicitly.
3797
3798 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3799
f9d80af3
JR
38002000-10-27 Jason Rumney <jasonr@gnu.org>
3801
3802 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3803 point, as Windows has oversized fonts.
3804
3805 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3806
a3ba27da
GM
38072000-10-27 Gerd Moellmann <gerd@gnu.org>
3808
3809 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3810 (freehook, reallochook): Handle null pointer arguments.
3811 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3812
aa3b80cc
SM
38132000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3814
3815 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3816 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3817 Giving in to popular pressure to shut up the compiler with casts.
3818
e24e84cc
GM
38192000-10-27 Gerd Moellmann <gerd@gnu.org>
3820
3821 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3822 signed value, and use a default value computed from the font's
3823 maximum descent.
3824
05ea7ef2
MB
38252000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3826
3827 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3828 that specify a negative underline position can still use underlines.
3829
3830 * window.c (Fpos_visible_in_window_p): Make POS default to
3831 WINDOW's point, not the current buffer's point.
3832
0b95284b
DL
38332000-10-26 Dave Love <fx@gnu.org>
3834
3835 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3836 when it's necessary.
3837
6c5b90af
GM
38382000-10-26 Gerd Moellmann <gerd@gnu.org>
3839
8b6d9dc9
GM
3840 * window.c (size_window): Compute size difference from sum of old
3841 child window sizes instead of from parent's size.
3842
6bc92b2e
GM
3843 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3844 Handle obscured lines at the top of the window.
3845
3846 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3847 down after the last error condition check.
3848
6c5b90af
GM
3849 * frame.c (Fdelete_frame): Run delete-frame-hook.
3850
42f92d4d
KH
38512000-10-26 Kenichi Handa <handa@etl.go.jp>
3852
3853 * coding.c (decode_coding): Fix previous change (check also
3854 CODING_MODE_LAST_BLOCK).
3855
d97151cb
SM
38562000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3857
e7efc503
SM
3858 * regex.c: More `unsigned char' -> `re_char' changes.
3859 Also change several `int' into `re_wchar_t'.
3860 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3861 (PUSH_FAILURE_POINTER): Don't cast any more.
3862 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3863 We want GCC to complain, since this piece of code makes
3864 re_match non-reentrant, which *should* be fixed.
3865 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3866 (EXTEND_BUFFER): Use RETALLOC.
3867 (SET_LIST_BIT): Don't cast.
3868 (re_wchar_t): New type.
3869 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3870 that those two functions will always properly return.
3871 (IMMEDIATE_QUIT_CHECK): Cast to void.
3872 (analyse_first): Use recursion rather than an explicit stack.
3873 (re_compile_fastmap): Can't fail anymore.
3874 (re_search_2): Don't check re_compile_fastmap for failure.
3875 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3876 Now also sets the new value (passed in a new argument).
3877 (re_match_2_internal): Use it.
3878 Also, use a new var `reg' of type size_t when looping through regs
3879 rather than reuse the inappropriate `mcnt'.
3880
d97151cb
SM
3881 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3882 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3883 (where_is_internal): Renamed from Fwhere_is_internal.
3884 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3885 (Fwhere_is_internal): New function wrapping where_is_internal.
3886 (where_is_internal_1): Handle the case where we're filling the cache.
3887 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3888
d5789b65
MB
38892000-10-25 Miles Bader <miles@gnu.org>
3890
3891 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3892
4ecda532
GM
38932000-10-25 Gerd Moellmann <gerd@gnu.org>
3894
3895 * window.c (pos_fully_visible_p): Removed.
3896 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3897 if position is visible and/or fully visible.
3898
3899 * lisp.h (pos_visible_p): Add prototype.
3900
3901 * xdisp.c (pos_visible_p): New function.
3902
68c3a137
KH
39032000-10-25 Kenichi Handa <handa@etl.go.jp>
3904
3905 * process.c (send_process): If OBJECT is t, it means that the data
3906 is from C string, but we should encode it. Before calling
3907 setup_raw_text_coding_system, be sure to flush out data by the
3908 previous coding system.
3909
7ae1c032
MB
39102000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3911
ff4dcd4b
MB
3912 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3913 assignment of startpos to prev when startpos == pos.
3914
7ae1c032
MB
3915 * editfns.c (find_field): Set the field stickiness correctly from
3916 overlay fields. Use renamed `text_property_stickiness'.
3917 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3918 Only check text properties, not overlays.
7ae1c032
MB
3919 * textprop.c (get_char_property_and_overlay): New function.
3920 (Fget_char_property): Use it.
3921 * intervals.h (get_char_property_and_overlay): Add declaration.
3922
49801145
SM
39232000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3924
3925 * keymap.c: Use AREF, ASET and ASIZE macros.
3926 (Fmake_sparse_keymap): Docstring fix.
3927 (synkey): Remove.
3928 (shadow_lookup): Move up.
3929 Handle the case where lookup-key returns an integer.
3930 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3931 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3932 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3933 Simplify/rewrite the keymap-finding code.
3934 Add check for command shadowing, using shadow_lookup.
3935
39e776cd
SM
39362000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3937
3938 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3939 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3940 a symbol.
3941
2488aba5
AI
39422000-10-24 Andrew Innes <andrewi@gnu.org>
3943
3944 * dired.c (directory_files_internal_unwind): New function.
3945 (directory_files_internal): Use it to ensure closedir is called
3946 even if expand-file-name or file-attributes throw, eg. because of
3947 a user interrupt. Also enable immediate_quit while calling
3948 re_search, so that matching can be interrupted as well.
3949
b94fdf61
AI
39502000-10-24 Andrew Innes <andrewi@gnu.org>
3951
3952 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3953 NT-Emacs only.
3954 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3955 so that re_search functions only quit when callers expect them to.
3956
39572000-10-24 Kenichi Handa <handa@etl.go.jp>
3958
3959 * regex.c (regex_compile): Change the way of handling a range from
3960 a char less than 256 to a char not less than 256.
3961
1946f901
GM
39622000-10-24 Gerd Moellmann <gerd@gnu.org>
3963
7ae2f10f
GM
3964 * window.c (size_window): Prevent setting window's width or
3965 height to a negative value (esp. with XSETFASTINT).
3966
5dcab13e
GM
3967 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3968 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3969 (protect_malloc_state) [GC_MALLOC_CHECK &&
3970 GC_PROTECT_MALLOC_STATE]: New function.
3971 (PROTECT_MALLOC_STATE): New macro.
3972 (__malloc_initialize, morecore, _malloc_internal)
3973 (_free_internal) _realloc_internal): Use it to make _heapinfo
3974 read-only outside of gmalloc.
3975
63e1b552
GM
3976 * keymap.c: Update copyright.
3977
1946f901
GM
3978 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3979 a symbol.
3980
4fa09beb
GM
39812000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3982
3983 * filelock.c (unlock_all_files): Use unlock_file to expand each
3984 buffer's file_truename before trying remove its lock file.
3985
23afac01
EZ
39862000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3987
3988 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3989 or CRLF, decode EOLs.
3990
04448b95
KH
39912000-10-24 Kenichi Handa <handa@etl.go.jp>
3992
3993 * window.c (Fdisplay_buffer): Fix doc.
3994
3090a5a5
JR
39952000-10-23 Jason Rumney <jasonr@gnu.org>
3996
3997 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3998 ASCII font of default fontset on Windows.
3999
4000 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4001 xterm.c comment below).
4002
4003 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4004
a83fee2c
GM
40052000-10-23 Gerd Moellmann <gerd@gnu.org>
4006
4007 * xterm.c (x_connection_closed): Reset handling_signal.
4008
52283633 4009 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4010
6ffdb539
MB
40112000-10-23 Miles Bader <miles@gnu.org>
4012
4013 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4014 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4015 maintain old behavior.
4016 * minibuf.c (Fminibuffer_complete): Likewise.
4017
7f1c969b
MB
40182000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4019
4020 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4021 that when a font can't be exactly centered, it errs up rather than
4022 down.
4023
23afac01 40242000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4025
52283633 4026 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4027
1a578e9b
AC
40282000-10-23 Andrew Choi <akochoi@i-cable.com>
4029
4030 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4031
4032 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4033 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4034
4035 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4036 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4037 syms_of_search, x_term_init, and init_keyboard before calling
4038 init_window_once. Also, call syms_of_xmenu.
4039
4040 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4041 default fontset to Monaco.
4042
4043 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4044 NewMacWindow and DisposeMacWindow.
4045 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4046 instead of calling NewMacWindow and setting fields of
4047 f->output_data.mac directly. Call init_frame_faces.
4048 (Fdelete_frame) [macintosh]: Remove unused code.
4049 (Fmodify_frame_parameters) [macintosh]: Call
4050 x_set_frame_parameters instead of mac_set_frame_parameters.
4051
4052 * frame.h [macintosh]: Define menu_bar_lines field in struct
4053 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4054
4055 * keyboard.c [macintosh]: Include macterm.h.
4056 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4057 and menu_bar_activate_event type events as for X and NT.
4058 (make_lispy_event) [macintosh]: Construct lisp events of type
4059 MENU_BAR_EVENT as for X and NT.
4060
4061 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4062 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4063 (sys_subshell) [macintosh]: Remove definition entirely.
4064 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4065 Vwindow_system_version here. Remove initialization of
4066 Vx_bitmap_file_path.
4067 (read_input_waiting): Correct the number of parameters passed to
4068 read_socket_hook.
4069 Move all Macintosh functions to mac/mac.c.
4070
4071 * term.c [macintosh]: Include macterm.h.
4072
4073 * window.c [macintosh]: Include macterm.h.
4074
4075 * xdisp.c [macintosh]: Include macterm.h. Declare
4076 set_frame_menubar and pending_menu_activation.
4077 (echo_area_display) [macintosh]: Do not return if terminal frame
4078 is the selected frame.
4079 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4080 Allow only the selected frame to set menu bar.
4081 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4082 calling FRAME_EXTERNAL_MENU_BAR (f).
4083 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4084
4085 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4086 and check_x. Declare XCreateGC. Define x_create_gc and
4087 x_free_gc. Initialize font_sort_order.
4088 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4089 but call x_list_fonts instead of w32_list_fonts.
4090 (Finternal_face_x_get_resource) [macintosh]: Do not call
4091 display_x_get_resource.
4092 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4093 (realize_x_face) [macintosh]: Load the font if it is specified in
4094 ATTRS.
52283633 4095 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4096
1ffbabe3
SM
40972000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4098
4099 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4100 is nil: since we go to the end of submap anyway, we'd end up
4101 setting nil to nil.
4102 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4103 doesn't obey autoload.
4104
bed43f1d
EZ
41052000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4106
1ffbabe3 4107 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4108
ea4233a7
JR
41092000-10-21 Jason Rumney <jasonr@gnu.org>
4110
4111 * w32term.c (w32_cache_char_metrics): Double check that font is
4112 really fixed pitch before trusting tmPitchAndFamily.
4113
f3d3c491
AI
41142000-10-21 Andrew Innes <andrewi@gnu.org>
4115
4116 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4117
4118 * w32term.h: Extern decl for w32_cache_char_metrics.
4119
4120 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4121
4122 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4123 (w32_unload_font): Free per_char array if present.
4124
4125 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4126 cached information in emulated XFontStruct to handle common cases
4127 quickly. Do not allocate XCharStruct for return.
4128 (w32_native_per_char_metric): New function.
4129 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4130 allocating one.
4131 (x_produce_glyphs): Don't get an HDC. Change calls to
4132 w32_per_char_metric to match arg change above. Remove calls to
4133 free results.
4134 (w32_get_glyph_overhangs): Ditto.
4135 (w32_cache_char_metrics): New function.
4136
4137 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4138 ($(BLD)/casefiddle.$(O)): Remove compile command.
4139 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4140 ($(BLD)/dispnew.obj):
4141 ($(BLD)/keyboard.obj):
4142 ($(BLD)/w32inevt.obj):
4143 ($(BLD)/w32bdf.obj):
4144 ($(BLD)/alloc.obj):
4145 ($(BLD)/buffer.obj):
4146 ($(BLD)/editfns.obj):
4147 ($(BLD)/emacs.obj):
4148 ($(BLD)/fileio.obj):
4149 ($(BLD)/fns.obj):
4150 ($(BLD)/indent.obj):
4151 ($(BLD)/insdel.obj):
4152 ($(BLD)/intervals.obj):
4153 ($(BLD)/minibuf.obj):
4154 ($(BLD)/print.obj):
4155 ($(BLD)/scroll.obj):
4156 ($(BLD)/sysdep.obj):
4157 ($(BLD)/textprop.obj):
4158 ($(BLD)/widget.obj):
f3d3c491
AI
4159 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4160 ($(BLD)/term.obj): Add dependency on dispextern.h.
4161
52283633
SM
4162 * makefile.nt ($(BLD)\dispnew.obj):
4163 ($(BLD)\keyboard.obj):
4164 ($(BLD)\w32inevt.obj):
4165 ($(BLD)\w32bdf.obj):
4166 ($(BLD)\alloc.obj):
4167 ($(BLD)\buffer.obj):
4168 ($(BLD)\editfns.obj):
4169 ($(BLD)\emacs.obj):
4170 ($(BLD)\fileio.obj):
4171 ($(BLD)\fns.obj):
4172 ($(BLD)\indent.obj):
4173 ($(BLD)\insdel.obj):
4174 ($(BLD)\intervals.obj):
4175 ($(BLD)\minibuf.obj):
4176 ($(BLD)\print.obj):
4177 ($(BLD)\scroll.obj):
4178 ($(BLD)\sysdep.obj):
4179 ($(BLD)\textprop.obj):
4180 ($(BLD)\widget.obj):
f3d3c491
AI
4181 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4182 ($(BLD)\term.obj): Add dependency on dispextern.h
4183
18ad4821
EZ
41842000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4185
4186 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4187 with an additional argument of Qt.
4188
de54681a
MB
41892000-10-21 Miles Bader <miles@gnu.org>
4190
4191 * window.c (pos_fully_visible_in_window_p): New function.
4192 (Fpos_visible_in_window_p): Add FULLY argument.
4193 Use pos_fully_visible_in_window_p.
4194 (window_scroll_pixel_based, window_scroll_line_based): Update
4195 calls to Fpos_visible_in_window_p.
4196 * lisp.h (Fpos_visible_in_window_p): Update prototype
4197
13c844fb
GM
41982000-10-20 Gerd Moellmann <gerd@gnu.org>
4199
4200 * alloc.c (toplevel): Conditionalize compilation of mem_*
4201 functions differently.
52283633 4202
d9506268
JR
42032000-10-20 Jason Rumney <jasonr@gnu.org>
4204
4205 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4206 mem_init where it used to be. mem_z etc not defined otherwise.
4207
8094989b
GM
42082000-10-20 Gerd Moellmann <gerd@gnu.org>
4209
4210 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4211 GC_MALLOC_CHECK.
4212 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4213 structure definition and related variabled to the top of the file.
4214 Include this code when GC_MALLOC_CHECK is defined.
4215 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4216 register/unregister allocated region.
4217 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4218 which isn't allocated.
4219 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4220 something which is already in use.
4221 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4222 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4223 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4224 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4225
4226 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4227 _malloc_internal instead of malloc.
4228 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4229 of free.
4230
ea456eb4
AI
42312000-10-20 Andrew Innes <andrewi@gnu.org>
4232
4233 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4234 Windows.
4235 (my_strftime) <macro>: Don't use macro arg list when redefining as
4236 _strftime_copytm.
4237 (my_strftime) <function>: Supply 0 as ut argument.
4238
e64c3a75
JR
42392000-10-19 Jason Rumney <jasonr@altavista.net>
4240
4241 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4242 including dispextern.h, as it stops faces from working.
4243
4244 * w32fns.c (Fx_create_frame): Don't bother calling
4245 face-set-after-frame-default since the caller does it for us
4246 anyway. Clean up calls to x_get_arg to be consistent with X.
4247
4248 * w32term.c (x_produce_glyphs): Handle
4249 unibyte_display_via_language_environment correctly.
4250 (w32_draw_box_rect): Fix the calculation of width and height.
4251
4252 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4253 as it has stopped working.
4254 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4255 menu-bar.
4256
17401c97
GM
42572000-10-19 Gerd Moellmann <gerd@gnu.org>
4258
4259 * eval.c (skip_debugger): Prevent a compiler warning.
4260 (Fcondition_case): Likewise.
4261 (Fbacktrace_frame): Use a null interactive spec.
4262
773272d8
KH
42632000-10-19 Kenichi Handa <handa@etl.go.jp>
4264
4265 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4266
a42943e9
GM
42672000-10-18 Gerd Moellmann <gerd@gnu.org>
4268
e50517d9
GM
4269 * strftime.c: Sync with glibc, file version 1.78.
4270 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4271 should no longer be used according to ISO 8601.
4272
9035a35a
GM
4273 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4274 no map for meta_prefix_char, don't try to use it as a keymap.
4275 Instead, if T_OK is non-zero, look up a default binding, if any,
4276 otherwise, if T_OK is zero, return nil.
4277
a42943e9
GM
4278 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4279 (x_to_xcolors, png_load): Use x_query_color.
4280
52283633
SM
4281 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4282 New functions.
a42943e9
GM
4283 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4284 which can be slow.
4285 (x_copy_color, x_alloc_lighter_color): Likewise.
4286
4287 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4288 (x_query_color, x_query_colors): Add prototype.
4289
4290 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4291 check_string_bytes only if not noninteractive, increase count to 50.
4292
00de2987
MB
42932000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4294
4295 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4296 markers correctly.
4297
54918e2b
GM
42982000-10-17 Gerd Moellmann <gerd@gnu.org>
4299
1f0b3fd2
GM
4300 * alloc.c (pure_bytes_used): Renamed from pureptr.
4301 (ALIGN): New macro.
4302 (pure_alloc): New function.
4303 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4304 Use it.
4305 (Fpurecopy): Use PURE_POINTER_P.
4306
68c5d1db
GM
4307 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4308 PT has moved backward.
52283633 4309
9a038881
GM
4310 * xdisp.c (cursor_row_p): Take continued lines into account.
4311
361b097f
GM
4312 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4313 string's size_byte.
4314 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4315 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4316 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4317 string allocated.
4318
54918e2b
GM
4319 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4320 of selective display off while searching for the next line start.
4321
03ed0806
KH
43222000-10-17 Kenichi Handa <handa@etl.go.jp>
4323
4324 * Makefile.in (term.o): Depend on dispextern.h.
4325
7e05cdaf
SM
43262000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4327
4328 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4329
a6801fd1
GM
43302000-10-16 Gerd Moellmann <gerd@gnu.org>
4331
483de32b
GM
4332 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4333 the iterator at the beginning, so that they can be set later on,
4334 for instance in reseat_at_next_visible_line_start, without being
4335 overwritten.
4336
a6801fd1
GM
4337 * xfns.c (pbm_format): Add :foreground and :background keywords.
4338 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4339 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4340
dbf1fcc1
EZ
43412000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4342
4343 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4344
52283633 4345 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4346
4347 * msdos.c (IT_set_face): Compare highlighted face with the default
4348 face, and invert colors if these faces' colors are identical.
4349 (Fmsdos_remember_default_colors): Don't swap foreground and
4350 background colors in initial_colors[].
4351 (IT_set_frame_parameters): Don't swap frame's foreground and
4352 background pixels. If ALIST includes "(reverse . t)", swap
4353 foreground-color and background-color properties in frame's
4354 param_alist. If the original frame's param_alist doesn't specify
4355 the colors, store unspecified-fg and unspecified-bg, reversed if
4356 required.
4357
4358 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4359 the colors are unspecified and reversed, reverse fore- and back-
4360 ground in the returned value.
4361 (Fframe_parameter): Ditto.
4362
b41fe2c3 43632000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4364
3a6b59d9
GM
4365 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4366 get_last_unchanged_at_beg_row.
4367 (find_first_unchanged_at_end_row): Renamed from
4368 get_first_unchanged_at_end_row.
4369 (find_first_unchanged_at_end_row): Convert assertions to
4370 unconditional tests which abort. When looking for a row in
4371 unchanged text, don't go further back than first_text_row.
4372
b41fe2c3
GM
4373 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4374 Don't add in the last line's height when deciding if the new
4375 position is below the scroll margin.
9d1af64f 4376
b41fe2c3 43772000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4378
4379 * editfns.c (Fconstrain_to_field): Check carefully for field
4380 boundaries if either OLD_POS or NEW_POS has a non-nil field
4381 property, even if they're the same.
4382
c412cb7b
KH
43832000-10-16 Kenichi Handa <handa@etl.go.jp>
4384
4385 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4386 height for XFillRectangle.
4387
5586f3eb
SM
43882000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4389
4390 * syntax.c (Fstring_to_syntax): New function extracted from
4391 Fmodify_syntax_entry.
4392 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4393 (skip_chars, Fforward_comment): Remove unused variables.
4394 (syms_of_syntax): Add defsubr for string-to-syntax.
4395 (describe_syntax): Add code for comment and string fences.
4396
db785038
SM
43972000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4398
4399 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4400 Do the meta->esc mapping. Call get_keyelt before returning.
4401 Start scanning from the second element (the first is always `keymap')
4402 to make it easier to detect when we reach a parent map.
4403 Handle the case of inheriting from a symbol whose function is a map.
4404 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4405 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4406 (get_keyelt, Flookup_key): Update call to access_keymap.
4407 Remove the meta->esc mappings.
4408 (define_as_prefix): Delete old disabled code.
4409 (menu_item_p): New function.
4410 (where_is_internal_1): Skip over the few remaining menu items.
4411 * lisp.h (access_keymap): Update prototype.
4412 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4413 Update call to access_keymap.
4414 (follow_key, read_key_sequence): Update calls to access_keymap.
4415 Remove the meta->esc mappings.
4416
cafafe0b
GM
44172000-10-13 Gerd Moellmann <gerd@gnu.org>
4418
a2e2a7f6
GM
4419 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4420 with additional argument.
4421
cafafe0b
GM
4422 * xdisp.c (cursor_row_p): New function.
4423 (try_cursor_movement, display_line): Use it.
52283633 4424
cafafe0b
GM
4425 * xdisp.c (append_space): Also save/restore iterator's current
4426 character and its length.
4427
4428 * xdisp.c (init_from_display_pos): Add an assertion.
4429 (handle_stop): Don't set iterator's add_overlay_start.
4430 (handle_invisible_prop): Likewise.
4431 (load_overlay_strings): If text under an overlay is invisible,
4432 take both before- and after-strings into account when the iterator
4433 is positioned either at the start or at the end of the overlay.
4434 (forward_to_next_line_start): Rewritten.
4435 (reseat_at_next_visible_line_start): Rewritten.
4436 (set_iterator_to_next): Add parameter RESEAT_P.
4437
4438 * dispextern.h (struct it): Remove member add_overlay_start.
4439 (set_iterator_to_next): Change prototype.
4440
c744452b
KH
44412000-10-13 Kenichi Handa <handa@etl.go.jp>
4442
4443 * coding.c (code_convert_region): Be sure to initialize
4444 coding->category_idx.
e4a3f4e1
KH
4445 (decode_coding_string): Set coding->src_multibyte and
4446 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4447 (encode_coding_string): Set coding->src_multibyte and
4448 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4449
321fd26f
SM
44502000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4451
4452 * xfns.c (Fx_create_frame): Don't bother calling
4453 face-set-after-frame-default since the caller does it for us anyway.
4454
76832439
EZ
44552000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4456
4457 * window.c (coordinates_in_window): Fix detection of vertical line
4458 on character terminals.
4459
2483cf58
GM
44602000-10-12 Gerd Moellmann <gerd@gnu.org>
4461
4462 * editfns.c (save_excursion_save): Additionally record the
4463 selected window.
4464 (save_excursion_restore): If buffer was visible in a window, and a
4465 different window was selected, and the old selected window is
4466 still live, restore point in that window.
4467
eb991b25
KH
44682000-10-12 Kenichi Handa <handa@etl.go.jp>
4469
8a0eba09
KH
4470 * xterm.c (x_produce_glyphs): Handle
4471 unibyte_display_via_language_environment correctly.
4472
20401fcc
KH
4473 * regex.c (regex_compile): Change the way of handling a range from
4474 unibyte char to multibyte char.
4475
4476 * syntax.c (skip_chars): Change the way of handling a range from
4477 unibyte char to multibyte char.
4478
eb991b25
KH
4479 * process.c (read_process_output): Cancel previous change.
4480
365dd325
EZ
44812000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4482
c1b096cb
EZ
4483 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4484
365dd325
EZ
4485 * charset.c (Ffind_charset_string): Doc fix.
4486 (Ffind_charset_region): Doc fix.
4487
eb483c2b
KH
44882000-10-11 Kenichi Handa <handa@mule.m17n.org>
4489
4490 * process.c (read_process_output): Fix previous change. Adjust
4491 multibyteness of text to insert in a buffer by
52283633 4492 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4493
b40bfb99
AS
44942000-10-10 Andreas Schwab <schwab@suse.de>
4495
4496 * alloc.c (mark_object): Remove all workarounds installed on
4497 1993-08-08.
4498
caff31d4
KH
44992000-10-10 Kenichi Handa <handa@etl.go.jp>
4500
52283633 4501 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4502 (base64_encode_1): Make it work for a text of multibyte form.
4503 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4504 case. Don't call str_to_multibyte because base64_decode_1
4505 produces correct multibyte form for eight-bit codes.
52283633 4506 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4507 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4508 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4509 codes.
4510
4511 * charset.h (CHAR_STRING): Optimized for single byte characters.
4512
cba026ef
AS
45132000-10-09 Andreas Schwab <schwab@suse.de>
4514
4515 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4516 -1 after socket is closed, to fall through to error processing.
4517
1e21fe48
EZ
45182000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4519
4520 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4521 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4522 background-color, change also the colors of the default face for
4523 this frame.
4524
a640322e
EZ
45252000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4526
4527 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4528 them extern (they are defined on xfaces.c).
4529 (syms_of_msdos): Don't intern and don't staticpro
4530 Qbackground_color and Qforeground_color.
4531
a115794c
EZ
45322000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4533
4534 * frame.c (Fframe_parameter): For non-windowed frames, if
4535 f->param_alist says foreground or background color is unspecified,
4536 call tty_color_name to return the color name computed from the
4537 frame's current colors.
4538
f5533b63
DL
45392000-10-06 Dave Love <fx@gnu.org>
4540
4541 * terminfo.c (ospeed): Don't declare.
4542
4543 * sysdep.c: Don't include string.h.
4544 (h_errno): Declare conditional also on TRY_AGAIN.
4545
4546 * charset.c (Ffind_charset_string): Doc fix.
4547
52283633 4548 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4549 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4550 error messages.
4551
2b06561a
DL
45522000-10-05 Dave Love <fx@gnu.org>
4553
4554 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4555 position like menu-bar.
4556
ca839c85
GM
45572000-10-05 Gerd Moellmann <gerd@gnu.org>
4558
4559 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4560
4561 * xdisp.c (handle_single_display_prop): Use safe_call1.
4562 (safe_call): Renamed from call_function.
4563 (safe_call1): New function.
4564 (handle_fontified_prop): Use safe_call1 instead of call1.
4565 (safe_eval): Renamed from eval_form.
4566 (safe_eval_handler): Renamed from eval_handler.
4567 (handle_single_display_prop, display_mode_element): Use safe_eval
4568 instead of eval_form.
4569
4570 * xfaces.c (merge_face_heights): Use safe_call instead of
4571 call_function.
4572
4573 * keyboard.c (show_help_echo): Use safe_call instead of
4574 call_function; use safe_eval instead of eval_form.
4575
4576 * lisp.h (safe_call): Renamed from call_function.
4577 (safe_eval): Renamed from eval_form.
4578 (safe_call1): Add prototype.
4579
a3489ece
MB
45802000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4581
4582 * xfns.c (image_ascent): Rearrange ascent calculation for the
4583 has-a-font case.
4584
35810b6f
SM
45852000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4586
4587 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4588 (where_is_internal_1): Don't bother ignoring menu-items any more.
4589
3dc78168
GM
45902000-10-04 Gerd Moellmann <gerd@gnu.org>
4591
4592 * keyboard.c (update_menu_bindings): New variable.
4593 (parse_menu_item): Use AREF. If update_menu_bindings
4594 is 0, don't update menu bindings.
4595 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4596
1efc2bb9
EZ
45972000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4598
4599 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4600 to `mark_object'.
4601
3f679f55
SM
46022000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4603
4604 * syntax.c (forw_comment): Match nestedness of ender/starter.
4605 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4606 (prev_char_comstart_first): Remove.
4607 (back_comment): Check two-char comment markers more carefully
4608 to better handle overlapping cases like *//* or /* */* */ ...
4609 Match nestedness of ender/starter.
4610
2021ab61
DL
46112000-10-02 Dave Love <fx@gnu.org>
4612
4613 * config.in (HAVE_GAI_STRERROR): Add undef.
4614
4615 * process.c (Fopen_network_stream): Use it.
4616
4617 * m/alpha.h (NO_REMAP): Don't define.
4618
64e6cc18
GM
46192000-10-02 Gerd Moellmann <gerd@gnu.org>
4620
4621 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4622 return with a string converted to an integer or vice versa when
4623 Vmocklisp_arguments is t.
4624 (Fsignal): Likewise. The function can return for `quit'.
4625 (struct gcpro): Declare member `var' to point to a volatile
4626 Lisp_Object.
4627
4628 * eval.c (error): Prevent compiler warning.
4629
b1904cd9
SM
46302000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4631
4632 * keymap.c (keymap_memberp): New function.
4633 (Fset_keymap_parent): Use it.
4634 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4635 Use keymap_memberp to avoid creating cycles.
4636 (access_keymap): Use KEYMAPP.
4637
71c9ec51
GM
46382000-09-30 Gerd Moellmann <gerd@gnu.org>
4639
4640 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4641 gai_strerror. Make sure xerrno is set if connect fails. Improve
4642 error recovery.
71c9ec51 4643
c70c6b58
JR
46442000-09-29 Jason Rumney <jasonr@gnu.org>
4645
4646 * w32term.c (w32_char_font_type, w32_encode_char)
4647 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4648 (w32_bdf_per_char_metric): New function.
4649 (w32_per_char_metric): Use it.
4650 (x_draw_glyph_string_background): Always draw background for BDF
4651 glyphs.
4652
4653 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4654 GDI object which is a scarce resource.
4655
4656 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4657 (get_quoted_string): Fix limit on memchr search.
4658 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4659 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4660 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4661 (get_cached_font_char, cache_char_offset): Use macro
4662 BDF_CODEPOINT_RANGE_COVER_P.
4663 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4664 (clear_cached_bitmap_slots): New function.
4665 (GET_HEX_VALUE): G-Z, g-z are not hex.
4666 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4667 (get_bitmap_with_cache): Use new cache implementation.
4668 (create_offscreen_bitmap): New function.
4669 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4670
4671 * w32term.c (x_produce_glyphs): If the distance from the current
4672 position to the next tab stop is less than a canonical character
4673 width, use the tab stop after that.
4674 (x_draw_glyphs): Handle case START and END are out of bounds more
4675 carefully.
4676 (x_clear_mouse_face): Block/unblock input.
4677 (x_display_and_set_cursor): Don't show a hollow box cursor for
4678 buffers whose cursor_type is nil.
4679
fe01239f
GM
46802000-09-29 Gerd Moellmann <gerd@gnu.org>
4681
52283633 4682 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4683
4684 * dispextern.h (updating_frame): Declare extern.
4685
e7c52f1f
AS
46862000-09-29 Andreas Schwab <schwab@suse.de>
4687
4688 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4689
de6e1f7c
GM
46902000-09-29 Gerd Moellmann <gerd@gnu.org>
4691
25126faa
GM
4692 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4693 use its function definition.
4694 (tool_bar_items): Likewise.
4695
de6e1f7c 4696 * lisp.h (fatal): Declare NO_RETURN.
52283633 4697
454ee39b
KH
46982000-09-29 Kenichi Handa <handa@etl.go.jp>
4699
4700 * keymap.c: Remove the line "#undef NULL".
4701
96301c5f
GM
47022000-09-28 Gerd Moellmann <gerd@gnu.org>
4703
52283633 4704 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4705
efffeeb4
DL
47062000-09-28 Dave Love <fx@gnu.org>
4707
ecb8b666
DL
4708 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4709
dc3cd20f
DL
4710 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4711
4712 * .gdbinit (xreload): Note its need on GNU/Linux.
4713
efffeeb4
DL
4714 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4715 r_alloc, r_alloc_free.
4716
8610d903
KH
47172000-09-28 Kenichi Handa <handa@etl.go.jp>
4718
4719 * syntax.c (skip_chars): Handle negation correctly.
4720
8901d1ac
GM
47212000-09-27 Gerd Moellmann <gerd@gnu.org>
4722
6f22f1ad
GM
4723 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4724 with non-zero FORCE_P argument.
4725
52283633 4726 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4727 Add assertions.
4728
4729 * xdisp.c (window_box_height): Add an assertion.
4730
4731 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4732 tool-bar than is available.
4733 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4734
36f1966f
DL
47352000-09-27 Dave Love <fx@gnu.org>
4736
efffeeb4 4737 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4738
31d929e5
GM
47392000-09-26 Gerd Moellmann <gerd@gnu.org>
4740
c98863bf
GM
4741 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4742 instead of BITS_PER_INT.
4743 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4744 EMACS_UINT, respectively.
4745 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4746
4747 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4748
4749 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4750
77072ab1
GM
4751 * window.c (freeze_window_starts): Construct last argument for
4752 foreach_window differently.
4753
4754 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4755
4756 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4757 EMACS_UINT instead of `int' and `unsigned int'.
4758 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4759
4760 * frame.h (struct frame): Make the `nothing' member of union
4761 output_data an EMACS_INT.
4762
52283633 4763 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4764 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4765 size in the sdata structure.
4766 (SDATA_NBYTES, SDATA_DATA): New macros.
4767 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4768 differently for the different layout of the sdata structure.
4769 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4770 in sdata.
4771 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4772 Check that size recorded in the string size and size recorded in
4773 the sdata structure agree.
4774
3e60b029
DL
47752000-09-25 Dave Love <fx@gnu.org>
4776
4777 * buffer.c: Include stdio.h.
4778
4779 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4780
3e60b029
DL
4781 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4782
4783 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4784 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4785 (__malloc_extra_blocks): Declare as __malloc_size_t.
4786
8ff16b4e
GM
47872000-09-25 Gerd Moellmann <gerd@gnu.org>
4788
755a2ccd
GM
4789 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4790
d8b4516f
GM
4791 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4792 (read_char): If help-echo is showing, preserve the echo area
4793 when redisplaying.
4794
4795 * xdisp.c (help_echo_showing_p): New variable.
4796 (set_message): Reset it to 0.
4797 (init_xdisp): Initialize help_echo_showing_p.
4798
4799 * dispextern.h (help_echo_showing_p): Declare extern.
4800
4801 * config.in: Fix typo in __GNUC_MINOR__.
4802
4803 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4804
b11af2dd
GM
4805 * s/freebsd.h (POSIX_SIGNALS): Define.
4806
8ff16b4e
GM
4807 * xterm.c (x_clear_mouse_face): Block/unblock input.
4808
844eb643
DL
48092000-09-24 Dave Love <fx@gnu.org>
4810
4811 * fns.c (base64_encode_1): Fix last change.
4812
b30ab1b3
GM
48132000-09-22 Gerd Moellmann <gerd@gnu.org>
4814
4815 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4816
4817 * xdisp.c (try_window_reusing_current_matrix): More fixes
4818 for the case window has a header-line.
4819
c6cbe5f0
DL
48202000-09-22 Dave Love <fx@gnu.org>
4821
4c7c1f3f
DL
4822 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4823 a doc string.
4824
4825 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4826
c6cbe5f0
DL
4827 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4828
550a625e
GM
48292000-09-21 Gerd Moellmann <gerd@gnu.org>
4830
4c7c1f3f 4831 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4832 for GCC >= 2.5.
4833
52283633
SM
4834 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4835 Declare NO_RETURN.
fca99116 4836
80d26f99
GM
4837 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4838 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4839 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4840 warnings.
52283633 4841
80d26f99
GM
4842 * marker.c (byte_char_debug_check): Return void.
4843
623a0aae
GM
4844 * xfns.c (Fx_create_frame): Set default frame parameter value
4845 for tool-bar-lines to 1.
4846
4847 * dispnew.c (scrolling_window): Compare y-positions of rows
4848 equal at the start. Some simplification.
4849
4850 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4851 reused rows' y-position in the case window has a header-line, and
4852 new window start is greater than old window start.
4853
42ac0ae5
GM
4854 * process.c (process_sent_to): New variable.
4855 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4856 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4857 Declare more parameters volatile.
4858
550a625e
GM
4859 * lread.c (Vrecursive_load_depth_limit): New variable.
4860 (Fload): Check recursive loads whose recursion depth exceeds
4861 Vrecursive_load_depth_limit.
4862 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4863
8320414c
GM
48642000-09-20 Gerd Moellmann <gerd@gnu.org>
4865
f46c275e
GM
4866 * fileio.c (Fread_file_name): Doc fix.
4867
4868 * editfns.c (Fmessage_or_box): Doc fix.
4869
4870 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4871
b7e11c5b 4872 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4873
8320414c
GM
4874 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4875 symbols are specified, add color translations to the cache.
52283633 4876 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4877 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4878 xpm_cache_color.
4879 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4880 structures to xpm_init_color_cache.
4881
da1608d9
GM
48822000-09-19 Gerd Moellmann <gerd@gnu.org>
4883
52283633 4884 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4885
6badfa25
AI
48862000-09-19 Andrew Innes <andrewi@gnu.org>
4887
4888 * makefile.nt (bootstrap-emacs): Don't change directory.
4889
3a5f42bb
KH
48902000-09-19 Kenichi Handa <handa@etl.go.jp>
4891
1b7649bd
KH
4892 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4893
3a5f42bb
KH
4894 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4895 If output buffer is too small, signal an appropriated error.
4896
9f83cf0b
DL
48972000-09-18 Dave Love <fx@gnu.org>
4898
52283633 4899 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4900 (current_active_maps): Remove redundant get_local_map call.
4901
28c7826c
GM
49022000-09-18 Gerd Moellmann <gerd@gnu.org>
4903
5cefa566
GM
4904 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4905 cursor for buffers whose cursor_type is nil.
52283633 4906
6fed3546
GM
4907 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4908 a feature to implement that is already implemented.
4909 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4910 warnings.
4911
4912 * xfns.c (x_clear_image_1): New function.
4913 (x_clear_image): Use it.
52283633 4914 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4915
05b1f851
GM
4916 * dispnew.c (update_window): Move test for invisible lines
4917 at the top to update_window_line.
4918 (update_window_line): Handle invisible lines here.
4919
f4779de9
GM
4920 * xfns.c (clear_image_cache): Clear current matrices of all
4921 frames sharing an image cache. Block input while freeing
4922 images. Fix timestamp comparison.
4923 (x_clear_image): Also free the mask.
4924
28c7826c
GM
4925 * xfns.c (lookup_image): Block input while loading the image so
4926 that we won't get interrupted in a state where the image isn't yet
4927 set up completely.
4928 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4929 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4930 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4931 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4932
b7412313
GM
49332000-09-16 Gerd Moellmann <gerd@gnu.org>
4934
4935 * dispnew.c (update_window): Make sure to make desired rows
4936 current even if they are completely invisible at the top
4937 of a window.
4938
47e351a3
GM
49392000-09-15 Gerd Moellmann <gerd@gnu.org>
4940
7f8f1edc
GM
4941 * xfns.c (lookup_image): Build mask before applying an algorithm.
4942 Recognize algorithm `disabled'.
4943 (cross_disabled_images): New variable.
4944 (COLOR_INTENSITY): New macro.
4945 (x_detect_edges): Use COLOR_INTENSITY.
4946 (x_disable_image): New function.
4947 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4948
4949 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4950 disabled state, don't apply an image transformation algorithm if
4951 the user specified an image for the disabled state. Use
28c7826c 4952 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4953 user hasn't specified an image.
4954
ebb8f116
GM
4955 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4956 allocation functions with the XPM lib.
4957 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4958 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4959 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4960 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 4961 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
4962 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4963 functions, if possible, because these handle color allocation
4964 failure more gracefully.
4965 (Fimage_mask_p): New function.
4966
47e351a3
GM
4967 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4968 (Qedge_detection, Qheuristic): New symbols.
4969 (syms_of_xfns): Initialize new symbols.
4970 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4971 `algorithm (edge-detection ...)'.
4972 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4973 (tiff_format, gif_format, gs_format): Add `:mask'.
4974 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4975 (GIF_MASK, GS_MASK): New enumerators.
4976 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4977 (emboss_matrix, laplace_matrix): New variables.
4978 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4979 (x_edge_detection): New functions.
4980 (x_laplace): Rewritten in terms of x_detect_edges.
4981 (x_build_heuristic_mask): If image has a mask, free it.
4982
fe83b953
AI
49832000-09-14 Andrew Innes <andrewi@gnu.org>
4984
4985 * makefile.w32-in: Revert to Unix line endings.
4986
3021e816
AI
49872000-09-14 Andrew Innes <andrewi@gnu.org>
4988
4989 * makefile.w32-in: Standardize indentation somewhat.
4990 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4991 cater for differences between shells.
4992
4993 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4994
2a32b5ea
GM
49952000-09-14 Gerd Moellmann <gerd@gnu.org>
4996
4997 * xterm.c (x_produce_glyphs): If the distance from the current
4998 position to the next tab stop is less than a canonical character
4999 width, use the tab stop after that.
5000
b4331e96
DL
50012000-09-14 Dave Love <fx@gnu.org>
5002
5003 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5004
ef9e4345
GM
50052000-09-14 Gerd Moellmann <gerd@gnu.org>
5006
085536c2
GM
5007 * xdisp.c (handle_fontified_prop): While running fontification
5008 functions, bind `fontification-functions' and
5009 `after-change-functions' to nil.
5010
ef9e4345
GM
5011 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5012 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5013
5014 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5015
5016 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5017 USE_MMAP_FOR_BUFFERS.
5018
5019 * insdel.c (make_gap): Use enlarge_buffer_text.
5020
5021 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5022 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5023 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5024 from former r_alloc_* functions in ralloc.c.
52283633 5025 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5026 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5027 (mmap_init) [REL_ALLOC_MMAP]: New function.
5028 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5029 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5030 BUFFER_FREE.
5031
5032 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5033 (enlarge_buffer_text): Add prototype.
5034
5035 * ralloc.c: Remove everything having to do with the use of mmap.
5036
f8608968
GM
50372000-09-13 Gerd Moellmann <gerd@gnu.org>
5038
2a494b2d
GM
5039 * sound.c (Fplay_sound): Doc fix.
5040
8c907a56
GM
5041 * keyboard.c: Avoid some more compiler warnings.
5042 (parse_tool_bar_item): Ignore cached key bindings.
5043
f8608968
GM
5044 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5045 and allocation of Lisp data.
5046
6ab70e9a
GM
50472000-09-12 Gerd Moellmann <gerd@gnu.org>
5048
d12d0a9b
GM
5049 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5050 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5051 defaults first.
5052
6ab70e9a
GM
5053 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5054
63c36c3c
KH
50552000-09-12 Miyashita Hisashi <himi@meadowy.org>
5056
5057 * ccl.c: Comment fixed.
5058 (MAX_MAP_SET_LEVEL): Increased to 30.
5059 (PUSH_MAPPING_STACK): Enclose with do-while block.
5060 (POP_MAPPING_STACK): Likewise.
5061 (stack_idx_of_map_multiple): New variable.
5062 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5063 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5064 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5065 (ccl_driver) <CCL_MapSingle>: Likewise.
5066 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5067 with the case where looking up process reaches to the end of
5068 map-set, and call CCL programs as the above change.
5069
7ee3bd7b
GM
50702000-09-11 Gerd Moellmann <gerd@gnu.org>
5071
8ec8a5ec
GM
5072 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5073 that might be clobbered by longjmp.
5074 (check_x_display_info, x_decode_color, create_frame_xic)
5075 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5076 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5077
f74b0705
GM
5078 * lread.c (init_lread): Set Vloads_in_progress to nil.
5079 (Fload): Show list of recursively loaded files, when signaling an
5080 error.
5081
7ee3bd7b
GM
5082 * lread.c (Vloads_in_progress): New variable.
5083 (record_load_unwind): New function.
5084 (Fload): Check for recursive loads.
5085 (syms_of_lread): Initialize Vloads_in_progress.
5086 (read_integer, read1): Avoid some compiler warnings.
5087
5088 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5089 compiler warnings.
5090
974e1e5b
MB
50912000-09-11 Miles Bader <miles@gnu.org>
5092
5093 * editfns.c (Fbuffer_string): Doc fix.
5094
9824c4e3
GM
50952000-09-10 Gerd Moellmann <gerd@gnu.org>
5096
5097 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5098
6a72fdd1
KR
50992000-09-09 Ken Raeburn <raeburn@gnu.org>
5100
5101 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5102 whether to include other header files.
5103
28e6fb66
GM
51042000-09-09 Gerd Moellmann <gerd@gnu.org>
5105
52283633 5106 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5107 by Fmemq as a boolean.
28e6fb66 5108
7f8b6551
SM
51092000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5110
5111 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5112
a8710abf
GM
51132000-09-08 Gerd Moellmann <gerd@gnu.org>
5114
d1a02881
GM
5115 * ralloc.c (mmap_fd): Remove initializer which can make it
5116 read-only in a dumped Emacs.
5117 (mmap_fd_1): New variable.
5118 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5119 restore it from there.
5120 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5121 unconditionally so that mmap_fd can be initialized there.
5122 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5123 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5124 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5125
c454aac1
GM
5126 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5127
5128 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5129 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5130
fc653ef2
GM
5131 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5132
3015eec0
GM
5133 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5134 inheritance.
5135
bfe0ee88
GM
5136 * xdisp.c (try_window_id): When trying to locate cursor in
5137 unchanged rows at the top, handle the case that we can't find it.
5138
a8710abf
GM
5139 * xterm.c (x_draw_glyphs): Handle case START and END are out
5140 of bounds more carefully.
5141
6b7d4ae4
DL
51422000-09-08 Dave Love <fx@gnu.org>
5143
423193c5
DL
5144 * s/sol2.h (REL_ALLOC_MMAP): Define.
5145 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5146
5147 * ralloc.c: Don't include string.h (redundant).
5148 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5149 [!MAP_ANON]: Include fcntl.h.
5150 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5151 (r_alloc, r_re_alloc, r_alloc_free)
5152 (mmap_enlarge, mmap_set_vars): Use it.
5153 (r_alloc_init_fd): New function.
5154 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5155 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5156 malloc type.
5157
5158 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5159 Remove vm-limit.o.
5160
6b7d4ae4
DL
5161 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5162 change to __NetBSD__.
5163
44d31981
KH
51642000-09-08 Kenichi Handa <handa@etl.go.jp>
5165
5166 * search.c (compile_pattern): Check the multibyteness of cached
5167 string and PATTERN.
5168
aad40737
MB
51692000-09-08 Miles Bader <miles@gnu.org>
5170
5171 * xfaces.c (default_face_vector): Function removed.
5172 (Finternal_merge_in_global_face): Restore old global/local
5173 attribute override order. Use inline loop instead of calling
5174 default_face_vector.
5175
91a211b5
GM
51762000-09-07 Gerd Moellmann <gerd@gnu.org>
5177
5178 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5179 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5180 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5181 where necessary, in case POINTER_TYPE is `void'.
5182
03419440
EZ
51832000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5184
5185 * frame.c (make_terminal_frame): Initialize frame foreground and
5186 background colors to unspecified, for the initial instance of an
5187 MSDOS frame.
5188
f46f845b
GM
51892000-09-07 Gerd Moellmann <gerd@gnu.org>
5190
24f76fbf
GM
5191 * ralloc.c (mmap_find): Fix overlap computation.
5192 (mmap_enlarge): Compute nbytes before trying to find an
5193 overlapping region.
5194
f46f845b
GM
5195 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5196 instead of `!='.
5197
5198 * lread.c (syms_of_lread): Change value of regexp
5199 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5200
5201 * xmenu.c (xdialog_show): When looking up the selection in
5202 menu_items, take `quote' boundaries into account; this corresponds
5203 to a nil ITEM in x-popup-dialog.
5204
3c014385
KH
52052000-09-07 Kenichi Handa <handa@etl.go.jp>
5206
fd6f711b
KH
5207 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5208 not 0x81.
5209 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5210
3c014385 5211 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5212 encoding, not decoding. Fix the handling of latin-jisx0201.
5213 Check for the charset katakana-jisx0201 too.
3c014385 5214 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5215 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5216
0da3ecef
GM
52172000-09-07 Gerd Moellmann <gerd@gnu.org>
5218
ab0ee409
GM
5219 * xfaces.c (Vparam_value_alist): New variable.
5220 (syms_of_xfaces): Initialize it.
5221 (Finternal_set_lisp_face_attribute): Avoid more consing.
5222
5223 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5224 specially.
5225 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5226 (Qbackground_mode): New variable.
5227 (syms_of_frame_1): Initialize Qbackground_mode.
5228
5229 * lisp.h (Qdisplay): Declare extern.
1091dd67 5230
0da3ecef
GM
5231 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5232 change face on all frames, and change the default for new frames.
5233
b14654b9
DL
52342000-09-07 Dave Love <fx@gnu.org>
5235
5236 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5237
d24fd56f
KH
52382000-09-07 Kenichi Handa <handa@etl.go.jp>
5239
794f3670
KH
5240 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5241
0fddd0dc
KH
5242 * charset.c: Include composite.h
5243 (lisp_string_width): New function.
5244 (Fstring_width): Call lisp_string_width instead of strwidth.
5245
5246 * Makefile.in (charset.o): Depends on composite.h.
5247
d24fd56f
KH
5248 * process.c (read_process_output): Before inserting the decoded
5249 text in the buffer, adjust the multibyteness.
5250
fa0b693c
GM
52512000-09-06 Gerd Moellmann <gerd@gnu.org>
5252
52283633 5253 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5254 buffer's text buffer is null, map new memory.
5255
0a58f946
GM
5256 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5257 POINTER_TYPE and size_t.
5258 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5259 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5260 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5261 [REL_ALLOC_MMAP]: New macros.
5262 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5263 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5264 [REL_ALLOC_MMAP]: New functions.
5265
5266 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5267 before and after unexec.
5268
5269 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5270 text buffers if necessary.
5271
5272 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5273 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5274 in prototypes.
5275
fa0b693c
GM
5276 * config.in (HAVE_MMAP): Add #undef.
5277
877055f6
GM
52782000-09-05 Gerd Moellmann <gerd@gnu.org>
5279
08ba3862
GM
5280 * frame.c (Qdisplay_type): New variable.
5281 (syms_of_frame_1): Initialize it.
5282 (Fframe_parameter): New function that avoids consing.
5283 (syms_of_frame): Defsubr it.
5284
66ffe51c
GM
5285 * buffer.c (Fother_buffer): Consider buffers as invisible when
5286 they are displayed in a window on an invisible frame.
5287
877055f6
GM
5288 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5289 get-largest-window always return nil.
5290
bb970e67
GM
52912000-09-04 Gerd Moellmann <gerd@gnu.org>
5292
5293 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5294 variable; recognize Emacs 19 elc files.
5295
7a3d0e0e
MB
52962000-09-04 Miles Bader <miles@gnu.org>
5297
5298 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5299 before initially popping up the menu, so the menu doesn't flash
52283633 5300 when the face settings are significantly different from the defaults.
7a3d0e0e 5301
14473664
SM
53022000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5303
5304 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5305 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5306 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5307 (BIT_UNIBYTE): Remove.
5308 (re_match_2_internal): Delete corresponding code and streamline the
5309 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5310 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5311 (re_wctype_t): New type.
5312 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5313 (regex_compile): Use them and fix handling of overly long char classes.
5314
c1174479
AI
53152000-09-03 Andrew Innes <andrewi@gnu.org>
5316
f8803e97
AI
5317 * makefile.w32-in: Change to DOS line endings.
5318
c1174479
AI
5319 * s/ms-w32.h (ORDINARY_LINK): New define.
5320
5321 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5322 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5323
5324 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5325 (distclean): Delete them here instead.
5326
44ef7cf6
AI
5327 * w32proc.c (compare_env): Convert to uppercase for comparison,
5328 not lowercase, to match how the native Windows shell works.
5329
49b3bd82
JR
53302000-09-03 Jason Rumney <jasonr@gnu.org>
5331
5332 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5333 CVS changes the line-ends when checking in/out on DOS/Windows.
5334
5335 * makefile.nt (emacs): Do not change directory to run temacs, as
5336 the load-path is set relative to current directory.
5337
a3d35a39
MB
53382000-09-03 Miles Bader <miles@gnu.org>
5339
5340 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5341
d276b0cf
GM
53422000-09-02 Gerd Moellmann <gerd@gnu.org>
5343
715e84c9
GM
5344 * xdisp.c (redisplay_mode_lines): New function.
5345 (display_mode_lines): Return number of mode lines displayed.
5346 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5347 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5348
8892f40b
GM
5349 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5350 string.h and strings.h.
5351 (index) [HAVE_INDEX]: Add prototype.
5352
d276b0cf
GM
5353 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5354 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5355
5356 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5357 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5358
38404229
GM
53592000-09-01 Gerd Moellmann <gerd@gnu.org>
5360
5361 * lread.c (read1): Accept `?' as symbol constituent, for
5362 compatiblity with XEmacs.
5363
c0f9ea08
SM
53642000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5365
5366 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5367 (struct re_pattern_buffer): Remove newline_anchor.
5368 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5369 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5370 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5371 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5372 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5373 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5374 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5375 Get rid of references to newline_anchor.
5376 (regcomp): Allocate and precompute a fastmap.
5377
8c0f83fe
GM
53782000-08-31 Gerd Moellmann <gerd@gnu.org>
5379
5380 * lread.c (openp): GCPRO local variable `filename'.
5381
4bb91c68
SM
53822000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5383
5384 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5385
5386 * regex.c: Merge some changes from GNU libc. Add prototypes.
5387 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5388 Use memcmp and memcpy instead of bcopy and bcmp.
5389 (init_syntax_once): Use ISALNUM.
5390 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5391 (REG_UNSET_VALUE): Remove. Use NULL instead.
5392 (REG_UNSET, re_match_2_internal): Use NULL.
5393 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5394 New macros.
5395 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5396 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5397 (regex_compile): In handle_interval, return an error rather than try to
5398 unfetch the interval if we can't find the closing brace.
5399 Obey the RE_NO_GNU_OPS syntax bit.
5400 (TOLOWER): New macro.
5401 (regcomp): Use it.
5402 (regexec): Allocate regs.start and regs.end as one block.
5403
5226a931
GM
54042000-08-30 Gerd Moellmann <gerd@gnu.org>
5405
868dd24b
GM
5406 * xdisp.c (echo_area_display): Check display_completed instead
5407 of calling detect_input_pending.
5408
5409 * dispnew.c (update_frame): Only set display_completed here; move
5410 the update_begin and update_end calls here from update_frame_1.
5411 (update_frame_1): Don't set display_completed here, don't call
5412 update_begin/update_end.
5413
5226a931
GM
5414 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5415 instead of store_frame_param.
5416
2a8bd25f
GM
54172000-08-29 Gerd Moellmann <gerd@gnu.org>
5418
5419 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5420 desired window matrix hasn't been displayed, use the current row
5421 instead. Make sure that only those frame rows are updated for
5422 which there exists a corresponding enabled desired row.
52283633 5423
ba3478d9
MB
54242000-08-29 Miles Bader <miles@gnu.org>
5425
5426 * xfaces.c (default_face_vector): New function.
5427 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5428
87d0f685
GM
54292000-08-29 Gerd Moellmann <gerd@gnu.org>
5430
5431 * lread.c (openp): Prevent temporary string passed to
5432 Ffile_readable_p from being garbage collected.
5433
6fa86045
DL
54342000-08-28 Dave Love <fx@gnu.org>
5435
5436 * keymap.c (store_in_keymap): Add `static' to declaration.
5437
bb17930d
GM
54382000-08-28 Gerd Moellmann <gerd@gnu.org>
5439
5440 * emacs.c, callint.c, doc.c, editfns.c
5441 (toplevel) [HAVE_STRING_H]: Include string.h.
5442 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5443 (index): Remove prototypes which might conflict with non-standard
5444 definitions of index/strchr.
5445
5446 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5447 (rindex): Define only if !HAVE_RINDEX.
5448
5449 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5450
5451 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5452
87188200
MB
54532000-08-28 Miles Bader <miles@gnu.org>
5454
5455 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5456 made inconsistent by a font-related attribute in FROM.
5457 (merge_face_inheritance): Add function comment.
5458
41a68aef
KH
54592000-08-28 Kenichi Handa <handa@etl.go.jp>
5460
5461 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5462 the 4th arg (PREV_EVENT) Qt to suppress input method.
5463
f7c436c1
SM
54642000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5465
0b32bf0e
SM
5466 * regex.c: Indent cpp directives and remove parens after `defined'.
5467 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5468 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5469 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5470 (re_compile_pattern): Use size_t for length.
5471 (init_syntax_once): Move to a better place.
5472 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5473 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5474
f7c436c1
SM
5475 * syntax.c (back_comment): Detect cases where a comment-starter is
5476 actually inside another comment as in: /* a // b */ c // d \n.
5477 Make it clear that `comstart_pos' is unused for nested comments.
5478
5479 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5480 (KEYMAPP): New macro.
5481 (Fkeymap_parent, Fset_keymap_parent): Use it.
5482 (fix_submap_inheritance): Mark it static.
5483 (define_as_prefix, describe_buffer_bindings, describe_command)
5484 (describe_translation, describe_map): Complete prototypes.
5485
5486 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5487
5488 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5489 to better match the key-lookup behavior.
5490
6288c62f
GM
54912000-08-27 Gerd Moellmann <gerd@gnu.org>
5492
5493 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5494 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5495
e931344e
EZ
54962000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5497
5498 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5499 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5500 (xterm.o): Depend on coding.h
5501
d10dfeef
KH
55022000-08-26 Kenichi Handa <handa@etl.go.jp>
5503
5504 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5505 the corresponding '#endif'.
5506
2d73e8d3
MB
55072000-08-26 Miles Bader <miles@gnu.org>
5508
5509 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5510 * xfaces.c (QCinherit): New variable.
5511 (syms_of_xfaces): Initialize it.
5512 (LFACE_INHERIT): New macro.
5513 (Finternal_get_lisp_face_attribute)
52283633 5514 (merge_face_vector_with_property)
2d73e8d3
MB
5515 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5516 (check_lface_attrs): Allow new types of face height. Check
5517 inherit attribute.
5518 (CYCLE_CHECK): New macro.
5519 (merge_face_inheritance): New function.
5520 (merge_face_vectors): Merge inherited faces too. Add F and
5521 CYCLE_CHECK arguments.
5522 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5523 (lookup_named_face, lookup_derived_face, realize_named_face)
5524 (face_at_string_position, face_at_buffer_position): Supply
5525 new F and CYCLE_CHECK arguments to merge_face_vectors.
5526 (merge_face_heights): New function.
52283633 5527 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5528 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5529 handle relative face heights.
5530 (lface_same_font_attributes_p): Compare heights using EQ.
5531
6ce974d4
KH
55322000-08-26 Kenichi Handa <handa@etl.go.jp>
5533
5534 * charset.c (char_to_string): Check the character validity.
52283633 5535 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5536
dc1e502d
SM
55372000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5538
5539 * regex.c (PUSH_FAILURE_COUNT): New macro.
5540 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5541 Handle popping of a register's or a counter's data.
5542 (POP_FAILURE_POINT): Use the new name.
5543 (re_match_2_internal): Push counter data on the stack for succeed_n,
5544 jump_n and set_number_at and remove misleading dead code in succeed_n.
5545
bd9d0f3f
GM
55462000-08-25 Gerd Moellmann <gerd@gnu.org>
5547
5548 * xdisp.c (redisplay_internal): If considering all windows on all
5549 frames, update the display for each frame as soon as possible,
5550 instead of first building all desired matrices for all frames, and
5551 then updating them all.
5552 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5553
aa5b8e15
GM
55542000-08-24 Gerd Moellmann <gerd@gnu.org>
5555
17494071
GM
5556 * bytecode.c (mark_byte_stack): Add a comment.
5557
52283633
SM
5558 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5559 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5560 a graphical frame.
5561
c543db81
KH
55622000-08-24 Kenichi Handa <handa@etl.go.jp>
5563
d246d5f5
KH
5564 * minibuf.c (do_completion): Always use compare-string, not
5565 string-equal because the latter doesn't pay attention to
5566 multibyteness of strings.
5567
c543db81
KH
5568 * process.c (create_process): Don't setup raw-text coding here.
5569 (Fopen_network_stream): Don't set coding->src_multibyte and
5570 coding->dst_multibyte here.
5571 (read_process_output): For process filter, return unibyte string
5572 if default-enable-multibyte-characters is nil.
5573 (send_process): If OBJECT is multibyte text, be sure to encoded it
5574 by the specified coding system for the process. Otherwise, setup
5575 raw-text coding.
52283633 5576 (init_process): Don't initialize default-process-coding-system here.
c543db81 5577
9b47cfe0
EZ
55782000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5579
5580 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5581 <scroll-down-aggressively>: Likewise.
5582
f5a36960
KH
55832000-08-23 Kenichi Handa <handa@etl.go.jp>
5584
5585 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5586 zero. Set coding->produced_char correctly.
5587
69a7ffa7
AI
55882000-08-22 Andrew Innes <andrewi@gnu.org>
5589
5590 * makefile.w32-in: New file.
5591
5592 * unexw32.c (unexec): Ignore old_name, and use the actual location
5593 of the current executable instead. Base new_name on this.
5594
5595 * w32proc.c (create_child): Remove reference to security
5596 descriptor, which isn't needed and doesn't compile with mingw32.
5597
5598 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5599 up dllimport attributes.
5600 (x_update_window_end): Update prototype.
5601
5602 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5603 extern, which screws up dllimport attributes.
5604
5605 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5606 up dllimport attributes.
5607
5608 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5609 screws up dllimport attributes.
5610
5611 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5612 up dllimport attributes.
5613 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5614 screws up dllimport attributes.
5615
5616 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5617 up dllimport attributes.
5618
5619 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5620 screws up dllimport attributes.
5621
5622 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5623 screws up dllimport attributes.
5624
5625 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5626 up dllimport attributes.
5627
5628 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5629 unnecessary extern, which screws up dllimport attributes.
5630 (main): Ditto.
5631
5632 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5633 up dllimport attributes.
5634
5635 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5636 unnecessary extern, which screws up dllimport attributes.
5637
5638 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5639 screws up dllimport attributes.
5640
5641 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5642 up dllimport attributes.
5643
5644 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5645
52283633
SM
5646 * w32bdf.c (search_file_line):
5647 (set_bdf_font_info):
5648 (seek_char):
5649 (w32_get_bdf_glyph):
69a7ffa7
AI
5650 (w32_BDF_to_x_font): Fix compile warnings.
5651
52283633 5652 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5653
5654 * w32select.c: Include keyboard.h before frame.h.
5655
5656 * w32fns.c (max): Define macro.
5657 (JOHAB_CHARSET): Define if not known.
5658 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5659 (Fx_show_tip): Synch with X version.
5660
5661 * w32xfns.c: Include keyboard.h before frame.h.
5662
5663 * w32fns.c: Include keyboard.h before frame.h.
5664
5665 * w32term.c: Include keyboard.h before frame.h.
5666
5667 * fontset.c: Include keyboard.h before frame.h.
5668
5669 * w32inevt.c: Include keyboard.h before frame.h.
5670 (MOUSE_MOVED): Define if not known.
5671
5672 * minibuf.c: Include keyboard.h before frame.h.
5673
5674 * keyboard.c: Include keyboard.h before frame.h.
5675
5676 * indent.c: Include keyboard.h before frame.h.
5677
5678 * dispnew.c: Include keyboard.h before frame.h.
5679
5680 * buffer.c: Include keyboard.h before frame.h.
5681
5682 * alloc.c: Include keyboard.h before frame.h.
5683
5684 * print.c: Include keyboard.h before frame.h.
5685
5686 * process.c: Include keyboard.h before frame.h.
5687
5688 * scroll.c: Include keyboard.h before frame.h.
5689
5690 * sysdep.c: Include keyboard.h before frame.h.
5691
5692 * term.c: Include keyboard.h before frame.h.
5693
5694 * window.c: Include keyboard.h before frame.h.
5695
5696 * xdisp.c: Include keyboard.h before frame.h.
5697 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5698
5699 * frame.c: Include keyboard.h before frame.h.
5700
5701 * w32heap.h: Undefine min, max.
5702
5703 * w32gui.h: Undefine min, max.
5704
5705 * unexw32.c: Change PUCHAR to PCHAR.
5706 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5707 (relocate_offset):
5708 (get_section_info):
69a7ffa7
AI
5709 (copy_executable_and_dump_data): Remove unnecessary static defs.
5710 (copy_executable_and_dump_data): Fix compile warnings.
5711
5712 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5713
5714 * w32console.c (min): Define macro.
5715 (clear_frame, write_glyphs): Fix compile warning.
5716
52283633 5717 * w32proc.c (compare_env):
69a7ffa7
AI
5718 (find_child_console): Fix compile warning.
5719
5720 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5721 sys_errlist instead of _sys_errlist.
5722 (get_emacs_configuration_options): New function.
5723
5724 * s/ms-w32.h (sys_nerr): Provide default definition.
5725 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5726 name with _ prepended.
5727 (NSIG): Define if not known.
5728 (get_emacs_configuration): Provide extern declaration.
5729 (get_emacs_configuration_options): Provide extern declaration.
5730 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5731
5732 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5733 (map_w32_filename):
69a7ffa7
AI
5734 (read_unc_volume): Fix compile warning.
5735
5736 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5737 definitions from being used.
5738
5739 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5740
52283633 5741 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5742 (open_unc_volume): Make arg const.
5743
5744 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5745 (read_input_waiting): Remove excess parameter.
5746
5747 * w32.c (init_environment): Call _access.
5748 (check_windows_init_file): Call _close.
5749 (init_user_info): Call _putenv.
5750 (init_environment): Call _putenv and _strdup.
5751 (init_ntproc): Reset volume info cache on startup.
5752
5753 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5754 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5755 cannot override the CRT malloc.
5756
5757 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5758 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5759
5760 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5761 unless we are linking with a static CRT.
5762 (RVA_TO_PTR): Cast result to unsigned char*.
5763
5764 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5765 (add_volume_info): Use xstrdup.
5766
25060080
SM
57672000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5768
5769 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5770 (do_completion, Fminibuffer_complete_word): Use it.
5771 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5772 var so it can take non-boolean values.
5773
6917e6bb
GM
57742000-08-21 Gerd Moellmann <gerd@gnu.org>
5775
acb7cc89 5776 * editfns.c (find_field): Formatting changes.
52283633 5777 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5778 changed to prototypes, some new protypes added, some functions
5779 made static.
5780
5781 * lisp.h (set_time_zone_rule): Add prototype.
5782 (use_dialog_box): External declaration.
5783
0bbfdc25
GM
5784 * keyboard.c (gen_help_event): Add parameter SIZE.
5785 (kbd_buffer_events_waiting): Slightly rewritten.
5786 (clear_event): New function.
5787 (kbd_buffer_get_event): Use it, and clear the input_events of
5788 HELP_EVENTs.
5789 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5790 don't fill the newly created array with nils.
5791 (toplevel): Convert some old-style function forward declarations
5792 to prototypes.
5793
5794 * keyboard.h (gen_help_event): Change prototype.
5795
5796 * xterm.c (XTread_socket): Change calls to gen_help_event.
5797
5798 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5799
6917e6bb
GM
5800 * eval.c (Fmacroexpand): Doc fix.
5801
e5cd3d11
JR
58022000-08-20 Jason Rumney <jasonr@gnu.org>
5803
5804 * w32term.h (x_display_info_for_display): Remove as this function
5805 does not exist on W32.
5806
5807 * w32term.c (help_echo_window): New variable.
5808 (syms_of_w32term): staticpro it.
5809 (note_mode_line_highlight): Set it.
5810 (XTextExtents16): Removed as there is no equivalent on W32.
5811 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5812 the X way of doing this will not work for W32.
5813 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5814 (x_draw_image_foreground): Avoid drawing outside of the clip area
5815 when image doesn't have a mask.
5816 (note_mouse_highlight): Process overlays in the right order of
5817 priority. Set help_echo_window.
5818 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5819 because that's more visible for large images.
5820
5821 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5822 name to single_keymap_panes.
5823 (w32_menu_show): Set wv->title when dealing with titles.
5824 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5825
6e69ab8c
MB
58262000-08-21 Miles Bader <miles@gnu.org>
5827
5828 * minibuf.c (do_completion): Try again if we rewrite the input
5829 string, but no completion was done, so that any completion message
5830 will be correct.
5831
511bd4eb
GM
58322000-08-20 Gerd Moellmann <gerd@gnu.org>
5833
5834 * xfaces.c (lface_equal_p): Compare strings differently.
5835 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5836 (realize_tty_face): Use them.
5837 (syms_of_xfaces): Initialize new variables.
5838 (map_tty_color): New function, extracted from realize_tty_face.
5839 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5840 foreground or background color, store the new color name in the
5841 realized face; previous code trying to do this had no effect.
5842 (realize_tty_face): Use map_tty_color.
5843 (Fclear_face_cache): Set face_change_count and ensure thorough
5844 redisplay.
5845
1433385f
GM
58462000-08-19 Gerd Moellmann <gerd@gnu.org>
5847
511bd4eb
GM
5848 * undo.c (record_first_change, record_marker_adjustment): Don't
5849 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5850
419ac0a2
KH
58512000-08-18 Kenichi Handa <handa@etl.go.jp>
5852
5853 * coding.c (decode_coding_string): Set members consumed,
5854 consumed_char, produced, produced_char of *coding correctly. If
5855 decode_coding doesn't consume any byte, don't try anymore.
5856 (encode_coding_string): Likewise.
5857
7eb9e30d
GM
58582000-08-18 Gerd Moellmann <gerd@gnu.org>
5859
511bd4eb
GM
5860 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5861 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5862
5863 * xdisp.c (redisplay_internal): Compare windows for equality with
5864 EQ, instead of applying XWINDOW to something that might not
5865 be a window.
52283633 5866
dd34a735
KH
58672000-08-18 Kenichi Handa <handa@etl.go.jp>
5868
5869 * fontset.c (Finternal_char_font): Search only the selected frame
5870 for a window of the current buffer.
5871
385ff9e3
GM
58722000-08-18 Gerd Moellmann <gerd@gnu.org>
5873
511bd4eb 5874 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5875 Lisp_Objects.
5876
385ff9e3
GM
5877 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5878 second half of a HELP_EVENT is found at the start of kbd_buffer.
5879
d6abb4c7
MB
58802000-08-18 Miles Bader <miles@gnu.org>
5881
4618074a
MB
5882 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5883
d6abb4c7
MB
5884 * editfns.c (save_restriction_save): Rewrite to use markers.
5885 (save_restriction_restore): Rewrite to understand new form of data
5886 saved by save_restriction_save.
5887 (Fsave_restriction): Remove cautionary note in doc-string.
5888
a7b28523
GM
58892000-08-17 Gerd Moellmann <gerd@gnu.org>
5890
5891 * fileio.c (build_annotations): Add a comment explaining the
5892 return value of format-annotate-function. Replace a spurious call
5893 to Flength with a CONSP test. Call format-annotate-function with
5894 a fifth arg specifying how many times the function is been called
5895 in a row, to let it choose temporary buffers appropriately.
5896
03c9ed77
DL
58972000-08-17 Dave Love <fx@gnu.org>
5898
5899 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5900 declare make_temp_name twice.
5901
52283633 5902 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5903 (unreadpure): Give it an arg.
5904
5905 * unexalpha.c: Prototype fatal_unexec, mark_x,
5906 update_dynamic_symbols. Declare unexec as void.
5907
5908 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5909 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5910
5911 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5912 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5913
5914 * alloca.c: Use #error.
5915 [POINTER_TYPE]: Use it.
5916
5917 * eval.c (Fdefvar): Doc fix.
5918
5919 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5920 INITIALIZE_INTERVAL.
5921
5922 * buffer.h: Avoid DECLARE_INTERVALS.
5923
5924 * config.in: Add size_t.
5925
aae41d97
EZ
59262000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5927
5928 * w16select.c (set_clipboard_data): If there's not enough memory
5929 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5930 expects. In case of other failures, return 3.
5931 (system_error_msg): New error message.
5932 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5933 system_error_msg.
5934
65aa5e85
GM
59352000-08-16 Gerd Moellmann <gerd@gnu.org>
5936
5937 * term.c (write_glyphs): Also turn off inverse video after turning
5938 off other appearances in case TS_exit_attribute_mode is not equal
5939 to TS_end_standout_mode.
5940 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5941 with the same face.
5942 (turn_off_face): Reset standout_mode only if
5943 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5944 is equal to TS_end_standout_mode.
5945
ece23901
KH
59462000-08-16 Kenichi Handa <handa@etl.go.jp>
5947
9d7bcb2e
KH
5948 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5949 sequence at the end of the source block.
5950
ece23901
KH
5951 * ccl.c (Fccl_program_p): Docstring modified.
5952 (Fccl_execute): Likewise.
5953 (Fccl_execute_on_string): Likewise.
5954
5e30eaa2
EZ
59552000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5956
5957 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5958
290602fd
KH
59592000-08-16 Kenichi Handa <handa@etl.go.jp>
5960
5961 The following changes are mainly to fix bugs of
5962 encode/decode-coding-string failing if encoding/decoding return
5963 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5964 variable conversion_buffer.
5965
5966 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5967 decrement dst_end to avoid buffer overflow in the later call of
5968 string_as_multibyte
5969
5970 * coding.h (conversion_buffer_size, conversion_buffer)
5971 (get_conversion_buffer): Extern deleted.
5972
5973 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5974 (conversion_buffer, conversion_buffer_size): Variables deleted.
5975 (get_conversion_buffer): Function deleted.
5976 (struct conversion_buffer): New structure.
5977 (MAX_ALLOCA): New macro.
5978 (allocate_conversion_buffer): New macro.
5979 (extend_conversion_buffer, free_conversion_buffer): New functions.
5980 (ccl_coding_driver): Set coding->result.
5981 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5982 this is the last block of source.
5983 (encode_coding): Likewise. Handle the source block as the last
5984 one only when the whole source text is consumed.
5985 (decode_coding_string): Handle the case that the output buffer is
5986 too small to decode the whole source text. Use
5987 allocate_conversion_buffer, extend_conversion_buffer and
5988 free_conversion_buffer, not get_conversion_buffer.
5989 (encode_coding_string): Likewise.
5990 (init_coding): Function deleted.
52283633 5991 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
5992
5993 * emacs.c (main): Don't call init_coding.
5994
52283633 5995 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
5996
5997 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5998 (insert_glyphs): Likewise.
5999
6000 * w32console.c (write_glyphs): Use a locally declared
6001 conversion_buffer.
6002
b9f80d41
EZ
60032000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6004
6005 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6006 member of display_info is NULL.
6007
32dc52f7
GM
60082000-08-15 Gerd Moellmann <gerd@gnu.org>
6009
52283633 6010 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6011
32dc52f7 6012 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6013 appearances with capability `me'.
32dc52f7
GM
6014 (write_glyphs): Switch on inverse video before each face change.
6015
4eb22d33
DL
60162000-08-14 Dave Love <fx@gnu.org>
6017
6018 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6019 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6020 (lisp_free): Declare and make static.
6021
6022 * window.c: Fix embedded comment.
6023 (syms_of_window): Fix doc string.
6024
90cbf47e
GM
60252000-08-14 Gerd Moellmann <gerd@gnu.org>
6026
52283633 6027 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6028 make sure to print `C-' before `M-', like in the manual.
6029
440fc135
GM
60302000-08-11 Gerd Moellmann <gerd@gnu.org>
6031
6032 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6033 since they aren't relocated anymore.
52283633 6034 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6035
6036 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6037 partially visible line which is smaller than the window's height.
440fc135 6038
6e264fad
KH
60392000-08-11 Kenichi Handa <handa@etl.go.jp>
6040
6041 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6042 the multibyte form of eight-bit-control characters.
6e264fad
KH
6043 (Fccl_execute_on_string): Initialize ccl->multibyte.
6044
6045 * ccl.h (struct ccl_program): New member multibyte.
6046
6047 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6048
c371f69a
KH
60492000-08-11 Kenichi Handa <handa@etl.go.jp>
6050
6051 * regex.c (regex_compile) <normal_char>: Pay attention to
6052 multibyteness.
6053 (analyse_first) <exactn>: Setup fastmap correctly for
6054 eight-bit-control characters.
6055
60562000-08-11 Kenichi Handa <handa@etl.go.jp>
6057
52283633 6058 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6059
6060 * keyboard.c (make_lispy_event): Handle the new event type
6061 multibyte_char_keystroke.
6062
6063 * xterm.c: Include coding.h.
6064 (XTread_socket): Work around a bug of XmbLookupString. If the
6065 input is from XIM, decode it according to the current locale. In
6066 that case, generate multibyte_char_keystroke events.
6067
b8ddbe71
KH
60682000-08-11 Kenichi Handa <handa@etl.go.jp>
6069
6070 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6071 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6072
47589c8c
GM
60732000-08-10 Gerd Moellmann <gerd@gnu.org>
6074
6075 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6076 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6077 (move_it_in_display_line_to): Record iterator's ascent and descent
6078 before producing glyphs, and restore them when we know the glyph
6079 doesn't fit on the line.
6080 (move_it_to): Restructured so that it's easier to debug. If
6081 moving to a vpos, and not moving to an x or character position,
6082 stop as soon as the specified vpos is reached; don't move further
6083 into that line because that might change the computed line height.
6084 (try_cursor_movement): New function, extracted from the cursor
6085 movement branch of redisplay_window. If ending on a partially
6086 visible line, don't try to scroll if the cursor line is taller
6087 than the window.
6088 (redisplay_window): Use try_cursor_movement.
6089
6090 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6091 because that function doesn't cope with variable-height lines.
6092
6093 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6094 box cursor because that's better visible for large images.
52283633 6095
c51bacd6
MB
60962000-08-10 Miles Bader <miles@gnu.org>
6097
6098 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6099
bea56df7
GM
61002000-08-10 Gerd Moellmann <gerd@gnu.org>
6101
6102 * xdisp.c (Vmessages_buffer_name): New variable.
6103 (message_dolog): Use it.
6104 (syms_of_xdisp): Initialize it.
6105
99cd7364
EZ
61062000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6107
52283633 6108 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6109 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6110 redundant now that keyboard.h is included.
6111
7d093d56
EZ
61122000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6113
6114 * keyboard.c (kbd_buffer_events_waiting): New function.
6115
6116 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6117
6118 * msdos.c: Include keyboard.h.
6119 (XMenuActivate): Empty no_event events from the event buffer. If
6120 no events are left after that, call clear_input_pending.
6121 (mouse_clear_clicks): New function, code moved from mouse_init.
6122 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6123 mouse driver to ``forget'' any past clicks.
6124
6125 * Makefile.in (msdos.o): Depend on keyboard.h.
6126
41e757a6
GM
61272000-08-09 Gerd Moellmann <gerd@gnu.org>
6128
8e7bd231
GM
6129 * lisp.h (input_pending): External declaration.
6130
6131 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6132
8e7bd231
GM
6133 * xdisp.c (echo_area_display): Display thoroughly if input is
6134 pending. Bind redisplay-dont-pause to t during the redisplay.
6135 in case input is pending.
6136
6137 * dispnew.c (Qredisplay_dont_pause): New variable.
6138 (syms_of_display): Initialize and staticpro it.
6139 (update_frame_1): Don't interrupt the display for pending input if
6140 redisplay_dont_pause is set.
52283633 6141
43028b7e
GM
6142 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6143
41e757a6
GM
6144 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6145
2f2174fa
KH
61462000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6147
6148 * callproc.c (Fcall_process): Terminate the unwind-protect around
6149 the post-read-conversion of coding system.
6150
0a6fd67e
MB
6151 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6152 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6153 * buffer.h (overlays_at): Update prototype.
6154 * xdisp.c (next_overlay_change): Update call to overlays_at.
6155 * xfaces.c (face_at_buffer_position): Likewise.
6156 * textprop.c (Fget_char_property): Likewise.
6157 * xterm.c (note_mouse_highlight): Likewise.
6158
0c80756e
MB
6159 * minibuf.c (do_completion): Don't consider a simple change of
6160 case as `completion'.
6161
975f250a
KR
61622000-08-08 Ken Raeburn <raeburn@gnu.org>
6163
52283633 6164 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6165 * undo.c (record_delete): Make sure last_point_position_buffer is
6166 a buffer before comparing pointers.
6167
6168 * coding.h (decode_coding_string): Declare.
6169
6170 * intervals.h (Fprevious_single_char_property_change): Declare.
6171
6172 * textprop.c (Fprevious_single_char_property_change): Don't do
6173 arithmetic directly on lisp objects.
6174
52283633 6175 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6176
6177 * keyboard.h (menu_item_eval_property): Declare.
6178
6179 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6180 reuse as buffer name, instead of recreating (and discarding) every
6181 time a message is logged.
6182 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6183 (current_message_1, truncate_message_1, set_message_1)
6184 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6185 (current_message, truncate_echo_area, display_echo_area)
6186 (resize_echo_area_axactly): Changed calls.
b347b3fd 6187
975f250a 6188 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6189 Lisp object.
975f250a 6190 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6191 must be an integer, not a Lisp object.
975f250a 6192
46dc9912
KH
61932000-08-08 Kenichi Handa <handa@etl.go.jp>
6194
6195 * charset.c (Fchar_width): Doc fix.
6196
9f6d1a6c
GM
61972000-08-08 Gerd Moellmann <gerd@gnu.org>
6198
6199 * charset.c (Fstring_width): Doc fix.
6200
ff3d9573
GM
62012000-08-07 Gerd Moellmann <gerd@gnu.org>
6202
41e757a6 6203 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6204 line, clear ascent and descent members of the iterator structure;
6205 the height of the continued line does not affect the height of the
6206 continuation line.
6207 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6208 line taller than the window.
6209 (redisplay_window) <forced window start>: Handle case that the
6210 middle of the window is not found in any row.
6211 (dump_glyph_row): Show more information.
6212 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6213 first text line in a glyph matrix.
6214
6215 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6216 of the clip area when image doesn't have a mask.
6217
70fc58b3
GM
6218 * fns.c (sweep_weak_table): Fix survival conditions for
6219 key-or-value and key-and-value weakness.
6220
6221 * .gdbinit (xhashtable): New command.
6222
ac0e96ee
GM
6223 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6224 tables out of the list of all weak hash tables.
6225
ff3d9573
GM
6226 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6227 a new buffer is created, make sure echo_area_buffer[] references
6228 the new buffer.
6229
e0d8827b
EZ
62302000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6231
6232 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6233 the doc string.
6234
c6f35378
KH
62352000-08-07 Kenichi Handa <handa@etl.go.jp>
6236
6237 * syntax.c (skip_chars): Fix previous change. Make the handling
6238 of unibyte string consistent with that of regex search.
6239
1fd4c450
GM
62402000-08-05 Gerd Moellmann <gerd@gnu.org>
6241
e49aa397
GM
6242 * xmenu.c (popup_get_selection): Use xfree instead of free.
6243
6244 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6245
6246 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6247
6248 * callproc.c (child_setup): Use xfree instead of free.
6249
6250 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6251 instead of malloc.
6252 (run_mac_command, closedir): Use `xfree' instead of `free'.
6253
6254 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6255
6256 * eval.c (error): Use xfree instead of free.
6257
1fd4c450
GM
6258 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6259
6260 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6261 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6262
82d497fc
KH
62632000-08-05 Kenichi Handa <handa@etl.go.jp>
6264
6265 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6266 conversion.
6267
59f953a2
NF
62682000-08-04 Noah Friedman <friedman@splode.com>
6269
6270 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6271 docstring.
6272
688351f2
GM
62732000-08-04 Gerd Moellmann <gerd@gnu.org>
6274
6275 * syntax.c (skip_chars): Fix typo in error message.
6276
2dad51cc
AS
62772000-08-04 Andreas Schwab <schwab@suse.de>
6278
6279 * m/ia64.h: Moved from s/ia64.h.
6280
99bb2c60
KH
62812000-08-04 Kenichi Handa <handa@etl.go.jp>
6282
082a1df2
KH
6283 * process.c (read_process_output): Big simplification. Handle
6284 composition and post-read-conversion of coding system correctly.
6285 (send_process): Handle composition correctly.
6286
6287 * callproc.c (Fcall_process): Handle post-read-conversion of
6288 coding system if any.
6289
99bb2c60
KH
6290 * coding.c (decode_coding_iso2022): More strict check for handling
6291 single shifting.
082a1df2
KH
6292 (coding_restore_composition): Pay attention to the case that
6293 cmp_data is not set properly (because of invalid code in the
6294 source text).
6295 (run_pre_post_conversion_on_str): Include text properties in the
6296 resulting string.
6297 (decode_coding_string): Set members of coding correctly.
99bb2c60 6298
f4988be7
GM
62992000-08-03 Gerd Moellmann <gerd@gnu.org>
6300
6301 * s/ia64.h: New file.
6302
6303 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6304 Use NULL instead of 0 at the end of variable argument list of
6305 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6306 sizeof (int) < sizeof (void *).
6307
6308 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6309 of variable argument lists of XtVaGetValues and XtVaSetValues.
6310
6311 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6312 variable argument lists of XtVaGetValues and XtVaSetValues.
6313
ead53494
GM
63142000-08-02 Gerd Moellmann <gerd@gnu.org>
6315
6316 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6317 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6318
6319 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6320 prototype.
6321
6322 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6323 in call to Fsingle_key_description.
6324
6325 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6326 Callers changed.
6327
63282000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6329
6330 * window.c (display_buffer_reuse_frames): New variable.
6331 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6332 frames displaying BUFFER.
52283633 6333 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6334
10b0f752
MB
63352000-08-01 Miles Bader <miles@gnu.org>
6336
6337 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6338 when to constrain NEW_POS (they were pretty screwed up before).
6339
16425c4a
EZ
63402000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6341
6342 * msdos.c (run_msdos_command): Save and restore the master
6343 environment, for the case that child_setup signals an error.
6344 When mirroring slashes in DOS shell commands, don't fail when
6345 argv[2] has embedded blanks.
da288c14
EZ
6346 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6347 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6348 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6349
6350 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6351 using alloca; free it after run_msdos_command returns.
6352
27f73852
DL
63532000-07-27 Dave Love <fx@gnu.org>
6354
52283633
SM
6355 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6356 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6357
6358 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6359
c0261b5e
EZ
63602000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6361
6362 * editfns.c (lisp_time_argument): Fix last change.
6363
b548072f
GM
63642000-07-27 Gerd Moellmann <gerd@gnu.org>
6365
3ab82477
GM
6366 * fns.c (Fdelete): Make it work on vectors and strings in addition
6367 to lists.
6368
b548072f
GM
6369 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6370 (syms_of_fns): Initialize new variables.
52283633 6371 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6372 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6373 weakness, with t meaning the same as `key-and-value'.
6374
91ae8751
KH
63752000-07-27 Kenichi Handa <handa@etl.go.jp>
6376
6377 * coding.h (struct coding_system): Member safe_charset deleted.
6378
6379 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6380 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6381 New variables.
91ae8751
KH
6382 (coding_safe_chars): New function.
6383 (CODING_SAFE_CHAR_P): New macro.
6384 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6385 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6386 (detect_coding_iso2022): New local variable safe_chars.
6387 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6388 safe_charsets member of the coding system.
6389 (decode_coding_iso2022): New local variable safe_chars.
6390 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6391 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6392 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6393 (ENCODE_UNSAFE_CHARACTER): New macro.
6394 (encode_coding_iso2022): New local variable safe_chars. Check
6395 unsafe chars.
6396 (setup_coding_system): Delete the code to initialize
6397 coding->safe_charses
6398 (intersection, find_safe_codings): New functions.
6399 (Ffind_coding_systems_region_internal): New function.
6400 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6401 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6402 variable and initialize it.
6403
6404 * fns.c (char_table_ref_and_index): New function.
6405
6406 * lisp.h (char_table_ref_and_index): Add prototype.
6407
34a7a267
SS
64082000-07-26 Sam Steingold <sds@gnu.org>
6409
6410 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6411 (Ffloat_time): New built-in Lisp function.
34a7a267 6412
a95cb10a
GM
64132000-07-26 Gerd Moellmann <gerd@gnu.org>
6414
3353ef5a
GM
6415 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6416 for the character code.
6417
6418 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6419 GNU/Linux.
6420
a95cb10a
GM
6421 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6422 if called for a popup menu.
6423 (xmenu_show): Store help string in widget values.
6424
b4a12321
DL
64252000-07-26 Dave Love <fx@gnu.org>
6426
6427 * syswait.h: Move some definitions.
6428 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6429 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6430 perspicuous definitions.
6431 (WTERMSIG): Fix bit pattern used.
6432
13f5ad37
KH
64332000-07-26 Kenichi Handa <handa@etl.go.jp>
6434
6435 * print.c (print_object): If vector printing is truncated, print
6436 "..." to indicate it as well as the case of list printing.
6437
070fe99c
GM
64382000-07-25 Gerd Moellmann <gerd@gnu.org>
6439
969065c3
GM
6440 * xdisp.c (next_element_from_display_vector): Improve comments.
6441
6442 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6443 for the character code, and the rest for the face id as in 20.x.
6444 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6445
6446 * window.c (window_display_table): Cleaned up.
6447
070fe99c
GM
6448 * syntax.c (Fforward_word): Add last arg nil in call of
6449 Fconstrain_to_field.
6450
bad77ef7
EZ
64512000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6452
969065c3 6453 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6454 identical but for the letter-case, don't call
6455 barf_or_query_if_file_exists.
bad77ef7 6456
c28da489
MB
64572000-07-25 Miles Bader <miles@gnu.org>
6458
6459 * editfns.c (find_field): Honor special `boundary' fields.
6460 (Qboundary): New variables.
6461 (syms_of_editfns): Initialize Qboundary.
6462 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6463 Use scan_buffer instead of find_before_next_newline, because it
6464 allows us to detect the boundary case where there's a newline at
6465 the search limit.
6466 * lisp.h (Fconstrain_to_field): Update external declaration.
6467
e3c31fd5
GM
64682000-07-24 Gerd Moellmann <gerd@gnu.org>
6469
6470 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6471 if that is nil.
c28da489 6472
c66c29a2
DL
64732000-07-24 Dave Love <fx@gnu.org>
6474
6475 * s/sunos4-0.h, s/sol2.h:
6476 (LIBS_TERMCAP): Move from m/sparc.h.
6477
6478 * m/sparc.h (TERMINFO): Moved to system files (probably only
6479 relevant for sunos4 judging by its vintage).
6480 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6481 __arch64__.
6482
fbe0a958
EZ
64832000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6484
6485 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6486 name to single_keymap_panes.
6487
7d88e5c9
AS
64882000-07-24 Andreas Schwab <schwab@suse.de>
6489
6490 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6491
e024b101
GM
64922000-07-24 Gerd Moellmann <gerd@gnu.org>
6493
6494 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6495 parameters instead of using int parameters. Expect FN to accept
6496 EMACS_INT parameters.
6497 (display_echo_area, resize_echo_area_axactly, current_message)
6498 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6499 with new argument list.
6500 (resize_mini_window_1): New callback function.
6501 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6502 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6503
25c1a9ce
KH
65042000-07-24 Kenichi Handa <handa@etl.go.jp>
6505
6506 * fontset.c (fontset_ref): Remove INLINE declaration.
6507 (fontset_ref_via_base): Likewise.
6508 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6509 to downcase.
6510
7f987ac0
EZ
65112000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6512
6513 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6514 correct order of priority. If help echo was found in an overlay,
6515 use that overlay as the object in which the help echo was found.
6516
e2db3069
MB
65172000-07-22 Miles Bader <miles@gnu.org>
6518
6519 * textprop.c (Fprevious_single_char_property_change): The initial
6520 property value should be from the position preceding POSITION, not
6521 following it.
6522
5e3203e4
EZ
65232000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6524
6525 * coding.c (syms_of_coding): Doc fix for
6526 inhibit-iso-escape-detection.
6527
62145073
GM
65282000-07-21 Gerd Moellmann <gerd@gnu.org>
6529
c20aeb83
GM
6530 * xterm.c (note_mouse_highlight): Process overlays in the right
6531 order of priority.
34a7a267 6532
743934db
GM
6533 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6534
6535 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6536 overlay, use that overlay as the object in which the help was found.
743934db 6537
d1dc7e43 6538 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6539
62145073
GM
6540 * window.c (foreach_window): Instead of a fake variable argument
6541 list, take one USER_DATA argument.
6542 (foreach_window_1): Likewise, and call callback functions with two
6543 args, the window and USER_DATA.
6544 (struct check_window_data): New struct.
6545 (check_window_containing): Use it.
6546 (window_from_coordinates): Set up a struct check_window_data for
6547 foreach_window.
6548 (add_window_to_list, freeze_window_start): Change parameters
6549 according to new calling convention.
6550
6551 * window.h (foreach_window): Change prototype.
6552
6553 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6554
65552000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6556
6557 * xmenu.c (menu_help_callback): Call show_help_echo with
6558 additional arguments OBJECT and POS.
6559
11270583
KH
65602000-07-21 Kenichi Handa <handa@etl.go.jp>
6561
07b14857
KH
6562 * data.c (Faset): Allow storing any multibyte character in a
6563 string. Convert unibyte string to multibyte if necessary.
6564
11270583
KH
6565 * xfns.c (x_encode_text): New function.
6566 (x_set_name): Use x_encode_text.
6567 (x_set_title): Likewise.
6568
6569 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6570
6571 * xterm.h (x_encode_text): Add prototype.
6572
bc75b4fd
DL
65732000-07-20 Dave Love <fx@gnu.org>
6574
6575 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6576 xfree, not free.
6577
48c14970
EZ
65782000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6579
6580 * msdos.c (help_echo_window): New variable.
6581 (syms_of_msdos): Initialize and staticpro it.
6582 (IT_note_mode_line_highlight): Set help_echo_window.
6583 (IT_note_mouse_highlight): Ditto.
6584 (dos_rawgetc): Store help_echo_window in the second event produced
6585 for HELP_EVENTs.
6586
6587 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6588 Record the object that generated the help echo and the position of
6589 that object in help_echo_object and help_echo_pos. Record that
6590 some glyphs in a row are displayed in mouse-face.
6591 (IT_update_begin): Don't clear mouse highlight unless one of the
6592 enabled glyph rows is marked as being displayed in mouse-face.
6593 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6594 and position recorded in help_echo_object and help_echo_pos to the
6595 event queue.
6596 (IT_menu_display): Accept a new argument PN: the pane number of
6597 the current menu pane. Record the pane number and the item
6598 number of the item which has associated help string.
6599 (XMenuActivate): Update the prototype for help_callback in
6600 function declaration. Call IT_menu_display with the current menu
6601 pane number as an additional argument. Call help_callback with
6602 two additional arguments: the pane number and the item number of
6603 the menu item associated with the help text.
6604 (help_echo_object, help_echo_pos): New variables.
6605 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6606
6607 * msdos.h (XMenuActivate): Update prototype.
6608
4279296d
GM
66092000-07-19 Gerd Moellmann <gerd@gnu.org>
6610
47db06aa
GM
6611 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6612 Add some more prototypes.
6613
6614 * xterm.c, xterm.h: Add some more prototypes.
6615
6616 * lisp.h (Fnext_single_char_property_change): Add prototype.
6617
6618 * dispnew.c (direct_output_for_insert): Remove confusing
6619 outer local variable mouse_face_overwritten_p.
6620 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6621
4279296d
GM
6622 * alloc.c (allocate_string_data): Don't copy old string contents.
6623
670acd62
KH
66242000-07-19 Kenichi Handa <handa@etl.go.jp>
6625
6626 * coding.c (code_convert_region): Delete text properties before
6627 shrinking the conversion region.
6628
7cea38bc
GM
66292000-07-18 Gerd Moellmann <gerd@gnu.org>
6630
dc1cac59
GM
6631 * dispnew.c (update_text_area): Write the whole row if it
6632 has mouse-face in it.
6633
85a8aca9
GM
6634 * xfaces.c (face-alternative-font-family-alist): Remove
6635 DEFVAR_LISP; staticpro instead.
6636
34a7a267 6637 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6638 new arguments.
6639
6640 * keyboard.c (show_help_echo): Add parameter WINDOW.
6641 (read_char): Call show_help_echo with window extracted from Lisp
6642 help event.
6643 (gen_help_event): Add parameter WINDOW.
6644
6645 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6646
6647 * xterm.c (help_echo_window): New variable.
52283633 6648 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6649 (XTread_socket): Pass help_echo_window to gen_help_event.
6650 (syms_of_xterm): Initialize and staticpro help_echo_window.
6651
f8276b77
DL
66522000-07-18 Dave Love <fx@gnu.org>
6653
52283633 6654 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6655
088831a6
GM
66562000-07-18 Gerd Moellmann <gerd@gnu.org>
6657
3d6cd763
GM
6658 * alloc.c (allocate_string_data): If string had already data
6659 assigned, copy old contents to new string data.
6660
6661 * coding.c (syms_of_coding): Fix typo in spelling of variable
6662 `inhibit-iso-escape-detection'.
6663
088831a6
GM
6664 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6665
6666 * Makefile.in: Add dependencies on dispextern.h.
6667 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6668 `free'; both can conflict with system header files.
6669
bc8a8d55
KH
66702000-07-18 Kenichi Handa <handa@etl.go.jp>
6671
6672 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6673 undefined.
6674
069f5950
DL
66752000-07-18 Dave Love <fx@gnu.org>
6676
6677 * window.c (Fwindow_list): Declare arg `window'.
6678
aa96c820
KH
66792000-07-18 Kenichi Handa <handa@etl.go.jp>
6680
6681 * coding.c (setup_coding_system): Don't override the explicitly
6682 specified designations.
6683
06be8d32
MB
66842000-07-15 Miles Bader <miles@gnu.org>
6685
6686 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6687 from `text_property_eq' and `text_property_stickiness', respectively.
6688 (find_field, Fconstrain_to_field, char_property_eq)
6689 (char_property_stickiness): Changed to call char-property functions
6690 instead of text-property-only ones.
6691
6692 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6693 `next_single_char_property_change'). Do more error checking, and
6694 cleanup limit behavior.
6695 (Fprevious_single_char_property_change): New function.
6696 (syms_of_textprop): Initialize new subrs.
6697
6698 * xdisp.c (display_prop_end, invisible_text_between_p):
6699 Call Fnext_single_char_property_change instead of
6700 next_single_char_property_change.
6701
3fddcdc3
JR
67022000-07-15 Jason Rumney <jasonr@gnu.org>
6703
6704 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6705 after menu is finished with.
6706 (add_menu_item): Only consider wv->title as a menu title.
6707 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6708
6709 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6710 null title.
6711 (FONT_REGEXP): Remove unused macro, and its sub-components.
6712 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6713
6714 * w32term.c (help_echo_object, help_echo_pos): New variables.
6715 (note_mode_line_highlight): Store additional information about the
6716 help-echo in help_echo_object and help_echo_pos. Check both
6717 `local-map' and `keymap' properties for changing the cursor
6718 (note_mouse_highlight): Store additional information about the
6719 help-echo in help_echo_object and help_echo_pos.
6720 (note_tool_bar_highlight): Set help_echo_object to nil and
6721 help_echo_pos to -1.
6722 (w32_read_socket): Use gen_help_event instead of filling
6723 input_events manually.
6724 (syms_of_w32term): Staticpro help_echo_object.
6725 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6726 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6727 (x_clear_mouse_face): New function.
6728 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6729 (x_update_window_begin): No need to turn off the mouse
6730 highlight here.
6731 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6732 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6733 (x_fill_stretch_glyph_string): Consume runs of stretch
6734 glyphs instead of a single one.
6735 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6736 with new argument list.
6737 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6738 (x_append_glyph, x_append_composite_glyph)
6739 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6740 changes in struct glyph starting 1999-12-27. See comments for
6741 xterm.c on 2000-07-05.
6742
178c5d9c
SS
67432000-07-14 Sam Steingold <sds@gnu.org>
6744
6745 * xfaces.c (realize_x_face): Fix the last patch:
6746 check `default_face' before dereferencing.
6747
6fe533f6
DL
67482000-07-14 Dave Love <fx@gnu.org>
6749
069f5950 6750 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6751
dd7b81cf
KH
67522000-07-14 Kenichi Handa <handa@etl.go.jp>
6753
0693904a 6754 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6755 default_face's fontset, not using the default fontset.
0693904a 6756
dd7b81cf
KH
6757 * coding.c (inhibit_iso_escape_detection): New variable.
6758 (syms_of_coding): Make it a Lisp variable.
6759 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6760 nonzero, ignore ISO2022's escape sequence.
6761
d5aa31d8
GM
67622000-07-14 Gerd Moellmann <gerd@gnu.org>
6763
e5acf0ca
GM
6764 * alloca.c (malloc) [emacs]: Define as xmalloc.
6765
bd23a692
GM
6766 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6767 use that instead of the mouse position. Add parameters DX and DY.
6768
6769 * dispextern.h (Fx_show_tip): Adjust number of parameters
6770 in prototype.
6771
9662da0b
GM
6772 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6773 if HELP is a function, call it with OBJECT and POS as parameters
6774 to get the help to display.
6775 (gen_help_event, kbd_buffer_store_help_event): New functions.
6776 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6777 (read_char): Call show_help_echo with new parameters.
6778
178c5d9c 6779 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6780 Add prototypes.
6781
6782 * xterm.c (help_echo_object, help_echo_pos): New variables.
6783 (note_mode_line_highlight): Store additional information about the
6784 help-echo in help_echo_object and help_echo_pos. Check both
6785 `local-map' and `keymap' properties for changing the cursor
6786 (note_mouse_highlight): Store additional information about the
6787 help-echo in help_echo_object and help_echo_pos.
6788 (note_tool_bar_highlight): Set help_echo_object to nil and
6789 help_echo_pos to -1.
6790 (XTread_socket): Use gen_help_event instead of filling
6791 input_events manually.
6792 (syms_of_xterm): Staticpro help_echo_object.
6793
6794 * xmenu.c (menu_highlight_callback): Use
6795 kbd_buffer_store_help_event instead of setting up and input_event
6796 structure manually.
6797
6798 * xdisp.c (eval_form): GCPRO argument sexpr.
6799 (call_function): New function.
6800 (handle_single_display_prop): Use call_function and FUNCTIONP
6801 instead of checking whether if font_height is a symbol and
6802 using eval_form.
6803
6804 * eval.c (internal_condition_case_2): New function.
6805
6806 * lisp.h (FUNCTIONP): New macro.
6807 (internal_condition_case_2, call_function): Add prototypes.
6808
d5aa31d8
GM
6809 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6810 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6811 Always set `arg' member of input_events.
6812 (construct_menu_click): Unused function removed.
6813
6814 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6815
6816 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6817 (construct_drag_n_drop, x_scroll_bar_handle_click)
6818 (w32_read_socket): Always set `arg' member of input_events.
6819
6820 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6821
6822 * lisp.h (eval_form): Add prototype.
6823
6824 * xdisp.c (eval_form): Make it externally visible.
6825
0f1a9b23
GM
68262000-07-13 Gerd Moellmann <gerd@gnu.org>
6827
6828 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6829 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6830 consing. For prefix events, store the frame in the `arg' slot of
6831 the event, otherwise store the key there.
6832 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6833 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6834
6835 * xmenu.c (menu_highlight_callback): Store help string in the
6836 `arg' member of the input event; don't cons.
6837 (menubar_selection_callback): Use the `arg' slot of input events
6838 to queue additional information, instead of consing.
6839
6840 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6841
6842 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6843 TOOL_BAR_EVENTs.
6844 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6845
6846 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6847 input events to queue additional information, instead of consing.
6848
6849 * keyboard.c (kbd_buffer_gcpro): Renamed from
6850 kbd_buffer_frame_or_window. Now used for all Lisp objects
6851 referenced from the input queue.
6852 (kbd_buffer_store_event): Always use structure assignment for
6853 copying input events. Record all Lisp objects referenced from
6854 events in kbd_buffer_gcpro.
6855 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6856 differently from input events. Test for prefix menu_bar_events
6857 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6858 event in kbd_buffer_gcpro to nil.
6859 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6860 frame_or_window is equal to its arg member as prefix events.
6861 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6862 used by an input event to nil.
6863 (init_keyboard): Use two times the size of the input queue
6864 for kbd_buffer_gcpro.
6865 (syms_of_keyboard): Likewise.
6866
52283633
SM
6867 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6868 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6869
6870 * termhooks.h (struct input_event): Add member `arg'.
6871 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6872 (USER_SIGNAL_EVENT): Renamed from user_signal.
6873
6874 * xfaces.c (ASET): Remove definition.
6875
6876 * lisp.h (AREF, ASET, ASIZE): New macros.
6877
6878 * fontset.c (AREF, ASIZE): Remove definitions.
6879
6880 * fns.c (AREF): Remove definition.
178c5d9c 6881
0f1a9b23
GM
6882 * composite.c (AREF): Remove definition.
6883
712eaef2
GM
68842000-07-12 Gerd Moellmann <gerd@gnu.org>
6885
d8ee7803
GM
6886 * dispnew.c (redraw_overlapped_rows): Add missing local.
6887 (scrolling_window): Remove debug code.
6888
712eaef2
GM
6889 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6890 Before scrolling, turn off a mouse-highlight in the window
6891 being scrolled.
6892
6893 * xterm.c (x_update_window_end): Add parameter
6894 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6895 redisplay in XTframe_up_to_date.
6896 (x_clear_mouse_face): New function.
6897 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6898
6899 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6900 current glyph row.
6901 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6902 it when any row is written to that contains glyphs highlighted in
6903 mouse-face.
6904 (update_window): Call the window update end hook with new
6905 parameter MOUSE_FACE_OVERWRITTEN_P.
6906 (direct_output_for_insert): Give up if row contains mouse-face.
6907
6908 * dispextern.h (struct redisplay_interface): Add parameter
6909 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6910 (clear_mouse_face): New function pointer member.
6911
02010917
SM
69122000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6913
6914 * syntax.c (back_comment): Use one switch rather than a few `if's.
6915 Obey open_paren_in_column_0_is_defun_start.
6916 When reverting to the `slow' method, try to nicely handle the case
6917 of nested comments by checking that the comment-starter we found
6918 does indeed match the comment-ender.
6919 (scan_sexps_forward, scan_sexps_forward):
6920 Ignore excessive opening parenthesis rather than throwing an error.
6921
d76c03ea
GM
69222000-07-11 Gerd Moellmann <gerd@gnu.org>
6923
6924 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6925 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6926
6927 * dispnew.c (direct_output_forward_char): Give up if currently
6928 displaying a message instead of the minibuffer contents.
6929
6930 * xterm.c (x_update_window_begin): No need to turn off the mouse
6931 highlight here.
6932 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6933 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6934
6935 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6936 compare the mouse_face_p flags of both rows.
6937
6938 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6939
d55ead18
EZ
69402000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6941
6942 * keyboard.c (show_help_echo): Accept additional parameter
6943 ok_to_overwrite_keystroke_echo.
6944 (read_char): Call show_help_echo with a zero
6945 ok_to_overwrite_keystroke_echo argument.
52283633 6946 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6947 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6948 ok_to_overwrite_keystroke_echo argument.
6949 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6950 non-zero ok_to_overwrite_keystroke_echo argument.
6951
df75b1a3
GM
69522000-07-10 Gerd Moellmann <gerd@gnu.org>
6953
4b92c49a
GM
6954 * xdisp.c (try_window_id): If changes are all below what is
6955 displayed in the window, and point is in the window, we still
6956 might have to find point on the display.
6957
6958 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6959 glyphs instead of a single one.
6960 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6961 with new argument list.
6962 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6963
df75b1a3
GM
6964 * keymap.c (get_keymap_1): Add comment that this function can GC.
6965 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6966 comment that functions can GC.
6967 (Fset_keymap_parent): GCPRO arg KEYMAP.
6968
4314cf3e
EZ
69692000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6970
6971 * msdos.c (XMenuActivate): After exiting the menu, restore the
6972 echo area message and erase it.
6973
ab49ce15
KH
69742000-07-10 Kenichi Handa <handa@etl.go.jp>
6975
6976 * fontset.c (Ffontset_info): Make the return value more compatible
6977 with that of Emacs 20.
6978
090a072f
GM
69792000-07-07 Gerd Moellmann <gerd@gnu.org>
6980
6981 * eval.c (Fsignal): Handle case that backtrace_list is null.
6982
f92de4a6
KH
69832000-07-07 Kenichi Handa <handa@etl.go.jp>
6984
6985 * ccl.c (Fccl_execute): Typo fixed.
6986
dd8888a1
GM
69872000-07-06 Gerd Moellmann <gerd@gnu.org>
6988
e5c81191 6989 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6990
dd8888a1
GM
6991 * window.c (Fwindow_list): Reverse list at the end.
6992 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6993 means allow windows on OWINDOW's frame, only.
6994 (window_loop): Simplified; use Fwindow_list.
6995
6996 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6997
485266d0
GM
69982000-07-05 Gerd Moellmann <gerd@gnu.org>
6999
7000 * xterm.c (XTread_socket): Increment handling_signal at the start,
7001 decrement it at the end.
7002
7003 * eval.c (handling_signal): New variable.
7004 (Fsignal): Abort if handling_signal is non-zero.
7005
7006 * lisp.h (handling_signal): External declaration.
178c5d9c 7007
485266d0
GM
7008 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7009
80fcd514
KR
70102000-07-05 Ken Raeburn <raeburn@gnu.org>
7011
7012 Sound support for NetBSD through "Linux emulation" support:
7013 * config.in (HAVE_SOUNDCARD_H): Undef.
7014 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7015 * Makefile.in (LIBSOUND): New variable.
7016 (LIBES): Include it.
52283633
SM
7017 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7018 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7019 (vox_open): Use DEFAULT_SOUND_DEVICE.
7020 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7021
d5c5cddd
GM
70222000-07-05 Gerd Moellmann <gerd@gnu.org>
7023
7024 * print.c (print_error_message): If Vsignaling_function is set,
7025 show it in *Messages*.
7026
7027 * lisp.h (Vsignaling_function): External declaration.
7028
7029 * eval.c (Vsignaling_function): New variable.
7030 (Fsignal): Compute it.
7031 (syms_of_eval): Staticpro it.
7032
65171e3a
DL
70332000-07-05 Dave Love <fx@gnu.org>
7034
7035 * syswait.h: Use the autoconf recommended approach. Old code
7036 #if'd out in case we need to revert.
7037
178c5d9c 7038 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7039
e2c46326
AI
70402000-07-05 Andrew Innes <andrewi@gnu.org>
7041
7042 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7043 when non-NULL instead of __morecore, to take account of buffer
7044 memory. This also solves a problem with spurious memory warnings
7045 on Windows.
7046
7047 * ralloc.c: Make real_morecore non-static.
7048
7049 * eval.c (internal_condition_case): Comment out abort if
7050 interrupt_input_blocked is not zero.
7051
7052 * makefile.nt: Add support for `bootstrap' and related targets.
7053 Include minimal debug info in emacs.exe in release build.
7054 Remove all dependencies on lisp.h, and fixup some others.
7055
7056 * w32.c (init_environment): Install code from 20.7 for providing
7057 default values for environment variables, based on the
7058 executable's own location.
52283633 7059 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7060 (sys_socket): Install socket inheritance bug fix from 20.7.
7061
7062 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7063 here via blockinput.h).
7064
a027a91b
SM
70652000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7066
e4b31601
SM
7067 * w32menu.c (w32_menu_display_help):
7068 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7069
7070 * keyboard.h (show_help_echo): Declare.
7071
7072 * keyboard.c (show_help_echo): New function, extracted from read_char.
7073 Feval its `msg' argument if it's a cons cell.
7074 (read_char): Use it.
4cf8d9d5 7075 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7076
178c5d9c 7077 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7078 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7079 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7080 (dos_rawgetc):
7081 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7082 (note_tool_bar_highlight, w32_read_socket):
7083 Do not gratuitously ignore non-string `help-echo' properties.
7084
88d75730
GM
70852000-07-05 Gerd Moellmann <gerd@gnu.org>
7086
969f7e79
GM
7087 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7088
71201b00
GM
7089 * window.c (delete_all_subwindows): Reset Vwindow_list.
7090
88d75730
GM
7091 * xterm.c (x_append_glyph, x_append_composite_glyph)
7092 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7093 changes in struct glyph starting 1999-12-27. Some bit-fields of
7094 struct glyph were not set, which made glyphs unequal when compared
7095 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7096 effects were the result. This also depended on the contents of
7097 memory returned by xmalloc. If flickering happens again, activate
7098 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7099 gone with that, chances are that it is caused by something similar.
88d75730
GM
7100
7101 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7102
88d75730
GM
7103 * dispextern.h: Add some comments.
7104
7105 * window.c (add_window_to_list): Add parameter LIST.
7106 (window_list): Order list so that, for each frame, windows are
7107 in canonical order, and so that frames appear in the list in
7108 the order given by Vframe_list.
7109 (next_window): Reverse the handling of NEXT_P.
7110
53654733
GM
71112000-07-04 Gerd Moellmann <gerd@gnu.org>
7112
87efd256
GM
7113 * window.c (Vwindow_list): New variable.
7114 (make_window, delete_window): Set Vwindow_list to nil.
7115 (check_window_containing): New function.
7116 (window_from_coordinates): Rewritten.
7117 (add_window_to_list, window_list, candidate_window_p)
7118 (decode_next_window_args, next_window): New functions.
52283633 7119 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7120 (Fwindow_list): New function.
7121 (Fother_window): Cleaned up.
7122 (foreach_window): Add a longer "variable argument list". Let
7123 callback function return 0 to indicate that cycling over windows
7124 should stop.
7125 (foreach_window_1): Likewise.
7126 (freeze_window_start): Return int.
7127 (init_window): New function.
7128 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7129
7130 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7131 input_event with bzero.
7132 (main): Call init_window.
7133
53654733
GM
7134 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7135 a menu filter.
7136
4a8c194f
KH
71372000-07-04 Kenichi Handa <handa@etl.go.jp>
7138
7139 * composite.h (make_composition_value_copy): Extern it.
7140
7141 * composite.c (make_composition_value_copy): New function.
7142
7143 * editfns.c (Fformat): While copying text properties, make each
7144 composition property value a copy.
7145
7146 * fns.c (concat): While copying text properties, make each
7147 composition property value a copy.
7148
831a6cb0
GM
71492000-07-03 Gerd Moellmann <gerd@gnu.org>
7150
2f516940
GM
7151 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7152
178c5d9c 7153 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7154 marked already.
7155
831a6cb0
GM
7156 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7157 include those frames as candidates which have their focus
7158 redirected to the minibuffer frame.
7159
d9c4f922
SM
71602000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7161
7162 * fns.c (Fputhash): Return `value' rather than nil.
7163
3780bc22
GM
71642000-06-30 Gerd Moellmann <gerd@gnu.org>
7165
97d176db
GM
7166 * frame.c (next_frame): Don't check focus redirection in case
7167 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7168 unless their focus is redirected, which contradicts the
7169 specification of next-frame, and leads to infinite loops in
7170 certain situations when cycling through windows with next-window.
7171
dca9961d
KH
71722000-06-30 Kenichi Handa <handa@etl.go.jp>
7173
7174 * coding.c (code_convert_region): Even if the length of text is
7175 zero, try to convert it if coding->type is coding_type_ccl.
7176 (decode_coding_string, encode_coding_string): Likewise.
7177
d5483ab1
GM
71782000-06-28 Gerd Moellmann <gerd@gnu.org>
7179
af5c25e1 7180 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7181 the display if windows_or_buffers_changed.
af5c25e1
GM
7182
7183 * dispnew.c (struct row_entry): New structure.
7184 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7185 (row_table_size, old_lines, new_lines, old_lines_size)
7186 (new_lines_size, run_pool, runs_size, runs): New variables.
7187 (add_row_entry): New function.
7188 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7189 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7190 holding them in local variables. Use a larger hash table whose
7191 size depends on glyph matrix sizes. Don't use bzero to clear the
7192 hash table; instead, clear used slots only.
7193
7194 * fns.c (next_almost_prime): Make it externally visible.
7195
7196 * lisp.h (next_almost_prime): Add prototype.
7197
d5483ab1
GM
7198 * s/isc4-0.h (sigunblock): Define.
7199
7200 * s/sco5.h (sigunblock): Define.
7201
93e40f40
DL
72022000-06-27 Dave Love <fx@gnu.org>
7203
7204 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7205 (moved to osf5-0.h).
7206 [!NOT_C_CODE]: Protect string.h stuff.
7207
7208 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7209 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7210
3c4b7685
GM
72112000-06-27 Gerd Moellmann <gerd@gnu.org>
7212
97d176db 7213 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7214 below the last line from the needed window height.
7215
32cad0aa
SM
72162000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7217
7218 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7219 (Fwidget_get): Use it.
7220 (syms_of_fns): Defsubr it.
7221
2c69ced2
GM
72222000-06-26 Gerd Moellmann <gerd@gnu.org>
7223
178c5d9c 7224 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7225 display info for XIM.
7226 (xim_open_dpy): Likewise.
7227 (xim_close_dpy): Don't free the display info's XIM.
7228
7229 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7230
7231 * config.in (USE_XIM): New define.
7232
3fc720e4
GM
7233 * keymap.c (get_keyelt): For menu-items containing a `:filter
7234 FILTER', apply FILTER to the menu-item's definition to get the
7235 real definition to use.
7236
7237 * lisp.h (QCfilter): External declaration.
7238
2c69ced2
GM
7239 * xfns.c (Fimage_size): New function.
7240 (syms_of_xfns): Defsubr it.
7241
f978b2a2
AS
72422000-06-26 Andreas Schwab <schwab@suse.de>
7243
7244 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7245 Fstring_as_unibyte.
7246
94cc7892
DL
72472000-06-25 Dave Love <fx@gnu.org>
7248
52283633 7249 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7250
7251 * Makefile.in (blockinput.h): Depend on atimer.h.
7252 (atimer.h): Depend on systime.h.
7253
52283633 7254 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7255
52283633 7256 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7257
7258 * lisp.h (swap_in_global_binding): Declare.
7259
b8c24556
KR
72602000-06-24 Ken Raeburn <raeburn@gnu.org>
7261
7262 * process.c (Fopen_network_stream): Turn off atimers for duration
7263 of call to connect. (Patch from Gerd.)
7264
8cf8560b
DL
72652000-06-23 Dave Love <fx@gnu.org>
7266
511c7541
DL
7267 * ralloc.c: Maybe include unistd.h
7268
8cf8560b
DL
7269 * emacs.c (setgrp): Undefine before defining.
7270 (malloc_warning, set_time_zone_rule, index): Prototype.
7271
7272 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7273 HAVE_STRUCT_TIMEZONE.
7274
7275 * s/osf1.h: Move string.h hack here from alpha.h and make it
7276 conditional.
7277 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7278 _XOPEN_SOURCE.
7279 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7280 (SOCKLEN_TYPE): Don't define.
7281
7282 * m/alpha.h: Remove string.h hack.
7283
7284 * s/osf5-0.h: New file.
7285
7286 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7287 include time.h, done by systime.h.
7288 [__FreeBSD__]: Remove redundant includes.
7289
3fc720e4 7290 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7291 (delete_temp_file): Return Qnil to avoid warning.
7292
7293 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7294
7295 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7296 HAVE_X_WINDOWS.
7297
7298 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7299
7300 * composite.h (compose_text): Declare.
7301
7302 * xterm.c: Don't include sys/types.h unconditionally. Don't
7303 protect its inclusion with !USG (following xmenu.c).
7304
ea055732
GM
73052000-06-23 Gerd Moellmann <gerd@gnu.org>
7306
7307 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7308 in x_create_frame.
7309
74b01b80
EZ
73102000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7311
7312 * coding.c (decode_eol_post_ccl): Special handling for undecided
7313 and inconsistent EOL types.
7314
64f3a166
GM
73152000-06-22 Gerd Moellmann <gerd@gnu.org>
7316
16cf31f7
GM
7317 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7318 trough color and main window's background color.
7319
52283633 7320 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7321
7322 * xterm.h (Xt_app_con): External declaration.
7323
7324 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7325
486a103d
GM
7326 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7327
64f3a166
GM
7328 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7329 (handle_invisible_prop): Record the start of invisible text in
7330 it->add_overlay_start.
7331 (struct overlay_entry): Add member `overlay'.
7332 (handle_overlay_change): Simplify.
7333 (next_overlay_string): After having processed overlay strings at the
7334 end of the buffer, record that fact in
7335 it->overlay_strings_at_end_processed_p.
7336 (compare_overlay_entries): If before- and after-strings come
7337 from the same overlay, let before-strings come first.
7338 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7339 (load_overlay_strings): Take it->add_overlay_start into account
7340 when adding overlay strings.
7341
7342 * dispextern.h (struct it): Add member add_overlay_start.
7343
bb746ea6
DL
73442000-06-22 Dave Love <fx@gnu.org>
7345
7346 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7347
7348 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7349
a8f573f3
KH
73502000-06-22 Kenichi Handa <handa@etl.go.jp>
7351
7352 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7353 is greater than 0.
7354
9f2bbc92
DL
73552000-06-21 Dave Love <fx@gnu.org>
7356
178c5d9c 7357 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7358
3ee5041c
SM
73592000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7360
7361 * syntax.c (back_comment): Simplify string-parity counting (with
7362 the added benefit of handling multiple string-styles as long as
7363 they are not intertwined).
7364 Jump to the slow code as soon as a comment starter is found in
7365 a "string_lossage" position. Fixes the case: " /* " /* " */.
7366
4c343001
DL
73672000-06-21 Dave Love <fx@gnu.org>
7368
7369 * Makefile.in: Use GETLOADAVG_LIBS.
7370
7371 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7372 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7373
e6365855
SM
73742000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7375
7376 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7377 (Fforward_comment, scan_lists):
7378 Check the comstyle of single-char comment-starters.
7379 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7380 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7381 Check the comstyle of single-char comment-starters.
7382 Clarify control-flow around the Scomment case.
e6365855 7383
5700d2cc
DL
73842000-06-20 Dave Love <fx@gnu.org>
7385
d355bd8a
SM
7386 * fns.c (make_hash_table, maybe_resize_hash_table):
7387 Cast arg of next_almost_prime.
5700d2cc 7388
178c5d9c 7389 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7390
7391 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7392 and unistd.h.
7393
4a27bdfb
GM
73942000-06-20 Gerd Moellmann <gerd@gnu.org>
7395
a61d762c 7396 * keyboard.c (adjust_point_for_property): Check if display
52283633 7397 property should be treated as intangible by looking at its value.
a61d762c 7398
178c5d9c 7399 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7400 (display_prop_intangible_p): New functions.
7401
7402 * dispextern.h (display_prop_intangible_p): Add prototype.
7403
7404 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7405
4a27bdfb
GM
7406 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7407 argument to sigprocmask.
7408
7409 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7410 argument to sigprocmask.
7411
7412 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7413 sigprocmask_set, and pass a pointer to it to sigprocmask.
7414
7415 * sysdep.c (sigprocmask_set): New variable.
7416
7417 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7418 report_file_error.
7419
427ec082
SS
74202000-06-20 Sam Steingold <sds@gnu.org>
7421
7422 * xrdb.c: Don't declare xmalloc, xrealloc.
7423
8972fe79 74242000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7425
7426 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7427 (re_comp): Cast gettext return value to avoid complaints when
7428 !HAVE_LIBINTL.
7429
074b6efe
DL
74302000-06-20 Dave Love <fx@gnu.org>
7431
52283633 7432 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7433
5700d2cc 7434 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7435
d355bd8a 7436 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7437
7438 * m/alpha.h: Don't declare xmalloc, xrealloc.
7439
0af4f205
DL
7440 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7441
7442 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7443
7444 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7445
7446 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7447 HAVE_GETWD.
7448
074b6efe
DL
7449 * keyboard.h (poll_for_input_1): Declare.
7450
7451 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7452
7453 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7454
7455 * doprnt.c: Don't declare xmalloc, xrealloc.
7456
7457 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7458 (getenv, ctime, getwd): Removed.
7459 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7460
7461 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7462 x_set_tool_bar_lines.
7463
7464 * config.in: Add HAVE_GETWD. Move some definitions above
7465 machine/system includes.
7466
68a5e97b
KH
74672000-06-20 Kenichi Handa <handa@etl.go.jp>
7468
95417e1e
KH
7469 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7470
68a5e97b
KH
7471 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7472 contain information about ENCODING.
7473
7474 * fontset.c (FONTSET_ASCII): Use the first element of char table
7475 for an ASCII font, not defalt slot.
7476 (fontset_ref_via_base): If FONTSET doesn't contain information for
7477 C, try the default fontset.
7478 (make_fontset): Don't copy the default fontset.
7479 (fontset_font_pattern): Likewise.
7480 (accumulate_font_info): If ELT is nil, use the corresponding
7481 element in the default fontset.
7482
3b4fa1b2
DL
74832000-06-19 Dave Love <fx@gnu.org>
7484
943e731c
DL
7485 * syntax.c (Fparse_partial_sexp): Doc fix.
7486
7487 * regex.h: Test PROTOTYPES as well as __STDC__.
7488
3b4fa1b2
DL
7489 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7490 errno, strerror. Put text after #endif in comment.
7491
52283633 7492 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7493
7494 * xterm.c (x_frame_of_widget): Likewise.
7495
cdf0357b
GM
74962000-06-19 Gerd Moellmann <gerd@gnu.org>
7497
7498 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7499 to Vfundamental_mode_abbrev_table.
7500
7501 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7502 bogus objects are marked. This slows down GC by ~80 percent, but
7503 it might be worth trying when debugging GC-related problems.
7504 This feature requires conservative stack marking to be enabled.
7505
7506 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7507 returns XLookupChars, reset `modifiers' to zero.
7508
998e9f8c
DL
75092000-06-19 Dave Love <fx@gnu.org>
7510
7511 * mktime.c: Unprotoized.
7512
18e21ce8 75132000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7514
7515 * data.c (set_internal): If variable is frame-local,
7516 store the new value immediately into the frame parameter alist.
7517
140c4ac6
KR
75182000-06-19 Ken Raeburn <raeburn@gnu.org>
7519
14358466
KR
7520 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7521 in the custom handler pointer.
7522
140c4ac6
KR
7523 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7524 value, or checks for CHAR_META can fail when Lisp_Object is a
7525 union type.
7526 * keymap.c (get_keyelt): Likewise.
7527
10d7bf84
KH
75282000-06-19 Kenichi Handa <handa@etl.go.jp>
7529
7530 * ccl.h (struct ccl_program): New member eol_type.
7531 (struct ccl_spec): New member cr_carryover.
7532
7533 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7534 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7535
7536 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7537 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7538 (decode_eol_post_ccl): New function.
7539 (decode_coding): Don't detect EOL format here for CCL based coding
7540 systems.
7541 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7542 decode_eol_post_ccl after running the CCL program.
7543 (code_convert_region): Don't detect EOL format here for CCL based
7544 coding systems.
7545 (decode_coding_string): Likewise.
7546
52e386c2
KR
75472000-06-18 Ken Raeburn <raeburn@gnu.org>
7548
7549 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7550 when treating it as an integer.
7551
7552 * coding.h (encode_coding_string): Declare.
7553
7554 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7555 it as an integer.
7556
7557 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7558 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7559 to be passed to get_local_map.
7560
7561 * sound.c (Fplay_sound): Don't call make_number on
7562 Frun_hook_with_args count argument.
7563
7564 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7565 for lisp objects in X event structure data field, when lisp
7566 objects are represented with unions.
7567 (x_scroll_bar_to_input_event): Ditto.
7568
b357b9d4
KR
75692000-06-16 Ken Raeburn <raeburn@gnu.org>
7570
7571 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7572 termination of string. Fix sense of test whether
7573 Vline_number_display_limit is an integer.
b357b9d4 7574
a871441d
GM
75752000-06-16 Gerd Moellmann <gerd@gnu.org>
7576
a9021acd
GM
7577 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7578 only if HAVE_X_WINDOWS.
7579
6344985d
GM
7580 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7581 of titles.
7582
427ec082 7583 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7584 out of bounds.
7585
228b083e
EZ
75862000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7587
7588 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7589 of its headers.
7590
c25b53a2
KH
75912000-06-15 Kenichi Handa <handa@etl.go.jp>
7592
7593 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7594 start of the while loop.
7595
a6981b11
GM
75962000-06-15 Gerd Moellmann <gerd@gnu.org>
7597
e9924e52
GM
7598 * atimer.c (alarm_signal_handler): Add forward declaration.
7599
a6981b11
GM
7600 * data.c (set_internal): Remove debug code.
7601
25fa6deb
GM
76022000-06-14 Gerd Moellmann <gerd@gnu.org>
7603
dce6b995
GM
7604 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7605
9f817ea4
GM
7606 * unexec.c (toplevel) [COFF]: Include coff.h.
7607
7608 * s/lynxos.h: New file.
7609
7610 * keymap.c (Fsingle_key_description): Enclose function key and
7611 event symbol names in angle brackets.
7612
8a4e3c0c
GM
7613 * xdisp.c (setup_echo_area_for_printing): Call
7614 message_log_maybe_newline if message_buf_print is not set.
7615
7616 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7617 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7618 function does something useful even when message_buf_print is
7619 already set.
7620
52283633
SM
7621 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7622 New variables.
25fa6deb
GM
7623 (ensure_echo_area_buffers): Initialize echo buffer's
7624 truncate lines setting to nil.
7625 (with_echo_area_buffer): Don't set the echo buffer's truncate
7626 lines setting here.
8a4e3c0c 7627 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7628 of message_truncate_lines.
7629 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7630 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7631 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7632
7633 * keyboard.c (read_char): Bind message-truncate-lines to t
7634 while displaying a help-echo.
7635
7636 * lisp.h (Qmessage_truncate_lines): External declaration.
7637
163dcff3
GM
76382000-06-13 Gerd Moellmann <gerd@gnu.org>
7639
1681ead6
GM
7640 * xdisp.c (Vline_number_display_limit): Renamed from
7641 line_number_display_limit.
7642 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7643 Extend documentation string. Initialize
7644 Vline_number_display_limit to nil meaning no limit.
7645 (decode_mode_spec): Use Vline_number_display_limit with its new
7646 meaning.
7647
163dcff3
GM
7648 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7649
18e21ce8 76502000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7651
7652 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7653
163dcff3
GM
7654 * xfns.c (x_set_frame_parameters): Comment fix.
7655
7656 * frame.c (store_frame_param): Call swap_in_global_binding if the
7657 variable's current binding was chosen based on this frame.
7658
7659 * data.c (swap_in_global_binding): New function.
7660
a704139d
EZ
76612000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7662
7663 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7664 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7665
9b6610db
EZ
76662000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7667
7668 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7669
c68833d2
JR
76702000-06-12 Jason Rumney <jasonr@gnu.org>
7671
7672 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7673
7674 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7675
7676 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7677
7678 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7679
ed1056b3
GM
76802000-06-12 Gerd Moellmann <gerd@gnu.org>
7681
7682 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7683 (syms_of_xfaces): Defsubr Sdump_colors.
7684 (x_free_colors): Don't treat b&w specially on default visual.
7685 (x_free_dpy_colors): New function.
7686 (free_face_colors): Don't check visual class; it's done
7687 in x_free_colors.
7688
7689 * xterm.c (x_frame_of_widget): New function.
7690 (x_alloc_nearest_color_for_widget): Use it.
7691 (x_copy_dpy_color): New function.
7692 (x_destroy_window): Free various colors.
7693
5050a2ef
KH
76942000-06-12 Kenichi Handa <handa@etl.go.jp>
7695
7696 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7697
7698 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7699
7700 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7701
7702 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7703
7704 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7705
fb1b041d
DL
77062000-06-11 Dave Love <fx@gnu.org>
7707
7708 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7709
ff96b5f4
EZ
77102000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7711
7712 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7713
db8eeecd
GM
77142000-06-11 Gerd Moellmann <gerd@gnu.org>
7715
ed1056b3 7716 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7717 to `XEvent *'.
7718
49b71c5f
KH
77192000-06-10 Kenichi Handa <handa@etl.go.jp>
7720
c479bd55
KH
7721 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7722 (regex_compile): Fix the code for handling the case of single byte
7723 char and multibyte char being mixed in a range within [...].
7724
ff6a65c2
KH
7725 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7726 and dst_multibyte members of coding.
7727
49b71c5f
KH
7728 * charset.c (update_charset_table): Update the table
7729 bytes_by_char_head.
7730 (init_charset_once): Initialize elements of bytes_by_char_head to
7731 1 except for leading codes for private charases.
7732
7733 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7734 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7735
9e80b57d
KR
77362000-06-09 Ken Raeburn <raeburn@gnu.org>
7737
7738 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7739 access the data it doesn't point to.
7740
f83fe4b4
GM
77412000-06-08 Gerd Moellmann <gerd@gnu.org>
7742
7743 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7744 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7745 event queue. This is necessary because Emacs otherwise won't
7746 perform a switch-frame to a new frame until some other event, for
7747 example a keystroke event, forces it to do so. This has various
7748 effects, one visible being that the cursor of a frame created with
7749 C-x 5 2 or switched to with a window manager key binding like
7750 A-TAB stays hollow because selected_window isn't on the newly
7751 focused frame until the switch-frame is performed.
7752
7753 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7754 generating a switch-frame event if necessary.
7755
7756 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7757
7758 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7759 it's an integer.
7760
0890801b
KH
77612000-06-08 Kenichi Handa <handa@etl.go.jp>
7762
52283633 7763 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7764
173cbca8
GM
77652000-06-07 Gerd Moellmann <gerd@gnu.org>
7766
3091c2a6
GM
7767 * window.c (displayed_window_lines): Take empty lines at
7768 the bottom of a window into account.
427ec082 7769
f38952fe
GM
7770 * window.c (displayed_window_lines): New function.
7771 (Fmove_to_window_line): Use displayed_window_lines to determine
7772 the number of lines to move, instead of using the window's height.
7773
7774 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7775 to stop reading, even if the form read sets point to a different
7776 value when evaluated.
7777
427ec082 7778 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7779 put the cursor.
7780
6ba6c818
KH
77812000-06-07 Kenichi Handa <handa@etl.go.jp>
7782
7783 * fileio.c (e_write): Free composition data if stored in
7784 coding->cmp_data.
7785
5f1aea9a
GM
77862000-06-06 Gerd Moellmann <gerd@gnu.org>
7787
666852af
GM
7788 * xdisp.c (display_line): Set row's and iterator's
7789 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7790 Set cursor even if row ends in the middle of a character.
7791 (dump_glyph_row): Print values of new flags.
7792 (redisplay_window) <cursor movement in unchanged window>: When
7793 point has been moved forward, and PT is at the end of the cursor
7794 row, don't place the cursor in the next row if the cursor row ends
7795 in the middle of a character or at ZV.
7796
7797 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7798 (struct glyph_row): Add starts_in_middle_of_char_p and
7799 ends_in_middle_of_char_p.
7800 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7801 ends_in_middle_of_char_p flag.
7802 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7803
d13f3e2e
GM
7804 * term.c (append_glyph): Revert change of 2000-06-06.
7805
7806 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7807 padding glyph not fitting on line as whole character not
7808 fitting on line.
7809
5f1aea9a
GM
7810 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7811 this isn't true for images with `:ascent 100'.
7812
10cda9b0
KH
78132000-06-06 Kenichi Handa <handa@etl.go.jp>
7814
ed00559d
KH
7815 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7816 as modified if it is originally unmodified.
7817
10cda9b0
KH
7818 * term.c (encode_terminal_code): Change the way to check if
7819 terminal coding does any conversion.
7820 (append_glyph): Set glyph->pixel_width correctly.
7821
7822 * xdisp.c (display_line): While checking line continuation, pay
7823 attention to a padding glyph.
7824
1969fae2
GM
78252000-06-05 Gerd Moellmann <gerd@gnu.org>
7826
7827 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7828
162ccef4
DL
78292000-06-05 Dave Love <fx@gnu.org>
7830
f19f32dd
DL
7831 * xdisp.c: Include fontset.h.
7832
7833 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7834
7835 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7836
7837 * dispnew.c: Conditionally include term.h.
7838
7839 * coding.h: Declare code_convert_string_norecord.
7840
7841 * frame.h (struct frame): Use volatile unconditionally.
7842
7843 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7844
7845 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7846
7847 * systime.h: Protect against multiple inclusion.
7848 (timezone) [USG5_4]: Define as time_t.
7849
7850 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7851 (Foptimize_char_table, make_temp_name): Declare.
7852
7853 * Makefile.in (xdisp.o): Depend on fontset.h.
7854
7855 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7856
7857 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7858 (Foptimize_char_table, make_temp_name): Declare.
7859
427ec082 7860 * s/irix4-0.h:
162ccef4
DL
7861 * s/irix5-0.h:
7862 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7863
2082fe81
DL
78642000-06-02 Dave Love <fx@gnu.org>
7865
7866 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7867
dcf671d2
GM
78682000-06-02 Gerd Moellmann <gerd@gnu.org>
7869
7870 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7871 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7872 be freed.
7873
7874 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7875 glyph, use the ASCII NUL character to determine the face.
7876
d42122a3
DL
78772000-06-02 Dave Love <fx@gnu.org>
7878
7879 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7880 (VFORK_RETURN_TYPE): Remove.
427ec082 7881
d42122a3
DL
7882 * config.in: Add NO_MATHERR.
7883
dd432f16
DL
78842000-06-01 Dave Love <fx@gnu.org>
7885
90aa4ea8
DL
7886 * cmds.c (internal_self_insert): Don't check
7887 Vbefore_change_function, Vafter_change_function.
7888
7889 * insdel.c (signal_before_change, signal_after_change): Likewise.
7890
7891 * buffer.c (Vbefore_change_function, Vafter_change_function):
7892 Variables and their initializations deleted.
7893
2330c9d4
DL
7894 * callint.c (Fcall_interactively): Doc fix.
7895
dd432f16
DL
7896 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7897
bf9e8804
DL
78982000-05-31 Dave Love <fx@gnu.org>
7899
7900 * textprop.c: Revert last change -- duplicated.
7901
3694b4ab
GM
79022000-05-31 Gerd Moellmann <gerd@gnu.org>
7903
7904 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7905 in #if 0.
7906
7907 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7908
f14156cd
JR
79092000-05-31 Jason Rumney <jasonr@gnu.org>
7910
8119aab8
JR
7911 * search.c (Fre_search_forward, Fre_search_backward)
7912 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7913
f14156cd
JR
7914 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7915
4aab9be3
JR
79162000-05-30 Jason Rumney <jasonr@gnu.org>
7917
7918 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7919 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7920
52283633 7921 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7922
7923 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7924 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7925 expand a nil default_filename.
7926
7927 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7928 pointer to glyph_to_pixel_coords, not a frame.
7929
7930 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7931 coding.h to dependencies.
7932
7933 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7934
7935 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7936 window pointer to be consistent with w32term.c and xterm.c.
7937
7938 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7939 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7940 (Qline_spacing, Qcenter): New variables.
7941 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7942 (x_set_line_spacing): New function.
52283633 7943 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7944 (x_specified_cursor_type): New function.
7945 (x_set_cursor_type): Use it.
7946 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7947 and icon strings.
7948 (validate_x_resource_name, x_get_resource_string): Measure lengths
7949 of external strings in bytes.
7950 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7951 GetTextExtentPoint32 with NULL title.
7952 (Fx_create_frame): Initialize Qline_spacing.
7953 (w32_load_system_font): Initialize font->double_byte_p.
7954 (x_to_w32_charset): Use Vw32_charset_info_alist.
7955 (Image, busy cursor, tooltip functions): Merged changes from
7956 xfns.c. Not yet functional on Windows.
7957
7958 * w32gui.h (W32FontStruct): Add double_byte_p member.
7959
7960 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7961 (emacs_button_translation): Use it.
7962 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7963 in `mask' to be set.
7964
7965 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7966 menu strings.
7967
7968 * w32term.c: Format and doc changes to bring closer to xterm.c.
7969 (w32_char_font_type): New enum.
7970 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7971 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7972 (w32_encode_char): New function.
7973 (x_encode_char): Removed.
7974 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7975 x_encode_char and w32_font_is_double_byte.
7976 (x_produce_image_glyph): Use image_ascent.
7977 (x_produce_glyphs): Use new version of w32_per_char_metric and
7978 handle NULL return value. Allow extra line spacing.
7979 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7980 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7981 w32_font_type member of glyph instead.
7982 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7983 (fast_find_position): Make sure not to consider rows not visible
7984 in the window.
7985 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7986 w32_menu_display_help with input blocked, as it can abort.
7987 (x_display_and_set_cursor): Choose cursor depending
7988 on buffer-local value of cursor_type.
7989 (x_draw_bar_cursor): Add parameter WIDTH.
7990
7991 * w32term.h (CP_DEFAULT): Define.
7992 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7993
10fc3187
GM
79942000-05-30 Gerd Moellmann <gerd@gnu.org>
7995
7996 * search.c (Fre_search_forward, Fre_search_backward)
7997 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7998
d0555360
KH
79992000-05-30 Kenichi Handa <handa@etl.go.jp>
8000
8001 * coding.c (detect_coding_iso2022): Fix code for checking
8002 CODING_CATEGORY_MASK_ISO_8_2.
8003
f1ad044f
SM
80042000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8005
8006 * regex.c (PREFETCH_NOLIMIT): New function.
8007 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8008
84ec3b4b
GM
80092000-05-29 Gerd Moellmann <gerd@gnu.org>
8010
66254a13
GM
8011 * syntax.c (find_defun_start): Move test for
8012 open_paren_in_column_0_is_defun_start outside of the loop.
8013
49e70dec
GM
8014 * xdisp.c (redisplay_window): Really switch buffers when
8015 displaying mode lines, and temporarily set selected_frame to the
8016 frame of the window that's redisplayed.
8017
84ec3b4b
GM
8018 * xfaces.c (free_realized_faces): Block/unblock input.
8019 (free_realized_multibyte_face): Ditto.
8020
869a3a14
DL
80212000-05-29 Dave Love <fx@gnu.org>
8022
8023 * textprop.c (Qkeymap): New variable.
8024 (syms_of_textprop): Intern it.
8025
8026 * keymap.c: Include intervals.h.
8027 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8028
8029 * Makefile.in (keymap.o): Depend on intervals.h.
8030
8031 * keyboard.c (menu_bar_items, tool_bar_items)
8032 (Fexecute_extended_command): Deal with `keymap' property.
8033 (read_key_sequence): Track map from `keymap' property as well as
8034 `local_map'.
8035
8036 * intervals.c (get_local_map): Extra arg to allow looking for
8037 `keymap' too.
8038
8039 * intervals.h (map_property): New enum.
8040 (get_local_map): Extra arg using it.
8041 (Qkeymap): Declare.
8042
84ec3b4b 8043 * lisp.h (get_local_map): Don't declare here.
869a3a14 8044
89d0c844
KH
80452000-05-29 Kenichi Handa <handa@etl.go.jp>
8046
8047 * Makefile.in (callproc.o): Depend on composite.h.
8048
8049 * callproc.c: Include composite.h.
8050 (Fcall_process): Handle composition correctly.
8051
8052 * coding.h (coding_allocate_composition_data): Extern it.
8053 (coding_restore_composition): Likewise.
8054
8055 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8056 yet allocated, finish decoding with result
8057 CODING_FINISH_INSUFFICIENT_CMP.
8058 (coding_allocate_composition_data): Make it non-static.
8059 (coding_restore_composition): Likewise.
8060
797a084a
EZ
80612000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8062
8063 * charset.c (syms_of_charset): Revert last change.
8064
cf872af5
EZ
80652000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8066
8067 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8068 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8069 Handa.
cf872af5 8070
5b1ae051
EZ
80712000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8072
8073 * charset.c (syms_of_charset): Set width of character sets
8074 eight-bit-control and eight-bit-graphic to 1 column.
8075
34ec9ebe
GM
80762000-05-26 Gerd Moellmann <gerd@gnu.org>
8077
8078 * config.in (HAVE_SPEED_T): New define.
8079
8080 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8081 `extern speed_t'.
8082
dd854dc2
DL
80832000-05-26 Dave Love <fx@gnu.org>
8084
8085 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8086
8087 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8088 (Fsubr_arity): New function.
8089 (syms_of_data): Install them.
8090
ba9f8f95
KH
80912000-05-26 Kenichi Handa <handa@etl.go.jp>
8092
0f3e0672
KH
8093 * charset.c (init_charset_once): Set the table bytes_by_char_head
8094 correctly.
8095
cebefb44
KH
8096 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8097 the default fontset to what Emacs uses by default.
0f3e0672
KH
8098 (check_registry_encoding): This function deleted.
8099 (Fset_fontset_font): Remove the adhoc condition for the default
8100 fontset. Allow cons in FONTNAME.
cebefb44 8101
0f3e0672
KH
8102 * fns.c (map_char_table): Ignore char-table entries for
8103 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8104
7a18af49
KR
81052000-05-25 Ken Raeburn <raeburn@gnu.org>
8106
8107 * emacs.c (main): Initialize keyboard syms before initializing
8108 window code, so face names are available.
8109
d2af47df
SM
81102000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8111
8112 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8113 of an anchor at the beginning of a shy-group.
8114
fc6a6a4e
GM
81152000-05-25 Gerd Moellmann <gerd@gnu.org>
8116
8117 * xdisp.c (handle_invisible_prop): Don't try to skip over
8118 invisible text if end of text is already reached.
8119
005f0d35
DL
81202000-05-25 Dave Love <fx@gnu.org>
8121
02513cdd
DL
8122 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8123
005f0d35
DL
8124 * coding.c (encode_eol): Add null statement after label.
8125
89f6ca4e
EZ
81262000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8127
8128 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8129 2000-05-20.
8130
a4e1759e
KH
81312000-05-25 Kenichi Handa <handa@etl.go.jp>
8132
8133 * ccl.c (ccl_driver): Fix previous change.
8134
eacfd7fe
KH
81352000-05-25 Kenichi Handa <handa@etl.go.jp>
8136
46ab33a9
KH
8137 * coding.c (run_pre_post_conversion_on_str): Set point to the
8138 beginning of buffer before calling coding->post_read_conversion.
8139 (decode_coding_string): Give correct args to
8140 run_pre_post_conversion_on_str.
8141 (encode_coding_string): Likewise.
8142
eacfd7fe
KH
8143 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8144 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8145 eight-bit-graphic correctly.
8146
f8569325
DL
81472000-05-24 Kenichi HANDA <handa@etl.go.jp>
8148
8149 * fileio.c (Finsert_file_contents): Even if a file is not found,
8150 execute codes for setting up coding system. Call
8151 after-insert-file-functions unconditionally.
8152
04545643
GM
81532000-05-24 Gerd Moellmann <gerd@gnu.org>
8154
8155 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8156 BSD_PGRPS are not defined.
8157
747d90ea
KH
81582000-05-24 Kenichi Handa <handa@etl.go.jp>
8159
8160 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8161 DESCRIPTION.
8162 (syms_of_charset): Avoid building same strings.
8163
716e3b88
GM
81642000-05-23 Gerd Moellmann <gerd@gnu.org>
8165
8166 * lread.c (Fload): Add a comment about the meaning of
8167 Vuser_init_file being t.
8168
8169 * puresize.h (BASE_PURESIZE): Increase to 675000.
8170
8171 * s/gnu-linux.h (setpgrp): Don't define it here because this
8172 prevents compilation on GNU/Linux systems with glib 2.2.
8173
8174 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8175 as setpgid.
427ec082 8176
9aeb39fa
EZ
81772000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8178
8179 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8180 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8181 version.
8182 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8183
29ced61b
KH
81842000-05-23 Kenichi Handa <handa@etl.go.jp>
8185
52283633 8186 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8187
3d80f24d
KH
8188 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8189
52283633 8190 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8191
29ced61b
KH
8192 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8193
d7e00792
KH
81942000-05-22 Kenichi Handa <handa@etl.go.jp>
8195
c9d80d38
KH
8196 * keyboard.c (read_char): Allow character codes 128..255 to be
8197 handled by input-method-function.
8198
d7e00792
KH
8199 * insdel.c (adjust_markers_for_replace): Fix previous change.
8200 (adjust_after_replace): If PREV_TEXT is nil, call
8201 adjust_markers_for_insert, not adjust_markers_for_replace.
8202
087121cc 82032000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8204
087121cc
GM
8205 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8206 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8207 [HAVE_GRANDPT]: Define.
8208 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8209
8210 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8211 like SYSV_PTYS.
8212
8213 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8214
8215 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8216
c9671f81
KH
82172000-05-20 Kenichi Handa <handa@etl.go.jp>
8218
8219 The following changes are to handle 8-bit characters in a
8220 multibyte buffer/string without facing with byte combining
8221 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8222 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8223
8224 * Makefile.in (fns.o): Depend on charset.h.
8225
8226 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8227 convert it to unibyte.
8228 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8229
8230 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8231 apparent char boundary.
8232 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8233 0x80..0x9F to/from multibyte form.
8234
8235 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8236 to unibyte.
8237
8238 * callproc.c (Fcall_process): Always encode an argument string if
8239 it is multibyte. Setup src_multibyte and dst_multibyte members of
8240 process_coding properly.
ce75fd23 8241
c9671f81
KH
8242 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8243 SPLIT_NON_ASCII_CHAR.
8244
8245 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8246 as is.
8247 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8248
52283633 8249 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8250 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8251 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8252 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8253 and eight-bit-graphic.
8254 (char_to_string): Likewise. Signal an error for too large
8255 character code.
8256 (char_printable_p): Return 0 for 8-bit characters.
8257 (update_charset_table): Update iso_charset_table only when a final
8258 character is non-negative.
8259 (find_charset_in_text): Renamed from find_charset_in_str.
8260 Arguments and return value changed. Callers changed.
8261 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8262 be -1 if CHARSET is used only internally.
8263 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8264 eight-bit-graphic.
8265 (Fcharset_after): Simplified.
8266 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8267 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8268 (multibyte_chars_in_text): Simplified by assuming there's no
8269 invalid multibyte sequence.
52283633
SM
8270 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8271 (str_as_unibyte): New functions.
8272 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8273 (init_charset_once): Initialization for
8274 LEADING_CODE_8_BIT_CONTROL.
8275 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8276 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8277 eight-bit-control and eight-bit-graphic.
8278
52283633
SM
8279 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8280 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8281 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8282 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8283 (CHARSET_REVERSE_CHARSET): Likewise.
8284 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8285 eight-bit-graphic.
8286 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8287 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8288 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8289 encounter an invalid multibyte sequence.
8290 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8291 sequence is always valid.
8292 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8293 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8294 (CHAR_STRING): For 8-bit characters, call char_to_string.
8295 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8296 multibyte sequence is always valid.
8297 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8298 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8299 (str_as_unibyte): Extern them.
c9671f81 8300 (BCOPY_SHORT): Fix a bug.
52283633 8301 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8302 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8303 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8304 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8305
bd4bde7f 8306 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8307 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8308 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8309 (EMIT_BYTES): New macros.
8310 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8311 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8312 macros deleted.
8313 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8314 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8315 check the validity of multibyte sequence.
8316 (decode_coding_emacs_mule): New function.
8317 (encode_coding_emacs_mule): New macro.
8318 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8319 the source.
8320 (DECODE_ISO_CHARACTER): Just return a character code.
8321 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8322 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8323 EMIT_CHAR to produced decoded characters. Exit the loop only by
8324 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8325 block here.
8326 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8327 only position codes for an invalid character.
8328 (encode_designation_at_bol): Return new destination pointer. 5th
8329 arg DSTP is changed to DST.
8330 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8331 from the source by ONE_MORE_CHAR. Don't handle the case of last
8332 block here.
8333 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8334 macros deleted.
52283633
SM
8335 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8336 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8337 TWO_MORE_BYTES to fetch a byte from the source.
8338 (encode_eol): Pay attention to coding->src_multibyte.
8339 (detect_coding, detect_eol): Preserve members src_multibyte and
8340 dst_multibyte.
8341 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8342 (encoding_buffer_size): Set magnification to 3 for all coding
8343 systems that require encoding.
8344 (ccl_coding_driver): For decoding, be sure that the result is
8345 valid multibyte sequence.
8346 (decode_coding): Initialize coding->errors and coding->result.
8347 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8348 and raw-text, always call decode_eol. Handle the case of last
8349 block here. If not coding->dst_multibyte, convert the resulting
8350 sequence to unibyte.
8351 (encode_coding): Initialize coding->errors and coding->result.
8352 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8353 and raw-text, always call encode_eol. Handle the case of last
8354 block here.
8355 (shrink_decoding_region, shrink_encoding_region): Detect cases
8356 that we can't skip data more rigidly.
8357 (code_convert_region): Setup src_multibyte and dst_multibyte
8358 members of coding. For decoding, if the buffer is multibyte,
8359 convert the source sequence to unibyte in advance. For encoding,
8360 if the buffer is multibyte, convert the resulting sequence to
8361 multibyte afterward.
8362 (run_pre_post_conversion_on_str): New function.
8363 (code_convert_string): Deleted and divided into the following two.
8364 (decode_coding_string, encode_coding_string): New functions.
8365 (code_convert_string1, code_convert_string_norecord): Call one of
8366 above.
8367 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8368 MAKE_NON_ASCII_CHAR.
52283633
SM
8369 (Fset_terminal_coding_system_internal)
8370 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8371 and dst_multibyte members.
8372 (init_coding_once): Initialize iso_code_class with new enum
8373 ISO_control_0 and ISO_control_1.
8374
8375 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8376 devided into ISO_control_0 and ISO_control_1.
8377 (struct coding_system): New members src_multibyte, dst_multibyte,
8378 errors, and result. Delete member fake_multibyte.
8379 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8380 nonzero.
8381 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8382 nonzero.
8383
8384 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8385 (Faset): Likewise.
8386
8387 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8388 multibyte form.
8389 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8390 combining occurs.
8391 (Ftranspose_region): Delete codes for handling byte combining.
8392
8393 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8394 dst_multibyte members of coding. On handling REPLACE on unibyte
8395 buffer, convert the result of decode_coding to unibyte. On
8396 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8397 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8398 multibyteness of the source (buffer or string).
8399
8400 * fns.c (concat): Handle 8-bit characters correctly.
8401 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8402 unibyte in the result.
8403 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8404 valid multibyte form in the result.
8405 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8406 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8407 return -1, signal an error.
8408 (base64_encode_1): New arg MULTIBYTE. Get each character by
8409 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8410 character is found, return -1.
8411 (Fbase64_decode_region): Delete codes for handling byte-combining.
8412 Treat each decoded byte as a unibyte character.
8413 (Fbase64_decode_string): Return unibyte string.
8414 (Fcompare_strings, concat, string_byte_to_char): Use
8415 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8416 FETCH_STRING_CHAR_ADVANCE.
8417 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8418 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8419
8420 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8421 SPLIT_NON_ASCII_CHAR.
8422 (fontset_ref_via_base, fontset_set): Likewise
8423
8424 * insdel.c (adjust_markers_for_record_delete): Deleted.
8425 (adjust_markers_for_insert): Argument changed. Caller changed.
8426 (adjust_markers_for_replace): Likewise.
52283633
SM
8427 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8428 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8429 (copy_text): Delete unused local varialbe c_save. For converting
8430 to multibyte, be sure to make all 8-bit characters in valid
8431 multibyte form.
8432 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8433 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8434 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8435 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8436 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8437 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8438 handling byte combining.
8439 (adjust_before_replace): Deleted.
427ec082 8440
c9671f81
KH
8441 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8442 SPLIT_NON_ASCII_CHAR.
8443 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8444 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8445 (Fkey_description): Likewise.
8446
8447 * lread.c (read1): On reading multibyte string, be sure to make
8448 all 8-bit chararacters in valid multibyte form.
8449 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8450
8451 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8452 unconditionally.
8453
8454 * process.c (Fstart_process): GCPRO current_dir before calling
8455 Ffind_operation_coding_system. Encode arguments here.
8456 (create_process): Don't encode arguments here. Setup
8457 src_multibyte and dst_multibyte members of struct coding.
8458 (read_process_output): Setup src_multibyte and dst_multibyte
8459 members of struct coding. If the output is to multibyte buffer,
8460 always decode the output of the process. Adjust the
52283633 8461 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8462 (send_process): Setup coding->src_multibyte according to the
8463 multibyteness of the source.
8464
52283633 8465 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8466 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8467 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8468
52283633 8469 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8470
8471 * w16select.c (Fw16_set_clipboard_data): Setup members
8472 src_multibyte and dst_multibyte of coding. Adjusted for the
8473 change for find_charset_in_str.
8474 (Fw16_get_clipboard_data): Likewise.
8475
8476 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8477 dst_multibyte of coding.
8478 (x_to_w32_font): Likewise.
8479
8480 * w32select.c (Fw32_set_clipboard_data): Setup members
8481 src_multibyte and dst_multibyte of coding. Adjusted for the
8482 change for find_charset_in_str.
8483 (Fw32_get_clipboard_data): Likewise.
8484
8485 * xdisp.c (get_next_display_element): Handle 8-bit characters
8486 correctly.
52283633
SM
8487 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8488 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8489
8490 * xselect.c (selection_data_to_lisp_data): Setup members
8491 src_multibyte and dst_multibyte of coding. Adjusted for the
8492 change for find_charset_in_str.
8493 (lisp_data_to_selection_data): Likewise.
8494
5f64c9e0
GM
84952000-05-19 Gerd Moellmann <gerd@gnu.org>
8496
52283633 8497 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8498
5f64c9e0
GM
8499 * dispextern.h (Vimage_types): Add extern declaration.
8500
8501 * xdisp.c (Vimage_types): Moved here from xfns.c.
8502 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8503
8504 * xfns.c (Vimages_types): Moved to xdisp.c.
8505 (syms_of_xfns): Move `image-types' to xdisp.c.
8506
8507 * w32fns.c (Vimage_types): Removed.
8508 (syms_of_w32fns): Remove `image-types'.
8509
813086ea
KH
85102000-05-18 Kenichi Handa <handa@etl.go.jp>
8511
8512 * fns.c (map_char_table): Pay attention to character number of
8513 charset. Check the validity of charset at the first level. For
8514 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8515 the default value.
8516
8517 * fontset.c: Include "buffer.h".
8518 (fs_load_font): If the face has fontset, record the face ID in
8519 that fontset.
8520 (Finternal_char_font): New function.
8521 (accumulate_font_info): New function.
8522 (Ffontset_info): Rewritten for the new fontset implementation.
8523 (syms_of_fontset): Register Vdefault_fontset in the first element
8524 of Vfontset_table. Include Vdefault_fontset in
8525 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8526 function.
8527
bdaebbf0
DL
85282000-05-16 Dave Love <fx@gnu.org>
8529
8530 * m/iris5d.h: Deleted -- unused.
8531
cb613bb8
GM
85322000-05-16 Gerd Moellmann <gerd@gnu.org>
8533
b15f3b77
GM
8534 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8535 `invalid' instead of `illegal'.
8536
8537 * indent.c (Fmove_to_column): When ending within a tab, insert
8538 spaces first so that markers at the end of the tab get adjusted.
8539
835c1b36
GM
8540 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8541 buffer list that wasn't selected in that frame.
8542
cb613bb8
GM
8543 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8544 is needed on mescaline, use a 2 char prefix, and call
8545 make_temp_name with second arg non-zero.
8546
8547 * fileio.c (make_temp_name): New function, extracted from
8548 Fmake_temp_name.
8549 (Fmake_temp_name): Use it.
8550
f685bea9
EZ
85512000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8552
52283633 8553 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8554
a1b8d58b
GM
85552000-05-15 Gerd Moellmann <gerd@gnu.org>
8556
8557 * Makefile.in (lisp): Add env.elc.
8558
8559 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8560
a265079f
GM
85612000-05-12 Gerd Moellmann <gerd@gnu.org>
8562
8563 * search.c (Freplace_match): Handle case of `\N' in the
8564 replacement when there's no group N.
8565
da4496b6
GM
85662000-05-11 Gerd Moellmann <gerd@gnu.org>
8567
0ace421a
GM
8568 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8569 of the message to message_dolog.
8570
1172eb8d
GM
8571 * keyboard.c (read_char): Don't clear current message for help
8572 events; let the code handling help events handle this. Change
8573 code detecting help events that should be ignored.
8574
da4496b6
GM
8575 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8576 we're interating over a string.
8577
0623e40f
DL
85782000-05-09 Dave Love <fx@gnu.org>
8579
8580 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8581 that offset before writing. Move gcpro region past call of
8582 Ffile_regular_p.
8583
bae2503b
DL
85842000-05-04 Dave Love <fx@gnu.org>
8585
8586 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8587
ec82fb2f
GM
85882000-05-04 Gerd Moellmann <gerd@gnu.org>
8589
8590 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8591 of inserted characters when BUF equals the current buffer, and PT
8592 is in front of or equal to FROM.
8593
cbf18892
GM
85942000-05-03 Gerd Moellmann <gerd@gnu.org>
8595
4ff40dd0
GM
8596 * xdisp.c (handle_single_display_prop): If display property value
8597 is invalid, or something not supported on the frame, restore
8598 iterator's position to what it was initially. Make sure to return
8599 0 for invalid and unsupported property values.
8600
cbf18892
GM
8601 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8602 that x_per_char_metric returns null.
8603
1b0672c3
GM
86042000-05-02 Gerd Moellmann <gerd@gnu.org>
8605
576da55d
GM
8606 * xterm.h (struct face): Add forward declaration.
8607 (struct image): Ditto.
8608 (image_ascent): Add prototype.
8609
8610 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8611 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8612 image_ascent instead of using IMAGE_ASCENT.
8613
8614 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8615 (IMAGE_ASCENT): Removed.
8616
8617 * xfns.c (Qcenter): New variable.
8618 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8619 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8620 (image_ascent): New function.
8621 (lookup_image): Recognize `:ascent center'.
8622 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8623 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8624 (xbm_load): Don't set image's ascent here.
8625 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8626 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8627 check ascent values here.
8628 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8629 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8630 (syms_of_xfns): Initialize Qcenter.
8631
1b0672c3
GM
8632 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8633 to the limits, increase the limits.
8634
0d7811ed
KH
86352000-05-01 Kenichi Handa <handa@etl.go.jp>
8636
8637 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8638 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8639
a943a5ca
GM
86402000-04-28 Gerd Moellmann <gerd@gnu.org>
8641
8642 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8643 taller than the window.
8644
5dba1e29
KH
86452000-04-28 Kenichi Handa <handa@etl.go.jp>
8646
8647 * xfaces.c (realize_x_face): Fix the argument of the second
8648 xassert. BASE_FACE may not be a face for ASCII.
8649
353964e3
GM
86502000-04-27 Gerd Moellmann <gerd@gnu.org>
8651
c76e04a8
GM
8652 * print.c (print_object): Treat print-length < 0 as nil.
8653
8654 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8655
8656 * s/freebsd.h (TERMCAP_OBJ): Removed.
8657 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8658
8659 * lread.c (read1): Don't treat period followed by certain
8660 characters as symbol start.
8661
8662 * xfns.c (slurp_file): New function.
8663 (xbm_image_p): Handle case of in-memory XBM files.
8664 (xbm_scan): Rewritten to work on memory buffers instead of files.
8665 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8666 Work on memory buffers instead of files. If DATA is null test
8667 if buffer looks like an in-memory XBM file.
8668 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8669 memory buffers instead of files.
8670 (xbm_file_p): New function.
8671 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8672
353964e3
GM
8673 * lread.c (end_of_file_error): New function.
8674 (read1): Call it instead of signaling `end-of-file' directly.
8675
427ec082 8676 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8677 with Fprinc instead of Fprin1.
8678
24d744ac
KR
86792000-04-26 Ken Raeburn <raeburn@gnu.org>
8680
8681 * window.c (freeze_window_start): Check that minibuffer scroll
8682 window isn't nil before extracting the window structure pointer
8683 from it.
8684
8685 * undo.c (record_delete): If we hit the end of the undo list, stop
8686 picking elements apart.
8687
7464346d
GM
86882000-04-26 Gerd Moellmann <gerd@gnu.org>
8689
8690 * xdisp.c (display_line): If lines are continued, restore
8691 iterator's ascent/descent information to the values before the
8692 first glyph not fitting on the line.
8693
612839b6
GM
86942000-04-25 Gerd Moellmann <gerd@gnu.org>
8695
8696 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8697 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8698
8699 * dispnew.c (increment_matrix_positions): Renamed from
8700 increment_glyph_matrix_buffer_positions.
8701 (increment_row_positions): Renamed from
8702 increment_glyph_row_buffer_positions.
8703
8704 * dispextern.h: Change names of renamed functions from dispnew.c
8705 in prototypes.
8706
cc181e95
GM
87072000-04-24 Gerd Moellmann <gerd@gnu.org>
8708
abfcc168
GM
8709 * fileio.c (Fdo_auto_save): Create directories for auto-save
8710 list file if necessary.
8711
cc181e95
GM
8712 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8713 from buffer or frame.
8714 (automatic_hscrolling_p): New variable.
8715 (hscroll_windows): Scroll windows horizontally only if automatic
8716 hscrolling is allowed.
8717 (syms_of_xdisp): New variable `automatic-hscrolling'.
8718
8719 * frame.h (struct frame): Add member extra_line_spacing.
8720
8721 * xfns.c (x_set_line_spacing): New function.
8722 (Fx_create_frame): Set line spacing from resources.
8723 (Qline_spacing): New variable.
8724 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8725
cc181e95
GM
8726 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8727
8728 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8729 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8730 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8731 extra_line_spacing from default value.
8732 (init_buffer_once): Initialize default value of extra_line_spacing.
8733
8734 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8735 and extra3.
8736
8737 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8738 prompt_width. Add extra line spacing.
8739
8740 * term.c (produce_glyphs): Remove reference to struct it's
8741 prompt_width.
8742
8743 * dispextern.h (struct it): Remove member prompt_width, add
8744 extra_line_spacing.
8745
58827478
GM
87462000-04-22 Gerd Moellmann <gerd@gnu.org>
8747
8748 * dispnew.c (update_frame_line): When writing a whole line, make
8749 sure cursor is in the right row afterwards, otherwise a use of
8750 capability `ch' in cmgoto might leave the cursor in the row below.
8751
25a87f42
GM
87522000-04-21 Gerd Moellmann <gerd@gnu.org>
8753
8754 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8755
8756 * keyboard.c (timer_check): Fix typo in comment.
8757
54edf5c2
KH
87582000-04-21 Kenichi Handa <handa@etl.go.jp>
8759
8760 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8761 name change: ch -> character.
8762
3a64eef5
GM
87632000-04-20 Gerd Moellmann <gerd@gnu.org>
8764
8765 * keyboard.c (echo_message_buffer): New variable.
8766 (echo_now): Set echo_message_buffer to the echo area buffer used
8767 to display the echo.
8768 (cancel_echoing): Reset echo_message_buffer to nil.
8769 (read_char): Code rewritten that handles canceling an echo or
8770 echoing a dash, respectively.
8771
8772 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8773 directory doesn't exist.
8774
6142fdcb
DL
87752000-04-19 Dave Love <fx@gnu.org>
8776
8777 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8778 (concat): Don't allow numeric args.
8779 (Fconcat): Doc change.
6142fdcb 8780
ac6b5352
SM
87812000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8782
8783 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8784 instead define end_match(1|2) more carefully.
8785 Use GET_CHAR_BEFORE_2 for `begline'.
8786
cb9215e4
GM
87872000-04-19 Gerd Moellmann <gerd@gnu.org>
8788
5e3dac3f
GM
8789 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8790 on 64-bit systems where NULL is defined as `0'.
8791
8792 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8793 the `variable argument list' to make it work on Alpha.
8794
cb9215e4
GM
8795 * m/alpha.h (_LP64) [!_LP64]: Define.
8796 (ORDINARY_LINK): Define for NetBSD.
8797
8798 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8799
f532dca0
DL
88002000-04-19 Dave Love <fx@gnu.org>
8801
c750667e
DL
8802 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8803 change.
8804
8805 * Makefile.in (LIBS): Don't use.
8806 (GETLOADAVG_OBJ): Define again.
8807 (otherobj): Add GETLOADAVG_OBJ.
8808
f532dca0
DL
8809 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8810
1c7e22fd
GM
88112000-04-18 Gerd Moellmann <gerd@gnu.org>
8812
f6d3257b
GM
8813 * lread.c (read_filtered_event): Cancel and start busy cursor.
8814
427ec082 8815 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8816 that the per-character metrics may be null.
8817
e10f64e7
GM
88182000-04-17 Gerd Moellmann <gerd@gnu.org>
8819
0daee095
GM
8820 * buffer.c (clone_per_buffer_values): New function.
8821 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8822 clone_per_buffer_values if CLONE is not nil.
8823
e10f64e7
GM
8824 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8825
38687d43
DL
88262000-04-16 Dave Love <fx@gnu.org>
8827
8828 * Makefile.in: Remove obsolete localcpp stuff.
8829 (GETLOADAVG_OBJ): Don't define.
8830 (obj): Move LIBOBJS...
8831 (otherobj): ... to here.
8832 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8833 whitespace-only lines after the continuation (Irix).
8834
c21c7262
GM
88352000-04-14 Gerd Moellmann <gerd@gnu.org>
8836
8837 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8838
8839 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8840
314767c0
DL
88412000-04-14 Dave Love <fx@gnu.org>
8842
8843 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8844 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8845 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8846 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8847 NLIST_STRUCT.
8848
8849 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8850 autoconfiscated HAVE_GETLOADAVG.
8851
8852 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8853 BROKEN_MKTIME.
8854
a2522dca
GM
88552000-04-14 Gerd Moellmann <gerd@gnu.org>
8856
8857 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8858 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8859
33744b5d
DL
88602000-04-14 Dave Love <fx@gnu.org>
8861
c21c7262 8862 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8863 (INTERVAL_SRC): Convert to make variable.
8864 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8865 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8866 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8867 add LIBOBJS.
8868 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8869 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8870 (shortlisp): Add facemenu, float-sup, frame.
8871 (SOME_MACHINE_LISP): Remove them from here.
8872 (LIBES): Change unused LDLIBS to autoconf LIBS.
8873
8874 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8875
9d3d5916
KH
88762000-04-14 Kenichi Handa <handa@etl.go.jp>
8877
8878 * composite.c (update_compositions): If FROM and TO are not in a
8879 valid range, do nothing.
8880
198e3c7a
GM
88812000-04-13 Gerd Moellmann <gerd@gnu.org>
8882
52283633 8883 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8884
52283633 8885 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8886
8887 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8888 as TERMCAP_OBJ.
8889
055a28c9
EZ
88902000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8891
8892 * fileio.c (a_write): Remove redundant semi-colons.
8893 (e_write): Return -1 if failed to write all the data.
8894 This fixes the changes made at 1999-12-15.
8895
f5c75033
DL
88962000-04-12 Dave Love <fx@gnu.org>
8897
8898 * fns.c (mapcar1): Test for null vals to support mapc.
8899 (Fmapc): New function.
8900
0c3cfc51
EZ
89012000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8902
8903 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8904 (IT_frame_up_to_date): Support the buffer local value of
8905 cursor-type, if defined.
8906
33465a31
DL
89072000-04-10 Dave Love <fx@gnu.org>
8908
8909 * editfns.c (preceding-char, following-char): Doc fix.
8910
6ed56568
KR
89112000-04-10 Ken Raeburn <raeburn@gnu.org>
8912
8913 * Makefile.in (temacs): Revert 2000-03-12 change.
8914
7cf80d4e
JR
89152000-04-10 Jason Rumney <jasonr@gnu.org>
8916
8917 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8918
34f3f342
GM
89192000-04-10 Gerd Moellmann <gerd@gnu.org>
8920
1a1b1895
GM
8921 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8922 area buffer, if it's not set up yet.
8923
34f3f342
GM
8924 * indent.c (compute_motion): Set immediate_quit.
8925
be0dbdab
GM
89262000-04-09 Gerd Moellmann <gerd@gnu.org>
8927
52283633 8928 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8929 (realize_tty_face): Suppress boldness if colors are the inverse of
8930 the default colors, and tty_suppress_bold_inverse_default_colors_p
8931 is set.
8932 (Ftty_suppress_bold_inverse_default_colors): New function.
8933 (syms_of_xfaces): Defsubr it.
8934
be0dbdab
GM
8935 * buffer.c (Frestore_buffer_modified_p): New function.
8936 (syms_of_buffer): Defsubr it.
8937
e8413c3b
KR
89382000-04-08 Ken Raeburn <raeburn@gnu.org>
8939
87f67317
KR
8940 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8941 charset id (int) argument, not a charset (Lisp_Object).
8942
e8413c3b
KR
8943 * coding.h (code_convert_string): Declare.
8944 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8945 object, as the fourth argument to code_convert_string.
8946
52283633 8947 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8948 (Fset_fontset_font): Use EQ to compare lisp objects.
8949
7c752c80
KR
89502000-04-05 Ken Raeburn <raeburn@gnu.org>
8951
c0333abc
KR
8952 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8953 a pointer that looks like a lisp object.
8954 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8955 zero, instead see whether it's an integer object, since they can't
8956 have intervals.
8957 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8958
52283633
SM
8959 * dispnew.c (allocate_matrices_for_frame_redisplay)
8960 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
8961 to convert between (unsigned) int values and lisp integers.
8962 * keyboard.c (read_key_sequence): Likewise.
8963 * lread.c (substitute_object_recurse): Likewise.
8964 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
8965 * minibuf.c (do_completion, Fminibuffer_complete_word)
8966 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
8967 * term.c (produce_special_glyphs): Likewise.
8968
8969 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8970 * print.c (print_preprocess, print_object): Likewise.
8971
8972 * search.c (compile_pattern): Use NILP when checking for nil.
8973
74e49b38
KR
8974 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8975 __OPTIMIZE__]: Provide a GNU C macro version that handles
8976 lisp-object unions.
8977 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8978 field, to better cope with ENABLE_CHECKING and calls that modify a
8979 Lisp_Object using its old value.
8980
685e5ed2
GM
89812000-04-04 Gerd Moellmann <gerd@gnu.org>
8982
c407c570
GM
8983 * window.c (compare_window_configurations): Signal an error
8984 if parameters C1 or C2 aren't window configurations.
8985
685e5ed2
GM
8986 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8987 AFTER_POTENTIAL_GC calls around calls to functions that can
8988 signal an error and thus invoke the debugger.
8989
587a49ab
GM
89902000-04-03 Gerd Moellmann <gerd@gnu.org>
8991
62f20204
GM
8992 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8993 an error if decoding fails.
8994
587a49ab
GM
8995 * keyboard.c (lispy_mouse_names): Variable removed.
8996 (Vlispy_mouse_stem): New variable.
8997 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8998 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8999 for any mouse button number. Increase size of mouse_syms and
9000 button_down_location as needed. Call modify_event_symbol with
9001 different arguments.
9002 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9003 Call modify_event_symbol with different arguments.
9004 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9005 for any button number. Call modify_event_symbol with different
9006 arguments.
9007 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9008 Accept a string for NAME_ALIST_OR_STEM.
9009
9010 * lisp.h (larger_vector): Add prototype.
9011
9012 * fns.c (larger_vector): Make externally visible.
9013
9014 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9015
2d1675e4
SM
90162000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9017
9018 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9019 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9020 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9021 we are between str1 and str2.
9022 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9023 (PATFETCH): Use `TRANSLATE'.
9024 (PATFETCH_RAW): Fetch multibyte char if applicable.
9025 (PATUNFETCH): Remove.
9026 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9027 When writing a char, write it directly into the pattern buffer rather
9028 than going needlessly through a temp char-array.
9029 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9030 multibyte magic and remove the useless `#ifdef emacs'.
9031 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9032 buffer.
9033
9034 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9035 conditional on `emacs'.
9036
9037 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9038
cc2d8c6b
KR
90392000-04-01 Ken Raeburn <raeburn@gnu.org>
9040
9041 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9042 non-union-type versions of XMARK and friends here, because XMARK
9043 and friends won't work on an integer field if NO_UNION_TYPE is not
9044 defined.
52283633 9045 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9046
52283633 9047 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9048 (syms_of_composite): Delete local var NARGS, pass an int as first
9049 argument to Fmake_hash_table.
9050
2387b382
KR
9051 * editfns.c (text_property_stickiness): Use NILP to test
9052 Lisp_Object boolean value.
9053 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9054 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9055 problems reading from and changing the same lisp value in an
9056 XSETSTRING call.
9057
27660e89
GM
90582000-04-01 Gerd Moellmann <gerd@gnu.org>
9059
9060 * term.c (TN_no_color_video): New variable.
9061 (term_init): Intitialize TN_no_color_video.
9062 (enum no_color_bit): New enumeration.
9063 (MAY_USE_WITH_COLORS_P): New macro.
9064 (turn_on_face): Use it to determine if attributes may be used
9065 combined with colors.
9066
3578db3c
KR
90672000-04-01 Ken Raeburn <raeburn@gnu.org>
9068
9069 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9070 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9071 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9072 proper accessor macros.
9073 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9074 (grow_mini_window): Fix typo getting int value of root->height.
9075
6fc556fd
KR
9076 * xdisp.c (compute_string_pos): Fix order of arguments to
9077 string_pos_nchars_ahead.
9078 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9079 count arg to variable-arg routines like Frun_hook_with_args and
9080 Fformat.
587a49ab
GM
9081 (back_to_previous_visible_line_start)
9082 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9083 fixed-arg routines like Fget_char_property and Fmake_string.
9084 (reconsider_clip_changes): Use XINT when comparing integer lisp
9085 objects, or passing them as int arguments.
587a49ab
GM
9086 (mark_window_display_accurate, insert_left_trunc_glyphs)
9087 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9088 storing or passing integer values as lisp objects.
9089 (set_cursor_from_row, highlight_trailing_whitespace): Use
9090 INTEGERP, not implicit test against zero, for glyph object.
9091 (try_window_id): Don't use make_number when we want an int value.
9092
9093 * xfaces.c (xlfd_symbolic_value): Make last argument a
9094 Lisp_Object, to be consistent with callers.
9095 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9096 (lface_hash): Apply XFASTINT to lisp values before folding in.
9097
9098 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9099 fill in window width and height. Pass an int, not a lisp object,
9100 as first arg to Finsert.
9101
6e7b2457
GM
91022000-04-01 Gerd Moellmann <gerd@gnu.org>
9103
610d841e
GM
9104 * xfaces.c (realize_basic_faces): Block input while realizing
9105 the faces.
9106
6e7b2457
GM
9107 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9108
9109 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9110
aa110c0c
GM
91112000-03-31 Gerd Moellmann <gerd@gnu.org>
9112
9113 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9114 or ASCII, handle case that per-char metric is null.
aa110c0c 9115
8801a864
KR
91162000-03-30 Ken Raeburn <raeburn@gnu.org>
9117
c6129d7e
KR
9118 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9119
52283633
SM
9120 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9121 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9122 pointer, using eassert.
9123 * frame.h (XFRAME): Likewise.
9124
52283633
SM
9125 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9126 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9127 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9128 * data.c (set_internal): Likewise.
52283633
SM
9129 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9130 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9131 * fileio.c (auto_save_1): Likewise.
9132 * insdel.c (check_markers): Likewise.
9133 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9134 * undo.c (record_insert): Likewise.
9135 * vmsproc.c (child_sig): Likewise.
9136 * window.c (unshow_buffer, window_loop): Likewise.
9137 * xterm.c (x_erase_phys_cursor): Likewise.
9138
8e7af858
GM
91392000-03-30 Gerd Moellmann <gerd@gnu.org>
9140
9141 * xfns.c (free_image_cache): Free the cache structure itself
9142 last, after all its members have been freed.
9143
9144 * lisp.h (xstrdup): Add prototype.
9145
9146 * alloc.c (xstrdup): Moved here from xfaces.c.
9147 (allocating_for_lisp): Variable removed.
52283633 9148 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9149
9150 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9151 of Fsymbol_value.
9152 (xstrdup): Moved to alloc.c.
9153
e0b8c689
KR
91542000-03-29 Ken Raeburn <raeburn@gnu.org>
9155
b96f9fb7
KR
9156 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9157
9158 * emacs.c (main): Fix sense of no-loadup test.
9159
e0b8c689
KR
9160 * config.in (ENABLE_CHECKING): Undef.
9161
9162 * lisp.h (struct interval): Replace "parent" field with a union of
9163 interval pointer and Lisp_Object; add new bitfield to use as
9164 discriminant. Change other flag fields to bitfields.
9165 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9166 is defined and the supplied test fails, print a message and abort.
9167 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9168
9169 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9170 pointers; abort if the value looks like a lisp object.
52283633
SM
9171 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9172 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9173 Modify for new interval parent definition.
9174
52283633
SM
9175 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9176 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9177 addressable lisp object in the interval structure.
9178 (die): New function.
9179 (suppress_checking): New variable.
9180
9181 * intervals.c (interval_start_pos): Just return 0 if there's no
9182 parent object.
9183
f83c5440
GM
91842000-03-29 Gerd Moellmann <gerd@gnu.org>
9185
9186 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9187 and earlier Emacs versions.
9188
9189 * keyboard.c (Ftop_level): Cancel busy-cursor.
9190
9191 * eval.c (call_debugger): Cancel busy-cursor.
9192
fdce64ff
KH
91932000-03-29 Kenichi Handa <handa@etl.go.jp>
9194
9195 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9196 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9197
f6a3f532
SM
91982000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9199
9200 * regex.c (analyse_first): New function obtained by ripping out most
9201 of re_compile_fastmap and generalizing it a little bit so that it
9202 can also just return whether a given (sub)pattern can match the empty
9203 string or not.
9204 (regex_compile): Use `analyse_first' to decide whether the loop-check
9205 needs to be done or not for *, +, *? and +? (the loop check is costly
9206 for non-greedy repetition).
9207 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9208
e9b309ac
DL
92092000-03-28 Dave Love <fx@gnu.org>
9210
52283633 9211 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9212
e9b309ac
DL
9213 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9214
ed0767d8
SM
92152000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9216
9217 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9218 an expression.
9219 (enum re_opcode_t): Update description of succeed_n.
9220 (PATFETCH): Always define.
9221 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9222 operators, char classes, shy-groups and intervals).
9223 Optimize special cases of intervals so as to only use succeed_n and
9224 jump_n when really needed.
9225 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9226 that we don't have to handle the special cases any more.
9227 Simplify on_failure_jump handling as well.
9228
e11e7e46
JR
92292000-03-28 Jason Rumney <jasonr@gnu.org>
9230
9231 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9232
88faab89
GM
92332000-03-27 Gerd Moellmann <gerd@gnu.org>
9234
182ff242
GM
9235 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9236
9237 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9238
182ff242
GM
9239 * alloc.c (mark_maybe_object): New function.
9240 (mark_memory): Use it.
9241 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9242 (setjmp_tested_p, longjmp_done): New variables.
9243 (test_setjmp): New function.
9244 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9245 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9246
c1005d06
GM
9247 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9248 to DEC_TEXT_POS and INC_TEXT_POS.
9249
9250 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9251 with parameter MULTIBYTE_P.
9252
52283633 9253 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9254
7439e5b9 9255 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9256 buffers because it looks for multibyte character byte sequences
9257 which don't exist in unibyte text.
7439e5b9 9258
d9c545da
GM
9259 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9260
11fd416e 9261 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9262 [DEBUG_X_COLORS]: New functions.
9263 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9264
9265 * xfns.c (x_set_cursor_color): Get color reference counts right.
9266
9267 * xterm.c (x_copy_color): New function.
9268 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9269
9270 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9271 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9272 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9273 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9274 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9275 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9276 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9277 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9278 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9279 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9280
11fd416e
GM
9281 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9282 names for handling per-buffer variables.
d9c545da
GM
9283
9284 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9285 instead of MAX_BUFFER_LOCAL_VARS.
9286 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9287
9288 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9289
88faab89
GM
9290 * xfns.c (x_specified_cursor_type): New function.
9291 (x_set_cursor_type): Use it.
9292
9293 * buffer.h (struct buffer): Add cursor_type.
9294
d80f42b7
SM
92952000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9296
9297 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9298 (print_partial_compiled_pattern, re_compile_fastmap):
9299 Handle new opcode.
d80f42b7
SM
9300 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9301 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9302 executing it as well as when popping it off the stack to find infinite
9303 loops in non-greedy repetition operators.
9304
89e80928
GM
93052000-03-26 Gerd Moellmann <gerd@gnu.org>
9306
3d4ff2dd
GM
9307 * doc.c (Qfunction_documentation): New variable.
9308 (syms_of_doc): Initialize Qfunction_documentation.
9309 (Fdocumentation): If FUNCTION is a symbol with non-nil
9310 `function-documentation' property, return a documentation derived
9311 from that.
9312
bd96bd79
GM
9313 * buffer.c (syms_of_buffer): Add default-cursor-type.
9314 (init_buffer_once): Don't let cursor_type have a local value
9315 in every buffer.
9316
19d1bc27
GM
9317 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9318 on buffer-local value of cursor_type.
9319 (x_draw_bar_cursor): Add parameter WIDTH.
9320
9321 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9322 (init_buffer_once): Set default cursor_type value to t.
9323 Mark cursor_type as local everywhere.
9324 (syms_of_buffer): New per-buffer variable cursor-type.
9325
89e80928
GM
9326 * buffer.h (struct buffer): Remove member local_var_flags,
9327 add local_flags.
9328 (MAX_BUFFER_LOCAL_VARS): New macro.
9329 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9330 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9331 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9332 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9333
52283633 9334 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9335
9336 * category.c (Fset_category_table): Use new macros for per-buffer
9337 variables.
9338
9339 * buffer.c (buffer_permanent_local_flags): Make a char array.
9340 (max_buffer_local_idx): New variable.
9341 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9342 for new handling of per-buffer variables.
9343 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9344 (init_buffer_once): Initialize per-buffer vars differently.
9345 Set max_buffer_local_idx.
9346
9347 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9348 variables.
9349
52283633 9350 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9351
9352 * data.c (do_symval_forwarding, store_symval_forwarding)
9353 (find_symbol_value, set_internal, default_value, Fset_default)
9354 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9355 per-buffer variables.
9356
9357 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9358
9a0dd3dc
GM
93592000-03-24 Gerd Moellmann <gerd@gnu.org>
9360
b68c375f
GM
9361 * xterm.c (x_term_init): Unblock input around call1 of
9362 Qvendor_specific_keysyms.
9363
9a0dd3dc
GM
9364 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9365 (find_defun_start): Consider an open parenthesis in column 0
9366 a defun start only if open_paren_in_column_0_is_defun_start is set.
9367 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9368
7973e637
SM
93692000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9370
9371 * eval.c (Fautoload): Add entry in load-history (if after dump).
9372 * lread.c (load-history): Update docstring.
9373
39210e90
GM
93742000-03-24 Gerd Moellmann <gerd@gnu.org>
9375
9376 * indent.c (Fvertical_motion): Always use the current buffer.
9377 Temporarily change the window's buffer, if necessary.
9378
72db3ab5
GM
93792000-03-23 Gerd Moellmann <gerd@gnu.org>
9380
9381 * xterm.c (fast_find_position): Make sure not to consider rows
9382 not visible in the window.
9383
990b2375
SM
93842000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9385
9386 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9387 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9388
ff4df011
JR
93892000-03-22 Jason Rumney <jasonr@gnu.org>
9390
9391 * w32menu.c (single_submenu): Set help string to NULL if none.
9392 (w32_menu_show): Set help string correctly.
9393 (add-menu-item): Set help string in MIIM_DATA for menu item.
9394 Load SetMenuItemInfoA explicitly.
9395 (w32_menu_display_help): New function.
427ec082 9396
ff4df011
JR
9397 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9398 (QCdata): Moved to xdisp.c.
9399
9400 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9401 (Vw32_charset_to_codepage_alist): Removed.
9402 (Vw32_charset_info_alist): New variable.
52283633
SM
9403 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9404 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9405 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9406 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9407 with TODO comment.
9408 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9409 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9410 Define Vw32_charset_info_alist and w32_charset symbols.
9411
94122000-03-22 Jason Rumney <jasonr@gnu.org>
9413
9414 * makefile.nt (w32bdf.obj): Update dependencies.
9415
9416 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9417
9418 * w32fns.c: Include fontset.h after dispextern.h.
9419 (Fx_create_frame): Do not create fontset.
9420 (w32_load_system_font): Doc fix.
9421 (Fx_close_connection): Free full_name if it is not shared.
9422
9423 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9424 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9425 Callers updated.
ff4df011
JR
9426 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9427 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9428 (w32_font_is_double_byte): New function, needs body.
9429 (x_append_glyph): Set glyph->glyph_not_available_p.
9430 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9431 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9432 character, convert it to a unibyte character.
9433 (struct glyph_string): Delete member `charset'.
9434 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9435 calculating it is found.
9436 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9437 the case that per char metric is not available correctly.
9438 (x_fill_glyph_string): Handle the case that the specific glyph is
9439 not available correctly.
9440 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9441 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9442 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9443 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9444 fontset. Don't call FS_LOAD_FONT.
9445
439d5cb4
KR
94462000-03-22 Ken Raeburn <raeburn@gnu.org>
9447
9448 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9449 (INT_LISPLIKE): New macro.
9450 (NULL_INTERVAL_P): Use it.
52283633
SM
9451 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9452 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9453 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9454
9455 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9456 explicit references to "parent" field of struct interval and
9457 associated unclean type conversions.
52283633
SM
9458 * intervals.c (create_root_interval, root_interval, rotate_right)
9459 (rotate_left, balance_possible_root_interval, split_interval_right)
9460 (split_interval_left, interval_start_pos, find_interval)
9461 (next_interval, previous_interval, update_interval)
9462 (adjust_intervals_for_insertion, delete_node, delete_interval)
9463 (adjust_intervals_for_deletion, merge_interval_right)
9464 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9465 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9466 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9467 Likewise.
9468 * syntax.c (update_syntax_table): Likewise.
9469
9470 * intervals.c (reproduce_tree_obj): New function, like
9471 reproduce_tree but takes a Lisp_Object for the parent. Declare
9472 with prototype.
9473 (graft_intervals_into_buffer): Use it when appropriate.
9474 (reproduce_tree): Declare with prototype.
9475 (balance_possible_root_interval): Check that the parent is a lisp
9476 object before trying to examine its type.
9477
ee1c5b21
GM
94782000-03-22 Gerd Moellmann <gerd@gnu.org>
9479
9480 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9481 as strings only if both are known to be strings.
9482
9483 * s/openbsd.h (LIBS_TERMCAP): Undef.
9484
1fb352e0
SM
94852000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9486
9487 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9488 definitions for non-Emacs compilation.
9489 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9490 outside of `#ifdef emacs'.
9491 (print_partial_compiled_pattern): Update.
9492 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9493 (re_compile_fastmap): Merge handling of charset and charset_not (for
9494 emacs and non-emacs compilation as well).
9495 Similarly for (not)categoryspec and (not)syntaxspec.
9496 Don't use the fastmap when reaching `anychar' since the added
9497 complexity is not justified.
9498 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9499 and (not)syntaxspec. Merge (not)categoryspec.
9500
fdaa1f77
KH
95012000-03-22 Kenichi Handa <handa@etl.go.jp>
9502
52283633
SM
9503 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9504 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9505 --without-x.
fdaa1f77 9506
d152fb46
DL
95072000-03-21 Dave Love <fx@gnu.org>
9508
9509 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9510 doc string.
9511
d2cafc8c
GM
95122000-03-21 Gerd Moellmann <gerd@gnu.org>
9513
9514 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9515 (lface_fully_specified_p): Don't check contents of
9516 LFACE_FONT_INDEX because that attribute is optional.
9517 (realize_x_face): Remove now unwarranted xassert.
9518
9111d4b5
KH
95192000-03-21 Kenichi HANDA <handa@etl.go.jp>
9520
9521 The following changes are to make font selection based on
9522 characters, not charset. In addition, they recover fontset
9523 facilities while utilizing the new font selection mechanism.
9524
6c4bfdc0
KH
9525 * Makefile.in (fontset.o): Depend on dispextern.h.
9526
9527 * alloc.c (mark_face_cache): Don't mark face->registry.
9528
9111d4b5
KH
9529 * dispextern.h (struct glyph): New member glyph_not_available_p.
9530 Use 22 bits for face_id.
9531 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9532 (struct face): Delete member registry, new member ascii_face.
9533 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9534 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9535 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9536 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9537
9538 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9539 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9540 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9541 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9542 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9543 (fs_free_face_fontset, fontset_font_pattern)
9544 (face_suitable_for_char_p, face_for_char)
9545 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9546 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9547 (FS_LOAD_FACE_FONT): New macro.
9548
9549 * fontset.c: All codes rewritten or adjusted for the change of
9550 fontset implementation. Now fontset is represented by char table.
52283633
SM
9551 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9552 Variables removed.
9111d4b5 9553 (my_strcasecmp): Function removed.
52283633 9554 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9555 (AREF, ASIZE): New macros.
52283633
SM
9556 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9557 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9558 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9559 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9560 (fontset_id_valid_p, font_family_registry, fontset_name)
9561 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9562 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9563 New functions.
9564 (fs_load_font): New arg FACE. Caller changed.
9565 (fs_query_fontset): Argument changed. Caller changed.
9566 (Fquery_fontset): call fs_query_fontset.
9567 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9568 Functions removed.
52283633
SM
9569 (clear_fontset_elements, check_registry_encoding)
9570 (check_fontset_name): New functions.
9111d4b5
KH
9571 (syms_of_fontset): Set char-table-extra-slots property of fontset
9572 to 3. Staticpro and initialize Vfontset_table and
9573 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9574
9575 * frame.h (struct frame): Member `fontset_data' removed.
9576 (FRAME_FONTSET_DATA): Macro removed.
9577
9578 * frame.c (make_frame): Don't allocate f->fontset_data.
9579 (Fdelete_frame): Don't free f->fontset_data.
9580
6c4bfdc0
KH
9581 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9582
9111d4b5
KH
9583 * xdisp.c (charset_at_position): Function removed.
9584 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9585 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9586 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9587 Likewise.
9588 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9589 FACE_FOR_CHARSET.
52283633
SM
9590 (get_next_display_element, append_space)
9591 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9592
9593 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9594 Variables removed.
9595 (clear_font_table, frame_update_line_height, load_face_font):
9596 Adjusted for the change of fontset implementation.
9597 (load_face_fontset_font): Function removed.
9598 (pixel_point_size): New function.
9599 (font_list): Argument type changed. Caller changed.
9600 (LFACE_FONT): New macro.
9601 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9602 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9603 Lisp_Object. Determine the font name by actually loading a font
9604 by the specified pattern. Set LFACE_FONT (lface) to the specified
9605 pattern. Even if a font is not found, don't try alternatives.
9606 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9607 (set_font_frame_param): If `font' is specified in lface, use it.
9608 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9609 (lface_same_font_attributes_p): Likewise.
9610 (make_realized_face): Arguent changed. Caller changed. Set
9611 face->ascii_face to face itself.
9612 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9613 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9614 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9615 (free_realized_multibyte_face): New function.
9616 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9617 changed. Caller changed.
9618 (try_font_list): Argument type changed.
9619 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9620 (choose_face_font): Argument changed. Handle fontset properly.
9621 (choose_face_fontset_font): Function removed.
9622 (realize_default_face, realize_named_face): Don't remove the
9623 former face here.
9624 (realize_face): Argument changed. Caller changed. Remove face
52283633 9625 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9626 (realize_x_face): Argument changed. Caller changed. For a
9627 multibyte character, share fontset with base_face. For a single
52283633 9628 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9629 (realize_tty_face): Argument changed. Caller changed.
9630 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9631 (face_at_buffer_position): Don't check multibyte_p for returning
9632 DEFAULT_FACE_ID.
9633 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9634 FACE_SUITABLE_FOR_CHARSET_P.
9635 (syms_of_xfaces): Remove code for Qx_charset_registry and
9636 Vface_default_registry.
9637
6c4bfdc0
KH
9638 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9639 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9640 (x_per_char_metric): Don't try FONT->default_char. Even if
9641 pcm->width is zero, glyph bits may exist.
9642 (x_encode_char): Always initialize char2b->byte1.
9643 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9644 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9645 (x_append_glyph): Set glyph->glyph_not_available_p.
9646 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9647 it->charset. Handle the case that per char metric is not
9648 available. If it->multibyte_p is zero and it->c is a multibyte
9649 character, convert it to a unibyte character.
9650 (struct glyph_string): Delete member `charset'.
9651 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9652 the case that per char metric is not available correctly.
9653 (x_fill_glyph_string): Handle the case that the specific glyph is
9654 not available correctly.
9655 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9656 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9657 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9658 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9659 fontset. Don't call FS_LOAD_FONT.
9660
9661 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9662 (x_create_tip_frame): Likewise.
9663 (Fx_close_connection): Free full_name of font_info.
9664
9665 * fns.c (optimize_sub_char_table): New function.
9666 (Foptimize_char_table): New function.
9667 (syms_of_fns): Defsubr Soptimize_char_table.
9668
b33dd3b0
GM
96692000-03-20 Gerd Moellmann <gerd@gnu.org>
9670
9671 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9672 only if buffer is displayed in some window.
9673
9674 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9675 (try_window_reusing_current_matrix): Don't call scroll run
9676 function if run's current and desired position are the same;
9677 this prevents cursor flickering.
9678
4e8a9132
SM
96792000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9680
9681 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9682
9683 * regex.c (RE_STRING_CHAR): New macro.
9684 (GET_CHAR_AFER_2): Remove.
9685 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9686 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9687 (print_partial_compiled_pattern, re_compile_fastmap)
9688 (re_match_2_internal): Remove on_failure_jump_exclusive.
9689 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9690 optimization only need to work for * (ie. can use of_keep_string_jump).
9691 Remove the special case for .*\n since it is now covered by the general
9692 optimization.
9693 (re_search_2): Don't bother with `room'.
9694 (skip_one_char): New function.
9695 (skip_noops): Simplify since `memory' is not needed any more.
9696 (mutually_exclusive_p): Restructure slightly to use `switch' and
9697 add handling for "all" remaining cases.
9698 (re_match_2_internal): Change on_failure_jump_smart to use
9699 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9700 rather than on_failure_jump_exclusive.
9701
2136fdd4
GM
97022000-03-19 Gerd Moellmann <gerd@gnu.org>
9703
9704 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9705 number of bits per RGB because it's everywhere used as the depth
9706 of the visual.
9707
9708 * term.c (calculate_costs): Remove code dealing with X frames.
9709
18e21ce8 97102000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9711
9712 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9713
d7b511c4
GM
97142000-03-18 Gerd Moellmann <gerd@gnu.org>
9715
9716 * lread.c (read_integer): Unread the last char not consumed.
9717
16b5d424
GM
97182000-03-17 Gerd Moellmann <gerd@gnu.org>
9719
9720 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9721 which are in the process of being deleted.
16b5d424 9722
1fa28578
GM
97232000-03-16 Gerd Moellmann <gerd@gnu.org>
9724
83488cce
GM
9725 * Makefile.in (mostlyclean): Add `*.core'.
9726 (clean): Add `bootstrap-emacs'.
9727
1fa28578
GM
9728 * lread.c (read_integer): New function.
9729 (read1): Support read syntax #o, #x, #b, #r.
9730
99633e97
SM
97312000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9732
1fa28578
GM
9733 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9734 make sure POINTER_TO_OFFSET gives the same value before and after
9735 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9736 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9737 (debug): Now only active if > 0 rather than if != 0.
9738 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9739 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9740 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9741 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9742 (store_op1, store_op2, insert_op1, insert_op2)
9743 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9744 (group_in_compile_stack): Move to after its arg's types are
9745 declared and add a prototype.
99633e97 9746 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9747 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9748 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9749 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9750 indentation of the greedy-op and shy-group code.
99633e97
SM
9751 (at_(beg|end)line_loc_p): Fix argument's types.
9752 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9753 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9754 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9755 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9756 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9757 QUIT unconditionally.
99633e97 9758
699238d9
GM
97592000-03-15 Gerd Moellmann <gerd@gnu.org>
9760
9761 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9762 a sole completion.
9763
9764 * process.c (send_process): Add a hint that the function
9765 can call Lisp code to its comment.
9766
9767 * lread.c (load_dangerous_libraries): New variable.
9768 (Vbytecomp_version_regexp): New variable.
9769 (safe_to_load_p): New function.
9770 (Fload): Handle files not compiled with Emacs specially.
9771 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9772
34e23e5a
GM
97732000-03-14 Gerd Moellmann <gerd@gnu.org>
9774
9c763cca
GM
9775 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9776
9777 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9778 support functions only if HAVE_X11R6_XIM is defined.
9779 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9780
9781 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9782
9783 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9784 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9785 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9786
9787 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9788 (HAVE_X11R6_XIM): Define.
9789
9790 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9791
34e23e5a
GM
9792 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9793 If set, call XSynchronize.
9794
66f0296e
SM
97952000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9796
34e23e5a
GM
9797 * regex.c: Declare a new type `re_char' used throughout the code
9798 for the string char type. It's `const unsigned char' to match the
9799 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9800 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9801 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9802 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9803 code duplication.
66f0296e
SM
9804
9805 * charset.h (GET_CHAR_AFTER_2): Remove.
9806 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9807
854a025c
KR
98082000-03-12 Ken Raeburn <raeburn@gnu.org>
9809
9810 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9811 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9812 of them try to use backquotes.
9813
b9d2c7e2
DL
98142000-03-12 Dave Love <fx@gnu.org>
9815
9816 * unexelf.c: Restore changes of 1999-10-19.
9817 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9818 fix its type and alignment; copy it from current process.
9819
5e5dff44
GM
98202000-03-12 Gerd Moellmann <gerd@gnu.org>
9821
9b2f3c38
GM
9822 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9823 has been found. Fix bug not computing timer's predecessor.
9824
427ec082 9825 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9826 file name.
9827
e1cff360
GM
9828 * window.c (Fsave_window_excursion): Doc fix.
9829
52283633 9830 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9831
e411ce4b
EZ
98322000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9833
9834 * msdos.c (vga_installed): New function, code moved from
9835 dos_set_window_size.
9836 (Qbar, Qcursor_type, outside_cursor): New variables.
9837 (syms_of_msdos): Intern and staticpro them.
9838 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9839 shape used outside Emacs when called for the first time.
9840 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9841 cursor shape used outside Emacs.
9842 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9843 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9844 type has changed.
9845 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9846 parameters specify the cursor. Make qreverse a global
9847 variable (renamed to Qreverse).
9848
80460654
GM
98492000-03-09 Gerd Moellmann <gerd@gnu.org>
9850
9851 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9852
95cd4c40
SM
98532000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9854
9855 This is a big redesign of failure-stack and register handling, prompted
9856 by bugs revealed when trying to add shy-groups. Overall, what happened
9857 is that loops are now structured a little differently, groups can be
9858 shy and the code is a little simpler.
9859
9860 * regex.h: Update the copyright.
9861 (RE_SHY_GROUPS): New value.
9862 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9863 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9864
80460654
GM
9865 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9866 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9867 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9868 for (start|stop)_memory since they now only take one argument (the
9869 second has becomes unnecessary).
52283633 9870 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9871 (print_compiled_pattern): Use %ld to printf long ints and flush to
9872 make debugging a little easier.
95cd4c40
SM
9873 (union fail_stack_elt): Make the integer unsigned.
9874 (struct fail_stack_type): Add a `frame' element.
9875 (INIT_FAIL_STACK): Init `frame' as well.
9876 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9877 (DEBUG_PUSH, DEBUG_POP): Remove.
9878 (NUM_REG_ITEMS): Remove.
9879 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9880 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9881 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9882 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9883 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9884 New macros.
80460654
GM
9885 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9886 address pushed is not the destination of the jump but the source
9887 of it instead.
95cd4c40
SM
9888 (NUM_FAILURE_ITEMS): Remove.
9889 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9890 registers before the actual failure point). Don't hardcode any
9891 meaning for str==NULL anymore.
95cd4c40 9892 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9893 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9894 Remove.
95cd4c40
SM
9895 (REG_UNSET_VALUE): Use NULL (why not?).
9896 (compile_range): Remove declaration since it doesn't exist.
9897 (struct compile_stack_elt_t): Remove inner_group_offset.
9898 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9899 (regex_grow_registers): Remove dead code.
9900 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9901 (regex_compile): Add shy-groups Change loops to use
9902 on_failure_jump_smart&jump instead of
9903 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9904 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9905 variable to me). Use `jump' instead of `jump_past_alt' and don't
9906 bother with push_dummy_failure in alternatives since it is now
9907 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9908 emacs' for (re)allocating the stack.
9909 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9910 from loop when bufp->can_be_null rather than jumping to `done'.
9911 Avoid jumping backwards so as to ensure termination. Use
9912 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9913 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9914 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9915 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9916 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9917 (lowest_active_reg, highest_active_reg)
9918 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9919 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9920 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9921 variables. Push register (in `start_memory') on the stack rather
9922 than storing it in old_reg(start|end). Remove the cycle detection
9923 from `stop_memory', replaced by the use of on_failure_jump_loop
9924 for greedy loops. Add code for the new on_failure_jump_<foo>.
9925 Remove ad-hoc code in `on_failure_jump' to push more registers in
9926 the case of a loop. Take out code from `maybe_pop_jump' into
9927 separate functions and adapt it to the semantics of
9928 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9929 and push_dummy_failure. Remove dummy_failure handling and
9930 handling of `failures to jump to on_failure_jump' (this last one
9931 was already dead code, it seems).
9932 (group_match_null_string_p, alt_match_null_string_p)
9933 (common_op_match_null_string_p): Remove.
95cd4c40 9934
7397acc4
DL
99352000-03-08 Dave Love <fx@gnu.org>
9936
9937 * config.in: Don't depend on __STDC__ for volatile.
9938 Add POINTER_TYPE, PTR, PROTOTYPES.
9939
9940 * hftctl.c, strftime.c: Use PROTOTYPES.
9941 * eval.c (find_handler_clause): Likewise.
9942
9943 * mem-limits.h: Use POINTER_TYPE.
9944
9945 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9946 (memory_warnings): Declare using POINTER_TYPE.
9947
5e91ff9e
GM
99482000-03-08 Gerd Moellmann <gerd@gnu.org>
9949
feab4fba
GM
9950 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9951
52283633 9952 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9953
5e91ff9e
GM
9954 * xfns.c: Remove obsolete code in #if 0.
9955 (Fx_focus_frame): New function.
9956
a735b7e1
KH
99572000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9958
9959 * coding.c (coding_category_name): Add coding-category-utf-8,
9960 coding-category-utf-16-be, coding-category-utf-16-le.
9961 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9962 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9963 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9964 (detect_coding_utf_8): New function.
9965 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9966 UTF_16_LOW_SURROGATE_P): New macros.
9967 (detect_coding_utf_16): New function
9968 (detect_coding_mask): When priorities are specified, skip any
9969 categories that have `nil' coding-system. Fix bug of returning
9970 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9971 returns a mask not set in PRIORITIES.
9972 (detect_eol_type_in_2_octet_form): New function.
9973 (detect_eol): selects detect_eol_type_XXX to call according to
9974 cooding->category_idx.
9975 (detect_coding_system): Remove `nil' coding-system in the result.
9976 (Fupdate_coding_systems_internal): Update all coding-categories.
9977
52283633
SM
9978 * coding.h (CODING_CATEGORY_IDX_UTF_8)
9979 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
9980 New macros.
9981 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
9982 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9983 (CODING_CATEGORY_IDX_UTF_16_LE)
9984 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
9985 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
9986 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9987 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9988
9994cc69
GM
99892000-03-07 Gerd Moellmann <gerd@gnu.org>
9990
e9b4e5ff
GM
9991 * doc.c (Fdocumentation_property): If value is not a string,
9992 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9993
f7daf1e1
GM
9994 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9995 close the display with XtCloseDisplay. This caused a bus error
9996 on OpenWindows.
9997
9994cc69
GM
9998 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9999 complete but not unique.
10000
4336c705
GM
100012000-03-06 Gerd Moellmann <gerd@gnu.org>
10002
18bb0684
GM
10003 * process.c (send_process): Remove local variable `procname' that
10004 might become invalid when a GC happens. Instead, access the
10005 process name slot directly.
10006
4336c705
GM
10007 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10008 orig_height if set.
10009
10010 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10011 orig_height if set.
10012
515d0d0e
EZ
100132000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10014
10015 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10016 glyph matrices have been freed.
10017
100b3cbb
GM
100182000-03-05 Gerd Moellmann <gerd@gnu.org>
10019
50df5e5a 10020 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10021 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10022
10023 * xfns.c (QCdata): Moved to xdisp.c.
10024
10025 * xdisp.c (QCdata): Moved here from xfns.c.
10026 (syms_of_xdisp): Initialize QCdata.
10027
10028 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10029
10030 * window.c (coordinates_in_window): Use
10031 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10032 FRAME_INTERNAL_BORDER_WIDTH.
10033
100b3cbb 10034 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10035 it is obviously invalid.
100b3cbb
GM
10036
10037 * xterm.c (x_term_init): Create a colormap if not using the
10038 default visual.
10039
10040 * xterm.h (select_visual): Change prototype.
10041
10042 * xfns.c (select_visual): Rewritten. Recognize user-specified
10043 visual classes.
10044 (visual_classes): New variable.
10045
64d739c4
GM
100462000-03-04 Gerd Moellmann <gerd@gnu.org>
10047
10048 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10049 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10050 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10051 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10052 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10053 XtNcolormap resources.
10054 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10055 (Fx_create_frame): Initialize color members of x_output structure.
10056 (xpm_load): Pass colormap to XPM lib.
10057
10058 * xfaces.c (x_free_colors): Access colormap of frame using
10059 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10060 when default colormap is used.
10061
10062 * xterm.c (x_term_init): Set Colormap member of x_display_info
10063 structure. Copy colormap if resource `privateColormap' is
10064 specified (PseudoColor only).
10065 (x_setup_relief_color): Access colormap of frame using
10066 FRAME_X_COLORMAP.
10067
10068 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10069 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10070
c3cee013
JR
100712000-03-04 Jason Rumney <jasonr@gnu.org>
10072
10073 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10074 other non-platform-specific equivalents.
64d739c4 10075 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10076 specific functions and macros as their w32 equivalents where
10077 non-platform-specifics are not available.
10078 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10079 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10080 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10081 (frame_update_line_height): Use macros to access f->output_data.
10082 (defined_color): Remove FIXME comments; fixed.
10083 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10084 into #ifdef blocks. Add WINDOWSNT blocks.
10085 (Fx_list_fonts): Use macros for accessing font data.
10086 (set_lface_from_font_name): Different default fonts for X and
10087 WINDOWSNT.
10088 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10089 scalable for backward compatibility.
64d739c4 10090 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10091 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10092
64d739c4 10093 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10094 syms_of_w32faces.
10095
10096 * makefile.nt (w32faces.obj): Remove.
10097 (xfaces.obj): Add.
10098
807cc41c
JR
100992000-03-03 Jason Rumney <jasonr@gnu.org>
10100
10101 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10102 correct parameters.
10103
0007072a
KR
101042000-03-03 Ken Raeburn <raeburn@gnu.org>
10105
10106 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10107 standard ELF definitions here if the system header does not.
10108
71a6ba55
GM
101092000-03-03 Gerd Moellmann <gerd@gnu.org>
10110
10111 * xterm.c (PER_CHAR_METRIC): Removed.
10112 (x_per_char_metric_1, x_default_char): New functions.
10113 (x_per_char_metric): If font's default char is invalid, return
10114 metrics of a suitably chosen usable default char.
10115 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10116 char, replace occurrences of unprintable chars with a suitably
10117 chosen usable default char.
71a6ba55 10118
900fa1f1
GM
101192000-03-02 Gerd Moellmann <gerd@gnu.org>
10120
42f55fe0
GM
10121 * xterm.c (note_mouse_highlight): Return quickly if frame's
10122 glyph matrices have been freed.
10123
10124 * dispnew.c (free_glyphs): Block input while freeing matrices.
10125
900fa1f1
GM
10126 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10127
52283633
SM
10128 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10129 Use x_free_colors.
900fa1f1
GM
10130
10131 * dispextern.h (x_free_colors): Add prototype.
10132
10133 * xfaces.c (x_free_colors): New function.
10134 (unload_color, free_face_colors): Use it.
10135
2f950292
EZ
101362000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10137
10138 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10139
10140 * window.c [MSDOS]: Include msdos.h.
10141
54d04320
DL
101422000-03-02 Dave Love <fx@gnu.org>
10143
10144 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10145
10146 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10147 set C_OPTIMIZE_SWITCH for gcc.
10148
0ba93ac4
KH
101492000-03-02 Kenichi Handa <handa@etl.go.jp>
10150
10151 * coding.c (coding_save_composition): Be sure to allocate
10152 composition data area in coding even if there's no composition in
10153 the current run.
10154
a2bc11d4
JR
101552000-03-01 Jason Rumney <jasonr@gnu.org>
10156
10157 * w32term.c: Equivalent changes to those made to xterm.c on
10158 2000-02-25 and 2000-02-24.
10159
10160 * w32fns.c: Equivalent changes to those made to xfns.c on
10161 2000-02-25 and 2000-02-21.
10162
10163 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10164 correct line-end convention is followed.
10165
10166 * w32menu.c [HAVE_BOXES]: Remove #undef.
10167 (single_keymap_panes): Remove code for simulating checkmarks.
10168 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10169 Remove code for drawing simulated checkmarks.
10170 (w32_menu_show): make unibyte help string correctly.
10171 (add_menu_item): draw standard Windows checkmarks. Draw radio
10172 buttons as radio buttons if possible.
10173
72d19d75
GM
101742000-03-01 Gerd Moellmann <gerd@gnu.org>
10175
2df636f4
GM
10176 * sysdep.c (start_of_text): Don't define this function for NetBSD
10177 with ELF.
10178
427ec082 10179 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10180 Don't define.
10181 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10182 (LINKER): Don't undef if __NetBSD__ is defined.
10183
10184 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10185
10186 * fileio.c [__NetBSD__]: Define `unix'.
10187
72d19d75
GM
10188 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10189
ed4d0512
GM
101902000-02-29 Gerd Moellmann <gerd@gnu.org>
10191
50b1039f
GM
10192 * atimer.c (start_atimer): Don't abort when timers are stopped.
10193 (append_atimer_lists): New function.
10194 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10195 arbitrary lists of stopped and running atimers.
10196
ed4d0512
GM
10197 * atimer.c (cancel_atimer): Handle canceling an atimer when
10198 some timers are stopped.
10199
10200 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10201 after canceling it.
10202
10203 * fns.c (maybe_resize_hash_table): Handle case of new size
10204 coming out as being the same as old size.
10205
387023ee
JR
102062000-02-27 Jason Rumney <jasonr@gnu.org>
10207
10208 * makefile.nt: Add atimer.h to dependencies.
10209 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10210 * w32console.c: Only disable window system features for dispextern.h
10211 (initialize_w32_display): Build a display info for the console.
10212 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10213 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10214 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10215 as 2 button mice.
10216 * w32gui.h (struct W32FontStruct): Revert last change after change
10217 to xdisp.c.
10218 * w32menu.c (single_submenu): Set up help string.
10219 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10220 (w32_dialog_show): Set up help string.
10221 * w32term.c (w32_display_info_for_display): Remove unused function.
10222 (w32_draw_bitmap): Use pre-built bitmaps.
10223 (w32_initialize_display_info): New function to initialize parts of
10224 display info that are common to both GUI and console frames.
10225 (w32_term_init): Use w32_initialize_display_info. Do not set
10226 Vw32_num_mouse_buttons here, as it is not called for console
10227 frames. Build bitmaps for indicating truncated lines etc.
10228 (x_delete_display): Destroy pre-built bitmaps.
10229 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10230 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10231
4516715a
DL
102322000-02-27 Dave Love <fx@gnu.org>
10233
10234 * lisp.h: Add a bunch of prototypes.
10235
171ca836
KH
102362000-02-26 Kenichi Handa <handa@etl.go.jp>
10237
10238 * keyboard.c (read_char): Set `usec' correctly.
10239
4013921d
KH
102402000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10241
10242 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10243 `lambda', set reg[RRR] to the map index.
10244 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10245 reg[RRR] to 0. Otherwise, set it to -1.
10246
9244a058
GM
102472000-02-25 Gerd Moellmann <gerd@gnu.org>
10248
2df636f4 10249 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10250
18e21ce8 102512000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10252
f43d79c1
GM
10253 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10254 and contains a `:', prepend `/:'.
10255
10256 * window.c (select_window_1): If selected_window is nil,
10257 don't "swap out" the buffer's point.
10258 (Fset_window_configuration): Set selected_window to nil
10259 before calling Fselect_window.
10260 (unshow_buffer): Don't set point in buffer from window's point
10261 if another more recently selected window also shows the buffer.
10262
bed0c171
GM
102632000-02-25 Gerd Moellmann <gerd@gnu.org>
10264
449c3c52
GM
10265 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10266
f5b58615
GM
10267 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10268 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10269 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10270 New variables.
f5b58615
GM
10271 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10272 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10273 (hide_busy_cursor): New functions.
10274 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10275
10276 * minibuf.c (read_minibuf): Cancel busy-cursor.
10277
10278 * keyboard.c (command_loop_1): Call start_busy_cursor before
10279 Fcommand_execute and cancel_busy_cursor after it.
10280 (timer_check): Remove busy-cursor code.
10281 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10282 cursor timer.
10283
10284 * process.c (wait_reading_process_input): Remove busy-cursor code.
10285
10286 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10287 Fx_hide_busy_cursor.
10288
10289 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10290 Remove prototyoes.
10291 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10292
10293 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10294
10295 * xterm.c (XTread_socket): Remove busy-cursor code.
10296
4eb8436f
GM
10297 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10298 (build_frame_matrix_from_leaf_window): Put code handling
10299 glyph row's not being a slice of a frame row in #if 0.
10300 (sync_window_with_frame_matrix_rows): New function.
10301 (frame_row_to_window): New function.
10302 (mirror_line_dance): Handle copies between windows.
10303
3cb65b0e
GM
10304 * lread.c (Fload): Use `xfree' instead of `free'.
10305 (init_obarray): Use `xmalloc' instead of `malloc'.
10306
bed0c171
GM
10307 * window.c (Fset_window_buffer): Set WINDOW to the window
10308 after decoding.
2add4349
GM
10309 (coordinates_in_window): Take frame's internal border width
10310 into account.
bed0c171 10311
42088c12
GM
103122000-02-24 Gerd Moellmann <gerd@gnu.org>
10313
10314 * xterm.c (x_display_and_set_cursor): Display cursor of
10315 non-selected windows depending on the setting of
10316 cursor_in_non_selected_windows.
10317
10318 * xdisp.c (cursor_in_non_selected_windows): New variable.
10319 (syms_of_xdisp): DEFVAR_BOOL it.
10320
d1e103b2
GM
103212000-02-23 Gerd Moellmann <gerd@gnu.org>
10322
723e779c
GM
10323 * data.c (Fstring_to_number): If number is greater than what
10324 fits into an integer, return a float.
10325
d1e103b2
GM
10326 * eval.c (specbind): Remove references to
10327 keyword_symbols_constant_flag.
10328
10329 * data.c (keyword_symbols_constant_flag): Removed.
10330 (Fmakunbound, set_internal, syms_of_data): Remove references to
10331 keyword_symbols_constant_flag.
10332
10333 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10334
214f877f
KH
103352000-02-23 Kenichi Handa <handa@etl.go.jp>
10336
10337 * syntax.c (multibyte_syntax_as_symbol): New variable.
10338 (syms_of_syntax): Declare it as a Lisp variable.
10339 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10340 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10341 nonzero, treat all multibyte characters as symbol.
52283633 10342 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10343
130adcb7
EZ
103442000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10345
3cb65b0e 10346 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10347 a deleted frame.
130adcb7 10348
17cbbf95
GM
103492000-02-21 Gerd Moellmann <gerd@gnu.org>
10350
10351 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10352
10353 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10354 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10355
beb0bc36
DL
103562000-02-21 Dave Love <fx@gnu.org>
10357
10358 * frame.c (Vmouse_position_function): New variable.
10359 (Fmouse_position): Use it.
10360 (syms_of_frame): Install it.
10361
10362 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10363
1d92afcd
GM
103642000-02-20 Gerd Moellmann <gerd@gnu.org>
10365
10366 * fileio.c (Finsert_file_contents): Unbind the binding of
10367 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10368
10369 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10370 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10371 (specbind, unbind_to): Handle most common case of non-constant
10372 symbol with trivial value specially.
10373
10374 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10375
18e21ce8 103762000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10377
10378 * data.c (Fmake_variable_buffer_local): Doc fix.
10379 Init found_for_buffer to 0.
10380 (Fmake_variable_frame_local): If the variable has already
10381 been buffer-local, set the check_frame field.
10382
1d4311c3
EZ
103832000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10384
10385 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10386 produced for CODING_MODE_LAST_BLOCK requires.
10387
2dc95ddd
DL
103882000-02-18 Dave Love <fx@gnu.org>
10389
10390 * keyboard.c (echo_keystrokes): Remove declaration.
10391 (Vecho_keystrokes) New variable.
10392 (read_char, record_menu_key, read_key_sequence): Use it to allow
10393 use of float value.
10394 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10395
10396 * lread.c: Undef feature selection macros before defining.
10397
f0930f35
GM
103982000-02-18 Gerd Moellmann <gerd@gnu.org>
10399
10400 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10401 for symbols other than the symbol in question.
10402
e3d4de90
DL
104032000-02-17 Dave Love <fx@gnu.org>
10404
10405 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10406
0b378936
GM
104072000-02-17 Gerd Moellmann <gerd@gnu.org>
10408
d621caf7
GM
10409 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10410
0b378936
GM
10411 * alloc.c (enum mem_type): Compile unconditionally.
10412
3b451f74
EZ
104132000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10414
10415 * xfaces.c (tty_defined_color): Don't return faulire indication
10416 for unspecified-fg and unspecified-bg pseudo-colors.
10417
10689a01
GM
104182000-02-17 Gerd Moellmann <gerd@gnu.org>
10419
1216f5e4
GM
10420 * alloc.c (mark_object): Don't mark symbol names in pure space.
10421 (gc_sweep): Don't unmark symbol names in pure space.
10422
10423 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10424 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10425 [GC_MARK_STACK]: New defines.
427ec082 10426 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10427 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10428
10429 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10430
10431 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10432 allocate_buffer instead of xmalloc.
10433
10434 * alloc.c (toplevel): Include setjmp.h.
10435 (PURE_POINTER_P): New define.
10436 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10437 (Vdead) [GC_MARK_STACK]: New variable.
10438 (lisp_malloc): Add parameter TYPE, call mem_insert if
10439 GC_MARK_STACK is defined.
10440 (allocate_buffer): New function.
427ec082 10441 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10442 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10443 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10444 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10445 (MEM_NIL) [GC_MARK_STACK]: New define.
10446 (struct mem_node) [GC_MARK_STACK]: New structure.
10447 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10448 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10449 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10450 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10451 (mark_stack) [GC_MARK_STACK]: New functions.
10452 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10453 (clear_marks): Removed.
10454 (gc_sweep): Set free conses' car, free floats' type, free
10455 symbols' function to Vdead. Use lisp_free to free buffers.
10456 (init_alloc_once): Initialize Vdead.
10457 (survives_gc_p): Return non-zero for pure objects.
10458
10459 * alloc.c: Add comments throughout the file.
10460
2503c8b1
GM
10461 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10462 that unblocks alarms.
10463
8389e1e2
GM
10464 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10465 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10466 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10467
10689a01 10468 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10469
bfc17d18
KH
104702000-02-17 Kenichi Handa <handa@etl.go.jp>
10471
4a09dee0
KH
10472 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10473 avoid infinite error signaling. Allocate sufficient memory for
10474 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10475
2b927d02
SM
104762000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10477
10478 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10479 depends on the previous behavior.
10480
b49cb764
GM
104812000-02-16 Gerd Moellmann <gerd@gnu.org>
10482
10483 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10484
99e95407
GM
104852000-02-15 Gerd Moellmann <gerd@gnu.org>
10486
10487 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10488
10489 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10490 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10491 write(2).
10492
6ffd3cf7
RS
104932000-02-15 Richard M. Stallman <rms@gnu.org>
10494
10495 * data.c (set_internal): Don't make variable buffer-local
10496 if within a let-binding for the same buffer.
10497 (let_shadows_buffer_binding_p): New function.
10498
10499 * eval.c (specbind): For buffer-local value,
10500 record the current buffer also.
10501 (unbind_to): Cope with that change.
10502
cad53475
GM
105032000-02-15 Gerd Moellmann <gerd@gnu.org>
10504
10505 * window.c (Fsave_window_excursion): Doc fix.
10506
1aa963c8
SM
105072000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10508
10509 * syntax.c (back_comment): Make sure we only consider comment-starters
10510 of the relevant style and return -1 in case of a failure to find the
10511 beginning of the comment.
10512 (Fforward_comment): If back_comment fails, go back to the position just
10513 after the comment-end.
10514 (scan_lists): Add comment describing a very minor bug.
10515
b9b84fd3
SM
105162000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10517
10518 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10519 `completion-regexp-list' in the docstring.
10520
3a28db80
DL
105212000-02-14 Dave Love <fx@gnu.org>
10522
10523 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10524
fb4a568d
SM
105252000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10526
10527 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10528 to Emacs' syntax. Also fix the comment about set/not-set meanings
10529 since Emacs syntax is not the value 0 any more.
10530 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10531 since it's now part of RE_SYNTAX_EMACS.
10532
1063ebb5
DL
105332000-02-12 Dave Love <fx@gnu.org>
10534
52283633 10535 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10536
fb07a302
GM
105372000-02-12 Gerd Moellmann <gerd@gnu.org>
10538
10539 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10540
aaf2320c
DL
105412000-02-12 Dave Love <fx@gnu.org>
10542
10543 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10544
10545 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10546 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10547 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10548
10549 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10550
10551 * s/nextstep.h: Don't define HAVE_ALLOCA.
10552
10553 * config.in: Add vfork bits.
10554
eedf8bde
GM
105552000-02-12 Gerd Moellmann <gerd@gnu.org>
10556
10557 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10558 unwind function to undo the effect of stopping atimers.
10559
52283633 10560 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10561
10562 * atimer.c (stopped_atimers): New variable.
10563 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10564 New functions.
10565
10566 * atimer.h (stop_other_atimers, run_all_atimers)
10567 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10568
eedf8bde
GM
10569 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10570
8476c2f8
KR
105712000-02-11 Ken Raeburn <raeburn@gnu.org>
10572
10573 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10574 library may depend on jpeg.
10575 (atimer.o): Depends on atimer.c.
10576
0e85e4a3
KH
105772000-02-11 Kenichi Handa <handa@etl.go.jp>
10578
10579 * insdel.c (del_range_1): Call update_compositions.
10580 (del_range_both): Call update_compositions just once..
10581
97fa0cc8
DL
105822000-02-10 Dave Love <fx@gnu.org>
10583
10584 * xfns.c (create_frame_xic): Fix initialization of automatic
10585 aggregates for pcc.
10586
25566a3c
KH
105872000-02-09 Kenichi Handa <handa@etl.go.jp>
10588
10589 * ccl.c (CCL_MAKE_CHAR): New macro.
10590 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10591 registers by CCL_MAKE_CHAR before calling translate_char.
10592 <CCL_TranslateCharacterConstTbl> Likewise.
10593
69da54ba
DL
105942000-02-08 Dave Love <fx@gnu.org>
10595
10596 * lread.c (__EXTENSIONS__): Define.
10597
f7136ee8
GM
105982000-02-08 Gerd Moellmann <gerd@gnu.org>
10599
10600 * puresize.h (BASE_PURESIZE): Increase to 650000.
10601
7768790b
EZ
106022000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10603
10604 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10605 the help message.
10606
38fd211b
EZ
106072000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10608
10609 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10610 md, mh, mb, mr, and me to the fake termcap entry.
10611
66e4690f
KR
106122000-02-06 Ken Raeburn <raeburn@gnu.org>
10613
10614 * sound.c (sound_cleanup): Don't call device close routine if the
10615 function pointer is null.
10616
a75dfea0
AI
106172000-02-06 Andrew Innes <andrewi@gnu.org>
10618
10619 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10620 around image definitions and prototypes.
10621 (gamma_correct) [WINDOWSNT]: New prototype.
10622
10623 * w32term.c (x_make_frame_visible): Replace call to
10624 input_poll_signal with poll_for_input.
10625
10626 * window.c [WINDOWSNT]: Include w32term.h.
10627
10628 * xdisp.c [WINDOWSNT]: Include w32term.h.
10629
10630 * makefile.nt: Add dependencies on w32gui.h.
10631 (OBJ1): Include atimer.obj.
10632 ($(BLD)\atimer.obj): New dependency rule.
10633
10634 * w32.c (sigmask): New function (does nothing).
10635 (sigunblock): Ditto.
10636
10637 * frame.c [WINDOWSNT]: Include w32term.h.
10638
10639 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10640
10641 * lread.c (syms_of_lread): Fix literal newlines.
10642
10643 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10644 the string constant limit (2048 bytes) in MSVC.
10645 (main): Ditto.
10646
59ddecde
GM
106472000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10648
52283633 10649 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10650 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10651 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10652 dispatch the event.
10653
07590973
DL
106542000-02-04 Dave Love <fx@gnu.org>
10655
10656 * fileio.c: Remove some unused vars.
10657 (_GNU_SOURCE): Define (for euidaccess).
10658
10659 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10660
10661 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10662 gcpro1, gcpro2.
10663 (read_minibuf): Deal with allow_props correctly.
10664
649351f9
EZ
106652000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10666
10667 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10668
66e4690f 106692000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10670
10671 * search.c (compile_pattern): If a cache entry has a nil regexp,
10672 fill in that entry instead of clobbering a previously cached
10673 string regexp.
10674
66e4690f 106752000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10676
10677 * puresize.h (BASE_PURESIZE): Increase to 610000.
10678
d240a249
GM
106792000-02-02 Gerd Moellmann <gerd@gnu.org>
10680
10681 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10682 can GC.
10683
ca91fb26
KH
106842000-02-02 Kenichi Handa <handa@etl.go.jp>
10685
25660570
KH
10686 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10687 instead of incrementing ic directly.
10688 <CCL_WriteExprConst> Likewise.
10689 <ccl_set_expr>: Set ic to jump_address.
10690
ca91fb26
KH
10691 * fileio.c (e_write): Fix the handling of
10692 CODING_FINISH_INSUFFICIENT_SRC.
10693
2ede9689
DL
106942000-02-01 Dave Love <fx@gnu.org>
10695
10696 * editfns.c (Fpropertize): Doc fix.
10697
10698 * process.c (Fstart_process): Doc fix.
10699
10700 * eval.c: Fix various doc strings not to duplicate information
10701 from help-manyarg-func-alist.
10702
52283633 10703 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10704
10705 * doc.c (Vhelp_manyarg_func_alist): New variable.
10706 (Fdocumentation): Use it.
10707 (syms_of_doc): Define it.
10708
b6680a0e
GM
107092000-01-31 Gerd Moellmann <gerd@gnu.org>
10710
2cb750ba
GM
10711 * xterm.c (xim_open_dpy): Remove unused local variable.
10712
52283633 10713 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10714
10715 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10716 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10717
b6680a0e
GM
10718 * fns.c (sweep_weak_table): New function.
10719 (sweep_weak_hash_tables): Use it. Keep on marking until there
10720 is no more change.
10721
994c5afe
GM
107222000-01-30 Gerd Moellmann <gerd@gnu.org>
10723
10724 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10725 that XTread_socket does not crash by trying to call XNoOp on a
10726 closed display.
427ec082 10727
f00276e3
JR
107282000-01-30 Jason Rumney <jasonr@gnu.org>
10729
10730 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10731 Change selected_frame to SELECTED_FRAME ().
10732 (w32_console_mouse_position): Remove #ifndef MULE from around
10733 `insist' parameter.
10734
10735 * makefile.nt: Remove dosfns.obj.
10736
10737 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10738
10739 * w32fns.c (w32_defined_color): Check for valid frame before
10740 applying gamma correction. Eliminate dependency on frame elsewhere.
10741 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10742 (w32_to_x_font): Use resx and resy not height_in and width_in.
10743 (x_to_w32_font): Doc fix.
10744 (xlfd_strip_height): New function to strip and return font height.
10745 (w32_font_match): Compare height separately from rest of xlfd
10746 spec, using xlfd_strip_height.
10747
10748 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10749 width_in. Use w32_defined_color in place of defined_color.
10750
10751 * w32faces.c: Merge more of DOS and X specifics in preparation for
10752 merge with xfaces.c.
10753 (defined_color): Remove FIXME comment.
10754 (tty_color_name): Provide w32-specific function.
10755 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10756
10757 * w32console.c (turn_on_face, turn_off_face): Removed.
10758 (w32_face_attributes): New function.
10759 (Global_variables): Reduce scope where possible.
10760 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10761 fill attribute.
10762 (hl_mode): Don't modify text attributes.
10763 (write_glyphs): Don't do anything if len <= 0. Use
10764 w32_face_attributes to get attributes for drawing. Write
10765 terminating codes using char_attr_normal.
10766 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10767 (update_begin, update_end): Likewise.
10768 (vga_stdcolor_name): New function.
10769 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10770 (Fset_screen_color): Remove char_attr_reverse.
10771
b08e8bb2
GM
107722000-01-29 Gerd Moellmann <gerd@gnu.org>
10773
10774 * xfns.c (xic_set_preeditarea): Take window parameter and
10775 window-relative pixel-positions.
10776
10777 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10778 is its frame's selected window.
10779 (xim_instantiate_callback): Likewise.
10780
10781 * xfns.c (x_create_im): Removed.
10782 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10783 (supported_xim_styles): Renamed from supported_styles.
10784 (best_xim_style): Renamed from best_style.
10785 (create_frame_xic): Renamed from xic_create_frame.
10786 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10787
b08e8bb2
GM
107882000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10789
10790 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10791 our frames, call XFilterEvent with 2nd parameter `None'.
10792 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10793 returning XBufferOverflow.
52283633 10794 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10795 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10796 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10797 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10798 (xim_initialize, xim_close)
10799 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10800 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10801 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10802 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10803
10804 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10805 and `xim_styles'.
10806 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10807 `xic_style' and `xic_xfs'.
10808 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10809 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10810 (FRAME_XIM): Removed.
10811
10812 * xfns.c (supported_styles): New variable.
10813 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10814 (xic_create_xfontset, best_style, xic_create_frame)
10815 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10816 (xic_set_xfontset): New functions.
10817
142e109c
DL
108182000-01-28 Dave Love <fx@gnu.org>
10819
10820 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10821
10822 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10823
b02786f9
GM
108242000-01-28 Gerd Moellmann <gerd@gnu.org>
10825
d060bc9f
GM
10826 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10827 for *scratch* if it already existed.
10828
b02786f9
GM
10829 * emacs.c (USAGE): New macro.
10830 (main): Use it to display usage information.
10831
2c52d7e4
EZ
108322000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10833
10834 Support for the menu-help feature:
10835
52283633 10836 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10837
10838 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10839 part of the line to the termscript file.
10840 (IT_clear_to_end): Clear the entire line, not just its beginning.
10841 (menu_help_message, prev_menu_help_message): New variables.
10842 (IT_menu_make_room): Make room for the help_text member.
10843 (IT_menu_display): New argument disp_help; all callers changed.
10844 If disp_help is non-zero, store the help text of the active menu
10845 item in menu_help_message.
10846 (XMenuAddPane): Initialize the help_text member to NULL.
10847 (XMenuAddSelection): New argument help_text. Store it in the
10848 XMenu structure.
10849 (XMenuActivate): New argument help_callback. If the value of
10850 menu_help_message has changed since the last time, display the
10851 menu help message text while waiting for the mouse to move. Clear
10852 the echo area before exiting.
10853 (XMenuDestroy): Free the help_text member.
10854
ffe0bcd1
GM
108552000-01-27 Gerd Moellmann <gerd@gnu.org>
10856
10857 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10858 XMenuAddSelection. Pass help callback to XMenuActivate.
10859 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10860
50dbd23f
EZ
108612000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10862
10863 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10864 and EMACS_SET_USECS.
10865
f5941bf8
GM
108662000-01-26 Dave Love <fx@gnu.org>
10867
6c67ddee
DL
10868 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10869
f5941bf8
GM
10870 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10871 an error may be signalled.
10872
9e49c990
GM
108732000-01-26 Gerd Moellmann <gerd@gnu.org>
10874
fc3cb460
GM
10875 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10876 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10877
9e49c990
GM
10878 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10879
d0c037d8
GM
108802000-01-25 Gerd Moellmann <gerd@gnu.org>
10881
10882 * charset.c (Fstring): If there is a multibyte char among
10883 the args, always return a multibyte string.
10884
e12489f9
GM
108852000-01-25 Gerd Moellmann <gerd@gnu.org>
10886
10887 * sysdep.c (sys_select): Turn atimers off and on instead of
10888 recording and restoring old alarm handler
10889
10890 * process.c (toplevel): Include atimer.h.
10891 (create_process_1): Rewritten.
10892 (create_process): Use atimers instead of alarm.
10893 (wait_reading_process_input) [hpux]: Turn atimers off instead
10894 of turning off SIGALRM.
10895 (wait_reading_process_input): Turn off atimers instead off
10896 calling stop_polling.
10897
10898 * emacs.c (main): Call init_atimer.
10899
10900 * keyboard.c (toplevel): Include systime.h and atimer.h.
10901 (polling_for_input): Removed because unused.
10902 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10903 (poll_timer): New variable.
10904 (poll_for_input, poll_for_input_1): New functions.
10905 (start_polling, stop_polling): Rewritten.
10906
10907 * keyboard.h (polling_for_input): Removed.
427ec082 10908
e12489f9
GM
10909 * atimer.h, atimer.c: New files.
10910
10911 * Makefile.in (obj): Add atimer.o.
10912 (atimer.o): New target.
10913
10914 * blockinput.h (pending_atimers): Add extern declaration.
10915 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10916
10917 * lisp.h (popup_activated_flag): Add extern declaration.
10918
10919 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10920 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10921 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10922
10923 * xterm.c (toplevel): Include atimer.h.
10924 (toolkit_scroll_bar_interaction): New variable.
10925 (Fxt_process_timeouts): Removed.
10926 (x_process_timeouts): New function.
10927 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10928 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10929 (x_make_frame_visible): Call poll_for_input_1 instead of
10930 input_poll_signal. Don't call alarm.
10931 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10932
1e5279b9
DL
109332000-01-24 Dave Love <fx@gnu.org>
10934
6c67ddee 10935 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10936 Don't use -cckr -- apparently not now necessary.
10937
edf6aeb8
EZ
109382000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10939
10940 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10941 screen boundary.
10942
9badad41
JR
109432000-01-23 Jason Rumney <jasonr@gnu.org>
10944
10945 * w32fns.c (w32_defined_color): Apply gamma correction before
10946 trying to map to the palette.
10947 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10948 to w32_clear_rect.
10949
10950 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10951 here. Callers changed to always pass real device context.
10952 (w32_draw_bitmap): Likewise.
10953 (w32_get_glyph_overhangs): Likewise.
52283633 10954 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10955 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10956 pfnSetScrollInfo and SetScrollRange.
10957 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10958 back into MULE characters after decoding them.
10959 (x_get_glyph_face_and_encoding): Likewise.
10960 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10961 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10962 (x_produce_glyphs): Calculate per char metrics for a character
10963 that we know exists in default font when font_not_found_p is true.
10964
63bd786b
JR
109652000-01-22 Jason Rumney <jasonr@gnu.org>
10966
10967 * makefile.nt (intervals.obj, composite.obj): New modules.
10968 (composite.h): Added as dependency where appropriate.
10969
10970 * w32gui.h (XGCValue): New struct for emulating X GCs.
10971
10972 * w32term.h (XCharStruct): New struct for emulating X.
10973
10974 * w32console.c (turn_on_face, turn_off_face): New functions.
10975 (change_line_highlight): New prototype for new redisplay.
10976 (write_glyphs): Support multibyte text. Support faces.
10977
52283633 10978 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
10979
10980 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10981 throughout. struct frame * in place of FRAME_PTR.
10982 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 10983 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
10984 (w32_get_arg): Renamed from x_get_arg.
10985 (Fx_file_dialog): New function.
10986 (w32_list_fonts): Check cache before asking system.
10987 (Vw32_enable_synthesized_fonts): New variable.
10988 (Vw32_enable_italics): Obsolete, removed.
10989
10990 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10991 Use SELECTED_FRAME macro.
10992
10993 * w32menu.c: Add skeleton support for help strings on menus.
10994 (add_menu_item): Native checkbox and radio support added, but not
10995 yet enabled due to bugs.
10996 (push_menu_item): Add parameters type, selection and help.
10997 Callers updated.
10998 Formatting changes to reduce unnecessary diffs with xmenu.c.
10999
11000 * w32select.c (Fw32_set_clipboard_data): Update call to
11001 find_charset_in_str.
11002
11003 * w32term.c: Complete rewrite for new redisplay based on new
11004 xterm.c with necessary sections merged back in from old w32term.c.
11005
6ffd3cf7 110062000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11007
11008 * data.c (set_internal): Further fix in same criterion.
11009
6ffd3cf7 110102000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11011
11012 * data.c (set_internal): Fix the criteria for whether
11013 to swap out the old cached binding.
11014
60af03f1
DL
110152000-01-19 Dave Love <fx@gnu.org>
11016
11017 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11018
f9be074f
KH
110192000-01-18 Kenichi Handa <handa@etl.go.jp>
11020
11021 * regex.c (re_compile_fastmap): While checking a range table for
11022 `charset', skip flag bits for a character class correctly.
11023
52b8dbf9
GM
110242000-01-17 Gerd Moellmann <gerd@gnu.org>
11025
d36100c9
GM
11026 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11027
52283633 11028 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11029
11030 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11031 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11032
11033 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11034 MENU_ITEMS_ITEM_.*.
11035 (MENU_ITEMS_ITEM_HELP): New enumerator.
11036 (push_menu_item): Add parameter HELP. Record help in menu_items.
11037 (single_menu_item, single_submenu, list_of_items): Call
11038 push_menu_item with new parameter.
11039 (single_submenu): Set help string in widget value.
11040 (menu_highlight_callback): New function.
11041 (set_frame_menubar): Call lw_create_widget with new
11042 parameter list.
11043 (xmenu_show, xdialog_show): Ditto.
11044
3139018f
GM
110452000-01-13 Gerd Moellmann <gerd@gnu.org>
11046
11047 * sound.c (Fplay_sound): Improve doc string.
11048
83c8f461
RS
110492000-01-11 Richard M. Stallman <rms@gnu.org>
11050
11051 * lisp.h (set_internal): Enter the new arg.
11052
11053 * eval.c (specbind): Record buffer-local variables specially,
11054 indicating which buffer's binding was saved.
11055 (unbind_to): Restore buffer-local variables specially
11056 in the proper buffer.
11057
11058 * data.c (set_internal): New arg BUF.
427ec082 11059
83c8f461
RS
11060 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11061 * data.c (Fset): Pass new arg to set_internal.
11062 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11063
1fab1775
GM
110642000-01-11 Gerd Moellmann <gerd@gnu.org>
11065
52283633 11066 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11067
83c8f461 110682000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11069
11070 * minibuf.c (Ftry_completion): Doc fix.
11071
7a85e4df
GM
110722000-01-11 Gerd Moellmann <gerd@gnu.org>
11073
11074 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11075 vector, too.
11076
a970dae4
AS
110772000-01-11 Andreas Schwab <schwab@suse.de>
11078
11079 * coding.c (code_convert_region): Initialize total_skip.
11080
c65d14ee
DL
110812000-01-08 Dave Love <fx@gnu.org>
11082
11083 * eval.c (Fuser_variable_p): Check customizability too.
11084
834938d2
GM
110852000-01-07 Gerd Moellmann <gerd@gnu.org>
11086
11087 * minibuf.c (Fcompleting_read): Doc fix.
11088
e0303cd6
GM
110892000-01-05 Gerd Moellmann <gerd@gnu.org>
11090
8a26744b
GM
11091 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11092 -L /usr/local/lib.
11093
e0303cd6
GM
11094 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11095 Check that input style is supported before trying to create an
11096 IC for it.
11097 (x_window): Call x_create_im.
427ec082 11098
2e471eb5
GM
110992000-01-04 Gerd Moellmann <gerd@gnu.org>
11100
560a7bd2
GM
11101 * xfns.c (current_gif_memory_src): New variable.
11102 (gif_load): Record the address of the current memory source
11103 in current_gif_memory_src.
11104 (gif_read_from_memory): Use current_gif_memory_src.
11105
f9ee84a3
GM
11106 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11107 macros statement form.
11108
d1299cde
GM
11109 * sound.c (struct sound): Renamed from struct sound_file.
11110 (struct sound): Add members `data' and `header_size'.
11111 (enum sound_attr): Add SOUND_DATA.
11112 (current_sound, current_sound_device): Variables renamed from
11113 sound_file and sound_device.
11114 (parse_sound): Parse :data.
11115 (parse_sound): Handle sound data in strings.
11116 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11117 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11118 needed header size.
11119 (wav_play, au_play): Play sounds from string data.
11120
2e471eb5
GM
11121 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11122
11123 * lisp.h: Add prototype for allocate_string_data.
11124
52283633 11125 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11126
11127 * alloc.c (mark_buffer): Remove code in #if 0.
11128 (gc_sweep): Ditto.
11129 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11130 (strings_consed): New variable.
11131 (allocate_string): Set it.
11132 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11133 (Fmemory_use_counts): Return strings_consed. Use Flist.
11134
11135 * alloc.c: General cleanup in comments etc. Remove conditional
11136 compilation for `standalone'.
11137
11138 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11139
11140 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11141 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11142 (DONT_COPY_FLAG): Removed.
11143 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11144 (struct sdata, struct sblock): New
11145 (struct string_block): Rewritten.
11146 (STRINGS_IN_STRING_BLOCK): New macro.
11147 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11148 (large_sblocks, string_blocks, string_free_list): New variables.
11149 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11150 (init_strings): Rewritten.
11151 (allocate_string, allocate_string_data, compact_small_strings)
11152 (free_large_strings, sweep_strings): New functions.
11153 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11154 (struct string_block_head, current_string_block)
11155 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11156 (STRING_PAD): Removed.
11157 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11158 (Fgarbage_collect): Don't set mark bit in large strings.
11159 (mark_object): Mark strings differently. Mark symbol names
11160 differently.
11161 (survives_gc_p): Test marked strings differently.
427ec082 11162 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11163 symbol names.
11164 (compact_strings): Removed.
11165
42608ba8
EZ
111662000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11167
11168 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11169 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11170
e0a09e1a
KH
111712000-01-04 Kenichi Handa <handa@etl.go.jp>
11172
dd9f0750 11173 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11174 in a non-empty buffer.
dd9f0750 11175
3c0f3b15 11176 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11177
44cd3ae5
GM
111782000-01-03 Gerd Moellmann <gerd@gnu.org>
11179
11180 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11181 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11182
11183 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11184
c182a70f
EZ
111852000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11186
11187 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11188 need to test for MSDOS frames.
11189
24480d5b
EZ
111902000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11191
11192 * dosfns.c (unspecified_colors): Remove.
11193 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11194 unspecified_bg.
11195 (msdos_stdcolor_name): Return strings for unspecified fore- and
11196 back-ground colors.
11197
11198 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11199 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11200 (tty_color_name): Return Lisp strings for unspecified fore- and
11201 back-ground colors.
11202 (Finternal_set_lisp_face_attribute): Remove the special treatment
11203 for Qunspecified_{f,b}g.
52283633 11204 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11205
047f434a
GM
112062000-01-03 Gerd Moellmann <gerd@gnu.org>
11207
11208 * xdisp.c (reseat_at_next_visible_line_start): Position before
11209 newline only if ending up on a newline.
11210 (next_element_from_ellipsis): Return success. Handle case of
52283633 11211 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11212 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11213 returns 0.
11214
d684c676
EZ
112152000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11216
11217 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11218 (Fcolor_supported_p): Renamed from face-color-supported-p.
11219
5fe1d139
EZ
112202000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11221
11222 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11223 list of colors renamed to tty-defined-color-alist.
11224 (tty_color_name): Pass the frame to tty-color-by-index.
11225 (realize_tty_face): tty-color-alist is now a function which
11226 accepts the frame as argument.
11227
52283633 11228 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11229
816be8b8
EZ
112302000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11231
11232 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11233 encode_terminal_code.
11234
b635321e
EZ
112352000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11236
11237 * dispnew.c (mode_line_string): Support termcap frames as well.
11238
9b784e96
GM
112392000-01-01 Gerd Moellmann <gerd@gnu.org>
11240
27189709
GM
11241 * syntax.c (Fforward_word): Undo previous change.
11242
11243 * editfns.c (Fconstrain_to_field): Don't constrain if
11244 inhibit-field-text-motion is non-nil.
11245 (Fline_beginning_position): Undo previous change.
11246 (Fline_end_position): Ditto.
11247
11248 * syntax.c (Fforward_word): Notice field boundaries only if
11249 inhibit-field-text-motion is nil.
11250
11251 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11252
11253 * editfns.c (Vinhibit_field_text_motion): New variable.
11254 (inhibit-field-text-motion): New DEFVAR_LISP.
11255 (Fline_beginning_position, Fline_end_position): Notice field
11256 boundaries only if inhibit-field-text-motion is nil.
11257
45158a91
GM
11258 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11259 All calls adjusted.
11260 (x_build_heuristic_mask): Likewise.
11261 (xbm_load_image_from_file): Change error output.
11262 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11263 (gif_load, gs_load, x_kill_gs_process): Ditto.
11264
9b784e96
GM
11265 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11266 color indices when accessing raster pixels.
63cec32f
GM
11267 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11268 one of :file or :data.
11269 (enum pbm_keyword_index): Add PBM_DATA.
11270 (pbm_format): Add :data.
11271 (pbm_image_p): Allow either :file or :data.
11272 (pbm_read_file): New function.
11273 (pbm_scan_number): Rewritten to read from string.
11274 (pbm_load): Support :data.
9b784e96 11275
2cb085db 11276See ChangeLog.8 for earlier changes.
6922b018
KH
11277
11278;; Local Variables:
49b3bd82 11279;; coding: iso-2022-7bit
6922b018 11280;; End: