*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
c95fc5f1
GM
12001-04-30 Gerd Moellmann <gerd@gnu.org>
2
a9793e45
GM
3 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
4 read-only text that is so because of text properties.
5
c95fc5f1
GM
6 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
7 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
8 windows that are components of a Lucid menu bar.
9
5a5d9185
GM
102001-04-27 Gerd Moellmann <gerd@gnu.org>
11
12 * term.c (turn_on_face): Fix reverse video handling on terminals
13 that don't support colors.
14
ba973f7a
GM
152001-04-26 Gerd Moellmann <gerd@gnu.org>
16
17 * editfns.c (save_excursion_restore): Don't use XBUFFER on
18 a non-buffer.
19
8c56a983
GM
202001-04-25 Gerd Moellmann <gerd@gnu.org>
21
a728644c
GM
22 * term.c (toggle_highlight): New function.
23 (turn_on_face): Change handling of reverse video.
24
c88164fe
GM
25 * process.c (wait_reading_process_input): Call
26 record_asynch_buffer_change only if a timer really changed
27 buffers.
28
bfd8410f
GM
29 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
30 of the number of overlays to check.
31
be2488ca
GM
32 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
33
8c56a983
GM
34 * xdisp.c (try_window_id): Fix a case where window_end_pos
35 and window_end_bytepos were not adjusted.
36
522d42f7
GM
372001-04-23 Gerd Moellmann <gerd@gnu.org>
38
39 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
40 zero instead of -1.
41
78c1afb6
EZ
422001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
43
44 * process.c (wait_reading_process_input) [!subprocesses]: Don't
45 reference waiting_for_user_input_p, it's not defined in the branch
46 without async subprocesses support.
47
a2fab450
GM
482001-04-19 Gerd Moellmann <gerd@gnu.org>
49
a122a38e
GM
50 * keyboard.c (delete_kboard): Prevent a dangling reference
51 from current_kboard to KB, which is freed.
52
a2fab450
GM
53 * process.c (wait_reading_process_input): Call
54 record_asynch_buffer_change after running timers, to make
55 read_key_sequence aware of buffer changes from under it.
56
0f8d6dc7
GM
572001-04-18 Gerd Moellmann <gerd@gnu.org>
58
eeffb293
GM
59 * xfaces.c (Qscalable_fonts_allowed): New variable.
60 (realizing_basic_faces_p): Removed.
61 (x_face_list_fonts): Special handling for realizing_basic_faces_p
62 removed.
63 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
64 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
65 default for scalable-fonts-allowed to t.
66
0f8d6dc7
GM
67 * fileio.c (Finsert_file_contents): If the file size returned from
68 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
69 read from files on a procfs whose contents are generated
70 dynamically.
71
eec2d1de
EZ
722001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
73
74 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
75 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
76 (__memalign_hook): Make the two prototypes consistent.
77
f4f480bd
GM
782001-04-17 Gerd Moellmann <gerd@gnu.org>
79
80 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
81 matrix of mini-windows.
82
52283633
SM
832001-04-12 Stefan Monnier <monnier@cs.yale.edu>
84
85 * intervals.c (find_interval): Don't rebalance during signal handling.
86
ec2423c9
GM
872001-04-11 Gerd Moellmann <gerd@gnu.org>
88
30cb0001 89 * fns.c: Include blockinput.h.
52283633 90
ec2423c9
GM
91 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
92
719d83ad
GM
932001-04-10 Gerd Moellmann <gerd@gnu.org>
94
60f8d735
GM
95 * fns.c (Fcompare_strings): Fix return values.
96
afffeb57
GM
97 * window.c (window_scroll): Change the meaning of N to mean
98 N screen-fulls or N lines.
99 (window_scroll_pixel_based, window_scroll_line_based)
100 (scroll_command, Fscroll_other_window): Change accordingly.
101
52283633
SM
102 * window.c (window_scroll_pixel_based, Frecenter):
103 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
104 height of the window.
105
106 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
107 instead of using it.last_visible_y for the height of the window.
52283633 108
719d83ad
GM
109 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
110
111 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
112 able to write to hidden and system files. Make file handles
113 non-inheritable.
114
115 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
116
522ed7fb
GM
1172001-04-09 Gerd Moellmann <gerd@gnu.org>
118
9170e5d4
GM
119 * fns.c (Fplist_get, Fplist_put): Add QUITs.
120
522ed7fb
GM
121 * window.c (window_internal_height): Return 1 less if the
122 window has a header line.
123
124 * xdisp.c (try_window_id): When scrolling on a terminal, take
125 the change of window_internal_height into account.
126
ceeb3d7d
EZ
1272001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
128
129 * gmalloc.c (align): If the argument SIZE would overflow
130 __malloc_ptrdiff_t, fail right away.
131
63685b9d
GM
1322001-04-06 Gerd Moellmann <gerd@gnu.org>
133
134 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
135 Make sure the tooltip is completely visible.
136 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
137
138 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
139
140 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
141
3ffb33bb
DL
1422001-04-06 Dave Love <fx@gnu.org>
143
52283633
SM
144 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
145 Fix test of `from'.
3ffb33bb 146
869fb12c
GM
1472001-04-06 Gerd Moellmann <gerd@gnu.org>
148
52283633 149 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 150
869fb12c
GM
151 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
152
441bf856
GM
1532001-04-05 Gerd Moellmann <gerd@gnu.org>
154
4d664b04
GM
155 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
156
52283633 157 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 158
30ca89f5
GM
159 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
160 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
161
162 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
163 shell widget's position only if it is non-null.
164
52283633
SM
165 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
166 Set f->output_data.x->widget to null after destroying it.
30ca89f5 167
81a81c0f
GM
168 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
169 FILENAME to bring it in synch with the documentation.
170
441bf856
GM
171 * xfaces.c (realizing_basic_faces_p): Renamed from
172 realize_default_face_p.
173 (realize_basic_faces): Set/clear realizing_basic_faces_p.
174 (realize_default_face): Don't set the flag.
175
702a1e8e
GM
1762001-04-04 Gerd Moellmann <gerd@gnu.org>
177
1013f4e3
GM
178 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
179
52283633
SM
180 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
181
1013f4e3
GM
182 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
183 the buffer that was used for echoing.
184
702a1e8e
GM
185 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
186 (first_font_matching): Removed unused function.
187 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
188 (may_use_scalable_font_p): Remove parameter FONT; rename
189 parameter NAME to FONT.
190 (x_face_list_fonts): Fix missing bounds check.
191 (realizing_default_face_p): New variable.
192 (realize_default_face): Set and clear that flag.
193 (x_face_list_fonts): When called during the realization of the
194 default face, and no matching fonts are found when ignoring
195 scalable fonts and fonts matching a regexp from
196 face-ignored-fonts, try without ignoring fonts.
197
f9dbcda4
GM
1982001-04-03 Gerd Moellmann <gerd@gnu.org>
199
ad18ffb1
GM
200 * xfns.c (postprocess_image): New function.
201 (lookup_image): Call it for all image types except PostScript.
202 (x_kill_gs_process): Call postprocess_image.
203
f9dbcda4
GM
204 * xterm.c (x_use_underline_position_properties): New variable.
205 (x_draw_glyph_string): Use it.
206 (syms_of_xterm): DEFVAR_BOOL it.
207
651f03b6
GM
2082001-04-02 Gerd Moellmann <gerd@gnu.org>
209
210 * xterm.c (x_alloc_nearest_color_1): New function.
211 (x_alloc_nearest_color): Use it.
212 (x_color_cells): Take a Display as argument, instead of a frame.
213 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
214 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
215 (x_initialize): Register cvt_string_to_pixel as resource converter
216 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
217
73d75a62
GM
2182001-03-30 Gerd Moellmann <gerd@gnu.org>
219
b2046df8
GM
220 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
221 (set_iterator_to_next): If a string from a display property ends,
222 consider the case that this might also be the end of an
223 overlay string having the display property.
224
52283633 225 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 226
87d8eba4
GM
227 * xdisp.c (reseat_to_string): Undo last change.
228
73d75a62
GM
229 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
230 matrix of a window when the header line changes, when
231 new rows are allocated, or when the width changes.
232
911a2406
EZ
2332001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
234
52283633 235 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 236
aea51abe
EZ
2372001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
238
239 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
240 deprecated.
241
176bc847
GM
2422001-03-29 Gerd Moellmann <gerd@gnu.org>
243
ed31fabf
GM
244 * data.c (Fsubr_interactive_form): New function.
245 (syms_of_data): Defsubr it.
246
176bc847
GM
247 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
248 (live_float_p, live_misc_p): Return 1 only if the offset of the
249 pointer in its block is >= 0.
250
e59d0e9d
GM
2512001-03-28 Paul Eggert <eggert@twinsun.com>
252
253 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
254 microseconds calcuation. Avoid double-rounding problem.
255 In doc string, warn that the result is approximate.
256
f827b862
GM
2572001-03-28 Gerd Moellmann <gerd@gnu.org>
258
30a3f61c
GM
259 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
260 bind `inhibit-eval-during-redisplay' to t.
261
262 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
263
264 * xdisp.c (inhibit_eval_during_redisplay)
265 (Qinhibit_eval_during_redisplay): New variables.
266 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
267 don't eval, return nil instead.
268 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
269 Initialize Qinhibit_eval_during_redisplay.
270
e719f5ae
GM
271 * xdisp.c (reseat_to_string): If STRING is multibyte, set
272 the iterator's multibyte_p flag.
273
deb2613a
GM
274 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
275 instead of setting it to zero; it's incremented for each frame
276 where the menu face is changed.
277
52283633
SM
278 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
279 change bottom shadow accordingly.
280
281 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
282 intersections here.
283 (expose_window): Do it here instead.
52283633 284 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 285
f827b862
GM
286 * bytecode.c (BYTE_CODE_QUIT): New macro.
287 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
288
4bde0ebb
GM
2892001-03-27 Gerd Moellmann <gerd@gnu.org>
290
607ec83c
GM
291 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
292 Give up if matrix starts in an ellipsis.
293 (init_from_display_pos): Do nothing if POS doesn't specify
294 a dpvec_index but the iterator has such a position.
295
0245398f
GM
296 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
297
aba25348
GM
298 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
299 x/y position is (0, 0) after destroying the menu bar, restore
300 its original position.
301
4bde0ebb
GM
302 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
303 (init_from_display_pos): Use it.
304 (try_window_reusing_current_matrix): Don't use cursor_row_p.
305
8cdb267e
GM
3062001-03-26 Gerd Moellmann <gerd@gnu.org>
307
308 * xdisp.c (try_window_id): Undo last change.
309
9948db79
EZ
3102001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
311
312 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
313
314 * buffer.c (syms_of_buffer): Doc fix.
315
2eddf899
GM
3162001-03-26 Gerd Moellmann <gerd@gnu.org>
317
318 * xfaces.c (x_update_menu_appearance): Use local variable
319 popup_path for setting font resources.
320
6c145d35
EZ
3212001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
322
6a65b1b5
EZ
323 * frame.c (Fframe_list): Don't reference tip_frame if
324 HAVE_WINDOW_SYSTEM is not defined.
325
6c145d35
EZ
326 * emacs.c (main): Update the copyright year. From Werner LEMBERG
327 <wl@gnu.org>.
328
d74c1900
GM
3292001-03-25 Gerd Moellmann <gerd@gnu.org>
330
20fbd925
GM
331 * xdisp.c (init_from_display_pos): Test invisible property
332 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 333
927c5b3b
GM
334 * xdisp.c (redisplay_internal) <update one window>: Make sure
335 last_arrow_position and last_arrow_string are set.
336
d74c1900
GM
337 * frame.c (Fframe_list): Don't return a tooltip frame.
338
091f8878
GM
3392001-03-23 Gerd Moellmann <gerd@gnu.org>
340
52283633
SM
341 * xdisp.c (mark_window_display_accurate_1): New function,
342 extracted from mark_window_display_accurate.
343 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
344 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
345 (mark_window_display_accurate): Use it.
346 (redisplay_internal): Use it for the selected window.
347 (redisplay_internal): Avoid duplicate mark_window_display_accurate
348 for the selected frame.
349
ac90c44f
GM
350 * xdisp.c Use make_number, for readability.
351 (try_window_id): Disable rows below the window end.
352 (try_window_reusing_current_matrix): Use cursor_row_p.
353 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
354 of rows.
355 (init_from_display_pos): If POS specifies a position in a display
356 vector, maybe get the iterator set up for that ellipsis.
43c09969 357
091f8878
GM
358 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
359
991786dd
EZ
3602001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
361
362 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
363
6c29b43c
GM
3642001-03-23 Gerd Moellmann <gerd@gnu.org>
365
366 * xfaces.c (x_update_menu_appearance): Use a different path
367 for Lucid popup menus.
368
d8731202
SM
3692001-03-22 Stefan Monnier <monnier@cs.yale.edu>
370
371 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
372
373 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
374 (string_buffer_position): Use `make_number'.
375
f61a541b
GM
3762001-03-22 Gerd Moellmann <gerd@gnu.org>
377
3c9e997b
GM
378 * xfaces.c (x_update_menu_appearance): Renamed from
379 x_set_menu_face_resources. Use different resources for popups.
380
381 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
382 (GC_CHECK_STRING_BYTES): Don't define.
383
364cd450
GM
384 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
385 Removed, together with subroutines.
386 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 387 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 388
d8731202
SM
389 * dispextern.h (x_set_menu_resources_from_menu_face):
390 Remove prototype.
364cd450 391
d8731202 392 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
393 Remove calls to x_set_menu_resources_from_menu_face.
394
d8731202
SM
395 * xfaces.c (xm_set_menu_resources_from_menu_face):
396 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
397
398 * xmenu.c: Include widget.h.
399 (single_submenu): Return int. Some cleanup.
400 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
401
140330de
GM
4022001-03-21 Gerd Moellmann <gerd@gnu.org>
403
404 * xterm.c (x_update_window_end): Handle overwritten mouse face
405 also for tool bar windows.
406 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
407 DRAW is DRAW_IMAGE_RAISED.
408
1741905c
GM
4092001-03-20 Gerd Moellmann <gerd@gnu.org>
410
fa88947e
GM
411 * print.c (syms_of_print): Doc fixes.
412
1741905c
GM
413 * fns.c (Fmd5): Doc fix.
414
ade0bee1
GM
4152001-03-19 Gerd Moellmann <gerd@gnu.org>
416
357e7376
GM
417 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
418 Clear area of the frame not occupied by the scroll bar.
419
c2c097cc
GM
420 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
421 tip frame's root window buffer to *tip* right after creating
422 the frame.
423
ade0bee1
GM
424 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
425 is an integer don't have to be for space characters.
426
88c6e37e
GM
4272001-03-16 Gerd Moellmann <gerd@gnu.org>
428
52283633
SM
429 * indent.c (current_column, current_column_1, Fmove_to_column)
430 (compute_motion): Handle characters from display vectors differently.
88c6e37e 431
c62eed76
KH
4322001-03-15 Kenichi Handa <handa@etl.go.jp>
433
434 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
435 drawing glyph string.
436
c899e7e6
GM
4372001-03-15 Gerd Moellmann <gerd@gnu.org>
438
d0bbfc99
GM
439 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
440 (command_loop_1): Undo last change.
441
03d1a189
GM
442 * xterm.c (fast_find_position): Return the correct vpos.
443
c899e7e6 444 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 445 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
446 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
447 Call store_symval_forwarding with BUF null.
448 (set_internal): Call store_symval_forwarding with the BUF
449 parameter passed to set_internal. Formerly, the value was always
450 set in the current buffer; the buffer recorded in specbind for
451 this case wasn't used.
452 (arith_driver): Reindent.
453
52283633
SM
454 * buffer.c (swap_out_buffer_local_variables):
455 Call store_symval_forwarding with BUF null.
c899e7e6
GM
456
457 * lisp.h (store_symval_forwarding): Change prototype.
458
459 * eval.c (specbind): Call store_symval_forwarding with BUF null.
460
57ac7c81
GM
4612001-03-14 Gerd Moellmann <gerd@gnu.org>
462
697617d9
GM
463 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
464 FOR_DELETION. Avoid resizing the mini-window of the selected
465 frame if FOR_DELETION is set.
466 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
467 (Fmake_frame_invisible): Change calls to do_switch_frame for new
468 signature.
469
470 * window.c (Fset_window_configuration): Change call to
471 do_switch_frame to new format.
472
473 * keyboard.c (quit_throw_to_read_char): Change call to
474 do_switch_frame to new format.
475
476 * lisp.h (do_switch_frame): Change prototype.
477
819dce0f
GM
478 * frame.c (Fframe_parameters): In the `buffer-list' frame
479 parameter, store the buffer list of FRAME, not the list of the
480 selected frame.
481
57ac7c81
GM
482 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
483 box just because the glyph row's full_width_p flag is set.
484
65008712
GM
4852001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
486
487 * xdisp.c (highlight_trailing_whitespace): On character terminals,
488 skip the padding blanks inserted in extend_face_to_end_of_line,
489 before checking for trailing whitespace.
490
159cf431
GM
4912001-03-13 Gerd Moellmann <gerd@gnu.org>
492
52283633 493 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
494 Remove special handling for LessTif/Motif.
495 (toplevel): Don't include Xm/Xm.h.
496
52283633
SM
497 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
498 Remove workaround code for LessTif; it doesn't work anymore.
499
2564ea1b 500 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 501 Xm/ScrollBarP.h.
afcdc0a1 502
52283633
SM
503 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
504 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
505 contemporary LessTif.
506
52283633
SM
507 * xfaces.c (xm_set_menu_resources_from_menu_face):
508 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 509
159cf431
GM
510 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
511 removing button grabs.
512
c6f7429a
KH
5132001-03-13 Kenichi Handa <handa@etl.go.jp>
514
cb82d767
KH
515 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
516 and clip-large-size-font as obsolete.
517
c6f7429a
KH
518 * lread.c (read_multibyte): Check the validity of multibyte
519 sequence. If invalid, return the first byte.
520
760cefb5
GM
5212001-03-12 Gerd Moellmann <gerd@gnu.org>
522
523 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
524 before running the command; timer functions or process
525 filters may have set it.
526
5141f9d0
EZ
5272001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
528
529 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
530 Doc fix.
531
b6a15240
GM
5322001-03-12 Gerd Moellmann <gerd@gnu.org>
533
534 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
535 to sprintf.
536
95522746
GM
5372001-03-09 Gerd Moellmann <gerd@gnu.org>
538
db14cfc5
GM
539 * dispextern.h (string_buffer_position): Add prototype.
540
52283633 541 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
542 (single_display_prop_string_p): New functions.
543
544 * xterm.c (note_mouse_highlight): If there's no help-echo on
545 a string, look at the buffer text ``under'' it.
546
547 * keyboard.c (make_lispy_event): Add string info to the event,
548 analogous to what's done on mode lines.
549 (read_key_sequence): For a click on a string, consider `local-map'
550 and `keymap' of that string.
551
52283633
SM
552 * keyboard.c (make_lispy_event, make_lispy_movement):
553 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
554
555 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
556
557 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
558 POS; return void.
559
95522746
GM
560 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
561 flags argument to emacs_open; it seems to conflict with O_EXCL.
562
898a399d
KH
5632001-03-09 Kenichi Handa <handa@etl.go.jp>
564
28cd4910
KH
565 * composite.h (struct composition): Change types of members;
566 glyph_len to unsigned, width to unsigned short.
898a399d 567
4cdf6a6c
AI
5682001-03-08 Andrew Innes <andrewi@gnu.org>
569
570 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
571 menu titles.
572
129004d3
GM
5732001-03-08 Gerd Moellmann <gerd@gnu.org>
574
221dd3e7
GM
575 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
576 instead of nil.
577
52283633 578 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
579 help-echo in strings.
580 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
581 (fast_find_string_pos): New function.
582
52283633
SM
583 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
584 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
585
586 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
587 Handle `mouse-face'.
588
589 * dispextern.h (face_at_string_position): Change prototype.
590
52283633 591 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 592
129004d3
GM
593 * keyboard.c (make_lispy_event): Avoid generating drag events
594 if the mouse hasn't actually moved to another buffer position.
52283633 595
80c8ab8c
DL
5962001-03-08 Dave Love <fx@gnu.org>
597
129004d3 598 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 599
989521fd
GM
6002001-03-08 Gerd Moellmann <gerd@gnu.org>
601
602 * process.c (Fset_process_window_size): Fix a typo.
603
bb5c338d
KH
6042001-03-08 Kenichi Handa <handa@etl.go.jp>
605
606 * coding.c (detect_coding_sjis): Do more rigid check.
607 (detect_coding_big5): Likewise.
608 (decode_coding_sjis_big5): Likewise.
609 (Fdetect_coding_region): Call detect_coding_system with tailing
610 anchor byte `\0' for more rigid detection.
52283633 611 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
612 (Fdetect_coding_string): Likewise.
613
8b8f9197
SM
6142001-03-07 Stefan Monnier <monnier@cs.yale.edu>
615
616 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
617 a string before extracting its data.
618
3bdf2660
GM
6192001-03-07 Gerd Moellmann <gerd@gnu.org>
620
621 * window.c (Frecenter): Rewrite code handling negative values
622 of ARG on graphical frames.
623
6242001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
625
626 * window.c (displayed_window_lines): If W->start is outside the
627 accessible portion of the buffer, call start_display with BEGV or
628 ZV instead of W->start.
629
471f86b9
GM
6302001-03-07 Gerd Moellmann <gerd@gnu.org>
631
2ab62c6c
GM
632 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
633
471f86b9
GM
634 * process.c (Fset_process_filter): Don't crash if the input
635 file descriptor of PROCESS is closed.
636 (Fset_process_window_size): Likewise.
637
101922c3
GM
6382001-03-06 Kenichi Handa <handa@etl.go.jp>
639
640 * xterm.c (XTflash): Make the timeout of select shorter, and call
641 select repeatedly until the desired time expires.
642
45d051a7
GM
6432001-03-06 Gerd Moellmann <gerd@gnu.org>
644
645 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
646
647 * xfns.c (Fx_create_frame): Clear Vwindow_list.
648
649 * lisp.h (Vwindow_list): Declare extern.
650
8f372c46
EZ
6512001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
652
653 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
654
f16a7aa5
GM
6552001-03-06 Gerd Moellmann <gerd@gnu.org>
656
157ae273
GM
657 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
658 to detect a case where we have to highlight a different region
659 despite not having left the currently highlighted region.
660 Set mouse_face_overlay in the x_display_info.
45d051a7 661 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
662
663 * xterm.h (struct x_display_info): Add mouse_face_overlay.
664
665 * buffer.c (mouse_face_overlay_overlaps): New function.
666
667 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
668 (Qmouse_face): Declare extern.
669
f16a7aa5
GM
670 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
671 if face_change_count is non-zero.
672
827afcac
KH
6732001-03-06 Kenichi Handa <handa@etl.go.jp>
674
675 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
676 that the source is unibyte.
677
14c7242e
DL
6782001-03-05 Dave Love <fx@gnu.org>
679
827afcac 680 * xterm.c (XTmouse_position): Fix typo.
14c7242e 681
c28b847b
GM
6822001-03-05 Gerd Moellmann <gerd@gnu.org>
683
684 * minibuf.c (read_minibuf): Clean up the binding stack if
685 called noninteractively.
686
b86644f2
KH
6872001-03-05 Kenichi Handa <handa@etl.go.jp>
688
689 * coding.c (syms_of_coding): Docstring modified.
690
203682cc 6912001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
692
693 * charset.c (char_to_string): If a single byte char has modifier
694 bits that can't be reflected to the character code, ignore them
45d051a7 695 instead of signaling an error.
b86644f2 696
e30bd7b7
EZ
6972001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
698
699 * s/msdos.h: Update copyright notice.
700
701 * dosfns.h: Update copyright notice.
702
703 * dosfns.c: Update copyright notice.
704
705 * msdos.c: Update copyright notice.
706
b52b65bd
GM
7072001-03-02 Gerd Moellmann <gerd@gnu.org>
708
709 * xterm.c (glyph_rect): New function.
710 (XTmouse_position): Use it to raise the threshold for mouse
711 movement event generation.
712
53c4b1e6
EZ
7132001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
714
715 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
716 specifies (reverse . t), reverse the initial screen colors.
717 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
718 but we are reversing the colors, set bg_set, not fg_set.
719 Likewise for setting background-color and reversing: set fg_set.
720 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
721 in effect.
722
723 * xfaces.c (Finternal_set_lisp_face_attribute)
724 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
725 parameters alist.
726
f964b4d7
GM
7272001-03-02 Gerd Moellmann <gerd@gnu.org>
728
ef53d75e
GM
729 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
730 to a single slash in the middle of file names.
731
52283633 732 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
733 Accept only alphanumeric time zone names.
734
f964b4d7
GM
735 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
736 or width area.
737 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
738 a widget to zero height.
52283633 739
c3c45f65
GM
7402001-03-01 Gerd Moellmann <gerd@gnu.org>
741
742 * window.c (Fwindow_end): Call move_it_past_eol only if
743 ending up on a partially visible line.
744
028d739a
DL
7452001-03-01 Dave Love <fx@gnu.org>
746
747 * ccl.c (Fccl_execute): Doc fix.
748
57c5889c
GM
7492001-03-01 Gerd Moellmann <gerd@gnu.org>
750
35f59f6b
GM
751 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
752 of the tool bar before calling x_figure_window_size.
753
f84ff02c
GM
754 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
755 NULL after destroying it, otherwise XTread_socket can access a
756 destroyed widget when input is unblocked.
757
8b8f9197 758 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 759
57c5889c
GM
760 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
761 same name as before, although there was a change in fontsets.
762
224227d1
KR
7632001-02-28 Ken Raeburn <raeburn@gnu.org>
764
4560730a
KR
765 * lisp.h (Fframe_parameter): Declare.
766
224227d1 767 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 768 Lisp_Object.
224227d1 769
ece93c02
GM
7702001-02-28 Gerd Moellmann <gerd@gnu.org>
771
11ef99b9
GM
772 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
773 NULL instead.
774
775 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
776 NULL instead.
777
ece93c02
GM
778 * alloc.c (toplevel): Include process.h.
779 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
780 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
781 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
782 (allocate_vector, allocate_hash_table, allocate_window)
783 (allocate_frame, allocate_process, allocate_other_vector):
784 New functions.
ece93c02
GM
785 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
786 (mark_maybe_pointer): New function.
52283633 787 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
788 remain and not Lisp_Objects.
789 (min_heap_address, max_heap_address): New variables.
790 (mem_find): Return MEM_NIL if START is below min_heap_address or
791 above max_heap_address.
792 (mem_insert): Compute min_heap_address and max_heap_address.
793
794 * process.c (make_process): Use allocate_process.
795
796 * frame.c (make_frame): Use allocate_frame.
797
798 * window.c (make_window, make_dummy_parent): Use allocate_window.
799 (Fcurrent_window_configuration): Use allocate_other_vector.
800
801 * lisp.h (allocate_vectorlike): Remove prototype.
802 (allocate_vector, allocate_other_vector, allocate_frame)
803 (allocate_window, allocate_process, allocate_hash_table):
804 Add prototypes.
805
806 * fns.c (Fdelete, larger_vector): Use allocate_vector.
807 (make_hash_table, copy_hash_table): Use allocate_hash_table.
808
063af457
KH
8092001-02-27 Kenichi Handa <handa@etl.go.jp>
810
811 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
812 treat the produced bytes as a valid multibyte sequence.
813
814 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
815 (ccl_driver) <CCL_WriteMultibyteChar2>:
816 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
817 <ccl_finish>: Set ccl->eight_bit_control properly.
818
819 * ccl.h (struct ccl_program): New member eight_bit_control.
820
f58c6494
SM
8212001-02-26 Stefan Monnier <monnier@cs.yale.edu>
822
823 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
824 accessible_keymaps_char_table.
825 (accessible_keymaps_char_table): Obey `is_metized'.
826 (where_is_internal, Fwhere_is_internal): Don't confuse int and
827 Lisp_Object.
828
c596c392
GM
8292001-02-26 Gerd Moellmann <gerd@gnu.org>
830
831 * dispnew.c: Check HAVE_TERM_H before including term.h.
832
425de386
AI
8332001-02-24 Andrew Innes <andrewi@gnu.org>
834
835 * makefile.w32-in: Update copyright notice.
836
2ba11bbd
SM
8372001-02-24 Stefan Monnier <monnier@cs.yale.edu>
838
839 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
840
66c56ed1
KH
8412001-02-24 Kenichi Handa <handa@etl.go.jp>
842
4c1593ce
KH
843 * Makefile.in (lisp): Add international/utf-8.elc.
844
66c56ed1
KH
845 * fontset.c (Fnew_fontset): Fix handling of the case that an
846 element of FONTLIST is a cons of family and registry.
847
796ead7e
JR
8482001-02-23 Jason Rumney <jasonr@gnu.org>
849
850 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
851 to height unconditionally.
852
853 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 854 background face to the end of the drawing area in the text area, only.
796ead7e
JR
855 (x_insert_glyphs): Call window_box_left to obtain the left
856 x-coordinate of the area to shift.
857
858 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
859 safe_run_hooks.
860
f6839838
AI
8612001-02-22 Andrew Innes <andrewi@gnu.org>
862
52283633 863 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
864 ($(BLD)\dispnew.obj):
865 ($(BLD)\editfns.obj):
866 ($(BLD)\fileio.obj):
867 ($(BLD)\filelock.obj):
868 ($(BLD)\keyboard.obj):
869 ($(BLD)\w32proc.obj):
870 ($(BLD)\process.obj):
871 ($(BLD)\sysdep.obj): Ditto.
872
873 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
874 header files.
52283633
SM
875 ($(BLD)/dispnew.$(O)):
876 ($(BLD)/editfns.$(O)):
877 ($(BLD)/fileio.$(O)):
878 ($(BLD)/filelock.$(O)):
879 ($(BLD)/keyboard.$(O)):
880 ($(BLD)/w32proc.$(O)):
881 ($(BLD)/process.$(O)):
f6839838
AI
882 ($(BLD)/sysdep.$(O)): Ditto.
883
c224f70b
GM
8842001-02-22 Gerd Moellmann <gerd@gnu.org>
885
51695746
GM
886 * xdisp.c (forward_to_next_line_start): When taking the shortcut
887 at the start of the function, check that the \n in it->c is
888 from the iterator's current position.
52283633 889
a61b7058
GM
890 * xdisp.c (handle_single_display_prop): Add parameter
891 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
892 properties which replace the display of text with something else.
893 (handle_display_prop): Call handle_single_display_prop with
894 additional argument saying if we already replaced text display
895 with something else. Use AREF.
52283633 896 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
897 (decode_mode_spec_coding): Use AREF and ASIZE.
898
3473f362
GM
899 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
900 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
901 * vmstime.h: Files removed.
52283633 902
2bb58df3
GM
903 * unexencap.c, unexfx2800.c: Files removed.
904
c224f70b
GM
905 * dispnew.c (direct_output_for_insert): Give up if we are showing
906 a message or just cleared the message because we might need to
907 resize the echo area window or display an empty echo area.
908
ffc9ff0c
GM
9092001-02-21 Gerd Moellmann <gerd@gnu.org>
910
0528abe1
GM
911 * xdisp.c (redisplay_internal): Do the
912 mark_window_display_accurate after all windows have been
913 redisplayed because this call resets flags in buffers which are
914 needed for proper redisplay.
915
52283633
SM
916 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
917 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
918 the old names.
919
52283633
SM
920 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
921 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
922
923 * msdos.h (struct x_output): Rename busy_window to
924 hourglass_window, busy_p to hourglass_p.
925
52283633
SM
926 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
927 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
928
929 * xfns.c: Rename everything containing *busy_cursor* and similar
930 to *hourglass*.
931 (syms_of_w32fns): Rename x-busy-pointer-shape to
932 x-hourglass-pointer-shape, display-busy-cursor to
933 display-hourglass, busy-cursor-delay to hourglass-delay.
934
935 * w32fns.c: Rename everything containing *busy_cursor* and similar
936 to *hourglass*.
937 (syms_of_w32fns): Rename x-busy-pointer-shape to
938 x-hourglass-pointer-shape, display-busy-cursor to
939 display-hourglass, busy-cursor-delay to hourglass-delay.
940
941 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
942 of its busy_p flag.
943
944 * dispextern.h (start_hourglass, cancel_hourglass)
945 (display_hourglass_p): Renamed from *busy_cursor*.
946
ab2c5f0a
GM
9472001-02-20 Gerd Moellmann <gerd@gnu.org>
948
d17e49a8
GM
949 * keyboard.c (read_char): When an event from unread-command-events
950 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
951
fa97adf6
GM
952 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
953 equal to the current buffer.
954
ab2c5f0a
GM
955 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
956 nil, otherwise we're left with truncate_lines t when a message
957 is printed with message-truncate-lines bound to t.
958
aeac019e
GM
9592001-02-19 Gerd Moellmann <gerd@gnu.org>
960
c8bc6f65
GM
961 * window.c (Fmove_to_window_line): Undo last change.
962 (displayed_window_lines): Call line_bottom_y to determine
963 the line's bottom position.
964
965 * dispextern.h (line_bottom_y): Add prototype.
966
52283633 967 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
968 (pos_visible_p): Use it.
969
980a2d69
GM
970 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
971 set redisplaying_p to 0 here instead of in Frecursive_edit.
972 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
973 set redisplaying_p.
974
52283633 975 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
976 New variables.
977 (syms_of_xdisp): Initialize new variables.
978 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
979 Specbind `inhibit-menubar-update' when updating the menu bar.
980
65048e97
GM
981 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
982 safe_run_hooks.
983
984 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
985 safe_run_hooks.
986
a57c4026
GM
987 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
988 is null.
989
aeac019e
GM
990 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
991 to the start of the file.
992
76846b31
GM
9932001-02-16 Gerd Moellmann <gerd@gnu.org>
994
f3f053f3 995 * window.c (set_window_buffer): Fix last change.
52283633 996
f3f053f3
GM
997 * window.c (set_window_buffer): Set window's vscroll to 0.
998
dad75588
GM
999 * window.c (coordinates_in_window): Increase width of area
1000 where the vertical line can be dragged.
1001
c220b753
GM
1002 * xterm.c (x_set_glyph_string_background_width): Extend the
1003 background face to the end of the drawing area in the text
1004 area, only.
1005
c56b1c1b
GM
1006 * xdisp.c (handle_single_display_prop): Set iterator's position
1007 to where the `display' property starts, like for images.
1008 (dump_glyph): New function.
1009 (dump_glyph_row): Use it. Dump info about marginal areas.
1010
1011 * dispnew.c (direct_output_for_insert): Recognize more cases where
1012 glyphs can be written instead of being inserted.
1013
1014 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
1015 the left x-coordinate of the area to shift.
1016
76846b31
GM
1017 * dired.c (directory_files_internal): Set result list to nil
1018 before retrying.
1019
0fc71a77
KH
10202001-02-15 Kenichi Handa <handa@etl.go.jp>
1021
1022 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
1023 invalid multibyte sequence, treat *SRC as a character of
1024 eight-bit-graphic.
1025
25078b54
EZ
10262001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
1027
1028 * textprop.c (Fset_text_properties): Doc fix.
1029
8399f8a0
GM
10302001-02-15 Gerd Moellmann <gerd@gnu.org>
1031
1032 * dispnew.c (update_text_area): Undo change of 2001-01-12.
1033
9a2a6f73
DL
10342001-02-14 Dave Love <fx@gnu.org>
1035
1036 * coding.c: Doc and message fixes.
1037
bf853fee
AI
10382001-02-14 Andrew Innes <andrewi@gnu.org>
1039
1040 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
1041 Emacs frame above the screen size.
1042
78c663d8
GM
10432001-02-14 Gerd Moellmann <gerd@gnu.org>
1044
1045 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
1046
7cc9f69f
GM
10472001-02-13 Gerd Moellmann <gerd@gnu.org>
1048
0a411995
GM
1049 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1050 case that TO ends up beyond ZV after running before-change-functions.
1051
5ddc1b75
GM
1052 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1053 the selected window if it is showing the buffer in question.
1054
7cc9f69f
GM
1055 * dired.c (directory_files_internal): Initialize errno.
1056 (toplevel): Include errno.h.
1057
2e6621ca
GM
10582001-02-13 Kenichi Handa <handa@etl.go.jp>
1059
1060 * xfaces.c (best_matching_font): New parameter width_ratio.
1061 Multiply avgwidth by width_ratio.
1062 (choose_face_font): Call best_matching_font with width_ratio
1063 calculated from the column width of C.
1064
60222d69
AI
10652001-02-12 Andrew Innes <andrewi@gnu.org>
1066
1067 The following changes are to draw box lines inside characters area
1068 if line-width is negative.
52283633 1069
60222d69
AI
1070 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1071 face->box_line_width is negative.
1072 (x_produce_stretch_glyph): Likewise.
1073 (x_produce_glyphs): Likewise.
1074 (x_estimate_mode_line_height): Likewise.
1075 (x_draw_glyph_string_background): Likewise.
1076 (x_draw_glyph_string_foreground): Likewise.
1077 (x_draw_composite_glyph_string_foreground): Likewise.
1078 (x_draw_glyph_string_box): Likewise.
1079 (x_draw_image_foreground): Likewise.
1080 (x_draw_image_relief): Likewise.
1081 (x_draw_image_foreground_1): Likewise.
1082 (x_draw_image_glyph_string): Likewise.
1083
9804b846
KH
10842001-02-09 Kenichi Handa <handa@etl.go.jp>
1085
1086 The following changes are to draw box lines inside characters area
1087 if line-width is negative.
52283633 1088
9804b846
KH
1089 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1090 face->box_line_width is negative.
1091 (x_produce_stretch_glyph): Likewise.
1092 (x_produce_glyphs): Likewise.
1093 (x_estimate_mode_line_height): Likewise.
1094 (x_draw_glyph_string_background): Likewise.
1095 (x_draw_glyph_string_foreground): Likewise.
1096 (x_draw_composite_glyph_string_foreground): Likewise.
1097 (x_draw_glyph_string_box): Likewise.
1098 (x_draw_image_foreground): Likewise.
1099 (x_draw_image_relief): Likewise.
1100 (x_draw_image_foreground_1): Likewise.
1101 (x_draw_image_glyph_string): Likewise.
1102
1103 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1104 and :line-width can be negative.
52283633 1105 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1106
49be9f70
JR
11072001-02-09 Jason Rumney <jasonr@gnu.org>
1108
1109 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1110 characters the same as ASCII and latin-1.
1111 (x_display_and_set_cursor): Check for the focus frame's selected
1112 window instead of selected_window.
1113 (x_after_update_window_line): Don't clear if frame's internal
1114 border width is zero.
1115 (x_new_font): Don't change a tooltip's size.
1116 (w32_initialize): Set char_ins_del_ok to 1.
1117
1118 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1119 (x_set_font): If font hasn't changed, avoid recomputing
1120 faces and other things.
52283633
SM
1121 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1122 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1123 (x_create_tip_frame): Prevent changing the tooltip's
1124 background color by specifying a color for the default font
1125 in .Xdefaults.
1126 (Qcancel_timer): New variable.
1127 (syms_of_w32fns): Initialize and staticpro it.
1128 (Fx_hide_tip, Fx_show_tip): Use it.
1129 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1130 the timer.
1131 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1132
1133 * w32.c (init_environment): Duplicate local string before putenv.
1134
555e35d2
SZ
11352001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1136
1137 * charset.c (Fstring): A typo.
1138
19c92c94
KH
11392001-02-09 Kenichi Handa <handa@etl.go.jp>
1140
e47a1c33
KH
1141 * charset.c (Fstring): If all arguments are less than 256, return
1142 a unibyte string.
1143
1144 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1145 return a unibyte string.
1146
19c92c94
KH
1147 * coding.c (code_convert_region): After detecting a coding, if
1148 nothing found, set coding->composing to COMPOSITION_NO.
1149 (decode_coding_string): Likewise.
1150
d8e675f5
SM
11512001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1152
1153 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1154 to avoid overflow.
1155
bd503487
KH
11562001-02-07 Kenichi Handa <handa@etl.go.jp>
1157
1158 * charset.c (parse_str_to_multibyte): New function.
1159
1160 * charset.h (parse_str_to_multibyte): Extern it.
1161
1162 * print.c (print_string): If we are going to print a unibyte
1163 string into a multibyte buffer, convert the string to multibyte by
1164 str_to_multibyte.
1165
a8370d72
AI
11662001-02-06 Andrew Innes <andrewi@gnu.org>
1167
1168 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1169 been created. It seems we can get sent window messages such as
1170 WM_ERASEBKGND before we properly update a frame.
1171
c363a1d6
GM
11722001-02-06 Gerd Moellmann <gerd@gnu.org>
1173
1174 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1175 Avoid some unnecessary cursor positioning.
1176
a08332c0
GM
11772001-02-05 Gerd Moellmann <gerd@gnu.org>
1178
52283633 1179 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1180 (LFACE_AVGWIDTH): New macro.
1181 (LFACEP): Use AREF.
1182 (check_lface_attrs): Check LFACE_AVGWIDTH.
1183 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1184 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1185 (merge_face_vectors): Check LFACE_AVGWIDTH.
1186 (Finternal_make_lisp_face): Use AREF.
1187 (xm_set_menu_resources_from_menu_face)
1188 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1189 (Finternal_lisp_face_empty_p): Use AREF.
1190 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1191 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1192 Compare average widths..
1193 (best_matching_font): Arrange for comparing average widths.
1194
52283633
SM
1195 * dispextern.h (enum lface_attribute_index):
1196 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1197
5cb3c8d4
DL
11982001-02-05 Dave Love <fx@gnu.org>
1199
1200 * puresize.h: Revert last change following loadup.el change.
1201
193fba87
AI
12022001-02-05 Andrew Innes <andrewi@gnu.org>
1203
1204 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1205 invocation of temacs, to work with Windows 2000.
1206 (bootstrap-emacs): Ditto.
1207
e16f52ce
GM
12082001-02-05 Gerd Moellmann <gerd@gnu.org>
1209
7a58ab59
GM
1210 * xterm.c (x_display_and_set_cursor): Check for the focus
1211 frame's selected window instead of selected_window.
1212
e89aaabd
GM
1213 * xdisp.c (try_scrolling): If point is in the line below the
1214 window, make sure to move the iterator at least a canonical
1215 char height down.
1216
52283633 1217 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1218
789ce875
KH
12192001-02-05 Kenichi Handa <handa@etl.go.jp>
1220
52283633
SM
1221 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1222 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1223 (ccl_driver): If the CCL program is terminated because of
1224 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1225 destination instead of throwing them away.
1226
20b28f82
GM
12272001-02-02 Gerd Moellmann <gerd@gnu.org>
1228
79fb38c0
GM
1229 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1230 faces and other things.
1231
20b28f82
GM
1232 * xdisp.c (get_next_display_element): Fix case of empty
1233 display table entry.
1234
5a72551e
EZ
12352001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1236
eb24d0bf
EZ
1237 * editfns.c (Fconstrain_to_field): Doc fix.
1238
6a3f48c7
EZ
1239 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1240 into `thoroughly', to make it consistent with the doc string.
1241
5a72551e
EZ
1242 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1243
01acdb05
GM
12442001-02-01 Gerd Moellmann <gerd@gnu.org>
1245
0353b28f
GM
1246 * search.c (search_buffer): Call set_search_regs with a byte
1247 position, not a character position.
1248
01acdb05
GM
1249 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1250 minibuffer-only,
1251
e86b5133
EZ
12522001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1253
1254 * frame.c (Fmodify_frame_parameters): Doc fix.
1255
7442878f
GM
12562001-01-31 Gerd Moellmann <gerd@gnu.org>
1257
01acdb05
GM
1258 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1259 identifier which is not reserved by Standard C.
52283633 1260
7442878f
GM
1261 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1262
1263 * window.c (enum window_part): New enumeration.
1264 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1265 Qright_bitmap_area.
1266 (coordinates_in_window): Return an enumerator from enum
1267 window_part. Fix handling of right scroll bar.
1268 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1269 `right-fringe' instead of `left-bitmap-area' and
1270 `right-bitmap-area'. Use enumerators from enum window_part
1271 instead of hard-coded integers.
52283633
SM
1272 (check_window_containing, window_from_coordinates):
1273 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1274 (syms_of_window): Replace Qleft_bitmap_area and
1275 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1276
7c132cba
EZ
12772001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1278
1279 * editfns.c (Fformat_time_string): Doc fix.
1280
c359dd9e
SM
12812001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1282
1283 * keymap.c (Fwhere_is_internal): Use the first valid binding
1284 if no ascii binding is found (when firstonly is t).
1285
ce070307
GM
12862001-01-31 Gerd Moellmann <gerd@gnu.org>
1287
b4f30ec5
GM
1288 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1289 instead of Finteractive_p.
1290
1291 * lisp.h (interactive_p): Add prototype.
1292
1293 * eval.c (interactive_p): New function.
1294 (Finteractive_p): Use it.
1295
ce070307
GM
1296 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1297
f57b6e64
DL
12982001-01-31 Dave Love <fx@gnu.org>
1299
d61c7afe
DL
1300 * .gdbinit (hook-run): Define to run xreload.
1301
f57b6e64
DL
1302 * textprop.c (Fset_text_properties): Fix newline in doc string.
1303
eef93f99
GM
13042001-01-30 Gerd Moellmann <gerd@gnu.org>
1305
52283633
SM
1306 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1307 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1308
1309 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1310 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1311 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1312
1313 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1314 height.
1315
d9c1f6f9
DL
13162001-01-30 Dave Love <fx@gnu.org>
1317
1318 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1319 AFTER_POTENTIAL_GC.
1320
e8f044a0
GM
13212001-01-29 Gerd Moellmann <gerd@gnu.org>
1322
52283633
SM
1323 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1324 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1325
8e1db7b3
EZ
13262001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1327
1328 * textprop.c (Fset_text_properties): Doc fix.
1329
4eefd9d2
GM
13302001-01-29 Gerd Moellmann <gerd@gnu.org>
1331
1332 * xdisp.c (forward_to_next_line_start): Remove xassert.
1333
fccb8288
EZ
13342001-01-29 Jason Rumney <jasonr@gnu.org>
1335
4eefd9d2 1336 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1337 returning without releasing it.
1338
76581eab
KH
13392001-01-29 Kenichi Handa <handa@etl.go.jp>
1340
1341 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1342 for '^', '$', and '\0'.
1343
83a96b4d
AC
13442001-01-28 Andrew Choi <akochoi@i-cable.com>
1345
5604ec34
AC
1346 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1347 regex for '^', '$', and '\0'.
1348
83a96b4d
AC
1349 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1350 only if current_sblock has been initialized.
1351
1352 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1353 terminal frame even if it is the only visible frame.
1354
c09a6440
KH
13552001-01-28 Kenichi Handa <handa@etl.go.jp>
1356
1357 * fontset.c (font_family_registry): Even if FONTNAME conform to
1358 XLFD, if it specifies other fields than family and registry,
52283633 1359 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1360 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1361 a signle byte character. Don't set FAMILY part to nil here.
1362 It is handled by the caller choose_face_font.
c09a6440
KH
1363 (Fnew_fontset): Call font_family_registry with FORCE 0.
1364 (Fset_fontset_font): Likewise.
1365
4dcd74e6
GM
13662001-01-27 Gerd Moellmann <gerd@gnu.org>
1367
1368 * xdisp.c (display_line): Don't treat a newline as fitting
1369 on the line.
1370
d2906bf8
GM
13712001-01-26 Gerd Moellmann <gerd@gnu.org>
1372
0130fe1a
GM
1373 * window.c (size_window): Set the window's orig_top to nil when
1374 changing heights, so that a future shrink_mini_window won't
1375 restore a bogus height.
1376
550f0e6a
GM
1377 * frame.c (do_switch_frame): If selected frame has a mini-window,
1378 resize that to exact size.
1379
b7b20fbd
GM
1380 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1381
a47b7816
GM
1382 * xdisp.c (display_line): Simplify check for glyphs fitting
1383 entirely in the line.
1384
d2906bf8
GM
1385 * xfns.c (xic_style): New variable.
1386 (create_frame_xic): Move static variable to global scope for
550f0e6a 1387 the case that `static' gets defined away.
d2906bf8 1388
73df2b1e
KH
13892001-01-26 Kenichi Handa <handa@etl.go.jp>
1390
1391 * coding.c (decode_coding): Set a flag for inhibiting
1392 inconsistent eol.
1393 (code_convert_region): Always set saved_coding_symbol.
1394 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1395 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1396
6613cfc4
GM
13972001-01-25 Gerd Moellmann <gerd@gnu.org>
1398
c5e6e06b
GM
1399 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1400 XClearArea.
1401
1402 * xterm.c (x_after_update_window_line): Don't clear if frame's
1403 internal border width is zero.
1404 (x_clear_area): New function.
1405 (x_after_update_window_line, x_clear_end_of_line)
1406 (x_scroll_bar_create, x_scroll_bar_set_handle)
1407 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1408 instead of XClearArea.
1409
1410 * xterm.h (x_clear_area): Add prototype.
1411
6613cfc4
GM
1412 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1413 which doesn't seem necessary anymore with Lesstif 0.92.
1414
650cc6cc
DL
14152001-01-25 Dave Love <fx@gnu.org>
1416
34ac3367
DL
1417 * puresize.h (BASE_PURESIZE): Up to 720000.
1418
650cc6cc
DL
1419 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1420
5e37dc22
GM
14212001-01-25 Gerd Moellmann <gerd@gnu.org>
1422
e1e441f9
GM
1423 * xdisp.c (echo_area_display): Don't call redisplay_internal
1424 when Emacs is shutting down. We can't run hooks etc. that
1425 would be necessary to do a redisplay.
1426
5e37dc22
GM
1427 * lread.c (read_integer): Use type EMACS_INT instead of int.
1428
0fb94c7f
EZ
14292001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1430
1431 * ccl.c (ccl_driver): Fix last change.
1432
e3778624
KH
14332001-01-25 Kenichi Handa <handa@etl.go.jp>
1434
1435 * ccl.h (sturct ccl_program): New member suppress_error.
1436
bb264518 1437 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1438 insert error message to the output.
1439 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1440
1441 * coding.h (struct coding_system): New member suppress_error.
1442
1443 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1444 (Fset_terminal_coding_system_internal): Set the member
1445 suppress_error to 1.
1446 (Fset_safe_terminal_coding_system_internal): Likewise.
1447
245ed2b1
SM
14482001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1449
1450 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1451 as if it was a `charset'.
1452
f9aaedb6
GM
14532001-01-24 Gerd Moellmann <gerd@gnu.org>
1454
1455 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1456 value in where_is_cache; the next lookup in the cache returns
1457 something bogus if we do.
1458
c3902c3e
EZ
14592001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1460
1461 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1462 if HAVE_WINDOW_SYSTEM isn't defined.
1463
3497f73e
GM
14642001-01-24 Gerd Moellmann <gerd@gnu.org>
1465
e7e41584
GM
1466 * fns.c (sweep_weak_table): Fix code taking items out of
1467 the hash collision chain. Some cleanup.
1468
3497f73e
GM
1469 * xterm.c (x_new_font): Don't change a tooltip's size.
1470
1471 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1472 background color by specifying a color for the default font
1473 in .Xdefaults.
1474
3d48e687
KH
14752001-01-24 Kenichi Handa <handa@etl.go.jp>
1476
96531b20
KH
1477 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1478 a workaround for SunOS 4's cc.
1479 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1480 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1481 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1482 statement.
3d48e687 1483
a30629d2
GM
14842001-01-23 Gerd Moellmann <gerd@gnu.org>
1485
1486 * xterm.c (x_set_window_size_1): New function extracted from
1487 x_set_window_size.
1488 (x_set_window_size): Use it.
1489 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1490 doesn't have a widget, like tooltips.
1491
5a43decf
EZ
14922001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1493
52283633 1494 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1495
b0e98867
KH
14962001-01-23 Kenichi Handa <handa@etl.go.jp>
1497
1498 * fns.c (Fset_char_table_default): Fix to make sub char-table
1499 correctly.
1500
50606b4c
GM
15012001-01-22 Gerd Moellmann <gerd@gnu.org>
1502
cb2ddc53 1503 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1504 a desired tool bar string, even if there are no tool bar items.
1505
57c28064
GM
1506 * xdisp.c (Ftool_bar_lines_needed): New function.
1507 (syms_of_xdisp): Defsubr it.
1508
50606b4c
GM
1509 * editfns.c (Fformat): Don't extend text properties from arguments
1510 to padding chars in the result.
1511
2f169c38
EZ
15122001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1513
1514 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1515
0f32f023
AI
15162001-01-20 Andrew Innes <andrewi@gnu.org>
1517
52283633 1518 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1519 (w32_initialize): Don't set term hooks that aren't actually needed
1520 in windowed mode.
1521
1522 * xfaces.c (realize_default_face):
1523 (realize_face):
1524 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1525
1526 * xdisp.c (handle_single_display_prop): Remove references to
1527 FRAME_W32_CONSOLE_P.
1528
52283633 1529 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1530
1531 * frame.h (output_method): Remove output_w32_console method.
1532 (FRAME_W32_CONSOLE_P): Remove macro.
1533
1534 * frame.c (Qw32_console): Remove variable.
1535 (Fframep): Remove references to it.
1536 (syms_of_frame): Ditto.
1537 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1538
1539 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1540 redefinition.
1541
7173eada
KH
15422001-01-20 Kenichi Handa <handa@etl.go.jp>
1543
1544 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1545
755b45ce
AI
15462001-01-19 Andrew Innes <andrewi@gnu.org>
1547
1548 * w32.c (init_environment): Add a version-independent site-lisp
1549 directory to EMACSLOADPATH, after the version dependent one.
1550
0a949811
GM
15512001-01-19 Gerd Moellmann <gerd@gnu.org>
1552
8501998a
GM
1553 * editfns.c (Fbuffer_substring): Doc fix.
1554
52283633
SM
1555 * xdisp.c (message_dolog, message2, message2_nolog):
1556 Rename parameter LEN to NBYTES.
0a949811 1557
e6ebcbbe
KH
15582001-01-19 Kenichi Handa <handa@etl.go.jp>
1559
200ecca2
KH
1560 * charset.c (strwidth): Use c_string_width.
1561 (c_string_width): New function.
1562 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1563 Caller changed.
1564
1565 * charset.h (c_string_width, lisp_string_width): Extern them.
1566
52283633 1567 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1568
e6ebcbbe
KH
1569 * indent.c (check_composition): Check validity of composition.
1570
200ecca2
KH
1571 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1572 characters by calling c_string_width.
1573 (x_consider_frame_title): Get byte length of frame tile string
1574 correctly.
1575 (display_mode_element): Pay attention to width of non-ASCII
1576 characters by calling strwidth.
1577
8692ca92
GM
15782001-01-18 Gerd Moellmann <gerd@gnu.org>
1579
8962e303
GM
1580 * xfns.c (Qcancel_timer): New variable.
1581 (syms_of_xfns): Initialize and staticpro it.
1582 (Fx_hide_tip, Fx_show_tip): Use it.
1583 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1584 the timer.
1585 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1586
91523be9
GM
1587 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1588
1589 * window.h (WINDOW_LIVE_P): New macro.
1590
b0b7ed0e
GM
1591 * window.c (window_size_fixed): New variable.
1592 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1593 the doc string.
1594
06bccf8e
GM
1595 * eval.c (specbind): If binding a per-buffer variable which
1596 doesn't have a buffer-local value in the current buffer, change
1597 the global value by changing the value of the symbol bound in all
1598 buffers not having their own value, to make it consistent with
1599 what happens with other buffer-local variables.
1600
8692ca92
GM
1601 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1602
1603 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1604 when searching for a newline.
1605
bb3a3b50
KH
16062001-01-18 Kenichi Handa <handa@etl.go.jp>
1607
1608 * xdisp.c (display_string): Fix previous change.
1609
c2cc16fa
JR
16102001-01-18 Jason Rumney <jasonr@gnu.org>
1611
1612 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1613 GLYPH_DEBUG is defined.
1614 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1615 true for images with `:ascent 100'.
1616 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1617 meantime, use face MOUSE_FACE_ID.
1618 If first glyph isn't a character glyph, use the ASCII NUL
1619 character to determine the face.
1620 (expose_area): Do not treat left margin specially.
1621 (note_mode_line_highlight): If no local_map, check global keymap.
1622 (note_mouse_highlight): Initialize overlay.
52283633 1623 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1624 (show_scroll_bars): Remove unused function.
1625 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1626 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1627 Clip to row.
52283633 1628 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1629 (x_free_frame_resources): Unload relief colors.
1630
9c11f79e
GM
16312001-01-17 Gerd Moellmann <gerd@gnu.org>
1632
3aec8722 1633 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1634 get_next_display_element when the newline is already found.
1635 This may change the iterator's position, when its current position is
3aec8722
GM
1636 equal to the iterator's stop_charpos.
1637
f3ffc2c3
GM
1638 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1639 zero, use this method only at the end of a line.
1640
52283633 1641 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1642 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1643 if SCALABLE_FONTS_P is set.
52283633 1644
d26d6fd9
GM
1645 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1646 so that scalable fonts are included.
1647
9c11f79e
GM
1648 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1649 In the cache, use a key containing the information if scalable
1650 fonts are included.
1651 (x_load_font): Adapt to change of keys in the font cache.
1652
16532001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1654
d26d6fd9
GM
1655 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1656 XListFonts to take advantage of font caching.
1657
9c11f79e
GM
1658 * xterm.c (x_list_fonts): Ensure caching font information when
1659 called for a null frame, which is the case frequently when Emacs
1660 starts.
1661
51446987
GM
16622001-01-17 Gerd Moellmann <gerd@gnu.org>
1663
f864120f
GM
1664 * xfns.c (QCconversion): Replaces QCalgorithm.
1665
1666 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1667
1668 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1669 of :algorithm.
52283633 1670
e37d1417
GM
1671 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1672 not everything could be displayed.
1673
51446987
GM
1674 * line.h, x-list-font.c: Files removed because unused.
1675
9ad4f3e5
AI
16762001-01-17 Andrew Innes <andrewi@gnu.org>
1677
1678 * dired.c (directory_files_internal): Convert result from readdir
1679 to a unibyte string initially, to avoid possible misinterpretation
1680 of some bytes as the internal form of Emacs characters.
1681
2eda09b5
KH
16822001-01-17 Kenichi Handa <handa@etl.go.jp>
1683
1684 * fns.c (concat): Be sure to avoid putting the same `composition'
1685 property on the adjacent regions.
1686
826f3788
GM
16872001-01-16 Gerd Moellmann <gerd@gnu.org>
1688
52283633 1689 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1690 (Fscroll_right, Fscroll_left): Set it here instead, if called
1691 interactively.
1692
d57b83b3
GM
1693 * buffer.c (Fset_buffer_modified_p): Set buffer's
1694 prevent_redisplay_optimizations_p flag.
1695
826f3788 1696 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1697 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1698 with additional arg.
1699
1700 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1701 Change prototype.
826f3788 1702
826f3788
GM
1703 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1704 FROM_WHERE, for debugging.
1705
261d788b
KH
17062001-01-16 Kenichi Handa <handa@etl.go.jp>
1707
1708 * ccl.c (Fregister_ccl_program): Handle the return value of
1709 resolve_symbol_ccl_program correctly.
52283633 1710 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1711
bccee4f2
GM
17122001-01-15 Gerd Moellmann <gerd@gnu.org>
1713
e4ded23c
GM
1714 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1715 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1716
1717 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1718 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1719 the display; we didn't open it.
1720
bccee4f2
GM
1721 * dispnew.c (save_or_restore_current_matrices): Function removed.
1722 (save_current_matrix, restore_current_matrix): New functions.
1723 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1724 restore the frame's current matrix. Due to the glyph pointer
1725 setup done in adjust_glyph_matrix, there is no easy way to make
1726 saving the current matrix in the desired matrix generally correct,
1727 so don't try it.
1728
ebeccffa
KH
17292001-01-15 Kenichi Handa <handa@etl.go.jp>
1730
1731 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1732 truncation glyphs.
1733 (display_line): Optimize for wide characters.
e4ded23c 1734 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1735 partially. On ttys, produce more than one truncation glyph for
1736 multi-column characters that don't fit on the line.
1737
64388126
KH
17382001-01-13 Kenichi Handa <handa@etl.go.jp>
1739
52283633
SM
1740 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1741 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1742
8edb0a6f
JR
17432001-01-13 Jason Rumney <jasonr@gnu.org>
1744
1745 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1746 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1747 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1748 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1749
52283633
SM
1750 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1751 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1752 (x_draw_image_glyph_string): Adapt to change of image margins.
1753
1754 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1755 variables.
1756
1757 * w32bdf.c (search_file_line, get_cached_font_char)
1758 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1759
1760 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1761
1762 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1763 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1764 (Fw32_send_sys_command): Remove unused variables.
1765 (w32_msg_pump): Add parentheses.
1766
1767 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1768 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1769 Add parentheses.
1770
4956d1ef
GM
17712001-01-12 Gerd Moellmann <gerd@gnu.org>
1772
b30623be
GM
1773 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1774 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1775 being a pair of margins.
1776 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1777 to DEFVAR_LISP. Extend doc.
1778
1779 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1780 margins.
1781 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1782 pair of integers `(X . Y)', use X for the horizontal and Y for the
1783 vertical margin.
1784 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1785 (parse_image_spec): Check it.
52283633
SM
1786 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1787 (tiff_format, gif_format, gs_format):
1788 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1789
52283633
SM
1790 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1791 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1792 (x_draw_image_glyph_string): Adapt to the change of image margins.
1793
1794 * dispextern.h (struct image): Replace member `margin' with
1795 `hmargin' and `vmargin'.
1796
4554cc79
GM
1797 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1798 and GLYPHS.
1799
1800 * dispnew.c (update_text_area): Put code which decrements the
1801 stop position when the row's face extends to the end of the
3bffc665 1802 line in #if 0.
4554cc79 1803
3cccce8d
GM
1804 * xfns.c (x_set_mouse_color): Fix color allocation.
1805
4956d1ef
GM
1806 * keyboard.c: Call get_local_map with new argument list.
1807
1808 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1809
1810 * intervals.h (enum map_property): Removed.
1811 (get_local_map): Change prototype.
1812
1813 * keymap.c: Call get_local_map with new argument list.
1814 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1815
2c2ff7f2
GM
18162001-01-11 Gerd Moellmann <gerd@gnu.org>
1817
a23887b9
GM
1818 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1819 of the size needed for the tool bar string. For the last image,
1820 use a `display' property that reaches to the end of the string.
1821
a7ee2d2e
GM
1822 * xselect.c (selection_request_dpyinfo): New variable.
1823 (x_handle_selection_request): Set it.
1824 (x_selection_request_lisp_error): Don't call
1825 x_decline_selection_request if selection request's display has
1826 been closed.
1827
52283633
SM
1828 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1829 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1830
457b792c
GM
18312001-01-10 Dave Love <fx@gnu.org>
1832
1833 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1834 ${SOME_MACHINE_LISP}, not ${lisp}.
1835
c1efd260
GM
18362001-01-10 Gerd Moellmann <gerd@gnu.org>
1837
52283633
SM
1838 * xdisp.c (display_line): On ttys, produce more than one truncation
1839 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1840
ac95a621
GM
1841 * xselect.c (x_reply_selection_request): Add a comment.
1842
c1efd260
GM
1843 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1844 XkbGetNames instead of XkbGetKeyboard.
1845
1bfb1345
DL
18462001-01-10 Dave Love <fx@gnu.org>
1847
1848 * sysdep.c (random): Revert the declaration.
1849
38119822
GM
18502001-01-09 Gerd Moellmann <gerd@gnu.org>
1851
52283633
SM
1852 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1853 Call function string_bytes.
35f464a7
GM
1854 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1855
1856 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1857 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1858 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1859 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1860 the current sblock.
1861 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1862 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1863 after sweeping strings, and at the end.
1864 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1865
38119822
GM
1866 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1867 ensure that pop_message is called.
1868
1869 * keyboard.c (Fexecute_extended_command): Use a
1870 record_unwind_protect to ensure that pop_message is called.
1871
1872 * lisp.h (push_message_unwind): Add prototype.
1873
1874 * xdisp.c (push_message_unwind): New function.
1875
1876 * fileio.c (do_auto_save_unwind): Do the pop_message here
1877 instead of in Fdo_auto_save.
1878 (Fdo_auto_save): Don't call pop_message.
1879
f47a9ec4
KR
18802001-01-08 Ken Raeburn <raeburn@gnu.org>
1881
1882 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1883 in inner block.
1884
a758f97d
GM
18852001-01-08 Gerd Moellmann <gerd@gnu.org>
1886
6d0afc03
GM
1887 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1888 when increasing window's vscroll.
1889
a758f97d
GM
1890 * macros.c (Qkbd_macro_termination_hook): New variable.
1891 (syms_of_macros): Initialize and staticpro it.
1892 (pop_kbd_macro): Run kbd-macro-termination-hook.
1893
1894 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1895
1bfb1345 18962001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1897
1898 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1899 arglist, for documentation's sake.
1900
0dac6924
AI
19012001-01-06 Andrew Innes <andrewi@gnu.org>
1902
1903 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1904 of *.pdb.
1905
8182406a
AI
19062001-01-05 Andrew Innes <andrewi@gnu.org>
1907
1908 * term.c (update_end): Don't check updating_frame; for some reason
1909 this can be 0 sometimes, such as after dismissing a popup menu,
1910 and isn't necessary given the explicit frame argument.
1911
3828218c
GM
19122001-01-05 Gerd Moellmann <gerd@gnu.org>
1913
1914 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1915 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1916
2f5ded21
GM
19172001-01-04 Gerd Moellmann <gerd@gnu.org>
1918
52283633 1919 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1920
1921 * xfns.c (x_create_tip_frame): Preserve the value of
1922 face_change_count around the creation of the tip frame.
52283633 1923
2f5ded21
GM
1924 * xfns.c (last_show_tip_args): New variable.
1925 (compute_tip_xy): New function.
1926 (Fx_show_tip): Reuse an existing tip frame, if possible.
1927 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1928
dfad65fa
DL
19292001-01-04 Dave Love <fx@gnu.org>
1930
64d4ec0f
DL
1931 * editfns.c (Fformat): Doc fix.
1932
dfad65fa
DL
1933 * systime.h (set_file_times): Prototype.
1934
1935 * widget.h (EmacsFrameSetCharSize_): Prototype.
1936
1937 * sysdep.c (random, srandom): Declare explicitly.
1938
1939 * dispextern.h (move_it_vertically_backward): Declare.
1940
85fe3b5e
GM
19412001-01-04 Gerd Moellmann <gerd@gnu.org>
1942
0f2ac578
GM
1943 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1944 like in Fx_create_frame.
1945
482cca61
GM
1946 * xfaces.c (set_font_frame_param): Don't do anything for
1947 non-graphical frames.
1948
85fe3b5e
GM
1949 * window.c (Fdelete_other_windows): Set window's window_end_valid
1950 to nil when changing the window's start. Don't change the
1951 window's start when its top position hasn't changed. If we do,
1952 this will set the window's optional_new_start, which act's like a
1953 force_start during redisplay with C-x 1 M-> under particular
1954 circumstances (see report from Per Starback to emacs-pretest-bug
1955 from 2000-12-13.).
1956
3e99d3b4
GM
19572001-01-03 Gerd Moellmann <gerd@gnu.org>
1958
a77dc1ec
GM
1959 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1960 short cut at the start of the function. Add an assertion.
1961 (reseat_at_next_visible_line_start): Add an assertion.
1962
2f3cad6c
GM
1963 * window.c (Frecenter): When changing the window start, set the
1964 window's window_end_valid to nil.
1965 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1966
1967 * dispextern.h (move_it_past_eol): Add prototype.
1968
1969 * xdisp.c (move_it_past_eol): New function.
1970
3e99d3b4
GM
1971 * window.c (Fwindow_end): Doc fix.
1972
19732001-01-03 Dave Love <fx@gnu.org>
1974
52283633 1975 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 1976
bafb434c
GM
19772001-01-03 Gerd Moellmann <gerd@gnu.org>
1978
1979 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1980 the enabled_p flag of the glyph row at window_end_vpos to 0.
1981 (handle_single_display_prop): Fix last change.
1982
5297fb00
RS
19832001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1984
1985 * window.c (Frecenter): Doc fix.
1986
13d6a61c
AI
19872001-01-02 Andrew Innes <andrewi@gnu.org>
1988
1989 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1990
1991 * frame.h (output_method): Add output_w32_console method.
1992 (FRAME_W32_CONSOLE_P): New macro.
1993
1994 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1995 use output_w32_console method.
1996 (Qw32_console): New Lisp_Object.
1997 (Fframep): Return it.
1998 (syms_of_frame): Init it.
52283633 1999 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
2000
2001 * xfaces.c (realize_default_face): Set face foreground and
2002 background to unspecified for w32_console frames.
2003 (realize_face): Realize face cache for w32_console frames.
2004 (realize_tty_face): Accept w32_console frames.
2005
52283633 2006 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
2007 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
2008 necessary, even if running interactively.
2009
2010 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
2011 w32_console frames.
2012
52283633
SM
2013 * w32term.c (x_update_begin):
2014 (x_update_end):
2015 (x_clear_frame):
2016 (x_ins_del_lines):
2017 (x_change_line_highlight):
2018 (x_delete_glyphs):
2019 (w32_ring_bell):
2020 (x_update_begin):
2021 (x_update_end):
2022 (w32_reassert_line_highlight):
2023 (w32_frame_rehighlight):
13d6a61c
AI
2024 (w32_frame_raise_lower): Do nothing if not w32 frame.
2025
2026 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
2027
2028 * w32fns.c (Fx_display_color_cells): Determine correct value, when
2029 system doesn't tell us directly.
2030 (Fx_display_visual_class): Implement properly.
2031
d6bb0c0d
GM
20322001-01-02 Gerd Moellmann <gerd@gnu.org>
2033
2034 * window.c (Frecenter): Handle centering in graphical frames
2035 specially. Centering on the basis of line counts doesn't work
2036 reliably with variable-height lines.
52283633 2037
315f5865
EZ
20382001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
2039
2040 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
2041 and al[].
2042
52283633 2043 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
2044 (update_compositions): Remove unused variable `hook'.
2045
2046 * intervals.c (get_local_map): Remove unused variable `tem'.
2047
2048 * doprnt.c (doprnt1): Remove unused variable `size'.
2049
2050 * fns.c (Flength): Remove unused variable `tail'.
2051 (Fdelete): Remove unused variable `size'.
2052
2053 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2054 and `gcpro2'.
2055
52283633 2056 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2057
2058 * data.c (find_symbol_value): Remove extra 3rd argument in the
2059 call to swap_in_symval_forwarding.
2060
52283633 2061 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2062
2063 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2064 (trivial_regexp_p): Remove unused variable `c'.
2065 (boyer_moore): Remove unused variable `k'.
2066
2067 * indent.c (current_column): Remove unused variable `stopchar'.
2068 (Fcompute_motion): Remove unused variable `contin'.
2069
2070 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2071
2072 * dired.c (directory_files_internal): Fix a typo in a comment.
2073 Remove an unused variable `handler'.
52283633 2074 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2075 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2076 on BSD4_2.
2077
52283633 2078 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2079
2080 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2081 and `buf'.
2082 (Fmarker_insertion_type): Remove unused variable `buf'.
2083
2084 * insdel.c (make_gap): Remove unused variable `result'.
2085
52283633 2086 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2087 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2088 (menu_bar_items): Remove unused function-scope variable `tem'.
2089
2090 * fontset.c (fontset_ref): Remove unused variable `i'.
2091 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2092 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2093 (make_fontset_for_ascii_face): Remove unused variable `name'.
2094 (fs_load_font): Remove unused variable `font_idx'.
52283633 2095 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2096 (list_fontsets): Remove unused variable `tail'.
2097 (Fnew_fontset): Remove unused variables `family' and `registry'.
2098 (accumulate_font_info): Remove unused variable `tmp'.
2099 (Ffontset_font): Remove unused variable `id'.
2100 (syms_of_fontset): Remove unused variable `i'.
2101
2102 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2103 to x_term_init.
2104 (lookup_image): Remove unused variable `file'.
2105 (xbm_load): Remove unused variables `bitmap_data', `height', and
2106 `width'. Remove function-local variable `i', leave the
2107 block-local one.
2108 (gif_load): Remove unused variable `inc'.
2109
52283633 2110 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2111 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2112 leave only the one in the inner block.
2113
2114 * xfaces.c (face_fontset, realize_default_face): Remove unused
2115 variable `fontset'.
2116 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2117
2118 * term.c (encode_terminal_code): Remove unused variable `c'.
2119
2120 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2121 char *' instead of `char *'.
2122
2123 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2124 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2125 (Fchar_category_set): Remove unused variables `val', `charset',
2126 `c1' and `c2'.
2127
52283633
SM
2128 * coding.c (detect_coding_iso2022, setup_coding_system):
2129 Remove unused variable `i'.
315f5865
EZ
2130 (detect_coding_mask): Remove unused variable `idx'.
2131 (detect_coding): Remove unused variable `i'.
2132 (ccl_coding_driver): Remove unused variable `result'.
2133 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2134 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2135 (encode_coding_string): Remove unused variables `gcpro1' and
2136 `saved_coding_symbol'.
2137 (Ffind_coding_systems_region_internal): Remove function-local
2138 variable args[], leave only the block-local one.
2139 (code_convert_region1): Remove unused variable `len'.
2140
2141 * charset.c (char_printable_p): Remove unused variable `chars'.
2142 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2143 (str_to_multibyte): Remove unused variable `c'.
2144
2145 * window.c (size_window): Remove block-local variable `min_size'.
2146
2147 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2148 `header_line_height'.
2149 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2150 enum display_element_type.
2151
1a8a9daf
GM
21522001-01-02 Gerd Moellmann <gerd@gnu.org>
2153
6dde6abc 2154 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2155 statements that call X. Save away the error message in a local copy.
2156
1883b2c6
GM
2157 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2158 the start.
2159
a13be207
GM
2160 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2161 in or at the start of invisible text.
2162
1a8a9daf
GM
2163 * dispnew.c (update_window): Don't check_current_matrix_flags.
2164
3608c0f9
JR
21652001-01-01 Jason Rumney <jasonr@gnu.org>
2166
2167 * w32fns.c (x_figure_window_size): Do not allow new_height and
2168 new_width of frame to override specified values.
2169
abb1acc4
KH
21702000-12-30 Kenichi Handa <handa@etl.go.jp>
2171
52283633 2172 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2173
762a68ec
GM
21742000-12-29 Gerd Moellmann <gerd@gnu.org>
2175
52283633 2176 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2177 (update_window) [GLYPH_DEBUG]: Call it.
2178 (scrolling_window): Prevent including current rows which are below
2179 what's displayed in the window.
2180
2181 * xdisp.c (try_window_reusing_current_matrix)
2182 <new start <= old start>: Disable rows in the current matrix
2183 which are below the window after scrolling.
52283633 2184
762a68ec
GM
2185 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2186 is zero. It's not worth the complexity.
2187 (invisible_text_between_p): Put in #if 0 because unused.
2188
2d5912c1
GM
21892000-12-28 Gerd Moellmann <gerd@gnu.org>
2190
46f6a258
GM
2191 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2192 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2193
89f93679
GM
2194 * keyboard.c (echo_char): If C is an integer, always call
2195 push_key_description. Former code could signal an invalid
2196 character error.
2197
2198 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2199 If set, print multibyte text.
2200 (Fsingle_key_description): Call push_key_description with
2201 FORCE_MULTIBYTE set.
2202 (describe_buffer_bindings): Likewise.
2203
2204 * lisp.h (push_key_description): Add prototype.
2205
c06017fb
GM
2206 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2207 around the call to redisplay_internal.
2208
f1d2ce7f
GM
2209 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2210
2d5912c1
GM
2211 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2212
9371f831
KH
22132000-12-28 Kenichi Handa <handa@etl.go.jp>
2214
2215 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2216 (ccl_driver): New local variable `extra_bytes'.
2217
2218 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2219
52283633
SM
2220 * coding.c (setup_coding_system):
2221 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2222 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2223
0c80628a
KH
22242000-12-28 Kenichi Handa <handa@etl.go.jp>
2225
2226 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2227 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2228 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2229 (decode_composition_emacs_mule): New function.
2230 (decode_coding_emacs_mule): Decode composition sequence by calling
2231 decode_composition_emacs_mule.
2232 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2233 (encode_coding_emacs_mule): Changed from macro to function.
2234 If a text contains compositions, encode them correctly.
0c80628a
KH
2235 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2236 that decoding and encoding are required.
2237
3e32cc27
GM
22382000-12-27 Gerd Moellmann <gerd@gnu.org>
2239
5e25feee
GM
2240 * xfaces.c (PT_PER_INCH): New macro.
2241 (xlfd_point_size): Compute real point size from font's pixel size.
2242 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2243 instead of 72.
2244
892d8fcd
GM
2245 * .gdbinit: Comment out the line pointing to the Lesstif source
2246 directory.
2247
12c8b416
GM
2248 * window.c (Frecenter): Use displayed_window_lines instead
2249 of window_internal_height.
2250
6061fbf0
GM
2251 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2252 instead of x-toolkit-scroll-bars-p.
2253 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2254
2255 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2256 instead of x-toolkit-scroll-bars-p.
2257 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2258
3e32cc27
GM
2259 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2260 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2261 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2262 New variables.
2263 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2264 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2265 (build_frame_matrix_from_leaf_window): Remove unused code.
2266 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2267 redisplay history.
2268 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2269 (update_window) [GLYPH_DEBUG]: Likewise.
2270 (syms_of_display): Defsubr dump-redisplay-history.
2271
31798cfe
GM
22722000-12-23 Gerd Moellmann <gerd@gnu.org>
2273
f717c2ba
GM
2274 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2275 the end of the prompt. Set echo_after_prompt to the offset
2276 of echoptr in echobuf.
2277
aeb2b8fc
GM
2278 * xdisp.c (init_from_display_pos): Pop until the iterator's
2279 stack is empty; there may be frames for stretch or images
2280 on the stack.
2281
31798cfe
GM
2282 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2283 (save_or_restore_current_matrix): New function for the same
2284 purpose, but more efficient.
2285 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2286
f8156156
EZ
22872000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2288
2289 * xdisp.c (syms_of_xdisp): Fix last change.
2290
bdd6d4e8
GM
22912000-12-23 Gerd Moellmann <gerd@gnu.org>
2292
2293 * xdisp.c (syms_of_xdisp): Doc fix.
2294
2295 * xdisp.c (redisplay_window): Remove label restore_buffers;
2296 use finish_scroll_bars instead to make sure that scroll bars
2297 are redeemed. If we don't do this, flickering can result from
2298 scroll bars being destroyed and recreated.
2299
9436cdf9
JR
23002000-12-22 Jason Rumney <jasonr@gnu.org>
2301
2302 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2303 in the wrong colors when the foreground is not black.
2304 (expose_window): Don't redraw the window that's currently being
2305 updated.
2306
951f9df5
GM
23072000-12-22 Gerd Moellmann <gerd@gnu.org>
2308
856ff7a7
GM
2309 * window.c (size_window): When setting the window's too_small_ok
2310 flag, compare old size with minimum size depending on WIDTH_P,
2311 don't compare with window_min_width.
52283633 2312
951f9df5
GM
2313 * window.c (delete_window): Simplify somewhat.
2314 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2315 freeing window matrices. The flag windows_or_buffers_changed is
2316 set, so the next redisplay will consider all windows; this should
2317 suffice.
2318
886bc933
KH
23192000-12-22 Kenichi Handa <handa@etl.go.jp>
2320
2321 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2322
2323 * ccl.h (struct ccl_program): New member cr_consumed.
2324
2325 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2326 (CCL_READ_CHAR): Handle EOL conversion here.
2327 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2328
177f4e88
GM
23292000-12-21 Gerd Moellmann <gerd@gnu.org>
2330
52283633 2331 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2332
2333 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2334 otherwise tabs of different size compare equal.
2335
2336 * callint.c (Fcall_interactively): Prevent a compiler warning.
2337
2338 * print.c (print_unwind): Return nil.
2339 (PRINTDECLARE): Initialize all local variables.
2340 (print_preprocess): Add a default case.
2341
8e15274f
GM
2342 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2343
2344 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2345
52283633 2346 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2347 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2348
2349 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2350
2351 * dispnew.c (ensure_frame_matrix): Removed.
2352 (save_frame_matrix, restore_frame_matrix): New functions.
2353 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2354
2355 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2356 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2357
99012074
AI
23582000-12-21 Andrew Innes <andrewi@gnu.org>
2359
2360 * w32term.c (x_update_begin): Regenerate the palette here, rather
2361 than for each window.
2362
2363 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2364 palette is NULL, since this corrupts memory! Also get
2365 display_info reference from frame.
2366
29ef7d2d
JR
23672000-12-21 Jason Rumney <jasonr@gnu.org>
2368
2369 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2370
2371 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2372 to avoid returning without releasing it.
3e27fa1f 2373
3f9d67a6
KH
23742000-12-21 Kenichi Handa <handa@etl.go.jp>
2375
587fc3f9
KH
2376 * keymap.c (push_key_description): Don't convert eight-bit-control
2377 and eight-bit-graphic to multibyte character.
2378
3f9d67a6
KH
2379 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2380 generic character and CODE1 is nil, return the smallest character
2381 in CHARSET.
2382
774ba8c9
DL
23832000-12-20 Dave Love <fx@gnu.org>
2384
2385 * s/osf5-0.h (NSIG): Don't redefine.
2386
88416888
SM
23872000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2388
2389 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2390 excluding menu-bar and tool-bar.
2391 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2392 (menu_item_p): Remove.
2393 (where_is_internal_1): Don't ignore menu-items.
2394
a6426c6f
GM
23952000-12-20 Gerd Moellmann <gerd@gnu.org>
2396
03ff8aab
GM
2397 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2398 into account.
2399
2400 * window.c (make_window): Initialize window's min_hscroll.
2401 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2402 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2403 to zero.
2404 (struct saved_window): New member min_hscroll.
2405 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2406 (Fset_window_configuration): Set window's min_hscroll.
2407 (save_window_save): Save window's min_hscroll.
2408 (compare_window_configurations): Compare min_hscroll values.
2409
2410 * window.h (struct window): New member min_hscroll.
2411
2412 * keyboard.c (echo_prompt): Prevent a compiler warning.
2413
8de4aaf8
GM
2414 * xdisp.c (try_cursor_movement): Fix last change. The real
2415 condition is that PT is at the end of the row, and should
2416 be displayed at the start of the next row.
52283633 2417
3f7e3031
GM
2418 * xdisp.c (try_cursor_movement): If we end on a partially
2419 visible line, end we already decided to scroll, return -1.
2420
a6426c6f
GM
2421 * dispextern.h (ensure_frame_matrix): Add prototype.
2422
2423 * window.c (delete_window, Fsplit_window)
2424 (Fset_window_configuration): Call ensure_frame_matrix.
2425
52283633
SM
2426 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2427 New functions.
a6426c6f
GM
2428 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2429 completed, call fake_current_matrices instead of marking frame
2430 garbaged.
2431
57fa2774
JR
24322000-12-20 Jason Rumney <jasonr@gnu.org>
2433
2434 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2435
d925df90
EZ
24362000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2437
2438 * fns.c (Frequire): Doc fix.
2439
7b93a85b
GM
24402000-12-19 Gerd Moellmann <gerd@gnu.org>
2441
52283633 2442 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2443
c74e645b
GM
2444 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2445 currently displaying a message.
2446
7b93a85b
GM
2447 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2448 xterm.h.
2449 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2450
90d97e64
AI
24512000-12-18 Andrew Innes <andrewi@gnu.org>
2452
2453 * w32.c (w32_strerror): New function.
2454
2455 * w32.h (w32_strerror): New extern.
2456
2457 * w32fns.c (Fw32_shell_execute): Use it.
2458
91c9e6ce
GM
24592000-12-18 Gerd Moellmann <gerd@gnu.org>
2460
2461 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2462
6f4745e2
EZ
24632000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2464
2465 * msdos.c (IT_set_face): Obey inverse_video.
2466
c9e088ce
KH
24672000-12-18 Kenichi Handa <handa@etl.go.jp>
2468
2469 * dired.c (directory_files_internal): Always return decoded filenames.
2470
c3695f5f
GM
24712000-12-18 Gerd Moellmann <gerd@gnu.org>
2472
52d8e4ff
GM
2473 * xterm.c (x_connection_closed): Prevent being called recursively
2474 because of an error condition in XtCloseDisplay.
52283633 2475
62be9979
GM
2476 * xdisp.c (init_iterator): If noninteractive, and the frame's
2477 face cache is null, make one.
2478
52283633 2479 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2480
c3695f5f
GM
2481 * process.c (wait_reading_process_input): Check for pending
2482 input when running timers.
2483
78555fbe
EZ
24842000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2485
52283633 2486 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2487
b2b36264
KH
24882000-12-18 Kenichi Handa <handa@etl.go.jp>
2489
2490 * process.c (read_process_output): Don't run a filter if the code
2491 decoder produces nothing but carryover.
2492
9c543fbf
AI
24932000-12-17 Andrew Innes <andrewi@gnu.org>
2494
2495 * w32.c (sys_rename): Only check errno against EEXIST, and not
2496 EACCES, when determining whether rename failed because the target
2497 exists. This was resulting in indefinite looping on Windows 9x if
2498 the source file was locked by another process.
2499
2500 * w32fns.c (Ffile_system_info): New function.
2501 (syms_of_w32fns): Defsubr it.
2502
10c2b5a8
GM
25032000-12-17 Gerd Moellmann <gerd@gnu.org>
2504
b0228ace
GM
2505 * window.c (coordinates_in_window): Fix computation for
2506 position on vertical line between mode lines.
2507
10c2b5a8
GM
2508 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2509 Don't alter tip_frame or tip_window.
2510 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2511 was deleted.
2512
c844a81a
GM
2513 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2514 Don't alter tip_frame or tip_window.
2515 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2516 was deleted.
2517
6c825f8e
EZ
25182000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2519
2520 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2521 be consistent with the doc string. Reported by NAKAJIMA Mikio
2522 <minakaji@osaka.email.ne.jp>.
2523
af4bb4c8
KH
25242000-12-16 Kenichi Handa <handa@etl.go.jp>
2525
2526 * xfaces.c (Vface_ignored_fonts): New variable.
2527 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2528 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2529
8062e53a
GM
25302000-12-15 Gerd Moellmann <gerd@gnu.org>
2531
e87b8809
GM
2532 * dispnew.c (update_window): Detect pending input every nth line
2533 updated, i.e. do it depending on real work done, and not on the
2534 vpos of the line.
2535
2536 * xterm.c (expose_window): Don't redraw the window that's
2537 currently being updated.
2538
a6768cc5
GM
2539 * window.c (Fset_window_point): Remove test for
2540 cursor_in_non_selected_windows.
2541
4ea7fdca
GM
2542 * lread.c (read1): Recognize end of file after `\\'.
2543
8062e53a
GM
2544 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2545 not unwind_create_frame.
2546
bb7959c1
GM
25472000-12-15 Dave Love <fx@gnu.org>
2548
2549 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2550 bcopy & al.
2551
2552 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2553
ced04c42
KH
25542000-12-15 Kenichi Handa <handa@etl.go.jp>
2555
c5443913
KH
2556 * coding.c (setup_coding_system): Clear all members of the struct
2557 coding_system at first.
bc137305
KH
2558 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2559 argument.
2560 (code_convert_region): Don't override coding->src_multibyte and
2561 coding->dst_multibyte.
c5443913 2562
ced04c42
KH
2563 * fns.c (Fmd5): Docstring improved.
2564
c2d7f289
MB
25652000-12-15 Miles Bader <miles@gnu.org>
2566
2567 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2568 are actually marked as mode-lines; otherwise use
2569 estimate_mode_line_height.
2570
9d7d9263
GM
25712000-12-14 Gerd Moellmann <gerd@gnu.org>
2572
2573 * editfns.c (Fformat): Prevent a buffer overrun when the format
2574 specifies a precision.
2575
7cf0153a
EZ
25762000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2577
2578 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2579 argument is outside the range [2..3].
2580
1de0f662
AI
25812000-12-14 Andrew Innes <andrewi@gnu.org>
2582
2583 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2584 nothing to do. Bind inhibit-quit.
2585 (tip_frame): Make it a Lisp_Object.
2586 (x_create_tip_frame): Set tip_frame after it has been added to
2587 Vframe_list.
2588 (Fx_show_tip): Don't set tip_frame here.
52283633 2589 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2590 (unwind_create_frame, unwind_create_tip_frame): New functions.
2591 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2592 while a frame is only partially constructed.
2593
2594 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2595 (x_free_frame_resources): New function.
2596 (x_destroy_window): Use it.
2597
02387dcc
GM
25982000-12-14 Gerd Moellmann <gerd@gnu.org>
2599
2600 * xfns.c (Fx_backspace_delete_keys_p): New function.
2601 (syms_of_xfns): Defsubr it.
2602
2603 * config.in (HAVE_XKBGETKEYBOARD): Add.
2604
0544ef49
KH
26052000-12-14 Kenichi Handa <handa@etl.go.jp>
2606
98d62747
KH
2607 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2608 Always store string in multibyte representation in echobuf.
2609 (echo_char): Always store string in multibyte representation in
2610 echobuf.
2611 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2612 (read_key_sequence): Adjusted for the change of echo_prompt.
2613
a20193cd
KH
2614 * fns.c (Fmd5): Docstring improved.
2615
191b83b6
KH
2616 * lisp.h (detect_coding_system): Prototype adjusted.
2617
0544ef49
KH
2618 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2619 (detect_coding_emacs_mule, detect_coding_iso2022,)
2620 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2621 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2622 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2623 (detect_coding_mask, detect_coding_system): New argument
2624 MULTIBYTEP. Callers changed.
1da1bb05
KH
2625 (decode_coding_string): Set coding->src_multibyte and
2626 coding->dst_multibyte before calling detect_coding and detect_eol.
2627 Update them after some coding system is detected.
52283633 2628
d5b3eb1b
SM
26292000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2630
2631 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2632
2633 * keyboard.c (menu_bar_items, tool_bar_items):
2634 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2635
f7f8bb69
GM
26362000-12-13 Gerd Moellmann <gerd@gnu.org>
2637
52283633 2638 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2639 New variables.
2640 (unwind_create_frame, unwind_create_tip_frame): New functions.
2641 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2642 while a frame is only partially constructed.
2643
2644 * xterm.h (x_free_frame_resources): Declare.
2645
2646 * xterm.c (x_free_frame_resources): New function.
2647 (x_destroy_window): Use it.
2648
e10da507
GM
2649 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2650 don't interrupt the update for pending input initially, i.e.
2651 update at least some lines.
2652
2653 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2654
d5b3eb1b 2655 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2656
2657 * xfns.c (gray_bitmap_bits): Declare `char *'.
2658
90aa2856
GM
26592000-12-12 Gerd Moellmann <gerd@gnu.org>
2660
2661 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2662 lines start with a relief line.
2663
a308c9cd
DL
26642000-12-12 Dave Love <fx@gnu.org>
2665
2666 * window.c (Fdisplay_buffer): Doc fix.
2667 (Fwindow_list): Remove unused var.
2668
2669 * buffer.h (mmap_set_vars): Declare.
2670
2671 * window.h (Fset_window_point): Declare.
2672
d575011f
EZ
26732000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2674
bf6282d2 2675 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2676 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2677 variable `area'. When looking for a row under (X,Y), give up if some
2678 of the previous rows is not enabled.
d575011f 2679
ecf4d726
GM
26802000-12-12 Gerd Moellmann <gerd@gnu.org>
2681
2ebf6139
GM
2682 * window.c (Fset_window_point): If displaying cursors in windows
2683 other than the selected window, make sure redisplay updates
2684 other windows to show the new value of point in the window.
2685
2686 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2687
bfdb75ee
GM
2688 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2689 the buffer is the sole visible buffer when in the mini-buffer.
2690
52283633 2691 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2692 Bind `inhibit-read-only' to t.
2693 (unwind_with_echo_area_buffer): Use AREF.
2694
c0006262
GM
2695 * xfns.c (Fx_hide_tip): Simplified.
2696
52283633
SM
2697 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2698 instead of `1'.
e9a59cad 2699
ecf4d726
GM
2700 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2701
e5959a9a
GM
27022000-12-11 Gerd Moellmann <gerd@gnu.org>
2703
a3642e49 2704 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2705
44b5a125
GM
2706 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2707 nothing to do. Bind inhibit-quit.
2708 (tip_frame): Make it a Lisp_Object.
2709 (x_create_tip_frame): Set tip_frame after it has been added to
2710 Vframe_list.
2711 (Fx_show_tip): Don't set tip_frame here.
2712
2713 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2714
2715 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2716 Lisp_Object.
2717
2718 * dispextern.h: Change external declaration of tip_frame.
2719
d990421f
GM
2720 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2721 return an empty string.
2722
4db87380
GM
2723 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2724 of the window's update_mode_line flag, since the former is set by
2725 force-mode-line-update, not the latter. This makes
2726 column-number-mode slightly faster.
52283633 2727
e5959a9a
GM
2728 * xdisp.c (try_window_id) <all changes above window start>:
2729 Set the cursor.
2730
169fe44e
GM
27312000-12-11 Paul Eggert <eggert@twinsun.com>
2732
2733 * config.in (HAVE_FTELLO): Remove.
2734 (HAVE_FSEEKO): Add.
2735 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2736 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2737 HAVE_FTELLO.
2738 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2739 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2740
59ec59ae
MB
27412000-12-11 Miles Bader <miles@gnu.org>
2742
2743 * window.c (displayed_window_lines): Don't round up when
2744 converting empty space at bottom to lines.
ff904dd6
MB
2745 Handle non-newline-terminated final lines properly.
2746 (Fwindow_text_height): New function (used to be in lisp).
2747 (syms_of_window): Initialize it.
59ec59ae 2748
42ebfa31
SM
27492000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2750
2751 * syntax.c (scan_lists): Check that the right quote char has the
2752 right Sstring syntax when jumping over strings.
2753 (init_syntax_once): Use Smax rather than 13.
2754
5cdb3cf3
MB
27552000-12-09 Miles Bader <miles@gnu.org>
2756
2757 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2758 with PARTIALLY, inverting the sense.
2759 (window_scroll_pixel_based): Scroll partially visible lines into
2760 place if we hit the beginning or end of the buffer.
a12167c5
MB
2761 (displayed_window_lines): Don't include partially visible lines.
2762 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2763
842b2a94
GM
27642000-12-08 Gerd Moellmann <gerd@gnu.org>
2765
2766 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2767
2768 * tparam.c (tparam1): Change the way buffers are reallocated to be
2769 portable and less obfuscated.
2770
2771 * termcap.c (tgetent): Change the way buffers are reallocated to
2772 be portable and less obfuscated.
2773
2774 * macros.c (store_kbd_macro_char): Change the way buffers are
2775 reallocated to be portable and less obfuscated.
2776
2777 * lread.c (read1): Change the way buffers are reallocated to be
2778 portable and less obfuscated.
2779
2780 * doc.c (Fsubstitute_command_keys): Change the way buffers
2781 are reallocated so that it is portable.
2782
137cad7c
EZ
27832000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2784
2785 * dosfns.c (Ffile_system_info): New function.
2786 (syms_of_dosfns): Defsubr it.
2787
5c7f629c
SM
27882000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2789
2790 * alloc.c (gc_sweep): Add comment.
2791
959e647d
GM
27922000-12-07 Gerd Moellmann <gerd@gnu.org>
2793
52283633
SM
2794 * sound.c (vox_configure): Change order of ioctls.
2795 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2796 Ignore errors when changing volume.
2797 (vox_close): Don't reset the device.
2798
926b7e5e
GM
2799 * process.c (read_process_output): Make sure the process marker's
2800 position is valid when the process buffer is changed in
2801 after-change functions. W3 does that.
52283633 2802
959e647d
GM
2803 * xfns.c (x_free_gcs): New function.
2804
2805 * xterm.h (x_free_gcs): Add prototype.
2806
2807 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2808 freeing GCs here.
2809
2810 * xterm.c (x_destroy_window): Call x_free_gcs so that
2811 resources of non-toolkit X windows will be freed.
2812
478ea067
AI
28132000-12-07 Andrew Innes <andrewi@gnu.org>
2814
2815 * w32fns.c (xlfd_charset_of_font): Fix last change.
2816
fbee3231
DL
28172000-12-06 Dave Love <fx@gnu.org>
2818
67292061
DL
2819 * md5.h (__P): Don't define -- it comes from config.h.
2820
fbee3231
DL
2821 * strftime.c: Change some #if foo to #ifdef foo.
2822
4ee87dbb
AI
28232000-12-06 Andrew Innes <andrewi@gnu.org>
2824
2825 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2826
52283633 2827 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2828 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2829 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2830
9765b4a4
GM
28312000-12-06 Gerd Moellmann <gerd@gnu.org>
2832
d285b373
GM
2833 * alloc.c (gc_sweep): Prevent symbols read during loadup
2834 from being freed.
2835
384333ee
GM
2836 * xdisp.c (underlying_face_id): New function.
2837 (handle_face_prop, face_before_or_after_it_pos): Use it
2838 to determine the face ``under'' a string. Let strings inherit
2839 the face of the buffer under them.
2840
2841 * xfaces.c (face_at_string_position): Update function comment.
52283633 2842
d4b72d58
GM
2843 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2844 matrix if the window's left position has changed; we need to
2845 redraw it in this case.
2846
2847 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2848
e1d05387
GM
2849 * window.c (coordinates_in_window): Check mouse on mode-line or
2850 header-line first.
2851
eb1b0c74
GM
2852 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2853 advertized by the function documentation.
2854
d94d636f
GM
2855 * window.c (syms_of_window): Doc fix.
2856
3887b449
GM
2857 * sound.c (vox_configure): Set volume for left and right channel.
2858 (sound_cleanup): Return nil.
2859
efc8f57a
GM
2860 * xdisp.c (move_it_by_lines): Fix paren typo.
2861
9765b4a4
GM
2862 * xterm.c (x_load_font): Don't use the font's max_bounds for
2863 computing the height of the font. If max_bounds' ascent or
2864 descent are greater than the font's ascent or descent, this means
2865 glyphs overlap, which should be handled now by redisplay.
2866
6529ed87
GM
2867 * window.c (Veven_window_heights): New variable.
2868 (syms_of_window): DEFVAR_LISP it.
2869 (Fdisplay_buffer): Check Veven_window_heights before evening the
2870 window heights.
52283633 2871
0eb2ecde
MB
28722000-12-06 Miles Bader <miles@gnu.org>
2873
2874 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2875 update `default-frame-alist' instead of setting no frame parameters.
2876
03d7a167
KH
28772000-12-06 Kenichi Handa <handa@etl.go.jp>
2878
2879 * composite.c (update_compositions): Fix typo (use the correct
2880 variable).
2881
5f8803c2
JR
28822000-12-05 Jason Rumney <jasonr@gnu.org>
2883
2884 * md5.h: Remove underscores from function declarations.
2885 (__attribute__, __alignof__) [!__GNUC__]: Define.
2886
2887 * md5.c: Delay include of md5.h until after namespace cleaning.
2888
c28a075b
JR
2889 * makefile.w32-in (fns.o): Depend on md5.h
2890 (md5.o): New target.
2891 (sunfns.o): Remove.
2892
2893 * makefile.nt: Likewise.
2894
ff3c7056
JR
28952000-12-05 Jason Rumney <jasonr@altavista.net>
2896
2897 * w32term.c (expose_area): Complete last change.
2898
0c21eeeb
KR
28992000-12-05 Ken Raeburn <raeburn@gnu.org>
2900
2901 * minibuf.c: Include intervals.h.
2902
f201d732
JR
29032000-12-05 Jason Rumney <jasonr@gnu.org>
2904
2905 * w32term.c (x_produce_glyphs): If a font for a component of
2906 a composition is not found, use 1 pixel dot ascent and 0 dot
2907 descent value to avoid displaying terribly tall empty boxes.
2908 (expose_area): Pass x-coordinate relative to the exposed
2909 area to x_draw_glyphs instead of a window-relative coordinate.
2910
21999ab9
GM
29112000-12-05 Gerd Moellmann <gerd@gnu.org>
2912
4d2036e4
GM
2913 * xdisp.c (next_element_from_ellipsis): Save face before selective
2914 display in saved_face_id, and set face_before_selective_p.
2915 (reseat_1): Reset face_before_selective_p.
2916 (append_space, extend_face_to_end_of_line): If iterator's
2917 face_before_selective_p is set, use the face from saved_face_id.
2918 (extend_face_to_end_of_line): For tty frames, make sure to
2919 use the right face id when producing spaces at the end of
2920 the line.
2921
2922 * dispextern.h (struct it): Add face_before_selective_p.
2923
52be17cc
GM
2924 * keyboard.c (record_char): Don't record identical help-echo
2925 events in recent_keys.
2926
8a4f36cc
GM
2927 * xterm.c [USE_X_TOOLKIT]: Close the display.
2928 (xim_close_dpy): Handle case that the display has been closed.
2929
57d6e381
GM
2930 * xterm.c (x_destroy_window): Reset the frame's X window after
2931 destroying it.
2932
21999ab9
GM
2933 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2934 variable window_width.
2935 (line_draw_cost): Fix code skipping over spaces at the end of the
2936 line when must_write_spaces is not set.
2937 (scrolling_window): Fix code inserting runs in list of all runs.
2938
91372bb7
KH
29392000-12-05 Kenichi Handa <handa@etl.go.jp>
2940
2941 * coding.c (setup_coding_system): Be sure to initialize
2942 coding->category_idx.
2943
6c083b4c
GM
29442000-12-04 Gerd Moellmann <gerd@gnu.org>
2945
0c68ce6f 2946 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2947
6452929e
GM
2948 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2949 area to x_draw_glyphs instead of a window-relative coordinate.
2950
d7f31e22
GM
2951 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2952 error in the message.
2953
ae18aa3b
GM
2954 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2955 timer after having read a key. It's not good for code reading
2956 several keys in a loop, like an input method.
2957
caa15ef7
GM
2958 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2959 record undo information for format-decode.
2960
2961 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2962 current buffer is read-only, not if it isn't.
2963
6c083b4c
GM
2964 * keyboard.c (record_char): Record `help-echo' input events
2965 in recent_keys only if they display some help. Don't record
2966 `help-echo' events as macro char.
2967
caa15ef7
GM
29682000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2969
2970 * editfns.c (save_excursion_restore): Don't move point
2971 in another window if it is showing the wrong buffer.
2972 Avoid the call to Fwindow_live_p, for speed.
2973
5a13529b
KH
29742000-12-04 Kenichi Handa <handa@etl.go.jp>
2975
e225faa7
KH
2976 * xfaces.c (struct font_name): New member registry_priority.
2977 (split_font_name): Initialize the above member to zero.
2978 (concat_font_list): New function.
2979 (font_list): Include fonts of all alternative registries.
2980 (FONT_POINT_SIZE_QUANTUM): New macro.
2981 (better_font_p): Ignore point size difference less than
2982 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2983
e89648b4
KH
2984 * xterm.c (x_produce_glyphs): If a font for a component of
2985 a composition is not found, use 1 pixel dot ascent and 0 dot
2986 descent value to avoid displaying terribly tall empty boxes.
2987
5a13529b
KH
2988 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2989
d7935eb6
KR
29902000-12-03 Ken Raeburn <raeburn@gnu.org>
2991
2992 * coding.h (code_convert_string1): Declare.
2993
2994 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2995
52283633 2996 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 2997
0dd5e255
JR
29982000-12-02 Jason Rumney <jasonr@gnu.org>
2999
3000 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
3001 correctly for single byte character case.
3002 (w32_per_char_metric): Do not try to make any assumptions about
3003 the metrics of BDF fonts.
250cfece 3004 (x_estimate_mode_line_height): If `mode-line' face
52283633 3005 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
3006 (note_mouse_highlight): Change the cursor shape on the vertical
3007 border between windows [not enabled].
3008
3009 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
3010
3011 * w32fns.c (Fx_create_frame): Reintroduce the call to
3012 face-set-after-frame-defaults.
3013 (Vx_window_horizontal_drag_shape): New variable.
3014 (syms_of_xfns): DEFVAR_LISP it.
3015 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
3016 enabled].
0dd5e255 3017
b5d8d2ca
GM
30182000-12-02 Simon Josefsson <simon@josefsson.org>
3019
3020 * fns.c (Fmd5): Use a different logic to decide the coding system
3021 to use.
3022
3023 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
3024
fbb87147
EZ
30252000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
3026
52283633 3027 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 3028
447e9da0
GM
30292000-12-01 Gerd Moellmann <gerd@gnu.org>
3030
7708ced0
GM
3031 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
3032 height for YNegative.
3033 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
3034 height; also see comment there.
3035
447e9da0
GM
3036 * window.c (coordinates_in_window): Handle computations for
3037 positions on the vertical bar and fringes differently for
3038 window-system frames. Consider some pixels near the vertical bar
3039 as on the bar if the frame doesn't have vertical scroll bars.
3040 Associate positions between mode or header lines with the
3041 right window, the left one.
3042
86d1db20
JR
30432000-12-01 Jason Rumney <jasonr@gnu.org>
3044
3045 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
3046
3047 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3048 invalid frame.
3049
a1d58e5b
GM
30502000-12-01 Gerd Moellmann <gerd@gnu.org>
3051
52283633 3052 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3053 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3054 (save_window_save, Fset_window_configuration): Save/restore
3055 window's orig_top and orig_height.
3056
89c609af
JR
30572000-12-01 Jason Rumney <jasonr@gnu.org>
3058
4d177746 3059 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3060
89c609af
JR
3061 * w32fns.c (x_set_cursor_color): Fix last change.
3062
eccc05db
GM
30632000-11-30 Gerd Moellmann <gerd@gnu.org>
3064
31b6671b
GM
3065 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3066 sure that the next redisplay displays the minibuffer, so that
3067 the cursor will be replaced with what the minibuffer wants.
3068
eccc05db
GM
3069 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3070 #ifndef instead of using #if.
3071 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3072 USE_TOOLKIT_SCROLL_BARS is defined.
3073
162de750
JR
30742000-11-30 Jason Rumney <jasonr@gnu.org>
3075
3076 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3077 x_display_cursor.
3078
693c4692
GM
30792000-11-30 Gerd Moellmann <gerd@gnu.org>
3080
3081 * fns.c (Fmd5): Doc fix.
3082
b5d8d2ca 30832000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3084
3085 * fns.c (Fmd5): New function.
3086 (syms_of_fns): Defsubr md5.
3087
3088 * Makefile.in (obj): Add md5.o
3089
b02cd40b
GM
30902000-11-30 Gerd Moellmann <gerd@gnu.org>
3091
edfb795e
GM
3092 * md5.h, md5.c: New files, taken from glibc.
3093
df3aedcf
GM
3094 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3095
b02cd40b 3096 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3097 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3098
8b5176cd
SM
30992000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3100
3101 * eval.c (Frun_hooks): Allow 0 arguments.
3102
346598f1
GM
31032000-11-29 Gerd Moellmann <gerd@gnu.org>
3104
f9396e03
GM
3105 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3106 is over the menu bar widget, say it's not on the frame.
3107
4a967a9b
GM
3108 * xfns.c (Fx_create_frame): Reintroduce the call to
3109 face-set-after-frame-defaults.
3110
346598f1
GM
3111 * eval.c (Fsignal): Reset handling_signal.
3112
222456a1
JR
31132000-11-28 Jason Rumney <jasonr@gnu.org>
3114
3115 * w32menu.c (add_menu_item): Reset menu item text when changing
3116 type to radio button.
3117
8049ddc0
GM
31182000-11-28 Gerd Moellmann <gerd@gnu.org>
3119
346598f1 3120 * xselect.c: Update copyright.
f4f4ee4d 3121
bebe4a2c
GM
3122 * window.c (coordinates_in_window): If on a mode or header line,
3123 but sufficiently close to its start, return ``on vertical
3124 border''. This gives us a way to drag windows horizontally when
3125 using toolkit scroll bars.
3126
3127 * xterm.c (note_mouse_highlight): Change the cursor shape
3128 on the vertical border between windows.
3129
3130 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3131
3132 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3133 (syms_of_xfns): DEFVAR_LISP it.
3134 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3135
8d2c2642
GM
3136 * textprop.c (text_read_only): New function.
3137 (verify_interval_modification): Use it instead of signaling
3138 `text-read-only'. This makes it easier to catch this error
52283633 3139 with a breakpoint.:
8d2c2642 3140
52283633 3141 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3142 not end of line, which includes CR.
3143
5a2bae6c
KH
31442000-11-28 Kenichi Handa <handa@etl.go.jp>
3145
3146 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3147 include no-conversion.
3148
ae31f84d
JR
31492000-11-27 Jason Rumney <jasonr@gnu.org>
3150
3151 * w32fns.c (w32_load_system_font): Always mark font as double byte
3152 if codepage is unicode.
3153
67f1cf4c
GM
31542000-11-27 Gerd Moellmann <gerd@gnu.org>
3155
4a74d071 3156 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3157 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3158
902ae620
GM
3159 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3160 `vertical-line', `mode-line' and `header-line' events.
3161
3162 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3163 of a character, a TAB for instance. This is easier than to set
3164 up the iterator exactly, and it's not a frequent case, so the
3165 additional effort wouldn't really pay off.
3166
c1e279c2
AC
31672000-11-26 Andrew Choi <akochoi@i-cable.com>
3168
67f1cf4c 3169 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3170 init_window_once.
3171
a609568a
JR
31722000-11-25 Jason Rumney <jasonr@gnu.org>
3173
52283633
SM
3174 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3175 Args to window_from_coordinates should be pixel coordinates.
48b21762 3176
a609568a
JR
3177 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3178 redisplay handles them properly.
3179
a658d039
MB
31802000-11-25 Miles Bader <miles@gnu.org>
3181
3182 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3183
d3416cca
JR
31842000-11-24 Jason Rumney <jasonr@gnu.org>
3185
3186 * w32.c (init_environment): Set LANG environment variable based on
3187 locale settings, if not set.
3188
3189 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3190 making tool bar smaller. When clearing the frame, also
3191 clear current matrices. Clear frame when tool bar disappears.
3192 Don't use more lines for the tool-bar than is available.
3193 (x_change_window_heights): New function.
3194
ba193890
GM
31952000-11-24 Gerd Moellmann <gerd@gnu.org>
3196
2be8f184
GM
3197 * xdisp.c (init_from_display_pos): If POS says we're already after
3198 an overlay string ending at POS, make sure to pop the iterator
3199 because it will be in front of that overlay string. When POS is
3200 ZV, we've thereby also ``processed'' overlay strings at ZV.
3201
ba193890
GM
3202 * xfaces.c (lface_from_face_name): Function comment fix.
3203
1862a24e
MB
32042000-11-24 Miles Bader <miles@gnu.org>
3205
3206 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3207 apply `mode-line-inverse-video' -- zero means force display using
3208 the default face, non-zero means display using the specialized face.
3209 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3210
f07fa1b8
KH
32112000-11-23 Kenichi Handa <handa@etl.go.jp>
3212
3213 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3214 hard coded `4'.
3215
2bcdf662
EZ
32162000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3217
3218 * coding.c (decode_coding_emacs_mule): Fix the case of
3219 CODING_EOL_LF, which used uninitialized value of c.
3220
ba8299ff
SM
32212000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3222
3223 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3224
f4117c4d
GM
32252000-11-22 Gerd Moellmann <gerd@gnu.org>
3226
03e757c1
GM
3227 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3228 buffer object.
3229
f4117c4d
GM
3230 * frame.h (struct frame): Replace desired_tool_bar_items,
3231 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3232 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3233
3234 * frame.c (make_frame): Change initialization of tool bar
3235 items accordingly.
3236
3237 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3238 Change references to members deleted from struct frame to use the
f4117c4d
GM
3239 new ones.
3240
3241 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3242 references to members deleted from struct frame to use the new ones.
f4117c4d 3243
52283633 3244 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3245
3246 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3247
3248 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3249 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3250 from struct frame to use the new ones.
3251
f8e2f3f2
MB
32522000-11-23 Miles Bader <miles@gnu.org>
3253
3254 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3255 the face's inverse-video attribute, rather than overriding it.
3256
60e8e0a5
GM
32572000-11-22 Gerd Moellmann <gerd@gnu.org>
3258
3259 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3260 making tool bar smaller.
3261
92dd1b29
DL
32622000-11-22 Dave Love <fx@gnu.org>
3263
3264 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3265
e672fdce
MB
32662000-11-22 Miles Bader <miles@gnu.org>
3267
3a17d6cc
MB
3268 * keyboard.c (Vminibuffer_message_timeout): New variable.
3269 (command_loop_1): Use it to determine message timeout.
3270 (syms_of_keyboard): Initialize it.
3271
60e8e0a5 3272 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3273
e9655d81
KH
32742000-11-22 Kenichi Handa <handa@etl.go.jp>
3275
3276 * sysdep.c: Move the code for declaring h_errno after #include
3277 <netdb.h>.
3278
77270fac
GM
32792000-11-21 Gerd Moellmann <gerd@gnu.org>
3280
cd913aae
GM
3281 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3282 the menu bar when the tooltip is unmapped.
3283
77270fac
GM
3284 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3285 sole visible buffer when we're currently in the mini-buffer, and
3286 give up if so.
52283633 3287
556635d6
JR
32882000-11-21 Jason Rumney <jasonr@gnu.org>
3289
3290 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3291 put on the clipboard.
3292 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3293 copy of what Emacs last put there. If they are the same, do not
52283633 3294 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3295
5b7bde64
MB
32962000-11-22 Miles Bader <miles@gnu.org>
3297
3298 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3299 (syms_of_minibuf): Initialize it.
3300 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3301 to prompt, don't make read-only.
3302
ff23e1dd
GM
33032000-11-21 Gerd Moellmann <gerd@gnu.org>
3304
52283633
SM
3305 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3306 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3307
7aaf4388
GM
3308 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3309
f5f47add 3310 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3311
ff23e1dd
GM
3312 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3313
37c35586
KH
33142000-11-21 Kenichi Handa <handa@etl.go.jp>
3315
3316 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3317 ... #endif scope.
3318
ff9ab414
GM
33192000-11-20 Gerd Moellmann <gerd@gnu.org>
3320
52283633 3321 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3322 screen supports it.
3323
29a01b72
GM
3324 * s/gnu-linux.h: Don't use `#cpu'.
3325
09dfdf85
GM
3326 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3327 not defined in mman.h.
3328
52283633 3329 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3330 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3331 and store an index in the XClientMessageEvent. Storing a
3332 Lisp_Object or pointer can fail on a 64 bit system, since X only
3333 transfers 32 bits.
52283633
SM
3334 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3335
81459ac9
DL
33362000-11-20 Dave Love <fx@gnu.org>
3337
3338 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3339
56c13ae6
GM
33402000-11-20 Gerd Moellmann <gerd@gnu.org>
3341
3342 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3343
495a6df3
KH
33442000-11-20 Kenichi Handa <handa@etl.go.jp>
3345
2bcf3714
KH
3346 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3347 by WIDTH.
3348
495a6df3
KH
3349 * alloc.c (make_string): Fix previous change. Be sure to make
3350 unibyte string correctly.
3351
6d950f4c
GM
33522000-11-19 Gerd Moellmann <gerd@gnu.org>
3353
39b39373
GM
3354 * window.c (Fwindow_list): Change parameter list to be XEmacs
3355 compatible.
3356 (window_list_1): New function.
3357 (window_loop): Use it instead of Fwindow_list.
3358
b95b34e5
GM
3359 * sysdep.c (emacs_ospeed): New variable.
3360 (toplevel): Don't declare ospeed extern.
3361 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3362
3363 * termcap.c (ospeed): Remove.
3364 (tputs) [!emacs]: Remove unused code.
3365 (tgetent): Avoid a compiler warning.
3366
e83dc917
GM
3367 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3368 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3369 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3370
3371 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3372 removed.
3373 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3374 Take the X display as additional argument.
3375 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3376 `Widget' is a pointer type that's not easily stored in Lisp_Object
3377 form in a portable way.
52283633 3378
6d950f4c
GM
3379 * dispnew.c (update_text_area): Fix last change.
3380
e47306e6
GM
33812000-11-18 Gerd Moellmann <gerd@gnu.org>
3382
fb3cd89b
GM
3383 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3384
3385 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3386 clear current matrices.
3387
edaa9aed
GM
3388 * buffer.c (mmap_enlarge): Don't print a message on stderr
3389 if mapping new memory at the end of the existing region fails.
3390
e47306e6
GM
3391 * dispnew.c (update_text_area): Don't skip over equal glyphs
3392 when the last current glyph overlaps the glyph to its right.
3393
509633e3
MB
33942000-11-18 Miles Bader <miles@gnu.org>
3395
3396 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3397 lines that *end* with "..." too (that's the most common case!).
3398
d392e9c5
GM
33992000-11-18 Gerd Moellmann <gerd@gnu.org>
3400
67988445
GM
3401 * xdisp.c (resize_mini_window): Temporarily change to the
3402 mini-window's buffer if necessary.
1bfdbe43 3403
d392e9c5
GM
3404 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3405 the tooltip obscures less text under it.
3406
34072000-11-17 Gerd Moellmann <gerd@gnu.org>
3408
3409 * puresize.h (BASE_PURESIZE): Increase to 700000.
3410
92bb977f
JR
34112000-11-18 Jason Rumney <jasonr@gnu.org>
3412
3413 * w32term.c (w32_draw_bitmap): Use face to set colors.
3414
26fbf20b
DL
34152000-11-17 Dave Love <fx@gnu.org>
3416
3417 * lread.c (Fload): Fix #ifdef for pcc.
3418
100b593b
GM
34192000-11-17 Gerd Moellmann <gerd@gnu.org>
3420
3421 * xdisp.c (pos_visible_p): Compute the default character height
3422 differently.
3423
a288d0d1
GM
34242000-11-16 Gerd Moellmann <gerd@gnu.org>
3425
cac94de6 3426 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3427 knowing the line's height; use the default font's height in that case.
cac94de6 3428
a288d0d1
GM
3429 * xfaces.c (weight_table): Add `demi' with the same meaning as
3430 `demibold'.
3431
981fb6f6
KH
34322000-11-16 Kenichi Handa <handa@etl.go.jp>
3433
2cca872d 3434 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3435 (clear_glyph_row): Delete local static variable null_row.
3436
e5fa381b
JR
34372000-11-15 Jason Rumney <jasonr@gnu.org>
3438
3439 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3440 (w32_alloc_lighter_color): Use new brightness calculations from
3441 xterm.c. Scale delta to be in the range expected by W32.
3442 (w32_draw_relief_rect): Use frame relief colors.
3443
8e42f043
GM
34442000-11-15 Gerd Moellmann <gerd@gnu.org>
3445
6d133d1f
GM
3446 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3447 (Qinhibit_default_face_x_resources): New variable.
3448 (syms_of_frame): Initialize it.
3449 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3450
3451 * xdisp.c (pos_visible_p): Improve function comment.
3452
3453 * lisp.h (BINDING_STACK_SIZE): New macro.
3454
8e42f043
GM
3455 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3456 reading the directory if readdir returns null and errno is EAGAIN
3457 or EINTR.
3458
e8c87124
SM
34592000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3460
3461 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3462 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3463 Set amount_to_scroll to max of dx and scroll_step so that
3464 scroll-conservatively doesn't defeat scroll-step>1.
3465 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3466 scroll-conservatively for line-at-a-time scrolling.
3467
5f0c971d
GM
34682000-11-14 Gerd Moellmann <gerd@gnu.org>
3469
3470 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3471 extra argument.
3472
3473 * xdisp.c (current_mode_line_height, current_header_line_height):
3474 New variables.
3475 (init_xdisp): Initialize them.
3476 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3477 and use exact mode line heights if it is set.
3478
3479 * lisp.h (pos_visible_p): Change prototype.
3480
3481 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3482 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3483 and current_header_line_height first.
52283633
SM
3484 (current_mode_line_height, current_header_line_height):
3485 Declare extern.
5f0c971d 3486
d7361edf
MB
34872000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3488
3489 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3490 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3491 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3492
ee5e440a
MB
34932000-11-14 Miles Bader <miles@gnu.org>
3494
3495 * xterm.c (x_alloc_lighter_color): Include an additive component
3496 too for dark colors, because FACTOR isn't enough.
3497 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3498 New macros.
3499
5ca020fc
GM
35002000-11-13 Gerd Moellmann <gerd@gnu.org>
3501
3502 * keyboard.c (show_help_echo): Call message3_nolog with number of
3503 bytes in the help string as 2nd parameter, instead of the number
3504 of characters.
3505
9d348294
MB
35062000-11-13 Miles Bader <miles@gnu.org>
3507
3508 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3509 (Fload): Use new openp return protocol.
3510 Don't try to use Vload_source_file_function to load .elc files.
3511 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3512 openp return protocol.
3513 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3514
1729bb9a
KH
35152000-11-11 Kenichi Handa <handa@etl.go.jp>
3516
4e677396
KH
3517 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3518
3519 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3520 Defined these macros.
3521 (NLIST_STRUCT): Avoid re-defining it.
3522
1729bb9a
KH
3523 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3524 -I/usr/contrib/X11R6/include.
3525 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3526
a82fe213
JR
35272000-11-10 Jason Rumney <jasonr@gnu.org>
3528
3529 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3530
3531 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3532 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3533
3534 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3535 (Qw32_charset_vietnamese): New symbol.
3536 (xlfd_charset_of_font): New function.
3537 (w32_load_system_font): Use it.
3538 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3539 when Vw32_charset_info_alist is nil to ensure default face always
3540 has font. Use Fcar and Fcdr for safety.
3541 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3542 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3543 pseudo-codepages for special cases.
3544 (w32_to_x_font): New parameter to allow charset portion to be
3545 specified where there is many to one mapping. Callers changed.
3546 (w32_list_fonts): Avoid listing fonts that won't display.
3547
52d89894
GM
35482000-11-10 Gerd Moellmann <gerd@gnu.org>
3549
3550 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3551 (font_list_1): Renamed from font_list.
3552 (font_list): New function, trying alternative registries from
3553 Vface_alternative_font_registry_alist.
3554 (Finternal_set_alternative_font_registry_alist): New function.
3555 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3556 Vface_alternative_font_registry_alist.
3557 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3558
651cd3da
KR
35592000-11-09 Ken Raeburn <raeburn@gnu.org>
3560
3561 * lisp.h (Flooking_at): Declare.
3562
388ac098
GM
35632000-11-09 Gerd Moellmann <gerd@gnu.org>
3564
778fbc46 3565 * dired.c (directory_files_internal): Fix a braino.
52283633 3566
388ac098
GM
3567 * dired.c (directory_files_internal): Add missing GCPRO's.
3568 Some cleanup.
3569
ecaedde1
GM
35702000-11-08 Gerd Moellmann <gerd@gnu.org>
3571
f7eb32aa
GM
3572 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3573 (resize_mini_window): Return quickly if Vresize_mini_window is
3574 nil. Don't return if Vmax_mini_window_height is nil.
3575
3576 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3577 (syms_of_xdisp): Initialize them.
3578 (resize_mini_window): Act according to the setting of
3579 Vresize_mini_window.
3580 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3581
ecaedde1
GM
3582 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3583 scroll bar widget after configuring it, so that it will appear at
3584 the right position from the start.
3585 (XTredeem_scroll_bar): Cleaned up.
3586
3747ef2c
KH
35872000-11-08 Kenichi Handa <handa@etl.go.jp>
3588
3589 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3590 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3591 division by two.
3592
3593 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3594
03391420
DL
35952000-11-07 Dave Love <fx@gnu.org>
3596
7758f1c1 3597 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3598
3599 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3600
b5de343d
GM
36012000-11-07 Gerd Moellmann <gerd@gnu.org>
3602
acad3c0b
GM
3603 * window.c (Fset_window_configuration): Don't try to preserve
3604 point in the current buffer, if that buffer is displayed in more
3605 than one window.
3606
b5de343d
GM
3607 * xfaces.c (lookup_named_face): If default face isn't realized,
3608 try to realize it. Return -1 if not successful.
3609 (Fx_list_fonts): Handle case that face cannot be determined.
3610 (Fface_font): Likewise.
3611
cdb1fe49
GM
36122000-11-06 Gerd Moellmann <gerd@gnu.org>
3613
3614 * window.c (displayed_window_lines): Detect partially
3615 visible lines at the bottom correctly.
3616
d3a67486
SM
36172000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3618
3619 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3620 when ensuring we don't do visit in indirect buffer.
3621
ff8dd5d5
KH
36222000-11-06 Kenichi Handa <handa@etl.go.jp>
3623
3624 * composite.h (compose_chars_in_text): Add prototype.
3625
3626 * composite.c (Vcomposition_function_table): New variable.
3627 (Qcomposition_function_table): New variable.
3628 (run_composition_function): Call
3629 Vcompose_chars_after_function with three arguments.
3630 (compose_chars_in_text): New function.
3631 (syms_of_composite): Modified the doc-string of
3632 Vcompose_chars_after_function. Declare composition-function-table
3633 as a lisp variable, and initialize it.
3634
3635 * xfns.c (x_encode_text): Suppress producing escape sequences for
3636 composition.
3637
3638 * xselect.c: Include composite.h.
3639 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3640
d1145f85
AI
36412000-11-05 Andrew Innes <andrewi@gnu.org>
3642
3643 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3644
3645 * sysdep.c (read_input_waiting): Remove extraneous argument to
3646 read_socket_hook.
3647
3648 * w32fns.c (Fx_server_version): Include w32_build_number in the
3649 return list.
3650
3651 * w32heap.c (w32_build_number): New variable.
3652 (cache_system_info): Set it.
3653
3654 * w32heap.h (w32_build_number): Add extern.
3655
3656 * emacs.c (syms_of_emacs): Update docstring for
3657 system-configuration, to reflect the actual usage on MS-Windows.
3658
e85ee976
GM
36592000-10-31 Gerd Moellmann <gerd@gnu.org>
3660
26dcb81b
GM
3661 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3662 process idle timers while waiting for another event.
3663
52283633 3664 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3665 the default face are colored.
3666
e85ee976
GM
3667 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3668 window height hasn't changed.
3669
01b220b6
JR
36702000-10-31 Jason Rumney <jasonr@gnu.org>
3671
3672 * w32term.c (x_produce_glyphs): Handle composite characters.
3673 (x_draw_glyph_string_foreground)
3674 (x_draw_composite_glyph_string_foreground): Restore old font.
3675
4e6b7204
MB
36762000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3677
3678 * minibuf.c (read_minibuf): Reset the undo history just before
3679 starting the recursive-edit.
3680
d4358b37
GM
36812000-10-30 Gerd Moellmann <gerd@gnu.org>
3682
563f68f1
GM
3683 * xfaces.c (menu_face_change_count): New variable.
3684 (Finternal_set_lisp_face_attribute): Increment it for changes
3685 of the `menu' face.
3686 (realize_basic_faces): Reflect changes in the `menu' faces
3687 in menu bars.
3688
82e274d1
GM
3689 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3690 dy obtained from the iterator's y-position after moving from
3691 scroll_margin_pos to PT; see comment there.
52283633 3692
0dbf9fd2
GM
3693 * xdisp.c (safe_eval_handler): Call add_to_log.
3694
906b3b14
GM
3695 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3696 is not a symbol or string.
3697
d4358b37
GM
3698 * xdisp.c (echo_area_display): Don't perform a display update from
3699 inside redisplay. The update will happen anyway at the end of
3700 redisplay, and it can confuse redisplay (GC messages while
3701 redisplaying, for instance.)
3702
70c825df
SM
37032000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3704
cf9b4b0b
SM
3705 * xrdb.c (x_load_resources): Use the class name in the defaults.
3706
70c825df
SM
3707 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3708 (regex_compile): Catch bogus \(\1\).
3709
a1d34b1e
GM
37102000-10-30 Gerd Moellmann <gerd@gnu.org>
3711
cae71efe
GM
3712 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3713 RGB values.
52283633 3714
35efe0a1
GM
3715 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3716 we have a color cache, check that the cached color equals the
3717 allocated color. If not, clear the color cache.
3718
1d3baf74
GM
3719 * window.c (displayed_window_lines): Change buffers if necessary.
3720 Fix computation of displayed lines.
3721
a1d34b1e
GM
3722 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3723 update_menu_bindings to DEFVAR_BOOL.
3724
70737ea9
KH
37252000-10-30 Kenichi Handa <handa@etl.go.jp>
3726
70c825df 3727 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3728
fa0cb51d
KH
3729 * puresize.h (BASE_PURESIZE): Increase to 680000.
3730
70737ea9
KH
3731 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3732
0e4c08e8
JR
37332000-10-29 Jason Rumney <jasonr@gnu.org>
3734
3735 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3736
3737 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3738 (w32_cache_char_metrics): Handle possibility that 'x' does not
3739 exist in a BDF font.
3740 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3741
3742 * w32bdf.h (bdffont): Add nchars.
3743
3744 * w32bdf.c (set_bdf_font_info): Set it.
3745 (w32_BDF_TextOut): Swap byte order of double byte characters.
3746 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3747
45b84006
EZ
37482000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3749
3750 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3751 don't override the colors in frame's param_alist, unless they are
3752 unspecified.
3753
3754 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3755 reverse the effect of the highlight flag.
3756
caf9deee
KR
37572000-10-27 Ken Raeburn <raeburn@gnu.org>
3758
3759 * window.h (Fwindow_live_p): Declare.
3760
ae0b9b46
KR
3761 * undo.c (record_delete): Check that last_undo_buffer is really a
3762 buffer before applying XBUFFER to it.
3763
3764 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3765 Faref.
3766
02067692
SM
37672000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3768
3769 * lisp.h (KEYMAPP): New macro.
3770 (get_keymap): Remove.
3771 (get_keymap_1): Rename get_keymap.
3772
3773 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3774
3775 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3776
3777 * xmenu.c (single_submenu): Use KEYMAPP.
3778 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3779 Use KEYMAPP rather than Fkeymapp.
3780
3781 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3782
3783 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3784 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3785 Use KEYMAPP rather than Fkeymapp.
3786 (single_submenu): Use KEYMAPP.
3787 (w32_menu_show, w32_dialog_show): Use TRUE.
3788
3789 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3790
3791 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3792 (Fkeymapp): Use KEYMAPP.
3793 (get_keymap): Rename from get_keymap_1. Remove old def.
3794 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3795 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3796 (Fminor_mode_key_binding): Don't raise an error if the binding
3797 is not a keymap.
3798 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3799 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3800
3801 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3802 Allow Vspecial_event_map to be autoloaded.
3803 (menu_bar_items): Fetch the keymap rather than using keymapp.
3804 (menu_bar_one_keymap): No need to follow func-indirect any more.
3805 (parse_menu_item): get_keymap_1 -> get_keymap.
3806 (tool_bar_items): Fetch the keymap rather than using keymapp.
3807 (read_key_sequence): Use KEYMAPP.
3808
3809 * intervals.c (get_local_map): Use get_keymap rather than following
3810 function-indirections explicitly.
3811
3812 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3813
f9d80af3
JR
38142000-10-27 Jason Rumney <jasonr@gnu.org>
3815
3816 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3817 point, as Windows has oversized fonts.
3818
3819 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3820
a3ba27da
GM
38212000-10-27 Gerd Moellmann <gerd@gnu.org>
3822
3823 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3824 (freehook, reallochook): Handle null pointer arguments.
3825 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3826
aa3b80cc
SM
38272000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3828
3829 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3830 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3831 Giving in to popular pressure to shut up the compiler with casts.
3832
e24e84cc
GM
38332000-10-27 Gerd Moellmann <gerd@gnu.org>
3834
3835 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3836 signed value, and use a default value computed from the font's
3837 maximum descent.
3838
05ea7ef2
MB
38392000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3840
3841 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3842 that specify a negative underline position can still use underlines.
3843
3844 * window.c (Fpos_visible_in_window_p): Make POS default to
3845 WINDOW's point, not the current buffer's point.
3846
0b95284b
DL
38472000-10-26 Dave Love <fx@gnu.org>
3848
3849 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3850 when it's necessary.
3851
6c5b90af
GM
38522000-10-26 Gerd Moellmann <gerd@gnu.org>
3853
8b6d9dc9
GM
3854 * window.c (size_window): Compute size difference from sum of old
3855 child window sizes instead of from parent's size.
3856
6bc92b2e
GM
3857 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3858 Handle obscured lines at the top of the window.
3859
3860 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3861 down after the last error condition check.
3862
6c5b90af
GM
3863 * frame.c (Fdelete_frame): Run delete-frame-hook.
3864
42f92d4d
KH
38652000-10-26 Kenichi Handa <handa@etl.go.jp>
3866
3867 * coding.c (decode_coding): Fix previous change (check also
3868 CODING_MODE_LAST_BLOCK).
3869
d97151cb
SM
38702000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3871
e7efc503
SM
3872 * regex.c: More `unsigned char' -> `re_char' changes.
3873 Also change several `int' into `re_wchar_t'.
3874 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3875 (PUSH_FAILURE_POINTER): Don't cast any more.
3876 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3877 We want GCC to complain, since this piece of code makes
3878 re_match non-reentrant, which *should* be fixed.
3879 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3880 (EXTEND_BUFFER): Use RETALLOC.
3881 (SET_LIST_BIT): Don't cast.
3882 (re_wchar_t): New type.
3883 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3884 that those two functions will always properly return.
3885 (IMMEDIATE_QUIT_CHECK): Cast to void.
3886 (analyse_first): Use recursion rather than an explicit stack.
3887 (re_compile_fastmap): Can't fail anymore.
3888 (re_search_2): Don't check re_compile_fastmap for failure.
3889 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3890 Now also sets the new value (passed in a new argument).
3891 (re_match_2_internal): Use it.
3892 Also, use a new var `reg' of type size_t when looping through regs
3893 rather than reuse the inappropriate `mcnt'.
3894
d97151cb
SM
3895 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3896 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3897 (where_is_internal): Renamed from Fwhere_is_internal.
3898 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3899 (Fwhere_is_internal): New function wrapping where_is_internal.
3900 (where_is_internal_1): Handle the case where we're filling the cache.
3901 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3902
d5789b65
MB
39032000-10-25 Miles Bader <miles@gnu.org>
3904
3905 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3906
4ecda532
GM
39072000-10-25 Gerd Moellmann <gerd@gnu.org>
3908
3909 * window.c (pos_fully_visible_p): Removed.
3910 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3911 if position is visible and/or fully visible.
3912
3913 * lisp.h (pos_visible_p): Add prototype.
3914
3915 * xdisp.c (pos_visible_p): New function.
3916
68c3a137
KH
39172000-10-25 Kenichi Handa <handa@etl.go.jp>
3918
3919 * process.c (send_process): If OBJECT is t, it means that the data
3920 is from C string, but we should encode it. Before calling
3921 setup_raw_text_coding_system, be sure to flush out data by the
3922 previous coding system.
3923
7ae1c032
MB
39242000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3925
ff4dcd4b
MB
3926 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3927 assignment of startpos to prev when startpos == pos.
3928
7ae1c032
MB
3929 * editfns.c (find_field): Set the field stickiness correctly from
3930 overlay fields. Use renamed `text_property_stickiness'.
3931 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3932 Only check text properties, not overlays.
7ae1c032
MB
3933 * textprop.c (get_char_property_and_overlay): New function.
3934 (Fget_char_property): Use it.
3935 * intervals.h (get_char_property_and_overlay): Add declaration.
3936
49801145
SM
39372000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3938
3939 * keymap.c: Use AREF, ASET and ASIZE macros.
3940 (Fmake_sparse_keymap): Docstring fix.
3941 (synkey): Remove.
3942 (shadow_lookup): Move up.
3943 Handle the case where lookup-key returns an integer.
3944 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3945 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3946 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3947 Simplify/rewrite the keymap-finding code.
3948 Add check for command shadowing, using shadow_lookup.
3949
39e776cd
SM
39502000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3951
3952 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3953 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3954 a symbol.
3955
2488aba5
AI
39562000-10-24 Andrew Innes <andrewi@gnu.org>
3957
3958 * dired.c (directory_files_internal_unwind): New function.
3959 (directory_files_internal): Use it to ensure closedir is called
3960 even if expand-file-name or file-attributes throw, eg. because of
3961 a user interrupt. Also enable immediate_quit while calling
3962 re_search, so that matching can be interrupted as well.
3963
b94fdf61
AI
39642000-10-24 Andrew Innes <andrewi@gnu.org>
3965
3966 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3967 NT-Emacs only.
3968 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3969 so that re_search functions only quit when callers expect them to.
3970
39712000-10-24 Kenichi Handa <handa@etl.go.jp>
3972
3973 * regex.c (regex_compile): Change the way of handling a range from
3974 a char less than 256 to a char not less than 256.
3975
1946f901
GM
39762000-10-24 Gerd Moellmann <gerd@gnu.org>
3977
7ae2f10f
GM
3978 * window.c (size_window): Prevent setting window's width or
3979 height to a negative value (esp. with XSETFASTINT).
3980
5dcab13e
GM
3981 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3982 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3983 (protect_malloc_state) [GC_MALLOC_CHECK &&
3984 GC_PROTECT_MALLOC_STATE]: New function.
3985 (PROTECT_MALLOC_STATE): New macro.
3986 (__malloc_initialize, morecore, _malloc_internal)
3987 (_free_internal) _realloc_internal): Use it to make _heapinfo
3988 read-only outside of gmalloc.
3989
63e1b552
GM
3990 * keymap.c: Update copyright.
3991
1946f901
GM
3992 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3993 a symbol.
3994
4fa09beb
GM
39952000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3996
3997 * filelock.c (unlock_all_files): Use unlock_file to expand each
3998 buffer's file_truename before trying remove its lock file.
3999
23afac01
EZ
40002000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
4001
4002 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
4003 or CRLF, decode EOLs.
4004
04448b95
KH
40052000-10-24 Kenichi Handa <handa@etl.go.jp>
4006
4007 * window.c (Fdisplay_buffer): Fix doc.
4008
3090a5a5
JR
40092000-10-23 Jason Rumney <jasonr@gnu.org>
4010
4011 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
4012 ASCII font of default fontset on Windows.
4013
4014 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
4015 xterm.c comment below).
4016
4017 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
4018
a83fee2c
GM
40192000-10-23 Gerd Moellmann <gerd@gnu.org>
4020
4021 * xterm.c (x_connection_closed): Reset handling_signal.
4022
52283633 4023 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 4024
6ffdb539
MB
40252000-10-23 Miles Bader <miles@gnu.org>
4026
4027 * window.c (window_scroll_pixel_based, window_scroll_line_based):
4028 Pass nil for FULLY argument to Fpos_visible_in_window_p to
4029 maintain old behavior.
4030 * minibuf.c (Fminibuffer_complete): Likewise.
4031
7f1c969b
MB
40322000-10-23 Miles Bader <miles@lsi.nec.co.jp>
4033
4034 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
4035 that when a font can't be exactly centered, it errs up rather than
4036 down.
4037
23afac01 40382000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 4039
52283633 4040 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 4041
1a578e9b
AC
40422000-10-23 Andrew Choi <akochoi@i-cable.com>
4043
4044 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
4045
4046 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4047 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4048
4049 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4050 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4051 syms_of_search, x_term_init, and init_keyboard before calling
4052 init_window_once. Also, call syms_of_xmenu.
4053
4054 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4055 default fontset to Monaco.
4056
4057 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4058 NewMacWindow and DisposeMacWindow.
4059 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4060 instead of calling NewMacWindow and setting fields of
4061 f->output_data.mac directly. Call init_frame_faces.
4062 (Fdelete_frame) [macintosh]: Remove unused code.
4063 (Fmodify_frame_parameters) [macintosh]: Call
4064 x_set_frame_parameters instead of mac_set_frame_parameters.
4065
4066 * frame.h [macintosh]: Define menu_bar_lines field in struct
4067 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4068
4069 * keyboard.c [macintosh]: Include macterm.h.
4070 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4071 and menu_bar_activate_event type events as for X and NT.
4072 (make_lispy_event) [macintosh]: Construct lisp events of type
4073 MENU_BAR_EVENT as for X and NT.
4074
4075 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4076 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4077 (sys_subshell) [macintosh]: Remove definition entirely.
4078 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4079 Vwindow_system_version here. Remove initialization of
4080 Vx_bitmap_file_path.
4081 (read_input_waiting): Correct the number of parameters passed to
4082 read_socket_hook.
4083 Move all Macintosh functions to mac/mac.c.
4084
4085 * term.c [macintosh]: Include macterm.h.
4086
4087 * window.c [macintosh]: Include macterm.h.
4088
4089 * xdisp.c [macintosh]: Include macterm.h. Declare
4090 set_frame_menubar and pending_menu_activation.
4091 (echo_area_display) [macintosh]: Do not return if terminal frame
4092 is the selected frame.
4093 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4094 Allow only the selected frame to set menu bar.
4095 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4096 calling FRAME_EXTERNAL_MENU_BAR (f).
4097 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4098
4099 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4100 and check_x. Declare XCreateGC. Define x_create_gc and
4101 x_free_gc. Initialize font_sort_order.
4102 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4103 but call x_list_fonts instead of w32_list_fonts.
4104 (Finternal_face_x_get_resource) [macintosh]: Do not call
4105 display_x_get_resource.
4106 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4107 (realize_x_face) [macintosh]: Load the font if it is specified in
4108 ATTRS.
52283633 4109 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4110
1ffbabe3
SM
41112000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4112
4113 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4114 is nil: since we go to the end of submap anyway, we'd end up
4115 setting nil to nil.
4116 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4117 doesn't obey autoload.
4118
bed43f1d
EZ
41192000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4120
1ffbabe3 4121 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4122
ea4233a7
JR
41232000-10-21 Jason Rumney <jasonr@gnu.org>
4124
4125 * w32term.c (w32_cache_char_metrics): Double check that font is
4126 really fixed pitch before trusting tmPitchAndFamily.
4127
f3d3c491
AI
41282000-10-21 Andrew Innes <andrewi@gnu.org>
4129
4130 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4131
4132 * w32term.h: Extern decl for w32_cache_char_metrics.
4133
4134 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4135
4136 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4137 (w32_unload_font): Free per_char array if present.
4138
4139 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4140 cached information in emulated XFontStruct to handle common cases
4141 quickly. Do not allocate XCharStruct for return.
4142 (w32_native_per_char_metric): New function.
4143 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4144 allocating one.
4145 (x_produce_glyphs): Don't get an HDC. Change calls to
4146 w32_per_char_metric to match arg change above. Remove calls to
4147 free results.
4148 (w32_get_glyph_overhangs): Ditto.
4149 (w32_cache_char_metrics): New function.
4150
4151 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4152 ($(BLD)/casefiddle.$(O)): Remove compile command.
4153 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4154 ($(BLD)/dispnew.obj):
4155 ($(BLD)/keyboard.obj):
4156 ($(BLD)/w32inevt.obj):
4157 ($(BLD)/w32bdf.obj):
4158 ($(BLD)/alloc.obj):
4159 ($(BLD)/buffer.obj):
4160 ($(BLD)/editfns.obj):
4161 ($(BLD)/emacs.obj):
4162 ($(BLD)/fileio.obj):
4163 ($(BLD)/fns.obj):
4164 ($(BLD)/indent.obj):
4165 ($(BLD)/insdel.obj):
4166 ($(BLD)/intervals.obj):
4167 ($(BLD)/minibuf.obj):
4168 ($(BLD)/print.obj):
4169 ($(BLD)/scroll.obj):
4170 ($(BLD)/sysdep.obj):
4171 ($(BLD)/textprop.obj):
4172 ($(BLD)/widget.obj):
f3d3c491
AI
4173 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4174 ($(BLD)/term.obj): Add dependency on dispextern.h.
4175
52283633
SM
4176 * makefile.nt ($(BLD)\dispnew.obj):
4177 ($(BLD)\keyboard.obj):
4178 ($(BLD)\w32inevt.obj):
4179 ($(BLD)\w32bdf.obj):
4180 ($(BLD)\alloc.obj):
4181 ($(BLD)\buffer.obj):
4182 ($(BLD)\editfns.obj):
4183 ($(BLD)\emacs.obj):
4184 ($(BLD)\fileio.obj):
4185 ($(BLD)\fns.obj):
4186 ($(BLD)\indent.obj):
4187 ($(BLD)\insdel.obj):
4188 ($(BLD)\intervals.obj):
4189 ($(BLD)\minibuf.obj):
4190 ($(BLD)\print.obj):
4191 ($(BLD)\scroll.obj):
4192 ($(BLD)\sysdep.obj):
4193 ($(BLD)\textprop.obj):
4194 ($(BLD)\widget.obj):
f3d3c491
AI
4195 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4196 ($(BLD)\term.obj): Add dependency on dispextern.h
4197
18ad4821
EZ
41982000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4199
4200 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4201 with an additional argument of Qt.
4202
de54681a
MB
42032000-10-21 Miles Bader <miles@gnu.org>
4204
4205 * window.c (pos_fully_visible_in_window_p): New function.
4206 (Fpos_visible_in_window_p): Add FULLY argument.
4207 Use pos_fully_visible_in_window_p.
4208 (window_scroll_pixel_based, window_scroll_line_based): Update
4209 calls to Fpos_visible_in_window_p.
4210 * lisp.h (Fpos_visible_in_window_p): Update prototype
4211
13c844fb
GM
42122000-10-20 Gerd Moellmann <gerd@gnu.org>
4213
4214 * alloc.c (toplevel): Conditionalize compilation of mem_*
4215 functions differently.
52283633 4216
d9506268
JR
42172000-10-20 Jason Rumney <jasonr@gnu.org>
4218
4219 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4220 mem_init where it used to be. mem_z etc not defined otherwise.
4221
8094989b
GM
42222000-10-20 Gerd Moellmann <gerd@gnu.org>
4223
4224 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4225 GC_MALLOC_CHECK.
4226 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4227 structure definition and related variabled to the top of the file.
4228 Include this code when GC_MALLOC_CHECK is defined.
4229 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4230 register/unregister allocated region.
4231 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4232 which isn't allocated.
4233 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4234 something which is already in use.
4235 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4236 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4237 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4238 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4239
4240 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4241 _malloc_internal instead of malloc.
4242 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4243 of free.
4244
ea456eb4
AI
42452000-10-20 Andrew Innes <andrewi@gnu.org>
4246
4247 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4248 Windows.
4249 (my_strftime) <macro>: Don't use macro arg list when redefining as
4250 _strftime_copytm.
4251 (my_strftime) <function>: Supply 0 as ut argument.
4252
e64c3a75
JR
42532000-10-19 Jason Rumney <jasonr@altavista.net>
4254
4255 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4256 including dispextern.h, as it stops faces from working.
4257
4258 * w32fns.c (Fx_create_frame): Don't bother calling
4259 face-set-after-frame-default since the caller does it for us
4260 anyway. Clean up calls to x_get_arg to be consistent with X.
4261
4262 * w32term.c (x_produce_glyphs): Handle
4263 unibyte_display_via_language_environment correctly.
4264 (w32_draw_box_rect): Fix the calculation of width and height.
4265
4266 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4267 as it has stopped working.
4268 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4269 menu-bar.
4270
17401c97
GM
42712000-10-19 Gerd Moellmann <gerd@gnu.org>
4272
4273 * eval.c (skip_debugger): Prevent a compiler warning.
4274 (Fcondition_case): Likewise.
4275 (Fbacktrace_frame): Use a null interactive spec.
4276
773272d8
KH
42772000-10-19 Kenichi Handa <handa@etl.go.jp>
4278
4279 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4280
a42943e9
GM
42812000-10-18 Gerd Moellmann <gerd@gnu.org>
4282
e50517d9
GM
4283 * strftime.c: Sync with glibc, file version 1.78.
4284 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4285 should no longer be used according to ISO 8601.
4286
9035a35a
GM
4287 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4288 no map for meta_prefix_char, don't try to use it as a keymap.
4289 Instead, if T_OK is non-zero, look up a default binding, if any,
4290 otherwise, if T_OK is zero, return nil.
4291
a42943e9
GM
4292 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4293 (x_to_xcolors, png_load): Use x_query_color.
4294
52283633
SM
4295 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4296 New functions.
a42943e9
GM
4297 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4298 which can be slow.
4299 (x_copy_color, x_alloc_lighter_color): Likewise.
4300
4301 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4302 (x_query_color, x_query_colors): Add prototype.
4303
4304 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4305 check_string_bytes only if not noninteractive, increase count to 50.
4306
00de2987
MB
43072000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4308
4309 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4310 markers correctly.
4311
54918e2b
GM
43122000-10-17 Gerd Moellmann <gerd@gnu.org>
4313
1f0b3fd2
GM
4314 * alloc.c (pure_bytes_used): Renamed from pureptr.
4315 (ALIGN): New macro.
4316 (pure_alloc): New function.
4317 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4318 Use it.
4319 (Fpurecopy): Use PURE_POINTER_P.
4320
68c5d1db
GM
4321 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4322 PT has moved backward.
52283633 4323
9a038881
GM
4324 * xdisp.c (cursor_row_p): Take continued lines into account.
4325
361b097f
GM
4326 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4327 string's size_byte.
4328 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4329 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4330 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4331 string allocated.
4332
54918e2b
GM
4333 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4334 of selective display off while searching for the next line start.
4335
03ed0806
KH
43362000-10-17 Kenichi Handa <handa@etl.go.jp>
4337
4338 * Makefile.in (term.o): Depend on dispextern.h.
4339
7e05cdaf
SM
43402000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4341
4342 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4343
a6801fd1
GM
43442000-10-16 Gerd Moellmann <gerd@gnu.org>
4345
483de32b
GM
4346 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4347 the iterator at the beginning, so that they can be set later on,
4348 for instance in reseat_at_next_visible_line_start, without being
4349 overwritten.
4350
a6801fd1
GM
4351 * xfns.c (pbm_format): Add :foreground and :background keywords.
4352 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4353 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4354
dbf1fcc1
EZ
43552000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4356
4357 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4358
52283633 4359 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4360
4361 * msdos.c (IT_set_face): Compare highlighted face with the default
4362 face, and invert colors if these faces' colors are identical.
4363 (Fmsdos_remember_default_colors): Don't swap foreground and
4364 background colors in initial_colors[].
4365 (IT_set_frame_parameters): Don't swap frame's foreground and
4366 background pixels. If ALIST includes "(reverse . t)", swap
4367 foreground-color and background-color properties in frame's
4368 param_alist. If the original frame's param_alist doesn't specify
4369 the colors, store unspecified-fg and unspecified-bg, reversed if
4370 required.
4371
4372 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4373 the colors are unspecified and reversed, reverse fore- and back-
4374 ground in the returned value.
4375 (Fframe_parameter): Ditto.
4376
b41fe2c3 43772000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4378
3a6b59d9
GM
4379 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4380 get_last_unchanged_at_beg_row.
4381 (find_first_unchanged_at_end_row): Renamed from
4382 get_first_unchanged_at_end_row.
4383 (find_first_unchanged_at_end_row): Convert assertions to
4384 unconditional tests which abort. When looking for a row in
4385 unchanged text, don't go further back than first_text_row.
4386
b41fe2c3
GM
4387 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4388 Don't add in the last line's height when deciding if the new
4389 position is below the scroll margin.
9d1af64f 4390
b41fe2c3 43912000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4392
4393 * editfns.c (Fconstrain_to_field): Check carefully for field
4394 boundaries if either OLD_POS or NEW_POS has a non-nil field
4395 property, even if they're the same.
4396
c412cb7b
KH
43972000-10-16 Kenichi Handa <handa@etl.go.jp>
4398
4399 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4400 height for XFillRectangle.
4401
5586f3eb
SM
44022000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4403
4404 * syntax.c (Fstring_to_syntax): New function extracted from
4405 Fmodify_syntax_entry.
4406 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4407 (skip_chars, Fforward_comment): Remove unused variables.
4408 (syms_of_syntax): Add defsubr for string-to-syntax.
4409 (describe_syntax): Add code for comment and string fences.
4410
db785038
SM
44112000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4412
4413 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4414 Do the meta->esc mapping. Call get_keyelt before returning.
4415 Start scanning from the second element (the first is always `keymap')
4416 to make it easier to detect when we reach a parent map.
4417 Handle the case of inheriting from a symbol whose function is a map.
4418 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4419 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4420 (get_keyelt, Flookup_key): Update call to access_keymap.
4421 Remove the meta->esc mappings.
4422 (define_as_prefix): Delete old disabled code.
4423 (menu_item_p): New function.
4424 (where_is_internal_1): Skip over the few remaining menu items.
4425 * lisp.h (access_keymap): Update prototype.
4426 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4427 Update call to access_keymap.
4428 (follow_key, read_key_sequence): Update calls to access_keymap.
4429 Remove the meta->esc mappings.
4430
cafafe0b
GM
44312000-10-13 Gerd Moellmann <gerd@gnu.org>
4432
a2e2a7f6
GM
4433 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4434 with additional argument.
4435
cafafe0b
GM
4436 * xdisp.c (cursor_row_p): New function.
4437 (try_cursor_movement, display_line): Use it.
52283633 4438
cafafe0b
GM
4439 * xdisp.c (append_space): Also save/restore iterator's current
4440 character and its length.
4441
4442 * xdisp.c (init_from_display_pos): Add an assertion.
4443 (handle_stop): Don't set iterator's add_overlay_start.
4444 (handle_invisible_prop): Likewise.
4445 (load_overlay_strings): If text under an overlay is invisible,
4446 take both before- and after-strings into account when the iterator
4447 is positioned either at the start or at the end of the overlay.
4448 (forward_to_next_line_start): Rewritten.
4449 (reseat_at_next_visible_line_start): Rewritten.
4450 (set_iterator_to_next): Add parameter RESEAT_P.
4451
4452 * dispextern.h (struct it): Remove member add_overlay_start.
4453 (set_iterator_to_next): Change prototype.
4454
c744452b
KH
44552000-10-13 Kenichi Handa <handa@etl.go.jp>
4456
4457 * coding.c (code_convert_region): Be sure to initialize
4458 coding->category_idx.
e4a3f4e1
KH
4459 (decode_coding_string): Set coding->src_multibyte and
4460 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4461 (encode_coding_string): Set coding->src_multibyte and
4462 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4463
321fd26f
SM
44642000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4465
4466 * xfns.c (Fx_create_frame): Don't bother calling
4467 face-set-after-frame-default since the caller does it for us anyway.
4468
76832439
EZ
44692000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4470
4471 * window.c (coordinates_in_window): Fix detection of vertical line
4472 on character terminals.
4473
2483cf58
GM
44742000-10-12 Gerd Moellmann <gerd@gnu.org>
4475
4476 * editfns.c (save_excursion_save): Additionally record the
4477 selected window.
4478 (save_excursion_restore): If buffer was visible in a window, and a
4479 different window was selected, and the old selected window is
4480 still live, restore point in that window.
4481
eb991b25
KH
44822000-10-12 Kenichi Handa <handa@etl.go.jp>
4483
8a0eba09
KH
4484 * xterm.c (x_produce_glyphs): Handle
4485 unibyte_display_via_language_environment correctly.
4486
20401fcc
KH
4487 * regex.c (regex_compile): Change the way of handling a range from
4488 unibyte char to multibyte char.
4489
4490 * syntax.c (skip_chars): Change the way of handling a range from
4491 unibyte char to multibyte char.
4492
eb991b25
KH
4493 * process.c (read_process_output): Cancel previous change.
4494
365dd325
EZ
44952000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4496
c1b096cb
EZ
4497 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4498
365dd325
EZ
4499 * charset.c (Ffind_charset_string): Doc fix.
4500 (Ffind_charset_region): Doc fix.
4501
eb483c2b
KH
45022000-10-11 Kenichi Handa <handa@mule.m17n.org>
4503
4504 * process.c (read_process_output): Fix previous change. Adjust
4505 multibyteness of text to insert in a buffer by
52283633 4506 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4507
b40bfb99
AS
45082000-10-10 Andreas Schwab <schwab@suse.de>
4509
4510 * alloc.c (mark_object): Remove all workarounds installed on
4511 1993-08-08.
4512
caff31d4
KH
45132000-10-10 Kenichi Handa <handa@etl.go.jp>
4514
52283633 4515 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4516 (base64_encode_1): Make it work for a text of multibyte form.
4517 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4518 case. Don't call str_to_multibyte because base64_decode_1
4519 produces correct multibyte form for eight-bit codes.
52283633 4520 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4521 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4522 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4523 codes.
4524
4525 * charset.h (CHAR_STRING): Optimized for single byte characters.
4526
cba026ef
AS
45272000-10-09 Andreas Schwab <schwab@suse.de>
4528
4529 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4530 -1 after socket is closed, to fall through to error processing.
4531
1e21fe48
EZ
45322000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4533
4534 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4535 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4536 background-color, change also the colors of the default face for
4537 this frame.
4538
a640322e
EZ
45392000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4540
4541 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4542 them extern (they are defined on xfaces.c).
4543 (syms_of_msdos): Don't intern and don't staticpro
4544 Qbackground_color and Qforeground_color.
4545
a115794c
EZ
45462000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4547
4548 * frame.c (Fframe_parameter): For non-windowed frames, if
4549 f->param_alist says foreground or background color is unspecified,
4550 call tty_color_name to return the color name computed from the
4551 frame's current colors.
4552
f5533b63
DL
45532000-10-06 Dave Love <fx@gnu.org>
4554
4555 * terminfo.c (ospeed): Don't declare.
4556
4557 * sysdep.c: Don't include string.h.
4558 (h_errno): Declare conditional also on TRY_AGAIN.
4559
4560 * charset.c (Ffind_charset_string): Doc fix.
4561
52283633 4562 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4563 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4564 error messages.
4565
2b06561a
DL
45662000-10-05 Dave Love <fx@gnu.org>
4567
4568 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4569 position like menu-bar.
4570
ca839c85
GM
45712000-10-05 Gerd Moellmann <gerd@gnu.org>
4572
4573 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4574
4575 * xdisp.c (handle_single_display_prop): Use safe_call1.
4576 (safe_call): Renamed from call_function.
4577 (safe_call1): New function.
4578 (handle_fontified_prop): Use safe_call1 instead of call1.
4579 (safe_eval): Renamed from eval_form.
4580 (safe_eval_handler): Renamed from eval_handler.
4581 (handle_single_display_prop, display_mode_element): Use safe_eval
4582 instead of eval_form.
4583
4584 * xfaces.c (merge_face_heights): Use safe_call instead of
4585 call_function.
4586
4587 * keyboard.c (show_help_echo): Use safe_call instead of
4588 call_function; use safe_eval instead of eval_form.
4589
4590 * lisp.h (safe_call): Renamed from call_function.
4591 (safe_eval): Renamed from eval_form.
4592 (safe_call1): Add prototype.
4593
a3489ece
MB
45942000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4595
4596 * xfns.c (image_ascent): Rearrange ascent calculation for the
4597 has-a-font case.
4598
35810b6f
SM
45992000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4600
4601 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4602 (where_is_internal_1): Don't bother ignoring menu-items any more.
4603
3dc78168
GM
46042000-10-04 Gerd Moellmann <gerd@gnu.org>
4605
4606 * keyboard.c (update_menu_bindings): New variable.
4607 (parse_menu_item): Use AREF. If update_menu_bindings
4608 is 0, don't update menu bindings.
4609 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4610
1efc2bb9
EZ
46112000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4612
4613 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4614 to `mark_object'.
4615
3f679f55
SM
46162000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4617
4618 * syntax.c (forw_comment): Match nestedness of ender/starter.
4619 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4620 (prev_char_comstart_first): Remove.
4621 (back_comment): Check two-char comment markers more carefully
4622 to better handle overlapping cases like *//* or /* */* */ ...
4623 Match nestedness of ender/starter.
4624
2021ab61
DL
46252000-10-02 Dave Love <fx@gnu.org>
4626
4627 * config.in (HAVE_GAI_STRERROR): Add undef.
4628
4629 * process.c (Fopen_network_stream): Use it.
4630
4631 * m/alpha.h (NO_REMAP): Don't define.
4632
64e6cc18
GM
46332000-10-02 Gerd Moellmann <gerd@gnu.org>
4634
4635 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4636 return with a string converted to an integer or vice versa when
4637 Vmocklisp_arguments is t.
4638 (Fsignal): Likewise. The function can return for `quit'.
4639 (struct gcpro): Declare member `var' to point to a volatile
4640 Lisp_Object.
4641
4642 * eval.c (error): Prevent compiler warning.
4643
b1904cd9
SM
46442000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4645
4646 * keymap.c (keymap_memberp): New function.
4647 (Fset_keymap_parent): Use it.
4648 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4649 Use keymap_memberp to avoid creating cycles.
4650 (access_keymap): Use KEYMAPP.
4651
71c9ec51
GM
46522000-09-30 Gerd Moellmann <gerd@gnu.org>
4653
4654 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4655 gai_strerror. Make sure xerrno is set if connect fails. Improve
4656 error recovery.
71c9ec51 4657
c70c6b58
JR
46582000-09-29 Jason Rumney <jasonr@gnu.org>
4659
4660 * w32term.c (w32_char_font_type, w32_encode_char)
4661 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4662 (w32_bdf_per_char_metric): New function.
4663 (w32_per_char_metric): Use it.
4664 (x_draw_glyph_string_background): Always draw background for BDF
4665 glyphs.
4666
4667 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4668 GDI object which is a scarce resource.
4669
4670 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4671 (get_quoted_string): Fix limit on memchr search.
4672 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4673 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4674 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4675 (get_cached_font_char, cache_char_offset): Use macro
4676 BDF_CODEPOINT_RANGE_COVER_P.
4677 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4678 (clear_cached_bitmap_slots): New function.
4679 (GET_HEX_VALUE): G-Z, g-z are not hex.
4680 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4681 (get_bitmap_with_cache): Use new cache implementation.
4682 (create_offscreen_bitmap): New function.
4683 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4684
4685 * w32term.c (x_produce_glyphs): If the distance from the current
4686 position to the next tab stop is less than a canonical character
4687 width, use the tab stop after that.
4688 (x_draw_glyphs): Handle case START and END are out of bounds more
4689 carefully.
4690 (x_clear_mouse_face): Block/unblock input.
4691 (x_display_and_set_cursor): Don't show a hollow box cursor for
4692 buffers whose cursor_type is nil.
4693
fe01239f
GM
46942000-09-29 Gerd Moellmann <gerd@gnu.org>
4695
52283633 4696 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4697
4698 * dispextern.h (updating_frame): Declare extern.
4699
e7c52f1f
AS
47002000-09-29 Andreas Schwab <schwab@suse.de>
4701
4702 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4703
de6e1f7c
GM
47042000-09-29 Gerd Moellmann <gerd@gnu.org>
4705
25126faa
GM
4706 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4707 use its function definition.
4708 (tool_bar_items): Likewise.
4709
de6e1f7c 4710 * lisp.h (fatal): Declare NO_RETURN.
52283633 4711
454ee39b
KH
47122000-09-29 Kenichi Handa <handa@etl.go.jp>
4713
4714 * keymap.c: Remove the line "#undef NULL".
4715
96301c5f
GM
47162000-09-28 Gerd Moellmann <gerd@gnu.org>
4717
52283633 4718 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4719
efffeeb4
DL
47202000-09-28 Dave Love <fx@gnu.org>
4721
ecb8b666
DL
4722 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4723
dc3cd20f
DL
4724 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4725
4726 * .gdbinit (xreload): Note its need on GNU/Linux.
4727
efffeeb4
DL
4728 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4729 r_alloc, r_alloc_free.
4730
8610d903
KH
47312000-09-28 Kenichi Handa <handa@etl.go.jp>
4732
4733 * syntax.c (skip_chars): Handle negation correctly.
4734
8901d1ac
GM
47352000-09-27 Gerd Moellmann <gerd@gnu.org>
4736
6f22f1ad
GM
4737 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4738 with non-zero FORCE_P argument.
4739
52283633 4740 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4741 Add assertions.
4742
4743 * xdisp.c (window_box_height): Add an assertion.
4744
4745 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4746 tool-bar than is available.
4747 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4748
36f1966f
DL
47492000-09-27 Dave Love <fx@gnu.org>
4750
efffeeb4 4751 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4752
31d929e5
GM
47532000-09-26 Gerd Moellmann <gerd@gnu.org>
4754
c98863bf
GM
4755 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4756 instead of BITS_PER_INT.
4757 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4758 EMACS_UINT, respectively.
4759 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4760
4761 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4762
4763 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4764
77072ab1
GM
4765 * window.c (freeze_window_starts): Construct last argument for
4766 foreach_window differently.
4767
4768 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4769
4770 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4771 EMACS_UINT instead of `int' and `unsigned int'.
4772 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4773
4774 * frame.h (struct frame): Make the `nothing' member of union
4775 output_data an EMACS_INT.
4776
52283633 4777 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4778 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4779 size in the sdata structure.
4780 (SDATA_NBYTES, SDATA_DATA): New macros.
4781 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4782 differently for the different layout of the sdata structure.
4783 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4784 in sdata.
4785 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4786 Check that size recorded in the string size and size recorded in
4787 the sdata structure agree.
4788
3e60b029
DL
47892000-09-25 Dave Love <fx@gnu.org>
4790
4791 * buffer.c: Include stdio.h.
4792
4793 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4794
3e60b029
DL
4795 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4796
4797 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4798 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4799 (__malloc_extra_blocks): Declare as __malloc_size_t.
4800
8ff16b4e
GM
48012000-09-25 Gerd Moellmann <gerd@gnu.org>
4802
755a2ccd
GM
4803 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4804
d8b4516f
GM
4805 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4806 (read_char): If help-echo is showing, preserve the echo area
4807 when redisplaying.
4808
4809 * xdisp.c (help_echo_showing_p): New variable.
4810 (set_message): Reset it to 0.
4811 (init_xdisp): Initialize help_echo_showing_p.
4812
4813 * dispextern.h (help_echo_showing_p): Declare extern.
4814
4815 * config.in: Fix typo in __GNUC_MINOR__.
4816
4817 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4818
b11af2dd
GM
4819 * s/freebsd.h (POSIX_SIGNALS): Define.
4820
8ff16b4e
GM
4821 * xterm.c (x_clear_mouse_face): Block/unblock input.
4822
844eb643
DL
48232000-09-24 Dave Love <fx@gnu.org>
4824
4825 * fns.c (base64_encode_1): Fix last change.
4826
b30ab1b3
GM
48272000-09-22 Gerd Moellmann <gerd@gnu.org>
4828
4829 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4830
4831 * xdisp.c (try_window_reusing_current_matrix): More fixes
4832 for the case window has a header-line.
4833
c6cbe5f0
DL
48342000-09-22 Dave Love <fx@gnu.org>
4835
4c7c1f3f
DL
4836 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4837 a doc string.
4838
4839 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4840
c6cbe5f0
DL
4841 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4842
550a625e
GM
48432000-09-21 Gerd Moellmann <gerd@gnu.org>
4844
4c7c1f3f 4845 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4846 for GCC >= 2.5.
4847
52283633
SM
4848 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4849 Declare NO_RETURN.
fca99116 4850
80d26f99
GM
4851 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4852 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4853 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4854 warnings.
52283633 4855
80d26f99
GM
4856 * marker.c (byte_char_debug_check): Return void.
4857
623a0aae
GM
4858 * xfns.c (Fx_create_frame): Set default frame parameter value
4859 for tool-bar-lines to 1.
4860
4861 * dispnew.c (scrolling_window): Compare y-positions of rows
4862 equal at the start. Some simplification.
4863
4864 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4865 reused rows' y-position in the case window has a header-line, and
4866 new window start is greater than old window start.
4867
42ac0ae5
GM
4868 * process.c (process_sent_to): New variable.
4869 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4870 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4871 Declare more parameters volatile.
4872
550a625e
GM
4873 * lread.c (Vrecursive_load_depth_limit): New variable.
4874 (Fload): Check recursive loads whose recursion depth exceeds
4875 Vrecursive_load_depth_limit.
4876 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4877
8320414c
GM
48782000-09-20 Gerd Moellmann <gerd@gnu.org>
4879
f46c275e
GM
4880 * fileio.c (Fread_file_name): Doc fix.
4881
4882 * editfns.c (Fmessage_or_box): Doc fix.
4883
4884 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4885
b7e11c5b 4886 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4887
8320414c
GM
4888 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4889 symbols are specified, add color translations to the cache.
52283633 4890 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4891 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4892 xpm_cache_color.
4893 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4894 structures to xpm_init_color_cache.
4895
da1608d9
GM
48962000-09-19 Gerd Moellmann <gerd@gnu.org>
4897
52283633 4898 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4899
6badfa25
AI
49002000-09-19 Andrew Innes <andrewi@gnu.org>
4901
4902 * makefile.nt (bootstrap-emacs): Don't change directory.
4903
3a5f42bb
KH
49042000-09-19 Kenichi Handa <handa@etl.go.jp>
4905
1b7649bd
KH
4906 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4907
3a5f42bb
KH
4908 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4909 If output buffer is too small, signal an appropriated error.
4910
9f83cf0b
DL
49112000-09-18 Dave Love <fx@gnu.org>
4912
52283633 4913 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4914 (current_active_maps): Remove redundant get_local_map call.
4915
28c7826c
GM
49162000-09-18 Gerd Moellmann <gerd@gnu.org>
4917
5cefa566
GM
4918 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4919 cursor for buffers whose cursor_type is nil.
52283633 4920
6fed3546
GM
4921 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4922 a feature to implement that is already implemented.
4923 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4924 warnings.
4925
4926 * xfns.c (x_clear_image_1): New function.
4927 (x_clear_image): Use it.
52283633 4928 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4929
05b1f851
GM
4930 * dispnew.c (update_window): Move test for invisible lines
4931 at the top to update_window_line.
4932 (update_window_line): Handle invisible lines here.
4933
f4779de9
GM
4934 * xfns.c (clear_image_cache): Clear current matrices of all
4935 frames sharing an image cache. Block input while freeing
4936 images. Fix timestamp comparison.
4937 (x_clear_image): Also free the mask.
4938
28c7826c
GM
4939 * xfns.c (lookup_image): Block input while loading the image so
4940 that we won't get interrupted in a state where the image isn't yet
4941 set up completely.
4942 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4943 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4944 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4945 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4946
b7412313
GM
49472000-09-16 Gerd Moellmann <gerd@gnu.org>
4948
4949 * dispnew.c (update_window): Make sure to make desired rows
4950 current even if they are completely invisible at the top
4951 of a window.
4952
47e351a3
GM
49532000-09-15 Gerd Moellmann <gerd@gnu.org>
4954
7f8f1edc
GM
4955 * xfns.c (lookup_image): Build mask before applying an algorithm.
4956 Recognize algorithm `disabled'.
4957 (cross_disabled_images): New variable.
4958 (COLOR_INTENSITY): New macro.
4959 (x_detect_edges): Use COLOR_INTENSITY.
4960 (x_disable_image): New function.
4961 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4962
4963 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4964 disabled state, don't apply an image transformation algorithm if
4965 the user specified an image for the disabled state. Use
28c7826c 4966 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4967 user hasn't specified an image.
4968
ebb8f116
GM
4969 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4970 allocation functions with the XPM lib.
4971 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4972 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4973 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4974 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 4975 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
4976 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4977 functions, if possible, because these handle color allocation
4978 failure more gracefully.
4979 (Fimage_mask_p): New function.
4980
47e351a3
GM
4981 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4982 (Qedge_detection, Qheuristic): New symbols.
4983 (syms_of_xfns): Initialize new symbols.
4984 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4985 `algorithm (edge-detection ...)'.
4986 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4987 (tiff_format, gif_format, gs_format): Add `:mask'.
4988 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4989 (GIF_MASK, GS_MASK): New enumerators.
4990 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4991 (emboss_matrix, laplace_matrix): New variables.
4992 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4993 (x_edge_detection): New functions.
4994 (x_laplace): Rewritten in terms of x_detect_edges.
4995 (x_build_heuristic_mask): If image has a mask, free it.
4996
fe83b953
AI
49972000-09-14 Andrew Innes <andrewi@gnu.org>
4998
4999 * makefile.w32-in: Revert to Unix line endings.
5000
3021e816
AI
50012000-09-14 Andrew Innes <andrewi@gnu.org>
5002
5003 * makefile.w32-in: Standardize indentation somewhat.
5004 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
5005 cater for differences between shells.
5006
5007 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
5008
2a32b5ea
GM
50092000-09-14 Gerd Moellmann <gerd@gnu.org>
5010
5011 * xterm.c (x_produce_glyphs): If the distance from the current
5012 position to the next tab stop is less than a canonical character
5013 width, use the tab stop after that.
5014
b4331e96
DL
50152000-09-14 Dave Love <fx@gnu.org>
5016
5017 * buffer.c (alloc_buffer_text): Fix xmalloc call.
5018
ef9e4345
GM
50192000-09-14 Gerd Moellmann <gerd@gnu.org>
5020
085536c2
GM
5021 * xdisp.c (handle_fontified_prop): While running fontification
5022 functions, bind `fontification-functions' and
5023 `after-change-functions' to nil.
5024
ef9e4345
GM
5025 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
5026 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
5027
5028 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
5029
5030 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
5031 USE_MMAP_FOR_BUFFERS.
5032
5033 * insdel.c (make_gap): Use enlarge_buffer_text.
5034
5035 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
5036 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
5037 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
5038 from former r_alloc_* functions in ralloc.c.
52283633 5039 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
5040 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
5041 (mmap_init) [REL_ALLOC_MMAP]: New function.
5042 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
5043 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
5044 BUFFER_FREE.
5045
5046 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5047 (enlarge_buffer_text): Add prototype.
5048
5049 * ralloc.c: Remove everything having to do with the use of mmap.
5050
f8608968
GM
50512000-09-13 Gerd Moellmann <gerd@gnu.org>
5052
2a494b2d
GM
5053 * sound.c (Fplay_sound): Doc fix.
5054
8c907a56
GM
5055 * keyboard.c: Avoid some more compiler warnings.
5056 (parse_tool_bar_item): Ignore cached key bindings.
5057
f8608968
GM
5058 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5059 and allocation of Lisp data.
5060
6ab70e9a
GM
50612000-09-12 Gerd Moellmann <gerd@gnu.org>
5062
d12d0a9b
GM
5063 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5064 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5065 defaults first.
5066
6ab70e9a
GM
5067 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5068
63c36c3c
KH
50692000-09-12 Miyashita Hisashi <himi@meadowy.org>
5070
5071 * ccl.c: Comment fixed.
5072 (MAX_MAP_SET_LEVEL): Increased to 30.
5073 (PUSH_MAPPING_STACK): Enclose with do-while block.
5074 (POP_MAPPING_STACK): Likewise.
5075 (stack_idx_of_map_multiple): New variable.
5076 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5077 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5078 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5079 (ccl_driver) <CCL_MapSingle>: Likewise.
5080 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5081 with the case where looking up process reaches to the end of
5082 map-set, and call CCL programs as the above change.
5083
7ee3bd7b
GM
50842000-09-11 Gerd Moellmann <gerd@gnu.org>
5085
8ec8a5ec
GM
5086 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5087 that might be clobbered by longjmp.
5088 (check_x_display_info, x_decode_color, create_frame_xic)
5089 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5090 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5091
f74b0705
GM
5092 * lread.c (init_lread): Set Vloads_in_progress to nil.
5093 (Fload): Show list of recursively loaded files, when signaling an
5094 error.
5095
7ee3bd7b
GM
5096 * lread.c (Vloads_in_progress): New variable.
5097 (record_load_unwind): New function.
5098 (Fload): Check for recursive loads.
5099 (syms_of_lread): Initialize Vloads_in_progress.
5100 (read_integer, read1): Avoid some compiler warnings.
5101
5102 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5103 compiler warnings.
5104
974e1e5b
MB
51052000-09-11 Miles Bader <miles@gnu.org>
5106
5107 * editfns.c (Fbuffer_string): Doc fix.
5108
9824c4e3
GM
51092000-09-10 Gerd Moellmann <gerd@gnu.org>
5110
5111 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5112
6a72fdd1
KR
51132000-09-09 Ken Raeburn <raeburn@gnu.org>
5114
5115 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5116 whether to include other header files.
5117
28e6fb66
GM
51182000-09-09 Gerd Moellmann <gerd@gnu.org>
5119
52283633 5120 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5121 by Fmemq as a boolean.
28e6fb66 5122
7f8b6551
SM
51232000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5124
5125 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5126
a8710abf
GM
51272000-09-08 Gerd Moellmann <gerd@gnu.org>
5128
d1a02881
GM
5129 * ralloc.c (mmap_fd): Remove initializer which can make it
5130 read-only in a dumped Emacs.
5131 (mmap_fd_1): New variable.
5132 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5133 restore it from there.
5134 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5135 unconditionally so that mmap_fd can be initialized there.
5136 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5137 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5138 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5139
c454aac1
GM
5140 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5141
5142 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5143 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5144
fc653ef2
GM
5145 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5146
3015eec0
GM
5147 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5148 inheritance.
5149
bfe0ee88
GM
5150 * xdisp.c (try_window_id): When trying to locate cursor in
5151 unchanged rows at the top, handle the case that we can't find it.
5152
a8710abf
GM
5153 * xterm.c (x_draw_glyphs): Handle case START and END are out
5154 of bounds more carefully.
5155
6b7d4ae4
DL
51562000-09-08 Dave Love <fx@gnu.org>
5157
423193c5
DL
5158 * s/sol2.h (REL_ALLOC_MMAP): Define.
5159 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5160
5161 * ralloc.c: Don't include string.h (redundant).
5162 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5163 [!MAP_ANON]: Include fcntl.h.
5164 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5165 (r_alloc, r_re_alloc, r_alloc_free)
5166 (mmap_enlarge, mmap_set_vars): Use it.
5167 (r_alloc_init_fd): New function.
5168 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5169 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5170 malloc type.
5171
5172 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5173 Remove vm-limit.o.
5174
6b7d4ae4
DL
5175 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5176 change to __NetBSD__.
5177
44d31981
KH
51782000-09-08 Kenichi Handa <handa@etl.go.jp>
5179
5180 * search.c (compile_pattern): Check the multibyteness of cached
5181 string and PATTERN.
5182
aad40737
MB
51832000-09-08 Miles Bader <miles@gnu.org>
5184
5185 * xfaces.c (default_face_vector): Function removed.
5186 (Finternal_merge_in_global_face): Restore old global/local
5187 attribute override order. Use inline loop instead of calling
5188 default_face_vector.
5189
91a211b5
GM
51902000-09-07 Gerd Moellmann <gerd@gnu.org>
5191
5192 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5193 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5194 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5195 where necessary, in case POINTER_TYPE is `void'.
5196
03419440
EZ
51972000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5198
5199 * frame.c (make_terminal_frame): Initialize frame foreground and
5200 background colors to unspecified, for the initial instance of an
5201 MSDOS frame.
5202
f46f845b
GM
52032000-09-07 Gerd Moellmann <gerd@gnu.org>
5204
24f76fbf
GM
5205 * ralloc.c (mmap_find): Fix overlap computation.
5206 (mmap_enlarge): Compute nbytes before trying to find an
5207 overlapping region.
5208
f46f845b
GM
5209 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5210 instead of `!='.
5211
5212 * lread.c (syms_of_lread): Change value of regexp
5213 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5214
5215 * xmenu.c (xdialog_show): When looking up the selection in
5216 menu_items, take `quote' boundaries into account; this corresponds
5217 to a nil ITEM in x-popup-dialog.
5218
3c014385
KH
52192000-09-07 Kenichi Handa <handa@etl.go.jp>
5220
fd6f711b
KH
5221 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5222 not 0x81.
5223 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5224
3c014385 5225 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5226 encoding, not decoding. Fix the handling of latin-jisx0201.
5227 Check for the charset katakana-jisx0201 too.
3c014385 5228 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5229 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5230
0da3ecef
GM
52312000-09-07 Gerd Moellmann <gerd@gnu.org>
5232
ab0ee409
GM
5233 * xfaces.c (Vparam_value_alist): New variable.
5234 (syms_of_xfaces): Initialize it.
5235 (Finternal_set_lisp_face_attribute): Avoid more consing.
5236
5237 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5238 specially.
5239 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5240 (Qbackground_mode): New variable.
5241 (syms_of_frame_1): Initialize Qbackground_mode.
5242
5243 * lisp.h (Qdisplay): Declare extern.
1091dd67 5244
0da3ecef
GM
5245 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5246 change face on all frames, and change the default for new frames.
5247
b14654b9
DL
52482000-09-07 Dave Love <fx@gnu.org>
5249
5250 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5251
d24fd56f
KH
52522000-09-07 Kenichi Handa <handa@etl.go.jp>
5253
794f3670
KH
5254 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5255
0fddd0dc
KH
5256 * charset.c: Include composite.h
5257 (lisp_string_width): New function.
5258 (Fstring_width): Call lisp_string_width instead of strwidth.
5259
5260 * Makefile.in (charset.o): Depends on composite.h.
5261
d24fd56f
KH
5262 * process.c (read_process_output): Before inserting the decoded
5263 text in the buffer, adjust the multibyteness.
5264
fa0b693c
GM
52652000-09-06 Gerd Moellmann <gerd@gnu.org>
5266
52283633 5267 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5268 buffer's text buffer is null, map new memory.
5269
0a58f946
GM
5270 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5271 POINTER_TYPE and size_t.
5272 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5273 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5274 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5275 [REL_ALLOC_MMAP]: New macros.
5276 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5277 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5278 [REL_ALLOC_MMAP]: New functions.
5279
5280 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5281 before and after unexec.
5282
5283 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5284 text buffers if necessary.
5285
5286 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5287 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5288 in prototypes.
5289
fa0b693c
GM
5290 * config.in (HAVE_MMAP): Add #undef.
5291
877055f6
GM
52922000-09-05 Gerd Moellmann <gerd@gnu.org>
5293
08ba3862
GM
5294 * frame.c (Qdisplay_type): New variable.
5295 (syms_of_frame_1): Initialize it.
5296 (Fframe_parameter): New function that avoids consing.
5297 (syms_of_frame): Defsubr it.
5298
66ffe51c
GM
5299 * buffer.c (Fother_buffer): Consider buffers as invisible when
5300 they are displayed in a window on an invisible frame.
5301
877055f6
GM
5302 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5303 get-largest-window always return nil.
5304
bb970e67
GM
53052000-09-04 Gerd Moellmann <gerd@gnu.org>
5306
5307 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5308 variable; recognize Emacs 19 elc files.
5309
7a3d0e0e
MB
53102000-09-04 Miles Bader <miles@gnu.org>
5311
5312 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5313 before initially popping up the menu, so the menu doesn't flash
52283633 5314 when the face settings are significantly different from the defaults.
7a3d0e0e 5315
14473664
SM
53162000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5317
5318 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5319 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5320 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5321 (BIT_UNIBYTE): Remove.
5322 (re_match_2_internal): Delete corresponding code and streamline the
5323 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5324 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5325 (re_wctype_t): New type.
5326 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5327 (regex_compile): Use them and fix handling of overly long char classes.
5328
c1174479
AI
53292000-09-03 Andrew Innes <andrewi@gnu.org>
5330
f8803e97
AI
5331 * makefile.w32-in: Change to DOS line endings.
5332
c1174479
AI
5333 * s/ms-w32.h (ORDINARY_LINK): New define.
5334
5335 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5336 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5337
5338 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5339 (distclean): Delete them here instead.
5340
44ef7cf6
AI
5341 * w32proc.c (compare_env): Convert to uppercase for comparison,
5342 not lowercase, to match how the native Windows shell works.
5343
49b3bd82
JR
53442000-09-03 Jason Rumney <jasonr@gnu.org>
5345
5346 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5347 CVS changes the line-ends when checking in/out on DOS/Windows.
5348
5349 * makefile.nt (emacs): Do not change directory to run temacs, as
5350 the load-path is set relative to current directory.
5351
a3d35a39
MB
53522000-09-03 Miles Bader <miles@gnu.org>
5353
5354 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5355
d276b0cf
GM
53562000-09-02 Gerd Moellmann <gerd@gnu.org>
5357
715e84c9
GM
5358 * xdisp.c (redisplay_mode_lines): New function.
5359 (display_mode_lines): Return number of mode lines displayed.
5360 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5361 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5362
8892f40b
GM
5363 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5364 string.h and strings.h.
5365 (index) [HAVE_INDEX]: Add prototype.
5366
d276b0cf
GM
5367 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5368 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5369
5370 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5371 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5372
38404229
GM
53732000-09-01 Gerd Moellmann <gerd@gnu.org>
5374
5375 * lread.c (read1): Accept `?' as symbol constituent, for
5376 compatiblity with XEmacs.
5377
c0f9ea08
SM
53782000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5379
5380 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5381 (struct re_pattern_buffer): Remove newline_anchor.
5382 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5383 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5384 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5385 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5386 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5387 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5388 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5389 Get rid of references to newline_anchor.
5390 (regcomp): Allocate and precompute a fastmap.
5391
8c0f83fe
GM
53922000-08-31 Gerd Moellmann <gerd@gnu.org>
5393
5394 * lread.c (openp): GCPRO local variable `filename'.
5395
4bb91c68
SM
53962000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5397
5398 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5399
5400 * regex.c: Merge some changes from GNU libc. Add prototypes.
5401 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5402 Use memcmp and memcpy instead of bcopy and bcmp.
5403 (init_syntax_once): Use ISALNUM.
5404 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5405 (REG_UNSET_VALUE): Remove. Use NULL instead.
5406 (REG_UNSET, re_match_2_internal): Use NULL.
5407 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5408 New macros.
5409 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5410 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5411 (regex_compile): In handle_interval, return an error rather than try to
5412 unfetch the interval if we can't find the closing brace.
5413 Obey the RE_NO_GNU_OPS syntax bit.
5414 (TOLOWER): New macro.
5415 (regcomp): Use it.
5416 (regexec): Allocate regs.start and regs.end as one block.
5417
5226a931
GM
54182000-08-30 Gerd Moellmann <gerd@gnu.org>
5419
868dd24b
GM
5420 * xdisp.c (echo_area_display): Check display_completed instead
5421 of calling detect_input_pending.
5422
5423 * dispnew.c (update_frame): Only set display_completed here; move
5424 the update_begin and update_end calls here from update_frame_1.
5425 (update_frame_1): Don't set display_completed here, don't call
5426 update_begin/update_end.
5427
5226a931
GM
5428 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5429 instead of store_frame_param.
5430
2a8bd25f
GM
54312000-08-29 Gerd Moellmann <gerd@gnu.org>
5432
5433 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5434 desired window matrix hasn't been displayed, use the current row
5435 instead. Make sure that only those frame rows are updated for
5436 which there exists a corresponding enabled desired row.
52283633 5437
ba3478d9
MB
54382000-08-29 Miles Bader <miles@gnu.org>
5439
5440 * xfaces.c (default_face_vector): New function.
5441 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5442
87d0f685
GM
54432000-08-29 Gerd Moellmann <gerd@gnu.org>
5444
5445 * lread.c (openp): Prevent temporary string passed to
5446 Ffile_readable_p from being garbage collected.
5447
6fa86045
DL
54482000-08-28 Dave Love <fx@gnu.org>
5449
5450 * keymap.c (store_in_keymap): Add `static' to declaration.
5451
bb17930d
GM
54522000-08-28 Gerd Moellmann <gerd@gnu.org>
5453
5454 * emacs.c, callint.c, doc.c, editfns.c
5455 (toplevel) [HAVE_STRING_H]: Include string.h.
5456 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5457 (index): Remove prototypes which might conflict with non-standard
5458 definitions of index/strchr.
5459
5460 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5461 (rindex): Define only if !HAVE_RINDEX.
5462
5463 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5464
5465 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5466
87188200
MB
54672000-08-28 Miles Bader <miles@gnu.org>
5468
5469 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5470 made inconsistent by a font-related attribute in FROM.
5471 (merge_face_inheritance): Add function comment.
5472
41a68aef
KH
54732000-08-28 Kenichi Handa <handa@etl.go.jp>
5474
5475 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5476 the 4th arg (PREV_EVENT) Qt to suppress input method.
5477
f7c436c1
SM
54782000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5479
0b32bf0e
SM
5480 * regex.c: Indent cpp directives and remove parens after `defined'.
5481 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5482 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5483 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5484 (re_compile_pattern): Use size_t for length.
5485 (init_syntax_once): Move to a better place.
5486 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5487 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5488
f7c436c1
SM
5489 * syntax.c (back_comment): Detect cases where a comment-starter is
5490 actually inside another comment as in: /* a // b */ c // d \n.
5491 Make it clear that `comstart_pos' is unused for nested comments.
5492
5493 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5494 (KEYMAPP): New macro.
5495 (Fkeymap_parent, Fset_keymap_parent): Use it.
5496 (fix_submap_inheritance): Mark it static.
5497 (define_as_prefix, describe_buffer_bindings, describe_command)
5498 (describe_translation, describe_map): Complete prototypes.
5499
5500 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5501
5502 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5503 to better match the key-lookup behavior.
5504
6288c62f
GM
55052000-08-27 Gerd Moellmann <gerd@gnu.org>
5506
5507 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5508 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5509
e931344e
EZ
55102000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5511
5512 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5513 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5514 (xterm.o): Depend on coding.h
5515
d10dfeef
KH
55162000-08-26 Kenichi Handa <handa@etl.go.jp>
5517
5518 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5519 the corresponding '#endif'.
5520
2d73e8d3
MB
55212000-08-26 Miles Bader <miles@gnu.org>
5522
5523 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5524 * xfaces.c (QCinherit): New variable.
5525 (syms_of_xfaces): Initialize it.
5526 (LFACE_INHERIT): New macro.
5527 (Finternal_get_lisp_face_attribute)
52283633 5528 (merge_face_vector_with_property)
2d73e8d3
MB
5529 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5530 (check_lface_attrs): Allow new types of face height. Check
5531 inherit attribute.
5532 (CYCLE_CHECK): New macro.
5533 (merge_face_inheritance): New function.
5534 (merge_face_vectors): Merge inherited faces too. Add F and
5535 CYCLE_CHECK arguments.
5536 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5537 (lookup_named_face, lookup_derived_face, realize_named_face)
5538 (face_at_string_position, face_at_buffer_position): Supply
5539 new F and CYCLE_CHECK arguments to merge_face_vectors.
5540 (merge_face_heights): New function.
52283633 5541 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5542 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5543 handle relative face heights.
5544 (lface_same_font_attributes_p): Compare heights using EQ.
5545
6ce974d4
KH
55462000-08-26 Kenichi Handa <handa@etl.go.jp>
5547
5548 * charset.c (char_to_string): Check the character validity.
52283633 5549 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5550
dc1e502d
SM
55512000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5552
5553 * regex.c (PUSH_FAILURE_COUNT): New macro.
5554 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5555 Handle popping of a register's or a counter's data.
5556 (POP_FAILURE_POINT): Use the new name.
5557 (re_match_2_internal): Push counter data on the stack for succeed_n,
5558 jump_n and set_number_at and remove misleading dead code in succeed_n.
5559
bd9d0f3f
GM
55602000-08-25 Gerd Moellmann <gerd@gnu.org>
5561
5562 * xdisp.c (redisplay_internal): If considering all windows on all
5563 frames, update the display for each frame as soon as possible,
5564 instead of first building all desired matrices for all frames, and
5565 then updating them all.
5566 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5567
aa5b8e15
GM
55682000-08-24 Gerd Moellmann <gerd@gnu.org>
5569
17494071
GM
5570 * bytecode.c (mark_byte_stack): Add a comment.
5571
52283633
SM
5572 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5573 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5574 a graphical frame.
5575
c543db81
KH
55762000-08-24 Kenichi Handa <handa@etl.go.jp>
5577
d246d5f5
KH
5578 * minibuf.c (do_completion): Always use compare-string, not
5579 string-equal because the latter doesn't pay attention to
5580 multibyteness of strings.
5581
c543db81
KH
5582 * process.c (create_process): Don't setup raw-text coding here.
5583 (Fopen_network_stream): Don't set coding->src_multibyte and
5584 coding->dst_multibyte here.
5585 (read_process_output): For process filter, return unibyte string
5586 if default-enable-multibyte-characters is nil.
5587 (send_process): If OBJECT is multibyte text, be sure to encoded it
5588 by the specified coding system for the process. Otherwise, setup
5589 raw-text coding.
52283633 5590 (init_process): Don't initialize default-process-coding-system here.
c543db81 5591
9b47cfe0
EZ
55922000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5593
5594 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5595 <scroll-down-aggressively>: Likewise.
5596
f5a36960
KH
55972000-08-23 Kenichi Handa <handa@etl.go.jp>
5598
5599 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5600 zero. Set coding->produced_char correctly.
5601
69a7ffa7
AI
56022000-08-22 Andrew Innes <andrewi@gnu.org>
5603
5604 * makefile.w32-in: New file.
5605
5606 * unexw32.c (unexec): Ignore old_name, and use the actual location
5607 of the current executable instead. Base new_name on this.
5608
5609 * w32proc.c (create_child): Remove reference to security
5610 descriptor, which isn't needed and doesn't compile with mingw32.
5611
5612 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5613 up dllimport attributes.
5614 (x_update_window_end): Update prototype.
5615
5616 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5617 extern, which screws up dllimport attributes.
5618
5619 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5620 up dllimport attributes.
5621
5622 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5623 screws up dllimport attributes.
5624
5625 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5626 up dllimport attributes.
5627 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5628 screws up dllimport attributes.
5629
5630 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5631 up dllimport attributes.
5632
5633 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5634 screws up dllimport attributes.
5635
5636 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5637 screws up dllimport attributes.
5638
5639 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5640 up dllimport attributes.
5641
5642 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5643 unnecessary extern, which screws up dllimport attributes.
5644 (main): Ditto.
5645
5646 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5647 up dllimport attributes.
5648
5649 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5650 unnecessary extern, which screws up dllimport attributes.
5651
5652 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5653 screws up dllimport attributes.
5654
5655 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5656 up dllimport attributes.
5657
5658 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5659
52283633
SM
5660 * w32bdf.c (search_file_line):
5661 (set_bdf_font_info):
5662 (seek_char):
5663 (w32_get_bdf_glyph):
69a7ffa7
AI
5664 (w32_BDF_to_x_font): Fix compile warnings.
5665
52283633 5666 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5667
5668 * w32select.c: Include keyboard.h before frame.h.
5669
5670 * w32fns.c (max): Define macro.
5671 (JOHAB_CHARSET): Define if not known.
5672 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5673 (Fx_show_tip): Synch with X version.
5674
5675 * w32xfns.c: Include keyboard.h before frame.h.
5676
5677 * w32fns.c: Include keyboard.h before frame.h.
5678
5679 * w32term.c: Include keyboard.h before frame.h.
5680
5681 * fontset.c: Include keyboard.h before frame.h.
5682
5683 * w32inevt.c: Include keyboard.h before frame.h.
5684 (MOUSE_MOVED): Define if not known.
5685
5686 * minibuf.c: Include keyboard.h before frame.h.
5687
5688 * keyboard.c: Include keyboard.h before frame.h.
5689
5690 * indent.c: Include keyboard.h before frame.h.
5691
5692 * dispnew.c: Include keyboard.h before frame.h.
5693
5694 * buffer.c: Include keyboard.h before frame.h.
5695
5696 * alloc.c: Include keyboard.h before frame.h.
5697
5698 * print.c: Include keyboard.h before frame.h.
5699
5700 * process.c: Include keyboard.h before frame.h.
5701
5702 * scroll.c: Include keyboard.h before frame.h.
5703
5704 * sysdep.c: Include keyboard.h before frame.h.
5705
5706 * term.c: Include keyboard.h before frame.h.
5707
5708 * window.c: Include keyboard.h before frame.h.
5709
5710 * xdisp.c: Include keyboard.h before frame.h.
5711 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5712
5713 * frame.c: Include keyboard.h before frame.h.
5714
5715 * w32heap.h: Undefine min, max.
5716
5717 * w32gui.h: Undefine min, max.
5718
5719 * unexw32.c: Change PUCHAR to PCHAR.
5720 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5721 (relocate_offset):
5722 (get_section_info):
69a7ffa7
AI
5723 (copy_executable_and_dump_data): Remove unnecessary static defs.
5724 (copy_executable_and_dump_data): Fix compile warnings.
5725
5726 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5727
5728 * w32console.c (min): Define macro.
5729 (clear_frame, write_glyphs): Fix compile warning.
5730
52283633 5731 * w32proc.c (compare_env):
69a7ffa7
AI
5732 (find_child_console): Fix compile warning.
5733
5734 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5735 sys_errlist instead of _sys_errlist.
5736 (get_emacs_configuration_options): New function.
5737
5738 * s/ms-w32.h (sys_nerr): Provide default definition.
5739 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5740 name with _ prepended.
5741 (NSIG): Define if not known.
5742 (get_emacs_configuration): Provide extern declaration.
5743 (get_emacs_configuration_options): Provide extern declaration.
5744 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5745
5746 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5747 (map_w32_filename):
69a7ffa7
AI
5748 (read_unc_volume): Fix compile warning.
5749
5750 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5751 definitions from being used.
5752
5753 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5754
52283633 5755 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5756 (open_unc_volume): Make arg const.
5757
5758 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5759 (read_input_waiting): Remove excess parameter.
5760
5761 * w32.c (init_environment): Call _access.
5762 (check_windows_init_file): Call _close.
5763 (init_user_info): Call _putenv.
5764 (init_environment): Call _putenv and _strdup.
5765 (init_ntproc): Reset volume info cache on startup.
5766
5767 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5768 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5769 cannot override the CRT malloc.
5770
5771 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5772 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5773
5774 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5775 unless we are linking with a static CRT.
5776 (RVA_TO_PTR): Cast result to unsigned char*.
5777
5778 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5779 (add_volume_info): Use xstrdup.
5780
25060080
SM
57812000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5782
5783 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5784 (do_completion, Fminibuffer_complete_word): Use it.
5785 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5786 var so it can take non-boolean values.
5787
6917e6bb
GM
57882000-08-21 Gerd Moellmann <gerd@gnu.org>
5789
acb7cc89 5790 * editfns.c (find_field): Formatting changes.
52283633 5791 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5792 changed to prototypes, some new protypes added, some functions
5793 made static.
5794
5795 * lisp.h (set_time_zone_rule): Add prototype.
5796 (use_dialog_box): External declaration.
5797
0bbfdc25
GM
5798 * keyboard.c (gen_help_event): Add parameter SIZE.
5799 (kbd_buffer_events_waiting): Slightly rewritten.
5800 (clear_event): New function.
5801 (kbd_buffer_get_event): Use it, and clear the input_events of
5802 HELP_EVENTs.
5803 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5804 don't fill the newly created array with nils.
5805 (toplevel): Convert some old-style function forward declarations
5806 to prototypes.
5807
5808 * keyboard.h (gen_help_event): Change prototype.
5809
5810 * xterm.c (XTread_socket): Change calls to gen_help_event.
5811
5812 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5813
6917e6bb
GM
5814 * eval.c (Fmacroexpand): Doc fix.
5815
e5cd3d11
JR
58162000-08-20 Jason Rumney <jasonr@gnu.org>
5817
5818 * w32term.h (x_display_info_for_display): Remove as this function
5819 does not exist on W32.
5820
5821 * w32term.c (help_echo_window): New variable.
5822 (syms_of_w32term): staticpro it.
5823 (note_mode_line_highlight): Set it.
5824 (XTextExtents16): Removed as there is no equivalent on W32.
5825 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5826 the X way of doing this will not work for W32.
5827 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5828 (x_draw_image_foreground): Avoid drawing outside of the clip area
5829 when image doesn't have a mask.
5830 (note_mouse_highlight): Process overlays in the right order of
5831 priority. Set help_echo_window.
5832 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5833 because that's more visible for large images.
5834
5835 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5836 name to single_keymap_panes.
5837 (w32_menu_show): Set wv->title when dealing with titles.
5838 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5839
6e69ab8c
MB
58402000-08-21 Miles Bader <miles@gnu.org>
5841
5842 * minibuf.c (do_completion): Try again if we rewrite the input
5843 string, but no completion was done, so that any completion message
5844 will be correct.
5845
511bd4eb
GM
58462000-08-20 Gerd Moellmann <gerd@gnu.org>
5847
5848 * xfaces.c (lface_equal_p): Compare strings differently.
5849 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5850 (realize_tty_face): Use them.
5851 (syms_of_xfaces): Initialize new variables.
5852 (map_tty_color): New function, extracted from realize_tty_face.
5853 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5854 foreground or background color, store the new color name in the
5855 realized face; previous code trying to do this had no effect.
5856 (realize_tty_face): Use map_tty_color.
5857 (Fclear_face_cache): Set face_change_count and ensure thorough
5858 redisplay.
5859
1433385f
GM
58602000-08-19 Gerd Moellmann <gerd@gnu.org>
5861
511bd4eb
GM
5862 * undo.c (record_first_change, record_marker_adjustment): Don't
5863 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5864
419ac0a2
KH
58652000-08-18 Kenichi Handa <handa@etl.go.jp>
5866
5867 * coding.c (decode_coding_string): Set members consumed,
5868 consumed_char, produced, produced_char of *coding correctly. If
5869 decode_coding doesn't consume any byte, don't try anymore.
5870 (encode_coding_string): Likewise.
5871
7eb9e30d
GM
58722000-08-18 Gerd Moellmann <gerd@gnu.org>
5873
511bd4eb
GM
5874 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5875 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5876
5877 * xdisp.c (redisplay_internal): Compare windows for equality with
5878 EQ, instead of applying XWINDOW to something that might not
5879 be a window.
52283633 5880
dd34a735
KH
58812000-08-18 Kenichi Handa <handa@etl.go.jp>
5882
5883 * fontset.c (Finternal_char_font): Search only the selected frame
5884 for a window of the current buffer.
5885
385ff9e3
GM
58862000-08-18 Gerd Moellmann <gerd@gnu.org>
5887
511bd4eb 5888 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5889 Lisp_Objects.
5890
385ff9e3
GM
5891 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5892 second half of a HELP_EVENT is found at the start of kbd_buffer.
5893
d6abb4c7
MB
58942000-08-18 Miles Bader <miles@gnu.org>
5895
4618074a
MB
5896 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5897
d6abb4c7
MB
5898 * editfns.c (save_restriction_save): Rewrite to use markers.
5899 (save_restriction_restore): Rewrite to understand new form of data
5900 saved by save_restriction_save.
5901 (Fsave_restriction): Remove cautionary note in doc-string.
5902
a7b28523
GM
59032000-08-17 Gerd Moellmann <gerd@gnu.org>
5904
5905 * fileio.c (build_annotations): Add a comment explaining the
5906 return value of format-annotate-function. Replace a spurious call
5907 to Flength with a CONSP test. Call format-annotate-function with
5908 a fifth arg specifying how many times the function is been called
5909 in a row, to let it choose temporary buffers appropriately.
5910
03c9ed77
DL
59112000-08-17 Dave Love <fx@gnu.org>
5912
5913 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5914 declare make_temp_name twice.
5915
52283633 5916 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5917 (unreadpure): Give it an arg.
5918
5919 * unexalpha.c: Prototype fatal_unexec, mark_x,
5920 update_dynamic_symbols. Declare unexec as void.
5921
5922 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5923 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5924
5925 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5926 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5927
5928 * alloca.c: Use #error.
5929 [POINTER_TYPE]: Use it.
5930
5931 * eval.c (Fdefvar): Doc fix.
5932
5933 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5934 INITIALIZE_INTERVAL.
5935
5936 * buffer.h: Avoid DECLARE_INTERVALS.
5937
5938 * config.in: Add size_t.
5939
aae41d97
EZ
59402000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5941
5942 * w16select.c (set_clipboard_data): If there's not enough memory
5943 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5944 expects. In case of other failures, return 3.
5945 (system_error_msg): New error message.
5946 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5947 system_error_msg.
5948
65aa5e85
GM
59492000-08-16 Gerd Moellmann <gerd@gnu.org>
5950
5951 * term.c (write_glyphs): Also turn off inverse video after turning
5952 off other appearances in case TS_exit_attribute_mode is not equal
5953 to TS_end_standout_mode.
5954 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5955 with the same face.
5956 (turn_off_face): Reset standout_mode only if
5957 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5958 is equal to TS_end_standout_mode.
5959
ece23901
KH
59602000-08-16 Kenichi Handa <handa@etl.go.jp>
5961
9d7bcb2e
KH
5962 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5963 sequence at the end of the source block.
5964
ece23901
KH
5965 * ccl.c (Fccl_program_p): Docstring modified.
5966 (Fccl_execute): Likewise.
5967 (Fccl_execute_on_string): Likewise.
5968
5e30eaa2
EZ
59692000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5970
5971 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5972
290602fd
KH
59732000-08-16 Kenichi Handa <handa@etl.go.jp>
5974
5975 The following changes are mainly to fix bugs of
5976 encode/decode-coding-string failing if encoding/decoding return
5977 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5978 variable conversion_buffer.
5979
5980 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5981 decrement dst_end to avoid buffer overflow in the later call of
5982 string_as_multibyte
5983
5984 * coding.h (conversion_buffer_size, conversion_buffer)
5985 (get_conversion_buffer): Extern deleted.
5986
5987 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5988 (conversion_buffer, conversion_buffer_size): Variables deleted.
5989 (get_conversion_buffer): Function deleted.
5990 (struct conversion_buffer): New structure.
5991 (MAX_ALLOCA): New macro.
5992 (allocate_conversion_buffer): New macro.
5993 (extend_conversion_buffer, free_conversion_buffer): New functions.
5994 (ccl_coding_driver): Set coding->result.
5995 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5996 this is the last block of source.
5997 (encode_coding): Likewise. Handle the source block as the last
5998 one only when the whole source text is consumed.
5999 (decode_coding_string): Handle the case that the output buffer is
6000 too small to decode the whole source text. Use
6001 allocate_conversion_buffer, extend_conversion_buffer and
6002 free_conversion_buffer, not get_conversion_buffer.
6003 (encode_coding_string): Likewise.
6004 (init_coding): Function deleted.
52283633 6005 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
6006
6007 * emacs.c (main): Don't call init_coding.
6008
52283633 6009 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
6010
6011 * term.c (write_glyphs): Use a locally declared conversion_buffer.
6012 (insert_glyphs): Likewise.
6013
6014 * w32console.c (write_glyphs): Use a locally declared
6015 conversion_buffer.
6016
b9f80d41
EZ
60172000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
6018
6019 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
6020 member of display_info is NULL.
6021
32dc52f7
GM
60222000-08-15 Gerd Moellmann <gerd@gnu.org>
6023
52283633 6024 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 6025
32dc52f7 6026 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 6027 appearances with capability `me'.
32dc52f7
GM
6028 (write_glyphs): Switch on inverse video before each face change.
6029
4eb22d33
DL
60302000-08-14 Dave Love <fx@gnu.org>
6031
6032 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
6033 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
6034 (lisp_free): Declare and make static.
6035
6036 * window.c: Fix embedded comment.
6037 (syms_of_window): Fix doc string.
6038
90cbf47e
GM
60392000-08-14 Gerd Moellmann <gerd@gnu.org>
6040
52283633 6041 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
6042 make sure to print `C-' before `M-', like in the manual.
6043
440fc135
GM
60442000-08-11 Gerd Moellmann <gerd@gnu.org>
6045
6046 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6047 since they aren't relocated anymore.
52283633 6048 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6049
6050 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6051 partially visible line which is smaller than the window's height.
440fc135 6052
6e264fad
KH
60532000-08-11 Kenichi Handa <handa@etl.go.jp>
6054
6055 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6056 the multibyte form of eight-bit-control characters.
6e264fad
KH
6057 (Fccl_execute_on_string): Initialize ccl->multibyte.
6058
6059 * ccl.h (struct ccl_program): New member multibyte.
6060
6061 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6062
c371f69a
KH
60632000-08-11 Kenichi Handa <handa@etl.go.jp>
6064
6065 * regex.c (regex_compile) <normal_char>: Pay attention to
6066 multibyteness.
6067 (analyse_first) <exactn>: Setup fastmap correctly for
6068 eight-bit-control characters.
6069
60702000-08-11 Kenichi Handa <handa@etl.go.jp>
6071
52283633 6072 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6073
6074 * keyboard.c (make_lispy_event): Handle the new event type
6075 multibyte_char_keystroke.
6076
6077 * xterm.c: Include coding.h.
6078 (XTread_socket): Work around a bug of XmbLookupString. If the
6079 input is from XIM, decode it according to the current locale. In
6080 that case, generate multibyte_char_keystroke events.
6081
b8ddbe71
KH
60822000-08-11 Kenichi Handa <handa@etl.go.jp>
6083
6084 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6085 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6086
47589c8c
GM
60872000-08-10 Gerd Moellmann <gerd@gnu.org>
6088
6089 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6090 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6091 (move_it_in_display_line_to): Record iterator's ascent and descent
6092 before producing glyphs, and restore them when we know the glyph
6093 doesn't fit on the line.
6094 (move_it_to): Restructured so that it's easier to debug. If
6095 moving to a vpos, and not moving to an x or character position,
6096 stop as soon as the specified vpos is reached; don't move further
6097 into that line because that might change the computed line height.
6098 (try_cursor_movement): New function, extracted from the cursor
6099 movement branch of redisplay_window. If ending on a partially
6100 visible line, don't try to scroll if the cursor line is taller
6101 than the window.
6102 (redisplay_window): Use try_cursor_movement.
6103
6104 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6105 because that function doesn't cope with variable-height lines.
6106
6107 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6108 box cursor because that's better visible for large images.
52283633 6109
c51bacd6
MB
61102000-08-10 Miles Bader <miles@gnu.org>
6111
6112 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6113
bea56df7
GM
61142000-08-10 Gerd Moellmann <gerd@gnu.org>
6115
6116 * xdisp.c (Vmessages_buffer_name): New variable.
6117 (message_dolog): Use it.
6118 (syms_of_xdisp): Initialize it.
6119
99cd7364
EZ
61202000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6121
52283633 6122 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6123 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6124 redundant now that keyboard.h is included.
6125
7d093d56
EZ
61262000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6127
6128 * keyboard.c (kbd_buffer_events_waiting): New function.
6129
6130 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6131
6132 * msdos.c: Include keyboard.h.
6133 (XMenuActivate): Empty no_event events from the event buffer. If
6134 no events are left after that, call clear_input_pending.
6135 (mouse_clear_clicks): New function, code moved from mouse_init.
6136 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6137 mouse driver to ``forget'' any past clicks.
6138
6139 * Makefile.in (msdos.o): Depend on keyboard.h.
6140
41e757a6
GM
61412000-08-09 Gerd Moellmann <gerd@gnu.org>
6142
8e7bd231
GM
6143 * lisp.h (input_pending): External declaration.
6144
6145 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6146
8e7bd231
GM
6147 * xdisp.c (echo_area_display): Display thoroughly if input is
6148 pending. Bind redisplay-dont-pause to t during the redisplay.
6149 in case input is pending.
6150
6151 * dispnew.c (Qredisplay_dont_pause): New variable.
6152 (syms_of_display): Initialize and staticpro it.
6153 (update_frame_1): Don't interrupt the display for pending input if
6154 redisplay_dont_pause is set.
52283633 6155
43028b7e
GM
6156 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6157
41e757a6
GM
6158 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6159
2f2174fa
KH
61602000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6161
6162 * callproc.c (Fcall_process): Terminate the unwind-protect around
6163 the post-read-conversion of coding system.
6164
0a6fd67e
MB
6165 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6166 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6167 * buffer.h (overlays_at): Update prototype.
6168 * xdisp.c (next_overlay_change): Update call to overlays_at.
6169 * xfaces.c (face_at_buffer_position): Likewise.
6170 * textprop.c (Fget_char_property): Likewise.
6171 * xterm.c (note_mouse_highlight): Likewise.
6172
0c80756e
MB
6173 * minibuf.c (do_completion): Don't consider a simple change of
6174 case as `completion'.
6175
975f250a
KR
61762000-08-08 Ken Raeburn <raeburn@gnu.org>
6177
52283633 6178 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6179 * undo.c (record_delete): Make sure last_point_position_buffer is
6180 a buffer before comparing pointers.
6181
6182 * coding.h (decode_coding_string): Declare.
6183
6184 * intervals.h (Fprevious_single_char_property_change): Declare.
6185
6186 * textprop.c (Fprevious_single_char_property_change): Don't do
6187 arithmetic directly on lisp objects.
6188
52283633 6189 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6190
6191 * keyboard.h (menu_item_eval_property): Declare.
6192
6193 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6194 reuse as buffer name, instead of recreating (and discarding) every
6195 time a message is logged.
6196 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6197 (current_message_1, truncate_message_1, set_message_1)
6198 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6199 (current_message, truncate_echo_area, display_echo_area)
6200 (resize_echo_area_axactly): Changed calls.
b347b3fd 6201
975f250a 6202 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6203 Lisp object.
975f250a 6204 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6205 must be an integer, not a Lisp object.
975f250a 6206
46dc9912
KH
62072000-08-08 Kenichi Handa <handa@etl.go.jp>
6208
6209 * charset.c (Fchar_width): Doc fix.
6210
9f6d1a6c
GM
62112000-08-08 Gerd Moellmann <gerd@gnu.org>
6212
6213 * charset.c (Fstring_width): Doc fix.
6214
ff3d9573
GM
62152000-08-07 Gerd Moellmann <gerd@gnu.org>
6216
41e757a6 6217 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6218 line, clear ascent and descent members of the iterator structure;
6219 the height of the continued line does not affect the height of the
6220 continuation line.
6221 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6222 line taller than the window.
6223 (redisplay_window) <forced window start>: Handle case that the
6224 middle of the window is not found in any row.
6225 (dump_glyph_row): Show more information.
6226 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6227 first text line in a glyph matrix.
6228
6229 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6230 of the clip area when image doesn't have a mask.
6231
70fc58b3
GM
6232 * fns.c (sweep_weak_table): Fix survival conditions for
6233 key-or-value and key-and-value weakness.
6234
6235 * .gdbinit (xhashtable): New command.
6236
ac0e96ee
GM
6237 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6238 tables out of the list of all weak hash tables.
6239
ff3d9573
GM
6240 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6241 a new buffer is created, make sure echo_area_buffer[] references
6242 the new buffer.
6243
e0d8827b
EZ
62442000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6245
6246 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6247 the doc string.
6248
c6f35378
KH
62492000-08-07 Kenichi Handa <handa@etl.go.jp>
6250
6251 * syntax.c (skip_chars): Fix previous change. Make the handling
6252 of unibyte string consistent with that of regex search.
6253
1fd4c450
GM
62542000-08-05 Gerd Moellmann <gerd@gnu.org>
6255
e49aa397
GM
6256 * xmenu.c (popup_get_selection): Use xfree instead of free.
6257
6258 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6259
6260 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6261
6262 * callproc.c (child_setup): Use xfree instead of free.
6263
6264 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6265 instead of malloc.
6266 (run_mac_command, closedir): Use `xfree' instead of `free'.
6267
6268 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6269
6270 * eval.c (error): Use xfree instead of free.
6271
1fd4c450
GM
6272 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6273
6274 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6275 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6276
82d497fc
KH
62772000-08-05 Kenichi Handa <handa@etl.go.jp>
6278
6279 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6280 conversion.
6281
59f953a2
NF
62822000-08-04 Noah Friedman <friedman@splode.com>
6283
6284 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6285 docstring.
6286
688351f2
GM
62872000-08-04 Gerd Moellmann <gerd@gnu.org>
6288
6289 * syntax.c (skip_chars): Fix typo in error message.
6290
2dad51cc
AS
62912000-08-04 Andreas Schwab <schwab@suse.de>
6292
6293 * m/ia64.h: Moved from s/ia64.h.
6294
99bb2c60
KH
62952000-08-04 Kenichi Handa <handa@etl.go.jp>
6296
082a1df2
KH
6297 * process.c (read_process_output): Big simplification. Handle
6298 composition and post-read-conversion of coding system correctly.
6299 (send_process): Handle composition correctly.
6300
6301 * callproc.c (Fcall_process): Handle post-read-conversion of
6302 coding system if any.
6303
99bb2c60
KH
6304 * coding.c (decode_coding_iso2022): More strict check for handling
6305 single shifting.
082a1df2
KH
6306 (coding_restore_composition): Pay attention to the case that
6307 cmp_data is not set properly (because of invalid code in the
6308 source text).
6309 (run_pre_post_conversion_on_str): Include text properties in the
6310 resulting string.
6311 (decode_coding_string): Set members of coding correctly.
99bb2c60 6312
f4988be7
GM
63132000-08-03 Gerd Moellmann <gerd@gnu.org>
6314
6315 * s/ia64.h: New file.
6316
6317 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6318 Use NULL instead of 0 at the end of variable argument list of
6319 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6320 sizeof (int) < sizeof (void *).
6321
6322 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6323 of variable argument lists of XtVaGetValues and XtVaSetValues.
6324
6325 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6326 variable argument lists of XtVaGetValues and XtVaSetValues.
6327
ead53494
GM
63282000-08-02 Gerd Moellmann <gerd@gnu.org>
6329
6330 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6331 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6332
6333 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6334 prototype.
6335
6336 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6337 in call to Fsingle_key_description.
6338
6339 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6340 Callers changed.
6341
63422000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6343
6344 * window.c (display_buffer_reuse_frames): New variable.
6345 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6346 frames displaying BUFFER.
52283633 6347 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6348
10b0f752
MB
63492000-08-01 Miles Bader <miles@gnu.org>
6350
6351 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6352 when to constrain NEW_POS (they were pretty screwed up before).
6353
16425c4a
EZ
63542000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6355
6356 * msdos.c (run_msdos_command): Save and restore the master
6357 environment, for the case that child_setup signals an error.
6358 When mirroring slashes in DOS shell commands, don't fail when
6359 argv[2] has embedded blanks.
da288c14
EZ
6360 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6361 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6362 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6363
6364 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6365 using alloca; free it after run_msdos_command returns.
6366
27f73852
DL
63672000-07-27 Dave Love <fx@gnu.org>
6368
52283633
SM
6369 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6370 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6371
6372 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6373
c0261b5e
EZ
63742000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6375
6376 * editfns.c (lisp_time_argument): Fix last change.
6377
b548072f
GM
63782000-07-27 Gerd Moellmann <gerd@gnu.org>
6379
3ab82477
GM
6380 * fns.c (Fdelete): Make it work on vectors and strings in addition
6381 to lists.
6382
b548072f
GM
6383 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6384 (syms_of_fns): Initialize new variables.
52283633 6385 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6386 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6387 weakness, with t meaning the same as `key-and-value'.
6388
91ae8751
KH
63892000-07-27 Kenichi Handa <handa@etl.go.jp>
6390
6391 * coding.h (struct coding_system): Member safe_charset deleted.
6392
6393 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6394 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6395 New variables.
91ae8751
KH
6396 (coding_safe_chars): New function.
6397 (CODING_SAFE_CHAR_P): New macro.
6398 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6399 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6400 (detect_coding_iso2022): New local variable safe_chars.
6401 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6402 safe_charsets member of the coding system.
6403 (decode_coding_iso2022): New local variable safe_chars.
6404 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6405 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6406 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6407 (ENCODE_UNSAFE_CHARACTER): New macro.
6408 (encode_coding_iso2022): New local variable safe_chars. Check
6409 unsafe chars.
6410 (setup_coding_system): Delete the code to initialize
6411 coding->safe_charses
6412 (intersection, find_safe_codings): New functions.
6413 (Ffind_coding_systems_region_internal): New function.
6414 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6415 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6416 variable and initialize it.
6417
6418 * fns.c (char_table_ref_and_index): New function.
6419
6420 * lisp.h (char_table_ref_and_index): Add prototype.
6421
34a7a267
SS
64222000-07-26 Sam Steingold <sds@gnu.org>
6423
6424 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6425 (Ffloat_time): New built-in Lisp function.
34a7a267 6426
a95cb10a
GM
64272000-07-26 Gerd Moellmann <gerd@gnu.org>
6428
3353ef5a
GM
6429 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6430 for the character code.
6431
6432 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6433 GNU/Linux.
6434
a95cb10a
GM
6435 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6436 if called for a popup menu.
6437 (xmenu_show): Store help string in widget values.
6438
b4a12321
DL
64392000-07-26 Dave Love <fx@gnu.org>
6440
6441 * syswait.h: Move some definitions.
6442 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6443 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6444 perspicuous definitions.
6445 (WTERMSIG): Fix bit pattern used.
6446
13f5ad37
KH
64472000-07-26 Kenichi Handa <handa@etl.go.jp>
6448
6449 * print.c (print_object): If vector printing is truncated, print
6450 "..." to indicate it as well as the case of list printing.
6451
070fe99c
GM
64522000-07-25 Gerd Moellmann <gerd@gnu.org>
6453
969065c3
GM
6454 * xdisp.c (next_element_from_display_vector): Improve comments.
6455
6456 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6457 for the character code, and the rest for the face id as in 20.x.
6458 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6459
6460 * window.c (window_display_table): Cleaned up.
6461
070fe99c
GM
6462 * syntax.c (Fforward_word): Add last arg nil in call of
6463 Fconstrain_to_field.
6464
bad77ef7
EZ
64652000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6466
969065c3 6467 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6468 identical but for the letter-case, don't call
6469 barf_or_query_if_file_exists.
bad77ef7 6470
c28da489
MB
64712000-07-25 Miles Bader <miles@gnu.org>
6472
6473 * editfns.c (find_field): Honor special `boundary' fields.
6474 (Qboundary): New variables.
6475 (syms_of_editfns): Initialize Qboundary.
6476 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6477 Use scan_buffer instead of find_before_next_newline, because it
6478 allows us to detect the boundary case where there's a newline at
6479 the search limit.
6480 * lisp.h (Fconstrain_to_field): Update external declaration.
6481
e3c31fd5
GM
64822000-07-24 Gerd Moellmann <gerd@gnu.org>
6483
6484 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6485 if that is nil.
c28da489 6486
c66c29a2
DL
64872000-07-24 Dave Love <fx@gnu.org>
6488
6489 * s/sunos4-0.h, s/sol2.h:
6490 (LIBS_TERMCAP): Move from m/sparc.h.
6491
6492 * m/sparc.h (TERMINFO): Moved to system files (probably only
6493 relevant for sunos4 judging by its vintage).
6494 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6495 __arch64__.
6496
fbe0a958
EZ
64972000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6498
6499 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6500 name to single_keymap_panes.
6501
7d88e5c9
AS
65022000-07-24 Andreas Schwab <schwab@suse.de>
6503
6504 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6505
e024b101
GM
65062000-07-24 Gerd Moellmann <gerd@gnu.org>
6507
6508 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6509 parameters instead of using int parameters. Expect FN to accept
6510 EMACS_INT parameters.
6511 (display_echo_area, resize_echo_area_axactly, current_message)
6512 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6513 with new argument list.
6514 (resize_mini_window_1): New callback function.
6515 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6516 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6517
25c1a9ce
KH
65182000-07-24 Kenichi Handa <handa@etl.go.jp>
6519
6520 * fontset.c (fontset_ref): Remove INLINE declaration.
6521 (fontset_ref_via_base): Likewise.
6522 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6523 to downcase.
6524
7f987ac0
EZ
65252000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6526
6527 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6528 correct order of priority. If help echo was found in an overlay,
6529 use that overlay as the object in which the help echo was found.
6530
e2db3069
MB
65312000-07-22 Miles Bader <miles@gnu.org>
6532
6533 * textprop.c (Fprevious_single_char_property_change): The initial
6534 property value should be from the position preceding POSITION, not
6535 following it.
6536
5e3203e4
EZ
65372000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6538
6539 * coding.c (syms_of_coding): Doc fix for
6540 inhibit-iso-escape-detection.
6541
62145073
GM
65422000-07-21 Gerd Moellmann <gerd@gnu.org>
6543
c20aeb83
GM
6544 * xterm.c (note_mouse_highlight): Process overlays in the right
6545 order of priority.
34a7a267 6546
743934db
GM
6547 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6548
6549 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6550 overlay, use that overlay as the object in which the help was found.
743934db 6551
d1dc7e43 6552 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6553
62145073
GM
6554 * window.c (foreach_window): Instead of a fake variable argument
6555 list, take one USER_DATA argument.
6556 (foreach_window_1): Likewise, and call callback functions with two
6557 args, the window and USER_DATA.
6558 (struct check_window_data): New struct.
6559 (check_window_containing): Use it.
6560 (window_from_coordinates): Set up a struct check_window_data for
6561 foreach_window.
6562 (add_window_to_list, freeze_window_start): Change parameters
6563 according to new calling convention.
6564
6565 * window.h (foreach_window): Change prototype.
6566
6567 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6568
65692000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6570
6571 * xmenu.c (menu_help_callback): Call show_help_echo with
6572 additional arguments OBJECT and POS.
6573
11270583
KH
65742000-07-21 Kenichi Handa <handa@etl.go.jp>
6575
07b14857
KH
6576 * data.c (Faset): Allow storing any multibyte character in a
6577 string. Convert unibyte string to multibyte if necessary.
6578
11270583
KH
6579 * xfns.c (x_encode_text): New function.
6580 (x_set_name): Use x_encode_text.
6581 (x_set_title): Likewise.
6582
6583 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6584
6585 * xterm.h (x_encode_text): Add prototype.
6586
bc75b4fd
DL
65872000-07-20 Dave Love <fx@gnu.org>
6588
6589 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6590 xfree, not free.
6591
48c14970
EZ
65922000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6593
6594 * msdos.c (help_echo_window): New variable.
6595 (syms_of_msdos): Initialize and staticpro it.
6596 (IT_note_mode_line_highlight): Set help_echo_window.
6597 (IT_note_mouse_highlight): Ditto.
6598 (dos_rawgetc): Store help_echo_window in the second event produced
6599 for HELP_EVENTs.
6600
6601 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6602 Record the object that generated the help echo and the position of
6603 that object in help_echo_object and help_echo_pos. Record that
6604 some glyphs in a row are displayed in mouse-face.
6605 (IT_update_begin): Don't clear mouse highlight unless one of the
6606 enabled glyph rows is marked as being displayed in mouse-face.
6607 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6608 and position recorded in help_echo_object and help_echo_pos to the
6609 event queue.
6610 (IT_menu_display): Accept a new argument PN: the pane number of
6611 the current menu pane. Record the pane number and the item
6612 number of the item which has associated help string.
6613 (XMenuActivate): Update the prototype for help_callback in
6614 function declaration. Call IT_menu_display with the current menu
6615 pane number as an additional argument. Call help_callback with
6616 two additional arguments: the pane number and the item number of
6617 the menu item associated with the help text.
6618 (help_echo_object, help_echo_pos): New variables.
6619 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6620
6621 * msdos.h (XMenuActivate): Update prototype.
6622
4279296d
GM
66232000-07-19 Gerd Moellmann <gerd@gnu.org>
6624
47db06aa
GM
6625 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6626 Add some more prototypes.
6627
6628 * xterm.c, xterm.h: Add some more prototypes.
6629
6630 * lisp.h (Fnext_single_char_property_change): Add prototype.
6631
6632 * dispnew.c (direct_output_for_insert): Remove confusing
6633 outer local variable mouse_face_overwritten_p.
6634 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6635
4279296d
GM
6636 * alloc.c (allocate_string_data): Don't copy old string contents.
6637
670acd62
KH
66382000-07-19 Kenichi Handa <handa@etl.go.jp>
6639
6640 * coding.c (code_convert_region): Delete text properties before
6641 shrinking the conversion region.
6642
7cea38bc
GM
66432000-07-18 Gerd Moellmann <gerd@gnu.org>
6644
dc1cac59
GM
6645 * dispnew.c (update_text_area): Write the whole row if it
6646 has mouse-face in it.
6647
85a8aca9
GM
6648 * xfaces.c (face-alternative-font-family-alist): Remove
6649 DEFVAR_LISP; staticpro instead.
6650
34a7a267 6651 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6652 new arguments.
6653
6654 * keyboard.c (show_help_echo): Add parameter WINDOW.
6655 (read_char): Call show_help_echo with window extracted from Lisp
6656 help event.
6657 (gen_help_event): Add parameter WINDOW.
6658
6659 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6660
6661 * xterm.c (help_echo_window): New variable.
52283633 6662 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6663 (XTread_socket): Pass help_echo_window to gen_help_event.
6664 (syms_of_xterm): Initialize and staticpro help_echo_window.
6665
f8276b77
DL
66662000-07-18 Dave Love <fx@gnu.org>
6667
52283633 6668 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6669
088831a6
GM
66702000-07-18 Gerd Moellmann <gerd@gnu.org>
6671
3d6cd763
GM
6672 * alloc.c (allocate_string_data): If string had already data
6673 assigned, copy old contents to new string data.
6674
6675 * coding.c (syms_of_coding): Fix typo in spelling of variable
6676 `inhibit-iso-escape-detection'.
6677
088831a6
GM
6678 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6679
6680 * Makefile.in: Add dependencies on dispextern.h.
6681 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6682 `free'; both can conflict with system header files.
6683
bc8a8d55
KH
66842000-07-18 Kenichi Handa <handa@etl.go.jp>
6685
6686 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6687 undefined.
6688
069f5950
DL
66892000-07-18 Dave Love <fx@gnu.org>
6690
6691 * window.c (Fwindow_list): Declare arg `window'.
6692
aa96c820
KH
66932000-07-18 Kenichi Handa <handa@etl.go.jp>
6694
6695 * coding.c (setup_coding_system): Don't override the explicitly
6696 specified designations.
6697
06be8d32
MB
66982000-07-15 Miles Bader <miles@gnu.org>
6699
6700 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6701 from `text_property_eq' and `text_property_stickiness', respectively.
6702 (find_field, Fconstrain_to_field, char_property_eq)
6703 (char_property_stickiness): Changed to call char-property functions
6704 instead of text-property-only ones.
6705
6706 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6707 `next_single_char_property_change'). Do more error checking, and
6708 cleanup limit behavior.
6709 (Fprevious_single_char_property_change): New function.
6710 (syms_of_textprop): Initialize new subrs.
6711
6712 * xdisp.c (display_prop_end, invisible_text_between_p):
6713 Call Fnext_single_char_property_change instead of
6714 next_single_char_property_change.
6715
3fddcdc3
JR
67162000-07-15 Jason Rumney <jasonr@gnu.org>
6717
6718 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6719 after menu is finished with.
6720 (add_menu_item): Only consider wv->title as a menu title.
6721 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6722
6723 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6724 null title.
6725 (FONT_REGEXP): Remove unused macro, and its sub-components.
6726 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6727
6728 * w32term.c (help_echo_object, help_echo_pos): New variables.
6729 (note_mode_line_highlight): Store additional information about the
6730 help-echo in help_echo_object and help_echo_pos. Check both
6731 `local-map' and `keymap' properties for changing the cursor
6732 (note_mouse_highlight): Store additional information about the
6733 help-echo in help_echo_object and help_echo_pos.
6734 (note_tool_bar_highlight): Set help_echo_object to nil and
6735 help_echo_pos to -1.
6736 (w32_read_socket): Use gen_help_event instead of filling
6737 input_events manually.
6738 (syms_of_w32term): Staticpro help_echo_object.
6739 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6740 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6741 (x_clear_mouse_face): New function.
6742 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6743 (x_update_window_begin): No need to turn off the mouse
6744 highlight here.
6745 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6746 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6747 (x_fill_stretch_glyph_string): Consume runs of stretch
6748 glyphs instead of a single one.
6749 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6750 with new argument list.
6751 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6752 (x_append_glyph, x_append_composite_glyph)
6753 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6754 changes in struct glyph starting 1999-12-27. See comments for
6755 xterm.c on 2000-07-05.
6756
178c5d9c
SS
67572000-07-14 Sam Steingold <sds@gnu.org>
6758
6759 * xfaces.c (realize_x_face): Fix the last patch:
6760 check `default_face' before dereferencing.
6761
6fe533f6
DL
67622000-07-14 Dave Love <fx@gnu.org>
6763
069f5950 6764 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6765
dd7b81cf
KH
67662000-07-14 Kenichi Handa <handa@etl.go.jp>
6767
0693904a 6768 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6769 default_face's fontset, not using the default fontset.
0693904a 6770
dd7b81cf
KH
6771 * coding.c (inhibit_iso_escape_detection): New variable.
6772 (syms_of_coding): Make it a Lisp variable.
6773 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6774 nonzero, ignore ISO2022's escape sequence.
6775
d5aa31d8
GM
67762000-07-14 Gerd Moellmann <gerd@gnu.org>
6777
e5acf0ca
GM
6778 * alloca.c (malloc) [emacs]: Define as xmalloc.
6779
bd23a692
GM
6780 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6781 use that instead of the mouse position. Add parameters DX and DY.
6782
6783 * dispextern.h (Fx_show_tip): Adjust number of parameters
6784 in prototype.
6785
9662da0b
GM
6786 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6787 if HELP is a function, call it with OBJECT and POS as parameters
6788 to get the help to display.
6789 (gen_help_event, kbd_buffer_store_help_event): New functions.
6790 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6791 (read_char): Call show_help_echo with new parameters.
6792
178c5d9c 6793 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6794 Add prototypes.
6795
6796 * xterm.c (help_echo_object, help_echo_pos): New variables.
6797 (note_mode_line_highlight): Store additional information about the
6798 help-echo in help_echo_object and help_echo_pos. Check both
6799 `local-map' and `keymap' properties for changing the cursor
6800 (note_mouse_highlight): Store additional information about the
6801 help-echo in help_echo_object and help_echo_pos.
6802 (note_tool_bar_highlight): Set help_echo_object to nil and
6803 help_echo_pos to -1.
6804 (XTread_socket): Use gen_help_event instead of filling
6805 input_events manually.
6806 (syms_of_xterm): Staticpro help_echo_object.
6807
6808 * xmenu.c (menu_highlight_callback): Use
6809 kbd_buffer_store_help_event instead of setting up and input_event
6810 structure manually.
6811
6812 * xdisp.c (eval_form): GCPRO argument sexpr.
6813 (call_function): New function.
6814 (handle_single_display_prop): Use call_function and FUNCTIONP
6815 instead of checking whether if font_height is a symbol and
6816 using eval_form.
6817
6818 * eval.c (internal_condition_case_2): New function.
6819
6820 * lisp.h (FUNCTIONP): New macro.
6821 (internal_condition_case_2, call_function): Add prototypes.
6822
d5aa31d8
GM
6823 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6824 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6825 Always set `arg' member of input_events.
6826 (construct_menu_click): Unused function removed.
6827
6828 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6829
6830 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6831 (construct_drag_n_drop, x_scroll_bar_handle_click)
6832 (w32_read_socket): Always set `arg' member of input_events.
6833
6834 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6835
6836 * lisp.h (eval_form): Add prototype.
6837
6838 * xdisp.c (eval_form): Make it externally visible.
6839
0f1a9b23
GM
68402000-07-13 Gerd Moellmann <gerd@gnu.org>
6841
6842 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6843 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6844 consing. For prefix events, store the frame in the `arg' slot of
6845 the event, otherwise store the key there.
6846 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6847 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6848
6849 * xmenu.c (menu_highlight_callback): Store help string in the
6850 `arg' member of the input event; don't cons.
6851 (menubar_selection_callback): Use the `arg' slot of input events
6852 to queue additional information, instead of consing.
6853
6854 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6855
6856 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6857 TOOL_BAR_EVENTs.
6858 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6859
6860 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6861 input events to queue additional information, instead of consing.
6862
6863 * keyboard.c (kbd_buffer_gcpro): Renamed from
6864 kbd_buffer_frame_or_window. Now used for all Lisp objects
6865 referenced from the input queue.
6866 (kbd_buffer_store_event): Always use structure assignment for
6867 copying input events. Record all Lisp objects referenced from
6868 events in kbd_buffer_gcpro.
6869 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6870 differently from input events. Test for prefix menu_bar_events
6871 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6872 event in kbd_buffer_gcpro to nil.
6873 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6874 frame_or_window is equal to its arg member as prefix events.
6875 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6876 used by an input event to nil.
6877 (init_keyboard): Use two times the size of the input queue
6878 for kbd_buffer_gcpro.
6879 (syms_of_keyboard): Likewise.
6880
52283633
SM
6881 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6882 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6883
6884 * termhooks.h (struct input_event): Add member `arg'.
6885 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6886 (USER_SIGNAL_EVENT): Renamed from user_signal.
6887
6888 * xfaces.c (ASET): Remove definition.
6889
6890 * lisp.h (AREF, ASET, ASIZE): New macros.
6891
6892 * fontset.c (AREF, ASIZE): Remove definitions.
6893
6894 * fns.c (AREF): Remove definition.
178c5d9c 6895
0f1a9b23
GM
6896 * composite.c (AREF): Remove definition.
6897
712eaef2
GM
68982000-07-12 Gerd Moellmann <gerd@gnu.org>
6899
d8ee7803
GM
6900 * dispnew.c (redraw_overlapped_rows): Add missing local.
6901 (scrolling_window): Remove debug code.
6902
712eaef2
GM
6903 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6904 Before scrolling, turn off a mouse-highlight in the window
6905 being scrolled.
6906
6907 * xterm.c (x_update_window_end): Add parameter
6908 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6909 redisplay in XTframe_up_to_date.
6910 (x_clear_mouse_face): New function.
6911 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6912
6913 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6914 current glyph row.
6915 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6916 it when any row is written to that contains glyphs highlighted in
6917 mouse-face.
6918 (update_window): Call the window update end hook with new
6919 parameter MOUSE_FACE_OVERWRITTEN_P.
6920 (direct_output_for_insert): Give up if row contains mouse-face.
6921
6922 * dispextern.h (struct redisplay_interface): Add parameter
6923 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6924 (clear_mouse_face): New function pointer member.
6925
02010917
SM
69262000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6927
6928 * syntax.c (back_comment): Use one switch rather than a few `if's.
6929 Obey open_paren_in_column_0_is_defun_start.
6930 When reverting to the `slow' method, try to nicely handle the case
6931 of nested comments by checking that the comment-starter we found
6932 does indeed match the comment-ender.
6933 (scan_sexps_forward, scan_sexps_forward):
6934 Ignore excessive opening parenthesis rather than throwing an error.
6935
d76c03ea
GM
69362000-07-11 Gerd Moellmann <gerd@gnu.org>
6937
6938 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6939 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6940
6941 * dispnew.c (direct_output_forward_char): Give up if currently
6942 displaying a message instead of the minibuffer contents.
6943
6944 * xterm.c (x_update_window_begin): No need to turn off the mouse
6945 highlight here.
6946 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6947 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6948
6949 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6950 compare the mouse_face_p flags of both rows.
6951
6952 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6953
d55ead18
EZ
69542000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6955
6956 * keyboard.c (show_help_echo): Accept additional parameter
6957 ok_to_overwrite_keystroke_echo.
6958 (read_char): Call show_help_echo with a zero
6959 ok_to_overwrite_keystroke_echo argument.
52283633 6960 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6961 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6962 ok_to_overwrite_keystroke_echo argument.
6963 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6964 non-zero ok_to_overwrite_keystroke_echo argument.
6965
df75b1a3
GM
69662000-07-10 Gerd Moellmann <gerd@gnu.org>
6967
4b92c49a
GM
6968 * xdisp.c (try_window_id): If changes are all below what is
6969 displayed in the window, and point is in the window, we still
6970 might have to find point on the display.
6971
6972 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6973 glyphs instead of a single one.
6974 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6975 with new argument list.
6976 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6977
df75b1a3
GM
6978 * keymap.c (get_keymap_1): Add comment that this function can GC.
6979 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6980 comment that functions can GC.
6981 (Fset_keymap_parent): GCPRO arg KEYMAP.
6982
4314cf3e
EZ
69832000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6984
6985 * msdos.c (XMenuActivate): After exiting the menu, restore the
6986 echo area message and erase it.
6987
ab49ce15
KH
69882000-07-10 Kenichi Handa <handa@etl.go.jp>
6989
6990 * fontset.c (Ffontset_info): Make the return value more compatible
6991 with that of Emacs 20.
6992
090a072f
GM
69932000-07-07 Gerd Moellmann <gerd@gnu.org>
6994
6995 * eval.c (Fsignal): Handle case that backtrace_list is null.
6996
f92de4a6
KH
69972000-07-07 Kenichi Handa <handa@etl.go.jp>
6998
6999 * ccl.c (Fccl_execute): Typo fixed.
7000
dd8888a1
GM
70012000-07-06 Gerd Moellmann <gerd@gnu.org>
7002
e5c81191 7003 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 7004
dd8888a1
GM
7005 * window.c (Fwindow_list): Reverse list at the end.
7006 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
7007 means allow windows on OWINDOW's frame, only.
7008 (window_loop): Simplified; use Fwindow_list.
7009
7010 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
7011
485266d0
GM
70122000-07-05 Gerd Moellmann <gerd@gnu.org>
7013
7014 * xterm.c (XTread_socket): Increment handling_signal at the start,
7015 decrement it at the end.
7016
7017 * eval.c (handling_signal): New variable.
7018 (Fsignal): Abort if handling_signal is non-zero.
7019
7020 * lisp.h (handling_signal): External declaration.
178c5d9c 7021
485266d0
GM
7022 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
7023
80fcd514
KR
70242000-07-05 Ken Raeburn <raeburn@gnu.org>
7025
7026 Sound support for NetBSD through "Linux emulation" support:
7027 * config.in (HAVE_SOUNDCARD_H): Undef.
7028 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
7029 * Makefile.in (LIBSOUND): New variable.
7030 (LIBES): Include it.
52283633
SM
7031 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
7032 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
7033 (vox_open): Use DEFAULT_SOUND_DEVICE.
7034 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
7035
d5c5cddd
GM
70362000-07-05 Gerd Moellmann <gerd@gnu.org>
7037
7038 * print.c (print_error_message): If Vsignaling_function is set,
7039 show it in *Messages*.
7040
7041 * lisp.h (Vsignaling_function): External declaration.
7042
7043 * eval.c (Vsignaling_function): New variable.
7044 (Fsignal): Compute it.
7045 (syms_of_eval): Staticpro it.
7046
65171e3a
DL
70472000-07-05 Dave Love <fx@gnu.org>
7048
7049 * syswait.h: Use the autoconf recommended approach. Old code
7050 #if'd out in case we need to revert.
7051
178c5d9c 7052 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7053
e2c46326
AI
70542000-07-05 Andrew Innes <andrewi@gnu.org>
7055
7056 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7057 when non-NULL instead of __morecore, to take account of buffer
7058 memory. This also solves a problem with spurious memory warnings
7059 on Windows.
7060
7061 * ralloc.c: Make real_morecore non-static.
7062
7063 * eval.c (internal_condition_case): Comment out abort if
7064 interrupt_input_blocked is not zero.
7065
7066 * makefile.nt: Add support for `bootstrap' and related targets.
7067 Include minimal debug info in emacs.exe in release build.
7068 Remove all dependencies on lisp.h, and fixup some others.
7069
7070 * w32.c (init_environment): Install code from 20.7 for providing
7071 default values for environment variables, based on the
7072 executable's own location.
52283633 7073 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7074 (sys_socket): Install socket inheritance bug fix from 20.7.
7075
7076 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7077 here via blockinput.h).
7078
a027a91b
SM
70792000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7080
e4b31601
SM
7081 * w32menu.c (w32_menu_display_help):
7082 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7083
7084 * keyboard.h (show_help_echo): Declare.
7085
7086 * keyboard.c (show_help_echo): New function, extracted from read_char.
7087 Feval its `msg' argument if it's a cons cell.
7088 (read_char): Use it.
4cf8d9d5 7089 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7090
178c5d9c 7091 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7092 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7093 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7094 (dos_rawgetc):
7095 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7096 (note_tool_bar_highlight, w32_read_socket):
7097 Do not gratuitously ignore non-string `help-echo' properties.
7098
88d75730
GM
70992000-07-05 Gerd Moellmann <gerd@gnu.org>
7100
969f7e79
GM
7101 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7102
71201b00
GM
7103 * window.c (delete_all_subwindows): Reset Vwindow_list.
7104
88d75730
GM
7105 * xterm.c (x_append_glyph, x_append_composite_glyph)
7106 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7107 changes in struct glyph starting 1999-12-27. Some bit-fields of
7108 struct glyph were not set, which made glyphs unequal when compared
7109 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7110 effects were the result. This also depended on the contents of
7111 memory returned by xmalloc. If flickering happens again, activate
7112 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7113 gone with that, chances are that it is caused by something similar.
88d75730
GM
7114
7115 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7116
88d75730
GM
7117 * dispextern.h: Add some comments.
7118
7119 * window.c (add_window_to_list): Add parameter LIST.
7120 (window_list): Order list so that, for each frame, windows are
7121 in canonical order, and so that frames appear in the list in
7122 the order given by Vframe_list.
7123 (next_window): Reverse the handling of NEXT_P.
7124
53654733
GM
71252000-07-04 Gerd Moellmann <gerd@gnu.org>
7126
87efd256
GM
7127 * window.c (Vwindow_list): New variable.
7128 (make_window, delete_window): Set Vwindow_list to nil.
7129 (check_window_containing): New function.
7130 (window_from_coordinates): Rewritten.
7131 (add_window_to_list, window_list, candidate_window_p)
7132 (decode_next_window_args, next_window): New functions.
52283633 7133 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7134 (Fwindow_list): New function.
7135 (Fother_window): Cleaned up.
7136 (foreach_window): Add a longer "variable argument list". Let
7137 callback function return 0 to indicate that cycling over windows
7138 should stop.
7139 (foreach_window_1): Likewise.
7140 (freeze_window_start): Return int.
7141 (init_window): New function.
7142 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7143
7144 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7145 input_event with bzero.
7146 (main): Call init_window.
7147
53654733
GM
7148 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7149 a menu filter.
7150
4a8c194f
KH
71512000-07-04 Kenichi Handa <handa@etl.go.jp>
7152
7153 * composite.h (make_composition_value_copy): Extern it.
7154
7155 * composite.c (make_composition_value_copy): New function.
7156
7157 * editfns.c (Fformat): While copying text properties, make each
7158 composition property value a copy.
7159
7160 * fns.c (concat): While copying text properties, make each
7161 composition property value a copy.
7162
831a6cb0
GM
71632000-07-03 Gerd Moellmann <gerd@gnu.org>
7164
2f516940
GM
7165 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7166
178c5d9c 7167 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7168 marked already.
7169
831a6cb0
GM
7170 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7171 include those frames as candidates which have their focus
7172 redirected to the minibuffer frame.
7173
d9c4f922
SM
71742000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7175
7176 * fns.c (Fputhash): Return `value' rather than nil.
7177
3780bc22
GM
71782000-06-30 Gerd Moellmann <gerd@gnu.org>
7179
97d176db
GM
7180 * frame.c (next_frame): Don't check focus redirection in case
7181 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7182 unless their focus is redirected, which contradicts the
7183 specification of next-frame, and leads to infinite loops in
7184 certain situations when cycling through windows with next-window.
7185
dca9961d
KH
71862000-06-30 Kenichi Handa <handa@etl.go.jp>
7187
7188 * coding.c (code_convert_region): Even if the length of text is
7189 zero, try to convert it if coding->type is coding_type_ccl.
7190 (decode_coding_string, encode_coding_string): Likewise.
7191
d5483ab1
GM
71922000-06-28 Gerd Moellmann <gerd@gnu.org>
7193
af5c25e1 7194 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7195 the display if windows_or_buffers_changed.
af5c25e1
GM
7196
7197 * dispnew.c (struct row_entry): New structure.
7198 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7199 (row_table_size, old_lines, new_lines, old_lines_size)
7200 (new_lines_size, run_pool, runs_size, runs): New variables.
7201 (add_row_entry): New function.
7202 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7203 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7204 holding them in local variables. Use a larger hash table whose
7205 size depends on glyph matrix sizes. Don't use bzero to clear the
7206 hash table; instead, clear used slots only.
7207
7208 * fns.c (next_almost_prime): Make it externally visible.
7209
7210 * lisp.h (next_almost_prime): Add prototype.
7211
d5483ab1
GM
7212 * s/isc4-0.h (sigunblock): Define.
7213
7214 * s/sco5.h (sigunblock): Define.
7215
93e40f40
DL
72162000-06-27 Dave Love <fx@gnu.org>
7217
7218 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7219 (moved to osf5-0.h).
7220 [!NOT_C_CODE]: Protect string.h stuff.
7221
7222 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7223 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7224
3c4b7685
GM
72252000-06-27 Gerd Moellmann <gerd@gnu.org>
7226
97d176db 7227 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7228 below the last line from the needed window height.
7229
32cad0aa
SM
72302000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7231
7232 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7233 (Fwidget_get): Use it.
7234 (syms_of_fns): Defsubr it.
7235
2c69ced2
GM
72362000-06-26 Gerd Moellmann <gerd@gnu.org>
7237
178c5d9c 7238 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7239 display info for XIM.
7240 (xim_open_dpy): Likewise.
7241 (xim_close_dpy): Don't free the display info's XIM.
7242
7243 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7244
7245 * config.in (USE_XIM): New define.
7246
3fc720e4
GM
7247 * keymap.c (get_keyelt): For menu-items containing a `:filter
7248 FILTER', apply FILTER to the menu-item's definition to get the
7249 real definition to use.
7250
7251 * lisp.h (QCfilter): External declaration.
7252
2c69ced2
GM
7253 * xfns.c (Fimage_size): New function.
7254 (syms_of_xfns): Defsubr it.
7255
f978b2a2
AS
72562000-06-26 Andreas Schwab <schwab@suse.de>
7257
7258 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7259 Fstring_as_unibyte.
7260
94cc7892
DL
72612000-06-25 Dave Love <fx@gnu.org>
7262
52283633 7263 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7264
7265 * Makefile.in (blockinput.h): Depend on atimer.h.
7266 (atimer.h): Depend on systime.h.
7267
52283633 7268 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7269
52283633 7270 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7271
7272 * lisp.h (swap_in_global_binding): Declare.
7273
b8c24556
KR
72742000-06-24 Ken Raeburn <raeburn@gnu.org>
7275
7276 * process.c (Fopen_network_stream): Turn off atimers for duration
7277 of call to connect. (Patch from Gerd.)
7278
8cf8560b
DL
72792000-06-23 Dave Love <fx@gnu.org>
7280
511c7541
DL
7281 * ralloc.c: Maybe include unistd.h
7282
8cf8560b
DL
7283 * emacs.c (setgrp): Undefine before defining.
7284 (malloc_warning, set_time_zone_rule, index): Prototype.
7285
7286 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7287 HAVE_STRUCT_TIMEZONE.
7288
7289 * s/osf1.h: Move string.h hack here from alpha.h and make it
7290 conditional.
7291 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7292 _XOPEN_SOURCE.
7293 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7294 (SOCKLEN_TYPE): Don't define.
7295
7296 * m/alpha.h: Remove string.h hack.
7297
7298 * s/osf5-0.h: New file.
7299
7300 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7301 include time.h, done by systime.h.
7302 [__FreeBSD__]: Remove redundant includes.
7303
3fc720e4 7304 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7305 (delete_temp_file): Return Qnil to avoid warning.
7306
7307 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7308
7309 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7310 HAVE_X_WINDOWS.
7311
7312 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7313
7314 * composite.h (compose_text): Declare.
7315
7316 * xterm.c: Don't include sys/types.h unconditionally. Don't
7317 protect its inclusion with !USG (following xmenu.c).
7318
ea055732
GM
73192000-06-23 Gerd Moellmann <gerd@gnu.org>
7320
7321 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7322 in x_create_frame.
7323
74b01b80
EZ
73242000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7325
7326 * coding.c (decode_eol_post_ccl): Special handling for undecided
7327 and inconsistent EOL types.
7328
64f3a166
GM
73292000-06-22 Gerd Moellmann <gerd@gnu.org>
7330
16cf31f7
GM
7331 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7332 trough color and main window's background color.
7333
52283633 7334 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7335
7336 * xterm.h (Xt_app_con): External declaration.
7337
7338 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7339
486a103d
GM
7340 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7341
64f3a166
GM
7342 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7343 (handle_invisible_prop): Record the start of invisible text in
7344 it->add_overlay_start.
7345 (struct overlay_entry): Add member `overlay'.
7346 (handle_overlay_change): Simplify.
7347 (next_overlay_string): After having processed overlay strings at the
7348 end of the buffer, record that fact in
7349 it->overlay_strings_at_end_processed_p.
7350 (compare_overlay_entries): If before- and after-strings come
7351 from the same overlay, let before-strings come first.
7352 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7353 (load_overlay_strings): Take it->add_overlay_start into account
7354 when adding overlay strings.
7355
7356 * dispextern.h (struct it): Add member add_overlay_start.
7357
bb746ea6
DL
73582000-06-22 Dave Love <fx@gnu.org>
7359
7360 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7361
7362 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7363
a8f573f3
KH
73642000-06-22 Kenichi Handa <handa@etl.go.jp>
7365
7366 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7367 is greater than 0.
7368
9f2bbc92
DL
73692000-06-21 Dave Love <fx@gnu.org>
7370
178c5d9c 7371 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7372
3ee5041c
SM
73732000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7374
7375 * syntax.c (back_comment): Simplify string-parity counting (with
7376 the added benefit of handling multiple string-styles as long as
7377 they are not intertwined).
7378 Jump to the slow code as soon as a comment starter is found in
7379 a "string_lossage" position. Fixes the case: " /* " /* " */.
7380
4c343001
DL
73812000-06-21 Dave Love <fx@gnu.org>
7382
7383 * Makefile.in: Use GETLOADAVG_LIBS.
7384
7385 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7386 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7387
e6365855
SM
73882000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7389
7390 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7391 (Fforward_comment, scan_lists):
7392 Check the comstyle of single-char comment-starters.
7393 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7394 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7395 Check the comstyle of single-char comment-starters.
7396 Clarify control-flow around the Scomment case.
e6365855 7397
5700d2cc
DL
73982000-06-20 Dave Love <fx@gnu.org>
7399
d355bd8a
SM
7400 * fns.c (make_hash_table, maybe_resize_hash_table):
7401 Cast arg of next_almost_prime.
5700d2cc 7402
178c5d9c 7403 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7404
7405 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7406 and unistd.h.
7407
4a27bdfb
GM
74082000-06-20 Gerd Moellmann <gerd@gnu.org>
7409
a61d762c 7410 * keyboard.c (adjust_point_for_property): Check if display
52283633 7411 property should be treated as intangible by looking at its value.
a61d762c 7412
178c5d9c 7413 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7414 (display_prop_intangible_p): New functions.
7415
7416 * dispextern.h (display_prop_intangible_p): Add prototype.
7417
7418 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7419
4a27bdfb
GM
7420 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7421 argument to sigprocmask.
7422
7423 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7424 argument to sigprocmask.
7425
7426 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7427 sigprocmask_set, and pass a pointer to it to sigprocmask.
7428
7429 * sysdep.c (sigprocmask_set): New variable.
7430
7431 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7432 report_file_error.
7433
427ec082
SS
74342000-06-20 Sam Steingold <sds@gnu.org>
7435
7436 * xrdb.c: Don't declare xmalloc, xrealloc.
7437
8972fe79 74382000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7439
7440 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7441 (re_comp): Cast gettext return value to avoid complaints when
7442 !HAVE_LIBINTL.
7443
074b6efe
DL
74442000-06-20 Dave Love <fx@gnu.org>
7445
52283633 7446 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7447
5700d2cc 7448 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7449
d355bd8a 7450 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7451
7452 * m/alpha.h: Don't declare xmalloc, xrealloc.
7453
0af4f205
DL
7454 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7455
7456 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7457
7458 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7459
7460 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7461 HAVE_GETWD.
7462
074b6efe
DL
7463 * keyboard.h (poll_for_input_1): Declare.
7464
7465 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7466
7467 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7468
7469 * doprnt.c: Don't declare xmalloc, xrealloc.
7470
7471 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7472 (getenv, ctime, getwd): Removed.
7473 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7474
7475 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7476 x_set_tool_bar_lines.
7477
7478 * config.in: Add HAVE_GETWD. Move some definitions above
7479 machine/system includes.
7480
68a5e97b
KH
74812000-06-20 Kenichi Handa <handa@etl.go.jp>
7482
95417e1e
KH
7483 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7484
68a5e97b
KH
7485 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7486 contain information about ENCODING.
7487
7488 * fontset.c (FONTSET_ASCII): Use the first element of char table
7489 for an ASCII font, not defalt slot.
7490 (fontset_ref_via_base): If FONTSET doesn't contain information for
7491 C, try the default fontset.
7492 (make_fontset): Don't copy the default fontset.
7493 (fontset_font_pattern): Likewise.
7494 (accumulate_font_info): If ELT is nil, use the corresponding
7495 element in the default fontset.
7496
3b4fa1b2
DL
74972000-06-19 Dave Love <fx@gnu.org>
7498
943e731c
DL
7499 * syntax.c (Fparse_partial_sexp): Doc fix.
7500
7501 * regex.h: Test PROTOTYPES as well as __STDC__.
7502
3b4fa1b2
DL
7503 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7504 errno, strerror. Put text after #endif in comment.
7505
52283633 7506 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7507
7508 * xterm.c (x_frame_of_widget): Likewise.
7509
cdf0357b
GM
75102000-06-19 Gerd Moellmann <gerd@gnu.org>
7511
7512 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7513 to Vfundamental_mode_abbrev_table.
7514
7515 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7516 bogus objects are marked. This slows down GC by ~80 percent, but
7517 it might be worth trying when debugging GC-related problems.
7518 This feature requires conservative stack marking to be enabled.
7519
7520 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7521 returns XLookupChars, reset `modifiers' to zero.
7522
998e9f8c
DL
75232000-06-19 Dave Love <fx@gnu.org>
7524
7525 * mktime.c: Unprotoized.
7526
18e21ce8 75272000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7528
7529 * data.c (set_internal): If variable is frame-local,
7530 store the new value immediately into the frame parameter alist.
7531
140c4ac6
KR
75322000-06-19 Ken Raeburn <raeburn@gnu.org>
7533
14358466
KR
7534 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7535 in the custom handler pointer.
7536
140c4ac6
KR
7537 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7538 value, or checks for CHAR_META can fail when Lisp_Object is a
7539 union type.
7540 * keymap.c (get_keyelt): Likewise.
7541
10d7bf84
KH
75422000-06-19 Kenichi Handa <handa@etl.go.jp>
7543
7544 * ccl.h (struct ccl_program): New member eol_type.
7545 (struct ccl_spec): New member cr_carryover.
7546
7547 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7548 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7549
7550 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7551 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7552 (decode_eol_post_ccl): New function.
7553 (decode_coding): Don't detect EOL format here for CCL based coding
7554 systems.
7555 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7556 decode_eol_post_ccl after running the CCL program.
7557 (code_convert_region): Don't detect EOL format here for CCL based
7558 coding systems.
7559 (decode_coding_string): Likewise.
7560
52e386c2
KR
75612000-06-18 Ken Raeburn <raeburn@gnu.org>
7562
7563 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7564 when treating it as an integer.
7565
7566 * coding.h (encode_coding_string): Declare.
7567
7568 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7569 it as an integer.
7570
7571 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7572 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7573 to be passed to get_local_map.
7574
7575 * sound.c (Fplay_sound): Don't call make_number on
7576 Frun_hook_with_args count argument.
7577
7578 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7579 for lisp objects in X event structure data field, when lisp
7580 objects are represented with unions.
7581 (x_scroll_bar_to_input_event): Ditto.
7582
b357b9d4
KR
75832000-06-16 Ken Raeburn <raeburn@gnu.org>
7584
7585 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7586 termination of string. Fix sense of test whether
7587 Vline_number_display_limit is an integer.
b357b9d4 7588
a871441d
GM
75892000-06-16 Gerd Moellmann <gerd@gnu.org>
7590
a9021acd
GM
7591 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7592 only if HAVE_X_WINDOWS.
7593
6344985d
GM
7594 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7595 of titles.
7596
427ec082 7597 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7598 out of bounds.
7599
228b083e
EZ
76002000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7601
7602 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7603 of its headers.
7604
c25b53a2
KH
76052000-06-15 Kenichi Handa <handa@etl.go.jp>
7606
7607 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7608 start of the while loop.
7609
a6981b11
GM
76102000-06-15 Gerd Moellmann <gerd@gnu.org>
7611
e9924e52
GM
7612 * atimer.c (alarm_signal_handler): Add forward declaration.
7613
a6981b11
GM
7614 * data.c (set_internal): Remove debug code.
7615
25fa6deb
GM
76162000-06-14 Gerd Moellmann <gerd@gnu.org>
7617
dce6b995
GM
7618 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7619
9f817ea4
GM
7620 * unexec.c (toplevel) [COFF]: Include coff.h.
7621
7622 * s/lynxos.h: New file.
7623
7624 * keymap.c (Fsingle_key_description): Enclose function key and
7625 event symbol names in angle brackets.
7626
8a4e3c0c
GM
7627 * xdisp.c (setup_echo_area_for_printing): Call
7628 message_log_maybe_newline if message_buf_print is not set.
7629
7630 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7631 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7632 function does something useful even when message_buf_print is
7633 already set.
7634
52283633
SM
7635 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7636 New variables.
25fa6deb
GM
7637 (ensure_echo_area_buffers): Initialize echo buffer's
7638 truncate lines setting to nil.
7639 (with_echo_area_buffer): Don't set the echo buffer's truncate
7640 lines setting here.
8a4e3c0c 7641 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7642 of message_truncate_lines.
7643 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7644 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7645 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7646
7647 * keyboard.c (read_char): Bind message-truncate-lines to t
7648 while displaying a help-echo.
7649
7650 * lisp.h (Qmessage_truncate_lines): External declaration.
7651
163dcff3
GM
76522000-06-13 Gerd Moellmann <gerd@gnu.org>
7653
1681ead6
GM
7654 * xdisp.c (Vline_number_display_limit): Renamed from
7655 line_number_display_limit.
7656 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7657 Extend documentation string. Initialize
7658 Vline_number_display_limit to nil meaning no limit.
7659 (decode_mode_spec): Use Vline_number_display_limit with its new
7660 meaning.
7661
163dcff3
GM
7662 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7663
18e21ce8 76642000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7665
7666 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7667
163dcff3
GM
7668 * xfns.c (x_set_frame_parameters): Comment fix.
7669
7670 * frame.c (store_frame_param): Call swap_in_global_binding if the
7671 variable's current binding was chosen based on this frame.
7672
7673 * data.c (swap_in_global_binding): New function.
7674
a704139d
EZ
76752000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7676
7677 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7678 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7679
9b6610db
EZ
76802000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7681
7682 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7683
c68833d2
JR
76842000-06-12 Jason Rumney <jasonr@gnu.org>
7685
7686 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7687
7688 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7689
7690 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7691
7692 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7693
ed1056b3
GM
76942000-06-12 Gerd Moellmann <gerd@gnu.org>
7695
7696 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7697 (syms_of_xfaces): Defsubr Sdump_colors.
7698 (x_free_colors): Don't treat b&w specially on default visual.
7699 (x_free_dpy_colors): New function.
7700 (free_face_colors): Don't check visual class; it's done
7701 in x_free_colors.
7702
7703 * xterm.c (x_frame_of_widget): New function.
7704 (x_alloc_nearest_color_for_widget): Use it.
7705 (x_copy_dpy_color): New function.
7706 (x_destroy_window): Free various colors.
7707
5050a2ef
KH
77082000-06-12 Kenichi Handa <handa@etl.go.jp>
7709
7710 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7711
7712 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7713
7714 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7715
7716 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7717
7718 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7719
fb1b041d
DL
77202000-06-11 Dave Love <fx@gnu.org>
7721
7722 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7723
ff96b5f4
EZ
77242000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7725
7726 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7727
db8eeecd
GM
77282000-06-11 Gerd Moellmann <gerd@gnu.org>
7729
ed1056b3 7730 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7731 to `XEvent *'.
7732
49b71c5f
KH
77332000-06-10 Kenichi Handa <handa@etl.go.jp>
7734
c479bd55
KH
7735 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7736 (regex_compile): Fix the code for handling the case of single byte
7737 char and multibyte char being mixed in a range within [...].
7738
ff6a65c2
KH
7739 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7740 and dst_multibyte members of coding.
7741
49b71c5f
KH
7742 * charset.c (update_charset_table): Update the table
7743 bytes_by_char_head.
7744 (init_charset_once): Initialize elements of bytes_by_char_head to
7745 1 except for leading codes for private charases.
7746
7747 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7748 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7749
9e80b57d
KR
77502000-06-09 Ken Raeburn <raeburn@gnu.org>
7751
7752 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7753 access the data it doesn't point to.
7754
f83fe4b4
GM
77552000-06-08 Gerd Moellmann <gerd@gnu.org>
7756
7757 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7758 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7759 event queue. This is necessary because Emacs otherwise won't
7760 perform a switch-frame to a new frame until some other event, for
7761 example a keystroke event, forces it to do so. This has various
7762 effects, one visible being that the cursor of a frame created with
7763 C-x 5 2 or switched to with a window manager key binding like
7764 A-TAB stays hollow because selected_window isn't on the newly
7765 focused frame until the switch-frame is performed.
7766
7767 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7768 generating a switch-frame event if necessary.
7769
7770 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7771
7772 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7773 it's an integer.
7774
0890801b
KH
77752000-06-08 Kenichi Handa <handa@etl.go.jp>
7776
52283633 7777 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7778
173cbca8
GM
77792000-06-07 Gerd Moellmann <gerd@gnu.org>
7780
3091c2a6
GM
7781 * window.c (displayed_window_lines): Take empty lines at
7782 the bottom of a window into account.
427ec082 7783
f38952fe
GM
7784 * window.c (displayed_window_lines): New function.
7785 (Fmove_to_window_line): Use displayed_window_lines to determine
7786 the number of lines to move, instead of using the window's height.
7787
7788 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7789 to stop reading, even if the form read sets point to a different
7790 value when evaluated.
7791
427ec082 7792 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7793 put the cursor.
7794
6ba6c818
KH
77952000-06-07 Kenichi Handa <handa@etl.go.jp>
7796
7797 * fileio.c (e_write): Free composition data if stored in
7798 coding->cmp_data.
7799
5f1aea9a
GM
78002000-06-06 Gerd Moellmann <gerd@gnu.org>
7801
666852af
GM
7802 * xdisp.c (display_line): Set row's and iterator's
7803 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7804 Set cursor even if row ends in the middle of a character.
7805 (dump_glyph_row): Print values of new flags.
7806 (redisplay_window) <cursor movement in unchanged window>: When
7807 point has been moved forward, and PT is at the end of the cursor
7808 row, don't place the cursor in the next row if the cursor row ends
7809 in the middle of a character or at ZV.
7810
7811 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7812 (struct glyph_row): Add starts_in_middle_of_char_p and
7813 ends_in_middle_of_char_p.
7814 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7815 ends_in_middle_of_char_p flag.
7816 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7817
d13f3e2e
GM
7818 * term.c (append_glyph): Revert change of 2000-06-06.
7819
7820 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7821 padding glyph not fitting on line as whole character not
7822 fitting on line.
7823
5f1aea9a
GM
7824 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7825 this isn't true for images with `:ascent 100'.
7826
10cda9b0
KH
78272000-06-06 Kenichi Handa <handa@etl.go.jp>
7828
ed00559d
KH
7829 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7830 as modified if it is originally unmodified.
7831
10cda9b0
KH
7832 * term.c (encode_terminal_code): Change the way to check if
7833 terminal coding does any conversion.
7834 (append_glyph): Set glyph->pixel_width correctly.
7835
7836 * xdisp.c (display_line): While checking line continuation, pay
7837 attention to a padding glyph.
7838
1969fae2
GM
78392000-06-05 Gerd Moellmann <gerd@gnu.org>
7840
7841 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7842
162ccef4
DL
78432000-06-05 Dave Love <fx@gnu.org>
7844
f19f32dd
DL
7845 * xdisp.c: Include fontset.h.
7846
7847 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7848
7849 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7850
7851 * dispnew.c: Conditionally include term.h.
7852
7853 * coding.h: Declare code_convert_string_norecord.
7854
7855 * frame.h (struct frame): Use volatile unconditionally.
7856
7857 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7858
7859 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7860
7861 * systime.h: Protect against multiple inclusion.
7862 (timezone) [USG5_4]: Define as time_t.
7863
7864 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7865 (Foptimize_char_table, make_temp_name): Declare.
7866
7867 * Makefile.in (xdisp.o): Depend on fontset.h.
7868
7869 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7870
7871 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7872 (Foptimize_char_table, make_temp_name): Declare.
7873
427ec082 7874 * s/irix4-0.h:
162ccef4
DL
7875 * s/irix5-0.h:
7876 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7877
2082fe81
DL
78782000-06-02 Dave Love <fx@gnu.org>
7879
7880 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7881
dcf671d2
GM
78822000-06-02 Gerd Moellmann <gerd@gnu.org>
7883
7884 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7885 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7886 be freed.
7887
7888 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7889 glyph, use the ASCII NUL character to determine the face.
7890
d42122a3
DL
78912000-06-02 Dave Love <fx@gnu.org>
7892
7893 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7894 (VFORK_RETURN_TYPE): Remove.
427ec082 7895
d42122a3
DL
7896 * config.in: Add NO_MATHERR.
7897
dd432f16
DL
78982000-06-01 Dave Love <fx@gnu.org>
7899
90aa4ea8
DL
7900 * cmds.c (internal_self_insert): Don't check
7901 Vbefore_change_function, Vafter_change_function.
7902
7903 * insdel.c (signal_before_change, signal_after_change): Likewise.
7904
7905 * buffer.c (Vbefore_change_function, Vafter_change_function):
7906 Variables and their initializations deleted.
7907
2330c9d4
DL
7908 * callint.c (Fcall_interactively): Doc fix.
7909
dd432f16
DL
7910 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7911
bf9e8804
DL
79122000-05-31 Dave Love <fx@gnu.org>
7913
7914 * textprop.c: Revert last change -- duplicated.
7915
3694b4ab
GM
79162000-05-31 Gerd Moellmann <gerd@gnu.org>
7917
7918 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7919 in #if 0.
7920
7921 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7922
f14156cd
JR
79232000-05-31 Jason Rumney <jasonr@gnu.org>
7924
8119aab8
JR
7925 * search.c (Fre_search_forward, Fre_search_backward)
7926 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7927
f14156cd
JR
7928 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7929
4aab9be3
JR
79302000-05-30 Jason Rumney <jasonr@gnu.org>
7931
7932 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7933 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7934
52283633 7935 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7936
7937 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7938 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7939 expand a nil default_filename.
7940
7941 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7942 pointer to glyph_to_pixel_coords, not a frame.
7943
7944 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7945 coding.h to dependencies.
7946
7947 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7948
7949 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7950 window pointer to be consistent with w32term.c and xterm.c.
7951
7952 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7953 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7954 (Qline_spacing, Qcenter): New variables.
7955 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7956 (x_set_line_spacing): New function.
52283633 7957 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7958 (x_specified_cursor_type): New function.
7959 (x_set_cursor_type): Use it.
7960 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7961 and icon strings.
7962 (validate_x_resource_name, x_get_resource_string): Measure lengths
7963 of external strings in bytes.
7964 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7965 GetTextExtentPoint32 with NULL title.
7966 (Fx_create_frame): Initialize Qline_spacing.
7967 (w32_load_system_font): Initialize font->double_byte_p.
7968 (x_to_w32_charset): Use Vw32_charset_info_alist.
7969 (Image, busy cursor, tooltip functions): Merged changes from
7970 xfns.c. Not yet functional on Windows.
7971
7972 * w32gui.h (W32FontStruct): Add double_byte_p member.
7973
7974 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7975 (emacs_button_translation): Use it.
7976 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7977 in `mask' to be set.
7978
7979 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7980 menu strings.
7981
7982 * w32term.c: Format and doc changes to bring closer to xterm.c.
7983 (w32_char_font_type): New enum.
7984 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7985 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7986 (w32_encode_char): New function.
7987 (x_encode_char): Removed.
7988 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7989 x_encode_char and w32_font_is_double_byte.
7990 (x_produce_image_glyph): Use image_ascent.
7991 (x_produce_glyphs): Use new version of w32_per_char_metric and
7992 handle NULL return value. Allow extra line spacing.
7993 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7994 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7995 w32_font_type member of glyph instead.
7996 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7997 (fast_find_position): Make sure not to consider rows not visible
7998 in the window.
7999 (w32_read_socket) [WM_MENUSELECT]: Cannot call
8000 w32_menu_display_help with input blocked, as it can abort.
8001 (x_display_and_set_cursor): Choose cursor depending
8002 on buffer-local value of cursor_type.
8003 (x_draw_bar_cursor): Add parameter WIDTH.
8004
8005 * w32term.h (CP_DEFAULT): Define.
8006 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
8007
10fc3187
GM
80082000-05-30 Gerd Moellmann <gerd@gnu.org>
8009
8010 * search.c (Fre_search_forward, Fre_search_backward)
8011 (Fposix_search_backward, Fposix_search_forward): Doc fix.
8012
d0555360
KH
80132000-05-30 Kenichi Handa <handa@etl.go.jp>
8014
8015 * coding.c (detect_coding_iso2022): Fix code for checking
8016 CODING_CATEGORY_MASK_ISO_8_2.
8017
f1ad044f
SM
80182000-05-29 Stefan Monnier <monnier@cs.yale.edu>
8019
8020 * regex.c (PREFETCH_NOLIMIT): New function.
8021 (re_match_2_internal): Use it and adjust the end_match_2 logic.
8022
84ec3b4b
GM
80232000-05-29 Gerd Moellmann <gerd@gnu.org>
8024
66254a13
GM
8025 * syntax.c (find_defun_start): Move test for
8026 open_paren_in_column_0_is_defun_start outside of the loop.
8027
49e70dec
GM
8028 * xdisp.c (redisplay_window): Really switch buffers when
8029 displaying mode lines, and temporarily set selected_frame to the
8030 frame of the window that's redisplayed.
8031
84ec3b4b
GM
8032 * xfaces.c (free_realized_faces): Block/unblock input.
8033 (free_realized_multibyte_face): Ditto.
8034
869a3a14
DL
80352000-05-29 Dave Love <fx@gnu.org>
8036
8037 * textprop.c (Qkeymap): New variable.
8038 (syms_of_textprop): Intern it.
8039
8040 * keymap.c: Include intervals.h.
8041 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
8042
8043 * Makefile.in (keymap.o): Depend on intervals.h.
8044
8045 * keyboard.c (menu_bar_items, tool_bar_items)
8046 (Fexecute_extended_command): Deal with `keymap' property.
8047 (read_key_sequence): Track map from `keymap' property as well as
8048 `local_map'.
8049
8050 * intervals.c (get_local_map): Extra arg to allow looking for
8051 `keymap' too.
8052
8053 * intervals.h (map_property): New enum.
8054 (get_local_map): Extra arg using it.
8055 (Qkeymap): Declare.
8056
84ec3b4b 8057 * lisp.h (get_local_map): Don't declare here.
869a3a14 8058
89d0c844
KH
80592000-05-29 Kenichi Handa <handa@etl.go.jp>
8060
8061 * Makefile.in (callproc.o): Depend on composite.h.
8062
8063 * callproc.c: Include composite.h.
8064 (Fcall_process): Handle composition correctly.
8065
8066 * coding.h (coding_allocate_composition_data): Extern it.
8067 (coding_restore_composition): Likewise.
8068
8069 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8070 yet allocated, finish decoding with result
8071 CODING_FINISH_INSUFFICIENT_CMP.
8072 (coding_allocate_composition_data): Make it non-static.
8073 (coding_restore_composition): Likewise.
8074
797a084a
EZ
80752000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8076
8077 * charset.c (syms_of_charset): Revert last change.
8078
cf872af5
EZ
80792000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8080
8081 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8082 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8083 Handa.
cf872af5 8084
5b1ae051
EZ
80852000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8086
8087 * charset.c (syms_of_charset): Set width of character sets
8088 eight-bit-control and eight-bit-graphic to 1 column.
8089
34ec9ebe
GM
80902000-05-26 Gerd Moellmann <gerd@gnu.org>
8091
8092 * config.in (HAVE_SPEED_T): New define.
8093
8094 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8095 `extern speed_t'.
8096
dd854dc2
DL
80972000-05-26 Dave Love <fx@gnu.org>
8098
8099 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8100
8101 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8102 (Fsubr_arity): New function.
8103 (syms_of_data): Install them.
8104
ba9f8f95
KH
81052000-05-26 Kenichi Handa <handa@etl.go.jp>
8106
0f3e0672
KH
8107 * charset.c (init_charset_once): Set the table bytes_by_char_head
8108 correctly.
8109
cebefb44
KH
8110 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8111 the default fontset to what Emacs uses by default.
0f3e0672
KH
8112 (check_registry_encoding): This function deleted.
8113 (Fset_fontset_font): Remove the adhoc condition for the default
8114 fontset. Allow cons in FONTNAME.
cebefb44 8115
0f3e0672
KH
8116 * fns.c (map_char_table): Ignore char-table entries for
8117 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8118
7a18af49
KR
81192000-05-25 Ken Raeburn <raeburn@gnu.org>
8120
8121 * emacs.c (main): Initialize keyboard syms before initializing
8122 window code, so face names are available.
8123
d2af47df
SM
81242000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8125
8126 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8127 of an anchor at the beginning of a shy-group.
8128
fc6a6a4e
GM
81292000-05-25 Gerd Moellmann <gerd@gnu.org>
8130
8131 * xdisp.c (handle_invisible_prop): Don't try to skip over
8132 invisible text if end of text is already reached.
8133
005f0d35
DL
81342000-05-25 Dave Love <fx@gnu.org>
8135
02513cdd
DL
8136 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8137
005f0d35
DL
8138 * coding.c (encode_eol): Add null statement after label.
8139
89f6ca4e
EZ
81402000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8141
8142 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8143 2000-05-20.
8144
a4e1759e
KH
81452000-05-25 Kenichi Handa <handa@etl.go.jp>
8146
8147 * ccl.c (ccl_driver): Fix previous change.
8148
eacfd7fe
KH
81492000-05-25 Kenichi Handa <handa@etl.go.jp>
8150
46ab33a9
KH
8151 * coding.c (run_pre_post_conversion_on_str): Set point to the
8152 beginning of buffer before calling coding->post_read_conversion.
8153 (decode_coding_string): Give correct args to
8154 run_pre_post_conversion_on_str.
8155 (encode_coding_string): Likewise.
8156
eacfd7fe
KH
8157 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8158 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8159 eight-bit-graphic correctly.
8160
f8569325
DL
81612000-05-24 Kenichi HANDA <handa@etl.go.jp>
8162
8163 * fileio.c (Finsert_file_contents): Even if a file is not found,
8164 execute codes for setting up coding system. Call
8165 after-insert-file-functions unconditionally.
8166
04545643
GM
81672000-05-24 Gerd Moellmann <gerd@gnu.org>
8168
8169 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8170 BSD_PGRPS are not defined.
8171
747d90ea
KH
81722000-05-24 Kenichi Handa <handa@etl.go.jp>
8173
8174 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8175 DESCRIPTION.
8176 (syms_of_charset): Avoid building same strings.
8177
716e3b88
GM
81782000-05-23 Gerd Moellmann <gerd@gnu.org>
8179
8180 * lread.c (Fload): Add a comment about the meaning of
8181 Vuser_init_file being t.
8182
8183 * puresize.h (BASE_PURESIZE): Increase to 675000.
8184
8185 * s/gnu-linux.h (setpgrp): Don't define it here because this
8186 prevents compilation on GNU/Linux systems with glib 2.2.
8187
8188 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8189 as setpgid.
427ec082 8190
9aeb39fa
EZ
81912000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8192
8193 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8194 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8195 version.
8196 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8197
29ced61b
KH
81982000-05-23 Kenichi Handa <handa@etl.go.jp>
8199
52283633 8200 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8201
3d80f24d
KH
8202 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8203
52283633 8204 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8205
29ced61b
KH
8206 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8207
d7e00792
KH
82082000-05-22 Kenichi Handa <handa@etl.go.jp>
8209
c9d80d38
KH
8210 * keyboard.c (read_char): Allow character codes 128..255 to be
8211 handled by input-method-function.
8212
d7e00792
KH
8213 * insdel.c (adjust_markers_for_replace): Fix previous change.
8214 (adjust_after_replace): If PREV_TEXT is nil, call
8215 adjust_markers_for_insert, not adjust_markers_for_replace.
8216
087121cc 82172000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8218
087121cc
GM
8219 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8220 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8221 [HAVE_GRANDPT]: Define.
8222 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8223
8224 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8225 like SYSV_PTYS.
8226
8227 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8228
8229 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8230
c9671f81
KH
82312000-05-20 Kenichi Handa <handa@etl.go.jp>
8232
8233 The following changes are to handle 8-bit characters in a
8234 multibyte buffer/string without facing with byte combining
8235 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8236 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8237
8238 * Makefile.in (fns.o): Depend on charset.h.
8239
8240 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8241 convert it to unibyte.
8242 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8243
8244 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8245 apparent char boundary.
8246 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8247 0x80..0x9F to/from multibyte form.
8248
8249 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8250 to unibyte.
8251
8252 * callproc.c (Fcall_process): Always encode an argument string if
8253 it is multibyte. Setup src_multibyte and dst_multibyte members of
8254 process_coding properly.
ce75fd23 8255
c9671f81
KH
8256 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8257 SPLIT_NON_ASCII_CHAR.
8258
8259 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8260 as is.
8261 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8262
52283633 8263 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8264 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8265 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8266 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8267 and eight-bit-graphic.
8268 (char_to_string): Likewise. Signal an error for too large
8269 character code.
8270 (char_printable_p): Return 0 for 8-bit characters.
8271 (update_charset_table): Update iso_charset_table only when a final
8272 character is non-negative.
8273 (find_charset_in_text): Renamed from find_charset_in_str.
8274 Arguments and return value changed. Callers changed.
8275 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8276 be -1 if CHARSET is used only internally.
8277 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8278 eight-bit-graphic.
8279 (Fcharset_after): Simplified.
8280 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8281 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8282 (multibyte_chars_in_text): Simplified by assuming there's no
8283 invalid multibyte sequence.
52283633
SM
8284 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8285 (str_as_unibyte): New functions.
8286 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8287 (init_charset_once): Initialization for
8288 LEADING_CODE_8_BIT_CONTROL.
8289 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8290 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8291 eight-bit-control and eight-bit-graphic.
8292
52283633
SM
8293 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8294 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8295 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8296 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8297 (CHARSET_REVERSE_CHARSET): Likewise.
8298 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8299 eight-bit-graphic.
8300 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8301 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8302 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8303 encounter an invalid multibyte sequence.
8304 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8305 sequence is always valid.
8306 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8307 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8308 (CHAR_STRING): For 8-bit characters, call char_to_string.
8309 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8310 multibyte sequence is always valid.
8311 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8312 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8313 (str_as_unibyte): Extern them.
c9671f81 8314 (BCOPY_SHORT): Fix a bug.
52283633 8315 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8316 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8317 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8318 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8319
bd4bde7f 8320 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8321 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8322 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8323 (EMIT_BYTES): New macros.
8324 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8325 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8326 macros deleted.
8327 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8328 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8329 check the validity of multibyte sequence.
8330 (decode_coding_emacs_mule): New function.
8331 (encode_coding_emacs_mule): New macro.
8332 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8333 the source.
8334 (DECODE_ISO_CHARACTER): Just return a character code.
8335 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8336 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8337 EMIT_CHAR to produced decoded characters. Exit the loop only by
8338 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8339 block here.
8340 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8341 only position codes for an invalid character.
8342 (encode_designation_at_bol): Return new destination pointer. 5th
8343 arg DSTP is changed to DST.
8344 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8345 from the source by ONE_MORE_CHAR. Don't handle the case of last
8346 block here.
8347 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8348 macros deleted.
52283633
SM
8349 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8350 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8351 TWO_MORE_BYTES to fetch a byte from the source.
8352 (encode_eol): Pay attention to coding->src_multibyte.
8353 (detect_coding, detect_eol): Preserve members src_multibyte and
8354 dst_multibyte.
8355 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8356 (encoding_buffer_size): Set magnification to 3 for all coding
8357 systems that require encoding.
8358 (ccl_coding_driver): For decoding, be sure that the result is
8359 valid multibyte sequence.
8360 (decode_coding): Initialize coding->errors and coding->result.
8361 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8362 and raw-text, always call decode_eol. Handle the case of last
8363 block here. If not coding->dst_multibyte, convert the resulting
8364 sequence to unibyte.
8365 (encode_coding): Initialize coding->errors and coding->result.
8366 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8367 and raw-text, always call encode_eol. Handle the case of last
8368 block here.
8369 (shrink_decoding_region, shrink_encoding_region): Detect cases
8370 that we can't skip data more rigidly.
8371 (code_convert_region): Setup src_multibyte and dst_multibyte
8372 members of coding. For decoding, if the buffer is multibyte,
8373 convert the source sequence to unibyte in advance. For encoding,
8374 if the buffer is multibyte, convert the resulting sequence to
8375 multibyte afterward.
8376 (run_pre_post_conversion_on_str): New function.
8377 (code_convert_string): Deleted and divided into the following two.
8378 (decode_coding_string, encode_coding_string): New functions.
8379 (code_convert_string1, code_convert_string_norecord): Call one of
8380 above.
8381 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8382 MAKE_NON_ASCII_CHAR.
52283633
SM
8383 (Fset_terminal_coding_system_internal)
8384 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8385 and dst_multibyte members.
8386 (init_coding_once): Initialize iso_code_class with new enum
8387 ISO_control_0 and ISO_control_1.
8388
8389 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8390 devided into ISO_control_0 and ISO_control_1.
8391 (struct coding_system): New members src_multibyte, dst_multibyte,
8392 errors, and result. Delete member fake_multibyte.
8393 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8394 nonzero.
8395 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8396 nonzero.
8397
8398 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8399 (Faset): Likewise.
8400
8401 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8402 multibyte form.
8403 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8404 combining occurs.
8405 (Ftranspose_region): Delete codes for handling byte combining.
8406
8407 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8408 dst_multibyte members of coding. On handling REPLACE on unibyte
8409 buffer, convert the result of decode_coding to unibyte. On
8410 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8411 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8412 multibyteness of the source (buffer or string).
8413
8414 * fns.c (concat): Handle 8-bit characters correctly.
8415 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8416 unibyte in the result.
8417 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8418 valid multibyte form in the result.
8419 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8420 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8421 return -1, signal an error.
8422 (base64_encode_1): New arg MULTIBYTE. Get each character by
8423 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8424 character is found, return -1.
8425 (Fbase64_decode_region): Delete codes for handling byte-combining.
8426 Treat each decoded byte as a unibyte character.
8427 (Fbase64_decode_string): Return unibyte string.
8428 (Fcompare_strings, concat, string_byte_to_char): Use
8429 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8430 FETCH_STRING_CHAR_ADVANCE.
8431 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8432 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8433
8434 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8435 SPLIT_NON_ASCII_CHAR.
8436 (fontset_ref_via_base, fontset_set): Likewise
8437
8438 * insdel.c (adjust_markers_for_record_delete): Deleted.
8439 (adjust_markers_for_insert): Argument changed. Caller changed.
8440 (adjust_markers_for_replace): Likewise.
52283633
SM
8441 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8442 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8443 (copy_text): Delete unused local varialbe c_save. For converting
8444 to multibyte, be sure to make all 8-bit characters in valid
8445 multibyte form.
8446 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8447 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8448 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8449 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8450 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8451 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8452 handling byte combining.
8453 (adjust_before_replace): Deleted.
427ec082 8454
c9671f81
KH
8455 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8456 SPLIT_NON_ASCII_CHAR.
8457 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8458 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8459 (Fkey_description): Likewise.
8460
8461 * lread.c (read1): On reading multibyte string, be sure to make
8462 all 8-bit chararacters in valid multibyte form.
8463 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8464
8465 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8466 unconditionally.
8467
8468 * process.c (Fstart_process): GCPRO current_dir before calling
8469 Ffind_operation_coding_system. Encode arguments here.
8470 (create_process): Don't encode arguments here. Setup
8471 src_multibyte and dst_multibyte members of struct coding.
8472 (read_process_output): Setup src_multibyte and dst_multibyte
8473 members of struct coding. If the output is to multibyte buffer,
8474 always decode the output of the process. Adjust the
52283633 8475 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8476 (send_process): Setup coding->src_multibyte according to the
8477 multibyteness of the source.
8478
52283633 8479 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8480 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8481 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8482
52283633 8483 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8484
8485 * w16select.c (Fw16_set_clipboard_data): Setup members
8486 src_multibyte and dst_multibyte of coding. Adjusted for the
8487 change for find_charset_in_str.
8488 (Fw16_get_clipboard_data): Likewise.
8489
8490 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8491 dst_multibyte of coding.
8492 (x_to_w32_font): Likewise.
8493
8494 * w32select.c (Fw32_set_clipboard_data): Setup members
8495 src_multibyte and dst_multibyte of coding. Adjusted for the
8496 change for find_charset_in_str.
8497 (Fw32_get_clipboard_data): Likewise.
8498
8499 * xdisp.c (get_next_display_element): Handle 8-bit characters
8500 correctly.
52283633
SM
8501 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8502 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8503
8504 * xselect.c (selection_data_to_lisp_data): Setup members
8505 src_multibyte and dst_multibyte of coding. Adjusted for the
8506 change for find_charset_in_str.
8507 (lisp_data_to_selection_data): Likewise.
8508
5f64c9e0
GM
85092000-05-19 Gerd Moellmann <gerd@gnu.org>
8510
52283633 8511 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8512
5f64c9e0
GM
8513 * dispextern.h (Vimage_types): Add extern declaration.
8514
8515 * xdisp.c (Vimage_types): Moved here from xfns.c.
8516 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8517
8518 * xfns.c (Vimages_types): Moved to xdisp.c.
8519 (syms_of_xfns): Move `image-types' to xdisp.c.
8520
8521 * w32fns.c (Vimage_types): Removed.
8522 (syms_of_w32fns): Remove `image-types'.
8523
813086ea
KH
85242000-05-18 Kenichi Handa <handa@etl.go.jp>
8525
8526 * fns.c (map_char_table): Pay attention to character number of
8527 charset. Check the validity of charset at the first level. For
8528 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8529 the default value.
8530
8531 * fontset.c: Include "buffer.h".
8532 (fs_load_font): If the face has fontset, record the face ID in
8533 that fontset.
8534 (Finternal_char_font): New function.
8535 (accumulate_font_info): New function.
8536 (Ffontset_info): Rewritten for the new fontset implementation.
8537 (syms_of_fontset): Register Vdefault_fontset in the first element
8538 of Vfontset_table. Include Vdefault_fontset in
8539 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8540 function.
8541
bdaebbf0
DL
85422000-05-16 Dave Love <fx@gnu.org>
8543
8544 * m/iris5d.h: Deleted -- unused.
8545
cb613bb8
GM
85462000-05-16 Gerd Moellmann <gerd@gnu.org>
8547
b15f3b77
GM
8548 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8549 `invalid' instead of `illegal'.
8550
8551 * indent.c (Fmove_to_column): When ending within a tab, insert
8552 spaces first so that markers at the end of the tab get adjusted.
8553
835c1b36
GM
8554 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8555 buffer list that wasn't selected in that frame.
8556
cb613bb8
GM
8557 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8558 is needed on mescaline, use a 2 char prefix, and call
8559 make_temp_name with second arg non-zero.
8560
8561 * fileio.c (make_temp_name): New function, extracted from
8562 Fmake_temp_name.
8563 (Fmake_temp_name): Use it.
8564
f685bea9
EZ
85652000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8566
52283633 8567 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8568
a1b8d58b
GM
85692000-05-15 Gerd Moellmann <gerd@gnu.org>
8570
8571 * Makefile.in (lisp): Add env.elc.
8572
8573 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8574
a265079f
GM
85752000-05-12 Gerd Moellmann <gerd@gnu.org>
8576
8577 * search.c (Freplace_match): Handle case of `\N' in the
8578 replacement when there's no group N.
8579
da4496b6
GM
85802000-05-11 Gerd Moellmann <gerd@gnu.org>
8581
0ace421a
GM
8582 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8583 of the message to message_dolog.
8584
1172eb8d
GM
8585 * keyboard.c (read_char): Don't clear current message for help
8586 events; let the code handling help events handle this. Change
8587 code detecting help events that should be ignored.
8588
da4496b6
GM
8589 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8590 we're interating over a string.
8591
0623e40f
DL
85922000-05-09 Dave Love <fx@gnu.org>
8593
8594 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8595 that offset before writing. Move gcpro region past call of
8596 Ffile_regular_p.
8597
bae2503b
DL
85982000-05-04 Dave Love <fx@gnu.org>
8599
8600 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8601
ec82fb2f
GM
86022000-05-04 Gerd Moellmann <gerd@gnu.org>
8603
8604 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8605 of inserted characters when BUF equals the current buffer, and PT
8606 is in front of or equal to FROM.
8607
cbf18892
GM
86082000-05-03 Gerd Moellmann <gerd@gnu.org>
8609
4ff40dd0
GM
8610 * xdisp.c (handle_single_display_prop): If display property value
8611 is invalid, or something not supported on the frame, restore
8612 iterator's position to what it was initially. Make sure to return
8613 0 for invalid and unsupported property values.
8614
cbf18892
GM
8615 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8616 that x_per_char_metric returns null.
8617
1b0672c3
GM
86182000-05-02 Gerd Moellmann <gerd@gnu.org>
8619
576da55d
GM
8620 * xterm.h (struct face): Add forward declaration.
8621 (struct image): Ditto.
8622 (image_ascent): Add prototype.
8623
8624 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8625 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8626 image_ascent instead of using IMAGE_ASCENT.
8627
8628 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8629 (IMAGE_ASCENT): Removed.
8630
8631 * xfns.c (Qcenter): New variable.
8632 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8633 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8634 (image_ascent): New function.
8635 (lookup_image): Recognize `:ascent center'.
8636 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8637 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8638 (xbm_load): Don't set image's ascent here.
8639 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8640 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8641 check ascent values here.
8642 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8643 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8644 (syms_of_xfns): Initialize Qcenter.
8645
1b0672c3
GM
8646 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8647 to the limits, increase the limits.
8648
0d7811ed
KH
86492000-05-01 Kenichi Handa <handa@etl.go.jp>
8650
8651 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8652 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8653
a943a5ca
GM
86542000-04-28 Gerd Moellmann <gerd@gnu.org>
8655
8656 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8657 taller than the window.
8658
5dba1e29
KH
86592000-04-28 Kenichi Handa <handa@etl.go.jp>
8660
8661 * xfaces.c (realize_x_face): Fix the argument of the second
8662 xassert. BASE_FACE may not be a face for ASCII.
8663
353964e3
GM
86642000-04-27 Gerd Moellmann <gerd@gnu.org>
8665
c76e04a8
GM
8666 * print.c (print_object): Treat print-length < 0 as nil.
8667
8668 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8669
8670 * s/freebsd.h (TERMCAP_OBJ): Removed.
8671 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8672
8673 * lread.c (read1): Don't treat period followed by certain
8674 characters as symbol start.
8675
8676 * xfns.c (slurp_file): New function.
8677 (xbm_image_p): Handle case of in-memory XBM files.
8678 (xbm_scan): Rewritten to work on memory buffers instead of files.
8679 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8680 Work on memory buffers instead of files. If DATA is null test
8681 if buffer looks like an in-memory XBM file.
8682 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8683 memory buffers instead of files.
8684 (xbm_file_p): New function.
8685 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8686
353964e3
GM
8687 * lread.c (end_of_file_error): New function.
8688 (read1): Call it instead of signaling `end-of-file' directly.
8689
427ec082 8690 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8691 with Fprinc instead of Fprin1.
8692
24d744ac
KR
86932000-04-26 Ken Raeburn <raeburn@gnu.org>
8694
8695 * window.c (freeze_window_start): Check that minibuffer scroll
8696 window isn't nil before extracting the window structure pointer
8697 from it.
8698
8699 * undo.c (record_delete): If we hit the end of the undo list, stop
8700 picking elements apart.
8701
7464346d
GM
87022000-04-26 Gerd Moellmann <gerd@gnu.org>
8703
8704 * xdisp.c (display_line): If lines are continued, restore
8705 iterator's ascent/descent information to the values before the
8706 first glyph not fitting on the line.
8707
612839b6
GM
87082000-04-25 Gerd Moellmann <gerd@gnu.org>
8709
8710 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8711 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8712
8713 * dispnew.c (increment_matrix_positions): Renamed from
8714 increment_glyph_matrix_buffer_positions.
8715 (increment_row_positions): Renamed from
8716 increment_glyph_row_buffer_positions.
8717
8718 * dispextern.h: Change names of renamed functions from dispnew.c
8719 in prototypes.
8720
cc181e95
GM
87212000-04-24 Gerd Moellmann <gerd@gnu.org>
8722
abfcc168
GM
8723 * fileio.c (Fdo_auto_save): Create directories for auto-save
8724 list file if necessary.
8725
cc181e95
GM
8726 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8727 from buffer or frame.
8728 (automatic_hscrolling_p): New variable.
8729 (hscroll_windows): Scroll windows horizontally only if automatic
8730 hscrolling is allowed.
8731 (syms_of_xdisp): New variable `automatic-hscrolling'.
8732
8733 * frame.h (struct frame): Add member extra_line_spacing.
8734
8735 * xfns.c (x_set_line_spacing): New function.
8736 (Fx_create_frame): Set line spacing from resources.
8737 (Qline_spacing): New variable.
8738 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8739
cc181e95
GM
8740 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8741
8742 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8743 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8744 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8745 extra_line_spacing from default value.
8746 (init_buffer_once): Initialize default value of extra_line_spacing.
8747
8748 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8749 and extra3.
8750
8751 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8752 prompt_width. Add extra line spacing.
8753
8754 * term.c (produce_glyphs): Remove reference to struct it's
8755 prompt_width.
8756
8757 * dispextern.h (struct it): Remove member prompt_width, add
8758 extra_line_spacing.
8759
58827478
GM
87602000-04-22 Gerd Moellmann <gerd@gnu.org>
8761
8762 * dispnew.c (update_frame_line): When writing a whole line, make
8763 sure cursor is in the right row afterwards, otherwise a use of
8764 capability `ch' in cmgoto might leave the cursor in the row below.
8765
25a87f42
GM
87662000-04-21 Gerd Moellmann <gerd@gnu.org>
8767
8768 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8769
8770 * keyboard.c (timer_check): Fix typo in comment.
8771
54edf5c2
KH
87722000-04-21 Kenichi Handa <handa@etl.go.jp>
8773
8774 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8775 name change: ch -> character.
8776
3a64eef5
GM
87772000-04-20 Gerd Moellmann <gerd@gnu.org>
8778
8779 * keyboard.c (echo_message_buffer): New variable.
8780 (echo_now): Set echo_message_buffer to the echo area buffer used
8781 to display the echo.
8782 (cancel_echoing): Reset echo_message_buffer to nil.
8783 (read_char): Code rewritten that handles canceling an echo or
8784 echoing a dash, respectively.
8785
8786 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8787 directory doesn't exist.
8788
6142fdcb
DL
87892000-04-19 Dave Love <fx@gnu.org>
8790
8791 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8792 (concat): Don't allow numeric args.
8793 (Fconcat): Doc change.
6142fdcb 8794
ac6b5352
SM
87952000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8796
8797 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8798 instead define end_match(1|2) more carefully.
8799 Use GET_CHAR_BEFORE_2 for `begline'.
8800
cb9215e4
GM
88012000-04-19 Gerd Moellmann <gerd@gnu.org>
8802
5e3dac3f
GM
8803 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8804 on 64-bit systems where NULL is defined as `0'.
8805
8806 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8807 the `variable argument list' to make it work on Alpha.
8808
cb9215e4
GM
8809 * m/alpha.h (_LP64) [!_LP64]: Define.
8810 (ORDINARY_LINK): Define for NetBSD.
8811
8812 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8813
f532dca0
DL
88142000-04-19 Dave Love <fx@gnu.org>
8815
c750667e
DL
8816 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8817 change.
8818
8819 * Makefile.in (LIBS): Don't use.
8820 (GETLOADAVG_OBJ): Define again.
8821 (otherobj): Add GETLOADAVG_OBJ.
8822
f532dca0
DL
8823 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8824
1c7e22fd
GM
88252000-04-18 Gerd Moellmann <gerd@gnu.org>
8826
f6d3257b
GM
8827 * lread.c (read_filtered_event): Cancel and start busy cursor.
8828
427ec082 8829 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8830 that the per-character metrics may be null.
8831
e10f64e7
GM
88322000-04-17 Gerd Moellmann <gerd@gnu.org>
8833
0daee095
GM
8834 * buffer.c (clone_per_buffer_values): New function.
8835 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8836 clone_per_buffer_values if CLONE is not nil.
8837
e10f64e7
GM
8838 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8839
38687d43
DL
88402000-04-16 Dave Love <fx@gnu.org>
8841
8842 * Makefile.in: Remove obsolete localcpp stuff.
8843 (GETLOADAVG_OBJ): Don't define.
8844 (obj): Move LIBOBJS...
8845 (otherobj): ... to here.
8846 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8847 whitespace-only lines after the continuation (Irix).
8848
c21c7262
GM
88492000-04-14 Gerd Moellmann <gerd@gnu.org>
8850
8851 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8852
8853 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8854
314767c0
DL
88552000-04-14 Dave Love <fx@gnu.org>
8856
8857 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8858 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8859 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8860 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8861 NLIST_STRUCT.
8862
8863 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8864 autoconfiscated HAVE_GETLOADAVG.
8865
8866 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8867 BROKEN_MKTIME.
8868
a2522dca
GM
88692000-04-14 Gerd Moellmann <gerd@gnu.org>
8870
8871 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8872 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8873
33744b5d
DL
88742000-04-14 Dave Love <fx@gnu.org>
8875
c21c7262 8876 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8877 (INTERVAL_SRC): Convert to make variable.
8878 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8879 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8880 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8881 add LIBOBJS.
8882 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8883 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8884 (shortlisp): Add facemenu, float-sup, frame.
8885 (SOME_MACHINE_LISP): Remove them from here.
8886 (LIBES): Change unused LDLIBS to autoconf LIBS.
8887
8888 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8889
9d3d5916
KH
88902000-04-14 Kenichi Handa <handa@etl.go.jp>
8891
8892 * composite.c (update_compositions): If FROM and TO are not in a
8893 valid range, do nothing.
8894
198e3c7a
GM
88952000-04-13 Gerd Moellmann <gerd@gnu.org>
8896
52283633 8897 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8898
52283633 8899 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8900
8901 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8902 as TERMCAP_OBJ.
8903
055a28c9
EZ
89042000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8905
8906 * fileio.c (a_write): Remove redundant semi-colons.
8907 (e_write): Return -1 if failed to write all the data.
8908 This fixes the changes made at 1999-12-15.
8909
f5c75033
DL
89102000-04-12 Dave Love <fx@gnu.org>
8911
8912 * fns.c (mapcar1): Test for null vals to support mapc.
8913 (Fmapc): New function.
8914
0c3cfc51
EZ
89152000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8916
8917 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8918 (IT_frame_up_to_date): Support the buffer local value of
8919 cursor-type, if defined.
8920
33465a31
DL
89212000-04-10 Dave Love <fx@gnu.org>
8922
8923 * editfns.c (preceding-char, following-char): Doc fix.
8924
6ed56568
KR
89252000-04-10 Ken Raeburn <raeburn@gnu.org>
8926
8927 * Makefile.in (temacs): Revert 2000-03-12 change.
8928
7cf80d4e
JR
89292000-04-10 Jason Rumney <jasonr@gnu.org>
8930
8931 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8932
34f3f342
GM
89332000-04-10 Gerd Moellmann <gerd@gnu.org>
8934
1a1b1895
GM
8935 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8936 area buffer, if it's not set up yet.
8937
34f3f342
GM
8938 * indent.c (compute_motion): Set immediate_quit.
8939
be0dbdab
GM
89402000-04-09 Gerd Moellmann <gerd@gnu.org>
8941
52283633 8942 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8943 (realize_tty_face): Suppress boldness if colors are the inverse of
8944 the default colors, and tty_suppress_bold_inverse_default_colors_p
8945 is set.
8946 (Ftty_suppress_bold_inverse_default_colors): New function.
8947 (syms_of_xfaces): Defsubr it.
8948
be0dbdab
GM
8949 * buffer.c (Frestore_buffer_modified_p): New function.
8950 (syms_of_buffer): Defsubr it.
8951
e8413c3b
KR
89522000-04-08 Ken Raeburn <raeburn@gnu.org>
8953
87f67317
KR
8954 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8955 charset id (int) argument, not a charset (Lisp_Object).
8956
e8413c3b
KR
8957 * coding.h (code_convert_string): Declare.
8958 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8959 object, as the fourth argument to code_convert_string.
8960
52283633 8961 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8962 (Fset_fontset_font): Use EQ to compare lisp objects.
8963
7c752c80
KR
89642000-04-05 Ken Raeburn <raeburn@gnu.org>
8965
c0333abc
KR
8966 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8967 a pointer that looks like a lisp object.
8968 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8969 zero, instead see whether it's an integer object, since they can't
8970 have intervals.
8971 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8972
52283633
SM
8973 * dispnew.c (allocate_matrices_for_frame_redisplay)
8974 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
8975 to convert between (unsigned) int values and lisp integers.
8976 * keyboard.c (read_key_sequence): Likewise.
8977 * lread.c (substitute_object_recurse): Likewise.
8978 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
8979 * minibuf.c (do_completion, Fminibuffer_complete_word)
8980 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
8981 * term.c (produce_special_glyphs): Likewise.
8982
8983 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8984 * print.c (print_preprocess, print_object): Likewise.
8985
8986 * search.c (compile_pattern): Use NILP when checking for nil.
8987
74e49b38
KR
8988 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8989 __OPTIMIZE__]: Provide a GNU C macro version that handles
8990 lisp-object unions.
8991 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8992 field, to better cope with ENABLE_CHECKING and calls that modify a
8993 Lisp_Object using its old value.
8994
685e5ed2
GM
89952000-04-04 Gerd Moellmann <gerd@gnu.org>
8996
c407c570
GM
8997 * window.c (compare_window_configurations): Signal an error
8998 if parameters C1 or C2 aren't window configurations.
8999
685e5ed2
GM
9000 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
9001 AFTER_POTENTIAL_GC calls around calls to functions that can
9002 signal an error and thus invoke the debugger.
9003
587a49ab
GM
90042000-04-03 Gerd Moellmann <gerd@gnu.org>
9005
62f20204
GM
9006 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
9007 an error if decoding fails.
9008
587a49ab
GM
9009 * keyboard.c (lispy_mouse_names): Variable removed.
9010 (Vlispy_mouse_stem): New variable.
9011 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
9012 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
9013 for any mouse button number. Increase size of mouse_syms and
9014 button_down_location as needed. Call modify_event_symbol with
9015 different arguments.
9016 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
9017 Call modify_event_symbol with different arguments.
9018 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
9019 for any button number. Call modify_event_symbol with different
9020 arguments.
9021 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
9022 Accept a string for NAME_ALIST_OR_STEM.
9023
9024 * lisp.h (larger_vector): Add prototype.
9025
9026 * fns.c (larger_vector): Make externally visible.
9027
9028 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
9029
2d1675e4
SM
90302000-04-02 Stefan Monnier <monnier@cs.yale.edu>
9031
9032 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
9033 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
9034 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
9035 we are between str1 and str2.
9036 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
9037 (PATFETCH): Use `TRANSLATE'.
9038 (PATFETCH_RAW): Fetch multibyte char if applicable.
9039 (PATUNFETCH): Remove.
9040 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
9041 When writing a char, write it directly into the pattern buffer rather
9042 than going needlessly through a temp char-array.
9043 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
9044 multibyte magic and remove the useless `#ifdef emacs'.
9045 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
9046 buffer.
9047
9048 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9049 conditional on `emacs'.
9050
9051 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9052
cc2d8c6b
KR
90532000-04-01 Ken Raeburn <raeburn@gnu.org>
9054
9055 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9056 non-union-type versions of XMARK and friends here, because XMARK
9057 and friends won't work on an integer field if NO_UNION_TYPE is not
9058 defined.
52283633 9059 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9060
52283633 9061 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9062 (syms_of_composite): Delete local var NARGS, pass an int as first
9063 argument to Fmake_hash_table.
9064
2387b382
KR
9065 * editfns.c (text_property_stickiness): Use NILP to test
9066 Lisp_Object boolean value.
9067 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9068 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9069 problems reading from and changing the same lisp value in an
9070 XSETSTRING call.
9071
27660e89
GM
90722000-04-01 Gerd Moellmann <gerd@gnu.org>
9073
9074 * term.c (TN_no_color_video): New variable.
9075 (term_init): Intitialize TN_no_color_video.
9076 (enum no_color_bit): New enumeration.
9077 (MAY_USE_WITH_COLORS_P): New macro.
9078 (turn_on_face): Use it to determine if attributes may be used
9079 combined with colors.
9080
3578db3c
KR
90812000-04-01 Ken Raeburn <raeburn@gnu.org>
9082
9083 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9084 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9085 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9086 proper accessor macros.
9087 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9088 (grow_mini_window): Fix typo getting int value of root->height.
9089
6fc556fd
KR
9090 * xdisp.c (compute_string_pos): Fix order of arguments to
9091 string_pos_nchars_ahead.
9092 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9093 count arg to variable-arg routines like Frun_hook_with_args and
9094 Fformat.
587a49ab
GM
9095 (back_to_previous_visible_line_start)
9096 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9097 fixed-arg routines like Fget_char_property and Fmake_string.
9098 (reconsider_clip_changes): Use XINT when comparing integer lisp
9099 objects, or passing them as int arguments.
587a49ab
GM
9100 (mark_window_display_accurate, insert_left_trunc_glyphs)
9101 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9102 storing or passing integer values as lisp objects.
9103 (set_cursor_from_row, highlight_trailing_whitespace): Use
9104 INTEGERP, not implicit test against zero, for glyph object.
9105 (try_window_id): Don't use make_number when we want an int value.
9106
9107 * xfaces.c (xlfd_symbolic_value): Make last argument a
9108 Lisp_Object, to be consistent with callers.
9109 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9110 (lface_hash): Apply XFASTINT to lisp values before folding in.
9111
9112 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9113 fill in window width and height. Pass an int, not a lisp object,
9114 as first arg to Finsert.
9115
6e7b2457
GM
91162000-04-01 Gerd Moellmann <gerd@gnu.org>
9117
610d841e
GM
9118 * xfaces.c (realize_basic_faces): Block input while realizing
9119 the faces.
9120
6e7b2457
GM
9121 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9122
9123 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9124
aa110c0c
GM
91252000-03-31 Gerd Moellmann <gerd@gnu.org>
9126
9127 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9128 or ASCII, handle case that per-char metric is null.
aa110c0c 9129
8801a864
KR
91302000-03-30 Ken Raeburn <raeburn@gnu.org>
9131
c6129d7e
KR
9132 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9133
52283633
SM
9134 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9135 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9136 pointer, using eassert.
9137 * frame.h (XFRAME): Likewise.
9138
52283633
SM
9139 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9140 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9141 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9142 * data.c (set_internal): Likewise.
52283633
SM
9143 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9144 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9145 * fileio.c (auto_save_1): Likewise.
9146 * insdel.c (check_markers): Likewise.
9147 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9148 * undo.c (record_insert): Likewise.
9149 * vmsproc.c (child_sig): Likewise.
9150 * window.c (unshow_buffer, window_loop): Likewise.
9151 * xterm.c (x_erase_phys_cursor): Likewise.
9152
8e7af858
GM
91532000-03-30 Gerd Moellmann <gerd@gnu.org>
9154
9155 * xfns.c (free_image_cache): Free the cache structure itself
9156 last, after all its members have been freed.
9157
9158 * lisp.h (xstrdup): Add prototype.
9159
9160 * alloc.c (xstrdup): Moved here from xfaces.c.
9161 (allocating_for_lisp): Variable removed.
52283633 9162 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9163
9164 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9165 of Fsymbol_value.
9166 (xstrdup): Moved to alloc.c.
9167
e0b8c689
KR
91682000-03-29 Ken Raeburn <raeburn@gnu.org>
9169
b96f9fb7
KR
9170 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9171
9172 * emacs.c (main): Fix sense of no-loadup test.
9173
e0b8c689
KR
9174 * config.in (ENABLE_CHECKING): Undef.
9175
9176 * lisp.h (struct interval): Replace "parent" field with a union of
9177 interval pointer and Lisp_Object; add new bitfield to use as
9178 discriminant. Change other flag fields to bitfields.
9179 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9180 is defined and the supplied test fails, print a message and abort.
9181 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9182
9183 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9184 pointers; abort if the value looks like a lisp object.
52283633
SM
9185 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9186 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9187 Modify for new interval parent definition.
9188
52283633
SM
9189 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9190 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9191 addressable lisp object in the interval structure.
9192 (die): New function.
9193 (suppress_checking): New variable.
9194
9195 * intervals.c (interval_start_pos): Just return 0 if there's no
9196 parent object.
9197
f83c5440
GM
91982000-03-29 Gerd Moellmann <gerd@gnu.org>
9199
9200 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9201 and earlier Emacs versions.
9202
9203 * keyboard.c (Ftop_level): Cancel busy-cursor.
9204
9205 * eval.c (call_debugger): Cancel busy-cursor.
9206
fdce64ff
KH
92072000-03-29 Kenichi Handa <handa@etl.go.jp>
9208
9209 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9210 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9211
f6a3f532
SM
92122000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9213
9214 * regex.c (analyse_first): New function obtained by ripping out most
9215 of re_compile_fastmap and generalizing it a little bit so that it
9216 can also just return whether a given (sub)pattern can match the empty
9217 string or not.
9218 (regex_compile): Use `analyse_first' to decide whether the loop-check
9219 needs to be done or not for *, +, *? and +? (the loop check is costly
9220 for non-greedy repetition).
9221 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9222
e9b309ac
DL
92232000-03-28 Dave Love <fx@gnu.org>
9224
52283633 9225 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9226
e9b309ac
DL
9227 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9228
ed0767d8
SM
92292000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9230
9231 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9232 an expression.
9233 (enum re_opcode_t): Update description of succeed_n.
9234 (PATFETCH): Always define.
9235 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9236 operators, char classes, shy-groups and intervals).
9237 Optimize special cases of intervals so as to only use succeed_n and
9238 jump_n when really needed.
9239 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9240 that we don't have to handle the special cases any more.
9241 Simplify on_failure_jump handling as well.
9242
e11e7e46
JR
92432000-03-28 Jason Rumney <jasonr@gnu.org>
9244
9245 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9246
88faab89
GM
92472000-03-27 Gerd Moellmann <gerd@gnu.org>
9248
182ff242
GM
9249 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9250
9251 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9252
182ff242
GM
9253 * alloc.c (mark_maybe_object): New function.
9254 (mark_memory): Use it.
9255 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9256 (setjmp_tested_p, longjmp_done): New variables.
9257 (test_setjmp): New function.
9258 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9259 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9260
c1005d06
GM
9261 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9262 to DEC_TEXT_POS and INC_TEXT_POS.
9263
9264 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9265 with parameter MULTIBYTE_P.
9266
52283633 9267 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9268
7439e5b9 9269 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9270 buffers because it looks for multibyte character byte sequences
9271 which don't exist in unibyte text.
7439e5b9 9272
d9c545da
GM
9273 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9274
11fd416e 9275 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9276 [DEBUG_X_COLORS]: New functions.
9277 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9278
9279 * xfns.c (x_set_cursor_color): Get color reference counts right.
9280
9281 * xterm.c (x_copy_color): New function.
9282 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9283
9284 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9285 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9286 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9287 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9288 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9289 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9290 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9291 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9292 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9293 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9294
11fd416e
GM
9295 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9296 names for handling per-buffer variables.
d9c545da
GM
9297
9298 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9299 instead of MAX_BUFFER_LOCAL_VARS.
9300 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9301
9302 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9303
88faab89
GM
9304 * xfns.c (x_specified_cursor_type): New function.
9305 (x_set_cursor_type): Use it.
9306
9307 * buffer.h (struct buffer): Add cursor_type.
9308
d80f42b7
SM
93092000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9310
9311 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9312 (print_partial_compiled_pattern, re_compile_fastmap):
9313 Handle new opcode.
d80f42b7
SM
9314 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9315 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9316 executing it as well as when popping it off the stack to find infinite
9317 loops in non-greedy repetition operators.
9318
89e80928
GM
93192000-03-26 Gerd Moellmann <gerd@gnu.org>
9320
3d4ff2dd
GM
9321 * doc.c (Qfunction_documentation): New variable.
9322 (syms_of_doc): Initialize Qfunction_documentation.
9323 (Fdocumentation): If FUNCTION is a symbol with non-nil
9324 `function-documentation' property, return a documentation derived
9325 from that.
9326
bd96bd79
GM
9327 * buffer.c (syms_of_buffer): Add default-cursor-type.
9328 (init_buffer_once): Don't let cursor_type have a local value
9329 in every buffer.
9330
19d1bc27
GM
9331 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9332 on buffer-local value of cursor_type.
9333 (x_draw_bar_cursor): Add parameter WIDTH.
9334
9335 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9336 (init_buffer_once): Set default cursor_type value to t.
9337 Mark cursor_type as local everywhere.
9338 (syms_of_buffer): New per-buffer variable cursor-type.
9339
89e80928
GM
9340 * buffer.h (struct buffer): Remove member local_var_flags,
9341 add local_flags.
9342 (MAX_BUFFER_LOCAL_VARS): New macro.
9343 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9344 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9345 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9346 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9347
52283633 9348 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9349
9350 * category.c (Fset_category_table): Use new macros for per-buffer
9351 variables.
9352
9353 * buffer.c (buffer_permanent_local_flags): Make a char array.
9354 (max_buffer_local_idx): New variable.
9355 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9356 for new handling of per-buffer variables.
9357 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9358 (init_buffer_once): Initialize per-buffer vars differently.
9359 Set max_buffer_local_idx.
9360
9361 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9362 variables.
9363
52283633 9364 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9365
9366 * data.c (do_symval_forwarding, store_symval_forwarding)
9367 (find_symbol_value, set_internal, default_value, Fset_default)
9368 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9369 per-buffer variables.
9370
9371 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9372
9a0dd3dc
GM
93732000-03-24 Gerd Moellmann <gerd@gnu.org>
9374
b68c375f
GM
9375 * xterm.c (x_term_init): Unblock input around call1 of
9376 Qvendor_specific_keysyms.
9377
9a0dd3dc
GM
9378 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9379 (find_defun_start): Consider an open parenthesis in column 0
9380 a defun start only if open_paren_in_column_0_is_defun_start is set.
9381 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9382
7973e637
SM
93832000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9384
9385 * eval.c (Fautoload): Add entry in load-history (if after dump).
9386 * lread.c (load-history): Update docstring.
9387
39210e90
GM
93882000-03-24 Gerd Moellmann <gerd@gnu.org>
9389
9390 * indent.c (Fvertical_motion): Always use the current buffer.
9391 Temporarily change the window's buffer, if necessary.
9392
72db3ab5
GM
93932000-03-23 Gerd Moellmann <gerd@gnu.org>
9394
9395 * xterm.c (fast_find_position): Make sure not to consider rows
9396 not visible in the window.
9397
990b2375
SM
93982000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9399
9400 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9401 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9402
ff4df011
JR
94032000-03-22 Jason Rumney <jasonr@gnu.org>
9404
9405 * w32menu.c (single_submenu): Set help string to NULL if none.
9406 (w32_menu_show): Set help string correctly.
9407 (add-menu-item): Set help string in MIIM_DATA for menu item.
9408 Load SetMenuItemInfoA explicitly.
9409 (w32_menu_display_help): New function.
427ec082 9410
ff4df011
JR
9411 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9412 (QCdata): Moved to xdisp.c.
9413
9414 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9415 (Vw32_charset_to_codepage_alist): Removed.
9416 (Vw32_charset_info_alist): New variable.
52283633
SM
9417 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9418 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9419 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9420 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9421 with TODO comment.
9422 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9423 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9424 Define Vw32_charset_info_alist and w32_charset symbols.
9425
94262000-03-22 Jason Rumney <jasonr@gnu.org>
9427
9428 * makefile.nt (w32bdf.obj): Update dependencies.
9429
9430 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9431
9432 * w32fns.c: Include fontset.h after dispextern.h.
9433 (Fx_create_frame): Do not create fontset.
9434 (w32_load_system_font): Doc fix.
9435 (Fx_close_connection): Free full_name if it is not shared.
9436
9437 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9438 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9439 Callers updated.
ff4df011
JR
9440 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9441 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9442 (w32_font_is_double_byte): New function, needs body.
9443 (x_append_glyph): Set glyph->glyph_not_available_p.
9444 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9445 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9446 character, convert it to a unibyte character.
9447 (struct glyph_string): Delete member `charset'.
9448 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9449 calculating it is found.
9450 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9451 the case that per char metric is not available correctly.
9452 (x_fill_glyph_string): Handle the case that the specific glyph is
9453 not available correctly.
9454 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9455 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9456 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9457 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9458 fontset. Don't call FS_LOAD_FONT.
9459
439d5cb4
KR
94602000-03-22 Ken Raeburn <raeburn@gnu.org>
9461
9462 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9463 (INT_LISPLIKE): New macro.
9464 (NULL_INTERVAL_P): Use it.
52283633
SM
9465 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9466 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9467 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9468
9469 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9470 explicit references to "parent" field of struct interval and
9471 associated unclean type conversions.
52283633
SM
9472 * intervals.c (create_root_interval, root_interval, rotate_right)
9473 (rotate_left, balance_possible_root_interval, split_interval_right)
9474 (split_interval_left, interval_start_pos, find_interval)
9475 (next_interval, previous_interval, update_interval)
9476 (adjust_intervals_for_insertion, delete_node, delete_interval)
9477 (adjust_intervals_for_deletion, merge_interval_right)
9478 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9479 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9480 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9481 Likewise.
9482 * syntax.c (update_syntax_table): Likewise.
9483
9484 * intervals.c (reproduce_tree_obj): New function, like
9485 reproduce_tree but takes a Lisp_Object for the parent. Declare
9486 with prototype.
9487 (graft_intervals_into_buffer): Use it when appropriate.
9488 (reproduce_tree): Declare with prototype.
9489 (balance_possible_root_interval): Check that the parent is a lisp
9490 object before trying to examine its type.
9491
ee1c5b21
GM
94922000-03-22 Gerd Moellmann <gerd@gnu.org>
9493
9494 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9495 as strings only if both are known to be strings.
9496
9497 * s/openbsd.h (LIBS_TERMCAP): Undef.
9498
1fb352e0
SM
94992000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9500
9501 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9502 definitions for non-Emacs compilation.
9503 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9504 outside of `#ifdef emacs'.
9505 (print_partial_compiled_pattern): Update.
9506 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9507 (re_compile_fastmap): Merge handling of charset and charset_not (for
9508 emacs and non-emacs compilation as well).
9509 Similarly for (not)categoryspec and (not)syntaxspec.
9510 Don't use the fastmap when reaching `anychar' since the added
9511 complexity is not justified.
9512 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9513 and (not)syntaxspec. Merge (not)categoryspec.
9514
fdaa1f77
KH
95152000-03-22 Kenichi Handa <handa@etl.go.jp>
9516
52283633
SM
9517 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9518 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9519 --without-x.
fdaa1f77 9520
d152fb46
DL
95212000-03-21 Dave Love <fx@gnu.org>
9522
9523 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9524 doc string.
9525
d2cafc8c
GM
95262000-03-21 Gerd Moellmann <gerd@gnu.org>
9527
9528 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9529 (lface_fully_specified_p): Don't check contents of
9530 LFACE_FONT_INDEX because that attribute is optional.
9531 (realize_x_face): Remove now unwarranted xassert.
9532
9111d4b5
KH
95332000-03-21 Kenichi HANDA <handa@etl.go.jp>
9534
9535 The following changes are to make font selection based on
9536 characters, not charset. In addition, they recover fontset
9537 facilities while utilizing the new font selection mechanism.
9538
6c4bfdc0
KH
9539 * Makefile.in (fontset.o): Depend on dispextern.h.
9540
9541 * alloc.c (mark_face_cache): Don't mark face->registry.
9542
9111d4b5
KH
9543 * dispextern.h (struct glyph): New member glyph_not_available_p.
9544 Use 22 bits for face_id.
9545 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9546 (struct face): Delete member registry, new member ascii_face.
9547 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9548 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9549 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9550 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9551
9552 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9553 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9554 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9555 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9556 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9557 (fs_free_face_fontset, fontset_font_pattern)
9558 (face_suitable_for_char_p, face_for_char)
9559 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9560 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9561 (FS_LOAD_FACE_FONT): New macro.
9562
9563 * fontset.c: All codes rewritten or adjusted for the change of
9564 fontset implementation. Now fontset is represented by char table.
52283633
SM
9565 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9566 Variables removed.
9111d4b5 9567 (my_strcasecmp): Function removed.
52283633 9568 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9569 (AREF, ASIZE): New macros.
52283633
SM
9570 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9571 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9572 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9573 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9574 (fontset_id_valid_p, font_family_registry, fontset_name)
9575 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9576 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9577 New functions.
9578 (fs_load_font): New arg FACE. Caller changed.
9579 (fs_query_fontset): Argument changed. Caller changed.
9580 (Fquery_fontset): call fs_query_fontset.
9581 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9582 Functions removed.
52283633
SM
9583 (clear_fontset_elements, check_registry_encoding)
9584 (check_fontset_name): New functions.
9111d4b5
KH
9585 (syms_of_fontset): Set char-table-extra-slots property of fontset
9586 to 3. Staticpro and initialize Vfontset_table and
9587 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9588
9589 * frame.h (struct frame): Member `fontset_data' removed.
9590 (FRAME_FONTSET_DATA): Macro removed.
9591
9592 * frame.c (make_frame): Don't allocate f->fontset_data.
9593 (Fdelete_frame): Don't free f->fontset_data.
9594
6c4bfdc0
KH
9595 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9596
9111d4b5
KH
9597 * xdisp.c (charset_at_position): Function removed.
9598 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9599 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9600 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9601 Likewise.
9602 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9603 FACE_FOR_CHARSET.
52283633
SM
9604 (get_next_display_element, append_space)
9605 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9606
9607 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9608 Variables removed.
9609 (clear_font_table, frame_update_line_height, load_face_font):
9610 Adjusted for the change of fontset implementation.
9611 (load_face_fontset_font): Function removed.
9612 (pixel_point_size): New function.
9613 (font_list): Argument type changed. Caller changed.
9614 (LFACE_FONT): New macro.
9615 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9616 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9617 Lisp_Object. Determine the font name by actually loading a font
9618 by the specified pattern. Set LFACE_FONT (lface) to the specified
9619 pattern. Even if a font is not found, don't try alternatives.
9620 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9621 (set_font_frame_param): If `font' is specified in lface, use it.
9622 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9623 (lface_same_font_attributes_p): Likewise.
9624 (make_realized_face): Arguent changed. Caller changed. Set
9625 face->ascii_face to face itself.
9626 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9627 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9628 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9629 (free_realized_multibyte_face): New function.
9630 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9631 changed. Caller changed.
9632 (try_font_list): Argument type changed.
9633 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9634 (choose_face_font): Argument changed. Handle fontset properly.
9635 (choose_face_fontset_font): Function removed.
9636 (realize_default_face, realize_named_face): Don't remove the
9637 former face here.
9638 (realize_face): Argument changed. Caller changed. Remove face
52283633 9639 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9640 (realize_x_face): Argument changed. Caller changed. For a
9641 multibyte character, share fontset with base_face. For a single
52283633 9642 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9643 (realize_tty_face): Argument changed. Caller changed.
9644 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9645 (face_at_buffer_position): Don't check multibyte_p for returning
9646 DEFAULT_FACE_ID.
9647 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9648 FACE_SUITABLE_FOR_CHARSET_P.
9649 (syms_of_xfaces): Remove code for Qx_charset_registry and
9650 Vface_default_registry.
9651
6c4bfdc0
KH
9652 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9653 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9654 (x_per_char_metric): Don't try FONT->default_char. Even if
9655 pcm->width is zero, glyph bits may exist.
9656 (x_encode_char): Always initialize char2b->byte1.
9657 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9658 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9659 (x_append_glyph): Set glyph->glyph_not_available_p.
9660 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9661 it->charset. Handle the case that per char metric is not
9662 available. If it->multibyte_p is zero and it->c is a multibyte
9663 character, convert it to a unibyte character.
9664 (struct glyph_string): Delete member `charset'.
9665 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9666 the case that per char metric is not available correctly.
9667 (x_fill_glyph_string): Handle the case that the specific glyph is
9668 not available correctly.
9669 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9670 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9671 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9672 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9673 fontset. Don't call FS_LOAD_FONT.
9674
9675 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9676 (x_create_tip_frame): Likewise.
9677 (Fx_close_connection): Free full_name of font_info.
9678
9679 * fns.c (optimize_sub_char_table): New function.
9680 (Foptimize_char_table): New function.
9681 (syms_of_fns): Defsubr Soptimize_char_table.
9682
b33dd3b0
GM
96832000-03-20 Gerd Moellmann <gerd@gnu.org>
9684
9685 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9686 only if buffer is displayed in some window.
9687
9688 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9689 (try_window_reusing_current_matrix): Don't call scroll run
9690 function if run's current and desired position are the same;
9691 this prevents cursor flickering.
9692
4e8a9132
SM
96932000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9694
9695 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9696
9697 * regex.c (RE_STRING_CHAR): New macro.
9698 (GET_CHAR_AFER_2): Remove.
9699 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9700 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9701 (print_partial_compiled_pattern, re_compile_fastmap)
9702 (re_match_2_internal): Remove on_failure_jump_exclusive.
9703 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9704 optimization only need to work for * (ie. can use of_keep_string_jump).
9705 Remove the special case for .*\n since it is now covered by the general
9706 optimization.
9707 (re_search_2): Don't bother with `room'.
9708 (skip_one_char): New function.
9709 (skip_noops): Simplify since `memory' is not needed any more.
9710 (mutually_exclusive_p): Restructure slightly to use `switch' and
9711 add handling for "all" remaining cases.
9712 (re_match_2_internal): Change on_failure_jump_smart to use
9713 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9714 rather than on_failure_jump_exclusive.
9715
2136fdd4
GM
97162000-03-19 Gerd Moellmann <gerd@gnu.org>
9717
9718 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9719 number of bits per RGB because it's everywhere used as the depth
9720 of the visual.
9721
9722 * term.c (calculate_costs): Remove code dealing with X frames.
9723
18e21ce8 97242000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9725
9726 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9727
d7b511c4
GM
97282000-03-18 Gerd Moellmann <gerd@gnu.org>
9729
9730 * lread.c (read_integer): Unread the last char not consumed.
9731
16b5d424
GM
97322000-03-17 Gerd Moellmann <gerd@gnu.org>
9733
9734 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9735 which are in the process of being deleted.
16b5d424 9736
1fa28578
GM
97372000-03-16 Gerd Moellmann <gerd@gnu.org>
9738
83488cce
GM
9739 * Makefile.in (mostlyclean): Add `*.core'.
9740 (clean): Add `bootstrap-emacs'.
9741
1fa28578
GM
9742 * lread.c (read_integer): New function.
9743 (read1): Support read syntax #o, #x, #b, #r.
9744
99633e97
SM
97452000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9746
1fa28578
GM
9747 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9748 make sure POINTER_TO_OFFSET gives the same value before and after
9749 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9750 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9751 (debug): Now only active if > 0 rather than if != 0.
9752 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9753 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9754 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9755 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9756 (store_op1, store_op2, insert_op1, insert_op2)
9757 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9758 (group_in_compile_stack): Move to after its arg's types are
9759 declared and add a prototype.
99633e97 9760 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9761 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9762 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9763 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9764 indentation of the greedy-op and shy-group code.
99633e97
SM
9765 (at_(beg|end)line_loc_p): Fix argument's types.
9766 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9767 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9768 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9769 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9770 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9771 QUIT unconditionally.
99633e97 9772
699238d9
GM
97732000-03-15 Gerd Moellmann <gerd@gnu.org>
9774
9775 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9776 a sole completion.
9777
9778 * process.c (send_process): Add a hint that the function
9779 can call Lisp code to its comment.
9780
9781 * lread.c (load_dangerous_libraries): New variable.
9782 (Vbytecomp_version_regexp): New variable.
9783 (safe_to_load_p): New function.
9784 (Fload): Handle files not compiled with Emacs specially.
9785 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9786
34e23e5a
GM
97872000-03-14 Gerd Moellmann <gerd@gnu.org>
9788
9c763cca
GM
9789 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9790
9791 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9792 support functions only if HAVE_X11R6_XIM is defined.
9793 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9794
9795 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9796
9797 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9798 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9799 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9800
9801 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9802 (HAVE_X11R6_XIM): Define.
9803
9804 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9805
34e23e5a
GM
9806 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9807 If set, call XSynchronize.
9808
66f0296e
SM
98092000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9810
34e23e5a
GM
9811 * regex.c: Declare a new type `re_char' used throughout the code
9812 for the string char type. It's `const unsigned char' to match the
9813 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9814 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9815 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9816 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9817 code duplication.
66f0296e
SM
9818
9819 * charset.h (GET_CHAR_AFTER_2): Remove.
9820 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9821
854a025c
KR
98222000-03-12 Ken Raeburn <raeburn@gnu.org>
9823
9824 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9825 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9826 of them try to use backquotes.
9827
b9d2c7e2
DL
98282000-03-12 Dave Love <fx@gnu.org>
9829
9830 * unexelf.c: Restore changes of 1999-10-19.
9831 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9832 fix its type and alignment; copy it from current process.
9833
5e5dff44
GM
98342000-03-12 Gerd Moellmann <gerd@gnu.org>
9835
9b2f3c38
GM
9836 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9837 has been found. Fix bug not computing timer's predecessor.
9838
427ec082 9839 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9840 file name.
9841
e1cff360
GM
9842 * window.c (Fsave_window_excursion): Doc fix.
9843
52283633 9844 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9845
e411ce4b
EZ
98462000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9847
9848 * msdos.c (vga_installed): New function, code moved from
9849 dos_set_window_size.
9850 (Qbar, Qcursor_type, outside_cursor): New variables.
9851 (syms_of_msdos): Intern and staticpro them.
9852 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9853 shape used outside Emacs when called for the first time.
9854 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9855 cursor shape used outside Emacs.
9856 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9857 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9858 type has changed.
9859 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9860 parameters specify the cursor. Make qreverse a global
9861 variable (renamed to Qreverse).
9862
80460654
GM
98632000-03-09 Gerd Moellmann <gerd@gnu.org>
9864
9865 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9866
95cd4c40
SM
98672000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9868
9869 This is a big redesign of failure-stack and register handling, prompted
9870 by bugs revealed when trying to add shy-groups. Overall, what happened
9871 is that loops are now structured a little differently, groups can be
9872 shy and the code is a little simpler.
9873
9874 * regex.h: Update the copyright.
9875 (RE_SHY_GROUPS): New value.
9876 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9877 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9878
80460654
GM
9879 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9880 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9881 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9882 for (start|stop)_memory since they now only take one argument (the
9883 second has becomes unnecessary).
52283633 9884 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9885 (print_compiled_pattern): Use %ld to printf long ints and flush to
9886 make debugging a little easier.
95cd4c40
SM
9887 (union fail_stack_elt): Make the integer unsigned.
9888 (struct fail_stack_type): Add a `frame' element.
9889 (INIT_FAIL_STACK): Init `frame' as well.
9890 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9891 (DEBUG_PUSH, DEBUG_POP): Remove.
9892 (NUM_REG_ITEMS): Remove.
9893 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9894 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9895 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9896 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9897 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9898 New macros.
80460654
GM
9899 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9900 address pushed is not the destination of the jump but the source
9901 of it instead.
95cd4c40
SM
9902 (NUM_FAILURE_ITEMS): Remove.
9903 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9904 registers before the actual failure point). Don't hardcode any
9905 meaning for str==NULL anymore.
95cd4c40 9906 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9907 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9908 Remove.
95cd4c40
SM
9909 (REG_UNSET_VALUE): Use NULL (why not?).
9910 (compile_range): Remove declaration since it doesn't exist.
9911 (struct compile_stack_elt_t): Remove inner_group_offset.
9912 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9913 (regex_grow_registers): Remove dead code.
9914 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9915 (regex_compile): Add shy-groups Change loops to use
9916 on_failure_jump_smart&jump instead of
9917 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9918 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9919 variable to me). Use `jump' instead of `jump_past_alt' and don't
9920 bother with push_dummy_failure in alternatives since it is now
9921 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9922 emacs' for (re)allocating the stack.
9923 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9924 from loop when bufp->can_be_null rather than jumping to `done'.
9925 Avoid jumping backwards so as to ensure termination. Use
9926 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9927 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9928 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9929 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9930 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9931 (lowest_active_reg, highest_active_reg)
9932 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9933 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9934 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9935 variables. Push register (in `start_memory') on the stack rather
9936 than storing it in old_reg(start|end). Remove the cycle detection
9937 from `stop_memory', replaced by the use of on_failure_jump_loop
9938 for greedy loops. Add code for the new on_failure_jump_<foo>.
9939 Remove ad-hoc code in `on_failure_jump' to push more registers in
9940 the case of a loop. Take out code from `maybe_pop_jump' into
9941 separate functions and adapt it to the semantics of
9942 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9943 and push_dummy_failure. Remove dummy_failure handling and
9944 handling of `failures to jump to on_failure_jump' (this last one
9945 was already dead code, it seems).
9946 (group_match_null_string_p, alt_match_null_string_p)
9947 (common_op_match_null_string_p): Remove.
95cd4c40 9948
7397acc4
DL
99492000-03-08 Dave Love <fx@gnu.org>
9950
9951 * config.in: Don't depend on __STDC__ for volatile.
9952 Add POINTER_TYPE, PTR, PROTOTYPES.
9953
9954 * hftctl.c, strftime.c: Use PROTOTYPES.
9955 * eval.c (find_handler_clause): Likewise.
9956
9957 * mem-limits.h: Use POINTER_TYPE.
9958
9959 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9960 (memory_warnings): Declare using POINTER_TYPE.
9961
5e91ff9e
GM
99622000-03-08 Gerd Moellmann <gerd@gnu.org>
9963
feab4fba
GM
9964 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9965
52283633 9966 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9967
5e91ff9e
GM
9968 * xfns.c: Remove obsolete code in #if 0.
9969 (Fx_focus_frame): New function.
9970
a735b7e1
KH
99712000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9972
9973 * coding.c (coding_category_name): Add coding-category-utf-8,
9974 coding-category-utf-16-be, coding-category-utf-16-le.
9975 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9976 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9977 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9978 (detect_coding_utf_8): New function.
9979 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9980 UTF_16_LOW_SURROGATE_P): New macros.
9981 (detect_coding_utf_16): New function
9982 (detect_coding_mask): When priorities are specified, skip any
9983 categories that have `nil' coding-system. Fix bug of returning
9984 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9985 returns a mask not set in PRIORITIES.
9986 (detect_eol_type_in_2_octet_form): New function.
9987 (detect_eol): selects detect_eol_type_XXX to call according to
9988 cooding->category_idx.
9989 (detect_coding_system): Remove `nil' coding-system in the result.
9990 (Fupdate_coding_systems_internal): Update all coding-categories.
9991
52283633
SM
9992 * coding.h (CODING_CATEGORY_IDX_UTF_8)
9993 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
9994 New macros.
9995 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
9996 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9997 (CODING_CATEGORY_IDX_UTF_16_LE)
9998 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
9999 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
10000 (CODING_CATEGORY_MASK_ANY): Include the above macros.
10001 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
10002
9994cc69
GM
100032000-03-07 Gerd Moellmann <gerd@gnu.org>
10004
e9b4e5ff
GM
10005 * doc.c (Fdocumentation_property): If value is not a string,
10006 and doesn't refer to etc/DOC, evaluate it to obtain a string.
10007
f7daf1e1
GM
10008 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
10009 close the display with XtCloseDisplay. This caused a bus error
10010 on OpenWindows.
10011
9994cc69
GM
10012 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
10013 complete but not unique.
10014
4336c705
GM
100152000-03-06 Gerd Moellmann <gerd@gnu.org>
10016
18bb0684
GM
10017 * process.c (send_process): Remove local variable `procname' that
10018 might become invalid when a GC happens. Instead, access the
10019 process name slot directly.
10020
4336c705
GM
10021 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
10022 orig_height if set.
10023
10024 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
10025 orig_height if set.
10026
515d0d0e
EZ
100272000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
10028
10029 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
10030 glyph matrices have been freed.
10031
100b3cbb
GM
100322000-03-05 Gerd Moellmann <gerd@gnu.org>
10033
50df5e5a 10034 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 10035 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
10036
10037 * xfns.c (QCdata): Moved to xdisp.c.
10038
10039 * xdisp.c (QCdata): Moved here from xfns.c.
10040 (syms_of_xdisp): Initialize QCdata.
10041
10042 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
10043
10044 * window.c (coordinates_in_window): Use
10045 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
10046 FRAME_INTERNAL_BORDER_WIDTH.
10047
100b3cbb 10048 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10049 it is obviously invalid.
100b3cbb
GM
10050
10051 * xterm.c (x_term_init): Create a colormap if not using the
10052 default visual.
10053
10054 * xterm.h (select_visual): Change prototype.
10055
10056 * xfns.c (select_visual): Rewritten. Recognize user-specified
10057 visual classes.
10058 (visual_classes): New variable.
10059
64d739c4
GM
100602000-03-04 Gerd Moellmann <gerd@gnu.org>
10061
10062 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10063 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10064 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10065 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10066 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10067 XtNcolormap resources.
10068 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10069 (Fx_create_frame): Initialize color members of x_output structure.
10070 (xpm_load): Pass colormap to XPM lib.
10071
10072 * xfaces.c (x_free_colors): Access colormap of frame using
10073 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10074 when default colormap is used.
10075
10076 * xterm.c (x_term_init): Set Colormap member of x_display_info
10077 structure. Copy colormap if resource `privateColormap' is
10078 specified (PseudoColor only).
10079 (x_setup_relief_color): Access colormap of frame using
10080 FRAME_X_COLORMAP.
10081
10082 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10083 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10084
c3cee013
JR
100852000-03-04 Jason Rumney <jasonr@gnu.org>
10086
10087 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10088 other non-platform-specific equivalents.
64d739c4 10089 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10090 specific functions and macros as their w32 equivalents where
10091 non-platform-specifics are not available.
10092 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10093 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10094 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10095 (frame_update_line_height): Use macros to access f->output_data.
10096 (defined_color): Remove FIXME comments; fixed.
10097 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10098 into #ifdef blocks. Add WINDOWSNT blocks.
10099 (Fx_list_fonts): Use macros for accessing font data.
10100 (set_lface_from_font_name): Different default fonts for X and
10101 WINDOWSNT.
10102 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10103 scalable for backward compatibility.
64d739c4 10104 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10105 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10106
64d739c4 10107 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10108 syms_of_w32faces.
10109
10110 * makefile.nt (w32faces.obj): Remove.
10111 (xfaces.obj): Add.
10112
807cc41c
JR
101132000-03-03 Jason Rumney <jasonr@gnu.org>
10114
10115 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10116 correct parameters.
10117
0007072a
KR
101182000-03-03 Ken Raeburn <raeburn@gnu.org>
10119
10120 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10121 standard ELF definitions here if the system header does not.
10122
71a6ba55
GM
101232000-03-03 Gerd Moellmann <gerd@gnu.org>
10124
10125 * xterm.c (PER_CHAR_METRIC): Removed.
10126 (x_per_char_metric_1, x_default_char): New functions.
10127 (x_per_char_metric): If font's default char is invalid, return
10128 metrics of a suitably chosen usable default char.
10129 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10130 char, replace occurrences of unprintable chars with a suitably
10131 chosen usable default char.
71a6ba55 10132
900fa1f1
GM
101332000-03-02 Gerd Moellmann <gerd@gnu.org>
10134
42f55fe0
GM
10135 * xterm.c (note_mouse_highlight): Return quickly if frame's
10136 glyph matrices have been freed.
10137
10138 * dispnew.c (free_glyphs): Block input while freeing matrices.
10139
900fa1f1
GM
10140 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10141
52283633
SM
10142 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10143 Use x_free_colors.
900fa1f1
GM
10144
10145 * dispextern.h (x_free_colors): Add prototype.
10146
10147 * xfaces.c (x_free_colors): New function.
10148 (unload_color, free_face_colors): Use it.
10149
2f950292
EZ
101502000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10151
10152 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10153
10154 * window.c [MSDOS]: Include msdos.h.
10155
54d04320
DL
101562000-03-02 Dave Love <fx@gnu.org>
10157
10158 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10159
10160 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10161 set C_OPTIMIZE_SWITCH for gcc.
10162
0ba93ac4
KH
101632000-03-02 Kenichi Handa <handa@etl.go.jp>
10164
10165 * coding.c (coding_save_composition): Be sure to allocate
10166 composition data area in coding even if there's no composition in
10167 the current run.
10168
a2bc11d4
JR
101692000-03-01 Jason Rumney <jasonr@gnu.org>
10170
10171 * w32term.c: Equivalent changes to those made to xterm.c on
10172 2000-02-25 and 2000-02-24.
10173
10174 * w32fns.c: Equivalent changes to those made to xfns.c on
10175 2000-02-25 and 2000-02-21.
10176
10177 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10178 correct line-end convention is followed.
10179
10180 * w32menu.c [HAVE_BOXES]: Remove #undef.
10181 (single_keymap_panes): Remove code for simulating checkmarks.
10182 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10183 Remove code for drawing simulated checkmarks.
10184 (w32_menu_show): make unibyte help string correctly.
10185 (add_menu_item): draw standard Windows checkmarks. Draw radio
10186 buttons as radio buttons if possible.
10187
72d19d75
GM
101882000-03-01 Gerd Moellmann <gerd@gnu.org>
10189
2df636f4
GM
10190 * sysdep.c (start_of_text): Don't define this function for NetBSD
10191 with ELF.
10192
427ec082 10193 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10194 Don't define.
10195 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10196 (LINKER): Don't undef if __NetBSD__ is defined.
10197
10198 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10199
10200 * fileio.c [__NetBSD__]: Define `unix'.
10201
72d19d75
GM
10202 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10203
ed4d0512
GM
102042000-02-29 Gerd Moellmann <gerd@gnu.org>
10205
50b1039f
GM
10206 * atimer.c (start_atimer): Don't abort when timers are stopped.
10207 (append_atimer_lists): New function.
10208 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10209 arbitrary lists of stopped and running atimers.
10210
ed4d0512
GM
10211 * atimer.c (cancel_atimer): Handle canceling an atimer when
10212 some timers are stopped.
10213
10214 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10215 after canceling it.
10216
10217 * fns.c (maybe_resize_hash_table): Handle case of new size
10218 coming out as being the same as old size.
10219
387023ee
JR
102202000-02-27 Jason Rumney <jasonr@gnu.org>
10221
10222 * makefile.nt: Add atimer.h to dependencies.
10223 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10224 * w32console.c: Only disable window system features for dispextern.h
10225 (initialize_w32_display): Build a display info for the console.
10226 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10227 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10228 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10229 as 2 button mice.
10230 * w32gui.h (struct W32FontStruct): Revert last change after change
10231 to xdisp.c.
10232 * w32menu.c (single_submenu): Set up help string.
10233 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10234 (w32_dialog_show): Set up help string.
10235 * w32term.c (w32_display_info_for_display): Remove unused function.
10236 (w32_draw_bitmap): Use pre-built bitmaps.
10237 (w32_initialize_display_info): New function to initialize parts of
10238 display info that are common to both GUI and console frames.
10239 (w32_term_init): Use w32_initialize_display_info. Do not set
10240 Vw32_num_mouse_buttons here, as it is not called for console
10241 frames. Build bitmaps for indicating truncated lines etc.
10242 (x_delete_display): Destroy pre-built bitmaps.
10243 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10244 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10245
4516715a
DL
102462000-02-27 Dave Love <fx@gnu.org>
10247
10248 * lisp.h: Add a bunch of prototypes.
10249
171ca836
KH
102502000-02-26 Kenichi Handa <handa@etl.go.jp>
10251
10252 * keyboard.c (read_char): Set `usec' correctly.
10253
4013921d
KH
102542000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10255
10256 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10257 `lambda', set reg[RRR] to the map index.
10258 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10259 reg[RRR] to 0. Otherwise, set it to -1.
10260
9244a058
GM
102612000-02-25 Gerd Moellmann <gerd@gnu.org>
10262
2df636f4 10263 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10264
18e21ce8 102652000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10266
f43d79c1
GM
10267 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10268 and contains a `:', prepend `/:'.
10269
10270 * window.c (select_window_1): If selected_window is nil,
10271 don't "swap out" the buffer's point.
10272 (Fset_window_configuration): Set selected_window to nil
10273 before calling Fselect_window.
10274 (unshow_buffer): Don't set point in buffer from window's point
10275 if another more recently selected window also shows the buffer.
10276
bed0c171
GM
102772000-02-25 Gerd Moellmann <gerd@gnu.org>
10278
449c3c52
GM
10279 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10280
f5b58615
GM
10281 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10282 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10283 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10284 New variables.
f5b58615
GM
10285 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10286 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10287 (hide_busy_cursor): New functions.
10288 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10289
10290 * minibuf.c (read_minibuf): Cancel busy-cursor.
10291
10292 * keyboard.c (command_loop_1): Call start_busy_cursor before
10293 Fcommand_execute and cancel_busy_cursor after it.
10294 (timer_check): Remove busy-cursor code.
10295 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10296 cursor timer.
10297
10298 * process.c (wait_reading_process_input): Remove busy-cursor code.
10299
10300 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10301 Fx_hide_busy_cursor.
10302
10303 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10304 Remove prototyoes.
10305 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10306
10307 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10308
10309 * xterm.c (XTread_socket): Remove busy-cursor code.
10310
4eb8436f
GM
10311 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10312 (build_frame_matrix_from_leaf_window): Put code handling
10313 glyph row's not being a slice of a frame row in #if 0.
10314 (sync_window_with_frame_matrix_rows): New function.
10315 (frame_row_to_window): New function.
10316 (mirror_line_dance): Handle copies between windows.
10317
3cb65b0e
GM
10318 * lread.c (Fload): Use `xfree' instead of `free'.
10319 (init_obarray): Use `xmalloc' instead of `malloc'.
10320
bed0c171
GM
10321 * window.c (Fset_window_buffer): Set WINDOW to the window
10322 after decoding.
2add4349
GM
10323 (coordinates_in_window): Take frame's internal border width
10324 into account.
bed0c171 10325
42088c12
GM
103262000-02-24 Gerd Moellmann <gerd@gnu.org>
10327
10328 * xterm.c (x_display_and_set_cursor): Display cursor of
10329 non-selected windows depending on the setting of
10330 cursor_in_non_selected_windows.
10331
10332 * xdisp.c (cursor_in_non_selected_windows): New variable.
10333 (syms_of_xdisp): DEFVAR_BOOL it.
10334
d1e103b2
GM
103352000-02-23 Gerd Moellmann <gerd@gnu.org>
10336
723e779c
GM
10337 * data.c (Fstring_to_number): If number is greater than what
10338 fits into an integer, return a float.
10339
d1e103b2
GM
10340 * eval.c (specbind): Remove references to
10341 keyword_symbols_constant_flag.
10342
10343 * data.c (keyword_symbols_constant_flag): Removed.
10344 (Fmakunbound, set_internal, syms_of_data): Remove references to
10345 keyword_symbols_constant_flag.
10346
10347 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10348
214f877f
KH
103492000-02-23 Kenichi Handa <handa@etl.go.jp>
10350
10351 * syntax.c (multibyte_syntax_as_symbol): New variable.
10352 (syms_of_syntax): Declare it as a Lisp variable.
10353 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10354 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10355 nonzero, treat all multibyte characters as symbol.
52283633 10356 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10357
130adcb7
EZ
103582000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10359
3cb65b0e 10360 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10361 a deleted frame.
130adcb7 10362
17cbbf95
GM
103632000-02-21 Gerd Moellmann <gerd@gnu.org>
10364
10365 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10366
10367 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10368 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10369
beb0bc36
DL
103702000-02-21 Dave Love <fx@gnu.org>
10371
10372 * frame.c (Vmouse_position_function): New variable.
10373 (Fmouse_position): Use it.
10374 (syms_of_frame): Install it.
10375
10376 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10377
1d92afcd
GM
103782000-02-20 Gerd Moellmann <gerd@gnu.org>
10379
10380 * fileio.c (Finsert_file_contents): Unbind the binding of
10381 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10382
10383 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10384 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10385 (specbind, unbind_to): Handle most common case of non-constant
10386 symbol with trivial value specially.
10387
10388 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10389
18e21ce8 103902000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10391
10392 * data.c (Fmake_variable_buffer_local): Doc fix.
10393 Init found_for_buffer to 0.
10394 (Fmake_variable_frame_local): If the variable has already
10395 been buffer-local, set the check_frame field.
10396
1d4311c3
EZ
103972000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10398
10399 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10400 produced for CODING_MODE_LAST_BLOCK requires.
10401
2dc95ddd
DL
104022000-02-18 Dave Love <fx@gnu.org>
10403
10404 * keyboard.c (echo_keystrokes): Remove declaration.
10405 (Vecho_keystrokes) New variable.
10406 (read_char, record_menu_key, read_key_sequence): Use it to allow
10407 use of float value.
10408 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10409
10410 * lread.c: Undef feature selection macros before defining.
10411
f0930f35
GM
104122000-02-18 Gerd Moellmann <gerd@gnu.org>
10413
10414 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10415 for symbols other than the symbol in question.
10416
e3d4de90
DL
104172000-02-17 Dave Love <fx@gnu.org>
10418
10419 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10420
0b378936
GM
104212000-02-17 Gerd Moellmann <gerd@gnu.org>
10422
d621caf7
GM
10423 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10424
0b378936
GM
10425 * alloc.c (enum mem_type): Compile unconditionally.
10426
3b451f74
EZ
104272000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10428
10429 * xfaces.c (tty_defined_color): Don't return faulire indication
10430 for unspecified-fg and unspecified-bg pseudo-colors.
10431
10689a01
GM
104322000-02-17 Gerd Moellmann <gerd@gnu.org>
10433
1216f5e4
GM
10434 * alloc.c (mark_object): Don't mark symbol names in pure space.
10435 (gc_sweep): Don't unmark symbol names in pure space.
10436
10437 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10438 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10439 [GC_MARK_STACK]: New defines.
427ec082 10440 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10441 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10442
10443 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10444
10445 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10446 allocate_buffer instead of xmalloc.
10447
10448 * alloc.c (toplevel): Include setjmp.h.
10449 (PURE_POINTER_P): New define.
10450 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10451 (Vdead) [GC_MARK_STACK]: New variable.
10452 (lisp_malloc): Add parameter TYPE, call mem_insert if
10453 GC_MARK_STACK is defined.
10454 (allocate_buffer): New function.
427ec082 10455 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10456 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10457 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10458 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10459 (MEM_NIL) [GC_MARK_STACK]: New define.
10460 (struct mem_node) [GC_MARK_STACK]: New structure.
10461 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10462 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10463 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10464 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10465 (mark_stack) [GC_MARK_STACK]: New functions.
10466 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10467 (clear_marks): Removed.
10468 (gc_sweep): Set free conses' car, free floats' type, free
10469 symbols' function to Vdead. Use lisp_free to free buffers.
10470 (init_alloc_once): Initialize Vdead.
10471 (survives_gc_p): Return non-zero for pure objects.
10472
10473 * alloc.c: Add comments throughout the file.
10474
2503c8b1
GM
10475 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10476 that unblocks alarms.
10477
8389e1e2
GM
10478 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10479 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10480 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10481
10689a01 10482 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10483
bfc17d18
KH
104842000-02-17 Kenichi Handa <handa@etl.go.jp>
10485
4a09dee0
KH
10486 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10487 avoid infinite error signaling. Allocate sufficient memory for
10488 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10489
2b927d02
SM
104902000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10491
10492 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10493 depends on the previous behavior.
10494
b49cb764
GM
104952000-02-16 Gerd Moellmann <gerd@gnu.org>
10496
10497 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10498
99e95407
GM
104992000-02-15 Gerd Moellmann <gerd@gnu.org>
10500
10501 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10502
10503 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10504 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10505 write(2).
10506
6ffd3cf7
RS
105072000-02-15 Richard M. Stallman <rms@gnu.org>
10508
10509 * data.c (set_internal): Don't make variable buffer-local
10510 if within a let-binding for the same buffer.
10511 (let_shadows_buffer_binding_p): New function.
10512
10513 * eval.c (specbind): For buffer-local value,
10514 record the current buffer also.
10515 (unbind_to): Cope with that change.
10516
cad53475
GM
105172000-02-15 Gerd Moellmann <gerd@gnu.org>
10518
10519 * window.c (Fsave_window_excursion): Doc fix.
10520
1aa963c8
SM
105212000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10522
10523 * syntax.c (back_comment): Make sure we only consider comment-starters
10524 of the relevant style and return -1 in case of a failure to find the
10525 beginning of the comment.
10526 (Fforward_comment): If back_comment fails, go back to the position just
10527 after the comment-end.
10528 (scan_lists): Add comment describing a very minor bug.
10529
b9b84fd3
SM
105302000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10531
10532 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10533 `completion-regexp-list' in the docstring.
10534
3a28db80
DL
105352000-02-14 Dave Love <fx@gnu.org>
10536
10537 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10538
fb4a568d
SM
105392000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10540
10541 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10542 to Emacs' syntax. Also fix the comment about set/not-set meanings
10543 since Emacs syntax is not the value 0 any more.
10544 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10545 since it's now part of RE_SYNTAX_EMACS.
10546
1063ebb5
DL
105472000-02-12 Dave Love <fx@gnu.org>
10548
52283633 10549 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10550
fb07a302
GM
105512000-02-12 Gerd Moellmann <gerd@gnu.org>
10552
10553 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10554
aaf2320c
DL
105552000-02-12 Dave Love <fx@gnu.org>
10556
10557 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10558
10559 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10560 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10561 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10562
10563 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10564
10565 * s/nextstep.h: Don't define HAVE_ALLOCA.
10566
10567 * config.in: Add vfork bits.
10568
eedf8bde
GM
105692000-02-12 Gerd Moellmann <gerd@gnu.org>
10570
10571 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10572 unwind function to undo the effect of stopping atimers.
10573
52283633 10574 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10575
10576 * atimer.c (stopped_atimers): New variable.
10577 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10578 New functions.
10579
10580 * atimer.h (stop_other_atimers, run_all_atimers)
10581 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10582
eedf8bde
GM
10583 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10584
8476c2f8
KR
105852000-02-11 Ken Raeburn <raeburn@gnu.org>
10586
10587 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10588 library may depend on jpeg.
10589 (atimer.o): Depends on atimer.c.
10590
0e85e4a3
KH
105912000-02-11 Kenichi Handa <handa@etl.go.jp>
10592
10593 * insdel.c (del_range_1): Call update_compositions.
10594 (del_range_both): Call update_compositions just once..
10595
97fa0cc8
DL
105962000-02-10 Dave Love <fx@gnu.org>
10597
10598 * xfns.c (create_frame_xic): Fix initialization of automatic
10599 aggregates for pcc.
10600
25566a3c
KH
106012000-02-09 Kenichi Handa <handa@etl.go.jp>
10602
10603 * ccl.c (CCL_MAKE_CHAR): New macro.
10604 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10605 registers by CCL_MAKE_CHAR before calling translate_char.
10606 <CCL_TranslateCharacterConstTbl> Likewise.
10607
69da54ba
DL
106082000-02-08 Dave Love <fx@gnu.org>
10609
10610 * lread.c (__EXTENSIONS__): Define.
10611
f7136ee8
GM
106122000-02-08 Gerd Moellmann <gerd@gnu.org>
10613
10614 * puresize.h (BASE_PURESIZE): Increase to 650000.
10615
7768790b
EZ
106162000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10617
10618 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10619 the help message.
10620
38fd211b
EZ
106212000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10622
10623 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10624 md, mh, mb, mr, and me to the fake termcap entry.
10625
66e4690f
KR
106262000-02-06 Ken Raeburn <raeburn@gnu.org>
10627
10628 * sound.c (sound_cleanup): Don't call device close routine if the
10629 function pointer is null.
10630
a75dfea0
AI
106312000-02-06 Andrew Innes <andrewi@gnu.org>
10632
10633 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10634 around image definitions and prototypes.
10635 (gamma_correct) [WINDOWSNT]: New prototype.
10636
10637 * w32term.c (x_make_frame_visible): Replace call to
10638 input_poll_signal with poll_for_input.
10639
10640 * window.c [WINDOWSNT]: Include w32term.h.
10641
10642 * xdisp.c [WINDOWSNT]: Include w32term.h.
10643
10644 * makefile.nt: Add dependencies on w32gui.h.
10645 (OBJ1): Include atimer.obj.
10646 ($(BLD)\atimer.obj): New dependency rule.
10647
10648 * w32.c (sigmask): New function (does nothing).
10649 (sigunblock): Ditto.
10650
10651 * frame.c [WINDOWSNT]: Include w32term.h.
10652
10653 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10654
10655 * lread.c (syms_of_lread): Fix literal newlines.
10656
10657 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10658 the string constant limit (2048 bytes) in MSVC.
10659 (main): Ditto.
10660
59ddecde
GM
106612000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10662
52283633 10663 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10664 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10665 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10666 dispatch the event.
10667
07590973
DL
106682000-02-04 Dave Love <fx@gnu.org>
10669
10670 * fileio.c: Remove some unused vars.
10671 (_GNU_SOURCE): Define (for euidaccess).
10672
10673 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10674
10675 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10676 gcpro1, gcpro2.
10677 (read_minibuf): Deal with allow_props correctly.
10678
649351f9
EZ
106792000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10680
10681 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10682
66e4690f 106832000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10684
10685 * search.c (compile_pattern): If a cache entry has a nil regexp,
10686 fill in that entry instead of clobbering a previously cached
10687 string regexp.
10688
66e4690f 106892000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10690
10691 * puresize.h (BASE_PURESIZE): Increase to 610000.
10692
d240a249
GM
106932000-02-02 Gerd Moellmann <gerd@gnu.org>
10694
10695 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10696 can GC.
10697
ca91fb26
KH
106982000-02-02 Kenichi Handa <handa@etl.go.jp>
10699
25660570
KH
10700 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10701 instead of incrementing ic directly.
10702 <CCL_WriteExprConst> Likewise.
10703 <ccl_set_expr>: Set ic to jump_address.
10704
ca91fb26
KH
10705 * fileio.c (e_write): Fix the handling of
10706 CODING_FINISH_INSUFFICIENT_SRC.
10707
2ede9689
DL
107082000-02-01 Dave Love <fx@gnu.org>
10709
10710 * editfns.c (Fpropertize): Doc fix.
10711
10712 * process.c (Fstart_process): Doc fix.
10713
10714 * eval.c: Fix various doc strings not to duplicate information
10715 from help-manyarg-func-alist.
10716
52283633 10717 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10718
10719 * doc.c (Vhelp_manyarg_func_alist): New variable.
10720 (Fdocumentation): Use it.
10721 (syms_of_doc): Define it.
10722
b6680a0e
GM
107232000-01-31 Gerd Moellmann <gerd@gnu.org>
10724
2cb750ba
GM
10725 * xterm.c (xim_open_dpy): Remove unused local variable.
10726
52283633 10727 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10728
10729 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10730 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10731
b6680a0e
GM
10732 * fns.c (sweep_weak_table): New function.
10733 (sweep_weak_hash_tables): Use it. Keep on marking until there
10734 is no more change.
10735
994c5afe
GM
107362000-01-30 Gerd Moellmann <gerd@gnu.org>
10737
10738 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10739 that XTread_socket does not crash by trying to call XNoOp on a
10740 closed display.
427ec082 10741
f00276e3
JR
107422000-01-30 Jason Rumney <jasonr@gnu.org>
10743
10744 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10745 Change selected_frame to SELECTED_FRAME ().
10746 (w32_console_mouse_position): Remove #ifndef MULE from around
10747 `insist' parameter.
10748
10749 * makefile.nt: Remove dosfns.obj.
10750
10751 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10752
10753 * w32fns.c (w32_defined_color): Check for valid frame before
10754 applying gamma correction. Eliminate dependency on frame elsewhere.
10755 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10756 (w32_to_x_font): Use resx and resy not height_in and width_in.
10757 (x_to_w32_font): Doc fix.
10758 (xlfd_strip_height): New function to strip and return font height.
10759 (w32_font_match): Compare height separately from rest of xlfd
10760 spec, using xlfd_strip_height.
10761
10762 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10763 width_in. Use w32_defined_color in place of defined_color.
10764
10765 * w32faces.c: Merge more of DOS and X specifics in preparation for
10766 merge with xfaces.c.
10767 (defined_color): Remove FIXME comment.
10768 (tty_color_name): Provide w32-specific function.
10769 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10770
10771 * w32console.c (turn_on_face, turn_off_face): Removed.
10772 (w32_face_attributes): New function.
10773 (Global_variables): Reduce scope where possible.
10774 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10775 fill attribute.
10776 (hl_mode): Don't modify text attributes.
10777 (write_glyphs): Don't do anything if len <= 0. Use
10778 w32_face_attributes to get attributes for drawing. Write
10779 terminating codes using char_attr_normal.
10780 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10781 (update_begin, update_end): Likewise.
10782 (vga_stdcolor_name): New function.
10783 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10784 (Fset_screen_color): Remove char_attr_reverse.
10785
b08e8bb2
GM
107862000-01-29 Gerd Moellmann <gerd@gnu.org>
10787
10788 * xfns.c (xic_set_preeditarea): Take window parameter and
10789 window-relative pixel-positions.
10790
10791 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10792 is its frame's selected window.
10793 (xim_instantiate_callback): Likewise.
10794
10795 * xfns.c (x_create_im): Removed.
10796 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10797 (supported_xim_styles): Renamed from supported_styles.
10798 (best_xim_style): Renamed from best_style.
10799 (create_frame_xic): Renamed from xic_create_frame.
10800 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10801
b08e8bb2
GM
108022000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10803
10804 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10805 our frames, call XFilterEvent with 2nd parameter `None'.
10806 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10807 returning XBufferOverflow.
52283633 10808 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10809 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10810 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10811 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10812 (xim_initialize, xim_close)
10813 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10814 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10815 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10816 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10817
10818 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10819 and `xim_styles'.
10820 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10821 `xic_style' and `xic_xfs'.
10822 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10823 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10824 (FRAME_XIM): Removed.
10825
10826 * xfns.c (supported_styles): New variable.
10827 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10828 (xic_create_xfontset, best_style, xic_create_frame)
10829 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10830 (xic_set_xfontset): New functions.
10831
142e109c
DL
108322000-01-28 Dave Love <fx@gnu.org>
10833
10834 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10835
10836 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10837
b02786f9
GM
108382000-01-28 Gerd Moellmann <gerd@gnu.org>
10839
d060bc9f
GM
10840 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10841 for *scratch* if it already existed.
10842
b02786f9
GM
10843 * emacs.c (USAGE): New macro.
10844 (main): Use it to display usage information.
10845
2c52d7e4
EZ
108462000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10847
10848 Support for the menu-help feature:
10849
52283633 10850 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10851
10852 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10853 part of the line to the termscript file.
10854 (IT_clear_to_end): Clear the entire line, not just its beginning.
10855 (menu_help_message, prev_menu_help_message): New variables.
10856 (IT_menu_make_room): Make room for the help_text member.
10857 (IT_menu_display): New argument disp_help; all callers changed.
10858 If disp_help is non-zero, store the help text of the active menu
10859 item in menu_help_message.
10860 (XMenuAddPane): Initialize the help_text member to NULL.
10861 (XMenuAddSelection): New argument help_text. Store it in the
10862 XMenu structure.
10863 (XMenuActivate): New argument help_callback. If the value of
10864 menu_help_message has changed since the last time, display the
10865 menu help message text while waiting for the mouse to move. Clear
10866 the echo area before exiting.
10867 (XMenuDestroy): Free the help_text member.
10868
ffe0bcd1
GM
108692000-01-27 Gerd Moellmann <gerd@gnu.org>
10870
10871 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10872 XMenuAddSelection. Pass help callback to XMenuActivate.
10873 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10874
50dbd23f
EZ
108752000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10876
10877 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10878 and EMACS_SET_USECS.
10879
f5941bf8
GM
108802000-01-26 Dave Love <fx@gnu.org>
10881
6c67ddee
DL
10882 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10883
f5941bf8
GM
10884 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10885 an error may be signalled.
10886
9e49c990
GM
108872000-01-26 Gerd Moellmann <gerd@gnu.org>
10888
fc3cb460
GM
10889 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10890 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10891
9e49c990
GM
10892 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10893
d0c037d8
GM
108942000-01-25 Gerd Moellmann <gerd@gnu.org>
10895
10896 * charset.c (Fstring): If there is a multibyte char among
10897 the args, always return a multibyte string.
10898
e12489f9
GM
108992000-01-25 Gerd Moellmann <gerd@gnu.org>
10900
10901 * sysdep.c (sys_select): Turn atimers off and on instead of
10902 recording and restoring old alarm handler
10903
10904 * process.c (toplevel): Include atimer.h.
10905 (create_process_1): Rewritten.
10906 (create_process): Use atimers instead of alarm.
10907 (wait_reading_process_input) [hpux]: Turn atimers off instead
10908 of turning off SIGALRM.
10909 (wait_reading_process_input): Turn off atimers instead off
10910 calling stop_polling.
10911
10912 * emacs.c (main): Call init_atimer.
10913
10914 * keyboard.c (toplevel): Include systime.h and atimer.h.
10915 (polling_for_input): Removed because unused.
10916 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10917 (poll_timer): New variable.
10918 (poll_for_input, poll_for_input_1): New functions.
10919 (start_polling, stop_polling): Rewritten.
10920
10921 * keyboard.h (polling_for_input): Removed.
427ec082 10922
e12489f9
GM
10923 * atimer.h, atimer.c: New files.
10924
10925 * Makefile.in (obj): Add atimer.o.
10926 (atimer.o): New target.
10927
10928 * blockinput.h (pending_atimers): Add extern declaration.
10929 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10930
10931 * lisp.h (popup_activated_flag): Add extern declaration.
10932
10933 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10934 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10935 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10936
10937 * xterm.c (toplevel): Include atimer.h.
10938 (toolkit_scroll_bar_interaction): New variable.
10939 (Fxt_process_timeouts): Removed.
10940 (x_process_timeouts): New function.
10941 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10942 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10943 (x_make_frame_visible): Call poll_for_input_1 instead of
10944 input_poll_signal. Don't call alarm.
10945 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10946
1e5279b9
DL
109472000-01-24 Dave Love <fx@gnu.org>
10948
6c67ddee 10949 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10950 Don't use -cckr -- apparently not now necessary.
10951
edf6aeb8
EZ
109522000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10953
10954 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10955 screen boundary.
10956
9badad41
JR
109572000-01-23 Jason Rumney <jasonr@gnu.org>
10958
10959 * w32fns.c (w32_defined_color): Apply gamma correction before
10960 trying to map to the palette.
10961 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10962 to w32_clear_rect.
10963
10964 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10965 here. Callers changed to always pass real device context.
10966 (w32_draw_bitmap): Likewise.
10967 (w32_get_glyph_overhangs): Likewise.
52283633 10968 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10969 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10970 pfnSetScrollInfo and SetScrollRange.
10971 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10972 back into MULE characters after decoding them.
10973 (x_get_glyph_face_and_encoding): Likewise.
10974 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10975 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10976 (x_produce_glyphs): Calculate per char metrics for a character
10977 that we know exists in default font when font_not_found_p is true.
10978
63bd786b
JR
109792000-01-22 Jason Rumney <jasonr@gnu.org>
10980
10981 * makefile.nt (intervals.obj, composite.obj): New modules.
10982 (composite.h): Added as dependency where appropriate.
10983
10984 * w32gui.h (XGCValue): New struct for emulating X GCs.
10985
10986 * w32term.h (XCharStruct): New struct for emulating X.
10987
10988 * w32console.c (turn_on_face, turn_off_face): New functions.
10989 (change_line_highlight): New prototype for new redisplay.
10990 (write_glyphs): Support multibyte text. Support faces.
10991
52283633 10992 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
10993
10994 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10995 throughout. struct frame * in place of FRAME_PTR.
10996 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 10997 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
10998 (w32_get_arg): Renamed from x_get_arg.
10999 (Fx_file_dialog): New function.
11000 (w32_list_fonts): Check cache before asking system.
11001 (Vw32_enable_synthesized_fonts): New variable.
11002 (Vw32_enable_italics): Obsolete, removed.
11003
11004 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
11005 Use SELECTED_FRAME macro.
11006
11007 * w32menu.c: Add skeleton support for help strings on menus.
11008 (add_menu_item): Native checkbox and radio support added, but not
11009 yet enabled due to bugs.
11010 (push_menu_item): Add parameters type, selection and help.
11011 Callers updated.
11012 Formatting changes to reduce unnecessary diffs with xmenu.c.
11013
11014 * w32select.c (Fw32_set_clipboard_data): Update call to
11015 find_charset_in_str.
11016
11017 * w32term.c: Complete rewrite for new redisplay based on new
11018 xterm.c with necessary sections merged back in from old w32term.c.
11019
6ffd3cf7 110202000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
11021
11022 * data.c (set_internal): Further fix in same criterion.
11023
6ffd3cf7 110242000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
11025
11026 * data.c (set_internal): Fix the criteria for whether
11027 to swap out the old cached binding.
11028
60af03f1
DL
110292000-01-19 Dave Love <fx@gnu.org>
11030
11031 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
11032
f9be074f
KH
110332000-01-18 Kenichi Handa <handa@etl.go.jp>
11034
11035 * regex.c (re_compile_fastmap): While checking a range table for
11036 `charset', skip flag bits for a character class correctly.
11037
52b8dbf9
GM
110382000-01-17 Gerd Moellmann <gerd@gnu.org>
11039
d36100c9
GM
11040 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
11041
52283633 11042 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
11043
11044 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 11045 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
11046
11047 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11048 MENU_ITEMS_ITEM_.*.
11049 (MENU_ITEMS_ITEM_HELP): New enumerator.
11050 (push_menu_item): Add parameter HELP. Record help in menu_items.
11051 (single_menu_item, single_submenu, list_of_items): Call
11052 push_menu_item with new parameter.
11053 (single_submenu): Set help string in widget value.
11054 (menu_highlight_callback): New function.
11055 (set_frame_menubar): Call lw_create_widget with new
11056 parameter list.
11057 (xmenu_show, xdialog_show): Ditto.
11058
3139018f
GM
110592000-01-13 Gerd Moellmann <gerd@gnu.org>
11060
11061 * sound.c (Fplay_sound): Improve doc string.
11062
83c8f461
RS
110632000-01-11 Richard M. Stallman <rms@gnu.org>
11064
11065 * lisp.h (set_internal): Enter the new arg.
11066
11067 * eval.c (specbind): Record buffer-local variables specially,
11068 indicating which buffer's binding was saved.
11069 (unbind_to): Restore buffer-local variables specially
11070 in the proper buffer.
11071
11072 * data.c (set_internal): New arg BUF.
427ec082 11073
83c8f461
RS
11074 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11075 * data.c (Fset): Pass new arg to set_internal.
11076 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11077
1fab1775
GM
110782000-01-11 Gerd Moellmann <gerd@gnu.org>
11079
52283633 11080 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11081
83c8f461 110822000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11083
11084 * minibuf.c (Ftry_completion): Doc fix.
11085
7a85e4df
GM
110862000-01-11 Gerd Moellmann <gerd@gnu.org>
11087
11088 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11089 vector, too.
11090
a970dae4
AS
110912000-01-11 Andreas Schwab <schwab@suse.de>
11092
11093 * coding.c (code_convert_region): Initialize total_skip.
11094
c65d14ee
DL
110952000-01-08 Dave Love <fx@gnu.org>
11096
11097 * eval.c (Fuser_variable_p): Check customizability too.
11098
834938d2
GM
110992000-01-07 Gerd Moellmann <gerd@gnu.org>
11100
11101 * minibuf.c (Fcompleting_read): Doc fix.
11102
e0303cd6
GM
111032000-01-05 Gerd Moellmann <gerd@gnu.org>
11104
8a26744b
GM
11105 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11106 -L /usr/local/lib.
11107
e0303cd6
GM
11108 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11109 Check that input style is supported before trying to create an
11110 IC for it.
11111 (x_window): Call x_create_im.
427ec082 11112
2e471eb5
GM
111132000-01-04 Gerd Moellmann <gerd@gnu.org>
11114
560a7bd2
GM
11115 * xfns.c (current_gif_memory_src): New variable.
11116 (gif_load): Record the address of the current memory source
11117 in current_gif_memory_src.
11118 (gif_read_from_memory): Use current_gif_memory_src.
11119
f9ee84a3
GM
11120 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11121 macros statement form.
11122
d1299cde
GM
11123 * sound.c (struct sound): Renamed from struct sound_file.
11124 (struct sound): Add members `data' and `header_size'.
11125 (enum sound_attr): Add SOUND_DATA.
11126 (current_sound, current_sound_device): Variables renamed from
11127 sound_file and sound_device.
11128 (parse_sound): Parse :data.
11129 (parse_sound): Handle sound data in strings.
11130 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11131 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11132 needed header size.
11133 (wav_play, au_play): Play sounds from string data.
11134
2e471eb5
GM
11135 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11136
11137 * lisp.h: Add prototype for allocate_string_data.
11138
52283633 11139 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11140
11141 * alloc.c (mark_buffer): Remove code in #if 0.
11142 (gc_sweep): Ditto.
11143 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11144 (strings_consed): New variable.
11145 (allocate_string): Set it.
11146 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11147 (Fmemory_use_counts): Return strings_consed. Use Flist.
11148
11149 * alloc.c: General cleanup in comments etc. Remove conditional
11150 compilation for `standalone'.
11151
11152 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11153
11154 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11155 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11156 (DONT_COPY_FLAG): Removed.
11157 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11158 (struct sdata, struct sblock): New
11159 (struct string_block): Rewritten.
11160 (STRINGS_IN_STRING_BLOCK): New macro.
11161 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11162 (large_sblocks, string_blocks, string_free_list): New variables.
11163 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11164 (init_strings): Rewritten.
11165 (allocate_string, allocate_string_data, compact_small_strings)
11166 (free_large_strings, sweep_strings): New functions.
11167 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11168 (struct string_block_head, current_string_block)
11169 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11170 (STRING_PAD): Removed.
11171 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11172 (Fgarbage_collect): Don't set mark bit in large strings.
11173 (mark_object): Mark strings differently. Mark symbol names
11174 differently.
11175 (survives_gc_p): Test marked strings differently.
427ec082 11176 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11177 symbol names.
11178 (compact_strings): Removed.
11179
42608ba8
EZ
111802000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11181
11182 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11183 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11184
e0a09e1a
KH
111852000-01-04 Kenichi Handa <handa@etl.go.jp>
11186
dd9f0750 11187 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11188 in a non-empty buffer.
dd9f0750 11189
3c0f3b15 11190 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11191
44cd3ae5
GM
111922000-01-03 Gerd Moellmann <gerd@gnu.org>
11193
11194 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11195 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11196
11197 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11198
c182a70f
EZ
111992000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11200
11201 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11202 need to test for MSDOS frames.
11203
24480d5b
EZ
112042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11205
11206 * dosfns.c (unspecified_colors): Remove.
11207 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11208 unspecified_bg.
11209 (msdos_stdcolor_name): Return strings for unspecified fore- and
11210 back-ground colors.
11211
11212 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11213 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11214 (tty_color_name): Return Lisp strings for unspecified fore- and
11215 back-ground colors.
11216 (Finternal_set_lisp_face_attribute): Remove the special treatment
11217 for Qunspecified_{f,b}g.
52283633 11218 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11219
047f434a
GM
112202000-01-03 Gerd Moellmann <gerd@gnu.org>
11221
11222 * xdisp.c (reseat_at_next_visible_line_start): Position before
11223 newline only if ending up on a newline.
11224 (next_element_from_ellipsis): Return success. Handle case of
52283633 11225 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11226 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11227 returns 0.
11228
d684c676
EZ
112292000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11230
11231 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11232 (Fcolor_supported_p): Renamed from face-color-supported-p.
11233
5fe1d139
EZ
112342000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11235
11236 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11237 list of colors renamed to tty-defined-color-alist.
11238 (tty_color_name): Pass the frame to tty-color-by-index.
11239 (realize_tty_face): tty-color-alist is now a function which
11240 accepts the frame as argument.
11241
52283633 11242 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11243
816be8b8
EZ
112442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11245
11246 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11247 encode_terminal_code.
11248
b635321e
EZ
112492000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11250
11251 * dispnew.c (mode_line_string): Support termcap frames as well.
11252
9b784e96
GM
112532000-01-01 Gerd Moellmann <gerd@gnu.org>
11254
27189709
GM
11255 * syntax.c (Fforward_word): Undo previous change.
11256
11257 * editfns.c (Fconstrain_to_field): Don't constrain if
11258 inhibit-field-text-motion is non-nil.
11259 (Fline_beginning_position): Undo previous change.
11260 (Fline_end_position): Ditto.
11261
11262 * syntax.c (Fforward_word): Notice field boundaries only if
11263 inhibit-field-text-motion is nil.
11264
11265 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11266
11267 * editfns.c (Vinhibit_field_text_motion): New variable.
11268 (inhibit-field-text-motion): New DEFVAR_LISP.
11269 (Fline_beginning_position, Fline_end_position): Notice field
11270 boundaries only if inhibit-field-text-motion is nil.
11271
45158a91
GM
11272 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11273 All calls adjusted.
11274 (x_build_heuristic_mask): Likewise.
11275 (xbm_load_image_from_file): Change error output.
11276 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11277 (gif_load, gs_load, x_kill_gs_process): Ditto.
11278
9b784e96
GM
11279 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11280 color indices when accessing raster pixels.
63cec32f
GM
11281 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11282 one of :file or :data.
11283 (enum pbm_keyword_index): Add PBM_DATA.
11284 (pbm_format): Add :data.
11285 (pbm_image_p): Allow either :file or :data.
11286 (pbm_read_file): New function.
11287 (pbm_scan_number): Rewritten to read from string.
11288 (pbm_load): Support :data.
9b784e96 11289
2cb085db 11290See ChangeLog.8 for earlier changes.
6922b018
KH
11291
11292;; Local Variables:
49b3bd82 11293;; coding: iso-2022-7bit
6922b018 11294;; End: