(Colors X): Add -rv to the list of options.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a2fab450
GM
12001-04-19 Gerd Moellmann <gerd@gnu.org>
2
a122a38e
GM
3 * keyboard.c (delete_kboard): Prevent a dangling reference
4 from current_kboard to KB, which is freed.
5
a2fab450
GM
6 * process.c (wait_reading_process_input): Call
7 record_asynch_buffer_change after running timers, to make
8 read_key_sequence aware of buffer changes from under it.
9
0f8d6dc7
GM
102001-04-18 Gerd Moellmann <gerd@gnu.org>
11
eeffb293
GM
12 * xfaces.c (Qscalable_fonts_allowed): New variable.
13 (realizing_basic_faces_p): Removed.
14 (x_face_list_fonts): Special handling for realizing_basic_faces_p
15 removed.
16 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
17 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change
18 default for scalable-fonts-allowed to t.
19
0f8d6dc7
GM
20 * fileio.c (Finsert_file_contents): If the file size returned from
21 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
22 read from files on a procfs whose contents are generated
23 dynamically.
24
eec2d1de
EZ
252001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
26
27 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
28 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
29 (__memalign_hook): Make the two prototypes consistent.
30
f4f480bd
GM
312001-04-17 Gerd Moellmann <gerd@gnu.org>
32
33 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
34 matrix of mini-windows.
35
52283633
SM
362001-04-12 Stefan Monnier <monnier@cs.yale.edu>
37
38 * intervals.c (find_interval): Don't rebalance during signal handling.
39
ec2423c9
GM
402001-04-11 Gerd Moellmann <gerd@gnu.org>
41
30cb0001 42 * fns.c: Include blockinput.h.
52283633 43
ec2423c9
GM
44 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
45
719d83ad
GM
462001-04-10 Gerd Moellmann <gerd@gnu.org>
47
60f8d735
GM
48 * fns.c (Fcompare_strings): Fix return values.
49
afffeb57
GM
50 * window.c (window_scroll): Change the meaning of N to mean
51 N screen-fulls or N lines.
52 (window_scroll_pixel_based, window_scroll_line_based)
53 (scroll_command, Fscroll_other_window): Change accordingly.
54
52283633
SM
55 * window.c (window_scroll_pixel_based, Frecenter):
56 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
57 height of the window.
58
59 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
60 instead of using it.last_visible_y for the height of the window.
52283633 61
719d83ad
GM
62 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
63
64 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
65 able to write to hidden and system files. Make file handles
66 non-inheritable.
67
68 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
69
522ed7fb
GM
702001-04-09 Gerd Moellmann <gerd@gnu.org>
71
9170e5d4
GM
72 * fns.c (Fplist_get, Fplist_put): Add QUITs.
73
522ed7fb
GM
74 * window.c (window_internal_height): Return 1 less if the
75 window has a header line.
76
77 * xdisp.c (try_window_id): When scrolling on a terminal, take
78 the change of window_internal_height into account.
79
ceeb3d7d
EZ
802001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
81
82 * gmalloc.c (align): If the argument SIZE would overflow
83 __malloc_ptrdiff_t, fail right away.
84
63685b9d
GM
852001-04-06 Gerd Moellmann <gerd@gnu.org>
86
87 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
88 Make sure the tooltip is completely visible.
89 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
90
91 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
92
93 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
94
3ffb33bb
DL
952001-04-06 Dave Love <fx@gnu.org>
96
52283633
SM
97 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
98 Fix test of `from'.
3ffb33bb 99
869fb12c
GM
1002001-04-06 Gerd Moellmann <gerd@gnu.org>
101
52283633 102 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 103
869fb12c
GM
104 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
105
441bf856
GM
1062001-04-05 Gerd Moellmann <gerd@gnu.org>
107
4d664b04
GM
108 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
109
52283633 110 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 111
30ca89f5
GM
112 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
113 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
114
115 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
116 shell widget's position only if it is non-null.
117
52283633
SM
118 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
119 Set f->output_data.x->widget to null after destroying it.
30ca89f5 120
81a81c0f
GM
121 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
122 FILENAME to bring it in synch with the documentation.
123
441bf856
GM
124 * xfaces.c (realizing_basic_faces_p): Renamed from
125 realize_default_face_p.
126 (realize_basic_faces): Set/clear realizing_basic_faces_p.
127 (realize_default_face): Don't set the flag.
128
702a1e8e
GM
1292001-04-04 Gerd Moellmann <gerd@gnu.org>
130
1013f4e3
GM
131 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
132
52283633
SM
133 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
134
1013f4e3
GM
135 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
136 the buffer that was used for echoing.
137
702a1e8e
GM
138 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
139 (first_font_matching): Removed unused function.
140 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
141 (may_use_scalable_font_p): Remove parameter FONT; rename
142 parameter NAME to FONT.
143 (x_face_list_fonts): Fix missing bounds check.
144 (realizing_default_face_p): New variable.
145 (realize_default_face): Set and clear that flag.
146 (x_face_list_fonts): When called during the realization of the
147 default face, and no matching fonts are found when ignoring
148 scalable fonts and fonts matching a regexp from
149 face-ignored-fonts, try without ignoring fonts.
150
f9dbcda4
GM
1512001-04-03 Gerd Moellmann <gerd@gnu.org>
152
ad18ffb1
GM
153 * xfns.c (postprocess_image): New function.
154 (lookup_image): Call it for all image types except PostScript.
155 (x_kill_gs_process): Call postprocess_image.
156
f9dbcda4
GM
157 * xterm.c (x_use_underline_position_properties): New variable.
158 (x_draw_glyph_string): Use it.
159 (syms_of_xterm): DEFVAR_BOOL it.
160
651f03b6
GM
1612001-04-02 Gerd Moellmann <gerd@gnu.org>
162
163 * xterm.c (x_alloc_nearest_color_1): New function.
164 (x_alloc_nearest_color): Use it.
165 (x_color_cells): Take a Display as argument, instead of a frame.
166 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
167 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
168 (x_initialize): Register cvt_string_to_pixel as resource converter
169 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
170
73d75a62
GM
1712001-03-30 Gerd Moellmann <gerd@gnu.org>
172
b2046df8
GM
173 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
174 (set_iterator_to_next): If a string from a display property ends,
175 consider the case that this might also be the end of an
176 overlay string having the display property.
177
52283633 178 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 179
87d8eba4
GM
180 * xdisp.c (reseat_to_string): Undo last change.
181
73d75a62
GM
182 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
183 matrix of a window when the header line changes, when
184 new rows are allocated, or when the width changes.
185
911a2406
EZ
1862001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
187
52283633 188 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 189
aea51abe
EZ
1902001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
191
192 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
193 deprecated.
194
176bc847
GM
1952001-03-29 Gerd Moellmann <gerd@gnu.org>
196
ed31fabf
GM
197 * data.c (Fsubr_interactive_form): New function.
198 (syms_of_data): Defsubr it.
199
176bc847
GM
200 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
201 (live_float_p, live_misc_p): Return 1 only if the offset of the
202 pointer in its block is >= 0.
203
e59d0e9d
GM
2042001-03-28 Paul Eggert <eggert@twinsun.com>
205
206 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
207 microseconds calcuation. Avoid double-rounding problem.
208 In doc string, warn that the result is approximate.
209
f827b862
GM
2102001-03-28 Gerd Moellmann <gerd@gnu.org>
211
30a3f61c
GM
212 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
213 bind `inhibit-eval-during-redisplay' to t.
214
215 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
216
217 * xdisp.c (inhibit_eval_during_redisplay)
218 (Qinhibit_eval_during_redisplay): New variables.
219 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
220 don't eval, return nil instead.
221 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
222 Initialize Qinhibit_eval_during_redisplay.
223
e719f5ae
GM
224 * xdisp.c (reseat_to_string): If STRING is multibyte, set
225 the iterator's multibyte_p flag.
226
deb2613a
GM
227 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
228 instead of setting it to zero; it's incremented for each frame
229 where the menu face is changed.
230
52283633
SM
231 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
232 change bottom shadow accordingly.
233
234 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
235 intersections here.
236 (expose_window): Do it here instead.
52283633 237 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 238
f827b862
GM
239 * bytecode.c (BYTE_CODE_QUIT): New macro.
240 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
241
4bde0ebb
GM
2422001-03-27 Gerd Moellmann <gerd@gnu.org>
243
607ec83c
GM
244 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
245 Give up if matrix starts in an ellipsis.
246 (init_from_display_pos): Do nothing if POS doesn't specify
247 a dpvec_index but the iterator has such a position.
248
0245398f
GM
249 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
250
aba25348
GM
251 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
252 x/y position is (0, 0) after destroying the menu bar, restore
253 its original position.
254
4bde0ebb
GM
255 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
256 (init_from_display_pos): Use it.
257 (try_window_reusing_current_matrix): Don't use cursor_row_p.
258
8cdb267e
GM
2592001-03-26 Gerd Moellmann <gerd@gnu.org>
260
261 * xdisp.c (try_window_id): Undo last change.
262
9948db79
EZ
2632001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
264
265 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
266
267 * buffer.c (syms_of_buffer): Doc fix.
268
2eddf899
GM
2692001-03-26 Gerd Moellmann <gerd@gnu.org>
270
271 * xfaces.c (x_update_menu_appearance): Use local variable
272 popup_path for setting font resources.
273
6c145d35
EZ
2742001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
275
6a65b1b5
EZ
276 * frame.c (Fframe_list): Don't reference tip_frame if
277 HAVE_WINDOW_SYSTEM is not defined.
278
6c145d35
EZ
279 * emacs.c (main): Update the copyright year. From Werner LEMBERG
280 <wl@gnu.org>.
281
d74c1900
GM
2822001-03-25 Gerd Moellmann <gerd@gnu.org>
283
20fbd925
GM
284 * xdisp.c (init_from_display_pos): Test invisible property
285 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 286
927c5b3b
GM
287 * xdisp.c (redisplay_internal) <update one window>: Make sure
288 last_arrow_position and last_arrow_string are set.
289
d74c1900
GM
290 * frame.c (Fframe_list): Don't return a tooltip frame.
291
091f8878
GM
2922001-03-23 Gerd Moellmann <gerd@gnu.org>
293
52283633
SM
294 * xdisp.c (mark_window_display_accurate_1): New function,
295 extracted from mark_window_display_accurate.
296 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
297 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
298 (mark_window_display_accurate): Use it.
299 (redisplay_internal): Use it for the selected window.
300 (redisplay_internal): Avoid duplicate mark_window_display_accurate
301 for the selected frame.
302
ac90c44f
GM
303 * xdisp.c Use make_number, for readability.
304 (try_window_id): Disable rows below the window end.
305 (try_window_reusing_current_matrix): Use cursor_row_p.
306 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
307 of rows.
308 (init_from_display_pos): If POS specifies a position in a display
309 vector, maybe get the iterator set up for that ellipsis.
43c09969 310
091f8878
GM
311 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
312
991786dd
EZ
3132001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
314
315 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
316
6c29b43c
GM
3172001-03-23 Gerd Moellmann <gerd@gnu.org>
318
319 * xfaces.c (x_update_menu_appearance): Use a different path
320 for Lucid popup menus.
321
d8731202
SM
3222001-03-22 Stefan Monnier <monnier@cs.yale.edu>
323
324 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
325
326 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
327 (string_buffer_position): Use `make_number'.
328
f61a541b
GM
3292001-03-22 Gerd Moellmann <gerd@gnu.org>
330
3c9e997b
GM
331 * xfaces.c (x_update_menu_appearance): Renamed from
332 x_set_menu_face_resources. Use different resources for popups.
333
334 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
335 (GC_CHECK_STRING_BYTES): Don't define.
336
364cd450
GM
337 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
338 Removed, together with subroutines.
339 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 340 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 341
d8731202
SM
342 * dispextern.h (x_set_menu_resources_from_menu_face):
343 Remove prototype.
364cd450 344
d8731202 345 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
346 Remove calls to x_set_menu_resources_from_menu_face.
347
d8731202
SM
348 * xfaces.c (xm_set_menu_resources_from_menu_face):
349 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
350
351 * xmenu.c: Include widget.h.
352 (single_submenu): Return int. Some cleanup.
353 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
354
140330de
GM
3552001-03-21 Gerd Moellmann <gerd@gnu.org>
356
357 * xterm.c (x_update_window_end): Handle overwritten mouse face
358 also for tool bar windows.
359 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
360 DRAW is DRAW_IMAGE_RAISED.
361
1741905c
GM
3622001-03-20 Gerd Moellmann <gerd@gnu.org>
363
fa88947e
GM
364 * print.c (syms_of_print): Doc fixes.
365
1741905c
GM
366 * fns.c (Fmd5): Doc fix.
367
ade0bee1
GM
3682001-03-19 Gerd Moellmann <gerd@gnu.org>
369
357e7376
GM
370 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
371 Clear area of the frame not occupied by the scroll bar.
372
c2c097cc
GM
373 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
374 tip frame's root window buffer to *tip* right after creating
375 the frame.
376
ade0bee1
GM
377 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
378 is an integer don't have to be for space characters.
379
88c6e37e
GM
3802001-03-16 Gerd Moellmann <gerd@gnu.org>
381
52283633
SM
382 * indent.c (current_column, current_column_1, Fmove_to_column)
383 (compute_motion): Handle characters from display vectors differently.
88c6e37e 384
c62eed76
KH
3852001-03-15 Kenichi Handa <handa@etl.go.jp>
386
387 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
388 drawing glyph string.
389
c899e7e6
GM
3902001-03-15 Gerd Moellmann <gerd@gnu.org>
391
d0bbfc99
GM
392 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
393 (command_loop_1): Undo last change.
394
03d1a189
GM
395 * xterm.c (fast_find_position): Return the correct vpos.
396
c899e7e6 397 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 398 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
399 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
400 Call store_symval_forwarding with BUF null.
401 (set_internal): Call store_symval_forwarding with the BUF
402 parameter passed to set_internal. Formerly, the value was always
403 set in the current buffer; the buffer recorded in specbind for
404 this case wasn't used.
405 (arith_driver): Reindent.
406
52283633
SM
407 * buffer.c (swap_out_buffer_local_variables):
408 Call store_symval_forwarding with BUF null.
c899e7e6
GM
409
410 * lisp.h (store_symval_forwarding): Change prototype.
411
412 * eval.c (specbind): Call store_symval_forwarding with BUF null.
413
57ac7c81
GM
4142001-03-14 Gerd Moellmann <gerd@gnu.org>
415
697617d9
GM
416 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
417 FOR_DELETION. Avoid resizing the mini-window of the selected
418 frame if FOR_DELETION is set.
419 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
420 (Fmake_frame_invisible): Change calls to do_switch_frame for new
421 signature.
422
423 * window.c (Fset_window_configuration): Change call to
424 do_switch_frame to new format.
425
426 * keyboard.c (quit_throw_to_read_char): Change call to
427 do_switch_frame to new format.
428
429 * lisp.h (do_switch_frame): Change prototype.
430
819dce0f
GM
431 * frame.c (Fframe_parameters): In the `buffer-list' frame
432 parameter, store the buffer list of FRAME, not the list of the
433 selected frame.
434
57ac7c81
GM
435 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
436 box just because the glyph row's full_width_p flag is set.
437
65008712
GM
4382001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
439
440 * xdisp.c (highlight_trailing_whitespace): On character terminals,
441 skip the padding blanks inserted in extend_face_to_end_of_line,
442 before checking for trailing whitespace.
443
159cf431
GM
4442001-03-13 Gerd Moellmann <gerd@gnu.org>
445
52283633 446 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
447 Remove special handling for LessTif/Motif.
448 (toplevel): Don't include Xm/Xm.h.
449
52283633
SM
450 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
451 Remove workaround code for LessTif; it doesn't work anymore.
452
2564ea1b 453 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 454 Xm/ScrollBarP.h.
afcdc0a1 455
52283633
SM
456 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
457 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
458 contemporary LessTif.
459
52283633
SM
460 * xfaces.c (xm_set_menu_resources_from_menu_face):
461 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 462
159cf431
GM
463 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
464 removing button grabs.
465
c6f7429a
KH
4662001-03-13 Kenichi Handa <handa@etl.go.jp>
467
cb82d767
KH
468 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
469 and clip-large-size-font as obsolete.
470
c6f7429a
KH
471 * lread.c (read_multibyte): Check the validity of multibyte
472 sequence. If invalid, return the first byte.
473
760cefb5
GM
4742001-03-12 Gerd Moellmann <gerd@gnu.org>
475
476 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
477 before running the command; timer functions or process
478 filters may have set it.
479
5141f9d0
EZ
4802001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
481
482 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
483 Doc fix.
484
b6a15240
GM
4852001-03-12 Gerd Moellmann <gerd@gnu.org>
486
487 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
488 to sprintf.
489
95522746
GM
4902001-03-09 Gerd Moellmann <gerd@gnu.org>
491
db14cfc5
GM
492 * dispextern.h (string_buffer_position): Add prototype.
493
52283633 494 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
495 (single_display_prop_string_p): New functions.
496
497 * xterm.c (note_mouse_highlight): If there's no help-echo on
498 a string, look at the buffer text ``under'' it.
499
500 * keyboard.c (make_lispy_event): Add string info to the event,
501 analogous to what's done on mode lines.
502 (read_key_sequence): For a click on a string, consider `local-map'
503 and `keymap' of that string.
504
52283633
SM
505 * keyboard.c (make_lispy_event, make_lispy_movement):
506 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
507
508 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
509
510 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
511 POS; return void.
512
95522746
GM
513 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
514 flags argument to emacs_open; it seems to conflict with O_EXCL.
515
898a399d
KH
5162001-03-09 Kenichi Handa <handa@etl.go.jp>
517
28cd4910
KH
518 * composite.h (struct composition): Change types of members;
519 glyph_len to unsigned, width to unsigned short.
898a399d 520
4cdf6a6c
AI
5212001-03-08 Andrew Innes <andrewi@gnu.org>
522
523 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
524 menu titles.
525
129004d3
GM
5262001-03-08 Gerd Moellmann <gerd@gnu.org>
527
221dd3e7
GM
528 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
529 instead of nil.
530
52283633 531 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
532 help-echo in strings.
533 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
534 (fast_find_string_pos): New function.
535
52283633
SM
536 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
537 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
538
539 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
540 Handle `mouse-face'.
541
542 * dispextern.h (face_at_string_position): Change prototype.
543
52283633 544 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 545
129004d3
GM
546 * keyboard.c (make_lispy_event): Avoid generating drag events
547 if the mouse hasn't actually moved to another buffer position.
52283633 548
80c8ab8c
DL
5492001-03-08 Dave Love <fx@gnu.org>
550
129004d3 551 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 552
989521fd
GM
5532001-03-08 Gerd Moellmann <gerd@gnu.org>
554
555 * process.c (Fset_process_window_size): Fix a typo.
556
bb5c338d
KH
5572001-03-08 Kenichi Handa <handa@etl.go.jp>
558
559 * coding.c (detect_coding_sjis): Do more rigid check.
560 (detect_coding_big5): Likewise.
561 (decode_coding_sjis_big5): Likewise.
562 (Fdetect_coding_region): Call detect_coding_system with tailing
563 anchor byte `\0' for more rigid detection.
52283633 564 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
565 (Fdetect_coding_string): Likewise.
566
8b8f9197
SM
5672001-03-07 Stefan Monnier <monnier@cs.yale.edu>
568
569 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
570 a string before extracting its data.
571
3bdf2660
GM
5722001-03-07 Gerd Moellmann <gerd@gnu.org>
573
574 * window.c (Frecenter): Rewrite code handling negative values
575 of ARG on graphical frames.
576
5772001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
578
579 * window.c (displayed_window_lines): If W->start is outside the
580 accessible portion of the buffer, call start_display with BEGV or
581 ZV instead of W->start.
582
471f86b9
GM
5832001-03-07 Gerd Moellmann <gerd@gnu.org>
584
2ab62c6c
GM
585 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
586
471f86b9
GM
587 * process.c (Fset_process_filter): Don't crash if the input
588 file descriptor of PROCESS is closed.
589 (Fset_process_window_size): Likewise.
590
101922c3
GM
5912001-03-06 Kenichi Handa <handa@etl.go.jp>
592
593 * xterm.c (XTflash): Make the timeout of select shorter, and call
594 select repeatedly until the desired time expires.
595
45d051a7
GM
5962001-03-06 Gerd Moellmann <gerd@gnu.org>
597
598 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
599
600 * xfns.c (Fx_create_frame): Clear Vwindow_list.
601
602 * lisp.h (Vwindow_list): Declare extern.
603
8f372c46
EZ
6042001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
605
606 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
607
f16a7aa5
GM
6082001-03-06 Gerd Moellmann <gerd@gnu.org>
609
157ae273
GM
610 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
611 to detect a case where we have to highlight a different region
612 despite not having left the currently highlighted region.
613 Set mouse_face_overlay in the x_display_info.
45d051a7 614 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
615
616 * xterm.h (struct x_display_info): Add mouse_face_overlay.
617
618 * buffer.c (mouse_face_overlay_overlaps): New function.
619
620 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
621 (Qmouse_face): Declare extern.
622
f16a7aa5
GM
623 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
624 if face_change_count is non-zero.
625
827afcac
KH
6262001-03-06 Kenichi Handa <handa@etl.go.jp>
627
628 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
629 that the source is unibyte.
630
14c7242e
DL
6312001-03-05 Dave Love <fx@gnu.org>
632
827afcac 633 * xterm.c (XTmouse_position): Fix typo.
14c7242e 634
c28b847b
GM
6352001-03-05 Gerd Moellmann <gerd@gnu.org>
636
637 * minibuf.c (read_minibuf): Clean up the binding stack if
638 called noninteractively.
639
b86644f2
KH
6402001-03-05 Kenichi Handa <handa@etl.go.jp>
641
642 * coding.c (syms_of_coding): Docstring modified.
643
203682cc 6442001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
645
646 * charset.c (char_to_string): If a single byte char has modifier
647 bits that can't be reflected to the character code, ignore them
45d051a7 648 instead of signaling an error.
b86644f2 649
e30bd7b7
EZ
6502001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
651
652 * s/msdos.h: Update copyright notice.
653
654 * dosfns.h: Update copyright notice.
655
656 * dosfns.c: Update copyright notice.
657
658 * msdos.c: Update copyright notice.
659
b52b65bd
GM
6602001-03-02 Gerd Moellmann <gerd@gnu.org>
661
662 * xterm.c (glyph_rect): New function.
663 (XTmouse_position): Use it to raise the threshold for mouse
664 movement event generation.
665
53c4b1e6
EZ
6662001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
667
668 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
669 specifies (reverse . t), reverse the initial screen colors.
670 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
671 but we are reversing the colors, set bg_set, not fg_set.
672 Likewise for setting background-color and reversing: set fg_set.
673 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
674 in effect.
675
676 * xfaces.c (Finternal_set_lisp_face_attribute)
677 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
678 parameters alist.
679
f964b4d7
GM
6802001-03-02 Gerd Moellmann <gerd@gnu.org>
681
ef53d75e
GM
682 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
683 to a single slash in the middle of file names.
684
52283633 685 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
686 Accept only alphanumeric time zone names.
687
f964b4d7
GM
688 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
689 or width area.
690 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
691 a widget to zero height.
52283633 692
c3c45f65
GM
6932001-03-01 Gerd Moellmann <gerd@gnu.org>
694
695 * window.c (Fwindow_end): Call move_it_past_eol only if
696 ending up on a partially visible line.
697
028d739a
DL
6982001-03-01 Dave Love <fx@gnu.org>
699
700 * ccl.c (Fccl_execute): Doc fix.
701
57c5889c
GM
7022001-03-01 Gerd Moellmann <gerd@gnu.org>
703
35f59f6b
GM
704 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
705 of the tool bar before calling x_figure_window_size.
706
f84ff02c
GM
707 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
708 NULL after destroying it, otherwise XTread_socket can access a
709 destroyed widget when input is unblocked.
710
8b8f9197 711 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 712
57c5889c
GM
713 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
714 same name as before, although there was a change in fontsets.
715
224227d1
KR
7162001-02-28 Ken Raeburn <raeburn@gnu.org>
717
4560730a
KR
718 * lisp.h (Fframe_parameter): Declare.
719
224227d1 720 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 721 Lisp_Object.
224227d1 722
ece93c02
GM
7232001-02-28 Gerd Moellmann <gerd@gnu.org>
724
11ef99b9
GM
725 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
726 NULL instead.
727
728 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
729 NULL instead.
730
ece93c02
GM
731 * alloc.c (toplevel): Include process.h.
732 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
733 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
734 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
735 (allocate_vector, allocate_hash_table, allocate_window)
736 (allocate_frame, allocate_process, allocate_other_vector):
737 New functions.
ece93c02
GM
738 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
739 (mark_maybe_pointer): New function.
52283633 740 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
741 remain and not Lisp_Objects.
742 (min_heap_address, max_heap_address): New variables.
743 (mem_find): Return MEM_NIL if START is below min_heap_address or
744 above max_heap_address.
745 (mem_insert): Compute min_heap_address and max_heap_address.
746
747 * process.c (make_process): Use allocate_process.
748
749 * frame.c (make_frame): Use allocate_frame.
750
751 * window.c (make_window, make_dummy_parent): Use allocate_window.
752 (Fcurrent_window_configuration): Use allocate_other_vector.
753
754 * lisp.h (allocate_vectorlike): Remove prototype.
755 (allocate_vector, allocate_other_vector, allocate_frame)
756 (allocate_window, allocate_process, allocate_hash_table):
757 Add prototypes.
758
759 * fns.c (Fdelete, larger_vector): Use allocate_vector.
760 (make_hash_table, copy_hash_table): Use allocate_hash_table.
761
063af457
KH
7622001-02-27 Kenichi Handa <handa@etl.go.jp>
763
764 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
765 treat the produced bytes as a valid multibyte sequence.
766
767 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
768 (ccl_driver) <CCL_WriteMultibyteChar2>:
769 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
770 <ccl_finish>: Set ccl->eight_bit_control properly.
771
772 * ccl.h (struct ccl_program): New member eight_bit_control.
773
f58c6494
SM
7742001-02-26 Stefan Monnier <monnier@cs.yale.edu>
775
776 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
777 accessible_keymaps_char_table.
778 (accessible_keymaps_char_table): Obey `is_metized'.
779 (where_is_internal, Fwhere_is_internal): Don't confuse int and
780 Lisp_Object.
781
c596c392
GM
7822001-02-26 Gerd Moellmann <gerd@gnu.org>
783
784 * dispnew.c: Check HAVE_TERM_H before including term.h.
785
425de386
AI
7862001-02-24 Andrew Innes <andrewi@gnu.org>
787
788 * makefile.w32-in: Update copyright notice.
789
2ba11bbd
SM
7902001-02-24 Stefan Monnier <monnier@cs.yale.edu>
791
792 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
793
66c56ed1
KH
7942001-02-24 Kenichi Handa <handa@etl.go.jp>
795
4c1593ce
KH
796 * Makefile.in (lisp): Add international/utf-8.elc.
797
66c56ed1
KH
798 * fontset.c (Fnew_fontset): Fix handling of the case that an
799 element of FONTLIST is a cons of family and registry.
800
796ead7e
JR
8012001-02-23 Jason Rumney <jasonr@gnu.org>
802
803 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
804 to height unconditionally.
805
806 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 807 background face to the end of the drawing area in the text area, only.
796ead7e
JR
808 (x_insert_glyphs): Call window_box_left to obtain the left
809 x-coordinate of the area to shift.
810
811 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
812 safe_run_hooks.
813
f6839838
AI
8142001-02-22 Andrew Innes <andrewi@gnu.org>
815
52283633 816 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
817 ($(BLD)\dispnew.obj):
818 ($(BLD)\editfns.obj):
819 ($(BLD)\fileio.obj):
820 ($(BLD)\filelock.obj):
821 ($(BLD)\keyboard.obj):
822 ($(BLD)\w32proc.obj):
823 ($(BLD)\process.obj):
824 ($(BLD)\sysdep.obj): Ditto.
825
826 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
827 header files.
52283633
SM
828 ($(BLD)/dispnew.$(O)):
829 ($(BLD)/editfns.$(O)):
830 ($(BLD)/fileio.$(O)):
831 ($(BLD)/filelock.$(O)):
832 ($(BLD)/keyboard.$(O)):
833 ($(BLD)/w32proc.$(O)):
834 ($(BLD)/process.$(O)):
f6839838
AI
835 ($(BLD)/sysdep.$(O)): Ditto.
836
c224f70b
GM
8372001-02-22 Gerd Moellmann <gerd@gnu.org>
838
51695746
GM
839 * xdisp.c (forward_to_next_line_start): When taking the shortcut
840 at the start of the function, check that the \n in it->c is
841 from the iterator's current position.
52283633 842
a61b7058
GM
843 * xdisp.c (handle_single_display_prop): Add parameter
844 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
845 properties which replace the display of text with something else.
846 (handle_display_prop): Call handle_single_display_prop with
847 additional argument saying if we already replaced text display
848 with something else. Use AREF.
52283633 849 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
850 (decode_mode_spec_coding): Use AREF and ASIZE.
851
3473f362
GM
852 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
853 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
854 * vmstime.h: Files removed.
52283633 855
2bb58df3
GM
856 * unexencap.c, unexfx2800.c: Files removed.
857
c224f70b
GM
858 * dispnew.c (direct_output_for_insert): Give up if we are showing
859 a message or just cleared the message because we might need to
860 resize the echo area window or display an empty echo area.
861
ffc9ff0c
GM
8622001-02-21 Gerd Moellmann <gerd@gnu.org>
863
0528abe1
GM
864 * xdisp.c (redisplay_internal): Do the
865 mark_window_display_accurate after all windows have been
866 redisplayed because this call resets flags in buffers which are
867 needed for proper redisplay.
868
52283633
SM
869 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
870 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
871 the old names.
872
52283633
SM
873 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
874 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
875
876 * msdos.h (struct x_output): Rename busy_window to
877 hourglass_window, busy_p to hourglass_p.
878
52283633
SM
879 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
880 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
881
882 * xfns.c: Rename everything containing *busy_cursor* and similar
883 to *hourglass*.
884 (syms_of_w32fns): Rename x-busy-pointer-shape to
885 x-hourglass-pointer-shape, display-busy-cursor to
886 display-hourglass, busy-cursor-delay to hourglass-delay.
887
888 * w32fns.c: Rename everything containing *busy_cursor* and similar
889 to *hourglass*.
890 (syms_of_w32fns): Rename x-busy-pointer-shape to
891 x-hourglass-pointer-shape, display-busy-cursor to
892 display-hourglass, busy-cursor-delay to hourglass-delay.
893
894 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
895 of its busy_p flag.
896
897 * dispextern.h (start_hourglass, cancel_hourglass)
898 (display_hourglass_p): Renamed from *busy_cursor*.
899
ab2c5f0a
GM
9002001-02-20 Gerd Moellmann <gerd@gnu.org>
901
d17e49a8
GM
902 * keyboard.c (read_char): When an event from unread-command-events
903 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
904
fa97adf6
GM
905 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
906 equal to the current buffer.
907
ab2c5f0a
GM
908 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
909 nil, otherwise we're left with truncate_lines t when a message
910 is printed with message-truncate-lines bound to t.
911
aeac019e
GM
9122001-02-19 Gerd Moellmann <gerd@gnu.org>
913
c8bc6f65
GM
914 * window.c (Fmove_to_window_line): Undo last change.
915 (displayed_window_lines): Call line_bottom_y to determine
916 the line's bottom position.
917
918 * dispextern.h (line_bottom_y): Add prototype.
919
52283633 920 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
921 (pos_visible_p): Use it.
922
980a2d69
GM
923 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
924 set redisplaying_p to 0 here instead of in Frecursive_edit.
925 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
926 set redisplaying_p.
927
52283633 928 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
929 New variables.
930 (syms_of_xdisp): Initialize new variables.
931 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
932 Specbind `inhibit-menubar-update' when updating the menu bar.
933
65048e97
GM
934 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
935 safe_run_hooks.
936
937 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
938 safe_run_hooks.
939
a57c4026
GM
940 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
941 is null.
942
aeac019e
GM
943 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
944 to the start of the file.
945
76846b31
GM
9462001-02-16 Gerd Moellmann <gerd@gnu.org>
947
f3f053f3 948 * window.c (set_window_buffer): Fix last change.
52283633 949
f3f053f3
GM
950 * window.c (set_window_buffer): Set window's vscroll to 0.
951
dad75588
GM
952 * window.c (coordinates_in_window): Increase width of area
953 where the vertical line can be dragged.
954
c220b753
GM
955 * xterm.c (x_set_glyph_string_background_width): Extend the
956 background face to the end of the drawing area in the text
957 area, only.
958
c56b1c1b
GM
959 * xdisp.c (handle_single_display_prop): Set iterator's position
960 to where the `display' property starts, like for images.
961 (dump_glyph): New function.
962 (dump_glyph_row): Use it. Dump info about marginal areas.
963
964 * dispnew.c (direct_output_for_insert): Recognize more cases where
965 glyphs can be written instead of being inserted.
966
967 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
968 the left x-coordinate of the area to shift.
969
76846b31
GM
970 * dired.c (directory_files_internal): Set result list to nil
971 before retrying.
972
0fc71a77
KH
9732001-02-15 Kenichi Handa <handa@etl.go.jp>
974
975 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
976 invalid multibyte sequence, treat *SRC as a character of
977 eight-bit-graphic.
978
25078b54
EZ
9792001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
980
981 * textprop.c (Fset_text_properties): Doc fix.
982
8399f8a0
GM
9832001-02-15 Gerd Moellmann <gerd@gnu.org>
984
985 * dispnew.c (update_text_area): Undo change of 2001-01-12.
986
9a2a6f73
DL
9872001-02-14 Dave Love <fx@gnu.org>
988
989 * coding.c: Doc and message fixes.
990
bf853fee
AI
9912001-02-14 Andrew Innes <andrewi@gnu.org>
992
993 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
994 Emacs frame above the screen size.
995
78c663d8
GM
9962001-02-14 Gerd Moellmann <gerd@gnu.org>
997
998 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
999
7cc9f69f
GM
10002001-02-13 Gerd Moellmann <gerd@gnu.org>
1001
0a411995
GM
1002 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
1003 case that TO ends up beyond ZV after running before-change-functions.
1004
5ddc1b75
GM
1005 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
1006 the selected window if it is showing the buffer in question.
1007
7cc9f69f
GM
1008 * dired.c (directory_files_internal): Initialize errno.
1009 (toplevel): Include errno.h.
1010
2e6621ca
GM
10112001-02-13 Kenichi Handa <handa@etl.go.jp>
1012
1013 * xfaces.c (best_matching_font): New parameter width_ratio.
1014 Multiply avgwidth by width_ratio.
1015 (choose_face_font): Call best_matching_font with width_ratio
1016 calculated from the column width of C.
1017
60222d69
AI
10182001-02-12 Andrew Innes <andrewi@gnu.org>
1019
1020 The following changes are to draw box lines inside characters area
1021 if line-width is negative.
52283633 1022
60222d69
AI
1023 * w32term.c (x_produce_image_glyph): Pay attention to the case that
1024 face->box_line_width is negative.
1025 (x_produce_stretch_glyph): Likewise.
1026 (x_produce_glyphs): Likewise.
1027 (x_estimate_mode_line_height): Likewise.
1028 (x_draw_glyph_string_background): Likewise.
1029 (x_draw_glyph_string_foreground): Likewise.
1030 (x_draw_composite_glyph_string_foreground): Likewise.
1031 (x_draw_glyph_string_box): Likewise.
1032 (x_draw_image_foreground): Likewise.
1033 (x_draw_image_relief): Likewise.
1034 (x_draw_image_foreground_1): Likewise.
1035 (x_draw_image_glyph_string): Likewise.
1036
9804b846
KH
10372001-02-09 Kenichi Handa <handa@etl.go.jp>
1038
1039 The following changes are to draw box lines inside characters area
1040 if line-width is negative.
52283633 1041
9804b846
KH
1042 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1043 face->box_line_width is negative.
1044 (x_produce_stretch_glyph): Likewise.
1045 (x_produce_glyphs): Likewise.
1046 (x_estimate_mode_line_height): Likewise.
1047 (x_draw_glyph_string_background): Likewise.
1048 (x_draw_glyph_string_foreground): Likewise.
1049 (x_draw_composite_glyph_string_foreground): Likewise.
1050 (x_draw_glyph_string_box): Likewise.
1051 (x_draw_image_foreground): Likewise.
1052 (x_draw_image_relief): Likewise.
1053 (x_draw_image_foreground_1): Likewise.
1054 (x_draw_image_glyph_string): Likewise.
1055
1056 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1057 and :line-width can be negative.
52283633 1058 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1059
49be9f70
JR
10602001-02-09 Jason Rumney <jasonr@gnu.org>
1061
1062 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1063 characters the same as ASCII and latin-1.
1064 (x_display_and_set_cursor): Check for the focus frame's selected
1065 window instead of selected_window.
1066 (x_after_update_window_line): Don't clear if frame's internal
1067 border width is zero.
1068 (x_new_font): Don't change a tooltip's size.
1069 (w32_initialize): Set char_ins_del_ok to 1.
1070
1071 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1072 (x_set_font): If font hasn't changed, avoid recomputing
1073 faces and other things.
52283633
SM
1074 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1075 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1076 (x_create_tip_frame): Prevent changing the tooltip's
1077 background color by specifying a color for the default font
1078 in .Xdefaults.
1079 (Qcancel_timer): New variable.
1080 (syms_of_w32fns): Initialize and staticpro it.
1081 (Fx_hide_tip, Fx_show_tip): Use it.
1082 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1083 the timer.
1084 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1085
1086 * w32.c (init_environment): Duplicate local string before putenv.
1087
555e35d2
SZ
10882001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1089
1090 * charset.c (Fstring): A typo.
1091
19c92c94
KH
10922001-02-09 Kenichi Handa <handa@etl.go.jp>
1093
e47a1c33
KH
1094 * charset.c (Fstring): If all arguments are less than 256, return
1095 a unibyte string.
1096
1097 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1098 return a unibyte string.
1099
19c92c94
KH
1100 * coding.c (code_convert_region): After detecting a coding, if
1101 nothing found, set coding->composing to COMPOSITION_NO.
1102 (decode_coding_string): Likewise.
1103
d8e675f5
SM
11042001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1105
1106 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1107 to avoid overflow.
1108
bd503487
KH
11092001-02-07 Kenichi Handa <handa@etl.go.jp>
1110
1111 * charset.c (parse_str_to_multibyte): New function.
1112
1113 * charset.h (parse_str_to_multibyte): Extern it.
1114
1115 * print.c (print_string): If we are going to print a unibyte
1116 string into a multibyte buffer, convert the string to multibyte by
1117 str_to_multibyte.
1118
a8370d72
AI
11192001-02-06 Andrew Innes <andrewi@gnu.org>
1120
1121 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1122 been created. It seems we can get sent window messages such as
1123 WM_ERASEBKGND before we properly update a frame.
1124
c363a1d6
GM
11252001-02-06 Gerd Moellmann <gerd@gnu.org>
1126
1127 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1128 Avoid some unnecessary cursor positioning.
1129
a08332c0
GM
11302001-02-05 Gerd Moellmann <gerd@gnu.org>
1131
52283633 1132 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1133 (LFACE_AVGWIDTH): New macro.
1134 (LFACEP): Use AREF.
1135 (check_lface_attrs): Check LFACE_AVGWIDTH.
1136 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1137 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1138 (merge_face_vectors): Check LFACE_AVGWIDTH.
1139 (Finternal_make_lisp_face): Use AREF.
1140 (xm_set_menu_resources_from_menu_face)
1141 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1142 (Finternal_lisp_face_empty_p): Use AREF.
1143 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1144 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1145 Compare average widths..
1146 (best_matching_font): Arrange for comparing average widths.
1147
52283633
SM
1148 * dispextern.h (enum lface_attribute_index):
1149 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1150
5cb3c8d4
DL
11512001-02-05 Dave Love <fx@gnu.org>
1152
1153 * puresize.h: Revert last change following loadup.el change.
1154
193fba87
AI
11552001-02-05 Andrew Innes <andrewi@gnu.org>
1156
1157 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1158 invocation of temacs, to work with Windows 2000.
1159 (bootstrap-emacs): Ditto.
1160
e16f52ce
GM
11612001-02-05 Gerd Moellmann <gerd@gnu.org>
1162
7a58ab59
GM
1163 * xterm.c (x_display_and_set_cursor): Check for the focus
1164 frame's selected window instead of selected_window.
1165
e89aaabd
GM
1166 * xdisp.c (try_scrolling): If point is in the line below the
1167 window, make sure to move the iterator at least a canonical
1168 char height down.
1169
52283633 1170 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1171
789ce875
KH
11722001-02-05 Kenichi Handa <handa@etl.go.jp>
1173
52283633
SM
1174 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1175 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1176 (ccl_driver): If the CCL program is terminated because of
1177 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1178 destination instead of throwing them away.
1179
20b28f82
GM
11802001-02-02 Gerd Moellmann <gerd@gnu.org>
1181
79fb38c0
GM
1182 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1183 faces and other things.
1184
20b28f82
GM
1185 * xdisp.c (get_next_display_element): Fix case of empty
1186 display table entry.
1187
5a72551e
EZ
11882001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1189
eb24d0bf
EZ
1190 * editfns.c (Fconstrain_to_field): Doc fix.
1191
6a3f48c7
EZ
1192 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1193 into `thoroughly', to make it consistent with the doc string.
1194
5a72551e
EZ
1195 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1196
01acdb05
GM
11972001-02-01 Gerd Moellmann <gerd@gnu.org>
1198
0353b28f
GM
1199 * search.c (search_buffer): Call set_search_regs with a byte
1200 position, not a character position.
1201
01acdb05
GM
1202 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1203 minibuffer-only,
1204
e86b5133
EZ
12052001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1206
1207 * frame.c (Fmodify_frame_parameters): Doc fix.
1208
7442878f
GM
12092001-01-31 Gerd Moellmann <gerd@gnu.org>
1210
01acdb05
GM
1211 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1212 identifier which is not reserved by Standard C.
52283633 1213
7442878f
GM
1214 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1215
1216 * window.c (enum window_part): New enumeration.
1217 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1218 Qright_bitmap_area.
1219 (coordinates_in_window): Return an enumerator from enum
1220 window_part. Fix handling of right scroll bar.
1221 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1222 `right-fringe' instead of `left-bitmap-area' and
1223 `right-bitmap-area'. Use enumerators from enum window_part
1224 instead of hard-coded integers.
52283633
SM
1225 (check_window_containing, window_from_coordinates):
1226 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1227 (syms_of_window): Replace Qleft_bitmap_area and
1228 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1229
7c132cba
EZ
12302001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1231
1232 * editfns.c (Fformat_time_string): Doc fix.
1233
c359dd9e
SM
12342001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1235
1236 * keymap.c (Fwhere_is_internal): Use the first valid binding
1237 if no ascii binding is found (when firstonly is t).
1238
ce070307
GM
12392001-01-31 Gerd Moellmann <gerd@gnu.org>
1240
b4f30ec5
GM
1241 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1242 instead of Finteractive_p.
1243
1244 * lisp.h (interactive_p): Add prototype.
1245
1246 * eval.c (interactive_p): New function.
1247 (Finteractive_p): Use it.
1248
ce070307
GM
1249 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1250
f57b6e64
DL
12512001-01-31 Dave Love <fx@gnu.org>
1252
d61c7afe
DL
1253 * .gdbinit (hook-run): Define to run xreload.
1254
f57b6e64
DL
1255 * textprop.c (Fset_text_properties): Fix newline in doc string.
1256
eef93f99
GM
12572001-01-30 Gerd Moellmann <gerd@gnu.org>
1258
52283633
SM
1259 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1260 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1261
1262 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1263 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1264 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1265
1266 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1267 height.
1268
d9c1f6f9
DL
12692001-01-30 Dave Love <fx@gnu.org>
1270
1271 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1272 AFTER_POTENTIAL_GC.
1273
e8f044a0
GM
12742001-01-29 Gerd Moellmann <gerd@gnu.org>
1275
52283633
SM
1276 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1277 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1278
8e1db7b3
EZ
12792001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1280
1281 * textprop.c (Fset_text_properties): Doc fix.
1282
4eefd9d2
GM
12832001-01-29 Gerd Moellmann <gerd@gnu.org>
1284
1285 * xdisp.c (forward_to_next_line_start): Remove xassert.
1286
fccb8288
EZ
12872001-01-29 Jason Rumney <jasonr@gnu.org>
1288
4eefd9d2 1289 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1290 returning without releasing it.
1291
76581eab
KH
12922001-01-29 Kenichi Handa <handa@etl.go.jp>
1293
1294 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1295 for '^', '$', and '\0'.
1296
83a96b4d
AC
12972001-01-28 Andrew Choi <akochoi@i-cable.com>
1298
5604ec34
AC
1299 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1300 regex for '^', '$', and '\0'.
1301
83a96b4d
AC
1302 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1303 only if current_sblock has been initialized.
1304
1305 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1306 terminal frame even if it is the only visible frame.
1307
c09a6440
KH
13082001-01-28 Kenichi Handa <handa@etl.go.jp>
1309
1310 * fontset.c (font_family_registry): Even if FONTNAME conform to
1311 XLFD, if it specifies other fields than family and registry,
52283633 1312 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1313 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1314 a signle byte character. Don't set FAMILY part to nil here.
1315 It is handled by the caller choose_face_font.
c09a6440
KH
1316 (Fnew_fontset): Call font_family_registry with FORCE 0.
1317 (Fset_fontset_font): Likewise.
1318
4dcd74e6
GM
13192001-01-27 Gerd Moellmann <gerd@gnu.org>
1320
1321 * xdisp.c (display_line): Don't treat a newline as fitting
1322 on the line.
1323
d2906bf8
GM
13242001-01-26 Gerd Moellmann <gerd@gnu.org>
1325
0130fe1a
GM
1326 * window.c (size_window): Set the window's orig_top to nil when
1327 changing heights, so that a future shrink_mini_window won't
1328 restore a bogus height.
1329
550f0e6a
GM
1330 * frame.c (do_switch_frame): If selected frame has a mini-window,
1331 resize that to exact size.
1332
b7b20fbd
GM
1333 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1334
a47b7816
GM
1335 * xdisp.c (display_line): Simplify check for glyphs fitting
1336 entirely in the line.
1337
d2906bf8
GM
1338 * xfns.c (xic_style): New variable.
1339 (create_frame_xic): Move static variable to global scope for
550f0e6a 1340 the case that `static' gets defined away.
d2906bf8 1341
73df2b1e
KH
13422001-01-26 Kenichi Handa <handa@etl.go.jp>
1343
1344 * coding.c (decode_coding): Set a flag for inhibiting
1345 inconsistent eol.
1346 (code_convert_region): Always set saved_coding_symbol.
1347 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1348 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1349
6613cfc4
GM
13502001-01-25 Gerd Moellmann <gerd@gnu.org>
1351
c5e6e06b
GM
1352 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1353 XClearArea.
1354
1355 * xterm.c (x_after_update_window_line): Don't clear if frame's
1356 internal border width is zero.
1357 (x_clear_area): New function.
1358 (x_after_update_window_line, x_clear_end_of_line)
1359 (x_scroll_bar_create, x_scroll_bar_set_handle)
1360 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1361 instead of XClearArea.
1362
1363 * xterm.h (x_clear_area): Add prototype.
1364
6613cfc4
GM
1365 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1366 which doesn't seem necessary anymore with Lesstif 0.92.
1367
650cc6cc
DL
13682001-01-25 Dave Love <fx@gnu.org>
1369
34ac3367
DL
1370 * puresize.h (BASE_PURESIZE): Up to 720000.
1371
650cc6cc
DL
1372 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1373
5e37dc22
GM
13742001-01-25 Gerd Moellmann <gerd@gnu.org>
1375
e1e441f9
GM
1376 * xdisp.c (echo_area_display): Don't call redisplay_internal
1377 when Emacs is shutting down. We can't run hooks etc. that
1378 would be necessary to do a redisplay.
1379
5e37dc22
GM
1380 * lread.c (read_integer): Use type EMACS_INT instead of int.
1381
0fb94c7f
EZ
13822001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1383
1384 * ccl.c (ccl_driver): Fix last change.
1385
e3778624
KH
13862001-01-25 Kenichi Handa <handa@etl.go.jp>
1387
1388 * ccl.h (sturct ccl_program): New member suppress_error.
1389
bb264518 1390 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1391 insert error message to the output.
1392 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1393
1394 * coding.h (struct coding_system): New member suppress_error.
1395
1396 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1397 (Fset_terminal_coding_system_internal): Set the member
1398 suppress_error to 1.
1399 (Fset_safe_terminal_coding_system_internal): Likewise.
1400
245ed2b1
SM
14012001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1402
1403 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1404 as if it was a `charset'.
1405
f9aaedb6
GM
14062001-01-24 Gerd Moellmann <gerd@gnu.org>
1407
1408 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1409 value in where_is_cache; the next lookup in the cache returns
1410 something bogus if we do.
1411
c3902c3e
EZ
14122001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1413
1414 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1415 if HAVE_WINDOW_SYSTEM isn't defined.
1416
3497f73e
GM
14172001-01-24 Gerd Moellmann <gerd@gnu.org>
1418
e7e41584
GM
1419 * fns.c (sweep_weak_table): Fix code taking items out of
1420 the hash collision chain. Some cleanup.
1421
3497f73e
GM
1422 * xterm.c (x_new_font): Don't change a tooltip's size.
1423
1424 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1425 background color by specifying a color for the default font
1426 in .Xdefaults.
1427
3d48e687
KH
14282001-01-24 Kenichi Handa <handa@etl.go.jp>
1429
96531b20
KH
1430 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1431 a workaround for SunOS 4's cc.
1432 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1433 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1434 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1435 statement.
3d48e687 1436
a30629d2
GM
14372001-01-23 Gerd Moellmann <gerd@gnu.org>
1438
1439 * xterm.c (x_set_window_size_1): New function extracted from
1440 x_set_window_size.
1441 (x_set_window_size): Use it.
1442 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1443 doesn't have a widget, like tooltips.
1444
5a43decf
EZ
14452001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1446
52283633 1447 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1448
b0e98867
KH
14492001-01-23 Kenichi Handa <handa@etl.go.jp>
1450
1451 * fns.c (Fset_char_table_default): Fix to make sub char-table
1452 correctly.
1453
50606b4c
GM
14542001-01-22 Gerd Moellmann <gerd@gnu.org>
1455
cb2ddc53 1456 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1457 a desired tool bar string, even if there are no tool bar items.
1458
57c28064
GM
1459 * xdisp.c (Ftool_bar_lines_needed): New function.
1460 (syms_of_xdisp): Defsubr it.
1461
50606b4c
GM
1462 * editfns.c (Fformat): Don't extend text properties from arguments
1463 to padding chars in the result.
1464
2f169c38
EZ
14652001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1466
1467 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1468
0f32f023
AI
14692001-01-20 Andrew Innes <andrewi@gnu.org>
1470
52283633 1471 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1472 (w32_initialize): Don't set term hooks that aren't actually needed
1473 in windowed mode.
1474
1475 * xfaces.c (realize_default_face):
1476 (realize_face):
1477 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1478
1479 * xdisp.c (handle_single_display_prop): Remove references to
1480 FRAME_W32_CONSOLE_P.
1481
52283633 1482 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1483
1484 * frame.h (output_method): Remove output_w32_console method.
1485 (FRAME_W32_CONSOLE_P): Remove macro.
1486
1487 * frame.c (Qw32_console): Remove variable.
1488 (Fframep): Remove references to it.
1489 (syms_of_frame): Ditto.
1490 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1491
1492 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1493 redefinition.
1494
7173eada
KH
14952001-01-20 Kenichi Handa <handa@etl.go.jp>
1496
1497 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1498
755b45ce
AI
14992001-01-19 Andrew Innes <andrewi@gnu.org>
1500
1501 * w32.c (init_environment): Add a version-independent site-lisp
1502 directory to EMACSLOADPATH, after the version dependent one.
1503
0a949811
GM
15042001-01-19 Gerd Moellmann <gerd@gnu.org>
1505
8501998a
GM
1506 * editfns.c (Fbuffer_substring): Doc fix.
1507
52283633
SM
1508 * xdisp.c (message_dolog, message2, message2_nolog):
1509 Rename parameter LEN to NBYTES.
0a949811 1510
e6ebcbbe
KH
15112001-01-19 Kenichi Handa <handa@etl.go.jp>
1512
200ecca2
KH
1513 * charset.c (strwidth): Use c_string_width.
1514 (c_string_width): New function.
1515 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1516 Caller changed.
1517
1518 * charset.h (c_string_width, lisp_string_width): Extern them.
1519
52283633 1520 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1521
e6ebcbbe
KH
1522 * indent.c (check_composition): Check validity of composition.
1523
200ecca2
KH
1524 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1525 characters by calling c_string_width.
1526 (x_consider_frame_title): Get byte length of frame tile string
1527 correctly.
1528 (display_mode_element): Pay attention to width of non-ASCII
1529 characters by calling strwidth.
1530
8692ca92
GM
15312001-01-18 Gerd Moellmann <gerd@gnu.org>
1532
8962e303
GM
1533 * xfns.c (Qcancel_timer): New variable.
1534 (syms_of_xfns): Initialize and staticpro it.
1535 (Fx_hide_tip, Fx_show_tip): Use it.
1536 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1537 the timer.
1538 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1539
91523be9
GM
1540 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1541
1542 * window.h (WINDOW_LIVE_P): New macro.
1543
b0b7ed0e
GM
1544 * window.c (window_size_fixed): New variable.
1545 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1546 the doc string.
1547
06bccf8e
GM
1548 * eval.c (specbind): If binding a per-buffer variable which
1549 doesn't have a buffer-local value in the current buffer, change
1550 the global value by changing the value of the symbol bound in all
1551 buffers not having their own value, to make it consistent with
1552 what happens with other buffer-local variables.
1553
8692ca92
GM
1554 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1555
1556 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1557 when searching for a newline.
1558
bb3a3b50
KH
15592001-01-18 Kenichi Handa <handa@etl.go.jp>
1560
1561 * xdisp.c (display_string): Fix previous change.
1562
c2cc16fa
JR
15632001-01-18 Jason Rumney <jasonr@gnu.org>
1564
1565 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1566 GLYPH_DEBUG is defined.
1567 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1568 true for images with `:ascent 100'.
1569 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1570 meantime, use face MOUSE_FACE_ID.
1571 If first glyph isn't a character glyph, use the ASCII NUL
1572 character to determine the face.
1573 (expose_area): Do not treat left margin specially.
1574 (note_mode_line_highlight): If no local_map, check global keymap.
1575 (note_mouse_highlight): Initialize overlay.
52283633 1576 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1577 (show_scroll_bars): Remove unused function.
1578 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1579 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1580 Clip to row.
52283633 1581 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1582 (x_free_frame_resources): Unload relief colors.
1583
9c11f79e
GM
15842001-01-17 Gerd Moellmann <gerd@gnu.org>
1585
3aec8722 1586 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1587 get_next_display_element when the newline is already found.
1588 This may change the iterator's position, when its current position is
3aec8722
GM
1589 equal to the iterator's stop_charpos.
1590
f3ffc2c3
GM
1591 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1592 zero, use this method only at the end of a line.
1593
52283633 1594 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1595 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1596 if SCALABLE_FONTS_P is set.
52283633 1597
d26d6fd9
GM
1598 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1599 so that scalable fonts are included.
1600
9c11f79e
GM
1601 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1602 In the cache, use a key containing the information if scalable
1603 fonts are included.
1604 (x_load_font): Adapt to change of keys in the font cache.
1605
16062001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1607
d26d6fd9
GM
1608 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1609 XListFonts to take advantage of font caching.
1610
9c11f79e
GM
1611 * xterm.c (x_list_fonts): Ensure caching font information when
1612 called for a null frame, which is the case frequently when Emacs
1613 starts.
1614
51446987
GM
16152001-01-17 Gerd Moellmann <gerd@gnu.org>
1616
f864120f
GM
1617 * xfns.c (QCconversion): Replaces QCalgorithm.
1618
1619 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1620
1621 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1622 of :algorithm.
52283633 1623
e37d1417
GM
1624 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1625 not everything could be displayed.
1626
51446987
GM
1627 * line.h, x-list-font.c: Files removed because unused.
1628
9ad4f3e5
AI
16292001-01-17 Andrew Innes <andrewi@gnu.org>
1630
1631 * dired.c (directory_files_internal): Convert result from readdir
1632 to a unibyte string initially, to avoid possible misinterpretation
1633 of some bytes as the internal form of Emacs characters.
1634
2eda09b5
KH
16352001-01-17 Kenichi Handa <handa@etl.go.jp>
1636
1637 * fns.c (concat): Be sure to avoid putting the same `composition'
1638 property on the adjacent regions.
1639
826f3788
GM
16402001-01-16 Gerd Moellmann <gerd@gnu.org>
1641
52283633 1642 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1643 (Fscroll_right, Fscroll_left): Set it here instead, if called
1644 interactively.
1645
d57b83b3
GM
1646 * buffer.c (Fset_buffer_modified_p): Set buffer's
1647 prevent_redisplay_optimizations_p flag.
1648
826f3788 1649 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1650 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1651 with additional arg.
1652
1653 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1654 Change prototype.
826f3788 1655
826f3788
GM
1656 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1657 FROM_WHERE, for debugging.
1658
261d788b
KH
16592001-01-16 Kenichi Handa <handa@etl.go.jp>
1660
1661 * ccl.c (Fregister_ccl_program): Handle the return value of
1662 resolve_symbol_ccl_program correctly.
52283633 1663 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1664
bccee4f2
GM
16652001-01-15 Gerd Moellmann <gerd@gnu.org>
1666
e4ded23c
GM
1667 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1668 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1669
1670 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1671 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1672 the display; we didn't open it.
1673
bccee4f2
GM
1674 * dispnew.c (save_or_restore_current_matrices): Function removed.
1675 (save_current_matrix, restore_current_matrix): New functions.
1676 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1677 restore the frame's current matrix. Due to the glyph pointer
1678 setup done in adjust_glyph_matrix, there is no easy way to make
1679 saving the current matrix in the desired matrix generally correct,
1680 so don't try it.
1681
ebeccffa
KH
16822001-01-15 Kenichi Handa <handa@etl.go.jp>
1683
1684 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1685 truncation glyphs.
1686 (display_line): Optimize for wide characters.
e4ded23c 1687 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1688 partially. On ttys, produce more than one truncation glyph for
1689 multi-column characters that don't fit on the line.
1690
64388126
KH
16912001-01-13 Kenichi Handa <handa@etl.go.jp>
1692
52283633
SM
1693 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1694 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1695
8edb0a6f
JR
16962001-01-13 Jason Rumney <jasonr@gnu.org>
1697
1698 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1699 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1700 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1701 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1702
52283633
SM
1703 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1704 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1705 (x_draw_image_glyph_string): Adapt to change of image margins.
1706
1707 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1708 variables.
1709
1710 * w32bdf.c (search_file_line, get_cached_font_char)
1711 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1712
1713 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1714
1715 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1716 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1717 (Fw32_send_sys_command): Remove unused variables.
1718 (w32_msg_pump): Add parentheses.
1719
1720 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1721 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1722 Add parentheses.
1723
4956d1ef
GM
17242001-01-12 Gerd Moellmann <gerd@gnu.org>
1725
b30623be
GM
1726 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1727 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1728 being a pair of margins.
1729 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1730 to DEFVAR_LISP. Extend doc.
1731
1732 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1733 margins.
1734 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1735 pair of integers `(X . Y)', use X for the horizontal and Y for the
1736 vertical margin.
1737 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1738 (parse_image_spec): Check it.
52283633
SM
1739 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1740 (tiff_format, gif_format, gs_format):
1741 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1742
52283633
SM
1743 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1744 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1745 (x_draw_image_glyph_string): Adapt to the change of image margins.
1746
1747 * dispextern.h (struct image): Replace member `margin' with
1748 `hmargin' and `vmargin'.
1749
4554cc79
GM
1750 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1751 and GLYPHS.
1752
1753 * dispnew.c (update_text_area): Put code which decrements the
1754 stop position when the row's face extends to the end of the
3bffc665 1755 line in #if 0.
4554cc79 1756
3cccce8d
GM
1757 * xfns.c (x_set_mouse_color): Fix color allocation.
1758
4956d1ef
GM
1759 * keyboard.c: Call get_local_map with new argument list.
1760
1761 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1762
1763 * intervals.h (enum map_property): Removed.
1764 (get_local_map): Change prototype.
1765
1766 * keymap.c: Call get_local_map with new argument list.
1767 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1768
2c2ff7f2
GM
17692001-01-11 Gerd Moellmann <gerd@gnu.org>
1770
a23887b9
GM
1771 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1772 of the size needed for the tool bar string. For the last image,
1773 use a `display' property that reaches to the end of the string.
1774
a7ee2d2e
GM
1775 * xselect.c (selection_request_dpyinfo): New variable.
1776 (x_handle_selection_request): Set it.
1777 (x_selection_request_lisp_error): Don't call
1778 x_decline_selection_request if selection request's display has
1779 been closed.
1780
52283633
SM
1781 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1782 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1783
457b792c
GM
17842001-01-10 Dave Love <fx@gnu.org>
1785
1786 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1787 ${SOME_MACHINE_LISP}, not ${lisp}.
1788
c1efd260
GM
17892001-01-10 Gerd Moellmann <gerd@gnu.org>
1790
52283633
SM
1791 * xdisp.c (display_line): On ttys, produce more than one truncation
1792 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1793
ac95a621
GM
1794 * xselect.c (x_reply_selection_request): Add a comment.
1795
c1efd260
GM
1796 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1797 XkbGetNames instead of XkbGetKeyboard.
1798
1bfb1345
DL
17992001-01-10 Dave Love <fx@gnu.org>
1800
1801 * sysdep.c (random): Revert the declaration.
1802
38119822
GM
18032001-01-09 Gerd Moellmann <gerd@gnu.org>
1804
52283633
SM
1805 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1806 Call function string_bytes.
35f464a7
GM
1807 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1808
1809 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1810 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1811 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1812 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1813 the current sblock.
1814 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1815 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1816 after sweeping strings, and at the end.
1817 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1818
38119822
GM
1819 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1820 ensure that pop_message is called.
1821
1822 * keyboard.c (Fexecute_extended_command): Use a
1823 record_unwind_protect to ensure that pop_message is called.
1824
1825 * lisp.h (push_message_unwind): Add prototype.
1826
1827 * xdisp.c (push_message_unwind): New function.
1828
1829 * fileio.c (do_auto_save_unwind): Do the pop_message here
1830 instead of in Fdo_auto_save.
1831 (Fdo_auto_save): Don't call pop_message.
1832
f47a9ec4
KR
18332001-01-08 Ken Raeburn <raeburn@gnu.org>
1834
1835 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1836 in inner block.
1837
a758f97d
GM
18382001-01-08 Gerd Moellmann <gerd@gnu.org>
1839
6d0afc03
GM
1840 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1841 when increasing window's vscroll.
1842
a758f97d
GM
1843 * macros.c (Qkbd_macro_termination_hook): New variable.
1844 (syms_of_macros): Initialize and staticpro it.
1845 (pop_kbd_macro): Run kbd-macro-termination-hook.
1846
1847 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1848
1bfb1345 18492001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1850
1851 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1852 arglist, for documentation's sake.
1853
0dac6924
AI
18542001-01-06 Andrew Innes <andrewi@gnu.org>
1855
1856 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1857 of *.pdb.
1858
8182406a
AI
18592001-01-05 Andrew Innes <andrewi@gnu.org>
1860
1861 * term.c (update_end): Don't check updating_frame; for some reason
1862 this can be 0 sometimes, such as after dismissing a popup menu,
1863 and isn't necessary given the explicit frame argument.
1864
3828218c
GM
18652001-01-05 Gerd Moellmann <gerd@gnu.org>
1866
1867 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1868 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1869
2f5ded21
GM
18702001-01-04 Gerd Moellmann <gerd@gnu.org>
1871
52283633 1872 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1873
1874 * xfns.c (x_create_tip_frame): Preserve the value of
1875 face_change_count around the creation of the tip frame.
52283633 1876
2f5ded21
GM
1877 * xfns.c (last_show_tip_args): New variable.
1878 (compute_tip_xy): New function.
1879 (Fx_show_tip): Reuse an existing tip frame, if possible.
1880 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1881
dfad65fa
DL
18822001-01-04 Dave Love <fx@gnu.org>
1883
64d4ec0f
DL
1884 * editfns.c (Fformat): Doc fix.
1885
dfad65fa
DL
1886 * systime.h (set_file_times): Prototype.
1887
1888 * widget.h (EmacsFrameSetCharSize_): Prototype.
1889
1890 * sysdep.c (random, srandom): Declare explicitly.
1891
1892 * dispextern.h (move_it_vertically_backward): Declare.
1893
85fe3b5e
GM
18942001-01-04 Gerd Moellmann <gerd@gnu.org>
1895
0f2ac578
GM
1896 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1897 like in Fx_create_frame.
1898
482cca61
GM
1899 * xfaces.c (set_font_frame_param): Don't do anything for
1900 non-graphical frames.
1901
85fe3b5e
GM
1902 * window.c (Fdelete_other_windows): Set window's window_end_valid
1903 to nil when changing the window's start. Don't change the
1904 window's start when its top position hasn't changed. If we do,
1905 this will set the window's optional_new_start, which act's like a
1906 force_start during redisplay with C-x 1 M-> under particular
1907 circumstances (see report from Per Starback to emacs-pretest-bug
1908 from 2000-12-13.).
1909
3e99d3b4
GM
19102001-01-03 Gerd Moellmann <gerd@gnu.org>
1911
a77dc1ec
GM
1912 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1913 short cut at the start of the function. Add an assertion.
1914 (reseat_at_next_visible_line_start): Add an assertion.
1915
2f3cad6c
GM
1916 * window.c (Frecenter): When changing the window start, set the
1917 window's window_end_valid to nil.
1918 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1919
1920 * dispextern.h (move_it_past_eol): Add prototype.
1921
1922 * xdisp.c (move_it_past_eol): New function.
1923
3e99d3b4
GM
1924 * window.c (Fwindow_end): Doc fix.
1925
19262001-01-03 Dave Love <fx@gnu.org>
1927
52283633 1928 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 1929
bafb434c
GM
19302001-01-03 Gerd Moellmann <gerd@gnu.org>
1931
1932 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1933 the enabled_p flag of the glyph row at window_end_vpos to 0.
1934 (handle_single_display_prop): Fix last change.
1935
5297fb00
RS
19362001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1937
1938 * window.c (Frecenter): Doc fix.
1939
13d6a61c
AI
19402001-01-02 Andrew Innes <andrewi@gnu.org>
1941
1942 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1943
1944 * frame.h (output_method): Add output_w32_console method.
1945 (FRAME_W32_CONSOLE_P): New macro.
1946
1947 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1948 use output_w32_console method.
1949 (Qw32_console): New Lisp_Object.
1950 (Fframep): Return it.
1951 (syms_of_frame): Init it.
52283633 1952 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
1953
1954 * xfaces.c (realize_default_face): Set face foreground and
1955 background to unspecified for w32_console frames.
1956 (realize_face): Realize face cache for w32_console frames.
1957 (realize_tty_face): Accept w32_console frames.
1958
52283633 1959 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
1960 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1961 necessary, even if running interactively.
1962
1963 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1964 w32_console frames.
1965
52283633
SM
1966 * w32term.c (x_update_begin):
1967 (x_update_end):
1968 (x_clear_frame):
1969 (x_ins_del_lines):
1970 (x_change_line_highlight):
1971 (x_delete_glyphs):
1972 (w32_ring_bell):
1973 (x_update_begin):
1974 (x_update_end):
1975 (w32_reassert_line_highlight):
1976 (w32_frame_rehighlight):
13d6a61c
AI
1977 (w32_frame_raise_lower): Do nothing if not w32 frame.
1978
1979 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1980
1981 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1982 system doesn't tell us directly.
1983 (Fx_display_visual_class): Implement properly.
1984
d6bb0c0d
GM
19852001-01-02 Gerd Moellmann <gerd@gnu.org>
1986
1987 * window.c (Frecenter): Handle centering in graphical frames
1988 specially. Centering on the basis of line counts doesn't work
1989 reliably with variable-height lines.
52283633 1990
315f5865
EZ
19912001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1992
1993 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1994 and al[].
1995
52283633 1996 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
1997 (update_compositions): Remove unused variable `hook'.
1998
1999 * intervals.c (get_local_map): Remove unused variable `tem'.
2000
2001 * doprnt.c (doprnt1): Remove unused variable `size'.
2002
2003 * fns.c (Flength): Remove unused variable `tail'.
2004 (Fdelete): Remove unused variable `size'.
2005
2006 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
2007 and `gcpro2'.
2008
52283633 2009 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
2010
2011 * data.c (find_symbol_value): Remove extra 3rd argument in the
2012 call to swap_in_symval_forwarding.
2013
52283633 2014 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
2015
2016 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
2017 (trivial_regexp_p): Remove unused variable `c'.
2018 (boyer_moore): Remove unused variable `k'.
2019
2020 * indent.c (current_column): Remove unused variable `stopchar'.
2021 (Fcompute_motion): Remove unused variable `contin'.
2022
2023 * casefiddle.c (casify_object): Remove unused variable `tolen'.
2024
2025 * dired.c (directory_files_internal): Fix a typo in a comment.
2026 Remove an unused variable `handler'.
52283633 2027 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
2028 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
2029 on BSD4_2.
2030
52283633 2031 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
2032
2033 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
2034 and `buf'.
2035 (Fmarker_insertion_type): Remove unused variable `buf'.
2036
2037 * insdel.c (make_gap): Remove unused variable `result'.
2038
52283633 2039 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2040 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2041 (menu_bar_items): Remove unused function-scope variable `tem'.
2042
2043 * fontset.c (fontset_ref): Remove unused variable `i'.
2044 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2045 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2046 (make_fontset_for_ascii_face): Remove unused variable `name'.
2047 (fs_load_font): Remove unused variable `font_idx'.
52283633 2048 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2049 (list_fontsets): Remove unused variable `tail'.
2050 (Fnew_fontset): Remove unused variables `family' and `registry'.
2051 (accumulate_font_info): Remove unused variable `tmp'.
2052 (Ffontset_font): Remove unused variable `id'.
2053 (syms_of_fontset): Remove unused variable `i'.
2054
2055 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2056 to x_term_init.
2057 (lookup_image): Remove unused variable `file'.
2058 (xbm_load): Remove unused variables `bitmap_data', `height', and
2059 `width'. Remove function-local variable `i', leave the
2060 block-local one.
2061 (gif_load): Remove unused variable `inc'.
2062
52283633 2063 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2064 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2065 leave only the one in the inner block.
2066
2067 * xfaces.c (face_fontset, realize_default_face): Remove unused
2068 variable `fontset'.
2069 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2070
2071 * term.c (encode_terminal_code): Remove unused variable `c'.
2072
2073 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2074 char *' instead of `char *'.
2075
2076 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2077 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2078 (Fchar_category_set): Remove unused variables `val', `charset',
2079 `c1' and `c2'.
2080
52283633
SM
2081 * coding.c (detect_coding_iso2022, setup_coding_system):
2082 Remove unused variable `i'.
315f5865
EZ
2083 (detect_coding_mask): Remove unused variable `idx'.
2084 (detect_coding): Remove unused variable `i'.
2085 (ccl_coding_driver): Remove unused variable `result'.
2086 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2087 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2088 (encode_coding_string): Remove unused variables `gcpro1' and
2089 `saved_coding_symbol'.
2090 (Ffind_coding_systems_region_internal): Remove function-local
2091 variable args[], leave only the block-local one.
2092 (code_convert_region1): Remove unused variable `len'.
2093
2094 * charset.c (char_printable_p): Remove unused variable `chars'.
2095 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2096 (str_to_multibyte): Remove unused variable `c'.
2097
2098 * window.c (size_window): Remove block-local variable `min_size'.
2099
2100 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2101 `header_line_height'.
2102 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2103 enum display_element_type.
2104
1a8a9daf
GM
21052001-01-02 Gerd Moellmann <gerd@gnu.org>
2106
6dde6abc 2107 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2108 statements that call X. Save away the error message in a local copy.
2109
1883b2c6
GM
2110 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2111 the start.
2112
a13be207
GM
2113 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2114 in or at the start of invisible text.
2115
1a8a9daf
GM
2116 * dispnew.c (update_window): Don't check_current_matrix_flags.
2117
3608c0f9
JR
21182001-01-01 Jason Rumney <jasonr@gnu.org>
2119
2120 * w32fns.c (x_figure_window_size): Do not allow new_height and
2121 new_width of frame to override specified values.
2122
abb1acc4
KH
21232000-12-30 Kenichi Handa <handa@etl.go.jp>
2124
52283633 2125 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2126
762a68ec
GM
21272000-12-29 Gerd Moellmann <gerd@gnu.org>
2128
52283633 2129 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2130 (update_window) [GLYPH_DEBUG]: Call it.
2131 (scrolling_window): Prevent including current rows which are below
2132 what's displayed in the window.
2133
2134 * xdisp.c (try_window_reusing_current_matrix)
2135 <new start <= old start>: Disable rows in the current matrix
2136 which are below the window after scrolling.
52283633 2137
762a68ec
GM
2138 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2139 is zero. It's not worth the complexity.
2140 (invisible_text_between_p): Put in #if 0 because unused.
2141
2d5912c1
GM
21422000-12-28 Gerd Moellmann <gerd@gnu.org>
2143
46f6a258
GM
2144 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2145 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2146
89f93679
GM
2147 * keyboard.c (echo_char): If C is an integer, always call
2148 push_key_description. Former code could signal an invalid
2149 character error.
2150
2151 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2152 If set, print multibyte text.
2153 (Fsingle_key_description): Call push_key_description with
2154 FORCE_MULTIBYTE set.
2155 (describe_buffer_bindings): Likewise.
2156
2157 * lisp.h (push_key_description): Add prototype.
2158
c06017fb
GM
2159 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2160 around the call to redisplay_internal.
2161
f1d2ce7f
GM
2162 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2163
2d5912c1
GM
2164 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2165
9371f831
KH
21662000-12-28 Kenichi Handa <handa@etl.go.jp>
2167
2168 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2169 (ccl_driver): New local variable `extra_bytes'.
2170
2171 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2172
52283633
SM
2173 * coding.c (setup_coding_system):
2174 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2175 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2176
0c80628a
KH
21772000-12-28 Kenichi Handa <handa@etl.go.jp>
2178
2179 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2180 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2181 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2182 (decode_composition_emacs_mule): New function.
2183 (decode_coding_emacs_mule): Decode composition sequence by calling
2184 decode_composition_emacs_mule.
2185 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2186 (encode_coding_emacs_mule): Changed from macro to function.
2187 If a text contains compositions, encode them correctly.
0c80628a
KH
2188 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2189 that decoding and encoding are required.
2190
3e32cc27
GM
21912000-12-27 Gerd Moellmann <gerd@gnu.org>
2192
5e25feee
GM
2193 * xfaces.c (PT_PER_INCH): New macro.
2194 (xlfd_point_size): Compute real point size from font's pixel size.
2195 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2196 instead of 72.
2197
892d8fcd
GM
2198 * .gdbinit: Comment out the line pointing to the Lesstif source
2199 directory.
2200
12c8b416
GM
2201 * window.c (Frecenter): Use displayed_window_lines instead
2202 of window_internal_height.
2203
6061fbf0
GM
2204 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2205 instead of x-toolkit-scroll-bars-p.
2206 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2207
2208 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2209 instead of x-toolkit-scroll-bars-p.
2210 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2211
3e32cc27
GM
2212 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2213 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2214 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2215 New variables.
2216 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2217 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2218 (build_frame_matrix_from_leaf_window): Remove unused code.
2219 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2220 redisplay history.
2221 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2222 (update_window) [GLYPH_DEBUG]: Likewise.
2223 (syms_of_display): Defsubr dump-redisplay-history.
2224
31798cfe
GM
22252000-12-23 Gerd Moellmann <gerd@gnu.org>
2226
f717c2ba
GM
2227 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2228 the end of the prompt. Set echo_after_prompt to the offset
2229 of echoptr in echobuf.
2230
aeb2b8fc
GM
2231 * xdisp.c (init_from_display_pos): Pop until the iterator's
2232 stack is empty; there may be frames for stretch or images
2233 on the stack.
2234
31798cfe
GM
2235 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2236 (save_or_restore_current_matrix): New function for the same
2237 purpose, but more efficient.
2238 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2239
f8156156
EZ
22402000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2241
2242 * xdisp.c (syms_of_xdisp): Fix last change.
2243
bdd6d4e8
GM
22442000-12-23 Gerd Moellmann <gerd@gnu.org>
2245
2246 * xdisp.c (syms_of_xdisp): Doc fix.
2247
2248 * xdisp.c (redisplay_window): Remove label restore_buffers;
2249 use finish_scroll_bars instead to make sure that scroll bars
2250 are redeemed. If we don't do this, flickering can result from
2251 scroll bars being destroyed and recreated.
2252
9436cdf9
JR
22532000-12-22 Jason Rumney <jasonr@gnu.org>
2254
2255 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2256 in the wrong colors when the foreground is not black.
2257 (expose_window): Don't redraw the window that's currently being
2258 updated.
2259
951f9df5
GM
22602000-12-22 Gerd Moellmann <gerd@gnu.org>
2261
856ff7a7
GM
2262 * window.c (size_window): When setting the window's too_small_ok
2263 flag, compare old size with minimum size depending on WIDTH_P,
2264 don't compare with window_min_width.
52283633 2265
951f9df5
GM
2266 * window.c (delete_window): Simplify somewhat.
2267 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2268 freeing window matrices. The flag windows_or_buffers_changed is
2269 set, so the next redisplay will consider all windows; this should
2270 suffice.
2271
886bc933
KH
22722000-12-22 Kenichi Handa <handa@etl.go.jp>
2273
2274 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2275
2276 * ccl.h (struct ccl_program): New member cr_consumed.
2277
2278 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2279 (CCL_READ_CHAR): Handle EOL conversion here.
2280 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2281
177f4e88
GM
22822000-12-21 Gerd Moellmann <gerd@gnu.org>
2283
52283633 2284 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2285
2286 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2287 otherwise tabs of different size compare equal.
2288
2289 * callint.c (Fcall_interactively): Prevent a compiler warning.
2290
2291 * print.c (print_unwind): Return nil.
2292 (PRINTDECLARE): Initialize all local variables.
2293 (print_preprocess): Add a default case.
2294
8e15274f
GM
2295 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2296
2297 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2298
52283633 2299 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2300 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2301
2302 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2303
2304 * dispnew.c (ensure_frame_matrix): Removed.
2305 (save_frame_matrix, restore_frame_matrix): New functions.
2306 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2307
2308 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2309 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2310
99012074
AI
23112000-12-21 Andrew Innes <andrewi@gnu.org>
2312
2313 * w32term.c (x_update_begin): Regenerate the palette here, rather
2314 than for each window.
2315
2316 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2317 palette is NULL, since this corrupts memory! Also get
2318 display_info reference from frame.
2319
29ef7d2d
JR
23202000-12-21 Jason Rumney <jasonr@gnu.org>
2321
2322 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2323
2324 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2325 to avoid returning without releasing it.
3e27fa1f 2326
3f9d67a6
KH
23272000-12-21 Kenichi Handa <handa@etl.go.jp>
2328
587fc3f9
KH
2329 * keymap.c (push_key_description): Don't convert eight-bit-control
2330 and eight-bit-graphic to multibyte character.
2331
3f9d67a6
KH
2332 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2333 generic character and CODE1 is nil, return the smallest character
2334 in CHARSET.
2335
774ba8c9
DL
23362000-12-20 Dave Love <fx@gnu.org>
2337
2338 * s/osf5-0.h (NSIG): Don't redefine.
2339
88416888
SM
23402000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2341
2342 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2343 excluding menu-bar and tool-bar.
2344 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2345 (menu_item_p): Remove.
2346 (where_is_internal_1): Don't ignore menu-items.
2347
a6426c6f
GM
23482000-12-20 Gerd Moellmann <gerd@gnu.org>
2349
03ff8aab
GM
2350 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2351 into account.
2352
2353 * window.c (make_window): Initialize window's min_hscroll.
2354 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2355 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2356 to zero.
2357 (struct saved_window): New member min_hscroll.
2358 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2359 (Fset_window_configuration): Set window's min_hscroll.
2360 (save_window_save): Save window's min_hscroll.
2361 (compare_window_configurations): Compare min_hscroll values.
2362
2363 * window.h (struct window): New member min_hscroll.
2364
2365 * keyboard.c (echo_prompt): Prevent a compiler warning.
2366
8de4aaf8
GM
2367 * xdisp.c (try_cursor_movement): Fix last change. The real
2368 condition is that PT is at the end of the row, and should
2369 be displayed at the start of the next row.
52283633 2370
3f7e3031
GM
2371 * xdisp.c (try_cursor_movement): If we end on a partially
2372 visible line, end we already decided to scroll, return -1.
2373
a6426c6f
GM
2374 * dispextern.h (ensure_frame_matrix): Add prototype.
2375
2376 * window.c (delete_window, Fsplit_window)
2377 (Fset_window_configuration): Call ensure_frame_matrix.
2378
52283633
SM
2379 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2380 New functions.
a6426c6f
GM
2381 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2382 completed, call fake_current_matrices instead of marking frame
2383 garbaged.
2384
57fa2774
JR
23852000-12-20 Jason Rumney <jasonr@gnu.org>
2386
2387 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2388
d925df90
EZ
23892000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2390
2391 * fns.c (Frequire): Doc fix.
2392
7b93a85b
GM
23932000-12-19 Gerd Moellmann <gerd@gnu.org>
2394
52283633 2395 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2396
c74e645b
GM
2397 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2398 currently displaying a message.
2399
7b93a85b
GM
2400 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2401 xterm.h.
2402 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2403
90d97e64
AI
24042000-12-18 Andrew Innes <andrewi@gnu.org>
2405
2406 * w32.c (w32_strerror): New function.
2407
2408 * w32.h (w32_strerror): New extern.
2409
2410 * w32fns.c (Fw32_shell_execute): Use it.
2411
91c9e6ce
GM
24122000-12-18 Gerd Moellmann <gerd@gnu.org>
2413
2414 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2415
6f4745e2
EZ
24162000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2417
2418 * msdos.c (IT_set_face): Obey inverse_video.
2419
c9e088ce
KH
24202000-12-18 Kenichi Handa <handa@etl.go.jp>
2421
2422 * dired.c (directory_files_internal): Always return decoded filenames.
2423
c3695f5f
GM
24242000-12-18 Gerd Moellmann <gerd@gnu.org>
2425
52d8e4ff
GM
2426 * xterm.c (x_connection_closed): Prevent being called recursively
2427 because of an error condition in XtCloseDisplay.
52283633 2428
62be9979
GM
2429 * xdisp.c (init_iterator): If noninteractive, and the frame's
2430 face cache is null, make one.
2431
52283633 2432 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2433
c3695f5f
GM
2434 * process.c (wait_reading_process_input): Check for pending
2435 input when running timers.
2436
78555fbe
EZ
24372000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2438
52283633 2439 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2440
b2b36264
KH
24412000-12-18 Kenichi Handa <handa@etl.go.jp>
2442
2443 * process.c (read_process_output): Don't run a filter if the code
2444 decoder produces nothing but carryover.
2445
9c543fbf
AI
24462000-12-17 Andrew Innes <andrewi@gnu.org>
2447
2448 * w32.c (sys_rename): Only check errno against EEXIST, and not
2449 EACCES, when determining whether rename failed because the target
2450 exists. This was resulting in indefinite looping on Windows 9x if
2451 the source file was locked by another process.
2452
2453 * w32fns.c (Ffile_system_info): New function.
2454 (syms_of_w32fns): Defsubr it.
2455
10c2b5a8
GM
24562000-12-17 Gerd Moellmann <gerd@gnu.org>
2457
b0228ace
GM
2458 * window.c (coordinates_in_window): Fix computation for
2459 position on vertical line between mode lines.
2460
10c2b5a8
GM
2461 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2462 Don't alter tip_frame or tip_window.
2463 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2464 was deleted.
2465
c844a81a
GM
2466 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2467 Don't alter tip_frame or tip_window.
2468 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2469 was deleted.
2470
6c825f8e
EZ
24712000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2472
2473 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2474 be consistent with the doc string. Reported by NAKAJIMA Mikio
2475 <minakaji@osaka.email.ne.jp>.
2476
af4bb4c8
KH
24772000-12-16 Kenichi Handa <handa@etl.go.jp>
2478
2479 * xfaces.c (Vface_ignored_fonts): New variable.
2480 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2481 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2482
8062e53a
GM
24832000-12-15 Gerd Moellmann <gerd@gnu.org>
2484
e87b8809
GM
2485 * dispnew.c (update_window): Detect pending input every nth line
2486 updated, i.e. do it depending on real work done, and not on the
2487 vpos of the line.
2488
2489 * xterm.c (expose_window): Don't redraw the window that's
2490 currently being updated.
2491
a6768cc5
GM
2492 * window.c (Fset_window_point): Remove test for
2493 cursor_in_non_selected_windows.
2494
4ea7fdca
GM
2495 * lread.c (read1): Recognize end of file after `\\'.
2496
8062e53a
GM
2497 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2498 not unwind_create_frame.
2499
bb7959c1
GM
25002000-12-15 Dave Love <fx@gnu.org>
2501
2502 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2503 bcopy & al.
2504
2505 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2506
ced04c42
KH
25072000-12-15 Kenichi Handa <handa@etl.go.jp>
2508
c5443913
KH
2509 * coding.c (setup_coding_system): Clear all members of the struct
2510 coding_system at first.
bc137305
KH
2511 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2512 argument.
2513 (code_convert_region): Don't override coding->src_multibyte and
2514 coding->dst_multibyte.
c5443913 2515
ced04c42
KH
2516 * fns.c (Fmd5): Docstring improved.
2517
c2d7f289
MB
25182000-12-15 Miles Bader <miles@gnu.org>
2519
2520 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2521 are actually marked as mode-lines; otherwise use
2522 estimate_mode_line_height.
2523
9d7d9263
GM
25242000-12-14 Gerd Moellmann <gerd@gnu.org>
2525
2526 * editfns.c (Fformat): Prevent a buffer overrun when the format
2527 specifies a precision.
2528
7cf0153a
EZ
25292000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2530
2531 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2532 argument is outside the range [2..3].
2533
1de0f662
AI
25342000-12-14 Andrew Innes <andrewi@gnu.org>
2535
2536 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2537 nothing to do. Bind inhibit-quit.
2538 (tip_frame): Make it a Lisp_Object.
2539 (x_create_tip_frame): Set tip_frame after it has been added to
2540 Vframe_list.
2541 (Fx_show_tip): Don't set tip_frame here.
52283633 2542 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2543 (unwind_create_frame, unwind_create_tip_frame): New functions.
2544 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2545 while a frame is only partially constructed.
2546
2547 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2548 (x_free_frame_resources): New function.
2549 (x_destroy_window): Use it.
2550
02387dcc
GM
25512000-12-14 Gerd Moellmann <gerd@gnu.org>
2552
2553 * xfns.c (Fx_backspace_delete_keys_p): New function.
2554 (syms_of_xfns): Defsubr it.
2555
2556 * config.in (HAVE_XKBGETKEYBOARD): Add.
2557
0544ef49
KH
25582000-12-14 Kenichi Handa <handa@etl.go.jp>
2559
98d62747
KH
2560 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2561 Always store string in multibyte representation in echobuf.
2562 (echo_char): Always store string in multibyte representation in
2563 echobuf.
2564 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2565 (read_key_sequence): Adjusted for the change of echo_prompt.
2566
a20193cd
KH
2567 * fns.c (Fmd5): Docstring improved.
2568
191b83b6
KH
2569 * lisp.h (detect_coding_system): Prototype adjusted.
2570
0544ef49
KH
2571 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2572 (detect_coding_emacs_mule, detect_coding_iso2022,)
2573 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2574 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2575 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2576 (detect_coding_mask, detect_coding_system): New argument
2577 MULTIBYTEP. Callers changed.
1da1bb05
KH
2578 (decode_coding_string): Set coding->src_multibyte and
2579 coding->dst_multibyte before calling detect_coding and detect_eol.
2580 Update them after some coding system is detected.
52283633 2581
d5b3eb1b
SM
25822000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2583
2584 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2585
2586 * keyboard.c (menu_bar_items, tool_bar_items):
2587 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2588
f7f8bb69
GM
25892000-12-13 Gerd Moellmann <gerd@gnu.org>
2590
52283633 2591 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2592 New variables.
2593 (unwind_create_frame, unwind_create_tip_frame): New functions.
2594 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2595 while a frame is only partially constructed.
2596
2597 * xterm.h (x_free_frame_resources): Declare.
2598
2599 * xterm.c (x_free_frame_resources): New function.
2600 (x_destroy_window): Use it.
2601
e10da507
GM
2602 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2603 don't interrupt the update for pending input initially, i.e.
2604 update at least some lines.
2605
2606 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2607
d5b3eb1b 2608 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2609
2610 * xfns.c (gray_bitmap_bits): Declare `char *'.
2611
90aa2856
GM
26122000-12-12 Gerd Moellmann <gerd@gnu.org>
2613
2614 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2615 lines start with a relief line.
2616
a308c9cd
DL
26172000-12-12 Dave Love <fx@gnu.org>
2618
2619 * window.c (Fdisplay_buffer): Doc fix.
2620 (Fwindow_list): Remove unused var.
2621
2622 * buffer.h (mmap_set_vars): Declare.
2623
2624 * window.h (Fset_window_point): Declare.
2625
d575011f
EZ
26262000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2627
bf6282d2 2628 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2629 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2630 variable `area'. When looking for a row under (X,Y), give up if some
2631 of the previous rows is not enabled.
d575011f 2632
ecf4d726
GM
26332000-12-12 Gerd Moellmann <gerd@gnu.org>
2634
2ebf6139
GM
2635 * window.c (Fset_window_point): If displaying cursors in windows
2636 other than the selected window, make sure redisplay updates
2637 other windows to show the new value of point in the window.
2638
2639 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2640
bfdb75ee
GM
2641 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2642 the buffer is the sole visible buffer when in the mini-buffer.
2643
52283633 2644 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2645 Bind `inhibit-read-only' to t.
2646 (unwind_with_echo_area_buffer): Use AREF.
2647
c0006262
GM
2648 * xfns.c (Fx_hide_tip): Simplified.
2649
52283633
SM
2650 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2651 instead of `1'.
e9a59cad 2652
ecf4d726
GM
2653 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2654
e5959a9a
GM
26552000-12-11 Gerd Moellmann <gerd@gnu.org>
2656
a3642e49 2657 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2658
44b5a125
GM
2659 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2660 nothing to do. Bind inhibit-quit.
2661 (tip_frame): Make it a Lisp_Object.
2662 (x_create_tip_frame): Set tip_frame after it has been added to
2663 Vframe_list.
2664 (Fx_show_tip): Don't set tip_frame here.
2665
2666 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2667
2668 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2669 Lisp_Object.
2670
2671 * dispextern.h: Change external declaration of tip_frame.
2672
d990421f
GM
2673 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2674 return an empty string.
2675
4db87380
GM
2676 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2677 of the window's update_mode_line flag, since the former is set by
2678 force-mode-line-update, not the latter. This makes
2679 column-number-mode slightly faster.
52283633 2680
e5959a9a
GM
2681 * xdisp.c (try_window_id) <all changes above window start>:
2682 Set the cursor.
2683
169fe44e
GM
26842000-12-11 Paul Eggert <eggert@twinsun.com>
2685
2686 * config.in (HAVE_FTELLO): Remove.
2687 (HAVE_FSEEKO): Add.
2688 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2689 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2690 HAVE_FTELLO.
2691 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2692 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2693
59ec59ae
MB
26942000-12-11 Miles Bader <miles@gnu.org>
2695
2696 * window.c (displayed_window_lines): Don't round up when
2697 converting empty space at bottom to lines.
ff904dd6
MB
2698 Handle non-newline-terminated final lines properly.
2699 (Fwindow_text_height): New function (used to be in lisp).
2700 (syms_of_window): Initialize it.
59ec59ae 2701
42ebfa31
SM
27022000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2703
2704 * syntax.c (scan_lists): Check that the right quote char has the
2705 right Sstring syntax when jumping over strings.
2706 (init_syntax_once): Use Smax rather than 13.
2707
5cdb3cf3
MB
27082000-12-09 Miles Bader <miles@gnu.org>
2709
2710 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2711 with PARTIALLY, inverting the sense.
2712 (window_scroll_pixel_based): Scroll partially visible lines into
2713 place if we hit the beginning or end of the buffer.
a12167c5
MB
2714 (displayed_window_lines): Don't include partially visible lines.
2715 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2716
842b2a94
GM
27172000-12-08 Gerd Moellmann <gerd@gnu.org>
2718
2719 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2720
2721 * tparam.c (tparam1): Change the way buffers are reallocated to be
2722 portable and less obfuscated.
2723
2724 * termcap.c (tgetent): Change the way buffers are reallocated to
2725 be portable and less obfuscated.
2726
2727 * macros.c (store_kbd_macro_char): Change the way buffers are
2728 reallocated to be portable and less obfuscated.
2729
2730 * lread.c (read1): Change the way buffers are reallocated to be
2731 portable and less obfuscated.
2732
2733 * doc.c (Fsubstitute_command_keys): Change the way buffers
2734 are reallocated so that it is portable.
2735
137cad7c
EZ
27362000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2737
2738 * dosfns.c (Ffile_system_info): New function.
2739 (syms_of_dosfns): Defsubr it.
2740
5c7f629c
SM
27412000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2742
2743 * alloc.c (gc_sweep): Add comment.
2744
959e647d
GM
27452000-12-07 Gerd Moellmann <gerd@gnu.org>
2746
52283633
SM
2747 * sound.c (vox_configure): Change order of ioctls.
2748 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2749 Ignore errors when changing volume.
2750 (vox_close): Don't reset the device.
2751
926b7e5e
GM
2752 * process.c (read_process_output): Make sure the process marker's
2753 position is valid when the process buffer is changed in
2754 after-change functions. W3 does that.
52283633 2755
959e647d
GM
2756 * xfns.c (x_free_gcs): New function.
2757
2758 * xterm.h (x_free_gcs): Add prototype.
2759
2760 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2761 freeing GCs here.
2762
2763 * xterm.c (x_destroy_window): Call x_free_gcs so that
2764 resources of non-toolkit X windows will be freed.
2765
478ea067
AI
27662000-12-07 Andrew Innes <andrewi@gnu.org>
2767
2768 * w32fns.c (xlfd_charset_of_font): Fix last change.
2769
fbee3231
DL
27702000-12-06 Dave Love <fx@gnu.org>
2771
67292061
DL
2772 * md5.h (__P): Don't define -- it comes from config.h.
2773
fbee3231
DL
2774 * strftime.c: Change some #if foo to #ifdef foo.
2775
4ee87dbb
AI
27762000-12-06 Andrew Innes <andrewi@gnu.org>
2777
2778 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2779
52283633 2780 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2781 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2782 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2783
9765b4a4
GM
27842000-12-06 Gerd Moellmann <gerd@gnu.org>
2785
d285b373
GM
2786 * alloc.c (gc_sweep): Prevent symbols read during loadup
2787 from being freed.
2788
384333ee
GM
2789 * xdisp.c (underlying_face_id): New function.
2790 (handle_face_prop, face_before_or_after_it_pos): Use it
2791 to determine the face ``under'' a string. Let strings inherit
2792 the face of the buffer under them.
2793
2794 * xfaces.c (face_at_string_position): Update function comment.
52283633 2795
d4b72d58
GM
2796 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2797 matrix if the window's left position has changed; we need to
2798 redraw it in this case.
2799
2800 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2801
e1d05387
GM
2802 * window.c (coordinates_in_window): Check mouse on mode-line or
2803 header-line first.
2804
eb1b0c74
GM
2805 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2806 advertized by the function documentation.
2807
d94d636f
GM
2808 * window.c (syms_of_window): Doc fix.
2809
3887b449
GM
2810 * sound.c (vox_configure): Set volume for left and right channel.
2811 (sound_cleanup): Return nil.
2812
efc8f57a
GM
2813 * xdisp.c (move_it_by_lines): Fix paren typo.
2814
9765b4a4
GM
2815 * xterm.c (x_load_font): Don't use the font's max_bounds for
2816 computing the height of the font. If max_bounds' ascent or
2817 descent are greater than the font's ascent or descent, this means
2818 glyphs overlap, which should be handled now by redisplay.
2819
6529ed87
GM
2820 * window.c (Veven_window_heights): New variable.
2821 (syms_of_window): DEFVAR_LISP it.
2822 (Fdisplay_buffer): Check Veven_window_heights before evening the
2823 window heights.
52283633 2824
0eb2ecde
MB
28252000-12-06 Miles Bader <miles@gnu.org>
2826
2827 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2828 update `default-frame-alist' instead of setting no frame parameters.
2829
03d7a167
KH
28302000-12-06 Kenichi Handa <handa@etl.go.jp>
2831
2832 * composite.c (update_compositions): Fix typo (use the correct
2833 variable).
2834
5f8803c2
JR
28352000-12-05 Jason Rumney <jasonr@gnu.org>
2836
2837 * md5.h: Remove underscores from function declarations.
2838 (__attribute__, __alignof__) [!__GNUC__]: Define.
2839
2840 * md5.c: Delay include of md5.h until after namespace cleaning.
2841
c28a075b
JR
2842 * makefile.w32-in (fns.o): Depend on md5.h
2843 (md5.o): New target.
2844 (sunfns.o): Remove.
2845
2846 * makefile.nt: Likewise.
2847
ff3c7056
JR
28482000-12-05 Jason Rumney <jasonr@altavista.net>
2849
2850 * w32term.c (expose_area): Complete last change.
2851
0c21eeeb
KR
28522000-12-05 Ken Raeburn <raeburn@gnu.org>
2853
2854 * minibuf.c: Include intervals.h.
2855
f201d732
JR
28562000-12-05 Jason Rumney <jasonr@gnu.org>
2857
2858 * w32term.c (x_produce_glyphs): If a font for a component of
2859 a composition is not found, use 1 pixel dot ascent and 0 dot
2860 descent value to avoid displaying terribly tall empty boxes.
2861 (expose_area): Pass x-coordinate relative to the exposed
2862 area to x_draw_glyphs instead of a window-relative coordinate.
2863
21999ab9
GM
28642000-12-05 Gerd Moellmann <gerd@gnu.org>
2865
4d2036e4
GM
2866 * xdisp.c (next_element_from_ellipsis): Save face before selective
2867 display in saved_face_id, and set face_before_selective_p.
2868 (reseat_1): Reset face_before_selective_p.
2869 (append_space, extend_face_to_end_of_line): If iterator's
2870 face_before_selective_p is set, use the face from saved_face_id.
2871 (extend_face_to_end_of_line): For tty frames, make sure to
2872 use the right face id when producing spaces at the end of
2873 the line.
2874
2875 * dispextern.h (struct it): Add face_before_selective_p.
2876
52be17cc
GM
2877 * keyboard.c (record_char): Don't record identical help-echo
2878 events in recent_keys.
2879
8a4f36cc
GM
2880 * xterm.c [USE_X_TOOLKIT]: Close the display.
2881 (xim_close_dpy): Handle case that the display has been closed.
2882
57d6e381
GM
2883 * xterm.c (x_destroy_window): Reset the frame's X window after
2884 destroying it.
2885
21999ab9
GM
2886 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2887 variable window_width.
2888 (line_draw_cost): Fix code skipping over spaces at the end of the
2889 line when must_write_spaces is not set.
2890 (scrolling_window): Fix code inserting runs in list of all runs.
2891
91372bb7
KH
28922000-12-05 Kenichi Handa <handa@etl.go.jp>
2893
2894 * coding.c (setup_coding_system): Be sure to initialize
2895 coding->category_idx.
2896
6c083b4c
GM
28972000-12-04 Gerd Moellmann <gerd@gnu.org>
2898
0c68ce6f 2899 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2900
6452929e
GM
2901 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2902 area to x_draw_glyphs instead of a window-relative coordinate.
2903
d7f31e22
GM
2904 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2905 error in the message.
2906
ae18aa3b
GM
2907 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2908 timer after having read a key. It's not good for code reading
2909 several keys in a loop, like an input method.
2910
caa15ef7
GM
2911 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2912 record undo information for format-decode.
2913
2914 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2915 current buffer is read-only, not if it isn't.
2916
6c083b4c
GM
2917 * keyboard.c (record_char): Record `help-echo' input events
2918 in recent_keys only if they display some help. Don't record
2919 `help-echo' events as macro char.
2920
caa15ef7
GM
29212000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2922
2923 * editfns.c (save_excursion_restore): Don't move point
2924 in another window if it is showing the wrong buffer.
2925 Avoid the call to Fwindow_live_p, for speed.
2926
5a13529b
KH
29272000-12-04 Kenichi Handa <handa@etl.go.jp>
2928
e225faa7
KH
2929 * xfaces.c (struct font_name): New member registry_priority.
2930 (split_font_name): Initialize the above member to zero.
2931 (concat_font_list): New function.
2932 (font_list): Include fonts of all alternative registries.
2933 (FONT_POINT_SIZE_QUANTUM): New macro.
2934 (better_font_p): Ignore point size difference less than
2935 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2936
e89648b4
KH
2937 * xterm.c (x_produce_glyphs): If a font for a component of
2938 a composition is not found, use 1 pixel dot ascent and 0 dot
2939 descent value to avoid displaying terribly tall empty boxes.
2940
5a13529b
KH
2941 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2942
d7935eb6
KR
29432000-12-03 Ken Raeburn <raeburn@gnu.org>
2944
2945 * coding.h (code_convert_string1): Declare.
2946
2947 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2948
52283633 2949 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 2950
0dd5e255
JR
29512000-12-02 Jason Rumney <jasonr@gnu.org>
2952
2953 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2954 correctly for single byte character case.
2955 (w32_per_char_metric): Do not try to make any assumptions about
2956 the metrics of BDF fonts.
250cfece 2957 (x_estimate_mode_line_height): If `mode-line' face
52283633 2958 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
2959 (note_mouse_highlight): Change the cursor shape on the vertical
2960 border between windows [not enabled].
2961
2962 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2963
2964 * w32fns.c (Fx_create_frame): Reintroduce the call to
2965 face-set-after-frame-defaults.
2966 (Vx_window_horizontal_drag_shape): New variable.
2967 (syms_of_xfns): DEFVAR_LISP it.
2968 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2969 enabled].
0dd5e255 2970
b5d8d2ca
GM
29712000-12-02 Simon Josefsson <simon@josefsson.org>
2972
2973 * fns.c (Fmd5): Use a different logic to decide the coding system
2974 to use.
2975
2976 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2977
fbb87147
EZ
29782000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2979
52283633 2980 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 2981
447e9da0
GM
29822000-12-01 Gerd Moellmann <gerd@gnu.org>
2983
7708ced0
GM
2984 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2985 height for YNegative.
2986 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2987 height; also see comment there.
2988
447e9da0
GM
2989 * window.c (coordinates_in_window): Handle computations for
2990 positions on the vertical bar and fringes differently for
2991 window-system frames. Consider some pixels near the vertical bar
2992 as on the bar if the frame doesn't have vertical scroll bars.
2993 Associate positions between mode or header lines with the
2994 right window, the left one.
2995
86d1db20
JR
29962000-12-01 Jason Rumney <jasonr@gnu.org>
2997
2998 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2999
3000 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
3001 invalid frame.
3002
a1d58e5b
GM
30032000-12-01 Gerd Moellmann <gerd@gnu.org>
3004
52283633 3005 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
3006 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
3007 (save_window_save, Fset_window_configuration): Save/restore
3008 window's orig_top and orig_height.
3009
89c609af
JR
30102000-12-01 Jason Rumney <jasonr@gnu.org>
3011
4d177746 3012 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 3013
89c609af
JR
3014 * w32fns.c (x_set_cursor_color): Fix last change.
3015
eccc05db
GM
30162000-11-30 Gerd Moellmann <gerd@gnu.org>
3017
31b6671b
GM
3018 * xdisp.c (echo_area_display): If cursor is in the echo area, make
3019 sure that the next redisplay displays the minibuffer, so that
3020 the cursor will be replaced with what the minibuffer wants.
3021
eccc05db
GM
3022 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
3023 #ifndef instead of using #if.
3024 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
3025 USE_TOOLKIT_SCROLL_BARS is defined.
3026
162de750
JR
30272000-11-30 Jason Rumney <jasonr@gnu.org>
3028
3029 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
3030 x_display_cursor.
3031
693c4692
GM
30322000-11-30 Gerd Moellmann <gerd@gnu.org>
3033
3034 * fns.c (Fmd5): Doc fix.
3035
b5d8d2ca 30362000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3037
3038 * fns.c (Fmd5): New function.
3039 (syms_of_fns): Defsubr md5.
3040
3041 * Makefile.in (obj): Add md5.o
3042
b02cd40b
GM
30432000-11-30 Gerd Moellmann <gerd@gnu.org>
3044
edfb795e
GM
3045 * md5.h, md5.c: New files, taken from glibc.
3046
df3aedcf
GM
3047 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3048
b02cd40b 3049 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3050 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3051
8b5176cd
SM
30522000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3053
3054 * eval.c (Frun_hooks): Allow 0 arguments.
3055
346598f1
GM
30562000-11-29 Gerd Moellmann <gerd@gnu.org>
3057
f9396e03
GM
3058 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3059 is over the menu bar widget, say it's not on the frame.
3060
4a967a9b
GM
3061 * xfns.c (Fx_create_frame): Reintroduce the call to
3062 face-set-after-frame-defaults.
3063
346598f1
GM
3064 * eval.c (Fsignal): Reset handling_signal.
3065
222456a1
JR
30662000-11-28 Jason Rumney <jasonr@gnu.org>
3067
3068 * w32menu.c (add_menu_item): Reset menu item text when changing
3069 type to radio button.
3070
8049ddc0
GM
30712000-11-28 Gerd Moellmann <gerd@gnu.org>
3072
346598f1 3073 * xselect.c: Update copyright.
f4f4ee4d 3074
bebe4a2c
GM
3075 * window.c (coordinates_in_window): If on a mode or header line,
3076 but sufficiently close to its start, return ``on vertical
3077 border''. This gives us a way to drag windows horizontally when
3078 using toolkit scroll bars.
3079
3080 * xterm.c (note_mouse_highlight): Change the cursor shape
3081 on the vertical border between windows.
3082
3083 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3084
3085 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3086 (syms_of_xfns): DEFVAR_LISP it.
3087 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3088
8d2c2642
GM
3089 * textprop.c (text_read_only): New function.
3090 (verify_interval_modification): Use it instead of signaling
3091 `text-read-only'. This makes it easier to catch this error
52283633 3092 with a breakpoint.:
8d2c2642 3093
52283633 3094 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3095 not end of line, which includes CR.
3096
5a2bae6c
KH
30972000-11-28 Kenichi Handa <handa@etl.go.jp>
3098
3099 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3100 include no-conversion.
3101
ae31f84d
JR
31022000-11-27 Jason Rumney <jasonr@gnu.org>
3103
3104 * w32fns.c (w32_load_system_font): Always mark font as double byte
3105 if codepage is unicode.
3106
67f1cf4c
GM
31072000-11-27 Gerd Moellmann <gerd@gnu.org>
3108
4a74d071 3109 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3110 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3111
902ae620
GM
3112 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3113 `vertical-line', `mode-line' and `header-line' events.
3114
3115 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3116 of a character, a TAB for instance. This is easier than to set
3117 up the iterator exactly, and it's not a frequent case, so the
3118 additional effort wouldn't really pay off.
3119
c1e279c2
AC
31202000-11-26 Andrew Choi <akochoi@i-cable.com>
3121
67f1cf4c 3122 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3123 init_window_once.
3124
a609568a
JR
31252000-11-25 Jason Rumney <jasonr@gnu.org>
3126
52283633
SM
3127 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3128 Args to window_from_coordinates should be pixel coordinates.
48b21762 3129
a609568a
JR
3130 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3131 redisplay handles them properly.
3132
a658d039
MB
31332000-11-25 Miles Bader <miles@gnu.org>
3134
3135 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3136
d3416cca
JR
31372000-11-24 Jason Rumney <jasonr@gnu.org>
3138
3139 * w32.c (init_environment): Set LANG environment variable based on
3140 locale settings, if not set.
3141
3142 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3143 making tool bar smaller. When clearing the frame, also
3144 clear current matrices. Clear frame when tool bar disappears.
3145 Don't use more lines for the tool-bar than is available.
3146 (x_change_window_heights): New function.
3147
ba193890
GM
31482000-11-24 Gerd Moellmann <gerd@gnu.org>
3149
2be8f184
GM
3150 * xdisp.c (init_from_display_pos): If POS says we're already after
3151 an overlay string ending at POS, make sure to pop the iterator
3152 because it will be in front of that overlay string. When POS is
3153 ZV, we've thereby also ``processed'' overlay strings at ZV.
3154
ba193890
GM
3155 * xfaces.c (lface_from_face_name): Function comment fix.
3156
1862a24e
MB
31572000-11-24 Miles Bader <miles@gnu.org>
3158
3159 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3160 apply `mode-line-inverse-video' -- zero means force display using
3161 the default face, non-zero means display using the specialized face.
3162 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3163
f07fa1b8
KH
31642000-11-23 Kenichi Handa <handa@etl.go.jp>
3165
3166 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3167 hard coded `4'.
3168
2bcdf662
EZ
31692000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3170
3171 * coding.c (decode_coding_emacs_mule): Fix the case of
3172 CODING_EOL_LF, which used uninitialized value of c.
3173
ba8299ff
SM
31742000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3175
3176 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3177
f4117c4d
GM
31782000-11-22 Gerd Moellmann <gerd@gnu.org>
3179
03e757c1
GM
3180 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3181 buffer object.
3182
f4117c4d
GM
3183 * frame.h (struct frame): Replace desired_tool_bar_items,
3184 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3185 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3186
3187 * frame.c (make_frame): Change initialization of tool bar
3188 items accordingly.
3189
3190 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3191 Change references to members deleted from struct frame to use the
f4117c4d
GM
3192 new ones.
3193
3194 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3195 references to members deleted from struct frame to use the new ones.
f4117c4d 3196
52283633 3197 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3198
3199 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3200
3201 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3202 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3203 from struct frame to use the new ones.
3204
f8e2f3f2
MB
32052000-11-23 Miles Bader <miles@gnu.org>
3206
3207 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3208 the face's inverse-video attribute, rather than overriding it.
3209
60e8e0a5
GM
32102000-11-22 Gerd Moellmann <gerd@gnu.org>
3211
3212 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3213 making tool bar smaller.
3214
92dd1b29
DL
32152000-11-22 Dave Love <fx@gnu.org>
3216
3217 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3218
e672fdce
MB
32192000-11-22 Miles Bader <miles@gnu.org>
3220
3a17d6cc
MB
3221 * keyboard.c (Vminibuffer_message_timeout): New variable.
3222 (command_loop_1): Use it to determine message timeout.
3223 (syms_of_keyboard): Initialize it.
3224
60e8e0a5 3225 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3226
e9655d81
KH
32272000-11-22 Kenichi Handa <handa@etl.go.jp>
3228
3229 * sysdep.c: Move the code for declaring h_errno after #include
3230 <netdb.h>.
3231
77270fac
GM
32322000-11-21 Gerd Moellmann <gerd@gnu.org>
3233
cd913aae
GM
3234 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3235 the menu bar when the tooltip is unmapped.
3236
77270fac
GM
3237 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3238 sole visible buffer when we're currently in the mini-buffer, and
3239 give up if so.
52283633 3240
556635d6
JR
32412000-11-21 Jason Rumney <jasonr@gnu.org>
3242
3243 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3244 put on the clipboard.
3245 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3246 copy of what Emacs last put there. If they are the same, do not
52283633 3247 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3248
5b7bde64
MB
32492000-11-22 Miles Bader <miles@gnu.org>
3250
3251 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3252 (syms_of_minibuf): Initialize it.
3253 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3254 to prompt, don't make read-only.
3255
ff23e1dd
GM
32562000-11-21 Gerd Moellmann <gerd@gnu.org>
3257
52283633
SM
3258 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3259 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3260
7aaf4388
GM
3261 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3262
f5f47add 3263 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3264
ff23e1dd
GM
3265 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3266
37c35586
KH
32672000-11-21 Kenichi Handa <handa@etl.go.jp>
3268
3269 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3270 ... #endif scope.
3271
ff9ab414
GM
32722000-11-20 Gerd Moellmann <gerd@gnu.org>
3273
52283633 3274 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3275 screen supports it.
3276
29a01b72
GM
3277 * s/gnu-linux.h: Don't use `#cpu'.
3278
09dfdf85
GM
3279 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3280 not defined in mman.h.
3281
52283633 3282 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3283 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3284 and store an index in the XClientMessageEvent. Storing a
3285 Lisp_Object or pointer can fail on a 64 bit system, since X only
3286 transfers 32 bits.
52283633
SM
3287 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3288
81459ac9
DL
32892000-11-20 Dave Love <fx@gnu.org>
3290
3291 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3292
56c13ae6
GM
32932000-11-20 Gerd Moellmann <gerd@gnu.org>
3294
3295 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3296
495a6df3
KH
32972000-11-20 Kenichi Handa <handa@etl.go.jp>
3298
2bcf3714
KH
3299 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3300 by WIDTH.
3301
495a6df3
KH
3302 * alloc.c (make_string): Fix previous change. Be sure to make
3303 unibyte string correctly.
3304
6d950f4c
GM
33052000-11-19 Gerd Moellmann <gerd@gnu.org>
3306
39b39373
GM
3307 * window.c (Fwindow_list): Change parameter list to be XEmacs
3308 compatible.
3309 (window_list_1): New function.
3310 (window_loop): Use it instead of Fwindow_list.
3311
b95b34e5
GM
3312 * sysdep.c (emacs_ospeed): New variable.
3313 (toplevel): Don't declare ospeed extern.
3314 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3315
3316 * termcap.c (ospeed): Remove.
3317 (tputs) [!emacs]: Remove unused code.
3318 (tgetent): Avoid a compiler warning.
3319
e83dc917
GM
3320 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3321 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3322 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3323
3324 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3325 removed.
3326 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3327 Take the X display as additional argument.
3328 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3329 `Widget' is a pointer type that's not easily stored in Lisp_Object
3330 form in a portable way.
52283633 3331
6d950f4c
GM
3332 * dispnew.c (update_text_area): Fix last change.
3333
e47306e6
GM
33342000-11-18 Gerd Moellmann <gerd@gnu.org>
3335
fb3cd89b
GM
3336 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3337
3338 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3339 clear current matrices.
3340
edaa9aed
GM
3341 * buffer.c (mmap_enlarge): Don't print a message on stderr
3342 if mapping new memory at the end of the existing region fails.
3343
e47306e6
GM
3344 * dispnew.c (update_text_area): Don't skip over equal glyphs
3345 when the last current glyph overlaps the glyph to its right.
3346
509633e3
MB
33472000-11-18 Miles Bader <miles@gnu.org>
3348
3349 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3350 lines that *end* with "..." too (that's the most common case!).
3351
d392e9c5
GM
33522000-11-18 Gerd Moellmann <gerd@gnu.org>
3353
67988445
GM
3354 * xdisp.c (resize_mini_window): Temporarily change to the
3355 mini-window's buffer if necessary.
1bfdbe43 3356
d392e9c5
GM
3357 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3358 the tooltip obscures less text under it.
3359
33602000-11-17 Gerd Moellmann <gerd@gnu.org>
3361
3362 * puresize.h (BASE_PURESIZE): Increase to 700000.
3363
92bb977f
JR
33642000-11-18 Jason Rumney <jasonr@gnu.org>
3365
3366 * w32term.c (w32_draw_bitmap): Use face to set colors.
3367
26fbf20b
DL
33682000-11-17 Dave Love <fx@gnu.org>
3369
3370 * lread.c (Fload): Fix #ifdef for pcc.
3371
100b593b
GM
33722000-11-17 Gerd Moellmann <gerd@gnu.org>
3373
3374 * xdisp.c (pos_visible_p): Compute the default character height
3375 differently.
3376
a288d0d1
GM
33772000-11-16 Gerd Moellmann <gerd@gnu.org>
3378
cac94de6 3379 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3380 knowing the line's height; use the default font's height in that case.
cac94de6 3381
a288d0d1
GM
3382 * xfaces.c (weight_table): Add `demi' with the same meaning as
3383 `demibold'.
3384
981fb6f6
KH
33852000-11-16 Kenichi Handa <handa@etl.go.jp>
3386
2cca872d 3387 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3388 (clear_glyph_row): Delete local static variable null_row.
3389
e5fa381b
JR
33902000-11-15 Jason Rumney <jasonr@gnu.org>
3391
3392 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3393 (w32_alloc_lighter_color): Use new brightness calculations from
3394 xterm.c. Scale delta to be in the range expected by W32.
3395 (w32_draw_relief_rect): Use frame relief colors.
3396
8e42f043
GM
33972000-11-15 Gerd Moellmann <gerd@gnu.org>
3398
6d133d1f
GM
3399 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3400 (Qinhibit_default_face_x_resources): New variable.
3401 (syms_of_frame): Initialize it.
3402 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3403
3404 * xdisp.c (pos_visible_p): Improve function comment.
3405
3406 * lisp.h (BINDING_STACK_SIZE): New macro.
3407
8e42f043
GM
3408 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3409 reading the directory if readdir returns null and errno is EAGAIN
3410 or EINTR.
3411
e8c87124
SM
34122000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3413
3414 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3415 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3416 Set amount_to_scroll to max of dx and scroll_step so that
3417 scroll-conservatively doesn't defeat scroll-step>1.
3418 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3419 scroll-conservatively for line-at-a-time scrolling.
3420
5f0c971d
GM
34212000-11-14 Gerd Moellmann <gerd@gnu.org>
3422
3423 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3424 extra argument.
3425
3426 * xdisp.c (current_mode_line_height, current_header_line_height):
3427 New variables.
3428 (init_xdisp): Initialize them.
3429 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3430 and use exact mode line heights if it is set.
3431
3432 * lisp.h (pos_visible_p): Change prototype.
3433
3434 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3435 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3436 and current_header_line_height first.
52283633
SM
3437 (current_mode_line_height, current_header_line_height):
3438 Declare extern.
5f0c971d 3439
d7361edf
MB
34402000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3441
3442 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3443 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3444 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3445
ee5e440a
MB
34462000-11-14 Miles Bader <miles@gnu.org>
3447
3448 * xterm.c (x_alloc_lighter_color): Include an additive component
3449 too for dark colors, because FACTOR isn't enough.
3450 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3451 New macros.
3452
5ca020fc
GM
34532000-11-13 Gerd Moellmann <gerd@gnu.org>
3454
3455 * keyboard.c (show_help_echo): Call message3_nolog with number of
3456 bytes in the help string as 2nd parameter, instead of the number
3457 of characters.
3458
9d348294
MB
34592000-11-13 Miles Bader <miles@gnu.org>
3460
3461 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3462 (Fload): Use new openp return protocol.
3463 Don't try to use Vload_source_file_function to load .elc files.
3464 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3465 openp return protocol.
3466 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3467
1729bb9a
KH
34682000-11-11 Kenichi Handa <handa@etl.go.jp>
3469
4e677396
KH
3470 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3471
3472 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3473 Defined these macros.
3474 (NLIST_STRUCT): Avoid re-defining it.
3475
1729bb9a
KH
3476 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3477 -I/usr/contrib/X11R6/include.
3478 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3479
a82fe213
JR
34802000-11-10 Jason Rumney <jasonr@gnu.org>
3481
3482 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3483
3484 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3485 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3486
3487 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3488 (Qw32_charset_vietnamese): New symbol.
3489 (xlfd_charset_of_font): New function.
3490 (w32_load_system_font): Use it.
3491 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3492 when Vw32_charset_info_alist is nil to ensure default face always
3493 has font. Use Fcar and Fcdr for safety.
3494 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3495 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3496 pseudo-codepages for special cases.
3497 (w32_to_x_font): New parameter to allow charset portion to be
3498 specified where there is many to one mapping. Callers changed.
3499 (w32_list_fonts): Avoid listing fonts that won't display.
3500
52d89894
GM
35012000-11-10 Gerd Moellmann <gerd@gnu.org>
3502
3503 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3504 (font_list_1): Renamed from font_list.
3505 (font_list): New function, trying alternative registries from
3506 Vface_alternative_font_registry_alist.
3507 (Finternal_set_alternative_font_registry_alist): New function.
3508 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3509 Vface_alternative_font_registry_alist.
3510 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3511
651cd3da
KR
35122000-11-09 Ken Raeburn <raeburn@gnu.org>
3513
3514 * lisp.h (Flooking_at): Declare.
3515
388ac098
GM
35162000-11-09 Gerd Moellmann <gerd@gnu.org>
3517
778fbc46 3518 * dired.c (directory_files_internal): Fix a braino.
52283633 3519
388ac098
GM
3520 * dired.c (directory_files_internal): Add missing GCPRO's.
3521 Some cleanup.
3522
ecaedde1
GM
35232000-11-08 Gerd Moellmann <gerd@gnu.org>
3524
f7eb32aa
GM
3525 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3526 (resize_mini_window): Return quickly if Vresize_mini_window is
3527 nil. Don't return if Vmax_mini_window_height is nil.
3528
3529 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3530 (syms_of_xdisp): Initialize them.
3531 (resize_mini_window): Act according to the setting of
3532 Vresize_mini_window.
3533 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3534
ecaedde1
GM
3535 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3536 scroll bar widget after configuring it, so that it will appear at
3537 the right position from the start.
3538 (XTredeem_scroll_bar): Cleaned up.
3539
3747ef2c
KH
35402000-11-08 Kenichi Handa <handa@etl.go.jp>
3541
3542 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3543 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3544 division by two.
3545
3546 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3547
03391420
DL
35482000-11-07 Dave Love <fx@gnu.org>
3549
7758f1c1 3550 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3551
3552 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3553
b5de343d
GM
35542000-11-07 Gerd Moellmann <gerd@gnu.org>
3555
acad3c0b
GM
3556 * window.c (Fset_window_configuration): Don't try to preserve
3557 point in the current buffer, if that buffer is displayed in more
3558 than one window.
3559
b5de343d
GM
3560 * xfaces.c (lookup_named_face): If default face isn't realized,
3561 try to realize it. Return -1 if not successful.
3562 (Fx_list_fonts): Handle case that face cannot be determined.
3563 (Fface_font): Likewise.
3564
cdb1fe49
GM
35652000-11-06 Gerd Moellmann <gerd@gnu.org>
3566
3567 * window.c (displayed_window_lines): Detect partially
3568 visible lines at the bottom correctly.
3569
d3a67486
SM
35702000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3571
3572 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3573 when ensuring we don't do visit in indirect buffer.
3574
ff8dd5d5
KH
35752000-11-06 Kenichi Handa <handa@etl.go.jp>
3576
3577 * composite.h (compose_chars_in_text): Add prototype.
3578
3579 * composite.c (Vcomposition_function_table): New variable.
3580 (Qcomposition_function_table): New variable.
3581 (run_composition_function): Call
3582 Vcompose_chars_after_function with three arguments.
3583 (compose_chars_in_text): New function.
3584 (syms_of_composite): Modified the doc-string of
3585 Vcompose_chars_after_function. Declare composition-function-table
3586 as a lisp variable, and initialize it.
3587
3588 * xfns.c (x_encode_text): Suppress producing escape sequences for
3589 composition.
3590
3591 * xselect.c: Include composite.h.
3592 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3593
d1145f85
AI
35942000-11-05 Andrew Innes <andrewi@gnu.org>
3595
3596 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3597
3598 * sysdep.c (read_input_waiting): Remove extraneous argument to
3599 read_socket_hook.
3600
3601 * w32fns.c (Fx_server_version): Include w32_build_number in the
3602 return list.
3603
3604 * w32heap.c (w32_build_number): New variable.
3605 (cache_system_info): Set it.
3606
3607 * w32heap.h (w32_build_number): Add extern.
3608
3609 * emacs.c (syms_of_emacs): Update docstring for
3610 system-configuration, to reflect the actual usage on MS-Windows.
3611
e85ee976
GM
36122000-10-31 Gerd Moellmann <gerd@gnu.org>
3613
26dcb81b
GM
3614 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3615 process idle timers while waiting for another event.
3616
52283633 3617 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3618 the default face are colored.
3619
e85ee976
GM
3620 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3621 window height hasn't changed.
3622
01b220b6
JR
36232000-10-31 Jason Rumney <jasonr@gnu.org>
3624
3625 * w32term.c (x_produce_glyphs): Handle composite characters.
3626 (x_draw_glyph_string_foreground)
3627 (x_draw_composite_glyph_string_foreground): Restore old font.
3628
4e6b7204
MB
36292000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3630
3631 * minibuf.c (read_minibuf): Reset the undo history just before
3632 starting the recursive-edit.
3633
d4358b37
GM
36342000-10-30 Gerd Moellmann <gerd@gnu.org>
3635
563f68f1
GM
3636 * xfaces.c (menu_face_change_count): New variable.
3637 (Finternal_set_lisp_face_attribute): Increment it for changes
3638 of the `menu' face.
3639 (realize_basic_faces): Reflect changes in the `menu' faces
3640 in menu bars.
3641
82e274d1
GM
3642 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3643 dy obtained from the iterator's y-position after moving from
3644 scroll_margin_pos to PT; see comment there.
52283633 3645
0dbf9fd2
GM
3646 * xdisp.c (safe_eval_handler): Call add_to_log.
3647
906b3b14
GM
3648 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3649 is not a symbol or string.
3650
d4358b37
GM
3651 * xdisp.c (echo_area_display): Don't perform a display update from
3652 inside redisplay. The update will happen anyway at the end of
3653 redisplay, and it can confuse redisplay (GC messages while
3654 redisplaying, for instance.)
3655
70c825df
SM
36562000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3657
cf9b4b0b
SM
3658 * xrdb.c (x_load_resources): Use the class name in the defaults.
3659
70c825df
SM
3660 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3661 (regex_compile): Catch bogus \(\1\).
3662
a1d34b1e
GM
36632000-10-30 Gerd Moellmann <gerd@gnu.org>
3664
cae71efe
GM
3665 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3666 RGB values.
52283633 3667
35efe0a1
GM
3668 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3669 we have a color cache, check that the cached color equals the
3670 allocated color. If not, clear the color cache.
3671
1d3baf74
GM
3672 * window.c (displayed_window_lines): Change buffers if necessary.
3673 Fix computation of displayed lines.
3674
a1d34b1e
GM
3675 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3676 update_menu_bindings to DEFVAR_BOOL.
3677
70737ea9
KH
36782000-10-30 Kenichi Handa <handa@etl.go.jp>
3679
70c825df 3680 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3681
fa0cb51d
KH
3682 * puresize.h (BASE_PURESIZE): Increase to 680000.
3683
70737ea9
KH
3684 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3685
0e4c08e8
JR
36862000-10-29 Jason Rumney <jasonr@gnu.org>
3687
3688 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3689
3690 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3691 (w32_cache_char_metrics): Handle possibility that 'x' does not
3692 exist in a BDF font.
3693 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3694
3695 * w32bdf.h (bdffont): Add nchars.
3696
3697 * w32bdf.c (set_bdf_font_info): Set it.
3698 (w32_BDF_TextOut): Swap byte order of double byte characters.
3699 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3700
45b84006
EZ
37012000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3702
3703 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3704 don't override the colors in frame's param_alist, unless they are
3705 unspecified.
3706
3707 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3708 reverse the effect of the highlight flag.
3709
caf9deee
KR
37102000-10-27 Ken Raeburn <raeburn@gnu.org>
3711
3712 * window.h (Fwindow_live_p): Declare.
3713
ae0b9b46
KR
3714 * undo.c (record_delete): Check that last_undo_buffer is really a
3715 buffer before applying XBUFFER to it.
3716
3717 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3718 Faref.
3719
02067692
SM
37202000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3721
3722 * lisp.h (KEYMAPP): New macro.
3723 (get_keymap): Remove.
3724 (get_keymap_1): Rename get_keymap.
3725
3726 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3727
3728 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3729
3730 * xmenu.c (single_submenu): Use KEYMAPP.
3731 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3732 Use KEYMAPP rather than Fkeymapp.
3733
3734 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3735
3736 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3737 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3738 Use KEYMAPP rather than Fkeymapp.
3739 (single_submenu): Use KEYMAPP.
3740 (w32_menu_show, w32_dialog_show): Use TRUE.
3741
3742 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3743
3744 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3745 (Fkeymapp): Use KEYMAPP.
3746 (get_keymap): Rename from get_keymap_1. Remove old def.
3747 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3748 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3749 (Fminor_mode_key_binding): Don't raise an error if the binding
3750 is not a keymap.
3751 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3752 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3753
3754 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3755 Allow Vspecial_event_map to be autoloaded.
3756 (menu_bar_items): Fetch the keymap rather than using keymapp.
3757 (menu_bar_one_keymap): No need to follow func-indirect any more.
3758 (parse_menu_item): get_keymap_1 -> get_keymap.
3759 (tool_bar_items): Fetch the keymap rather than using keymapp.
3760 (read_key_sequence): Use KEYMAPP.
3761
3762 * intervals.c (get_local_map): Use get_keymap rather than following
3763 function-indirections explicitly.
3764
3765 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3766
f9d80af3
JR
37672000-10-27 Jason Rumney <jasonr@gnu.org>
3768
3769 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3770 point, as Windows has oversized fonts.
3771
3772 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3773
a3ba27da
GM
37742000-10-27 Gerd Moellmann <gerd@gnu.org>
3775
3776 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3777 (freehook, reallochook): Handle null pointer arguments.
3778 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3779
aa3b80cc
SM
37802000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3781
3782 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3783 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3784 Giving in to popular pressure to shut up the compiler with casts.
3785
e24e84cc
GM
37862000-10-27 Gerd Moellmann <gerd@gnu.org>
3787
3788 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3789 signed value, and use a default value computed from the font's
3790 maximum descent.
3791
05ea7ef2
MB
37922000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3793
3794 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3795 that specify a negative underline position can still use underlines.
3796
3797 * window.c (Fpos_visible_in_window_p): Make POS default to
3798 WINDOW's point, not the current buffer's point.
3799
0b95284b
DL
38002000-10-26 Dave Love <fx@gnu.org>
3801
3802 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3803 when it's necessary.
3804
6c5b90af
GM
38052000-10-26 Gerd Moellmann <gerd@gnu.org>
3806
8b6d9dc9
GM
3807 * window.c (size_window): Compute size difference from sum of old
3808 child window sizes instead of from parent's size.
3809
6bc92b2e
GM
3810 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3811 Handle obscured lines at the top of the window.
3812
3813 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3814 down after the last error condition check.
3815
6c5b90af
GM
3816 * frame.c (Fdelete_frame): Run delete-frame-hook.
3817
42f92d4d
KH
38182000-10-26 Kenichi Handa <handa@etl.go.jp>
3819
3820 * coding.c (decode_coding): Fix previous change (check also
3821 CODING_MODE_LAST_BLOCK).
3822
d97151cb
SM
38232000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3824
e7efc503
SM
3825 * regex.c: More `unsigned char' -> `re_char' changes.
3826 Also change several `int' into `re_wchar_t'.
3827 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3828 (PUSH_FAILURE_POINTER): Don't cast any more.
3829 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3830 We want GCC to complain, since this piece of code makes
3831 re_match non-reentrant, which *should* be fixed.
3832 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3833 (EXTEND_BUFFER): Use RETALLOC.
3834 (SET_LIST_BIT): Don't cast.
3835 (re_wchar_t): New type.
3836 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3837 that those two functions will always properly return.
3838 (IMMEDIATE_QUIT_CHECK): Cast to void.
3839 (analyse_first): Use recursion rather than an explicit stack.
3840 (re_compile_fastmap): Can't fail anymore.
3841 (re_search_2): Don't check re_compile_fastmap for failure.
3842 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3843 Now also sets the new value (passed in a new argument).
3844 (re_match_2_internal): Use it.
3845 Also, use a new var `reg' of type size_t when looping through regs
3846 rather than reuse the inappropriate `mcnt'.
3847
d97151cb
SM
3848 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3849 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3850 (where_is_internal): Renamed from Fwhere_is_internal.
3851 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3852 (Fwhere_is_internal): New function wrapping where_is_internal.
3853 (where_is_internal_1): Handle the case where we're filling the cache.
3854 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3855
d5789b65
MB
38562000-10-25 Miles Bader <miles@gnu.org>
3857
3858 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3859
4ecda532
GM
38602000-10-25 Gerd Moellmann <gerd@gnu.org>
3861
3862 * window.c (pos_fully_visible_p): Removed.
3863 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3864 if position is visible and/or fully visible.
3865
3866 * lisp.h (pos_visible_p): Add prototype.
3867
3868 * xdisp.c (pos_visible_p): New function.
3869
68c3a137
KH
38702000-10-25 Kenichi Handa <handa@etl.go.jp>
3871
3872 * process.c (send_process): If OBJECT is t, it means that the data
3873 is from C string, but we should encode it. Before calling
3874 setup_raw_text_coding_system, be sure to flush out data by the
3875 previous coding system.
3876
7ae1c032
MB
38772000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3878
ff4dcd4b
MB
3879 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3880 assignment of startpos to prev when startpos == pos.
3881
7ae1c032
MB
3882 * editfns.c (find_field): Set the field stickiness correctly from
3883 overlay fields. Use renamed `text_property_stickiness'.
3884 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3885 Only check text properties, not overlays.
7ae1c032
MB
3886 * textprop.c (get_char_property_and_overlay): New function.
3887 (Fget_char_property): Use it.
3888 * intervals.h (get_char_property_and_overlay): Add declaration.
3889
49801145
SM
38902000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3891
3892 * keymap.c: Use AREF, ASET and ASIZE macros.
3893 (Fmake_sparse_keymap): Docstring fix.
3894 (synkey): Remove.
3895 (shadow_lookup): Move up.
3896 Handle the case where lookup-key returns an integer.
3897 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3898 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3899 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3900 Simplify/rewrite the keymap-finding code.
3901 Add check for command shadowing, using shadow_lookup.
3902
39e776cd
SM
39032000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3904
3905 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3906 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3907 a symbol.
3908
2488aba5
AI
39092000-10-24 Andrew Innes <andrewi@gnu.org>
3910
3911 * dired.c (directory_files_internal_unwind): New function.
3912 (directory_files_internal): Use it to ensure closedir is called
3913 even if expand-file-name or file-attributes throw, eg. because of
3914 a user interrupt. Also enable immediate_quit while calling
3915 re_search, so that matching can be interrupted as well.
3916
b94fdf61
AI
39172000-10-24 Andrew Innes <andrewi@gnu.org>
3918
3919 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3920 NT-Emacs only.
3921 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3922 so that re_search functions only quit when callers expect them to.
3923
39242000-10-24 Kenichi Handa <handa@etl.go.jp>
3925
3926 * regex.c (regex_compile): Change the way of handling a range from
3927 a char less than 256 to a char not less than 256.
3928
1946f901
GM
39292000-10-24 Gerd Moellmann <gerd@gnu.org>
3930
7ae2f10f
GM
3931 * window.c (size_window): Prevent setting window's width or
3932 height to a negative value (esp. with XSETFASTINT).
3933
5dcab13e
GM
3934 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3935 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3936 (protect_malloc_state) [GC_MALLOC_CHECK &&
3937 GC_PROTECT_MALLOC_STATE]: New function.
3938 (PROTECT_MALLOC_STATE): New macro.
3939 (__malloc_initialize, morecore, _malloc_internal)
3940 (_free_internal) _realloc_internal): Use it to make _heapinfo
3941 read-only outside of gmalloc.
3942
63e1b552
GM
3943 * keymap.c: Update copyright.
3944
1946f901
GM
3945 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3946 a symbol.
3947
4fa09beb
GM
39482000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3949
3950 * filelock.c (unlock_all_files): Use unlock_file to expand each
3951 buffer's file_truename before trying remove its lock file.
3952
23afac01
EZ
39532000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3954
3955 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3956 or CRLF, decode EOLs.
3957
04448b95
KH
39582000-10-24 Kenichi Handa <handa@etl.go.jp>
3959
3960 * window.c (Fdisplay_buffer): Fix doc.
3961
3090a5a5
JR
39622000-10-23 Jason Rumney <jasonr@gnu.org>
3963
3964 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3965 ASCII font of default fontset on Windows.
3966
3967 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3968 xterm.c comment below).
3969
3970 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3971
a83fee2c
GM
39722000-10-23 Gerd Moellmann <gerd@gnu.org>
3973
3974 * xterm.c (x_connection_closed): Reset handling_signal.
3975
52283633 3976 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 3977
6ffdb539
MB
39782000-10-23 Miles Bader <miles@gnu.org>
3979
3980 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3981 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3982 maintain old behavior.
3983 * minibuf.c (Fminibuffer_complete): Likewise.
3984
7f1c969b
MB
39852000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3986
3987 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3988 that when a font can't be exactly centered, it errs up rather than
3989 down.
3990
23afac01 39912000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 3992
52283633 3993 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 3994
1a578e9b
AC
39952000-10-23 Andrew Choi <akochoi@i-cable.com>
3996
3997 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3998
3999 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 4000 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
4001
4002 * emacs.c (main) [macintosh]: Call syms_of_textprop,
4003 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
4004 syms_of_search, x_term_init, and init_keyboard before calling
4005 init_window_once. Also, call syms_of_xmenu.
4006
4007 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
4008 default fontset to Monaco.
4009
4010 * frame.c [macintosh]: Include macterm.h. Remove declarations of
4011 NewMacWindow and DisposeMacWindow.
4012 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
4013 instead of calling NewMacWindow and setting fields of
4014 f->output_data.mac directly. Call init_frame_faces.
4015 (Fdelete_frame) [macintosh]: Remove unused code.
4016 (Fmodify_frame_parameters) [macintosh]: Call
4017 x_set_frame_parameters instead of mac_set_frame_parameters.
4018
4019 * frame.h [macintosh]: Define menu_bar_lines field in struct
4020 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
4021
4022 * keyboard.c [macintosh]: Include macterm.h.
4023 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
4024 and menu_bar_activate_event type events as for X and NT.
4025 (make_lispy_event) [macintosh]: Construct lisp events of type
4026 MENU_BAR_EVENT as for X and NT.
4027
4028 * sysdep.c [macintosh]: Remove declaration for sys_signal.
4029 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
4030 (sys_subshell) [macintosh]: Remove definition entirely.
4031 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
4032 Vwindow_system_version here. Remove initialization of
4033 Vx_bitmap_file_path.
4034 (read_input_waiting): Correct the number of parameters passed to
4035 read_socket_hook.
4036 Move all Macintosh functions to mac/mac.c.
4037
4038 * term.c [macintosh]: Include macterm.h.
4039
4040 * window.c [macintosh]: Include macterm.h.
4041
4042 * xdisp.c [macintosh]: Include macterm.h. Declare
4043 set_frame_menubar and pending_menu_activation.
4044 (echo_area_display) [macintosh]: Do not return if terminal frame
4045 is the selected frame.
4046 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4047 Allow only the selected frame to set menu bar.
4048 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4049 calling FRAME_EXTERNAL_MENU_BAR (f).
4050 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4051
4052 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4053 and check_x. Declare XCreateGC. Define x_create_gc and
4054 x_free_gc. Initialize font_sort_order.
4055 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4056 but call x_list_fonts instead of w32_list_fonts.
4057 (Finternal_face_x_get_resource) [macintosh]: Do not call
4058 display_x_get_resource.
4059 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4060 (realize_x_face) [macintosh]: Load the font if it is specified in
4061 ATTRS.
52283633 4062 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4063
1ffbabe3
SM
40642000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4065
4066 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4067 is nil: since we go to the end of submap anyway, we'd end up
4068 setting nil to nil.
4069 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4070 doesn't obey autoload.
4071
bed43f1d
EZ
40722000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4073
1ffbabe3 4074 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4075
ea4233a7
JR
40762000-10-21 Jason Rumney <jasonr@gnu.org>
4077
4078 * w32term.c (w32_cache_char_metrics): Double check that font is
4079 really fixed pitch before trusting tmPitchAndFamily.
4080
f3d3c491
AI
40812000-10-21 Andrew Innes <andrewi@gnu.org>
4082
4083 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4084
4085 * w32term.h: Extern decl for w32_cache_char_metrics.
4086
4087 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4088
4089 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4090 (w32_unload_font): Free per_char array if present.
4091
4092 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4093 cached information in emulated XFontStruct to handle common cases
4094 quickly. Do not allocate XCharStruct for return.
4095 (w32_native_per_char_metric): New function.
4096 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4097 allocating one.
4098 (x_produce_glyphs): Don't get an HDC. Change calls to
4099 w32_per_char_metric to match arg change above. Remove calls to
4100 free results.
4101 (w32_get_glyph_overhangs): Ditto.
4102 (w32_cache_char_metrics): New function.
4103
4104 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4105 ($(BLD)/casefiddle.$(O)): Remove compile command.
4106 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4107 ($(BLD)/dispnew.obj):
4108 ($(BLD)/keyboard.obj):
4109 ($(BLD)/w32inevt.obj):
4110 ($(BLD)/w32bdf.obj):
4111 ($(BLD)/alloc.obj):
4112 ($(BLD)/buffer.obj):
4113 ($(BLD)/editfns.obj):
4114 ($(BLD)/emacs.obj):
4115 ($(BLD)/fileio.obj):
4116 ($(BLD)/fns.obj):
4117 ($(BLD)/indent.obj):
4118 ($(BLD)/insdel.obj):
4119 ($(BLD)/intervals.obj):
4120 ($(BLD)/minibuf.obj):
4121 ($(BLD)/print.obj):
4122 ($(BLD)/scroll.obj):
4123 ($(BLD)/sysdep.obj):
4124 ($(BLD)/textprop.obj):
4125 ($(BLD)/widget.obj):
f3d3c491
AI
4126 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4127 ($(BLD)/term.obj): Add dependency on dispextern.h.
4128
52283633
SM
4129 * makefile.nt ($(BLD)\dispnew.obj):
4130 ($(BLD)\keyboard.obj):
4131 ($(BLD)\w32inevt.obj):
4132 ($(BLD)\w32bdf.obj):
4133 ($(BLD)\alloc.obj):
4134 ($(BLD)\buffer.obj):
4135 ($(BLD)\editfns.obj):
4136 ($(BLD)\emacs.obj):
4137 ($(BLD)\fileio.obj):
4138 ($(BLD)\fns.obj):
4139 ($(BLD)\indent.obj):
4140 ($(BLD)\insdel.obj):
4141 ($(BLD)\intervals.obj):
4142 ($(BLD)\minibuf.obj):
4143 ($(BLD)\print.obj):
4144 ($(BLD)\scroll.obj):
4145 ($(BLD)\sysdep.obj):
4146 ($(BLD)\textprop.obj):
4147 ($(BLD)\widget.obj):
f3d3c491
AI
4148 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4149 ($(BLD)\term.obj): Add dependency on dispextern.h
4150
18ad4821
EZ
41512000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4152
4153 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4154 with an additional argument of Qt.
4155
de54681a
MB
41562000-10-21 Miles Bader <miles@gnu.org>
4157
4158 * window.c (pos_fully_visible_in_window_p): New function.
4159 (Fpos_visible_in_window_p): Add FULLY argument.
4160 Use pos_fully_visible_in_window_p.
4161 (window_scroll_pixel_based, window_scroll_line_based): Update
4162 calls to Fpos_visible_in_window_p.
4163 * lisp.h (Fpos_visible_in_window_p): Update prototype
4164
13c844fb
GM
41652000-10-20 Gerd Moellmann <gerd@gnu.org>
4166
4167 * alloc.c (toplevel): Conditionalize compilation of mem_*
4168 functions differently.
52283633 4169
d9506268
JR
41702000-10-20 Jason Rumney <jasonr@gnu.org>
4171
4172 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4173 mem_init where it used to be. mem_z etc not defined otherwise.
4174
8094989b
GM
41752000-10-20 Gerd Moellmann <gerd@gnu.org>
4176
4177 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4178 GC_MALLOC_CHECK.
4179 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4180 structure definition and related variabled to the top of the file.
4181 Include this code when GC_MALLOC_CHECK is defined.
4182 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4183 register/unregister allocated region.
4184 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4185 which isn't allocated.
4186 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4187 something which is already in use.
4188 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4189 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4190 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4191 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4192
4193 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4194 _malloc_internal instead of malloc.
4195 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4196 of free.
4197
ea456eb4
AI
41982000-10-20 Andrew Innes <andrewi@gnu.org>
4199
4200 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4201 Windows.
4202 (my_strftime) <macro>: Don't use macro arg list when redefining as
4203 _strftime_copytm.
4204 (my_strftime) <function>: Supply 0 as ut argument.
4205
e64c3a75
JR
42062000-10-19 Jason Rumney <jasonr@altavista.net>
4207
4208 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4209 including dispextern.h, as it stops faces from working.
4210
4211 * w32fns.c (Fx_create_frame): Don't bother calling
4212 face-set-after-frame-default since the caller does it for us
4213 anyway. Clean up calls to x_get_arg to be consistent with X.
4214
4215 * w32term.c (x_produce_glyphs): Handle
4216 unibyte_display_via_language_environment correctly.
4217 (w32_draw_box_rect): Fix the calculation of width and height.
4218
4219 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4220 as it has stopped working.
4221 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4222 menu-bar.
4223
17401c97
GM
42242000-10-19 Gerd Moellmann <gerd@gnu.org>
4225
4226 * eval.c (skip_debugger): Prevent a compiler warning.
4227 (Fcondition_case): Likewise.
4228 (Fbacktrace_frame): Use a null interactive spec.
4229
773272d8
KH
42302000-10-19 Kenichi Handa <handa@etl.go.jp>
4231
4232 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4233
a42943e9
GM
42342000-10-18 Gerd Moellmann <gerd@gnu.org>
4235
e50517d9
GM
4236 * strftime.c: Sync with glibc, file version 1.78.
4237 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4238 should no longer be used according to ISO 8601.
4239
9035a35a
GM
4240 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4241 no map for meta_prefix_char, don't try to use it as a keymap.
4242 Instead, if T_OK is non-zero, look up a default binding, if any,
4243 otherwise, if T_OK is zero, return nil.
4244
a42943e9
GM
4245 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4246 (x_to_xcolors, png_load): Use x_query_color.
4247
52283633
SM
4248 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4249 New functions.
a42943e9
GM
4250 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4251 which can be slow.
4252 (x_copy_color, x_alloc_lighter_color): Likewise.
4253
4254 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4255 (x_query_color, x_query_colors): Add prototype.
4256
4257 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4258 check_string_bytes only if not noninteractive, increase count to 50.
4259
00de2987
MB
42602000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4261
4262 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4263 markers correctly.
4264
54918e2b
GM
42652000-10-17 Gerd Moellmann <gerd@gnu.org>
4266
1f0b3fd2
GM
4267 * alloc.c (pure_bytes_used): Renamed from pureptr.
4268 (ALIGN): New macro.
4269 (pure_alloc): New function.
4270 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4271 Use it.
4272 (Fpurecopy): Use PURE_POINTER_P.
4273
68c5d1db
GM
4274 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4275 PT has moved backward.
52283633 4276
9a038881
GM
4277 * xdisp.c (cursor_row_p): Take continued lines into account.
4278
361b097f
GM
4279 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4280 string's size_byte.
4281 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4282 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4283 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4284 string allocated.
4285
54918e2b
GM
4286 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4287 of selective display off while searching for the next line start.
4288
03ed0806
KH
42892000-10-17 Kenichi Handa <handa@etl.go.jp>
4290
4291 * Makefile.in (term.o): Depend on dispextern.h.
4292
7e05cdaf
SM
42932000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4294
4295 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4296
a6801fd1
GM
42972000-10-16 Gerd Moellmann <gerd@gnu.org>
4298
483de32b
GM
4299 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4300 the iterator at the beginning, so that they can be set later on,
4301 for instance in reseat_at_next_visible_line_start, without being
4302 overwritten.
4303
a6801fd1
GM
4304 * xfns.c (pbm_format): Add :foreground and :background keywords.
4305 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4306 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4307
dbf1fcc1
EZ
43082000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4309
4310 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4311
52283633 4312 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4313
4314 * msdos.c (IT_set_face): Compare highlighted face with the default
4315 face, and invert colors if these faces' colors are identical.
4316 (Fmsdos_remember_default_colors): Don't swap foreground and
4317 background colors in initial_colors[].
4318 (IT_set_frame_parameters): Don't swap frame's foreground and
4319 background pixels. If ALIST includes "(reverse . t)", swap
4320 foreground-color and background-color properties in frame's
4321 param_alist. If the original frame's param_alist doesn't specify
4322 the colors, store unspecified-fg and unspecified-bg, reversed if
4323 required.
4324
4325 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4326 the colors are unspecified and reversed, reverse fore- and back-
4327 ground in the returned value.
4328 (Fframe_parameter): Ditto.
4329
b41fe2c3 43302000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4331
3a6b59d9
GM
4332 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4333 get_last_unchanged_at_beg_row.
4334 (find_first_unchanged_at_end_row): Renamed from
4335 get_first_unchanged_at_end_row.
4336 (find_first_unchanged_at_end_row): Convert assertions to
4337 unconditional tests which abort. When looking for a row in
4338 unchanged text, don't go further back than first_text_row.
4339
b41fe2c3
GM
4340 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4341 Don't add in the last line's height when deciding if the new
4342 position is below the scroll margin.
9d1af64f 4343
b41fe2c3 43442000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4345
4346 * editfns.c (Fconstrain_to_field): Check carefully for field
4347 boundaries if either OLD_POS or NEW_POS has a non-nil field
4348 property, even if they're the same.
4349
c412cb7b
KH
43502000-10-16 Kenichi Handa <handa@etl.go.jp>
4351
4352 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4353 height for XFillRectangle.
4354
5586f3eb
SM
43552000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4356
4357 * syntax.c (Fstring_to_syntax): New function extracted from
4358 Fmodify_syntax_entry.
4359 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4360 (skip_chars, Fforward_comment): Remove unused variables.
4361 (syms_of_syntax): Add defsubr for string-to-syntax.
4362 (describe_syntax): Add code for comment and string fences.
4363
db785038
SM
43642000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4365
4366 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4367 Do the meta->esc mapping. Call get_keyelt before returning.
4368 Start scanning from the second element (the first is always `keymap')
4369 to make it easier to detect when we reach a parent map.
4370 Handle the case of inheriting from a symbol whose function is a map.
4371 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4372 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4373 (get_keyelt, Flookup_key): Update call to access_keymap.
4374 Remove the meta->esc mappings.
4375 (define_as_prefix): Delete old disabled code.
4376 (menu_item_p): New function.
4377 (where_is_internal_1): Skip over the few remaining menu items.
4378 * lisp.h (access_keymap): Update prototype.
4379 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4380 Update call to access_keymap.
4381 (follow_key, read_key_sequence): Update calls to access_keymap.
4382 Remove the meta->esc mappings.
4383
cafafe0b
GM
43842000-10-13 Gerd Moellmann <gerd@gnu.org>
4385
a2e2a7f6
GM
4386 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4387 with additional argument.
4388
cafafe0b
GM
4389 * xdisp.c (cursor_row_p): New function.
4390 (try_cursor_movement, display_line): Use it.
52283633 4391
cafafe0b
GM
4392 * xdisp.c (append_space): Also save/restore iterator's current
4393 character and its length.
4394
4395 * xdisp.c (init_from_display_pos): Add an assertion.
4396 (handle_stop): Don't set iterator's add_overlay_start.
4397 (handle_invisible_prop): Likewise.
4398 (load_overlay_strings): If text under an overlay is invisible,
4399 take both before- and after-strings into account when the iterator
4400 is positioned either at the start or at the end of the overlay.
4401 (forward_to_next_line_start): Rewritten.
4402 (reseat_at_next_visible_line_start): Rewritten.
4403 (set_iterator_to_next): Add parameter RESEAT_P.
4404
4405 * dispextern.h (struct it): Remove member add_overlay_start.
4406 (set_iterator_to_next): Change prototype.
4407
c744452b
KH
44082000-10-13 Kenichi Handa <handa@etl.go.jp>
4409
4410 * coding.c (code_convert_region): Be sure to initialize
4411 coding->category_idx.
e4a3f4e1
KH
4412 (decode_coding_string): Set coding->src_multibyte and
4413 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4414 (encode_coding_string): Set coding->src_multibyte and
4415 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4416
321fd26f
SM
44172000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4418
4419 * xfns.c (Fx_create_frame): Don't bother calling
4420 face-set-after-frame-default since the caller does it for us anyway.
4421
76832439
EZ
44222000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4423
4424 * window.c (coordinates_in_window): Fix detection of vertical line
4425 on character terminals.
4426
2483cf58
GM
44272000-10-12 Gerd Moellmann <gerd@gnu.org>
4428
4429 * editfns.c (save_excursion_save): Additionally record the
4430 selected window.
4431 (save_excursion_restore): If buffer was visible in a window, and a
4432 different window was selected, and the old selected window is
4433 still live, restore point in that window.
4434
eb991b25
KH
44352000-10-12 Kenichi Handa <handa@etl.go.jp>
4436
8a0eba09
KH
4437 * xterm.c (x_produce_glyphs): Handle
4438 unibyte_display_via_language_environment correctly.
4439
20401fcc
KH
4440 * regex.c (regex_compile): Change the way of handling a range from
4441 unibyte char to multibyte char.
4442
4443 * syntax.c (skip_chars): Change the way of handling a range from
4444 unibyte char to multibyte char.
4445
eb991b25
KH
4446 * process.c (read_process_output): Cancel previous change.
4447
365dd325
EZ
44482000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4449
c1b096cb
EZ
4450 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4451
365dd325
EZ
4452 * charset.c (Ffind_charset_string): Doc fix.
4453 (Ffind_charset_region): Doc fix.
4454
eb483c2b
KH
44552000-10-11 Kenichi Handa <handa@mule.m17n.org>
4456
4457 * process.c (read_process_output): Fix previous change. Adjust
4458 multibyteness of text to insert in a buffer by
52283633 4459 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4460
b40bfb99
AS
44612000-10-10 Andreas Schwab <schwab@suse.de>
4462
4463 * alloc.c (mark_object): Remove all workarounds installed on
4464 1993-08-08.
4465
caff31d4
KH
44662000-10-10 Kenichi Handa <handa@etl.go.jp>
4467
52283633 4468 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4469 (base64_encode_1): Make it work for a text of multibyte form.
4470 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4471 case. Don't call str_to_multibyte because base64_decode_1
4472 produces correct multibyte form for eight-bit codes.
52283633 4473 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4474 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4475 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4476 codes.
4477
4478 * charset.h (CHAR_STRING): Optimized for single byte characters.
4479
cba026ef
AS
44802000-10-09 Andreas Schwab <schwab@suse.de>
4481
4482 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4483 -1 after socket is closed, to fall through to error processing.
4484
1e21fe48
EZ
44852000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4486
4487 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4488 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4489 background-color, change also the colors of the default face for
4490 this frame.
4491
a640322e
EZ
44922000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4493
4494 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4495 them extern (they are defined on xfaces.c).
4496 (syms_of_msdos): Don't intern and don't staticpro
4497 Qbackground_color and Qforeground_color.
4498
a115794c
EZ
44992000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4500
4501 * frame.c (Fframe_parameter): For non-windowed frames, if
4502 f->param_alist says foreground or background color is unspecified,
4503 call tty_color_name to return the color name computed from the
4504 frame's current colors.
4505
f5533b63
DL
45062000-10-06 Dave Love <fx@gnu.org>
4507
4508 * terminfo.c (ospeed): Don't declare.
4509
4510 * sysdep.c: Don't include string.h.
4511 (h_errno): Declare conditional also on TRY_AGAIN.
4512
4513 * charset.c (Ffind_charset_string): Doc fix.
4514
52283633 4515 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4516 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4517 error messages.
4518
2b06561a
DL
45192000-10-05 Dave Love <fx@gnu.org>
4520
4521 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4522 position like menu-bar.
4523
ca839c85
GM
45242000-10-05 Gerd Moellmann <gerd@gnu.org>
4525
4526 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4527
4528 * xdisp.c (handle_single_display_prop): Use safe_call1.
4529 (safe_call): Renamed from call_function.
4530 (safe_call1): New function.
4531 (handle_fontified_prop): Use safe_call1 instead of call1.
4532 (safe_eval): Renamed from eval_form.
4533 (safe_eval_handler): Renamed from eval_handler.
4534 (handle_single_display_prop, display_mode_element): Use safe_eval
4535 instead of eval_form.
4536
4537 * xfaces.c (merge_face_heights): Use safe_call instead of
4538 call_function.
4539
4540 * keyboard.c (show_help_echo): Use safe_call instead of
4541 call_function; use safe_eval instead of eval_form.
4542
4543 * lisp.h (safe_call): Renamed from call_function.
4544 (safe_eval): Renamed from eval_form.
4545 (safe_call1): Add prototype.
4546
a3489ece
MB
45472000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4548
4549 * xfns.c (image_ascent): Rearrange ascent calculation for the
4550 has-a-font case.
4551
35810b6f
SM
45522000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4553
4554 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4555 (where_is_internal_1): Don't bother ignoring menu-items any more.
4556
3dc78168
GM
45572000-10-04 Gerd Moellmann <gerd@gnu.org>
4558
4559 * keyboard.c (update_menu_bindings): New variable.
4560 (parse_menu_item): Use AREF. If update_menu_bindings
4561 is 0, don't update menu bindings.
4562 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4563
1efc2bb9
EZ
45642000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4565
4566 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4567 to `mark_object'.
4568
3f679f55
SM
45692000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4570
4571 * syntax.c (forw_comment): Match nestedness of ender/starter.
4572 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4573 (prev_char_comstart_first): Remove.
4574 (back_comment): Check two-char comment markers more carefully
4575 to better handle overlapping cases like *//* or /* */* */ ...
4576 Match nestedness of ender/starter.
4577
2021ab61
DL
45782000-10-02 Dave Love <fx@gnu.org>
4579
4580 * config.in (HAVE_GAI_STRERROR): Add undef.
4581
4582 * process.c (Fopen_network_stream): Use it.
4583
4584 * m/alpha.h (NO_REMAP): Don't define.
4585
64e6cc18
GM
45862000-10-02 Gerd Moellmann <gerd@gnu.org>
4587
4588 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4589 return with a string converted to an integer or vice versa when
4590 Vmocklisp_arguments is t.
4591 (Fsignal): Likewise. The function can return for `quit'.
4592 (struct gcpro): Declare member `var' to point to a volatile
4593 Lisp_Object.
4594
4595 * eval.c (error): Prevent compiler warning.
4596
b1904cd9
SM
45972000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4598
4599 * keymap.c (keymap_memberp): New function.
4600 (Fset_keymap_parent): Use it.
4601 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4602 Use keymap_memberp to avoid creating cycles.
4603 (access_keymap): Use KEYMAPP.
4604
71c9ec51
GM
46052000-09-30 Gerd Moellmann <gerd@gnu.org>
4606
4607 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4608 gai_strerror. Make sure xerrno is set if connect fails. Improve
4609 error recovery.
71c9ec51 4610
c70c6b58
JR
46112000-09-29 Jason Rumney <jasonr@gnu.org>
4612
4613 * w32term.c (w32_char_font_type, w32_encode_char)
4614 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4615 (w32_bdf_per_char_metric): New function.
4616 (w32_per_char_metric): Use it.
4617 (x_draw_glyph_string_background): Always draw background for BDF
4618 glyphs.
4619
4620 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4621 GDI object which is a scarce resource.
4622
4623 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4624 (get_quoted_string): Fix limit on memchr search.
4625 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4626 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4627 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4628 (get_cached_font_char, cache_char_offset): Use macro
4629 BDF_CODEPOINT_RANGE_COVER_P.
4630 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4631 (clear_cached_bitmap_slots): New function.
4632 (GET_HEX_VALUE): G-Z, g-z are not hex.
4633 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4634 (get_bitmap_with_cache): Use new cache implementation.
4635 (create_offscreen_bitmap): New function.
4636 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4637
4638 * w32term.c (x_produce_glyphs): If the distance from the current
4639 position to the next tab stop is less than a canonical character
4640 width, use the tab stop after that.
4641 (x_draw_glyphs): Handle case START and END are out of bounds more
4642 carefully.
4643 (x_clear_mouse_face): Block/unblock input.
4644 (x_display_and_set_cursor): Don't show a hollow box cursor for
4645 buffers whose cursor_type is nil.
4646
fe01239f
GM
46472000-09-29 Gerd Moellmann <gerd@gnu.org>
4648
52283633 4649 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4650
4651 * dispextern.h (updating_frame): Declare extern.
4652
e7c52f1f
AS
46532000-09-29 Andreas Schwab <schwab@suse.de>
4654
4655 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4656
de6e1f7c
GM
46572000-09-29 Gerd Moellmann <gerd@gnu.org>
4658
25126faa
GM
4659 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4660 use its function definition.
4661 (tool_bar_items): Likewise.
4662
de6e1f7c 4663 * lisp.h (fatal): Declare NO_RETURN.
52283633 4664
454ee39b
KH
46652000-09-29 Kenichi Handa <handa@etl.go.jp>
4666
4667 * keymap.c: Remove the line "#undef NULL".
4668
96301c5f
GM
46692000-09-28 Gerd Moellmann <gerd@gnu.org>
4670
52283633 4671 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4672
efffeeb4
DL
46732000-09-28 Dave Love <fx@gnu.org>
4674
ecb8b666
DL
4675 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4676
dc3cd20f
DL
4677 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4678
4679 * .gdbinit (xreload): Note its need on GNU/Linux.
4680
efffeeb4
DL
4681 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4682 r_alloc, r_alloc_free.
4683
8610d903
KH
46842000-09-28 Kenichi Handa <handa@etl.go.jp>
4685
4686 * syntax.c (skip_chars): Handle negation correctly.
4687
8901d1ac
GM
46882000-09-27 Gerd Moellmann <gerd@gnu.org>
4689
6f22f1ad
GM
4690 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4691 with non-zero FORCE_P argument.
4692
52283633 4693 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4694 Add assertions.
4695
4696 * xdisp.c (window_box_height): Add an assertion.
4697
4698 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4699 tool-bar than is available.
4700 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4701
36f1966f
DL
47022000-09-27 Dave Love <fx@gnu.org>
4703
efffeeb4 4704 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4705
31d929e5
GM
47062000-09-26 Gerd Moellmann <gerd@gnu.org>
4707
c98863bf
GM
4708 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4709 instead of BITS_PER_INT.
4710 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4711 EMACS_UINT, respectively.
4712 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4713
4714 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4715
4716 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4717
77072ab1
GM
4718 * window.c (freeze_window_starts): Construct last argument for
4719 foreach_window differently.
4720
4721 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4722
4723 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4724 EMACS_UINT instead of `int' and `unsigned int'.
4725 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4726
4727 * frame.h (struct frame): Make the `nothing' member of union
4728 output_data an EMACS_INT.
4729
52283633 4730 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4731 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4732 size in the sdata structure.
4733 (SDATA_NBYTES, SDATA_DATA): New macros.
4734 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4735 differently for the different layout of the sdata structure.
4736 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4737 in sdata.
4738 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4739 Check that size recorded in the string size and size recorded in
4740 the sdata structure agree.
4741
3e60b029
DL
47422000-09-25 Dave Love <fx@gnu.org>
4743
4744 * buffer.c: Include stdio.h.
4745
4746 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4747
3e60b029
DL
4748 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4749
4750 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4751 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4752 (__malloc_extra_blocks): Declare as __malloc_size_t.
4753
8ff16b4e
GM
47542000-09-25 Gerd Moellmann <gerd@gnu.org>
4755
755a2ccd
GM
4756 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4757
d8b4516f
GM
4758 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4759 (read_char): If help-echo is showing, preserve the echo area
4760 when redisplaying.
4761
4762 * xdisp.c (help_echo_showing_p): New variable.
4763 (set_message): Reset it to 0.
4764 (init_xdisp): Initialize help_echo_showing_p.
4765
4766 * dispextern.h (help_echo_showing_p): Declare extern.
4767
4768 * config.in: Fix typo in __GNUC_MINOR__.
4769
4770 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4771
b11af2dd
GM
4772 * s/freebsd.h (POSIX_SIGNALS): Define.
4773
8ff16b4e
GM
4774 * xterm.c (x_clear_mouse_face): Block/unblock input.
4775
844eb643
DL
47762000-09-24 Dave Love <fx@gnu.org>
4777
4778 * fns.c (base64_encode_1): Fix last change.
4779
b30ab1b3
GM
47802000-09-22 Gerd Moellmann <gerd@gnu.org>
4781
4782 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4783
4784 * xdisp.c (try_window_reusing_current_matrix): More fixes
4785 for the case window has a header-line.
4786
c6cbe5f0
DL
47872000-09-22 Dave Love <fx@gnu.org>
4788
4c7c1f3f
DL
4789 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4790 a doc string.
4791
4792 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4793
c6cbe5f0
DL
4794 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4795
550a625e
GM
47962000-09-21 Gerd Moellmann <gerd@gnu.org>
4797
4c7c1f3f 4798 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4799 for GCC >= 2.5.
4800
52283633
SM
4801 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4802 Declare NO_RETURN.
fca99116 4803
80d26f99
GM
4804 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4805 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4806 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4807 warnings.
52283633 4808
80d26f99
GM
4809 * marker.c (byte_char_debug_check): Return void.
4810
623a0aae
GM
4811 * xfns.c (Fx_create_frame): Set default frame parameter value
4812 for tool-bar-lines to 1.
4813
4814 * dispnew.c (scrolling_window): Compare y-positions of rows
4815 equal at the start. Some simplification.
4816
4817 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4818 reused rows' y-position in the case window has a header-line, and
4819 new window start is greater than old window start.
4820
42ac0ae5
GM
4821 * process.c (process_sent_to): New variable.
4822 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4823 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4824 Declare more parameters volatile.
4825
550a625e
GM
4826 * lread.c (Vrecursive_load_depth_limit): New variable.
4827 (Fload): Check recursive loads whose recursion depth exceeds
4828 Vrecursive_load_depth_limit.
4829 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4830
8320414c
GM
48312000-09-20 Gerd Moellmann <gerd@gnu.org>
4832
f46c275e
GM
4833 * fileio.c (Fread_file_name): Doc fix.
4834
4835 * editfns.c (Fmessage_or_box): Doc fix.
4836
4837 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4838
b7e11c5b 4839 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4840
8320414c
GM
4841 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4842 symbols are specified, add color translations to the cache.
52283633 4843 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4844 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4845 xpm_cache_color.
4846 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4847 structures to xpm_init_color_cache.
4848
da1608d9
GM
48492000-09-19 Gerd Moellmann <gerd@gnu.org>
4850
52283633 4851 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4852
6badfa25
AI
48532000-09-19 Andrew Innes <andrewi@gnu.org>
4854
4855 * makefile.nt (bootstrap-emacs): Don't change directory.
4856
3a5f42bb
KH
48572000-09-19 Kenichi Handa <handa@etl.go.jp>
4858
1b7649bd
KH
4859 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4860
3a5f42bb
KH
4861 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4862 If output buffer is too small, signal an appropriated error.
4863
9f83cf0b
DL
48642000-09-18 Dave Love <fx@gnu.org>
4865
52283633 4866 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4867 (current_active_maps): Remove redundant get_local_map call.
4868
28c7826c
GM
48692000-09-18 Gerd Moellmann <gerd@gnu.org>
4870
5cefa566
GM
4871 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4872 cursor for buffers whose cursor_type is nil.
52283633 4873
6fed3546
GM
4874 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4875 a feature to implement that is already implemented.
4876 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4877 warnings.
4878
4879 * xfns.c (x_clear_image_1): New function.
4880 (x_clear_image): Use it.
52283633 4881 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4882
05b1f851
GM
4883 * dispnew.c (update_window): Move test for invisible lines
4884 at the top to update_window_line.
4885 (update_window_line): Handle invisible lines here.
4886
f4779de9
GM
4887 * xfns.c (clear_image_cache): Clear current matrices of all
4888 frames sharing an image cache. Block input while freeing
4889 images. Fix timestamp comparison.
4890 (x_clear_image): Also free the mask.
4891
28c7826c
GM
4892 * xfns.c (lookup_image): Block input while loading the image so
4893 that we won't get interrupted in a state where the image isn't yet
4894 set up completely.
4895 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4896 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4897 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4898 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4899
b7412313
GM
49002000-09-16 Gerd Moellmann <gerd@gnu.org>
4901
4902 * dispnew.c (update_window): Make sure to make desired rows
4903 current even if they are completely invisible at the top
4904 of a window.
4905
47e351a3
GM
49062000-09-15 Gerd Moellmann <gerd@gnu.org>
4907
7f8f1edc
GM
4908 * xfns.c (lookup_image): Build mask before applying an algorithm.
4909 Recognize algorithm `disabled'.
4910 (cross_disabled_images): New variable.
4911 (COLOR_INTENSITY): New macro.
4912 (x_detect_edges): Use COLOR_INTENSITY.
4913 (x_disable_image): New function.
4914 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4915
4916 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4917 disabled state, don't apply an image transformation algorithm if
4918 the user specified an image for the disabled state. Use
28c7826c 4919 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4920 user hasn't specified an image.
4921
ebb8f116
GM
4922 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4923 allocation functions with the XPM lib.
4924 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4925 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4926 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4927 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 4928 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
4929 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4930 functions, if possible, because these handle color allocation
4931 failure more gracefully.
4932 (Fimage_mask_p): New function.
4933
47e351a3
GM
4934 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4935 (Qedge_detection, Qheuristic): New symbols.
4936 (syms_of_xfns): Initialize new symbols.
4937 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4938 `algorithm (edge-detection ...)'.
4939 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4940 (tiff_format, gif_format, gs_format): Add `:mask'.
4941 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4942 (GIF_MASK, GS_MASK): New enumerators.
4943 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4944 (emboss_matrix, laplace_matrix): New variables.
4945 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4946 (x_edge_detection): New functions.
4947 (x_laplace): Rewritten in terms of x_detect_edges.
4948 (x_build_heuristic_mask): If image has a mask, free it.
4949
fe83b953
AI
49502000-09-14 Andrew Innes <andrewi@gnu.org>
4951
4952 * makefile.w32-in: Revert to Unix line endings.
4953
3021e816
AI
49542000-09-14 Andrew Innes <andrewi@gnu.org>
4955
4956 * makefile.w32-in: Standardize indentation somewhat.
4957 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4958 cater for differences between shells.
4959
4960 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4961
2a32b5ea
GM
49622000-09-14 Gerd Moellmann <gerd@gnu.org>
4963
4964 * xterm.c (x_produce_glyphs): If the distance from the current
4965 position to the next tab stop is less than a canonical character
4966 width, use the tab stop after that.
4967
b4331e96
DL
49682000-09-14 Dave Love <fx@gnu.org>
4969
4970 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4971
ef9e4345
GM
49722000-09-14 Gerd Moellmann <gerd@gnu.org>
4973
085536c2
GM
4974 * xdisp.c (handle_fontified_prop): While running fontification
4975 functions, bind `fontification-functions' and
4976 `after-change-functions' to nil.
4977
ef9e4345
GM
4978 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4979 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4980
4981 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4982
4983 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4984 USE_MMAP_FOR_BUFFERS.
4985
4986 * insdel.c (make_gap): Use enlarge_buffer_text.
4987
4988 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4989 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4990 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4991 from former r_alloc_* functions in ralloc.c.
52283633 4992 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
4993 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4994 (mmap_init) [REL_ALLOC_MMAP]: New function.
4995 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4996 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4997 BUFFER_FREE.
4998
4999 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
5000 (enlarge_buffer_text): Add prototype.
5001
5002 * ralloc.c: Remove everything having to do with the use of mmap.
5003
f8608968
GM
50042000-09-13 Gerd Moellmann <gerd@gnu.org>
5005
2a494b2d
GM
5006 * sound.c (Fplay_sound): Doc fix.
5007
8c907a56
GM
5008 * keyboard.c: Avoid some more compiler warnings.
5009 (parse_tool_bar_item): Ignore cached key bindings.
5010
f8608968
GM
5011 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
5012 and allocation of Lisp data.
5013
6ab70e9a
GM
50142000-09-12 Gerd Moellmann <gerd@gnu.org>
5015
d12d0a9b
GM
5016 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
5017 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
5018 defaults first.
5019
6ab70e9a
GM
5020 * lread.c (Fload): Put code checking for recursive loads in #if 0.
5021
63c36c3c
KH
50222000-09-12 Miyashita Hisashi <himi@meadowy.org>
5023
5024 * ccl.c: Comment fixed.
5025 (MAX_MAP_SET_LEVEL): Increased to 30.
5026 (PUSH_MAPPING_STACK): Enclose with do-while block.
5027 (POP_MAPPING_STACK): Likewise.
5028 (stack_idx_of_map_multiple): New variable.
5029 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
5030 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 5031 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
5032 (ccl_driver) <CCL_MapSingle>: Likewise.
5033 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
5034 with the case where looking up process reaches to the end of
5035 map-set, and call CCL programs as the above change.
5036
7ee3bd7b
GM
50372000-09-11 Gerd Moellmann <gerd@gnu.org>
5038
8ec8a5ec
GM
5039 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5040 that might be clobbered by longjmp.
5041 (check_x_display_info, x_decode_color, create_frame_xic)
5042 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5043 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5044
f74b0705
GM
5045 * lread.c (init_lread): Set Vloads_in_progress to nil.
5046 (Fload): Show list of recursively loaded files, when signaling an
5047 error.
5048
7ee3bd7b
GM
5049 * lread.c (Vloads_in_progress): New variable.
5050 (record_load_unwind): New function.
5051 (Fload): Check for recursive loads.
5052 (syms_of_lread): Initialize Vloads_in_progress.
5053 (read_integer, read1): Avoid some compiler warnings.
5054
5055 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5056 compiler warnings.
5057
974e1e5b
MB
50582000-09-11 Miles Bader <miles@gnu.org>
5059
5060 * editfns.c (Fbuffer_string): Doc fix.
5061
9824c4e3
GM
50622000-09-10 Gerd Moellmann <gerd@gnu.org>
5063
5064 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5065
6a72fdd1
KR
50662000-09-09 Ken Raeburn <raeburn@gnu.org>
5067
5068 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5069 whether to include other header files.
5070
28e6fb66
GM
50712000-09-09 Gerd Moellmann <gerd@gnu.org>
5072
52283633 5073 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5074 by Fmemq as a boolean.
28e6fb66 5075
7f8b6551
SM
50762000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5077
5078 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5079
a8710abf
GM
50802000-09-08 Gerd Moellmann <gerd@gnu.org>
5081
d1a02881
GM
5082 * ralloc.c (mmap_fd): Remove initializer which can make it
5083 read-only in a dumped Emacs.
5084 (mmap_fd_1): New variable.
5085 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5086 restore it from there.
5087 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5088 unconditionally so that mmap_fd can be initialized there.
5089 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5090 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5091 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5092
c454aac1
GM
5093 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5094
5095 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5096 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5097
fc653ef2
GM
5098 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5099
3015eec0
GM
5100 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5101 inheritance.
5102
bfe0ee88
GM
5103 * xdisp.c (try_window_id): When trying to locate cursor in
5104 unchanged rows at the top, handle the case that we can't find it.
5105
a8710abf
GM
5106 * xterm.c (x_draw_glyphs): Handle case START and END are out
5107 of bounds more carefully.
5108
6b7d4ae4
DL
51092000-09-08 Dave Love <fx@gnu.org>
5110
423193c5
DL
5111 * s/sol2.h (REL_ALLOC_MMAP): Define.
5112 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5113
5114 * ralloc.c: Don't include string.h (redundant).
5115 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5116 [!MAP_ANON]: Include fcntl.h.
5117 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5118 (r_alloc, r_re_alloc, r_alloc_free)
5119 (mmap_enlarge, mmap_set_vars): Use it.
5120 (r_alloc_init_fd): New function.
5121 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5122 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5123 malloc type.
5124
5125 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5126 Remove vm-limit.o.
5127
6b7d4ae4
DL
5128 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5129 change to __NetBSD__.
5130
44d31981
KH
51312000-09-08 Kenichi Handa <handa@etl.go.jp>
5132
5133 * search.c (compile_pattern): Check the multibyteness of cached
5134 string and PATTERN.
5135
aad40737
MB
51362000-09-08 Miles Bader <miles@gnu.org>
5137
5138 * xfaces.c (default_face_vector): Function removed.
5139 (Finternal_merge_in_global_face): Restore old global/local
5140 attribute override order. Use inline loop instead of calling
5141 default_face_vector.
5142
91a211b5
GM
51432000-09-07 Gerd Moellmann <gerd@gnu.org>
5144
5145 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5146 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5147 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5148 where necessary, in case POINTER_TYPE is `void'.
5149
03419440
EZ
51502000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5151
5152 * frame.c (make_terminal_frame): Initialize frame foreground and
5153 background colors to unspecified, for the initial instance of an
5154 MSDOS frame.
5155
f46f845b
GM
51562000-09-07 Gerd Moellmann <gerd@gnu.org>
5157
24f76fbf
GM
5158 * ralloc.c (mmap_find): Fix overlap computation.
5159 (mmap_enlarge): Compute nbytes before trying to find an
5160 overlapping region.
5161
f46f845b
GM
5162 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5163 instead of `!='.
5164
5165 * lread.c (syms_of_lread): Change value of regexp
5166 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5167
5168 * xmenu.c (xdialog_show): When looking up the selection in
5169 menu_items, take `quote' boundaries into account; this corresponds
5170 to a nil ITEM in x-popup-dialog.
5171
3c014385
KH
51722000-09-07 Kenichi Handa <handa@etl.go.jp>
5173
fd6f711b
KH
5174 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5175 not 0x81.
5176 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5177
3c014385 5178 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5179 encoding, not decoding. Fix the handling of latin-jisx0201.
5180 Check for the charset katakana-jisx0201 too.
3c014385 5181 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5182 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5183
0da3ecef
GM
51842000-09-07 Gerd Moellmann <gerd@gnu.org>
5185
ab0ee409
GM
5186 * xfaces.c (Vparam_value_alist): New variable.
5187 (syms_of_xfaces): Initialize it.
5188 (Finternal_set_lisp_face_attribute): Avoid more consing.
5189
5190 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5191 specially.
5192 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5193 (Qbackground_mode): New variable.
5194 (syms_of_frame_1): Initialize Qbackground_mode.
5195
5196 * lisp.h (Qdisplay): Declare extern.
1091dd67 5197
0da3ecef
GM
5198 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5199 change face on all frames, and change the default for new frames.
5200
b14654b9
DL
52012000-09-07 Dave Love <fx@gnu.org>
5202
5203 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5204
d24fd56f
KH
52052000-09-07 Kenichi Handa <handa@etl.go.jp>
5206
794f3670
KH
5207 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5208
0fddd0dc
KH
5209 * charset.c: Include composite.h
5210 (lisp_string_width): New function.
5211 (Fstring_width): Call lisp_string_width instead of strwidth.
5212
5213 * Makefile.in (charset.o): Depends on composite.h.
5214
d24fd56f
KH
5215 * process.c (read_process_output): Before inserting the decoded
5216 text in the buffer, adjust the multibyteness.
5217
fa0b693c
GM
52182000-09-06 Gerd Moellmann <gerd@gnu.org>
5219
52283633 5220 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5221 buffer's text buffer is null, map new memory.
5222
0a58f946
GM
5223 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5224 POINTER_TYPE and size_t.
5225 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5226 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5227 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5228 [REL_ALLOC_MMAP]: New macros.
5229 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5230 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5231 [REL_ALLOC_MMAP]: New functions.
5232
5233 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5234 before and after unexec.
5235
5236 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5237 text buffers if necessary.
5238
5239 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5240 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5241 in prototypes.
5242
fa0b693c
GM
5243 * config.in (HAVE_MMAP): Add #undef.
5244
877055f6
GM
52452000-09-05 Gerd Moellmann <gerd@gnu.org>
5246
08ba3862
GM
5247 * frame.c (Qdisplay_type): New variable.
5248 (syms_of_frame_1): Initialize it.
5249 (Fframe_parameter): New function that avoids consing.
5250 (syms_of_frame): Defsubr it.
5251
66ffe51c
GM
5252 * buffer.c (Fother_buffer): Consider buffers as invisible when
5253 they are displayed in a window on an invisible frame.
5254
877055f6
GM
5255 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5256 get-largest-window always return nil.
5257
bb970e67
GM
52582000-09-04 Gerd Moellmann <gerd@gnu.org>
5259
5260 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5261 variable; recognize Emacs 19 elc files.
5262
7a3d0e0e
MB
52632000-09-04 Miles Bader <miles@gnu.org>
5264
5265 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5266 before initially popping up the menu, so the menu doesn't flash
52283633 5267 when the face settings are significantly different from the defaults.
7a3d0e0e 5268
14473664
SM
52692000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5270
5271 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5272 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5273 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5274 (BIT_UNIBYTE): Remove.
5275 (re_match_2_internal): Delete corresponding code and streamline the
5276 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5277 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5278 (re_wctype_t): New type.
5279 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5280 (regex_compile): Use them and fix handling of overly long char classes.
5281
c1174479
AI
52822000-09-03 Andrew Innes <andrewi@gnu.org>
5283
f8803e97
AI
5284 * makefile.w32-in: Change to DOS line endings.
5285
c1174479
AI
5286 * s/ms-w32.h (ORDINARY_LINK): New define.
5287
5288 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5289 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5290
5291 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5292 (distclean): Delete them here instead.
5293
44ef7cf6
AI
5294 * w32proc.c (compare_env): Convert to uppercase for comparison,
5295 not lowercase, to match how the native Windows shell works.
5296
49b3bd82
JR
52972000-09-03 Jason Rumney <jasonr@gnu.org>
5298
5299 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5300 CVS changes the line-ends when checking in/out on DOS/Windows.
5301
5302 * makefile.nt (emacs): Do not change directory to run temacs, as
5303 the load-path is set relative to current directory.
5304
a3d35a39
MB
53052000-09-03 Miles Bader <miles@gnu.org>
5306
5307 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5308
d276b0cf
GM
53092000-09-02 Gerd Moellmann <gerd@gnu.org>
5310
715e84c9
GM
5311 * xdisp.c (redisplay_mode_lines): New function.
5312 (display_mode_lines): Return number of mode lines displayed.
5313 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5314 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5315
8892f40b
GM
5316 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5317 string.h and strings.h.
5318 (index) [HAVE_INDEX]: Add prototype.
5319
d276b0cf
GM
5320 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5321 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5322
5323 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5324 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5325
38404229
GM
53262000-09-01 Gerd Moellmann <gerd@gnu.org>
5327
5328 * lread.c (read1): Accept `?' as symbol constituent, for
5329 compatiblity with XEmacs.
5330
c0f9ea08
SM
53312000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5332
5333 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5334 (struct re_pattern_buffer): Remove newline_anchor.
5335 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5336 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5337 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5338 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5339 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5340 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5341 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5342 Get rid of references to newline_anchor.
5343 (regcomp): Allocate and precompute a fastmap.
5344
8c0f83fe
GM
53452000-08-31 Gerd Moellmann <gerd@gnu.org>
5346
5347 * lread.c (openp): GCPRO local variable `filename'.
5348
4bb91c68
SM
53492000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5350
5351 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5352
5353 * regex.c: Merge some changes from GNU libc. Add prototypes.
5354 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5355 Use memcmp and memcpy instead of bcopy and bcmp.
5356 (init_syntax_once): Use ISALNUM.
5357 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5358 (REG_UNSET_VALUE): Remove. Use NULL instead.
5359 (REG_UNSET, re_match_2_internal): Use NULL.
5360 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5361 New macros.
5362 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5363 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5364 (regex_compile): In handle_interval, return an error rather than try to
5365 unfetch the interval if we can't find the closing brace.
5366 Obey the RE_NO_GNU_OPS syntax bit.
5367 (TOLOWER): New macro.
5368 (regcomp): Use it.
5369 (regexec): Allocate regs.start and regs.end as one block.
5370
5226a931
GM
53712000-08-30 Gerd Moellmann <gerd@gnu.org>
5372
868dd24b
GM
5373 * xdisp.c (echo_area_display): Check display_completed instead
5374 of calling detect_input_pending.
5375
5376 * dispnew.c (update_frame): Only set display_completed here; move
5377 the update_begin and update_end calls here from update_frame_1.
5378 (update_frame_1): Don't set display_completed here, don't call
5379 update_begin/update_end.
5380
5226a931
GM
5381 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5382 instead of store_frame_param.
5383
2a8bd25f
GM
53842000-08-29 Gerd Moellmann <gerd@gnu.org>
5385
5386 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5387 desired window matrix hasn't been displayed, use the current row
5388 instead. Make sure that only those frame rows are updated for
5389 which there exists a corresponding enabled desired row.
52283633 5390
ba3478d9
MB
53912000-08-29 Miles Bader <miles@gnu.org>
5392
5393 * xfaces.c (default_face_vector): New function.
5394 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5395
87d0f685
GM
53962000-08-29 Gerd Moellmann <gerd@gnu.org>
5397
5398 * lread.c (openp): Prevent temporary string passed to
5399 Ffile_readable_p from being garbage collected.
5400
6fa86045
DL
54012000-08-28 Dave Love <fx@gnu.org>
5402
5403 * keymap.c (store_in_keymap): Add `static' to declaration.
5404
bb17930d
GM
54052000-08-28 Gerd Moellmann <gerd@gnu.org>
5406
5407 * emacs.c, callint.c, doc.c, editfns.c
5408 (toplevel) [HAVE_STRING_H]: Include string.h.
5409 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5410 (index): Remove prototypes which might conflict with non-standard
5411 definitions of index/strchr.
5412
5413 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5414 (rindex): Define only if !HAVE_RINDEX.
5415
5416 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5417
5418 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5419
87188200
MB
54202000-08-28 Miles Bader <miles@gnu.org>
5421
5422 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5423 made inconsistent by a font-related attribute in FROM.
5424 (merge_face_inheritance): Add function comment.
5425
41a68aef
KH
54262000-08-28 Kenichi Handa <handa@etl.go.jp>
5427
5428 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5429 the 4th arg (PREV_EVENT) Qt to suppress input method.
5430
f7c436c1
SM
54312000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5432
0b32bf0e
SM
5433 * regex.c: Indent cpp directives and remove parens after `defined'.
5434 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5435 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5436 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5437 (re_compile_pattern): Use size_t for length.
5438 (init_syntax_once): Move to a better place.
5439 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5440 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5441
f7c436c1
SM
5442 * syntax.c (back_comment): Detect cases where a comment-starter is
5443 actually inside another comment as in: /* a // b */ c // d \n.
5444 Make it clear that `comstart_pos' is unused for nested comments.
5445
5446 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5447 (KEYMAPP): New macro.
5448 (Fkeymap_parent, Fset_keymap_parent): Use it.
5449 (fix_submap_inheritance): Mark it static.
5450 (define_as_prefix, describe_buffer_bindings, describe_command)
5451 (describe_translation, describe_map): Complete prototypes.
5452
5453 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5454
5455 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5456 to better match the key-lookup behavior.
5457
6288c62f
GM
54582000-08-27 Gerd Moellmann <gerd@gnu.org>
5459
5460 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5461 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5462
e931344e
EZ
54632000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5464
5465 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5466 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5467 (xterm.o): Depend on coding.h
5468
d10dfeef
KH
54692000-08-26 Kenichi Handa <handa@etl.go.jp>
5470
5471 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5472 the corresponding '#endif'.
5473
2d73e8d3
MB
54742000-08-26 Miles Bader <miles@gnu.org>
5475
5476 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5477 * xfaces.c (QCinherit): New variable.
5478 (syms_of_xfaces): Initialize it.
5479 (LFACE_INHERIT): New macro.
5480 (Finternal_get_lisp_face_attribute)
52283633 5481 (merge_face_vector_with_property)
2d73e8d3
MB
5482 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5483 (check_lface_attrs): Allow new types of face height. Check
5484 inherit attribute.
5485 (CYCLE_CHECK): New macro.
5486 (merge_face_inheritance): New function.
5487 (merge_face_vectors): Merge inherited faces too. Add F and
5488 CYCLE_CHECK arguments.
5489 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5490 (lookup_named_face, lookup_derived_face, realize_named_face)
5491 (face_at_string_position, face_at_buffer_position): Supply
5492 new F and CYCLE_CHECK arguments to merge_face_vectors.
5493 (merge_face_heights): New function.
52283633 5494 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5495 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5496 handle relative face heights.
5497 (lface_same_font_attributes_p): Compare heights using EQ.
5498
6ce974d4
KH
54992000-08-26 Kenichi Handa <handa@etl.go.jp>
5500
5501 * charset.c (char_to_string): Check the character validity.
52283633 5502 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5503
dc1e502d
SM
55042000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5505
5506 * regex.c (PUSH_FAILURE_COUNT): New macro.
5507 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5508 Handle popping of a register's or a counter's data.
5509 (POP_FAILURE_POINT): Use the new name.
5510 (re_match_2_internal): Push counter data on the stack for succeed_n,
5511 jump_n and set_number_at and remove misleading dead code in succeed_n.
5512
bd9d0f3f
GM
55132000-08-25 Gerd Moellmann <gerd@gnu.org>
5514
5515 * xdisp.c (redisplay_internal): If considering all windows on all
5516 frames, update the display for each frame as soon as possible,
5517 instead of first building all desired matrices for all frames, and
5518 then updating them all.
5519 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5520
aa5b8e15
GM
55212000-08-24 Gerd Moellmann <gerd@gnu.org>
5522
17494071
GM
5523 * bytecode.c (mark_byte_stack): Add a comment.
5524
52283633
SM
5525 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5526 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5527 a graphical frame.
5528
c543db81
KH
55292000-08-24 Kenichi Handa <handa@etl.go.jp>
5530
d246d5f5
KH
5531 * minibuf.c (do_completion): Always use compare-string, not
5532 string-equal because the latter doesn't pay attention to
5533 multibyteness of strings.
5534
c543db81
KH
5535 * process.c (create_process): Don't setup raw-text coding here.
5536 (Fopen_network_stream): Don't set coding->src_multibyte and
5537 coding->dst_multibyte here.
5538 (read_process_output): For process filter, return unibyte string
5539 if default-enable-multibyte-characters is nil.
5540 (send_process): If OBJECT is multibyte text, be sure to encoded it
5541 by the specified coding system for the process. Otherwise, setup
5542 raw-text coding.
52283633 5543 (init_process): Don't initialize default-process-coding-system here.
c543db81 5544
9b47cfe0
EZ
55452000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5546
5547 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5548 <scroll-down-aggressively>: Likewise.
5549
f5a36960
KH
55502000-08-23 Kenichi Handa <handa@etl.go.jp>
5551
5552 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5553 zero. Set coding->produced_char correctly.
5554
69a7ffa7
AI
55552000-08-22 Andrew Innes <andrewi@gnu.org>
5556
5557 * makefile.w32-in: New file.
5558
5559 * unexw32.c (unexec): Ignore old_name, and use the actual location
5560 of the current executable instead. Base new_name on this.
5561
5562 * w32proc.c (create_child): Remove reference to security
5563 descriptor, which isn't needed and doesn't compile with mingw32.
5564
5565 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5566 up dllimport attributes.
5567 (x_update_window_end): Update prototype.
5568
5569 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5570 extern, which screws up dllimport attributes.
5571
5572 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5573 up dllimport attributes.
5574
5575 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5576 screws up dllimport attributes.
5577
5578 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5579 up dllimport attributes.
5580 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5581 screws up dllimport attributes.
5582
5583 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5584 up dllimport attributes.
5585
5586 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5587 screws up dllimport attributes.
5588
5589 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5590 screws up dllimport attributes.
5591
5592 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5593 up dllimport attributes.
5594
5595 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5596 unnecessary extern, which screws up dllimport attributes.
5597 (main): Ditto.
5598
5599 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5600 up dllimport attributes.
5601
5602 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5603 unnecessary extern, which screws up dllimport attributes.
5604
5605 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5606 screws up dllimport attributes.
5607
5608 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5609 up dllimport attributes.
5610
5611 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5612
52283633
SM
5613 * w32bdf.c (search_file_line):
5614 (set_bdf_font_info):
5615 (seek_char):
5616 (w32_get_bdf_glyph):
69a7ffa7
AI
5617 (w32_BDF_to_x_font): Fix compile warnings.
5618
52283633 5619 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5620
5621 * w32select.c: Include keyboard.h before frame.h.
5622
5623 * w32fns.c (max): Define macro.
5624 (JOHAB_CHARSET): Define if not known.
5625 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5626 (Fx_show_tip): Synch with X version.
5627
5628 * w32xfns.c: Include keyboard.h before frame.h.
5629
5630 * w32fns.c: Include keyboard.h before frame.h.
5631
5632 * w32term.c: Include keyboard.h before frame.h.
5633
5634 * fontset.c: Include keyboard.h before frame.h.
5635
5636 * w32inevt.c: Include keyboard.h before frame.h.
5637 (MOUSE_MOVED): Define if not known.
5638
5639 * minibuf.c: Include keyboard.h before frame.h.
5640
5641 * keyboard.c: Include keyboard.h before frame.h.
5642
5643 * indent.c: Include keyboard.h before frame.h.
5644
5645 * dispnew.c: Include keyboard.h before frame.h.
5646
5647 * buffer.c: Include keyboard.h before frame.h.
5648
5649 * alloc.c: Include keyboard.h before frame.h.
5650
5651 * print.c: Include keyboard.h before frame.h.
5652
5653 * process.c: Include keyboard.h before frame.h.
5654
5655 * scroll.c: Include keyboard.h before frame.h.
5656
5657 * sysdep.c: Include keyboard.h before frame.h.
5658
5659 * term.c: Include keyboard.h before frame.h.
5660
5661 * window.c: Include keyboard.h before frame.h.
5662
5663 * xdisp.c: Include keyboard.h before frame.h.
5664 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5665
5666 * frame.c: Include keyboard.h before frame.h.
5667
5668 * w32heap.h: Undefine min, max.
5669
5670 * w32gui.h: Undefine min, max.
5671
5672 * unexw32.c: Change PUCHAR to PCHAR.
5673 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5674 (relocate_offset):
5675 (get_section_info):
69a7ffa7
AI
5676 (copy_executable_and_dump_data): Remove unnecessary static defs.
5677 (copy_executable_and_dump_data): Fix compile warnings.
5678
5679 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5680
5681 * w32console.c (min): Define macro.
5682 (clear_frame, write_glyphs): Fix compile warning.
5683
52283633 5684 * w32proc.c (compare_env):
69a7ffa7
AI
5685 (find_child_console): Fix compile warning.
5686
5687 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5688 sys_errlist instead of _sys_errlist.
5689 (get_emacs_configuration_options): New function.
5690
5691 * s/ms-w32.h (sys_nerr): Provide default definition.
5692 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5693 name with _ prepended.
5694 (NSIG): Define if not known.
5695 (get_emacs_configuration): Provide extern declaration.
5696 (get_emacs_configuration_options): Provide extern declaration.
5697 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5698
5699 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5700 (map_w32_filename):
69a7ffa7
AI
5701 (read_unc_volume): Fix compile warning.
5702
5703 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5704 definitions from being used.
5705
5706 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5707
52283633 5708 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5709 (open_unc_volume): Make arg const.
5710
5711 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5712 (read_input_waiting): Remove excess parameter.
5713
5714 * w32.c (init_environment): Call _access.
5715 (check_windows_init_file): Call _close.
5716 (init_user_info): Call _putenv.
5717 (init_environment): Call _putenv and _strdup.
5718 (init_ntproc): Reset volume info cache on startup.
5719
5720 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5721 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5722 cannot override the CRT malloc.
5723
5724 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5725 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5726
5727 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5728 unless we are linking with a static CRT.
5729 (RVA_TO_PTR): Cast result to unsigned char*.
5730
5731 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5732 (add_volume_info): Use xstrdup.
5733
25060080
SM
57342000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5735
5736 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5737 (do_completion, Fminibuffer_complete_word): Use it.
5738 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5739 var so it can take non-boolean values.
5740
6917e6bb
GM
57412000-08-21 Gerd Moellmann <gerd@gnu.org>
5742
acb7cc89 5743 * editfns.c (find_field): Formatting changes.
52283633 5744 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5745 changed to prototypes, some new protypes added, some functions
5746 made static.
5747
5748 * lisp.h (set_time_zone_rule): Add prototype.
5749 (use_dialog_box): External declaration.
5750
0bbfdc25
GM
5751 * keyboard.c (gen_help_event): Add parameter SIZE.
5752 (kbd_buffer_events_waiting): Slightly rewritten.
5753 (clear_event): New function.
5754 (kbd_buffer_get_event): Use it, and clear the input_events of
5755 HELP_EVENTs.
5756 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5757 don't fill the newly created array with nils.
5758 (toplevel): Convert some old-style function forward declarations
5759 to prototypes.
5760
5761 * keyboard.h (gen_help_event): Change prototype.
5762
5763 * xterm.c (XTread_socket): Change calls to gen_help_event.
5764
5765 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5766
6917e6bb
GM
5767 * eval.c (Fmacroexpand): Doc fix.
5768
e5cd3d11
JR
57692000-08-20 Jason Rumney <jasonr@gnu.org>
5770
5771 * w32term.h (x_display_info_for_display): Remove as this function
5772 does not exist on W32.
5773
5774 * w32term.c (help_echo_window): New variable.
5775 (syms_of_w32term): staticpro it.
5776 (note_mode_line_highlight): Set it.
5777 (XTextExtents16): Removed as there is no equivalent on W32.
5778 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5779 the X way of doing this will not work for W32.
5780 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5781 (x_draw_image_foreground): Avoid drawing outside of the clip area
5782 when image doesn't have a mask.
5783 (note_mouse_highlight): Process overlays in the right order of
5784 priority. Set help_echo_window.
5785 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5786 because that's more visible for large images.
5787
5788 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5789 name to single_keymap_panes.
5790 (w32_menu_show): Set wv->title when dealing with titles.
5791 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5792
6e69ab8c
MB
57932000-08-21 Miles Bader <miles@gnu.org>
5794
5795 * minibuf.c (do_completion): Try again if we rewrite the input
5796 string, but no completion was done, so that any completion message
5797 will be correct.
5798
511bd4eb
GM
57992000-08-20 Gerd Moellmann <gerd@gnu.org>
5800
5801 * xfaces.c (lface_equal_p): Compare strings differently.
5802 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5803 (realize_tty_face): Use them.
5804 (syms_of_xfaces): Initialize new variables.
5805 (map_tty_color): New function, extracted from realize_tty_face.
5806 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5807 foreground or background color, store the new color name in the
5808 realized face; previous code trying to do this had no effect.
5809 (realize_tty_face): Use map_tty_color.
5810 (Fclear_face_cache): Set face_change_count and ensure thorough
5811 redisplay.
5812
1433385f
GM
58132000-08-19 Gerd Moellmann <gerd@gnu.org>
5814
511bd4eb
GM
5815 * undo.c (record_first_change, record_marker_adjustment): Don't
5816 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5817
419ac0a2
KH
58182000-08-18 Kenichi Handa <handa@etl.go.jp>
5819
5820 * coding.c (decode_coding_string): Set members consumed,
5821 consumed_char, produced, produced_char of *coding correctly. If
5822 decode_coding doesn't consume any byte, don't try anymore.
5823 (encode_coding_string): Likewise.
5824
7eb9e30d
GM
58252000-08-18 Gerd Moellmann <gerd@gnu.org>
5826
511bd4eb
GM
5827 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5828 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5829
5830 * xdisp.c (redisplay_internal): Compare windows for equality with
5831 EQ, instead of applying XWINDOW to something that might not
5832 be a window.
52283633 5833
dd34a735
KH
58342000-08-18 Kenichi Handa <handa@etl.go.jp>
5835
5836 * fontset.c (Finternal_char_font): Search only the selected frame
5837 for a window of the current buffer.
5838
385ff9e3
GM
58392000-08-18 Gerd Moellmann <gerd@gnu.org>
5840
511bd4eb 5841 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5842 Lisp_Objects.
5843
385ff9e3
GM
5844 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5845 second half of a HELP_EVENT is found at the start of kbd_buffer.
5846
d6abb4c7
MB
58472000-08-18 Miles Bader <miles@gnu.org>
5848
4618074a
MB
5849 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5850
d6abb4c7
MB
5851 * editfns.c (save_restriction_save): Rewrite to use markers.
5852 (save_restriction_restore): Rewrite to understand new form of data
5853 saved by save_restriction_save.
5854 (Fsave_restriction): Remove cautionary note in doc-string.
5855
a7b28523
GM
58562000-08-17 Gerd Moellmann <gerd@gnu.org>
5857
5858 * fileio.c (build_annotations): Add a comment explaining the
5859 return value of format-annotate-function. Replace a spurious call
5860 to Flength with a CONSP test. Call format-annotate-function with
5861 a fifth arg specifying how many times the function is been called
5862 in a row, to let it choose temporary buffers appropriately.
5863
03c9ed77
DL
58642000-08-17 Dave Love <fx@gnu.org>
5865
5866 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5867 declare make_temp_name twice.
5868
52283633 5869 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5870 (unreadpure): Give it an arg.
5871
5872 * unexalpha.c: Prototype fatal_unexec, mark_x,
5873 update_dynamic_symbols. Declare unexec as void.
5874
5875 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5876 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5877
5878 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5879 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5880
5881 * alloca.c: Use #error.
5882 [POINTER_TYPE]: Use it.
5883
5884 * eval.c (Fdefvar): Doc fix.
5885
5886 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5887 INITIALIZE_INTERVAL.
5888
5889 * buffer.h: Avoid DECLARE_INTERVALS.
5890
5891 * config.in: Add size_t.
5892
aae41d97
EZ
58932000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5894
5895 * w16select.c (set_clipboard_data): If there's not enough memory
5896 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5897 expects. In case of other failures, return 3.
5898 (system_error_msg): New error message.
5899 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5900 system_error_msg.
5901
65aa5e85
GM
59022000-08-16 Gerd Moellmann <gerd@gnu.org>
5903
5904 * term.c (write_glyphs): Also turn off inverse video after turning
5905 off other appearances in case TS_exit_attribute_mode is not equal
5906 to TS_end_standout_mode.
5907 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5908 with the same face.
5909 (turn_off_face): Reset standout_mode only if
5910 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5911 is equal to TS_end_standout_mode.
5912
ece23901
KH
59132000-08-16 Kenichi Handa <handa@etl.go.jp>
5914
9d7bcb2e
KH
5915 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5916 sequence at the end of the source block.
5917
ece23901
KH
5918 * ccl.c (Fccl_program_p): Docstring modified.
5919 (Fccl_execute): Likewise.
5920 (Fccl_execute_on_string): Likewise.
5921
5e30eaa2
EZ
59222000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5923
5924 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5925
290602fd
KH
59262000-08-16 Kenichi Handa <handa@etl.go.jp>
5927
5928 The following changes are mainly to fix bugs of
5929 encode/decode-coding-string failing if encoding/decoding return
5930 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5931 variable conversion_buffer.
5932
5933 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5934 decrement dst_end to avoid buffer overflow in the later call of
5935 string_as_multibyte
5936
5937 * coding.h (conversion_buffer_size, conversion_buffer)
5938 (get_conversion_buffer): Extern deleted.
5939
5940 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5941 (conversion_buffer, conversion_buffer_size): Variables deleted.
5942 (get_conversion_buffer): Function deleted.
5943 (struct conversion_buffer): New structure.
5944 (MAX_ALLOCA): New macro.
5945 (allocate_conversion_buffer): New macro.
5946 (extend_conversion_buffer, free_conversion_buffer): New functions.
5947 (ccl_coding_driver): Set coding->result.
5948 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5949 this is the last block of source.
5950 (encode_coding): Likewise. Handle the source block as the last
5951 one only when the whole source text is consumed.
5952 (decode_coding_string): Handle the case that the output buffer is
5953 too small to decode the whole source text. Use
5954 allocate_conversion_buffer, extend_conversion_buffer and
5955 free_conversion_buffer, not get_conversion_buffer.
5956 (encode_coding_string): Likewise.
5957 (init_coding): Function deleted.
52283633 5958 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
5959
5960 * emacs.c (main): Don't call init_coding.
5961
52283633 5962 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
5963
5964 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5965 (insert_glyphs): Likewise.
5966
5967 * w32console.c (write_glyphs): Use a locally declared
5968 conversion_buffer.
5969
b9f80d41
EZ
59702000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5971
5972 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5973 member of display_info is NULL.
5974
32dc52f7
GM
59752000-08-15 Gerd Moellmann <gerd@gnu.org>
5976
52283633 5977 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 5978
32dc52f7 5979 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5980 appearances with capability `me'.
32dc52f7
GM
5981 (write_glyphs): Switch on inverse video before each face change.
5982
4eb22d33
DL
59832000-08-14 Dave Love <fx@gnu.org>
5984
5985 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5986 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5987 (lisp_free): Declare and make static.
5988
5989 * window.c: Fix embedded comment.
5990 (syms_of_window): Fix doc string.
5991
90cbf47e
GM
59922000-08-14 Gerd Moellmann <gerd@gnu.org>
5993
52283633 5994 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
5995 make sure to print `C-' before `M-', like in the manual.
5996
440fc135
GM
59972000-08-11 Gerd Moellmann <gerd@gnu.org>
5998
5999 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
6000 since they aren't relocated anymore.
52283633 6001 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
6002
6003 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 6004 partially visible line which is smaller than the window's height.
440fc135 6005
6e264fad
KH
60062000-08-11 Kenichi Handa <handa@etl.go.jp>
6007
6008 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 6009 the multibyte form of eight-bit-control characters.
6e264fad
KH
6010 (Fccl_execute_on_string): Initialize ccl->multibyte.
6011
6012 * ccl.h (struct ccl_program): New member multibyte.
6013
6014 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
6015
c371f69a
KH
60162000-08-11 Kenichi Handa <handa@etl.go.jp>
6017
6018 * regex.c (regex_compile) <normal_char>: Pay attention to
6019 multibyteness.
6020 (analyse_first) <exactn>: Setup fastmap correctly for
6021 eight-bit-control characters.
6022
60232000-08-11 Kenichi Handa <handa@etl.go.jp>
6024
52283633 6025 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
6026
6027 * keyboard.c (make_lispy_event): Handle the new event type
6028 multibyte_char_keystroke.
6029
6030 * xterm.c: Include coding.h.
6031 (XTread_socket): Work around a bug of XmbLookupString. If the
6032 input is from XIM, decode it according to the current locale. In
6033 that case, generate multibyte_char_keystroke events.
6034
b8ddbe71
KH
60352000-08-11 Kenichi Handa <handa@etl.go.jp>
6036
6037 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6038 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6039
47589c8c
GM
60402000-08-10 Gerd Moellmann <gerd@gnu.org>
6041
6042 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6043 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6044 (move_it_in_display_line_to): Record iterator's ascent and descent
6045 before producing glyphs, and restore them when we know the glyph
6046 doesn't fit on the line.
6047 (move_it_to): Restructured so that it's easier to debug. If
6048 moving to a vpos, and not moving to an x or character position,
6049 stop as soon as the specified vpos is reached; don't move further
6050 into that line because that might change the computed line height.
6051 (try_cursor_movement): New function, extracted from the cursor
6052 movement branch of redisplay_window. If ending on a partially
6053 visible line, don't try to scroll if the cursor line is taller
6054 than the window.
6055 (redisplay_window): Use try_cursor_movement.
6056
6057 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6058 because that function doesn't cope with variable-height lines.
6059
6060 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6061 box cursor because that's better visible for large images.
52283633 6062
c51bacd6
MB
60632000-08-10 Miles Bader <miles@gnu.org>
6064
6065 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6066
bea56df7
GM
60672000-08-10 Gerd Moellmann <gerd@gnu.org>
6068
6069 * xdisp.c (Vmessages_buffer_name): New variable.
6070 (message_dolog): Use it.
6071 (syms_of_xdisp): Initialize it.
6072
99cd7364
EZ
60732000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6074
52283633 6075 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6076 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6077 redundant now that keyboard.h is included.
6078
7d093d56
EZ
60792000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6080
6081 * keyboard.c (kbd_buffer_events_waiting): New function.
6082
6083 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6084
6085 * msdos.c: Include keyboard.h.
6086 (XMenuActivate): Empty no_event events from the event buffer. If
6087 no events are left after that, call clear_input_pending.
6088 (mouse_clear_clicks): New function, code moved from mouse_init.
6089 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6090 mouse driver to ``forget'' any past clicks.
6091
6092 * Makefile.in (msdos.o): Depend on keyboard.h.
6093
41e757a6
GM
60942000-08-09 Gerd Moellmann <gerd@gnu.org>
6095
8e7bd231
GM
6096 * lisp.h (input_pending): External declaration.
6097
6098 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6099
8e7bd231
GM
6100 * xdisp.c (echo_area_display): Display thoroughly if input is
6101 pending. Bind redisplay-dont-pause to t during the redisplay.
6102 in case input is pending.
6103
6104 * dispnew.c (Qredisplay_dont_pause): New variable.
6105 (syms_of_display): Initialize and staticpro it.
6106 (update_frame_1): Don't interrupt the display for pending input if
6107 redisplay_dont_pause is set.
52283633 6108
43028b7e
GM
6109 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6110
41e757a6
GM
6111 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6112
2f2174fa
KH
61132000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6114
6115 * callproc.c (Fcall_process): Terminate the unwind-protect around
6116 the post-read-conversion of coding system.
6117
0a6fd67e
MB
6118 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6119 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6120 * buffer.h (overlays_at): Update prototype.
6121 * xdisp.c (next_overlay_change): Update call to overlays_at.
6122 * xfaces.c (face_at_buffer_position): Likewise.
6123 * textprop.c (Fget_char_property): Likewise.
6124 * xterm.c (note_mouse_highlight): Likewise.
6125
0c80756e
MB
6126 * minibuf.c (do_completion): Don't consider a simple change of
6127 case as `completion'.
6128
975f250a
KR
61292000-08-08 Ken Raeburn <raeburn@gnu.org>
6130
52283633 6131 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6132 * undo.c (record_delete): Make sure last_point_position_buffer is
6133 a buffer before comparing pointers.
6134
6135 * coding.h (decode_coding_string): Declare.
6136
6137 * intervals.h (Fprevious_single_char_property_change): Declare.
6138
6139 * textprop.c (Fprevious_single_char_property_change): Don't do
6140 arithmetic directly on lisp objects.
6141
52283633 6142 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6143
6144 * keyboard.h (menu_item_eval_property): Declare.
6145
6146 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6147 reuse as buffer name, instead of recreating (and discarding) every
6148 time a message is logged.
6149 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6150 (current_message_1, truncate_message_1, set_message_1)
6151 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6152 (current_message, truncate_echo_area, display_echo_area)
6153 (resize_echo_area_axactly): Changed calls.
b347b3fd 6154
975f250a 6155 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6156 Lisp object.
975f250a 6157 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6158 must be an integer, not a Lisp object.
975f250a 6159
46dc9912
KH
61602000-08-08 Kenichi Handa <handa@etl.go.jp>
6161
6162 * charset.c (Fchar_width): Doc fix.
6163
9f6d1a6c
GM
61642000-08-08 Gerd Moellmann <gerd@gnu.org>
6165
6166 * charset.c (Fstring_width): Doc fix.
6167
ff3d9573
GM
61682000-08-07 Gerd Moellmann <gerd@gnu.org>
6169
41e757a6 6170 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6171 line, clear ascent and descent members of the iterator structure;
6172 the height of the continued line does not affect the height of the
6173 continuation line.
6174 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6175 line taller than the window.
6176 (redisplay_window) <forced window start>: Handle case that the
6177 middle of the window is not found in any row.
6178 (dump_glyph_row): Show more information.
6179 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6180 first text line in a glyph matrix.
6181
6182 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6183 of the clip area when image doesn't have a mask.
6184
70fc58b3
GM
6185 * fns.c (sweep_weak_table): Fix survival conditions for
6186 key-or-value and key-and-value weakness.
6187
6188 * .gdbinit (xhashtable): New command.
6189
ac0e96ee
GM
6190 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6191 tables out of the list of all weak hash tables.
6192
ff3d9573
GM
6193 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6194 a new buffer is created, make sure echo_area_buffer[] references
6195 the new buffer.
6196
e0d8827b
EZ
61972000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6198
6199 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6200 the doc string.
6201
c6f35378
KH
62022000-08-07 Kenichi Handa <handa@etl.go.jp>
6203
6204 * syntax.c (skip_chars): Fix previous change. Make the handling
6205 of unibyte string consistent with that of regex search.
6206
1fd4c450
GM
62072000-08-05 Gerd Moellmann <gerd@gnu.org>
6208
e49aa397
GM
6209 * xmenu.c (popup_get_selection): Use xfree instead of free.
6210
6211 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6212
6213 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6214
6215 * callproc.c (child_setup): Use xfree instead of free.
6216
6217 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6218 instead of malloc.
6219 (run_mac_command, closedir): Use `xfree' instead of `free'.
6220
6221 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6222
6223 * eval.c (error): Use xfree instead of free.
6224
1fd4c450
GM
6225 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6226
6227 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6228 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6229
82d497fc
KH
62302000-08-05 Kenichi Handa <handa@etl.go.jp>
6231
6232 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6233 conversion.
6234
59f953a2
NF
62352000-08-04 Noah Friedman <friedman@splode.com>
6236
6237 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6238 docstring.
6239
688351f2
GM
62402000-08-04 Gerd Moellmann <gerd@gnu.org>
6241
6242 * syntax.c (skip_chars): Fix typo in error message.
6243
2dad51cc
AS
62442000-08-04 Andreas Schwab <schwab@suse.de>
6245
6246 * m/ia64.h: Moved from s/ia64.h.
6247
99bb2c60
KH
62482000-08-04 Kenichi Handa <handa@etl.go.jp>
6249
082a1df2
KH
6250 * process.c (read_process_output): Big simplification. Handle
6251 composition and post-read-conversion of coding system correctly.
6252 (send_process): Handle composition correctly.
6253
6254 * callproc.c (Fcall_process): Handle post-read-conversion of
6255 coding system if any.
6256
99bb2c60
KH
6257 * coding.c (decode_coding_iso2022): More strict check for handling
6258 single shifting.
082a1df2
KH
6259 (coding_restore_composition): Pay attention to the case that
6260 cmp_data is not set properly (because of invalid code in the
6261 source text).
6262 (run_pre_post_conversion_on_str): Include text properties in the
6263 resulting string.
6264 (decode_coding_string): Set members of coding correctly.
99bb2c60 6265
f4988be7
GM
62662000-08-03 Gerd Moellmann <gerd@gnu.org>
6267
6268 * s/ia64.h: New file.
6269
6270 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6271 Use NULL instead of 0 at the end of variable argument list of
6272 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6273 sizeof (int) < sizeof (void *).
6274
6275 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6276 of variable argument lists of XtVaGetValues and XtVaSetValues.
6277
6278 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6279 variable argument lists of XtVaGetValues and XtVaSetValues.
6280
ead53494
GM
62812000-08-02 Gerd Moellmann <gerd@gnu.org>
6282
6283 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6284 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6285
6286 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6287 prototype.
6288
6289 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6290 in call to Fsingle_key_description.
6291
6292 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6293 Callers changed.
6294
62952000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6296
6297 * window.c (display_buffer_reuse_frames): New variable.
6298 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6299 frames displaying BUFFER.
52283633 6300 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6301
10b0f752
MB
63022000-08-01 Miles Bader <miles@gnu.org>
6303
6304 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6305 when to constrain NEW_POS (they were pretty screwed up before).
6306
16425c4a
EZ
63072000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6308
6309 * msdos.c (run_msdos_command): Save and restore the master
6310 environment, for the case that child_setup signals an error.
6311 When mirroring slashes in DOS shell commands, don't fail when
6312 argv[2] has embedded blanks.
da288c14
EZ
6313 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6314 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6315 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6316
6317 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6318 using alloca; free it after run_msdos_command returns.
6319
27f73852
DL
63202000-07-27 Dave Love <fx@gnu.org>
6321
52283633
SM
6322 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6323 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6324
6325 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6326
c0261b5e
EZ
63272000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6328
6329 * editfns.c (lisp_time_argument): Fix last change.
6330
b548072f
GM
63312000-07-27 Gerd Moellmann <gerd@gnu.org>
6332
3ab82477
GM
6333 * fns.c (Fdelete): Make it work on vectors and strings in addition
6334 to lists.
6335
b548072f
GM
6336 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6337 (syms_of_fns): Initialize new variables.
52283633 6338 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6339 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6340 weakness, with t meaning the same as `key-and-value'.
6341
91ae8751
KH
63422000-07-27 Kenichi Handa <handa@etl.go.jp>
6343
6344 * coding.h (struct coding_system): Member safe_charset deleted.
6345
6346 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6347 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6348 New variables.
91ae8751
KH
6349 (coding_safe_chars): New function.
6350 (CODING_SAFE_CHAR_P): New macro.
6351 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6352 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6353 (detect_coding_iso2022): New local variable safe_chars.
6354 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6355 safe_charsets member of the coding system.
6356 (decode_coding_iso2022): New local variable safe_chars.
6357 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6358 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6359 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6360 (ENCODE_UNSAFE_CHARACTER): New macro.
6361 (encode_coding_iso2022): New local variable safe_chars. Check
6362 unsafe chars.
6363 (setup_coding_system): Delete the code to initialize
6364 coding->safe_charses
6365 (intersection, find_safe_codings): New functions.
6366 (Ffind_coding_systems_region_internal): New function.
6367 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6368 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6369 variable and initialize it.
6370
6371 * fns.c (char_table_ref_and_index): New function.
6372
6373 * lisp.h (char_table_ref_and_index): Add prototype.
6374
34a7a267
SS
63752000-07-26 Sam Steingold <sds@gnu.org>
6376
6377 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6378 (Ffloat_time): New built-in Lisp function.
34a7a267 6379
a95cb10a
GM
63802000-07-26 Gerd Moellmann <gerd@gnu.org>
6381
3353ef5a
GM
6382 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6383 for the character code.
6384
6385 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6386 GNU/Linux.
6387
a95cb10a
GM
6388 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6389 if called for a popup menu.
6390 (xmenu_show): Store help string in widget values.
6391
b4a12321
DL
63922000-07-26 Dave Love <fx@gnu.org>
6393
6394 * syswait.h: Move some definitions.
6395 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6396 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6397 perspicuous definitions.
6398 (WTERMSIG): Fix bit pattern used.
6399
13f5ad37
KH
64002000-07-26 Kenichi Handa <handa@etl.go.jp>
6401
6402 * print.c (print_object): If vector printing is truncated, print
6403 "..." to indicate it as well as the case of list printing.
6404
070fe99c
GM
64052000-07-25 Gerd Moellmann <gerd@gnu.org>
6406
969065c3
GM
6407 * xdisp.c (next_element_from_display_vector): Improve comments.
6408
6409 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6410 for the character code, and the rest for the face id as in 20.x.
6411 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6412
6413 * window.c (window_display_table): Cleaned up.
6414
070fe99c
GM
6415 * syntax.c (Fforward_word): Add last arg nil in call of
6416 Fconstrain_to_field.
6417
bad77ef7
EZ
64182000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6419
969065c3 6420 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6421 identical but for the letter-case, don't call
6422 barf_or_query_if_file_exists.
bad77ef7 6423
c28da489
MB
64242000-07-25 Miles Bader <miles@gnu.org>
6425
6426 * editfns.c (find_field): Honor special `boundary' fields.
6427 (Qboundary): New variables.
6428 (syms_of_editfns): Initialize Qboundary.
6429 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6430 Use scan_buffer instead of find_before_next_newline, because it
6431 allows us to detect the boundary case where there's a newline at
6432 the search limit.
6433 * lisp.h (Fconstrain_to_field): Update external declaration.
6434
e3c31fd5
GM
64352000-07-24 Gerd Moellmann <gerd@gnu.org>
6436
6437 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6438 if that is nil.
c28da489 6439
c66c29a2
DL
64402000-07-24 Dave Love <fx@gnu.org>
6441
6442 * s/sunos4-0.h, s/sol2.h:
6443 (LIBS_TERMCAP): Move from m/sparc.h.
6444
6445 * m/sparc.h (TERMINFO): Moved to system files (probably only
6446 relevant for sunos4 judging by its vintage).
6447 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6448 __arch64__.
6449
fbe0a958
EZ
64502000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6451
6452 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6453 name to single_keymap_panes.
6454
7d88e5c9
AS
64552000-07-24 Andreas Schwab <schwab@suse.de>
6456
6457 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6458
e024b101
GM
64592000-07-24 Gerd Moellmann <gerd@gnu.org>
6460
6461 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6462 parameters instead of using int parameters. Expect FN to accept
6463 EMACS_INT parameters.
6464 (display_echo_area, resize_echo_area_axactly, current_message)
6465 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6466 with new argument list.
6467 (resize_mini_window_1): New callback function.
6468 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6469 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6470
25c1a9ce
KH
64712000-07-24 Kenichi Handa <handa@etl.go.jp>
6472
6473 * fontset.c (fontset_ref): Remove INLINE declaration.
6474 (fontset_ref_via_base): Likewise.
6475 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6476 to downcase.
6477
7f987ac0
EZ
64782000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6479
6480 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6481 correct order of priority. If help echo was found in an overlay,
6482 use that overlay as the object in which the help echo was found.
6483
e2db3069
MB
64842000-07-22 Miles Bader <miles@gnu.org>
6485
6486 * textprop.c (Fprevious_single_char_property_change): The initial
6487 property value should be from the position preceding POSITION, not
6488 following it.
6489
5e3203e4
EZ
64902000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6491
6492 * coding.c (syms_of_coding): Doc fix for
6493 inhibit-iso-escape-detection.
6494
62145073
GM
64952000-07-21 Gerd Moellmann <gerd@gnu.org>
6496
c20aeb83
GM
6497 * xterm.c (note_mouse_highlight): Process overlays in the right
6498 order of priority.
34a7a267 6499
743934db
GM
6500 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6501
6502 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6503 overlay, use that overlay as the object in which the help was found.
743934db 6504
d1dc7e43 6505 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6506
62145073
GM
6507 * window.c (foreach_window): Instead of a fake variable argument
6508 list, take one USER_DATA argument.
6509 (foreach_window_1): Likewise, and call callback functions with two
6510 args, the window and USER_DATA.
6511 (struct check_window_data): New struct.
6512 (check_window_containing): Use it.
6513 (window_from_coordinates): Set up a struct check_window_data for
6514 foreach_window.
6515 (add_window_to_list, freeze_window_start): Change parameters
6516 according to new calling convention.
6517
6518 * window.h (foreach_window): Change prototype.
6519
6520 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6521
65222000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6523
6524 * xmenu.c (menu_help_callback): Call show_help_echo with
6525 additional arguments OBJECT and POS.
6526
11270583
KH
65272000-07-21 Kenichi Handa <handa@etl.go.jp>
6528
07b14857
KH
6529 * data.c (Faset): Allow storing any multibyte character in a
6530 string. Convert unibyte string to multibyte if necessary.
6531
11270583
KH
6532 * xfns.c (x_encode_text): New function.
6533 (x_set_name): Use x_encode_text.
6534 (x_set_title): Likewise.
6535
6536 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6537
6538 * xterm.h (x_encode_text): Add prototype.
6539
bc75b4fd
DL
65402000-07-20 Dave Love <fx@gnu.org>
6541
6542 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6543 xfree, not free.
6544
48c14970
EZ
65452000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6546
6547 * msdos.c (help_echo_window): New variable.
6548 (syms_of_msdos): Initialize and staticpro it.
6549 (IT_note_mode_line_highlight): Set help_echo_window.
6550 (IT_note_mouse_highlight): Ditto.
6551 (dos_rawgetc): Store help_echo_window in the second event produced
6552 for HELP_EVENTs.
6553
6554 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6555 Record the object that generated the help echo and the position of
6556 that object in help_echo_object and help_echo_pos. Record that
6557 some glyphs in a row are displayed in mouse-face.
6558 (IT_update_begin): Don't clear mouse highlight unless one of the
6559 enabled glyph rows is marked as being displayed in mouse-face.
6560 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6561 and position recorded in help_echo_object and help_echo_pos to the
6562 event queue.
6563 (IT_menu_display): Accept a new argument PN: the pane number of
6564 the current menu pane. Record the pane number and the item
6565 number of the item which has associated help string.
6566 (XMenuActivate): Update the prototype for help_callback in
6567 function declaration. Call IT_menu_display with the current menu
6568 pane number as an additional argument. Call help_callback with
6569 two additional arguments: the pane number and the item number of
6570 the menu item associated with the help text.
6571 (help_echo_object, help_echo_pos): New variables.
6572 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6573
6574 * msdos.h (XMenuActivate): Update prototype.
6575
4279296d
GM
65762000-07-19 Gerd Moellmann <gerd@gnu.org>
6577
47db06aa
GM
6578 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6579 Add some more prototypes.
6580
6581 * xterm.c, xterm.h: Add some more prototypes.
6582
6583 * lisp.h (Fnext_single_char_property_change): Add prototype.
6584
6585 * dispnew.c (direct_output_for_insert): Remove confusing
6586 outer local variable mouse_face_overwritten_p.
6587 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6588
4279296d
GM
6589 * alloc.c (allocate_string_data): Don't copy old string contents.
6590
670acd62
KH
65912000-07-19 Kenichi Handa <handa@etl.go.jp>
6592
6593 * coding.c (code_convert_region): Delete text properties before
6594 shrinking the conversion region.
6595
7cea38bc
GM
65962000-07-18 Gerd Moellmann <gerd@gnu.org>
6597
dc1cac59
GM
6598 * dispnew.c (update_text_area): Write the whole row if it
6599 has mouse-face in it.
6600
85a8aca9
GM
6601 * xfaces.c (face-alternative-font-family-alist): Remove
6602 DEFVAR_LISP; staticpro instead.
6603
34a7a267 6604 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6605 new arguments.
6606
6607 * keyboard.c (show_help_echo): Add parameter WINDOW.
6608 (read_char): Call show_help_echo with window extracted from Lisp
6609 help event.
6610 (gen_help_event): Add parameter WINDOW.
6611
6612 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6613
6614 * xterm.c (help_echo_window): New variable.
52283633 6615 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6616 (XTread_socket): Pass help_echo_window to gen_help_event.
6617 (syms_of_xterm): Initialize and staticpro help_echo_window.
6618
f8276b77
DL
66192000-07-18 Dave Love <fx@gnu.org>
6620
52283633 6621 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6622
088831a6
GM
66232000-07-18 Gerd Moellmann <gerd@gnu.org>
6624
3d6cd763
GM
6625 * alloc.c (allocate_string_data): If string had already data
6626 assigned, copy old contents to new string data.
6627
6628 * coding.c (syms_of_coding): Fix typo in spelling of variable
6629 `inhibit-iso-escape-detection'.
6630
088831a6
GM
6631 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6632
6633 * Makefile.in: Add dependencies on dispextern.h.
6634 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6635 `free'; both can conflict with system header files.
6636
bc8a8d55
KH
66372000-07-18 Kenichi Handa <handa@etl.go.jp>
6638
6639 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6640 undefined.
6641
069f5950
DL
66422000-07-18 Dave Love <fx@gnu.org>
6643
6644 * window.c (Fwindow_list): Declare arg `window'.
6645
aa96c820
KH
66462000-07-18 Kenichi Handa <handa@etl.go.jp>
6647
6648 * coding.c (setup_coding_system): Don't override the explicitly
6649 specified designations.
6650
06be8d32
MB
66512000-07-15 Miles Bader <miles@gnu.org>
6652
6653 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6654 from `text_property_eq' and `text_property_stickiness', respectively.
6655 (find_field, Fconstrain_to_field, char_property_eq)
6656 (char_property_stickiness): Changed to call char-property functions
6657 instead of text-property-only ones.
6658
6659 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6660 `next_single_char_property_change'). Do more error checking, and
6661 cleanup limit behavior.
6662 (Fprevious_single_char_property_change): New function.
6663 (syms_of_textprop): Initialize new subrs.
6664
6665 * xdisp.c (display_prop_end, invisible_text_between_p):
6666 Call Fnext_single_char_property_change instead of
6667 next_single_char_property_change.
6668
3fddcdc3
JR
66692000-07-15 Jason Rumney <jasonr@gnu.org>
6670
6671 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6672 after menu is finished with.
6673 (add_menu_item): Only consider wv->title as a menu title.
6674 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6675
6676 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6677 null title.
6678 (FONT_REGEXP): Remove unused macro, and its sub-components.
6679 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6680
6681 * w32term.c (help_echo_object, help_echo_pos): New variables.
6682 (note_mode_line_highlight): Store additional information about the
6683 help-echo in help_echo_object and help_echo_pos. Check both
6684 `local-map' and `keymap' properties for changing the cursor
6685 (note_mouse_highlight): Store additional information about the
6686 help-echo in help_echo_object and help_echo_pos.
6687 (note_tool_bar_highlight): Set help_echo_object to nil and
6688 help_echo_pos to -1.
6689 (w32_read_socket): Use gen_help_event instead of filling
6690 input_events manually.
6691 (syms_of_w32term): Staticpro help_echo_object.
6692 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6693 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6694 (x_clear_mouse_face): New function.
6695 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6696 (x_update_window_begin): No need to turn off the mouse
6697 highlight here.
6698 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6699 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6700 (x_fill_stretch_glyph_string): Consume runs of stretch
6701 glyphs instead of a single one.
6702 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6703 with new argument list.
6704 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6705 (x_append_glyph, x_append_composite_glyph)
6706 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6707 changes in struct glyph starting 1999-12-27. See comments for
6708 xterm.c on 2000-07-05.
6709
178c5d9c
SS
67102000-07-14 Sam Steingold <sds@gnu.org>
6711
6712 * xfaces.c (realize_x_face): Fix the last patch:
6713 check `default_face' before dereferencing.
6714
6fe533f6
DL
67152000-07-14 Dave Love <fx@gnu.org>
6716
069f5950 6717 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6718
dd7b81cf
KH
67192000-07-14 Kenichi Handa <handa@etl.go.jp>
6720
0693904a 6721 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6722 default_face's fontset, not using the default fontset.
0693904a 6723
dd7b81cf
KH
6724 * coding.c (inhibit_iso_escape_detection): New variable.
6725 (syms_of_coding): Make it a Lisp variable.
6726 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6727 nonzero, ignore ISO2022's escape sequence.
6728
d5aa31d8
GM
67292000-07-14 Gerd Moellmann <gerd@gnu.org>
6730
e5acf0ca
GM
6731 * alloca.c (malloc) [emacs]: Define as xmalloc.
6732
bd23a692
GM
6733 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6734 use that instead of the mouse position. Add parameters DX and DY.
6735
6736 * dispextern.h (Fx_show_tip): Adjust number of parameters
6737 in prototype.
6738
9662da0b
GM
6739 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6740 if HELP is a function, call it with OBJECT and POS as parameters
6741 to get the help to display.
6742 (gen_help_event, kbd_buffer_store_help_event): New functions.
6743 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6744 (read_char): Call show_help_echo with new parameters.
6745
178c5d9c 6746 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6747 Add prototypes.
6748
6749 * xterm.c (help_echo_object, help_echo_pos): New variables.
6750 (note_mode_line_highlight): Store additional information about the
6751 help-echo in help_echo_object and help_echo_pos. Check both
6752 `local-map' and `keymap' properties for changing the cursor
6753 (note_mouse_highlight): Store additional information about the
6754 help-echo in help_echo_object and help_echo_pos.
6755 (note_tool_bar_highlight): Set help_echo_object to nil and
6756 help_echo_pos to -1.
6757 (XTread_socket): Use gen_help_event instead of filling
6758 input_events manually.
6759 (syms_of_xterm): Staticpro help_echo_object.
6760
6761 * xmenu.c (menu_highlight_callback): Use
6762 kbd_buffer_store_help_event instead of setting up and input_event
6763 structure manually.
6764
6765 * xdisp.c (eval_form): GCPRO argument sexpr.
6766 (call_function): New function.
6767 (handle_single_display_prop): Use call_function and FUNCTIONP
6768 instead of checking whether if font_height is a symbol and
6769 using eval_form.
6770
6771 * eval.c (internal_condition_case_2): New function.
6772
6773 * lisp.h (FUNCTIONP): New macro.
6774 (internal_condition_case_2, call_function): Add prototypes.
6775
d5aa31d8
GM
6776 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6777 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6778 Always set `arg' member of input_events.
6779 (construct_menu_click): Unused function removed.
6780
6781 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6782
6783 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6784 (construct_drag_n_drop, x_scroll_bar_handle_click)
6785 (w32_read_socket): Always set `arg' member of input_events.
6786
6787 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6788
6789 * lisp.h (eval_form): Add prototype.
6790
6791 * xdisp.c (eval_form): Make it externally visible.
6792
0f1a9b23
GM
67932000-07-13 Gerd Moellmann <gerd@gnu.org>
6794
6795 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6796 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6797 consing. For prefix events, store the frame in the `arg' slot of
6798 the event, otherwise store the key there.
6799 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6800 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6801
6802 * xmenu.c (menu_highlight_callback): Store help string in the
6803 `arg' member of the input event; don't cons.
6804 (menubar_selection_callback): Use the `arg' slot of input events
6805 to queue additional information, instead of consing.
6806
6807 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6808
6809 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6810 TOOL_BAR_EVENTs.
6811 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6812
6813 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6814 input events to queue additional information, instead of consing.
6815
6816 * keyboard.c (kbd_buffer_gcpro): Renamed from
6817 kbd_buffer_frame_or_window. Now used for all Lisp objects
6818 referenced from the input queue.
6819 (kbd_buffer_store_event): Always use structure assignment for
6820 copying input events. Record all Lisp objects referenced from
6821 events in kbd_buffer_gcpro.
6822 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6823 differently from input events. Test for prefix menu_bar_events
6824 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6825 event in kbd_buffer_gcpro to nil.
6826 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6827 frame_or_window is equal to its arg member as prefix events.
6828 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6829 used by an input event to nil.
6830 (init_keyboard): Use two times the size of the input queue
6831 for kbd_buffer_gcpro.
6832 (syms_of_keyboard): Likewise.
6833
52283633
SM
6834 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6835 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6836
6837 * termhooks.h (struct input_event): Add member `arg'.
6838 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6839 (USER_SIGNAL_EVENT): Renamed from user_signal.
6840
6841 * xfaces.c (ASET): Remove definition.
6842
6843 * lisp.h (AREF, ASET, ASIZE): New macros.
6844
6845 * fontset.c (AREF, ASIZE): Remove definitions.
6846
6847 * fns.c (AREF): Remove definition.
178c5d9c 6848
0f1a9b23
GM
6849 * composite.c (AREF): Remove definition.
6850
712eaef2
GM
68512000-07-12 Gerd Moellmann <gerd@gnu.org>
6852
d8ee7803
GM
6853 * dispnew.c (redraw_overlapped_rows): Add missing local.
6854 (scrolling_window): Remove debug code.
6855
712eaef2
GM
6856 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6857 Before scrolling, turn off a mouse-highlight in the window
6858 being scrolled.
6859
6860 * xterm.c (x_update_window_end): Add parameter
6861 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6862 redisplay in XTframe_up_to_date.
6863 (x_clear_mouse_face): New function.
6864 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6865
6866 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6867 current glyph row.
6868 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6869 it when any row is written to that contains glyphs highlighted in
6870 mouse-face.
6871 (update_window): Call the window update end hook with new
6872 parameter MOUSE_FACE_OVERWRITTEN_P.
6873 (direct_output_for_insert): Give up if row contains mouse-face.
6874
6875 * dispextern.h (struct redisplay_interface): Add parameter
6876 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6877 (clear_mouse_face): New function pointer member.
6878
02010917
SM
68792000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6880
6881 * syntax.c (back_comment): Use one switch rather than a few `if's.
6882 Obey open_paren_in_column_0_is_defun_start.
6883 When reverting to the `slow' method, try to nicely handle the case
6884 of nested comments by checking that the comment-starter we found
6885 does indeed match the comment-ender.
6886 (scan_sexps_forward, scan_sexps_forward):
6887 Ignore excessive opening parenthesis rather than throwing an error.
6888
d76c03ea
GM
68892000-07-11 Gerd Moellmann <gerd@gnu.org>
6890
6891 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6892 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6893
6894 * dispnew.c (direct_output_forward_char): Give up if currently
6895 displaying a message instead of the minibuffer contents.
6896
6897 * xterm.c (x_update_window_begin): No need to turn off the mouse
6898 highlight here.
6899 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6900 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6901
6902 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6903 compare the mouse_face_p flags of both rows.
6904
6905 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6906
d55ead18
EZ
69072000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6908
6909 * keyboard.c (show_help_echo): Accept additional parameter
6910 ok_to_overwrite_keystroke_echo.
6911 (read_char): Call show_help_echo with a zero
6912 ok_to_overwrite_keystroke_echo argument.
52283633 6913 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6914 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6915 ok_to_overwrite_keystroke_echo argument.
6916 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6917 non-zero ok_to_overwrite_keystroke_echo argument.
6918
df75b1a3
GM
69192000-07-10 Gerd Moellmann <gerd@gnu.org>
6920
4b92c49a
GM
6921 * xdisp.c (try_window_id): If changes are all below what is
6922 displayed in the window, and point is in the window, we still
6923 might have to find point on the display.
6924
6925 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6926 glyphs instead of a single one.
6927 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6928 with new argument list.
6929 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6930
df75b1a3
GM
6931 * keymap.c (get_keymap_1): Add comment that this function can GC.
6932 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6933 comment that functions can GC.
6934 (Fset_keymap_parent): GCPRO arg KEYMAP.
6935
4314cf3e
EZ
69362000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6937
6938 * msdos.c (XMenuActivate): After exiting the menu, restore the
6939 echo area message and erase it.
6940
ab49ce15
KH
69412000-07-10 Kenichi Handa <handa@etl.go.jp>
6942
6943 * fontset.c (Ffontset_info): Make the return value more compatible
6944 with that of Emacs 20.
6945
090a072f
GM
69462000-07-07 Gerd Moellmann <gerd@gnu.org>
6947
6948 * eval.c (Fsignal): Handle case that backtrace_list is null.
6949
f92de4a6
KH
69502000-07-07 Kenichi Handa <handa@etl.go.jp>
6951
6952 * ccl.c (Fccl_execute): Typo fixed.
6953
dd8888a1
GM
69542000-07-06 Gerd Moellmann <gerd@gnu.org>
6955
e5c81191 6956 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6957
dd8888a1
GM
6958 * window.c (Fwindow_list): Reverse list at the end.
6959 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6960 means allow windows on OWINDOW's frame, only.
6961 (window_loop): Simplified; use Fwindow_list.
6962
6963 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6964
485266d0
GM
69652000-07-05 Gerd Moellmann <gerd@gnu.org>
6966
6967 * xterm.c (XTread_socket): Increment handling_signal at the start,
6968 decrement it at the end.
6969
6970 * eval.c (handling_signal): New variable.
6971 (Fsignal): Abort if handling_signal is non-zero.
6972
6973 * lisp.h (handling_signal): External declaration.
178c5d9c 6974
485266d0
GM
6975 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6976
80fcd514
KR
69772000-07-05 Ken Raeburn <raeburn@gnu.org>
6978
6979 Sound support for NetBSD through "Linux emulation" support:
6980 * config.in (HAVE_SOUNDCARD_H): Undef.
6981 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6982 * Makefile.in (LIBSOUND): New variable.
6983 (LIBES): Include it.
52283633
SM
6984 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
6985 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
6986 (vox_open): Use DEFAULT_SOUND_DEVICE.
6987 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6988
d5c5cddd
GM
69892000-07-05 Gerd Moellmann <gerd@gnu.org>
6990
6991 * print.c (print_error_message): If Vsignaling_function is set,
6992 show it in *Messages*.
6993
6994 * lisp.h (Vsignaling_function): External declaration.
6995
6996 * eval.c (Vsignaling_function): New variable.
6997 (Fsignal): Compute it.
6998 (syms_of_eval): Staticpro it.
6999
65171e3a
DL
70002000-07-05 Dave Love <fx@gnu.org>
7001
7002 * syswait.h: Use the autoconf recommended approach. Old code
7003 #if'd out in case we need to revert.
7004
178c5d9c 7005 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 7006
e2c46326
AI
70072000-07-05 Andrew Innes <andrewi@gnu.org>
7008
7009 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
7010 when non-NULL instead of __morecore, to take account of buffer
7011 memory. This also solves a problem with spurious memory warnings
7012 on Windows.
7013
7014 * ralloc.c: Make real_morecore non-static.
7015
7016 * eval.c (internal_condition_case): Comment out abort if
7017 interrupt_input_blocked is not zero.
7018
7019 * makefile.nt: Add support for `bootstrap' and related targets.
7020 Include minimal debug info in emacs.exe in release build.
7021 Remove all dependencies on lisp.h, and fixup some others.
7022
7023 * w32.c (init_environment): Install code from 20.7 for providing
7024 default values for environment variables, based on the
7025 executable's own location.
52283633 7026 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
7027 (sys_socket): Install socket inheritance bug fix from 20.7.
7028
7029 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
7030 here via blockinput.h).
7031
a027a91b
SM
70322000-07-05 Stefan Monnier <monnier@cs.yale.edu>
7033
e4b31601
SM
7034 * w32menu.c (w32_menu_display_help):
7035 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7036
7037 * keyboard.h (show_help_echo): Declare.
7038
7039 * keyboard.c (show_help_echo): New function, extracted from read_char.
7040 Feval its `msg' argument if it's a cons cell.
7041 (read_char): Use it.
4cf8d9d5 7042 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7043
178c5d9c 7044 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7045 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7046 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7047 (dos_rawgetc):
7048 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7049 (note_tool_bar_highlight, w32_read_socket):
7050 Do not gratuitously ignore non-string `help-echo' properties.
7051
88d75730
GM
70522000-07-05 Gerd Moellmann <gerd@gnu.org>
7053
969f7e79
GM
7054 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7055
71201b00
GM
7056 * window.c (delete_all_subwindows): Reset Vwindow_list.
7057
88d75730
GM
7058 * xterm.c (x_append_glyph, x_append_composite_glyph)
7059 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7060 changes in struct glyph starting 1999-12-27. Some bit-fields of
7061 struct glyph were not set, which made glyphs unequal when compared
7062 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7063 effects were the result. This also depended on the contents of
7064 memory returned by xmalloc. If flickering happens again, activate
7065 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7066 gone with that, chances are that it is caused by something similar.
88d75730
GM
7067
7068 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7069
88d75730
GM
7070 * dispextern.h: Add some comments.
7071
7072 * window.c (add_window_to_list): Add parameter LIST.
7073 (window_list): Order list so that, for each frame, windows are
7074 in canonical order, and so that frames appear in the list in
7075 the order given by Vframe_list.
7076 (next_window): Reverse the handling of NEXT_P.
7077
53654733
GM
70782000-07-04 Gerd Moellmann <gerd@gnu.org>
7079
87efd256
GM
7080 * window.c (Vwindow_list): New variable.
7081 (make_window, delete_window): Set Vwindow_list to nil.
7082 (check_window_containing): New function.
7083 (window_from_coordinates): Rewritten.
7084 (add_window_to_list, window_list, candidate_window_p)
7085 (decode_next_window_args, next_window): New functions.
52283633 7086 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7087 (Fwindow_list): New function.
7088 (Fother_window): Cleaned up.
7089 (foreach_window): Add a longer "variable argument list". Let
7090 callback function return 0 to indicate that cycling over windows
7091 should stop.
7092 (foreach_window_1): Likewise.
7093 (freeze_window_start): Return int.
7094 (init_window): New function.
7095 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7096
7097 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7098 input_event with bzero.
7099 (main): Call init_window.
7100
53654733
GM
7101 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7102 a menu filter.
7103
4a8c194f
KH
71042000-07-04 Kenichi Handa <handa@etl.go.jp>
7105
7106 * composite.h (make_composition_value_copy): Extern it.
7107
7108 * composite.c (make_composition_value_copy): New function.
7109
7110 * editfns.c (Fformat): While copying text properties, make each
7111 composition property value a copy.
7112
7113 * fns.c (concat): While copying text properties, make each
7114 composition property value a copy.
7115
831a6cb0
GM
71162000-07-03 Gerd Moellmann <gerd@gnu.org>
7117
2f516940
GM
7118 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7119
178c5d9c 7120 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7121 marked already.
7122
831a6cb0
GM
7123 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7124 include those frames as candidates which have their focus
7125 redirected to the minibuffer frame.
7126
d9c4f922
SM
71272000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7128
7129 * fns.c (Fputhash): Return `value' rather than nil.
7130
3780bc22
GM
71312000-06-30 Gerd Moellmann <gerd@gnu.org>
7132
97d176db
GM
7133 * frame.c (next_frame): Don't check focus redirection in case
7134 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7135 unless their focus is redirected, which contradicts the
7136 specification of next-frame, and leads to infinite loops in
7137 certain situations when cycling through windows with next-window.
7138
dca9961d
KH
71392000-06-30 Kenichi Handa <handa@etl.go.jp>
7140
7141 * coding.c (code_convert_region): Even if the length of text is
7142 zero, try to convert it if coding->type is coding_type_ccl.
7143 (decode_coding_string, encode_coding_string): Likewise.
7144
d5483ab1
GM
71452000-06-28 Gerd Moellmann <gerd@gnu.org>
7146
af5c25e1 7147 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7148 the display if windows_or_buffers_changed.
af5c25e1
GM
7149
7150 * dispnew.c (struct row_entry): New structure.
7151 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7152 (row_table_size, old_lines, new_lines, old_lines_size)
7153 (new_lines_size, run_pool, runs_size, runs): New variables.
7154 (add_row_entry): New function.
7155 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7156 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7157 holding them in local variables. Use a larger hash table whose
7158 size depends on glyph matrix sizes. Don't use bzero to clear the
7159 hash table; instead, clear used slots only.
7160
7161 * fns.c (next_almost_prime): Make it externally visible.
7162
7163 * lisp.h (next_almost_prime): Add prototype.
7164
d5483ab1
GM
7165 * s/isc4-0.h (sigunblock): Define.
7166
7167 * s/sco5.h (sigunblock): Define.
7168
93e40f40
DL
71692000-06-27 Dave Love <fx@gnu.org>
7170
7171 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7172 (moved to osf5-0.h).
7173 [!NOT_C_CODE]: Protect string.h stuff.
7174
7175 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7176 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7177
3c4b7685
GM
71782000-06-27 Gerd Moellmann <gerd@gnu.org>
7179
97d176db 7180 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7181 below the last line from the needed window height.
7182
32cad0aa
SM
71832000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7184
7185 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7186 (Fwidget_get): Use it.
7187 (syms_of_fns): Defsubr it.
7188
2c69ced2
GM
71892000-06-26 Gerd Moellmann <gerd@gnu.org>
7190
178c5d9c 7191 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7192 display info for XIM.
7193 (xim_open_dpy): Likewise.
7194 (xim_close_dpy): Don't free the display info's XIM.
7195
7196 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7197
7198 * config.in (USE_XIM): New define.
7199
3fc720e4
GM
7200 * keymap.c (get_keyelt): For menu-items containing a `:filter
7201 FILTER', apply FILTER to the menu-item's definition to get the
7202 real definition to use.
7203
7204 * lisp.h (QCfilter): External declaration.
7205
2c69ced2
GM
7206 * xfns.c (Fimage_size): New function.
7207 (syms_of_xfns): Defsubr it.
7208
f978b2a2
AS
72092000-06-26 Andreas Schwab <schwab@suse.de>
7210
7211 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7212 Fstring_as_unibyte.
7213
94cc7892
DL
72142000-06-25 Dave Love <fx@gnu.org>
7215
52283633 7216 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7217
7218 * Makefile.in (blockinput.h): Depend on atimer.h.
7219 (atimer.h): Depend on systime.h.
7220
52283633 7221 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7222
52283633 7223 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7224
7225 * lisp.h (swap_in_global_binding): Declare.
7226
b8c24556
KR
72272000-06-24 Ken Raeburn <raeburn@gnu.org>
7228
7229 * process.c (Fopen_network_stream): Turn off atimers for duration
7230 of call to connect. (Patch from Gerd.)
7231
8cf8560b
DL
72322000-06-23 Dave Love <fx@gnu.org>
7233
511c7541
DL
7234 * ralloc.c: Maybe include unistd.h
7235
8cf8560b
DL
7236 * emacs.c (setgrp): Undefine before defining.
7237 (malloc_warning, set_time_zone_rule, index): Prototype.
7238
7239 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7240 HAVE_STRUCT_TIMEZONE.
7241
7242 * s/osf1.h: Move string.h hack here from alpha.h and make it
7243 conditional.
7244 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7245 _XOPEN_SOURCE.
7246 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7247 (SOCKLEN_TYPE): Don't define.
7248
7249 * m/alpha.h: Remove string.h hack.
7250
7251 * s/osf5-0.h: New file.
7252
7253 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7254 include time.h, done by systime.h.
7255 [__FreeBSD__]: Remove redundant includes.
7256
3fc720e4 7257 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7258 (delete_temp_file): Return Qnil to avoid warning.
7259
7260 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7261
7262 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7263 HAVE_X_WINDOWS.
7264
7265 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7266
7267 * composite.h (compose_text): Declare.
7268
7269 * xterm.c: Don't include sys/types.h unconditionally. Don't
7270 protect its inclusion with !USG (following xmenu.c).
7271
ea055732
GM
72722000-06-23 Gerd Moellmann <gerd@gnu.org>
7273
7274 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7275 in x_create_frame.
7276
74b01b80
EZ
72772000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7278
7279 * coding.c (decode_eol_post_ccl): Special handling for undecided
7280 and inconsistent EOL types.
7281
64f3a166
GM
72822000-06-22 Gerd Moellmann <gerd@gnu.org>
7283
16cf31f7
GM
7284 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7285 trough color and main window's background color.
7286
52283633 7287 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7288
7289 * xterm.h (Xt_app_con): External declaration.
7290
7291 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7292
486a103d
GM
7293 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7294
64f3a166
GM
7295 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7296 (handle_invisible_prop): Record the start of invisible text in
7297 it->add_overlay_start.
7298 (struct overlay_entry): Add member `overlay'.
7299 (handle_overlay_change): Simplify.
7300 (next_overlay_string): After having processed overlay strings at the
7301 end of the buffer, record that fact in
7302 it->overlay_strings_at_end_processed_p.
7303 (compare_overlay_entries): If before- and after-strings come
7304 from the same overlay, let before-strings come first.
7305 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7306 (load_overlay_strings): Take it->add_overlay_start into account
7307 when adding overlay strings.
7308
7309 * dispextern.h (struct it): Add member add_overlay_start.
7310
bb746ea6
DL
73112000-06-22 Dave Love <fx@gnu.org>
7312
7313 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7314
7315 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7316
a8f573f3
KH
73172000-06-22 Kenichi Handa <handa@etl.go.jp>
7318
7319 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7320 is greater than 0.
7321
9f2bbc92
DL
73222000-06-21 Dave Love <fx@gnu.org>
7323
178c5d9c 7324 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7325
3ee5041c
SM
73262000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7327
7328 * syntax.c (back_comment): Simplify string-parity counting (with
7329 the added benefit of handling multiple string-styles as long as
7330 they are not intertwined).
7331 Jump to the slow code as soon as a comment starter is found in
7332 a "string_lossage" position. Fixes the case: " /* " /* " */.
7333
4c343001
DL
73342000-06-21 Dave Love <fx@gnu.org>
7335
7336 * Makefile.in: Use GETLOADAVG_LIBS.
7337
7338 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7339 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7340
e6365855
SM
73412000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7342
7343 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7344 (Fforward_comment, scan_lists):
7345 Check the comstyle of single-char comment-starters.
7346 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7347 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7348 Check the comstyle of single-char comment-starters.
7349 Clarify control-flow around the Scomment case.
e6365855 7350
5700d2cc
DL
73512000-06-20 Dave Love <fx@gnu.org>
7352
d355bd8a
SM
7353 * fns.c (make_hash_table, maybe_resize_hash_table):
7354 Cast arg of next_almost_prime.
5700d2cc 7355
178c5d9c 7356 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7357
7358 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7359 and unistd.h.
7360
4a27bdfb
GM
73612000-06-20 Gerd Moellmann <gerd@gnu.org>
7362
a61d762c 7363 * keyboard.c (adjust_point_for_property): Check if display
52283633 7364 property should be treated as intangible by looking at its value.
a61d762c 7365
178c5d9c 7366 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7367 (display_prop_intangible_p): New functions.
7368
7369 * dispextern.h (display_prop_intangible_p): Add prototype.
7370
7371 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7372
4a27bdfb
GM
7373 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7374 argument to sigprocmask.
7375
7376 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7377 argument to sigprocmask.
7378
7379 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7380 sigprocmask_set, and pass a pointer to it to sigprocmask.
7381
7382 * sysdep.c (sigprocmask_set): New variable.
7383
7384 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7385 report_file_error.
7386
427ec082
SS
73872000-06-20 Sam Steingold <sds@gnu.org>
7388
7389 * xrdb.c: Don't declare xmalloc, xrealloc.
7390
8972fe79 73912000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7392
7393 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7394 (re_comp): Cast gettext return value to avoid complaints when
7395 !HAVE_LIBINTL.
7396
074b6efe
DL
73972000-06-20 Dave Love <fx@gnu.org>
7398
52283633 7399 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7400
5700d2cc 7401 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7402
d355bd8a 7403 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7404
7405 * m/alpha.h: Don't declare xmalloc, xrealloc.
7406
0af4f205
DL
7407 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7408
7409 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7410
7411 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7412
7413 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7414 HAVE_GETWD.
7415
074b6efe
DL
7416 * keyboard.h (poll_for_input_1): Declare.
7417
7418 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7419
7420 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7421
7422 * doprnt.c: Don't declare xmalloc, xrealloc.
7423
7424 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7425 (getenv, ctime, getwd): Removed.
7426 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7427
7428 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7429 x_set_tool_bar_lines.
7430
7431 * config.in: Add HAVE_GETWD. Move some definitions above
7432 machine/system includes.
7433
68a5e97b
KH
74342000-06-20 Kenichi Handa <handa@etl.go.jp>
7435
95417e1e
KH
7436 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7437
68a5e97b
KH
7438 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7439 contain information about ENCODING.
7440
7441 * fontset.c (FONTSET_ASCII): Use the first element of char table
7442 for an ASCII font, not defalt slot.
7443 (fontset_ref_via_base): If FONTSET doesn't contain information for
7444 C, try the default fontset.
7445 (make_fontset): Don't copy the default fontset.
7446 (fontset_font_pattern): Likewise.
7447 (accumulate_font_info): If ELT is nil, use the corresponding
7448 element in the default fontset.
7449
3b4fa1b2
DL
74502000-06-19 Dave Love <fx@gnu.org>
7451
943e731c
DL
7452 * syntax.c (Fparse_partial_sexp): Doc fix.
7453
7454 * regex.h: Test PROTOTYPES as well as __STDC__.
7455
3b4fa1b2
DL
7456 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7457 errno, strerror. Put text after #endif in comment.
7458
52283633 7459 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7460
7461 * xterm.c (x_frame_of_widget): Likewise.
7462
cdf0357b
GM
74632000-06-19 Gerd Moellmann <gerd@gnu.org>
7464
7465 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7466 to Vfundamental_mode_abbrev_table.
7467
7468 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7469 bogus objects are marked. This slows down GC by ~80 percent, but
7470 it might be worth trying when debugging GC-related problems.
7471 This feature requires conservative stack marking to be enabled.
7472
7473 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7474 returns XLookupChars, reset `modifiers' to zero.
7475
998e9f8c
DL
74762000-06-19 Dave Love <fx@gnu.org>
7477
7478 * mktime.c: Unprotoized.
7479
18e21ce8 74802000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7481
7482 * data.c (set_internal): If variable is frame-local,
7483 store the new value immediately into the frame parameter alist.
7484
140c4ac6
KR
74852000-06-19 Ken Raeburn <raeburn@gnu.org>
7486
14358466
KR
7487 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7488 in the custom handler pointer.
7489
140c4ac6
KR
7490 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7491 value, or checks for CHAR_META can fail when Lisp_Object is a
7492 union type.
7493 * keymap.c (get_keyelt): Likewise.
7494
10d7bf84
KH
74952000-06-19 Kenichi Handa <handa@etl.go.jp>
7496
7497 * ccl.h (struct ccl_program): New member eol_type.
7498 (struct ccl_spec): New member cr_carryover.
7499
7500 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7501 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7502
7503 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7504 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7505 (decode_eol_post_ccl): New function.
7506 (decode_coding): Don't detect EOL format here for CCL based coding
7507 systems.
7508 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7509 decode_eol_post_ccl after running the CCL program.
7510 (code_convert_region): Don't detect EOL format here for CCL based
7511 coding systems.
7512 (decode_coding_string): Likewise.
7513
52e386c2
KR
75142000-06-18 Ken Raeburn <raeburn@gnu.org>
7515
7516 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7517 when treating it as an integer.
7518
7519 * coding.h (encode_coding_string): Declare.
7520
7521 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7522 it as an integer.
7523
7524 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7525 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7526 to be passed to get_local_map.
7527
7528 * sound.c (Fplay_sound): Don't call make_number on
7529 Frun_hook_with_args count argument.
7530
7531 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7532 for lisp objects in X event structure data field, when lisp
7533 objects are represented with unions.
7534 (x_scroll_bar_to_input_event): Ditto.
7535
b357b9d4
KR
75362000-06-16 Ken Raeburn <raeburn@gnu.org>
7537
7538 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7539 termination of string. Fix sense of test whether
7540 Vline_number_display_limit is an integer.
b357b9d4 7541
a871441d
GM
75422000-06-16 Gerd Moellmann <gerd@gnu.org>
7543
a9021acd
GM
7544 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7545 only if HAVE_X_WINDOWS.
7546
6344985d
GM
7547 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7548 of titles.
7549
427ec082 7550 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7551 out of bounds.
7552
228b083e
EZ
75532000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7554
7555 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7556 of its headers.
7557
c25b53a2
KH
75582000-06-15 Kenichi Handa <handa@etl.go.jp>
7559
7560 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7561 start of the while loop.
7562
a6981b11
GM
75632000-06-15 Gerd Moellmann <gerd@gnu.org>
7564
e9924e52
GM
7565 * atimer.c (alarm_signal_handler): Add forward declaration.
7566
a6981b11
GM
7567 * data.c (set_internal): Remove debug code.
7568
25fa6deb
GM
75692000-06-14 Gerd Moellmann <gerd@gnu.org>
7570
dce6b995
GM
7571 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7572
9f817ea4
GM
7573 * unexec.c (toplevel) [COFF]: Include coff.h.
7574
7575 * s/lynxos.h: New file.
7576
7577 * keymap.c (Fsingle_key_description): Enclose function key and
7578 event symbol names in angle brackets.
7579
8a4e3c0c
GM
7580 * xdisp.c (setup_echo_area_for_printing): Call
7581 message_log_maybe_newline if message_buf_print is not set.
7582
7583 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7584 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7585 function does something useful even when message_buf_print is
7586 already set.
7587
52283633
SM
7588 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7589 New variables.
25fa6deb
GM
7590 (ensure_echo_area_buffers): Initialize echo buffer's
7591 truncate lines setting to nil.
7592 (with_echo_area_buffer): Don't set the echo buffer's truncate
7593 lines setting here.
8a4e3c0c 7594 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7595 of message_truncate_lines.
7596 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7597 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7598 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7599
7600 * keyboard.c (read_char): Bind message-truncate-lines to t
7601 while displaying a help-echo.
7602
7603 * lisp.h (Qmessage_truncate_lines): External declaration.
7604
163dcff3
GM
76052000-06-13 Gerd Moellmann <gerd@gnu.org>
7606
1681ead6
GM
7607 * xdisp.c (Vline_number_display_limit): Renamed from
7608 line_number_display_limit.
7609 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7610 Extend documentation string. Initialize
7611 Vline_number_display_limit to nil meaning no limit.
7612 (decode_mode_spec): Use Vline_number_display_limit with its new
7613 meaning.
7614
163dcff3
GM
7615 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7616
18e21ce8 76172000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7618
7619 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7620
163dcff3
GM
7621 * xfns.c (x_set_frame_parameters): Comment fix.
7622
7623 * frame.c (store_frame_param): Call swap_in_global_binding if the
7624 variable's current binding was chosen based on this frame.
7625
7626 * data.c (swap_in_global_binding): New function.
7627
a704139d
EZ
76282000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7629
7630 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7631 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7632
9b6610db
EZ
76332000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7634
7635 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7636
c68833d2
JR
76372000-06-12 Jason Rumney <jasonr@gnu.org>
7638
7639 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7640
7641 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7642
7643 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7644
7645 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7646
ed1056b3
GM
76472000-06-12 Gerd Moellmann <gerd@gnu.org>
7648
7649 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7650 (syms_of_xfaces): Defsubr Sdump_colors.
7651 (x_free_colors): Don't treat b&w specially on default visual.
7652 (x_free_dpy_colors): New function.
7653 (free_face_colors): Don't check visual class; it's done
7654 in x_free_colors.
7655
7656 * xterm.c (x_frame_of_widget): New function.
7657 (x_alloc_nearest_color_for_widget): Use it.
7658 (x_copy_dpy_color): New function.
7659 (x_destroy_window): Free various colors.
7660
5050a2ef
KH
76612000-06-12 Kenichi Handa <handa@etl.go.jp>
7662
7663 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7664
7665 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7666
7667 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7668
7669 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7670
7671 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7672
fb1b041d
DL
76732000-06-11 Dave Love <fx@gnu.org>
7674
7675 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7676
ff96b5f4
EZ
76772000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7678
7679 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7680
db8eeecd
GM
76812000-06-11 Gerd Moellmann <gerd@gnu.org>
7682
ed1056b3 7683 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7684 to `XEvent *'.
7685
49b71c5f
KH
76862000-06-10 Kenichi Handa <handa@etl.go.jp>
7687
c479bd55
KH
7688 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7689 (regex_compile): Fix the code for handling the case of single byte
7690 char and multibyte char being mixed in a range within [...].
7691
ff6a65c2
KH
7692 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7693 and dst_multibyte members of coding.
7694
49b71c5f
KH
7695 * charset.c (update_charset_table): Update the table
7696 bytes_by_char_head.
7697 (init_charset_once): Initialize elements of bytes_by_char_head to
7698 1 except for leading codes for private charases.
7699
7700 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7701 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7702
9e80b57d
KR
77032000-06-09 Ken Raeburn <raeburn@gnu.org>
7704
7705 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7706 access the data it doesn't point to.
7707
f83fe4b4
GM
77082000-06-08 Gerd Moellmann <gerd@gnu.org>
7709
7710 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7711 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7712 event queue. This is necessary because Emacs otherwise won't
7713 perform a switch-frame to a new frame until some other event, for
7714 example a keystroke event, forces it to do so. This has various
7715 effects, one visible being that the cursor of a frame created with
7716 C-x 5 2 or switched to with a window manager key binding like
7717 A-TAB stays hollow because selected_window isn't on the newly
7718 focused frame until the switch-frame is performed.
7719
7720 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7721 generating a switch-frame event if necessary.
7722
7723 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7724
7725 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7726 it's an integer.
7727
0890801b
KH
77282000-06-08 Kenichi Handa <handa@etl.go.jp>
7729
52283633 7730 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7731
173cbca8
GM
77322000-06-07 Gerd Moellmann <gerd@gnu.org>
7733
3091c2a6
GM
7734 * window.c (displayed_window_lines): Take empty lines at
7735 the bottom of a window into account.
427ec082 7736
f38952fe
GM
7737 * window.c (displayed_window_lines): New function.
7738 (Fmove_to_window_line): Use displayed_window_lines to determine
7739 the number of lines to move, instead of using the window's height.
7740
7741 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7742 to stop reading, even if the form read sets point to a different
7743 value when evaluated.
7744
427ec082 7745 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7746 put the cursor.
7747
6ba6c818
KH
77482000-06-07 Kenichi Handa <handa@etl.go.jp>
7749
7750 * fileio.c (e_write): Free composition data if stored in
7751 coding->cmp_data.
7752
5f1aea9a
GM
77532000-06-06 Gerd Moellmann <gerd@gnu.org>
7754
666852af
GM
7755 * xdisp.c (display_line): Set row's and iterator's
7756 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7757 Set cursor even if row ends in the middle of a character.
7758 (dump_glyph_row): Print values of new flags.
7759 (redisplay_window) <cursor movement in unchanged window>: When
7760 point has been moved forward, and PT is at the end of the cursor
7761 row, don't place the cursor in the next row if the cursor row ends
7762 in the middle of a character or at ZV.
7763
7764 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7765 (struct glyph_row): Add starts_in_middle_of_char_p and
7766 ends_in_middle_of_char_p.
7767 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7768 ends_in_middle_of_char_p flag.
7769 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7770
d13f3e2e
GM
7771 * term.c (append_glyph): Revert change of 2000-06-06.
7772
7773 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7774 padding glyph not fitting on line as whole character not
7775 fitting on line.
7776
5f1aea9a
GM
7777 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7778 this isn't true for images with `:ascent 100'.
7779
10cda9b0
KH
77802000-06-06 Kenichi Handa <handa@etl.go.jp>
7781
ed00559d
KH
7782 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7783 as modified if it is originally unmodified.
7784
10cda9b0
KH
7785 * term.c (encode_terminal_code): Change the way to check if
7786 terminal coding does any conversion.
7787 (append_glyph): Set glyph->pixel_width correctly.
7788
7789 * xdisp.c (display_line): While checking line continuation, pay
7790 attention to a padding glyph.
7791
1969fae2
GM
77922000-06-05 Gerd Moellmann <gerd@gnu.org>
7793
7794 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7795
162ccef4
DL
77962000-06-05 Dave Love <fx@gnu.org>
7797
f19f32dd
DL
7798 * xdisp.c: Include fontset.h.
7799
7800 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7801
7802 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7803
7804 * dispnew.c: Conditionally include term.h.
7805
7806 * coding.h: Declare code_convert_string_norecord.
7807
7808 * frame.h (struct frame): Use volatile unconditionally.
7809
7810 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7811
7812 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7813
7814 * systime.h: Protect against multiple inclusion.
7815 (timezone) [USG5_4]: Define as time_t.
7816
7817 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7818 (Foptimize_char_table, make_temp_name): Declare.
7819
7820 * Makefile.in (xdisp.o): Depend on fontset.h.
7821
7822 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7823
7824 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7825 (Foptimize_char_table, make_temp_name): Declare.
7826
427ec082 7827 * s/irix4-0.h:
162ccef4
DL
7828 * s/irix5-0.h:
7829 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7830
2082fe81
DL
78312000-06-02 Dave Love <fx@gnu.org>
7832
7833 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7834
dcf671d2
GM
78352000-06-02 Gerd Moellmann <gerd@gnu.org>
7836
7837 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7838 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7839 be freed.
7840
7841 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7842 glyph, use the ASCII NUL character to determine the face.
7843
d42122a3
DL
78442000-06-02 Dave Love <fx@gnu.org>
7845
7846 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7847 (VFORK_RETURN_TYPE): Remove.
427ec082 7848
d42122a3
DL
7849 * config.in: Add NO_MATHERR.
7850
dd432f16
DL
78512000-06-01 Dave Love <fx@gnu.org>
7852
90aa4ea8
DL
7853 * cmds.c (internal_self_insert): Don't check
7854 Vbefore_change_function, Vafter_change_function.
7855
7856 * insdel.c (signal_before_change, signal_after_change): Likewise.
7857
7858 * buffer.c (Vbefore_change_function, Vafter_change_function):
7859 Variables and their initializations deleted.
7860
2330c9d4
DL
7861 * callint.c (Fcall_interactively): Doc fix.
7862
dd432f16
DL
7863 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7864
bf9e8804
DL
78652000-05-31 Dave Love <fx@gnu.org>
7866
7867 * textprop.c: Revert last change -- duplicated.
7868
3694b4ab
GM
78692000-05-31 Gerd Moellmann <gerd@gnu.org>
7870
7871 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7872 in #if 0.
7873
7874 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7875
f14156cd
JR
78762000-05-31 Jason Rumney <jasonr@gnu.org>
7877
8119aab8
JR
7878 * search.c (Fre_search_forward, Fre_search_backward)
7879 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7880
f14156cd
JR
7881 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7882
4aab9be3
JR
78832000-05-30 Jason Rumney <jasonr@gnu.org>
7884
7885 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7886 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7887
52283633 7888 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7889
7890 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7891 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7892 expand a nil default_filename.
7893
7894 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7895 pointer to glyph_to_pixel_coords, not a frame.
7896
7897 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7898 coding.h to dependencies.
7899
7900 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7901
7902 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7903 window pointer to be consistent with w32term.c and xterm.c.
7904
7905 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7906 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7907 (Qline_spacing, Qcenter): New variables.
7908 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7909 (x_set_line_spacing): New function.
52283633 7910 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7911 (x_specified_cursor_type): New function.
7912 (x_set_cursor_type): Use it.
7913 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7914 and icon strings.
7915 (validate_x_resource_name, x_get_resource_string): Measure lengths
7916 of external strings in bytes.
7917 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7918 GetTextExtentPoint32 with NULL title.
7919 (Fx_create_frame): Initialize Qline_spacing.
7920 (w32_load_system_font): Initialize font->double_byte_p.
7921 (x_to_w32_charset): Use Vw32_charset_info_alist.
7922 (Image, busy cursor, tooltip functions): Merged changes from
7923 xfns.c. Not yet functional on Windows.
7924
7925 * w32gui.h (W32FontStruct): Add double_byte_p member.
7926
7927 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7928 (emacs_button_translation): Use it.
7929 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7930 in `mask' to be set.
7931
7932 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7933 menu strings.
7934
7935 * w32term.c: Format and doc changes to bring closer to xterm.c.
7936 (w32_char_font_type): New enum.
7937 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7938 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7939 (w32_encode_char): New function.
7940 (x_encode_char): Removed.
7941 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7942 x_encode_char and w32_font_is_double_byte.
7943 (x_produce_image_glyph): Use image_ascent.
7944 (x_produce_glyphs): Use new version of w32_per_char_metric and
7945 handle NULL return value. Allow extra line spacing.
7946 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7947 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7948 w32_font_type member of glyph instead.
7949 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7950 (fast_find_position): Make sure not to consider rows not visible
7951 in the window.
7952 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7953 w32_menu_display_help with input blocked, as it can abort.
7954 (x_display_and_set_cursor): Choose cursor depending
7955 on buffer-local value of cursor_type.
7956 (x_draw_bar_cursor): Add parameter WIDTH.
7957
7958 * w32term.h (CP_DEFAULT): Define.
7959 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7960
10fc3187
GM
79612000-05-30 Gerd Moellmann <gerd@gnu.org>
7962
7963 * search.c (Fre_search_forward, Fre_search_backward)
7964 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7965
d0555360
KH
79662000-05-30 Kenichi Handa <handa@etl.go.jp>
7967
7968 * coding.c (detect_coding_iso2022): Fix code for checking
7969 CODING_CATEGORY_MASK_ISO_8_2.
7970
f1ad044f
SM
79712000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7972
7973 * regex.c (PREFETCH_NOLIMIT): New function.
7974 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7975
84ec3b4b
GM
79762000-05-29 Gerd Moellmann <gerd@gnu.org>
7977
66254a13
GM
7978 * syntax.c (find_defun_start): Move test for
7979 open_paren_in_column_0_is_defun_start outside of the loop.
7980
49e70dec
GM
7981 * xdisp.c (redisplay_window): Really switch buffers when
7982 displaying mode lines, and temporarily set selected_frame to the
7983 frame of the window that's redisplayed.
7984
84ec3b4b
GM
7985 * xfaces.c (free_realized_faces): Block/unblock input.
7986 (free_realized_multibyte_face): Ditto.
7987
869a3a14
DL
79882000-05-29 Dave Love <fx@gnu.org>
7989
7990 * textprop.c (Qkeymap): New variable.
7991 (syms_of_textprop): Intern it.
7992
7993 * keymap.c: Include intervals.h.
7994 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7995
7996 * Makefile.in (keymap.o): Depend on intervals.h.
7997
7998 * keyboard.c (menu_bar_items, tool_bar_items)
7999 (Fexecute_extended_command): Deal with `keymap' property.
8000 (read_key_sequence): Track map from `keymap' property as well as
8001 `local_map'.
8002
8003 * intervals.c (get_local_map): Extra arg to allow looking for
8004 `keymap' too.
8005
8006 * intervals.h (map_property): New enum.
8007 (get_local_map): Extra arg using it.
8008 (Qkeymap): Declare.
8009
84ec3b4b 8010 * lisp.h (get_local_map): Don't declare here.
869a3a14 8011
89d0c844
KH
80122000-05-29 Kenichi Handa <handa@etl.go.jp>
8013
8014 * Makefile.in (callproc.o): Depend on composite.h.
8015
8016 * callproc.c: Include composite.h.
8017 (Fcall_process): Handle composition correctly.
8018
8019 * coding.h (coding_allocate_composition_data): Extern it.
8020 (coding_restore_composition): Likewise.
8021
8022 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
8023 yet allocated, finish decoding with result
8024 CODING_FINISH_INSUFFICIENT_CMP.
8025 (coding_allocate_composition_data): Make it non-static.
8026 (coding_restore_composition): Likewise.
8027
797a084a
EZ
80282000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
8029
8030 * charset.c (syms_of_charset): Revert last change.
8031
cf872af5
EZ
80322000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8033
8034 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8035 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8036 Handa.
cf872af5 8037
5b1ae051
EZ
80382000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8039
8040 * charset.c (syms_of_charset): Set width of character sets
8041 eight-bit-control and eight-bit-graphic to 1 column.
8042
34ec9ebe
GM
80432000-05-26 Gerd Moellmann <gerd@gnu.org>
8044
8045 * config.in (HAVE_SPEED_T): New define.
8046
8047 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8048 `extern speed_t'.
8049
dd854dc2
DL
80502000-05-26 Dave Love <fx@gnu.org>
8051
8052 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8053
8054 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8055 (Fsubr_arity): New function.
8056 (syms_of_data): Install them.
8057
ba9f8f95
KH
80582000-05-26 Kenichi Handa <handa@etl.go.jp>
8059
0f3e0672
KH
8060 * charset.c (init_charset_once): Set the table bytes_by_char_head
8061 correctly.
8062
cebefb44
KH
8063 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8064 the default fontset to what Emacs uses by default.
0f3e0672
KH
8065 (check_registry_encoding): This function deleted.
8066 (Fset_fontset_font): Remove the adhoc condition for the default
8067 fontset. Allow cons in FONTNAME.
cebefb44 8068
0f3e0672
KH
8069 * fns.c (map_char_table): Ignore char-table entries for
8070 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8071
7a18af49
KR
80722000-05-25 Ken Raeburn <raeburn@gnu.org>
8073
8074 * emacs.c (main): Initialize keyboard syms before initializing
8075 window code, so face names are available.
8076
d2af47df
SM
80772000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8078
8079 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8080 of an anchor at the beginning of a shy-group.
8081
fc6a6a4e
GM
80822000-05-25 Gerd Moellmann <gerd@gnu.org>
8083
8084 * xdisp.c (handle_invisible_prop): Don't try to skip over
8085 invisible text if end of text is already reached.
8086
005f0d35
DL
80872000-05-25 Dave Love <fx@gnu.org>
8088
02513cdd
DL
8089 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8090
005f0d35
DL
8091 * coding.c (encode_eol): Add null statement after label.
8092
89f6ca4e
EZ
80932000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8094
8095 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8096 2000-05-20.
8097
a4e1759e
KH
80982000-05-25 Kenichi Handa <handa@etl.go.jp>
8099
8100 * ccl.c (ccl_driver): Fix previous change.
8101
eacfd7fe
KH
81022000-05-25 Kenichi Handa <handa@etl.go.jp>
8103
46ab33a9
KH
8104 * coding.c (run_pre_post_conversion_on_str): Set point to the
8105 beginning of buffer before calling coding->post_read_conversion.
8106 (decode_coding_string): Give correct args to
8107 run_pre_post_conversion_on_str.
8108 (encode_coding_string): Likewise.
8109
eacfd7fe
KH
8110 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8111 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8112 eight-bit-graphic correctly.
8113
f8569325
DL
81142000-05-24 Kenichi HANDA <handa@etl.go.jp>
8115
8116 * fileio.c (Finsert_file_contents): Even if a file is not found,
8117 execute codes for setting up coding system. Call
8118 after-insert-file-functions unconditionally.
8119
04545643
GM
81202000-05-24 Gerd Moellmann <gerd@gnu.org>
8121
8122 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8123 BSD_PGRPS are not defined.
8124
747d90ea
KH
81252000-05-24 Kenichi Handa <handa@etl.go.jp>
8126
8127 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8128 DESCRIPTION.
8129 (syms_of_charset): Avoid building same strings.
8130
716e3b88
GM
81312000-05-23 Gerd Moellmann <gerd@gnu.org>
8132
8133 * lread.c (Fload): Add a comment about the meaning of
8134 Vuser_init_file being t.
8135
8136 * puresize.h (BASE_PURESIZE): Increase to 675000.
8137
8138 * s/gnu-linux.h (setpgrp): Don't define it here because this
8139 prevents compilation on GNU/Linux systems with glib 2.2.
8140
8141 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8142 as setpgid.
427ec082 8143
9aeb39fa
EZ
81442000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8145
8146 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8147 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8148 version.
8149 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8150
29ced61b
KH
81512000-05-23 Kenichi Handa <handa@etl.go.jp>
8152
52283633 8153 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8154
3d80f24d
KH
8155 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8156
52283633 8157 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8158
29ced61b
KH
8159 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8160
d7e00792
KH
81612000-05-22 Kenichi Handa <handa@etl.go.jp>
8162
c9d80d38
KH
8163 * keyboard.c (read_char): Allow character codes 128..255 to be
8164 handled by input-method-function.
8165
d7e00792
KH
8166 * insdel.c (adjust_markers_for_replace): Fix previous change.
8167 (adjust_after_replace): If PREV_TEXT is nil, call
8168 adjust_markers_for_insert, not adjust_markers_for_replace.
8169
087121cc 81702000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8171
087121cc
GM
8172 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8173 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8174 [HAVE_GRANDPT]: Define.
8175 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8176
8177 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8178 like SYSV_PTYS.
8179
8180 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8181
8182 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8183
c9671f81
KH
81842000-05-20 Kenichi Handa <handa@etl.go.jp>
8185
8186 The following changes are to handle 8-bit characters in a
8187 multibyte buffer/string without facing with byte combining
8188 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8189 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8190
8191 * Makefile.in (fns.o): Depend on charset.h.
8192
8193 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8194 convert it to unibyte.
8195 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8196
8197 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8198 apparent char boundary.
8199 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8200 0x80..0x9F to/from multibyte form.
8201
8202 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8203 to unibyte.
8204
8205 * callproc.c (Fcall_process): Always encode an argument string if
8206 it is multibyte. Setup src_multibyte and dst_multibyte members of
8207 process_coding properly.
ce75fd23 8208
c9671f81
KH
8209 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8210 SPLIT_NON_ASCII_CHAR.
8211
8212 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8213 as is.
8214 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8215
52283633 8216 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8217 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8218 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8219 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8220 and eight-bit-graphic.
8221 (char_to_string): Likewise. Signal an error for too large
8222 character code.
8223 (char_printable_p): Return 0 for 8-bit characters.
8224 (update_charset_table): Update iso_charset_table only when a final
8225 character is non-negative.
8226 (find_charset_in_text): Renamed from find_charset_in_str.
8227 Arguments and return value changed. Callers changed.
8228 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8229 be -1 if CHARSET is used only internally.
8230 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8231 eight-bit-graphic.
8232 (Fcharset_after): Simplified.
8233 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8234 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8235 (multibyte_chars_in_text): Simplified by assuming there's no
8236 invalid multibyte sequence.
52283633
SM
8237 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8238 (str_as_unibyte): New functions.
8239 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8240 (init_charset_once): Initialization for
8241 LEADING_CODE_8_BIT_CONTROL.
8242 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8243 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8244 eight-bit-control and eight-bit-graphic.
8245
52283633
SM
8246 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8247 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8248 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8249 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8250 (CHARSET_REVERSE_CHARSET): Likewise.
8251 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8252 eight-bit-graphic.
8253 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8254 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8255 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8256 encounter an invalid multibyte sequence.
8257 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8258 sequence is always valid.
8259 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8260 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8261 (CHAR_STRING): For 8-bit characters, call char_to_string.
8262 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8263 multibyte sequence is always valid.
8264 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8265 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8266 (str_as_unibyte): Extern them.
c9671f81 8267 (BCOPY_SHORT): Fix a bug.
52283633 8268 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8269 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8270 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8271 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8272
bd4bde7f 8273 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8274 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8275 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8276 (EMIT_BYTES): New macros.
8277 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8278 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8279 macros deleted.
8280 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8281 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8282 check the validity of multibyte sequence.
8283 (decode_coding_emacs_mule): New function.
8284 (encode_coding_emacs_mule): New macro.
8285 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8286 the source.
8287 (DECODE_ISO_CHARACTER): Just return a character code.
8288 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8289 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8290 EMIT_CHAR to produced decoded characters. Exit the loop only by
8291 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8292 block here.
8293 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8294 only position codes for an invalid character.
8295 (encode_designation_at_bol): Return new destination pointer. 5th
8296 arg DSTP is changed to DST.
8297 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8298 from the source by ONE_MORE_CHAR. Don't handle the case of last
8299 block here.
8300 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8301 macros deleted.
52283633
SM
8302 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8303 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8304 TWO_MORE_BYTES to fetch a byte from the source.
8305 (encode_eol): Pay attention to coding->src_multibyte.
8306 (detect_coding, detect_eol): Preserve members src_multibyte and
8307 dst_multibyte.
8308 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8309 (encoding_buffer_size): Set magnification to 3 for all coding
8310 systems that require encoding.
8311 (ccl_coding_driver): For decoding, be sure that the result is
8312 valid multibyte sequence.
8313 (decode_coding): Initialize coding->errors and coding->result.
8314 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8315 and raw-text, always call decode_eol. Handle the case of last
8316 block here. If not coding->dst_multibyte, convert the resulting
8317 sequence to unibyte.
8318 (encode_coding): Initialize coding->errors and coding->result.
8319 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8320 and raw-text, always call encode_eol. Handle the case of last
8321 block here.
8322 (shrink_decoding_region, shrink_encoding_region): Detect cases
8323 that we can't skip data more rigidly.
8324 (code_convert_region): Setup src_multibyte and dst_multibyte
8325 members of coding. For decoding, if the buffer is multibyte,
8326 convert the source sequence to unibyte in advance. For encoding,
8327 if the buffer is multibyte, convert the resulting sequence to
8328 multibyte afterward.
8329 (run_pre_post_conversion_on_str): New function.
8330 (code_convert_string): Deleted and divided into the following two.
8331 (decode_coding_string, encode_coding_string): New functions.
8332 (code_convert_string1, code_convert_string_norecord): Call one of
8333 above.
8334 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8335 MAKE_NON_ASCII_CHAR.
52283633
SM
8336 (Fset_terminal_coding_system_internal)
8337 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8338 and dst_multibyte members.
8339 (init_coding_once): Initialize iso_code_class with new enum
8340 ISO_control_0 and ISO_control_1.
8341
8342 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8343 devided into ISO_control_0 and ISO_control_1.
8344 (struct coding_system): New members src_multibyte, dst_multibyte,
8345 errors, and result. Delete member fake_multibyte.
8346 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8347 nonzero.
8348 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8349 nonzero.
8350
8351 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8352 (Faset): Likewise.
8353
8354 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8355 multibyte form.
8356 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8357 combining occurs.
8358 (Ftranspose_region): Delete codes for handling byte combining.
8359
8360 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8361 dst_multibyte members of coding. On handling REPLACE on unibyte
8362 buffer, convert the result of decode_coding to unibyte. On
8363 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8364 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8365 multibyteness of the source (buffer or string).
8366
8367 * fns.c (concat): Handle 8-bit characters correctly.
8368 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8369 unibyte in the result.
8370 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8371 valid multibyte form in the result.
8372 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8373 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8374 return -1, signal an error.
8375 (base64_encode_1): New arg MULTIBYTE. Get each character by
8376 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8377 character is found, return -1.
8378 (Fbase64_decode_region): Delete codes for handling byte-combining.
8379 Treat each decoded byte as a unibyte character.
8380 (Fbase64_decode_string): Return unibyte string.
8381 (Fcompare_strings, concat, string_byte_to_char): Use
8382 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8383 FETCH_STRING_CHAR_ADVANCE.
8384 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8385 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8386
8387 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8388 SPLIT_NON_ASCII_CHAR.
8389 (fontset_ref_via_base, fontset_set): Likewise
8390
8391 * insdel.c (adjust_markers_for_record_delete): Deleted.
8392 (adjust_markers_for_insert): Argument changed. Caller changed.
8393 (adjust_markers_for_replace): Likewise.
52283633
SM
8394 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8395 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8396 (copy_text): Delete unused local varialbe c_save. For converting
8397 to multibyte, be sure to make all 8-bit characters in valid
8398 multibyte form.
8399 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8400 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8401 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8402 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8403 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8404 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8405 handling byte combining.
8406 (adjust_before_replace): Deleted.
427ec082 8407
c9671f81
KH
8408 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8409 SPLIT_NON_ASCII_CHAR.
8410 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8411 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8412 (Fkey_description): Likewise.
8413
8414 * lread.c (read1): On reading multibyte string, be sure to make
8415 all 8-bit chararacters in valid multibyte form.
8416 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8417
8418 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8419 unconditionally.
8420
8421 * process.c (Fstart_process): GCPRO current_dir before calling
8422 Ffind_operation_coding_system. Encode arguments here.
8423 (create_process): Don't encode arguments here. Setup
8424 src_multibyte and dst_multibyte members of struct coding.
8425 (read_process_output): Setup src_multibyte and dst_multibyte
8426 members of struct coding. If the output is to multibyte buffer,
8427 always decode the output of the process. Adjust the
52283633 8428 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8429 (send_process): Setup coding->src_multibyte according to the
8430 multibyteness of the source.
8431
52283633 8432 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8433 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8434 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8435
52283633 8436 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8437
8438 * w16select.c (Fw16_set_clipboard_data): Setup members
8439 src_multibyte and dst_multibyte of coding. Adjusted for the
8440 change for find_charset_in_str.
8441 (Fw16_get_clipboard_data): Likewise.
8442
8443 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8444 dst_multibyte of coding.
8445 (x_to_w32_font): Likewise.
8446
8447 * w32select.c (Fw32_set_clipboard_data): Setup members
8448 src_multibyte and dst_multibyte of coding. Adjusted for the
8449 change for find_charset_in_str.
8450 (Fw32_get_clipboard_data): Likewise.
8451
8452 * xdisp.c (get_next_display_element): Handle 8-bit characters
8453 correctly.
52283633
SM
8454 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8455 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8456
8457 * xselect.c (selection_data_to_lisp_data): Setup members
8458 src_multibyte and dst_multibyte of coding. Adjusted for the
8459 change for find_charset_in_str.
8460 (lisp_data_to_selection_data): Likewise.
8461
5f64c9e0
GM
84622000-05-19 Gerd Moellmann <gerd@gnu.org>
8463
52283633 8464 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8465
5f64c9e0
GM
8466 * dispextern.h (Vimage_types): Add extern declaration.
8467
8468 * xdisp.c (Vimage_types): Moved here from xfns.c.
8469 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8470
8471 * xfns.c (Vimages_types): Moved to xdisp.c.
8472 (syms_of_xfns): Move `image-types' to xdisp.c.
8473
8474 * w32fns.c (Vimage_types): Removed.
8475 (syms_of_w32fns): Remove `image-types'.
8476
813086ea
KH
84772000-05-18 Kenichi Handa <handa@etl.go.jp>
8478
8479 * fns.c (map_char_table): Pay attention to character number of
8480 charset. Check the validity of charset at the first level. For
8481 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8482 the default value.
8483
8484 * fontset.c: Include "buffer.h".
8485 (fs_load_font): If the face has fontset, record the face ID in
8486 that fontset.
8487 (Finternal_char_font): New function.
8488 (accumulate_font_info): New function.
8489 (Ffontset_info): Rewritten for the new fontset implementation.
8490 (syms_of_fontset): Register Vdefault_fontset in the first element
8491 of Vfontset_table. Include Vdefault_fontset in
8492 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8493 function.
8494
bdaebbf0
DL
84952000-05-16 Dave Love <fx@gnu.org>
8496
8497 * m/iris5d.h: Deleted -- unused.
8498
cb613bb8
GM
84992000-05-16 Gerd Moellmann <gerd@gnu.org>
8500
b15f3b77
GM
8501 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8502 `invalid' instead of `illegal'.
8503
8504 * indent.c (Fmove_to_column): When ending within a tab, insert
8505 spaces first so that markers at the end of the tab get adjusted.
8506
835c1b36
GM
8507 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8508 buffer list that wasn't selected in that frame.
8509
cb613bb8
GM
8510 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8511 is needed on mescaline, use a 2 char prefix, and call
8512 make_temp_name with second arg non-zero.
8513
8514 * fileio.c (make_temp_name): New function, extracted from
8515 Fmake_temp_name.
8516 (Fmake_temp_name): Use it.
8517
f685bea9
EZ
85182000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8519
52283633 8520 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8521
a1b8d58b
GM
85222000-05-15 Gerd Moellmann <gerd@gnu.org>
8523
8524 * Makefile.in (lisp): Add env.elc.
8525
8526 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8527
a265079f
GM
85282000-05-12 Gerd Moellmann <gerd@gnu.org>
8529
8530 * search.c (Freplace_match): Handle case of `\N' in the
8531 replacement when there's no group N.
8532
da4496b6
GM
85332000-05-11 Gerd Moellmann <gerd@gnu.org>
8534
0ace421a
GM
8535 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8536 of the message to message_dolog.
8537
1172eb8d
GM
8538 * keyboard.c (read_char): Don't clear current message for help
8539 events; let the code handling help events handle this. Change
8540 code detecting help events that should be ignored.
8541
da4496b6
GM
8542 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8543 we're interating over a string.
8544
0623e40f
DL
85452000-05-09 Dave Love <fx@gnu.org>
8546
8547 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8548 that offset before writing. Move gcpro region past call of
8549 Ffile_regular_p.
8550
bae2503b
DL
85512000-05-04 Dave Love <fx@gnu.org>
8552
8553 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8554
ec82fb2f
GM
85552000-05-04 Gerd Moellmann <gerd@gnu.org>
8556
8557 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8558 of inserted characters when BUF equals the current buffer, and PT
8559 is in front of or equal to FROM.
8560
cbf18892
GM
85612000-05-03 Gerd Moellmann <gerd@gnu.org>
8562
4ff40dd0
GM
8563 * xdisp.c (handle_single_display_prop): If display property value
8564 is invalid, or something not supported on the frame, restore
8565 iterator's position to what it was initially. Make sure to return
8566 0 for invalid and unsupported property values.
8567
cbf18892
GM
8568 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8569 that x_per_char_metric returns null.
8570
1b0672c3
GM
85712000-05-02 Gerd Moellmann <gerd@gnu.org>
8572
576da55d
GM
8573 * xterm.h (struct face): Add forward declaration.
8574 (struct image): Ditto.
8575 (image_ascent): Add prototype.
8576
8577 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8578 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8579 image_ascent instead of using IMAGE_ASCENT.
8580
8581 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8582 (IMAGE_ASCENT): Removed.
8583
8584 * xfns.c (Qcenter): New variable.
8585 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8586 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8587 (image_ascent): New function.
8588 (lookup_image): Recognize `:ascent center'.
8589 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8590 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8591 (xbm_load): Don't set image's ascent here.
8592 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8593 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8594 check ascent values here.
8595 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8596 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8597 (syms_of_xfns): Initialize Qcenter.
8598
1b0672c3
GM
8599 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8600 to the limits, increase the limits.
8601
0d7811ed
KH
86022000-05-01 Kenichi Handa <handa@etl.go.jp>
8603
8604 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8605 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8606
a943a5ca
GM
86072000-04-28 Gerd Moellmann <gerd@gnu.org>
8608
8609 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8610 taller than the window.
8611
5dba1e29
KH
86122000-04-28 Kenichi Handa <handa@etl.go.jp>
8613
8614 * xfaces.c (realize_x_face): Fix the argument of the second
8615 xassert. BASE_FACE may not be a face for ASCII.
8616
353964e3
GM
86172000-04-27 Gerd Moellmann <gerd@gnu.org>
8618
c76e04a8
GM
8619 * print.c (print_object): Treat print-length < 0 as nil.
8620
8621 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8622
8623 * s/freebsd.h (TERMCAP_OBJ): Removed.
8624 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8625
8626 * lread.c (read1): Don't treat period followed by certain
8627 characters as symbol start.
8628
8629 * xfns.c (slurp_file): New function.
8630 (xbm_image_p): Handle case of in-memory XBM files.
8631 (xbm_scan): Rewritten to work on memory buffers instead of files.
8632 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8633 Work on memory buffers instead of files. If DATA is null test
8634 if buffer looks like an in-memory XBM file.
8635 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8636 memory buffers instead of files.
8637 (xbm_file_p): New function.
8638 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8639
353964e3
GM
8640 * lread.c (end_of_file_error): New function.
8641 (read1): Call it instead of signaling `end-of-file' directly.
8642
427ec082 8643 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8644 with Fprinc instead of Fprin1.
8645
24d744ac
KR
86462000-04-26 Ken Raeburn <raeburn@gnu.org>
8647
8648 * window.c (freeze_window_start): Check that minibuffer scroll
8649 window isn't nil before extracting the window structure pointer
8650 from it.
8651
8652 * undo.c (record_delete): If we hit the end of the undo list, stop
8653 picking elements apart.
8654
7464346d
GM
86552000-04-26 Gerd Moellmann <gerd@gnu.org>
8656
8657 * xdisp.c (display_line): If lines are continued, restore
8658 iterator's ascent/descent information to the values before the
8659 first glyph not fitting on the line.
8660
612839b6
GM
86612000-04-25 Gerd Moellmann <gerd@gnu.org>
8662
8663 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8664 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8665
8666 * dispnew.c (increment_matrix_positions): Renamed from
8667 increment_glyph_matrix_buffer_positions.
8668 (increment_row_positions): Renamed from
8669 increment_glyph_row_buffer_positions.
8670
8671 * dispextern.h: Change names of renamed functions from dispnew.c
8672 in prototypes.
8673
cc181e95
GM
86742000-04-24 Gerd Moellmann <gerd@gnu.org>
8675
abfcc168
GM
8676 * fileio.c (Fdo_auto_save): Create directories for auto-save
8677 list file if necessary.
8678
cc181e95
GM
8679 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8680 from buffer or frame.
8681 (automatic_hscrolling_p): New variable.
8682 (hscroll_windows): Scroll windows horizontally only if automatic
8683 hscrolling is allowed.
8684 (syms_of_xdisp): New variable `automatic-hscrolling'.
8685
8686 * frame.h (struct frame): Add member extra_line_spacing.
8687
8688 * xfns.c (x_set_line_spacing): New function.
8689 (Fx_create_frame): Set line spacing from resources.
8690 (Qline_spacing): New variable.
8691 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8692
cc181e95
GM
8693 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8694
8695 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8696 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8697 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8698 extra_line_spacing from default value.
8699 (init_buffer_once): Initialize default value of extra_line_spacing.
8700
8701 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8702 and extra3.
8703
8704 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8705 prompt_width. Add extra line spacing.
8706
8707 * term.c (produce_glyphs): Remove reference to struct it's
8708 prompt_width.
8709
8710 * dispextern.h (struct it): Remove member prompt_width, add
8711 extra_line_spacing.
8712
58827478
GM
87132000-04-22 Gerd Moellmann <gerd@gnu.org>
8714
8715 * dispnew.c (update_frame_line): When writing a whole line, make
8716 sure cursor is in the right row afterwards, otherwise a use of
8717 capability `ch' in cmgoto might leave the cursor in the row below.
8718
25a87f42
GM
87192000-04-21 Gerd Moellmann <gerd@gnu.org>
8720
8721 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8722
8723 * keyboard.c (timer_check): Fix typo in comment.
8724
54edf5c2
KH
87252000-04-21 Kenichi Handa <handa@etl.go.jp>
8726
8727 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8728 name change: ch -> character.
8729
3a64eef5
GM
87302000-04-20 Gerd Moellmann <gerd@gnu.org>
8731
8732 * keyboard.c (echo_message_buffer): New variable.
8733 (echo_now): Set echo_message_buffer to the echo area buffer used
8734 to display the echo.
8735 (cancel_echoing): Reset echo_message_buffer to nil.
8736 (read_char): Code rewritten that handles canceling an echo or
8737 echoing a dash, respectively.
8738
8739 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8740 directory doesn't exist.
8741
6142fdcb
DL
87422000-04-19 Dave Love <fx@gnu.org>
8743
8744 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8745 (concat): Don't allow numeric args.
8746 (Fconcat): Doc change.
6142fdcb 8747
ac6b5352
SM
87482000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8749
8750 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8751 instead define end_match(1|2) more carefully.
8752 Use GET_CHAR_BEFORE_2 for `begline'.
8753
cb9215e4
GM
87542000-04-19 Gerd Moellmann <gerd@gnu.org>
8755
5e3dac3f
GM
8756 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8757 on 64-bit systems where NULL is defined as `0'.
8758
8759 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8760 the `variable argument list' to make it work on Alpha.
8761
cb9215e4
GM
8762 * m/alpha.h (_LP64) [!_LP64]: Define.
8763 (ORDINARY_LINK): Define for NetBSD.
8764
8765 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8766
f532dca0
DL
87672000-04-19 Dave Love <fx@gnu.org>
8768
c750667e
DL
8769 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8770 change.
8771
8772 * Makefile.in (LIBS): Don't use.
8773 (GETLOADAVG_OBJ): Define again.
8774 (otherobj): Add GETLOADAVG_OBJ.
8775
f532dca0
DL
8776 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8777
1c7e22fd
GM
87782000-04-18 Gerd Moellmann <gerd@gnu.org>
8779
f6d3257b
GM
8780 * lread.c (read_filtered_event): Cancel and start busy cursor.
8781
427ec082 8782 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8783 that the per-character metrics may be null.
8784
e10f64e7
GM
87852000-04-17 Gerd Moellmann <gerd@gnu.org>
8786
0daee095
GM
8787 * buffer.c (clone_per_buffer_values): New function.
8788 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8789 clone_per_buffer_values if CLONE is not nil.
8790
e10f64e7
GM
8791 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8792
38687d43
DL
87932000-04-16 Dave Love <fx@gnu.org>
8794
8795 * Makefile.in: Remove obsolete localcpp stuff.
8796 (GETLOADAVG_OBJ): Don't define.
8797 (obj): Move LIBOBJS...
8798 (otherobj): ... to here.
8799 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8800 whitespace-only lines after the continuation (Irix).
8801
c21c7262
GM
88022000-04-14 Gerd Moellmann <gerd@gnu.org>
8803
8804 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8805
8806 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8807
314767c0
DL
88082000-04-14 Dave Love <fx@gnu.org>
8809
8810 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8811 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8812 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8813 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8814 NLIST_STRUCT.
8815
8816 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8817 autoconfiscated HAVE_GETLOADAVG.
8818
8819 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8820 BROKEN_MKTIME.
8821
a2522dca
GM
88222000-04-14 Gerd Moellmann <gerd@gnu.org>
8823
8824 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8825 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8826
33744b5d
DL
88272000-04-14 Dave Love <fx@gnu.org>
8828
c21c7262 8829 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8830 (INTERVAL_SRC): Convert to make variable.
8831 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8832 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8833 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8834 add LIBOBJS.
8835 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8836 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8837 (shortlisp): Add facemenu, float-sup, frame.
8838 (SOME_MACHINE_LISP): Remove them from here.
8839 (LIBES): Change unused LDLIBS to autoconf LIBS.
8840
8841 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8842
9d3d5916
KH
88432000-04-14 Kenichi Handa <handa@etl.go.jp>
8844
8845 * composite.c (update_compositions): If FROM and TO are not in a
8846 valid range, do nothing.
8847
198e3c7a
GM
88482000-04-13 Gerd Moellmann <gerd@gnu.org>
8849
52283633 8850 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8851
52283633 8852 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8853
8854 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8855 as TERMCAP_OBJ.
8856
055a28c9
EZ
88572000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8858
8859 * fileio.c (a_write): Remove redundant semi-colons.
8860 (e_write): Return -1 if failed to write all the data.
8861 This fixes the changes made at 1999-12-15.
8862
f5c75033
DL
88632000-04-12 Dave Love <fx@gnu.org>
8864
8865 * fns.c (mapcar1): Test for null vals to support mapc.
8866 (Fmapc): New function.
8867
0c3cfc51
EZ
88682000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8869
8870 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8871 (IT_frame_up_to_date): Support the buffer local value of
8872 cursor-type, if defined.
8873
33465a31
DL
88742000-04-10 Dave Love <fx@gnu.org>
8875
8876 * editfns.c (preceding-char, following-char): Doc fix.
8877
6ed56568
KR
88782000-04-10 Ken Raeburn <raeburn@gnu.org>
8879
8880 * Makefile.in (temacs): Revert 2000-03-12 change.
8881
7cf80d4e
JR
88822000-04-10 Jason Rumney <jasonr@gnu.org>
8883
8884 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8885
34f3f342
GM
88862000-04-10 Gerd Moellmann <gerd@gnu.org>
8887
1a1b1895
GM
8888 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8889 area buffer, if it's not set up yet.
8890
34f3f342
GM
8891 * indent.c (compute_motion): Set immediate_quit.
8892
be0dbdab
GM
88932000-04-09 Gerd Moellmann <gerd@gnu.org>
8894
52283633 8895 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8896 (realize_tty_face): Suppress boldness if colors are the inverse of
8897 the default colors, and tty_suppress_bold_inverse_default_colors_p
8898 is set.
8899 (Ftty_suppress_bold_inverse_default_colors): New function.
8900 (syms_of_xfaces): Defsubr it.
8901
be0dbdab
GM
8902 * buffer.c (Frestore_buffer_modified_p): New function.
8903 (syms_of_buffer): Defsubr it.
8904
e8413c3b
KR
89052000-04-08 Ken Raeburn <raeburn@gnu.org>
8906
87f67317
KR
8907 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8908 charset id (int) argument, not a charset (Lisp_Object).
8909
e8413c3b
KR
8910 * coding.h (code_convert_string): Declare.
8911 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8912 object, as the fourth argument to code_convert_string.
8913
52283633 8914 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8915 (Fset_fontset_font): Use EQ to compare lisp objects.
8916
7c752c80
KR
89172000-04-05 Ken Raeburn <raeburn@gnu.org>
8918
c0333abc
KR
8919 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8920 a pointer that looks like a lisp object.
8921 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8922 zero, instead see whether it's an integer object, since they can't
8923 have intervals.
8924 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8925
52283633
SM
8926 * dispnew.c (allocate_matrices_for_frame_redisplay)
8927 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
8928 to convert between (unsigned) int values and lisp integers.
8929 * keyboard.c (read_key_sequence): Likewise.
8930 * lread.c (substitute_object_recurse): Likewise.
8931 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
8932 * minibuf.c (do_completion, Fminibuffer_complete_word)
8933 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
8934 * term.c (produce_special_glyphs): Likewise.
8935
8936 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8937 * print.c (print_preprocess, print_object): Likewise.
8938
8939 * search.c (compile_pattern): Use NILP when checking for nil.
8940
74e49b38
KR
8941 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8942 __OPTIMIZE__]: Provide a GNU C macro version that handles
8943 lisp-object unions.
8944 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8945 field, to better cope with ENABLE_CHECKING and calls that modify a
8946 Lisp_Object using its old value.
8947
685e5ed2
GM
89482000-04-04 Gerd Moellmann <gerd@gnu.org>
8949
c407c570
GM
8950 * window.c (compare_window_configurations): Signal an error
8951 if parameters C1 or C2 aren't window configurations.
8952
685e5ed2
GM
8953 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8954 AFTER_POTENTIAL_GC calls around calls to functions that can
8955 signal an error and thus invoke the debugger.
8956
587a49ab
GM
89572000-04-03 Gerd Moellmann <gerd@gnu.org>
8958
62f20204
GM
8959 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8960 an error if decoding fails.
8961
587a49ab
GM
8962 * keyboard.c (lispy_mouse_names): Variable removed.
8963 (Vlispy_mouse_stem): New variable.
8964 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8965 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8966 for any mouse button number. Increase size of mouse_syms and
8967 button_down_location as needed. Call modify_event_symbol with
8968 different arguments.
8969 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8970 Call modify_event_symbol with different arguments.
8971 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8972 for any button number. Call modify_event_symbol with different
8973 arguments.
8974 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8975 Accept a string for NAME_ALIST_OR_STEM.
8976
8977 * lisp.h (larger_vector): Add prototype.
8978
8979 * fns.c (larger_vector): Make externally visible.
8980
8981 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8982
2d1675e4
SM
89832000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8984
8985 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8986 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8987 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8988 we are between str1 and str2.
8989 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8990 (PATFETCH): Use `TRANSLATE'.
8991 (PATFETCH_RAW): Fetch multibyte char if applicable.
8992 (PATUNFETCH): Remove.
8993 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8994 When writing a char, write it directly into the pattern buffer rather
8995 than going needlessly through a temp char-array.
8996 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8997 multibyte magic and remove the useless `#ifdef emacs'.
8998 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8999 buffer.
9000
9001 * regex.h (struct re_pattern_buffer): Make field `multibyte'
9002 conditional on `emacs'.
9003
9004 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
9005
cc2d8c6b
KR
90062000-04-01 Ken Raeburn <raeburn@gnu.org>
9007
9008 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
9009 non-union-type versions of XMARK and friends here, because XMARK
9010 and friends won't work on an integer field if NO_UNION_TYPE is not
9011 defined.
52283633 9012 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 9013
52283633 9014 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
9015 (syms_of_composite): Delete local var NARGS, pass an int as first
9016 argument to Fmake_hash_table.
9017
2387b382
KR
9018 * editfns.c (text_property_stickiness): Use NILP to test
9019 Lisp_Object boolean value.
9020 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
9021 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
9022 problems reading from and changing the same lisp value in an
9023 XSETSTRING call.
9024
27660e89
GM
90252000-04-01 Gerd Moellmann <gerd@gnu.org>
9026
9027 * term.c (TN_no_color_video): New variable.
9028 (term_init): Intitialize TN_no_color_video.
9029 (enum no_color_bit): New enumeration.
9030 (MAY_USE_WITH_COLORS_P): New macro.
9031 (turn_on_face): Use it to determine if attributes may be used
9032 combined with colors.
9033
3578db3c
KR
90342000-04-01 Ken Raeburn <raeburn@gnu.org>
9035
9036 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9037 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9038 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9039 proper accessor macros.
9040 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9041 (grow_mini_window): Fix typo getting int value of root->height.
9042
6fc556fd
KR
9043 * xdisp.c (compute_string_pos): Fix order of arguments to
9044 string_pos_nchars_ahead.
9045 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9046 count arg to variable-arg routines like Frun_hook_with_args and
9047 Fformat.
587a49ab
GM
9048 (back_to_previous_visible_line_start)
9049 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9050 fixed-arg routines like Fget_char_property and Fmake_string.
9051 (reconsider_clip_changes): Use XINT when comparing integer lisp
9052 objects, or passing them as int arguments.
587a49ab
GM
9053 (mark_window_display_accurate, insert_left_trunc_glyphs)
9054 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9055 storing or passing integer values as lisp objects.
9056 (set_cursor_from_row, highlight_trailing_whitespace): Use
9057 INTEGERP, not implicit test against zero, for glyph object.
9058 (try_window_id): Don't use make_number when we want an int value.
9059
9060 * xfaces.c (xlfd_symbolic_value): Make last argument a
9061 Lisp_Object, to be consistent with callers.
9062 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9063 (lface_hash): Apply XFASTINT to lisp values before folding in.
9064
9065 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9066 fill in window width and height. Pass an int, not a lisp object,
9067 as first arg to Finsert.
9068
6e7b2457
GM
90692000-04-01 Gerd Moellmann <gerd@gnu.org>
9070
610d841e
GM
9071 * xfaces.c (realize_basic_faces): Block input while realizing
9072 the faces.
9073
6e7b2457
GM
9074 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9075
9076 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9077
aa110c0c
GM
90782000-03-31 Gerd Moellmann <gerd@gnu.org>
9079
9080 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9081 or ASCII, handle case that per-char metric is null.
aa110c0c 9082
8801a864
KR
90832000-03-30 Ken Raeburn <raeburn@gnu.org>
9084
c6129d7e
KR
9085 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9086
52283633
SM
9087 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9088 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9089 pointer, using eassert.
9090 * frame.h (XFRAME): Likewise.
9091
52283633
SM
9092 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9093 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9094 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9095 * data.c (set_internal): Likewise.
52283633
SM
9096 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9097 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9098 * fileio.c (auto_save_1): Likewise.
9099 * insdel.c (check_markers): Likewise.
9100 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9101 * undo.c (record_insert): Likewise.
9102 * vmsproc.c (child_sig): Likewise.
9103 * window.c (unshow_buffer, window_loop): Likewise.
9104 * xterm.c (x_erase_phys_cursor): Likewise.
9105
8e7af858
GM
91062000-03-30 Gerd Moellmann <gerd@gnu.org>
9107
9108 * xfns.c (free_image_cache): Free the cache structure itself
9109 last, after all its members have been freed.
9110
9111 * lisp.h (xstrdup): Add prototype.
9112
9113 * alloc.c (xstrdup): Moved here from xfaces.c.
9114 (allocating_for_lisp): Variable removed.
52283633 9115 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9116
9117 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9118 of Fsymbol_value.
9119 (xstrdup): Moved to alloc.c.
9120
e0b8c689
KR
91212000-03-29 Ken Raeburn <raeburn@gnu.org>
9122
b96f9fb7
KR
9123 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9124
9125 * emacs.c (main): Fix sense of no-loadup test.
9126
e0b8c689
KR
9127 * config.in (ENABLE_CHECKING): Undef.
9128
9129 * lisp.h (struct interval): Replace "parent" field with a union of
9130 interval pointer and Lisp_Object; add new bitfield to use as
9131 discriminant. Change other flag fields to bitfields.
9132 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9133 is defined and the supplied test fails, print a message and abort.
9134 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9135
9136 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9137 pointers; abort if the value looks like a lisp object.
52283633
SM
9138 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9139 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9140 Modify for new interval parent definition.
9141
52283633
SM
9142 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9143 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9144 addressable lisp object in the interval structure.
9145 (die): New function.
9146 (suppress_checking): New variable.
9147
9148 * intervals.c (interval_start_pos): Just return 0 if there's no
9149 parent object.
9150
f83c5440
GM
91512000-03-29 Gerd Moellmann <gerd@gnu.org>
9152
9153 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9154 and earlier Emacs versions.
9155
9156 * keyboard.c (Ftop_level): Cancel busy-cursor.
9157
9158 * eval.c (call_debugger): Cancel busy-cursor.
9159
fdce64ff
KH
91602000-03-29 Kenichi Handa <handa@etl.go.jp>
9161
9162 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9163 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9164
f6a3f532
SM
91652000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9166
9167 * regex.c (analyse_first): New function obtained by ripping out most
9168 of re_compile_fastmap and generalizing it a little bit so that it
9169 can also just return whether a given (sub)pattern can match the empty
9170 string or not.
9171 (regex_compile): Use `analyse_first' to decide whether the loop-check
9172 needs to be done or not for *, +, *? and +? (the loop check is costly
9173 for non-greedy repetition).
9174 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9175
e9b309ac
DL
91762000-03-28 Dave Love <fx@gnu.org>
9177
52283633 9178 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9179
e9b309ac
DL
9180 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9181
ed0767d8
SM
91822000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9183
9184 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9185 an expression.
9186 (enum re_opcode_t): Update description of succeed_n.
9187 (PATFETCH): Always define.
9188 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9189 operators, char classes, shy-groups and intervals).
9190 Optimize special cases of intervals so as to only use succeed_n and
9191 jump_n when really needed.
9192 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9193 that we don't have to handle the special cases any more.
9194 Simplify on_failure_jump handling as well.
9195
e11e7e46
JR
91962000-03-28 Jason Rumney <jasonr@gnu.org>
9197
9198 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9199
88faab89
GM
92002000-03-27 Gerd Moellmann <gerd@gnu.org>
9201
182ff242
GM
9202 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9203
9204 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9205
182ff242
GM
9206 * alloc.c (mark_maybe_object): New function.
9207 (mark_memory): Use it.
9208 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9209 (setjmp_tested_p, longjmp_done): New variables.
9210 (test_setjmp): New function.
9211 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9212 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9213
c1005d06
GM
9214 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9215 to DEC_TEXT_POS and INC_TEXT_POS.
9216
9217 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9218 with parameter MULTIBYTE_P.
9219
52283633 9220 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9221
7439e5b9 9222 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9223 buffers because it looks for multibyte character byte sequences
9224 which don't exist in unibyte text.
7439e5b9 9225
d9c545da
GM
9226 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9227
11fd416e 9228 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9229 [DEBUG_X_COLORS]: New functions.
9230 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9231
9232 * xfns.c (x_set_cursor_color): Get color reference counts right.
9233
9234 * xterm.c (x_copy_color): New function.
9235 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9236
9237 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9238 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9239 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9240 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9241 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9242 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9243 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9244 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9245 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9246 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9247
11fd416e
GM
9248 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9249 names for handling per-buffer variables.
d9c545da
GM
9250
9251 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9252 instead of MAX_BUFFER_LOCAL_VARS.
9253 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9254
9255 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9256
88faab89
GM
9257 * xfns.c (x_specified_cursor_type): New function.
9258 (x_set_cursor_type): Use it.
9259
9260 * buffer.h (struct buffer): Add cursor_type.
9261
d80f42b7
SM
92622000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9263
9264 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9265 (print_partial_compiled_pattern, re_compile_fastmap):
9266 Handle new opcode.
d80f42b7
SM
9267 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9268 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9269 executing it as well as when popping it off the stack to find infinite
9270 loops in non-greedy repetition operators.
9271
89e80928
GM
92722000-03-26 Gerd Moellmann <gerd@gnu.org>
9273
3d4ff2dd
GM
9274 * doc.c (Qfunction_documentation): New variable.
9275 (syms_of_doc): Initialize Qfunction_documentation.
9276 (Fdocumentation): If FUNCTION is a symbol with non-nil
9277 `function-documentation' property, return a documentation derived
9278 from that.
9279
bd96bd79
GM
9280 * buffer.c (syms_of_buffer): Add default-cursor-type.
9281 (init_buffer_once): Don't let cursor_type have a local value
9282 in every buffer.
9283
19d1bc27
GM
9284 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9285 on buffer-local value of cursor_type.
9286 (x_draw_bar_cursor): Add parameter WIDTH.
9287
9288 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9289 (init_buffer_once): Set default cursor_type value to t.
9290 Mark cursor_type as local everywhere.
9291 (syms_of_buffer): New per-buffer variable cursor-type.
9292
89e80928
GM
9293 * buffer.h (struct buffer): Remove member local_var_flags,
9294 add local_flags.
9295 (MAX_BUFFER_LOCAL_VARS): New macro.
9296 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9297 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9298 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9299 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9300
52283633 9301 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9302
9303 * category.c (Fset_category_table): Use new macros for per-buffer
9304 variables.
9305
9306 * buffer.c (buffer_permanent_local_flags): Make a char array.
9307 (max_buffer_local_idx): New variable.
9308 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9309 for new handling of per-buffer variables.
9310 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9311 (init_buffer_once): Initialize per-buffer vars differently.
9312 Set max_buffer_local_idx.
9313
9314 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9315 variables.
9316
52283633 9317 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9318
9319 * data.c (do_symval_forwarding, store_symval_forwarding)
9320 (find_symbol_value, set_internal, default_value, Fset_default)
9321 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9322 per-buffer variables.
9323
9324 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9325
9a0dd3dc
GM
93262000-03-24 Gerd Moellmann <gerd@gnu.org>
9327
b68c375f
GM
9328 * xterm.c (x_term_init): Unblock input around call1 of
9329 Qvendor_specific_keysyms.
9330
9a0dd3dc
GM
9331 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9332 (find_defun_start): Consider an open parenthesis in column 0
9333 a defun start only if open_paren_in_column_0_is_defun_start is set.
9334 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9335
7973e637
SM
93362000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9337
9338 * eval.c (Fautoload): Add entry in load-history (if after dump).
9339 * lread.c (load-history): Update docstring.
9340
39210e90
GM
93412000-03-24 Gerd Moellmann <gerd@gnu.org>
9342
9343 * indent.c (Fvertical_motion): Always use the current buffer.
9344 Temporarily change the window's buffer, if necessary.
9345
72db3ab5
GM
93462000-03-23 Gerd Moellmann <gerd@gnu.org>
9347
9348 * xterm.c (fast_find_position): Make sure not to consider rows
9349 not visible in the window.
9350
990b2375
SM
93512000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9352
9353 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9354 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9355
ff4df011
JR
93562000-03-22 Jason Rumney <jasonr@gnu.org>
9357
9358 * w32menu.c (single_submenu): Set help string to NULL if none.
9359 (w32_menu_show): Set help string correctly.
9360 (add-menu-item): Set help string in MIIM_DATA for menu item.
9361 Load SetMenuItemInfoA explicitly.
9362 (w32_menu_display_help): New function.
427ec082 9363
ff4df011
JR
9364 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9365 (QCdata): Moved to xdisp.c.
9366
9367 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9368 (Vw32_charset_to_codepage_alist): Removed.
9369 (Vw32_charset_info_alist): New variable.
52283633
SM
9370 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9371 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9372 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9373 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9374 with TODO comment.
9375 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9376 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9377 Define Vw32_charset_info_alist and w32_charset symbols.
9378
93792000-03-22 Jason Rumney <jasonr@gnu.org>
9380
9381 * makefile.nt (w32bdf.obj): Update dependencies.
9382
9383 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9384
9385 * w32fns.c: Include fontset.h after dispextern.h.
9386 (Fx_create_frame): Do not create fontset.
9387 (w32_load_system_font): Doc fix.
9388 (Fx_close_connection): Free full_name if it is not shared.
9389
9390 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9391 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9392 Callers updated.
ff4df011
JR
9393 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9394 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9395 (w32_font_is_double_byte): New function, needs body.
9396 (x_append_glyph): Set glyph->glyph_not_available_p.
9397 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9398 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9399 character, convert it to a unibyte character.
9400 (struct glyph_string): Delete member `charset'.
9401 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9402 calculating it is found.
9403 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9404 the case that per char metric is not available correctly.
9405 (x_fill_glyph_string): Handle the case that the specific glyph is
9406 not available correctly.
9407 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9408 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9409 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9410 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9411 fontset. Don't call FS_LOAD_FONT.
9412
439d5cb4
KR
94132000-03-22 Ken Raeburn <raeburn@gnu.org>
9414
9415 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9416 (INT_LISPLIKE): New macro.
9417 (NULL_INTERVAL_P): Use it.
52283633
SM
9418 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9419 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9420 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9421
9422 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9423 explicit references to "parent" field of struct interval and
9424 associated unclean type conversions.
52283633
SM
9425 * intervals.c (create_root_interval, root_interval, rotate_right)
9426 (rotate_left, balance_possible_root_interval, split_interval_right)
9427 (split_interval_left, interval_start_pos, find_interval)
9428 (next_interval, previous_interval, update_interval)
9429 (adjust_intervals_for_insertion, delete_node, delete_interval)
9430 (adjust_intervals_for_deletion, merge_interval_right)
9431 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9432 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9433 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9434 Likewise.
9435 * syntax.c (update_syntax_table): Likewise.
9436
9437 * intervals.c (reproduce_tree_obj): New function, like
9438 reproduce_tree but takes a Lisp_Object for the parent. Declare
9439 with prototype.
9440 (graft_intervals_into_buffer): Use it when appropriate.
9441 (reproduce_tree): Declare with prototype.
9442 (balance_possible_root_interval): Check that the parent is a lisp
9443 object before trying to examine its type.
9444
ee1c5b21
GM
94452000-03-22 Gerd Moellmann <gerd@gnu.org>
9446
9447 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9448 as strings only if both are known to be strings.
9449
9450 * s/openbsd.h (LIBS_TERMCAP): Undef.
9451
1fb352e0
SM
94522000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9453
9454 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9455 definitions for non-Emacs compilation.
9456 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9457 outside of `#ifdef emacs'.
9458 (print_partial_compiled_pattern): Update.
9459 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9460 (re_compile_fastmap): Merge handling of charset and charset_not (for
9461 emacs and non-emacs compilation as well).
9462 Similarly for (not)categoryspec and (not)syntaxspec.
9463 Don't use the fastmap when reaching `anychar' since the added
9464 complexity is not justified.
9465 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9466 and (not)syntaxspec. Merge (not)categoryspec.
9467
fdaa1f77
KH
94682000-03-22 Kenichi Handa <handa@etl.go.jp>
9469
52283633
SM
9470 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9471 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9472 --without-x.
fdaa1f77 9473
d152fb46
DL
94742000-03-21 Dave Love <fx@gnu.org>
9475
9476 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9477 doc string.
9478
d2cafc8c
GM
94792000-03-21 Gerd Moellmann <gerd@gnu.org>
9480
9481 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9482 (lface_fully_specified_p): Don't check contents of
9483 LFACE_FONT_INDEX because that attribute is optional.
9484 (realize_x_face): Remove now unwarranted xassert.
9485
9111d4b5
KH
94862000-03-21 Kenichi HANDA <handa@etl.go.jp>
9487
9488 The following changes are to make font selection based on
9489 characters, not charset. In addition, they recover fontset
9490 facilities while utilizing the new font selection mechanism.
9491
6c4bfdc0
KH
9492 * Makefile.in (fontset.o): Depend on dispextern.h.
9493
9494 * alloc.c (mark_face_cache): Don't mark face->registry.
9495
9111d4b5
KH
9496 * dispextern.h (struct glyph): New member glyph_not_available_p.
9497 Use 22 bits for face_id.
9498 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9499 (struct face): Delete member registry, new member ascii_face.
9500 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9501 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9502 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9503 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9504
9505 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9506 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9507 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9508 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9509 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9510 (fs_free_face_fontset, fontset_font_pattern)
9511 (face_suitable_for_char_p, face_for_char)
9512 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9513 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9514 (FS_LOAD_FACE_FONT): New macro.
9515
9516 * fontset.c: All codes rewritten or adjusted for the change of
9517 fontset implementation. Now fontset is represented by char table.
52283633
SM
9518 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9519 Variables removed.
9111d4b5 9520 (my_strcasecmp): Function removed.
52283633 9521 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9522 (AREF, ASIZE): New macros.
52283633
SM
9523 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9524 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9525 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9526 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9527 (fontset_id_valid_p, font_family_registry, fontset_name)
9528 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9529 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9530 New functions.
9531 (fs_load_font): New arg FACE. Caller changed.
9532 (fs_query_fontset): Argument changed. Caller changed.
9533 (Fquery_fontset): call fs_query_fontset.
9534 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9535 Functions removed.
52283633
SM
9536 (clear_fontset_elements, check_registry_encoding)
9537 (check_fontset_name): New functions.
9111d4b5
KH
9538 (syms_of_fontset): Set char-table-extra-slots property of fontset
9539 to 3. Staticpro and initialize Vfontset_table and
9540 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9541
9542 * frame.h (struct frame): Member `fontset_data' removed.
9543 (FRAME_FONTSET_DATA): Macro removed.
9544
9545 * frame.c (make_frame): Don't allocate f->fontset_data.
9546 (Fdelete_frame): Don't free f->fontset_data.
9547
6c4bfdc0
KH
9548 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9549
9111d4b5
KH
9550 * xdisp.c (charset_at_position): Function removed.
9551 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9552 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9553 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9554 Likewise.
9555 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9556 FACE_FOR_CHARSET.
52283633
SM
9557 (get_next_display_element, append_space)
9558 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9559
9560 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9561 Variables removed.
9562 (clear_font_table, frame_update_line_height, load_face_font):
9563 Adjusted for the change of fontset implementation.
9564 (load_face_fontset_font): Function removed.
9565 (pixel_point_size): New function.
9566 (font_list): Argument type changed. Caller changed.
9567 (LFACE_FONT): New macro.
9568 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9569 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9570 Lisp_Object. Determine the font name by actually loading a font
9571 by the specified pattern. Set LFACE_FONT (lface) to the specified
9572 pattern. Even if a font is not found, don't try alternatives.
9573 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9574 (set_font_frame_param): If `font' is specified in lface, use it.
9575 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9576 (lface_same_font_attributes_p): Likewise.
9577 (make_realized_face): Arguent changed. Caller changed. Set
9578 face->ascii_face to face itself.
9579 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9580 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9581 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9582 (free_realized_multibyte_face): New function.
9583 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9584 changed. Caller changed.
9585 (try_font_list): Argument type changed.
9586 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9587 (choose_face_font): Argument changed. Handle fontset properly.
9588 (choose_face_fontset_font): Function removed.
9589 (realize_default_face, realize_named_face): Don't remove the
9590 former face here.
9591 (realize_face): Argument changed. Caller changed. Remove face
52283633 9592 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9593 (realize_x_face): Argument changed. Caller changed. For a
9594 multibyte character, share fontset with base_face. For a single
52283633 9595 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9596 (realize_tty_face): Argument changed. Caller changed.
9597 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9598 (face_at_buffer_position): Don't check multibyte_p for returning
9599 DEFAULT_FACE_ID.
9600 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9601 FACE_SUITABLE_FOR_CHARSET_P.
9602 (syms_of_xfaces): Remove code for Qx_charset_registry and
9603 Vface_default_registry.
9604
6c4bfdc0
KH
9605 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9606 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9607 (x_per_char_metric): Don't try FONT->default_char. Even if
9608 pcm->width is zero, glyph bits may exist.
9609 (x_encode_char): Always initialize char2b->byte1.
9610 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9611 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9612 (x_append_glyph): Set glyph->glyph_not_available_p.
9613 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9614 it->charset. Handle the case that per char metric is not
9615 available. If it->multibyte_p is zero and it->c is a multibyte
9616 character, convert it to a unibyte character.
9617 (struct glyph_string): Delete member `charset'.
9618 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9619 the case that per char metric is not available correctly.
9620 (x_fill_glyph_string): Handle the case that the specific glyph is
9621 not available correctly.
9622 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9623 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9624 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9625 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9626 fontset. Don't call FS_LOAD_FONT.
9627
9628 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9629 (x_create_tip_frame): Likewise.
9630 (Fx_close_connection): Free full_name of font_info.
9631
9632 * fns.c (optimize_sub_char_table): New function.
9633 (Foptimize_char_table): New function.
9634 (syms_of_fns): Defsubr Soptimize_char_table.
9635
b33dd3b0
GM
96362000-03-20 Gerd Moellmann <gerd@gnu.org>
9637
9638 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9639 only if buffer is displayed in some window.
9640
9641 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9642 (try_window_reusing_current_matrix): Don't call scroll run
9643 function if run's current and desired position are the same;
9644 this prevents cursor flickering.
9645
4e8a9132
SM
96462000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9647
9648 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9649
9650 * regex.c (RE_STRING_CHAR): New macro.
9651 (GET_CHAR_AFER_2): Remove.
9652 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9653 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9654 (print_partial_compiled_pattern, re_compile_fastmap)
9655 (re_match_2_internal): Remove on_failure_jump_exclusive.
9656 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9657 optimization only need to work for * (ie. can use of_keep_string_jump).
9658 Remove the special case for .*\n since it is now covered by the general
9659 optimization.
9660 (re_search_2): Don't bother with `room'.
9661 (skip_one_char): New function.
9662 (skip_noops): Simplify since `memory' is not needed any more.
9663 (mutually_exclusive_p): Restructure slightly to use `switch' and
9664 add handling for "all" remaining cases.
9665 (re_match_2_internal): Change on_failure_jump_smart to use
9666 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9667 rather than on_failure_jump_exclusive.
9668
2136fdd4
GM
96692000-03-19 Gerd Moellmann <gerd@gnu.org>
9670
9671 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9672 number of bits per RGB because it's everywhere used as the depth
9673 of the visual.
9674
9675 * term.c (calculate_costs): Remove code dealing with X frames.
9676
18e21ce8 96772000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9678
9679 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9680
d7b511c4
GM
96812000-03-18 Gerd Moellmann <gerd@gnu.org>
9682
9683 * lread.c (read_integer): Unread the last char not consumed.
9684
16b5d424
GM
96852000-03-17 Gerd Moellmann <gerd@gnu.org>
9686
9687 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9688 which are in the process of being deleted.
16b5d424 9689
1fa28578
GM
96902000-03-16 Gerd Moellmann <gerd@gnu.org>
9691
83488cce
GM
9692 * Makefile.in (mostlyclean): Add `*.core'.
9693 (clean): Add `bootstrap-emacs'.
9694
1fa28578
GM
9695 * lread.c (read_integer): New function.
9696 (read1): Support read syntax #o, #x, #b, #r.
9697
99633e97
SM
96982000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9699
1fa28578
GM
9700 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9701 make sure POINTER_TO_OFFSET gives the same value before and after
9702 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9703 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9704 (debug): Now only active if > 0 rather than if != 0.
9705 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9706 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9707 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9708 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9709 (store_op1, store_op2, insert_op1, insert_op2)
9710 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9711 (group_in_compile_stack): Move to after its arg's types are
9712 declared and add a prototype.
99633e97 9713 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9714 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9715 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9716 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9717 indentation of the greedy-op and shy-group code.
99633e97
SM
9718 (at_(beg|end)line_loc_p): Fix argument's types.
9719 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9720 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9721 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9722 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9723 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9724 QUIT unconditionally.
99633e97 9725
699238d9
GM
97262000-03-15 Gerd Moellmann <gerd@gnu.org>
9727
9728 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9729 a sole completion.
9730
9731 * process.c (send_process): Add a hint that the function
9732 can call Lisp code to its comment.
9733
9734 * lread.c (load_dangerous_libraries): New variable.
9735 (Vbytecomp_version_regexp): New variable.
9736 (safe_to_load_p): New function.
9737 (Fload): Handle files not compiled with Emacs specially.
9738 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9739
34e23e5a
GM
97402000-03-14 Gerd Moellmann <gerd@gnu.org>
9741
9c763cca
GM
9742 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9743
9744 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9745 support functions only if HAVE_X11R6_XIM is defined.
9746 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9747
9748 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9749
9750 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9751 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9752 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9753
9754 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9755 (HAVE_X11R6_XIM): Define.
9756
9757 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9758
34e23e5a
GM
9759 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9760 If set, call XSynchronize.
9761
66f0296e
SM
97622000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9763
34e23e5a
GM
9764 * regex.c: Declare a new type `re_char' used throughout the code
9765 for the string char type. It's `const unsigned char' to match the
9766 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9767 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9768 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9769 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9770 code duplication.
66f0296e
SM
9771
9772 * charset.h (GET_CHAR_AFTER_2): Remove.
9773 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9774
854a025c
KR
97752000-03-12 Ken Raeburn <raeburn@gnu.org>
9776
9777 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9778 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9779 of them try to use backquotes.
9780
b9d2c7e2
DL
97812000-03-12 Dave Love <fx@gnu.org>
9782
9783 * unexelf.c: Restore changes of 1999-10-19.
9784 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9785 fix its type and alignment; copy it from current process.
9786
5e5dff44
GM
97872000-03-12 Gerd Moellmann <gerd@gnu.org>
9788
9b2f3c38
GM
9789 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9790 has been found. Fix bug not computing timer's predecessor.
9791
427ec082 9792 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9793 file name.
9794
e1cff360
GM
9795 * window.c (Fsave_window_excursion): Doc fix.
9796
52283633 9797 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9798
e411ce4b
EZ
97992000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * msdos.c (vga_installed): New function, code moved from
9802 dos_set_window_size.
9803 (Qbar, Qcursor_type, outside_cursor): New variables.
9804 (syms_of_msdos): Intern and staticpro them.
9805 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9806 shape used outside Emacs when called for the first time.
9807 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9808 cursor shape used outside Emacs.
9809 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9810 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9811 type has changed.
9812 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9813 parameters specify the cursor. Make qreverse a global
9814 variable (renamed to Qreverse).
9815
80460654
GM
98162000-03-09 Gerd Moellmann <gerd@gnu.org>
9817
9818 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9819
95cd4c40
SM
98202000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9821
9822 This is a big redesign of failure-stack and register handling, prompted
9823 by bugs revealed when trying to add shy-groups. Overall, what happened
9824 is that loops are now structured a little differently, groups can be
9825 shy and the code is a little simpler.
9826
9827 * regex.h: Update the copyright.
9828 (RE_SHY_GROUPS): New value.
9829 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9830 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9831
80460654
GM
9832 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9833 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9834 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9835 for (start|stop)_memory since they now only take one argument (the
9836 second has becomes unnecessary).
52283633 9837 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9838 (print_compiled_pattern): Use %ld to printf long ints and flush to
9839 make debugging a little easier.
95cd4c40
SM
9840 (union fail_stack_elt): Make the integer unsigned.
9841 (struct fail_stack_type): Add a `frame' element.
9842 (INIT_FAIL_STACK): Init `frame' as well.
9843 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9844 (DEBUG_PUSH, DEBUG_POP): Remove.
9845 (NUM_REG_ITEMS): Remove.
9846 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9847 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9848 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9849 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9850 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9851 New macros.
80460654
GM
9852 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9853 address pushed is not the destination of the jump but the source
9854 of it instead.
95cd4c40
SM
9855 (NUM_FAILURE_ITEMS): Remove.
9856 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9857 registers before the actual failure point). Don't hardcode any
9858 meaning for str==NULL anymore.
95cd4c40 9859 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9860 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9861 Remove.
95cd4c40
SM
9862 (REG_UNSET_VALUE): Use NULL (why not?).
9863 (compile_range): Remove declaration since it doesn't exist.
9864 (struct compile_stack_elt_t): Remove inner_group_offset.
9865 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9866 (regex_grow_registers): Remove dead code.
9867 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9868 (regex_compile): Add shy-groups Change loops to use
9869 on_failure_jump_smart&jump instead of
9870 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9871 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9872 variable to me). Use `jump' instead of `jump_past_alt' and don't
9873 bother with push_dummy_failure in alternatives since it is now
9874 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9875 emacs' for (re)allocating the stack.
9876 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9877 from loop when bufp->can_be_null rather than jumping to `done'.
9878 Avoid jumping backwards so as to ensure termination. Use
9879 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9880 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9881 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9882 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9883 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9884 (lowest_active_reg, highest_active_reg)
9885 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9886 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9887 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9888 variables. Push register (in `start_memory') on the stack rather
9889 than storing it in old_reg(start|end). Remove the cycle detection
9890 from `stop_memory', replaced by the use of on_failure_jump_loop
9891 for greedy loops. Add code for the new on_failure_jump_<foo>.
9892 Remove ad-hoc code in `on_failure_jump' to push more registers in
9893 the case of a loop. Take out code from `maybe_pop_jump' into
9894 separate functions and adapt it to the semantics of
9895 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9896 and push_dummy_failure. Remove dummy_failure handling and
9897 handling of `failures to jump to on_failure_jump' (this last one
9898 was already dead code, it seems).
9899 (group_match_null_string_p, alt_match_null_string_p)
9900 (common_op_match_null_string_p): Remove.
95cd4c40 9901
7397acc4
DL
99022000-03-08 Dave Love <fx@gnu.org>
9903
9904 * config.in: Don't depend on __STDC__ for volatile.
9905 Add POINTER_TYPE, PTR, PROTOTYPES.
9906
9907 * hftctl.c, strftime.c: Use PROTOTYPES.
9908 * eval.c (find_handler_clause): Likewise.
9909
9910 * mem-limits.h: Use POINTER_TYPE.
9911
9912 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9913 (memory_warnings): Declare using POINTER_TYPE.
9914
5e91ff9e
GM
99152000-03-08 Gerd Moellmann <gerd@gnu.org>
9916
feab4fba
GM
9917 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9918
52283633 9919 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9920
5e91ff9e
GM
9921 * xfns.c: Remove obsolete code in #if 0.
9922 (Fx_focus_frame): New function.
9923
a735b7e1
KH
99242000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9925
9926 * coding.c (coding_category_name): Add coding-category-utf-8,
9927 coding-category-utf-16-be, coding-category-utf-16-le.
9928 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9929 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9930 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9931 (detect_coding_utf_8): New function.
9932 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9933 UTF_16_LOW_SURROGATE_P): New macros.
9934 (detect_coding_utf_16): New function
9935 (detect_coding_mask): When priorities are specified, skip any
9936 categories that have `nil' coding-system. Fix bug of returning
9937 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9938 returns a mask not set in PRIORITIES.
9939 (detect_eol_type_in_2_octet_form): New function.
9940 (detect_eol): selects detect_eol_type_XXX to call according to
9941 cooding->category_idx.
9942 (detect_coding_system): Remove `nil' coding-system in the result.
9943 (Fupdate_coding_systems_internal): Update all coding-categories.
9944
52283633
SM
9945 * coding.h (CODING_CATEGORY_IDX_UTF_8)
9946 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
9947 New macros.
9948 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
9949 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9950 (CODING_CATEGORY_IDX_UTF_16_LE)
9951 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
9952 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
9953 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9954 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9955
9994cc69
GM
99562000-03-07 Gerd Moellmann <gerd@gnu.org>
9957
e9b4e5ff
GM
9958 * doc.c (Fdocumentation_property): If value is not a string,
9959 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9960
f7daf1e1
GM
9961 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9962 close the display with XtCloseDisplay. This caused a bus error
9963 on OpenWindows.
9964
9994cc69
GM
9965 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9966 complete but not unique.
9967
4336c705
GM
99682000-03-06 Gerd Moellmann <gerd@gnu.org>
9969
18bb0684
GM
9970 * process.c (send_process): Remove local variable `procname' that
9971 might become invalid when a GC happens. Instead, access the
9972 process name slot directly.
9973
4336c705
GM
9974 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9975 orig_height if set.
9976
9977 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9978 orig_height if set.
9979
515d0d0e
EZ
99802000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9981
9982 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9983 glyph matrices have been freed.
9984
100b3cbb
GM
99852000-03-05 Gerd Moellmann <gerd@gnu.org>
9986
50df5e5a 9987 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9988 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9989
9990 * xfns.c (QCdata): Moved to xdisp.c.
9991
9992 * xdisp.c (QCdata): Moved here from xfns.c.
9993 (syms_of_xdisp): Initialize QCdata.
9994
9995 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9996
9997 * window.c (coordinates_in_window): Use
9998 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9999 FRAME_INTERNAL_BORDER_WIDTH.
10000
100b3cbb 10001 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 10002 it is obviously invalid.
100b3cbb
GM
10003
10004 * xterm.c (x_term_init): Create a colormap if not using the
10005 default visual.
10006
10007 * xterm.h (select_visual): Change prototype.
10008
10009 * xfns.c (select_visual): Rewritten. Recognize user-specified
10010 visual classes.
10011 (visual_classes): New variable.
10012
64d739c4
GM
100132000-03-04 Gerd Moellmann <gerd@gnu.org>
10014
10015 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10016 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10017 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 10018 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
10019 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10020 XtNcolormap resources.
10021 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10022 (Fx_create_frame): Initialize color members of x_output structure.
10023 (xpm_load): Pass colormap to XPM lib.
10024
10025 * xfaces.c (x_free_colors): Access colormap of frame using
10026 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10027 when default colormap is used.
10028
10029 * xterm.c (x_term_init): Set Colormap member of x_display_info
10030 structure. Copy colormap if resource `privateColormap' is
10031 specified (PseudoColor only).
10032 (x_setup_relief_color): Access colormap of frame using
10033 FRAME_X_COLORMAP.
10034
10035 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10036 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10037
c3cee013
JR
100382000-03-04 Jason Rumney <jasonr@gnu.org>
10039
10040 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10041 other non-platform-specific equivalents.
64d739c4 10042 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10043 specific functions and macros as their w32 equivalents where
10044 non-platform-specifics are not available.
10045 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10046 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10047 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10048 (frame_update_line_height): Use macros to access f->output_data.
10049 (defined_color): Remove FIXME comments; fixed.
10050 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10051 into #ifdef blocks. Add WINDOWSNT blocks.
10052 (Fx_list_fonts): Use macros for accessing font data.
10053 (set_lface_from_font_name): Different default fonts for X and
10054 WINDOWSNT.
10055 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10056 scalable for backward compatibility.
64d739c4 10057 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10058 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10059
64d739c4 10060 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10061 syms_of_w32faces.
10062
10063 * makefile.nt (w32faces.obj): Remove.
10064 (xfaces.obj): Add.
10065
807cc41c
JR
100662000-03-03 Jason Rumney <jasonr@gnu.org>
10067
10068 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10069 correct parameters.
10070
0007072a
KR
100712000-03-03 Ken Raeburn <raeburn@gnu.org>
10072
10073 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10074 standard ELF definitions here if the system header does not.
10075
71a6ba55
GM
100762000-03-03 Gerd Moellmann <gerd@gnu.org>
10077
10078 * xterm.c (PER_CHAR_METRIC): Removed.
10079 (x_per_char_metric_1, x_default_char): New functions.
10080 (x_per_char_metric): If font's default char is invalid, return
10081 metrics of a suitably chosen usable default char.
10082 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10083 char, replace occurrences of unprintable chars with a suitably
10084 chosen usable default char.
71a6ba55 10085
900fa1f1
GM
100862000-03-02 Gerd Moellmann <gerd@gnu.org>
10087
42f55fe0
GM
10088 * xterm.c (note_mouse_highlight): Return quickly if frame's
10089 glyph matrices have been freed.
10090
10091 * dispnew.c (free_glyphs): Block input while freeing matrices.
10092
900fa1f1
GM
10093 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10094
52283633
SM
10095 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10096 Use x_free_colors.
900fa1f1
GM
10097
10098 * dispextern.h (x_free_colors): Add prototype.
10099
10100 * xfaces.c (x_free_colors): New function.
10101 (unload_color, free_face_colors): Use it.
10102
2f950292
EZ
101032000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10104
10105 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10106
10107 * window.c [MSDOS]: Include msdos.h.
10108
54d04320
DL
101092000-03-02 Dave Love <fx@gnu.org>
10110
10111 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10112
10113 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10114 set C_OPTIMIZE_SWITCH for gcc.
10115
0ba93ac4
KH
101162000-03-02 Kenichi Handa <handa@etl.go.jp>
10117
10118 * coding.c (coding_save_composition): Be sure to allocate
10119 composition data area in coding even if there's no composition in
10120 the current run.
10121
a2bc11d4
JR
101222000-03-01 Jason Rumney <jasonr@gnu.org>
10123
10124 * w32term.c: Equivalent changes to those made to xterm.c on
10125 2000-02-25 and 2000-02-24.
10126
10127 * w32fns.c: Equivalent changes to those made to xfns.c on
10128 2000-02-25 and 2000-02-21.
10129
10130 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10131 correct line-end convention is followed.
10132
10133 * w32menu.c [HAVE_BOXES]: Remove #undef.
10134 (single_keymap_panes): Remove code for simulating checkmarks.
10135 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10136 Remove code for drawing simulated checkmarks.
10137 (w32_menu_show): make unibyte help string correctly.
10138 (add_menu_item): draw standard Windows checkmarks. Draw radio
10139 buttons as radio buttons if possible.
10140
72d19d75
GM
101412000-03-01 Gerd Moellmann <gerd@gnu.org>
10142
2df636f4
GM
10143 * sysdep.c (start_of_text): Don't define this function for NetBSD
10144 with ELF.
10145
427ec082 10146 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10147 Don't define.
10148 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10149 (LINKER): Don't undef if __NetBSD__ is defined.
10150
10151 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10152
10153 * fileio.c [__NetBSD__]: Define `unix'.
10154
72d19d75
GM
10155 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10156
ed4d0512
GM
101572000-02-29 Gerd Moellmann <gerd@gnu.org>
10158
50b1039f
GM
10159 * atimer.c (start_atimer): Don't abort when timers are stopped.
10160 (append_atimer_lists): New function.
10161 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10162 arbitrary lists of stopped and running atimers.
10163
ed4d0512
GM
10164 * atimer.c (cancel_atimer): Handle canceling an atimer when
10165 some timers are stopped.
10166
10167 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10168 after canceling it.
10169
10170 * fns.c (maybe_resize_hash_table): Handle case of new size
10171 coming out as being the same as old size.
10172
387023ee
JR
101732000-02-27 Jason Rumney <jasonr@gnu.org>
10174
10175 * makefile.nt: Add atimer.h to dependencies.
10176 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10177 * w32console.c: Only disable window system features for dispextern.h
10178 (initialize_w32_display): Build a display info for the console.
10179 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10180 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10181 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10182 as 2 button mice.
10183 * w32gui.h (struct W32FontStruct): Revert last change after change
10184 to xdisp.c.
10185 * w32menu.c (single_submenu): Set up help string.
10186 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10187 (w32_dialog_show): Set up help string.
10188 * w32term.c (w32_display_info_for_display): Remove unused function.
10189 (w32_draw_bitmap): Use pre-built bitmaps.
10190 (w32_initialize_display_info): New function to initialize parts of
10191 display info that are common to both GUI and console frames.
10192 (w32_term_init): Use w32_initialize_display_info. Do not set
10193 Vw32_num_mouse_buttons here, as it is not called for console
10194 frames. Build bitmaps for indicating truncated lines etc.
10195 (x_delete_display): Destroy pre-built bitmaps.
10196 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10197 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10198
4516715a
DL
101992000-02-27 Dave Love <fx@gnu.org>
10200
10201 * lisp.h: Add a bunch of prototypes.
10202
171ca836
KH
102032000-02-26 Kenichi Handa <handa@etl.go.jp>
10204
10205 * keyboard.c (read_char): Set `usec' correctly.
10206
4013921d
KH
102072000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10208
10209 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10210 `lambda', set reg[RRR] to the map index.
10211 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10212 reg[RRR] to 0. Otherwise, set it to -1.
10213
9244a058
GM
102142000-02-25 Gerd Moellmann <gerd@gnu.org>
10215
2df636f4 10216 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10217
18e21ce8 102182000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10219
f43d79c1
GM
10220 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10221 and contains a `:', prepend `/:'.
10222
10223 * window.c (select_window_1): If selected_window is nil,
10224 don't "swap out" the buffer's point.
10225 (Fset_window_configuration): Set selected_window to nil
10226 before calling Fselect_window.
10227 (unshow_buffer): Don't set point in buffer from window's point
10228 if another more recently selected window also shows the buffer.
10229
bed0c171
GM
102302000-02-25 Gerd Moellmann <gerd@gnu.org>
10231
449c3c52
GM
10232 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10233
f5b58615
GM
10234 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10235 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10236 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10237 New variables.
f5b58615
GM
10238 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10239 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10240 (hide_busy_cursor): New functions.
10241 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10242
10243 * minibuf.c (read_minibuf): Cancel busy-cursor.
10244
10245 * keyboard.c (command_loop_1): Call start_busy_cursor before
10246 Fcommand_execute and cancel_busy_cursor after it.
10247 (timer_check): Remove busy-cursor code.
10248 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10249 cursor timer.
10250
10251 * process.c (wait_reading_process_input): Remove busy-cursor code.
10252
10253 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10254 Fx_hide_busy_cursor.
10255
10256 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10257 Remove prototyoes.
10258 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10259
10260 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10261
10262 * xterm.c (XTread_socket): Remove busy-cursor code.
10263
4eb8436f
GM
10264 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10265 (build_frame_matrix_from_leaf_window): Put code handling
10266 glyph row's not being a slice of a frame row in #if 0.
10267 (sync_window_with_frame_matrix_rows): New function.
10268 (frame_row_to_window): New function.
10269 (mirror_line_dance): Handle copies between windows.
10270
3cb65b0e
GM
10271 * lread.c (Fload): Use `xfree' instead of `free'.
10272 (init_obarray): Use `xmalloc' instead of `malloc'.
10273
bed0c171
GM
10274 * window.c (Fset_window_buffer): Set WINDOW to the window
10275 after decoding.
2add4349
GM
10276 (coordinates_in_window): Take frame's internal border width
10277 into account.
bed0c171 10278
42088c12
GM
102792000-02-24 Gerd Moellmann <gerd@gnu.org>
10280
10281 * xterm.c (x_display_and_set_cursor): Display cursor of
10282 non-selected windows depending on the setting of
10283 cursor_in_non_selected_windows.
10284
10285 * xdisp.c (cursor_in_non_selected_windows): New variable.
10286 (syms_of_xdisp): DEFVAR_BOOL it.
10287
d1e103b2
GM
102882000-02-23 Gerd Moellmann <gerd@gnu.org>
10289
723e779c
GM
10290 * data.c (Fstring_to_number): If number is greater than what
10291 fits into an integer, return a float.
10292
d1e103b2
GM
10293 * eval.c (specbind): Remove references to
10294 keyword_symbols_constant_flag.
10295
10296 * data.c (keyword_symbols_constant_flag): Removed.
10297 (Fmakunbound, set_internal, syms_of_data): Remove references to
10298 keyword_symbols_constant_flag.
10299
10300 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10301
214f877f
KH
103022000-02-23 Kenichi Handa <handa@etl.go.jp>
10303
10304 * syntax.c (multibyte_syntax_as_symbol): New variable.
10305 (syms_of_syntax): Declare it as a Lisp variable.
10306 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10307 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10308 nonzero, treat all multibyte characters as symbol.
52283633 10309 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10310
130adcb7
EZ
103112000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10312
3cb65b0e 10313 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10314 a deleted frame.
130adcb7 10315
17cbbf95
GM
103162000-02-21 Gerd Moellmann <gerd@gnu.org>
10317
10318 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10319
10320 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10321 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10322
beb0bc36
DL
103232000-02-21 Dave Love <fx@gnu.org>
10324
10325 * frame.c (Vmouse_position_function): New variable.
10326 (Fmouse_position): Use it.
10327 (syms_of_frame): Install it.
10328
10329 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10330
1d92afcd
GM
103312000-02-20 Gerd Moellmann <gerd@gnu.org>
10332
10333 * fileio.c (Finsert_file_contents): Unbind the binding of
10334 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10335
10336 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10337 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10338 (specbind, unbind_to): Handle most common case of non-constant
10339 symbol with trivial value specially.
10340
10341 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10342
18e21ce8 103432000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10344
10345 * data.c (Fmake_variable_buffer_local): Doc fix.
10346 Init found_for_buffer to 0.
10347 (Fmake_variable_frame_local): If the variable has already
10348 been buffer-local, set the check_frame field.
10349
1d4311c3
EZ
103502000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10351
10352 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10353 produced for CODING_MODE_LAST_BLOCK requires.
10354
2dc95ddd
DL
103552000-02-18 Dave Love <fx@gnu.org>
10356
10357 * keyboard.c (echo_keystrokes): Remove declaration.
10358 (Vecho_keystrokes) New variable.
10359 (read_char, record_menu_key, read_key_sequence): Use it to allow
10360 use of float value.
10361 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10362
10363 * lread.c: Undef feature selection macros before defining.
10364
f0930f35
GM
103652000-02-18 Gerd Moellmann <gerd@gnu.org>
10366
10367 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10368 for symbols other than the symbol in question.
10369
e3d4de90
DL
103702000-02-17 Dave Love <fx@gnu.org>
10371
10372 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10373
0b378936
GM
103742000-02-17 Gerd Moellmann <gerd@gnu.org>
10375
d621caf7
GM
10376 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10377
0b378936
GM
10378 * alloc.c (enum mem_type): Compile unconditionally.
10379
3b451f74
EZ
103802000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10381
10382 * xfaces.c (tty_defined_color): Don't return faulire indication
10383 for unspecified-fg and unspecified-bg pseudo-colors.
10384
10689a01
GM
103852000-02-17 Gerd Moellmann <gerd@gnu.org>
10386
1216f5e4
GM
10387 * alloc.c (mark_object): Don't mark symbol names in pure space.
10388 (gc_sweep): Don't unmark symbol names in pure space.
10389
10390 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10391 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10392 [GC_MARK_STACK]: New defines.
427ec082 10393 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10394 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10395
10396 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10397
10398 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10399 allocate_buffer instead of xmalloc.
10400
10401 * alloc.c (toplevel): Include setjmp.h.
10402 (PURE_POINTER_P): New define.
10403 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10404 (Vdead) [GC_MARK_STACK]: New variable.
10405 (lisp_malloc): Add parameter TYPE, call mem_insert if
10406 GC_MARK_STACK is defined.
10407 (allocate_buffer): New function.
427ec082 10408 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10409 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10410 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10411 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10412 (MEM_NIL) [GC_MARK_STACK]: New define.
10413 (struct mem_node) [GC_MARK_STACK]: New structure.
10414 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10415 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10416 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10417 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10418 (mark_stack) [GC_MARK_STACK]: New functions.
10419 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10420 (clear_marks): Removed.
10421 (gc_sweep): Set free conses' car, free floats' type, free
10422 symbols' function to Vdead. Use lisp_free to free buffers.
10423 (init_alloc_once): Initialize Vdead.
10424 (survives_gc_p): Return non-zero for pure objects.
10425
10426 * alloc.c: Add comments throughout the file.
10427
2503c8b1
GM
10428 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10429 that unblocks alarms.
10430
8389e1e2
GM
10431 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10432 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10433 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10434
10689a01 10435 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10436
bfc17d18
KH
104372000-02-17 Kenichi Handa <handa@etl.go.jp>
10438
4a09dee0
KH
10439 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10440 avoid infinite error signaling. Allocate sufficient memory for
10441 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10442
2b927d02
SM
104432000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10444
10445 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10446 depends on the previous behavior.
10447
b49cb764
GM
104482000-02-16 Gerd Moellmann <gerd@gnu.org>
10449
10450 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10451
99e95407
GM
104522000-02-15 Gerd Moellmann <gerd@gnu.org>
10453
10454 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10455
10456 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10457 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10458 write(2).
10459
6ffd3cf7
RS
104602000-02-15 Richard M. Stallman <rms@gnu.org>
10461
10462 * data.c (set_internal): Don't make variable buffer-local
10463 if within a let-binding for the same buffer.
10464 (let_shadows_buffer_binding_p): New function.
10465
10466 * eval.c (specbind): For buffer-local value,
10467 record the current buffer also.
10468 (unbind_to): Cope with that change.
10469
cad53475
GM
104702000-02-15 Gerd Moellmann <gerd@gnu.org>
10471
10472 * window.c (Fsave_window_excursion): Doc fix.
10473
1aa963c8
SM
104742000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10475
10476 * syntax.c (back_comment): Make sure we only consider comment-starters
10477 of the relevant style and return -1 in case of a failure to find the
10478 beginning of the comment.
10479 (Fforward_comment): If back_comment fails, go back to the position just
10480 after the comment-end.
10481 (scan_lists): Add comment describing a very minor bug.
10482
b9b84fd3
SM
104832000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10484
10485 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10486 `completion-regexp-list' in the docstring.
10487
3a28db80
DL
104882000-02-14 Dave Love <fx@gnu.org>
10489
10490 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10491
fb4a568d
SM
104922000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10493
10494 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10495 to Emacs' syntax. Also fix the comment about set/not-set meanings
10496 since Emacs syntax is not the value 0 any more.
10497 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10498 since it's now part of RE_SYNTAX_EMACS.
10499
1063ebb5
DL
105002000-02-12 Dave Love <fx@gnu.org>
10501
52283633 10502 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10503
fb07a302
GM
105042000-02-12 Gerd Moellmann <gerd@gnu.org>
10505
10506 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10507
aaf2320c
DL
105082000-02-12 Dave Love <fx@gnu.org>
10509
10510 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10511
10512 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10513 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10514 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10515
10516 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10517
10518 * s/nextstep.h: Don't define HAVE_ALLOCA.
10519
10520 * config.in: Add vfork bits.
10521
eedf8bde
GM
105222000-02-12 Gerd Moellmann <gerd@gnu.org>
10523
10524 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10525 unwind function to undo the effect of stopping atimers.
10526
52283633 10527 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10528
10529 * atimer.c (stopped_atimers): New variable.
10530 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10531 New functions.
10532
10533 * atimer.h (stop_other_atimers, run_all_atimers)
10534 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10535
eedf8bde
GM
10536 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10537
8476c2f8
KR
105382000-02-11 Ken Raeburn <raeburn@gnu.org>
10539
10540 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10541 library may depend on jpeg.
10542 (atimer.o): Depends on atimer.c.
10543
0e85e4a3
KH
105442000-02-11 Kenichi Handa <handa@etl.go.jp>
10545
10546 * insdel.c (del_range_1): Call update_compositions.
10547 (del_range_both): Call update_compositions just once..
10548
97fa0cc8
DL
105492000-02-10 Dave Love <fx@gnu.org>
10550
10551 * xfns.c (create_frame_xic): Fix initialization of automatic
10552 aggregates for pcc.
10553
25566a3c
KH
105542000-02-09 Kenichi Handa <handa@etl.go.jp>
10555
10556 * ccl.c (CCL_MAKE_CHAR): New macro.
10557 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10558 registers by CCL_MAKE_CHAR before calling translate_char.
10559 <CCL_TranslateCharacterConstTbl> Likewise.
10560
69da54ba
DL
105612000-02-08 Dave Love <fx@gnu.org>
10562
10563 * lread.c (__EXTENSIONS__): Define.
10564
f7136ee8
GM
105652000-02-08 Gerd Moellmann <gerd@gnu.org>
10566
10567 * puresize.h (BASE_PURESIZE): Increase to 650000.
10568
7768790b
EZ
105692000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10570
10571 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10572 the help message.
10573
38fd211b
EZ
105742000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10575
10576 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10577 md, mh, mb, mr, and me to the fake termcap entry.
10578
66e4690f
KR
105792000-02-06 Ken Raeburn <raeburn@gnu.org>
10580
10581 * sound.c (sound_cleanup): Don't call device close routine if the
10582 function pointer is null.
10583
a75dfea0
AI
105842000-02-06 Andrew Innes <andrewi@gnu.org>
10585
10586 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10587 around image definitions and prototypes.
10588 (gamma_correct) [WINDOWSNT]: New prototype.
10589
10590 * w32term.c (x_make_frame_visible): Replace call to
10591 input_poll_signal with poll_for_input.
10592
10593 * window.c [WINDOWSNT]: Include w32term.h.
10594
10595 * xdisp.c [WINDOWSNT]: Include w32term.h.
10596
10597 * makefile.nt: Add dependencies on w32gui.h.
10598 (OBJ1): Include atimer.obj.
10599 ($(BLD)\atimer.obj): New dependency rule.
10600
10601 * w32.c (sigmask): New function (does nothing).
10602 (sigunblock): Ditto.
10603
10604 * frame.c [WINDOWSNT]: Include w32term.h.
10605
10606 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10607
10608 * lread.c (syms_of_lread): Fix literal newlines.
10609
10610 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10611 the string constant limit (2048 bytes) in MSVC.
10612 (main): Ditto.
10613
59ddecde
GM
106142000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10615
52283633 10616 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10617 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10618 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10619 dispatch the event.
10620
07590973
DL
106212000-02-04 Dave Love <fx@gnu.org>
10622
10623 * fileio.c: Remove some unused vars.
10624 (_GNU_SOURCE): Define (for euidaccess).
10625
10626 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10627
10628 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10629 gcpro1, gcpro2.
10630 (read_minibuf): Deal with allow_props correctly.
10631
649351f9
EZ
106322000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10633
10634 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10635
66e4690f 106362000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10637
10638 * search.c (compile_pattern): If a cache entry has a nil regexp,
10639 fill in that entry instead of clobbering a previously cached
10640 string regexp.
10641
66e4690f 106422000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10643
10644 * puresize.h (BASE_PURESIZE): Increase to 610000.
10645
d240a249
GM
106462000-02-02 Gerd Moellmann <gerd@gnu.org>
10647
10648 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10649 can GC.
10650
ca91fb26
KH
106512000-02-02 Kenichi Handa <handa@etl.go.jp>
10652
25660570
KH
10653 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10654 instead of incrementing ic directly.
10655 <CCL_WriteExprConst> Likewise.
10656 <ccl_set_expr>: Set ic to jump_address.
10657
ca91fb26
KH
10658 * fileio.c (e_write): Fix the handling of
10659 CODING_FINISH_INSUFFICIENT_SRC.
10660
2ede9689
DL
106612000-02-01 Dave Love <fx@gnu.org>
10662
10663 * editfns.c (Fpropertize): Doc fix.
10664
10665 * process.c (Fstart_process): Doc fix.
10666
10667 * eval.c: Fix various doc strings not to duplicate information
10668 from help-manyarg-func-alist.
10669
52283633 10670 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10671
10672 * doc.c (Vhelp_manyarg_func_alist): New variable.
10673 (Fdocumentation): Use it.
10674 (syms_of_doc): Define it.
10675
b6680a0e
GM
106762000-01-31 Gerd Moellmann <gerd@gnu.org>
10677
2cb750ba
GM
10678 * xterm.c (xim_open_dpy): Remove unused local variable.
10679
52283633 10680 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10681
10682 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10683 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10684
b6680a0e
GM
10685 * fns.c (sweep_weak_table): New function.
10686 (sweep_weak_hash_tables): Use it. Keep on marking until there
10687 is no more change.
10688
994c5afe
GM
106892000-01-30 Gerd Moellmann <gerd@gnu.org>
10690
10691 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10692 that XTread_socket does not crash by trying to call XNoOp on a
10693 closed display.
427ec082 10694
f00276e3
JR
106952000-01-30 Jason Rumney <jasonr@gnu.org>
10696
10697 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10698 Change selected_frame to SELECTED_FRAME ().
10699 (w32_console_mouse_position): Remove #ifndef MULE from around
10700 `insist' parameter.
10701
10702 * makefile.nt: Remove dosfns.obj.
10703
10704 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10705
10706 * w32fns.c (w32_defined_color): Check for valid frame before
10707 applying gamma correction. Eliminate dependency on frame elsewhere.
10708 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10709 (w32_to_x_font): Use resx and resy not height_in and width_in.
10710 (x_to_w32_font): Doc fix.
10711 (xlfd_strip_height): New function to strip and return font height.
10712 (w32_font_match): Compare height separately from rest of xlfd
10713 spec, using xlfd_strip_height.
10714
10715 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10716 width_in. Use w32_defined_color in place of defined_color.
10717
10718 * w32faces.c: Merge more of DOS and X specifics in preparation for
10719 merge with xfaces.c.
10720 (defined_color): Remove FIXME comment.
10721 (tty_color_name): Provide w32-specific function.
10722 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10723
10724 * w32console.c (turn_on_face, turn_off_face): Removed.
10725 (w32_face_attributes): New function.
10726 (Global_variables): Reduce scope where possible.
10727 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10728 fill attribute.
10729 (hl_mode): Don't modify text attributes.
10730 (write_glyphs): Don't do anything if len <= 0. Use
10731 w32_face_attributes to get attributes for drawing. Write
10732 terminating codes using char_attr_normal.
10733 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10734 (update_begin, update_end): Likewise.
10735 (vga_stdcolor_name): New function.
10736 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10737 (Fset_screen_color): Remove char_attr_reverse.
10738
b08e8bb2
GM
107392000-01-29 Gerd Moellmann <gerd@gnu.org>
10740
10741 * xfns.c (xic_set_preeditarea): Take window parameter and
10742 window-relative pixel-positions.
10743
10744 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10745 is its frame's selected window.
10746 (xim_instantiate_callback): Likewise.
10747
10748 * xfns.c (x_create_im): Removed.
10749 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10750 (supported_xim_styles): Renamed from supported_styles.
10751 (best_xim_style): Renamed from best_style.
10752 (create_frame_xic): Renamed from xic_create_frame.
10753 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10754
b08e8bb2
GM
107552000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10756
10757 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10758 our frames, call XFilterEvent with 2nd parameter `None'.
10759 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10760 returning XBufferOverflow.
52283633 10761 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10762 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10763 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10764 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10765 (xim_initialize, xim_close)
10766 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10767 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10768 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10769 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10770
10771 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10772 and `xim_styles'.
10773 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10774 `xic_style' and `xic_xfs'.
10775 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10776 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10777 (FRAME_XIM): Removed.
10778
10779 * xfns.c (supported_styles): New variable.
10780 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10781 (xic_create_xfontset, best_style, xic_create_frame)
10782 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10783 (xic_set_xfontset): New functions.
10784
142e109c
DL
107852000-01-28 Dave Love <fx@gnu.org>
10786
10787 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10788
10789 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10790
b02786f9
GM
107912000-01-28 Gerd Moellmann <gerd@gnu.org>
10792
d060bc9f
GM
10793 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10794 for *scratch* if it already existed.
10795
b02786f9
GM
10796 * emacs.c (USAGE): New macro.
10797 (main): Use it to display usage information.
10798
2c52d7e4
EZ
107992000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10800
10801 Support for the menu-help feature:
10802
52283633 10803 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10804
10805 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10806 part of the line to the termscript file.
10807 (IT_clear_to_end): Clear the entire line, not just its beginning.
10808 (menu_help_message, prev_menu_help_message): New variables.
10809 (IT_menu_make_room): Make room for the help_text member.
10810 (IT_menu_display): New argument disp_help; all callers changed.
10811 If disp_help is non-zero, store the help text of the active menu
10812 item in menu_help_message.
10813 (XMenuAddPane): Initialize the help_text member to NULL.
10814 (XMenuAddSelection): New argument help_text. Store it in the
10815 XMenu structure.
10816 (XMenuActivate): New argument help_callback. If the value of
10817 menu_help_message has changed since the last time, display the
10818 menu help message text while waiting for the mouse to move. Clear
10819 the echo area before exiting.
10820 (XMenuDestroy): Free the help_text member.
10821
ffe0bcd1
GM
108222000-01-27 Gerd Moellmann <gerd@gnu.org>
10823
10824 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10825 XMenuAddSelection. Pass help callback to XMenuActivate.
10826 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10827
50dbd23f
EZ
108282000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10829
10830 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10831 and EMACS_SET_USECS.
10832
f5941bf8
GM
108332000-01-26 Dave Love <fx@gnu.org>
10834
6c67ddee
DL
10835 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10836
f5941bf8
GM
10837 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10838 an error may be signalled.
10839
9e49c990
GM
108402000-01-26 Gerd Moellmann <gerd@gnu.org>
10841
fc3cb460
GM
10842 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10843 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10844
9e49c990
GM
10845 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10846
d0c037d8
GM
108472000-01-25 Gerd Moellmann <gerd@gnu.org>
10848
10849 * charset.c (Fstring): If there is a multibyte char among
10850 the args, always return a multibyte string.
10851
e12489f9
GM
108522000-01-25 Gerd Moellmann <gerd@gnu.org>
10853
10854 * sysdep.c (sys_select): Turn atimers off and on instead of
10855 recording and restoring old alarm handler
10856
10857 * process.c (toplevel): Include atimer.h.
10858 (create_process_1): Rewritten.
10859 (create_process): Use atimers instead of alarm.
10860 (wait_reading_process_input) [hpux]: Turn atimers off instead
10861 of turning off SIGALRM.
10862 (wait_reading_process_input): Turn off atimers instead off
10863 calling stop_polling.
10864
10865 * emacs.c (main): Call init_atimer.
10866
10867 * keyboard.c (toplevel): Include systime.h and atimer.h.
10868 (polling_for_input): Removed because unused.
10869 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10870 (poll_timer): New variable.
10871 (poll_for_input, poll_for_input_1): New functions.
10872 (start_polling, stop_polling): Rewritten.
10873
10874 * keyboard.h (polling_for_input): Removed.
427ec082 10875
e12489f9
GM
10876 * atimer.h, atimer.c: New files.
10877
10878 * Makefile.in (obj): Add atimer.o.
10879 (atimer.o): New target.
10880
10881 * blockinput.h (pending_atimers): Add extern declaration.
10882 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10883
10884 * lisp.h (popup_activated_flag): Add extern declaration.
10885
10886 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10887 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10888 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10889
10890 * xterm.c (toplevel): Include atimer.h.
10891 (toolkit_scroll_bar_interaction): New variable.
10892 (Fxt_process_timeouts): Removed.
10893 (x_process_timeouts): New function.
10894 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10895 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10896 (x_make_frame_visible): Call poll_for_input_1 instead of
10897 input_poll_signal. Don't call alarm.
10898 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10899
1e5279b9
DL
109002000-01-24 Dave Love <fx@gnu.org>
10901
6c67ddee 10902 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10903 Don't use -cckr -- apparently not now necessary.
10904
edf6aeb8
EZ
109052000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10906
10907 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10908 screen boundary.
10909
9badad41
JR
109102000-01-23 Jason Rumney <jasonr@gnu.org>
10911
10912 * w32fns.c (w32_defined_color): Apply gamma correction before
10913 trying to map to the palette.
10914 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10915 to w32_clear_rect.
10916
10917 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10918 here. Callers changed to always pass real device context.
10919 (w32_draw_bitmap): Likewise.
10920 (w32_get_glyph_overhangs): Likewise.
52283633 10921 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10922 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10923 pfnSetScrollInfo and SetScrollRange.
10924 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10925 back into MULE characters after decoding them.
10926 (x_get_glyph_face_and_encoding): Likewise.
10927 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10928 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10929 (x_produce_glyphs): Calculate per char metrics for a character
10930 that we know exists in default font when font_not_found_p is true.
10931
63bd786b
JR
109322000-01-22 Jason Rumney <jasonr@gnu.org>
10933
10934 * makefile.nt (intervals.obj, composite.obj): New modules.
10935 (composite.h): Added as dependency where appropriate.
10936
10937 * w32gui.h (XGCValue): New struct for emulating X GCs.
10938
10939 * w32term.h (XCharStruct): New struct for emulating X.
10940
10941 * w32console.c (turn_on_face, turn_off_face): New functions.
10942 (change_line_highlight): New prototype for new redisplay.
10943 (write_glyphs): Support multibyte text. Support faces.
10944
52283633 10945 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
10946
10947 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10948 throughout. struct frame * in place of FRAME_PTR.
10949 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 10950 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
10951 (w32_get_arg): Renamed from x_get_arg.
10952 (Fx_file_dialog): New function.
10953 (w32_list_fonts): Check cache before asking system.
10954 (Vw32_enable_synthesized_fonts): New variable.
10955 (Vw32_enable_italics): Obsolete, removed.
10956
10957 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10958 Use SELECTED_FRAME macro.
10959
10960 * w32menu.c: Add skeleton support for help strings on menus.
10961 (add_menu_item): Native checkbox and radio support added, but not
10962 yet enabled due to bugs.
10963 (push_menu_item): Add parameters type, selection and help.
10964 Callers updated.
10965 Formatting changes to reduce unnecessary diffs with xmenu.c.
10966
10967 * w32select.c (Fw32_set_clipboard_data): Update call to
10968 find_charset_in_str.
10969
10970 * w32term.c: Complete rewrite for new redisplay based on new
10971 xterm.c with necessary sections merged back in from old w32term.c.
10972
6ffd3cf7 109732000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10974
10975 * data.c (set_internal): Further fix in same criterion.
10976
6ffd3cf7 109772000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10978
10979 * data.c (set_internal): Fix the criteria for whether
10980 to swap out the old cached binding.
10981
60af03f1
DL
109822000-01-19 Dave Love <fx@gnu.org>
10983
10984 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10985
f9be074f
KH
109862000-01-18 Kenichi Handa <handa@etl.go.jp>
10987
10988 * regex.c (re_compile_fastmap): While checking a range table for
10989 `charset', skip flag bits for a character class correctly.
10990
52b8dbf9
GM
109912000-01-17 Gerd Moellmann <gerd@gnu.org>
10992
d36100c9
GM
10993 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10994
52283633 10995 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
10996
10997 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 10998 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
10999
11000 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11001 MENU_ITEMS_ITEM_.*.
11002 (MENU_ITEMS_ITEM_HELP): New enumerator.
11003 (push_menu_item): Add parameter HELP. Record help in menu_items.
11004 (single_menu_item, single_submenu, list_of_items): Call
11005 push_menu_item with new parameter.
11006 (single_submenu): Set help string in widget value.
11007 (menu_highlight_callback): New function.
11008 (set_frame_menubar): Call lw_create_widget with new
11009 parameter list.
11010 (xmenu_show, xdialog_show): Ditto.
11011
3139018f
GM
110122000-01-13 Gerd Moellmann <gerd@gnu.org>
11013
11014 * sound.c (Fplay_sound): Improve doc string.
11015
83c8f461
RS
110162000-01-11 Richard M. Stallman <rms@gnu.org>
11017
11018 * lisp.h (set_internal): Enter the new arg.
11019
11020 * eval.c (specbind): Record buffer-local variables specially,
11021 indicating which buffer's binding was saved.
11022 (unbind_to): Restore buffer-local variables specially
11023 in the proper buffer.
11024
11025 * data.c (set_internal): New arg BUF.
427ec082 11026
83c8f461
RS
11027 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11028 * data.c (Fset): Pass new arg to set_internal.
11029 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11030
1fab1775
GM
110312000-01-11 Gerd Moellmann <gerd@gnu.org>
11032
52283633 11033 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 11034
83c8f461 110352000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11036
11037 * minibuf.c (Ftry_completion): Doc fix.
11038
7a85e4df
GM
110392000-01-11 Gerd Moellmann <gerd@gnu.org>
11040
11041 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11042 vector, too.
11043
a970dae4
AS
110442000-01-11 Andreas Schwab <schwab@suse.de>
11045
11046 * coding.c (code_convert_region): Initialize total_skip.
11047
c65d14ee
DL
110482000-01-08 Dave Love <fx@gnu.org>
11049
11050 * eval.c (Fuser_variable_p): Check customizability too.
11051
834938d2
GM
110522000-01-07 Gerd Moellmann <gerd@gnu.org>
11053
11054 * minibuf.c (Fcompleting_read): Doc fix.
11055
e0303cd6
GM
110562000-01-05 Gerd Moellmann <gerd@gnu.org>
11057
8a26744b
GM
11058 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11059 -L /usr/local/lib.
11060
e0303cd6
GM
11061 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11062 Check that input style is supported before trying to create an
11063 IC for it.
11064 (x_window): Call x_create_im.
427ec082 11065
2e471eb5
GM
110662000-01-04 Gerd Moellmann <gerd@gnu.org>
11067
560a7bd2
GM
11068 * xfns.c (current_gif_memory_src): New variable.
11069 (gif_load): Record the address of the current memory source
11070 in current_gif_memory_src.
11071 (gif_read_from_memory): Use current_gif_memory_src.
11072
f9ee84a3
GM
11073 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11074 macros statement form.
11075
d1299cde
GM
11076 * sound.c (struct sound): Renamed from struct sound_file.
11077 (struct sound): Add members `data' and `header_size'.
11078 (enum sound_attr): Add SOUND_DATA.
11079 (current_sound, current_sound_device): Variables renamed from
11080 sound_file and sound_device.
11081 (parse_sound): Parse :data.
11082 (parse_sound): Handle sound data in strings.
11083 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11084 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11085 needed header size.
11086 (wav_play, au_play): Play sounds from string data.
11087
2e471eb5
GM
11088 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11089
11090 * lisp.h: Add prototype for allocate_string_data.
11091
52283633 11092 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11093
11094 * alloc.c (mark_buffer): Remove code in #if 0.
11095 (gc_sweep): Ditto.
11096 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11097 (strings_consed): New variable.
11098 (allocate_string): Set it.
11099 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11100 (Fmemory_use_counts): Return strings_consed. Use Flist.
11101
11102 * alloc.c: General cleanup in comments etc. Remove conditional
11103 compilation for `standalone'.
11104
11105 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11106
11107 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11108 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11109 (DONT_COPY_FLAG): Removed.
11110 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11111 (struct sdata, struct sblock): New
11112 (struct string_block): Rewritten.
11113 (STRINGS_IN_STRING_BLOCK): New macro.
11114 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11115 (large_sblocks, string_blocks, string_free_list): New variables.
11116 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11117 (init_strings): Rewritten.
11118 (allocate_string, allocate_string_data, compact_small_strings)
11119 (free_large_strings, sweep_strings): New functions.
11120 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11121 (struct string_block_head, current_string_block)
11122 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11123 (STRING_PAD): Removed.
11124 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11125 (Fgarbage_collect): Don't set mark bit in large strings.
11126 (mark_object): Mark strings differently. Mark symbol names
11127 differently.
11128 (survives_gc_p): Test marked strings differently.
427ec082 11129 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11130 symbol names.
11131 (compact_strings): Removed.
11132
42608ba8
EZ
111332000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11134
11135 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11136 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11137
e0a09e1a
KH
111382000-01-04 Kenichi Handa <handa@etl.go.jp>
11139
dd9f0750 11140 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11141 in a non-empty buffer.
dd9f0750 11142
3c0f3b15 11143 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11144
44cd3ae5
GM
111452000-01-03 Gerd Moellmann <gerd@gnu.org>
11146
11147 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11148 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11149
11150 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11151
c182a70f
EZ
111522000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11153
11154 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11155 need to test for MSDOS frames.
11156
24480d5b
EZ
111572000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11158
11159 * dosfns.c (unspecified_colors): Remove.
11160 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11161 unspecified_bg.
11162 (msdos_stdcolor_name): Return strings for unspecified fore- and
11163 back-ground colors.
11164
11165 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11166 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11167 (tty_color_name): Return Lisp strings for unspecified fore- and
11168 back-ground colors.
11169 (Finternal_set_lisp_face_attribute): Remove the special treatment
11170 for Qunspecified_{f,b}g.
52283633 11171 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11172
047f434a
GM
111732000-01-03 Gerd Moellmann <gerd@gnu.org>
11174
11175 * xdisp.c (reseat_at_next_visible_line_start): Position before
11176 newline only if ending up on a newline.
11177 (next_element_from_ellipsis): Return success. Handle case of
52283633 11178 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11179 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11180 returns 0.
11181
d684c676
EZ
111822000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11183
11184 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11185 (Fcolor_supported_p): Renamed from face-color-supported-p.
11186
5fe1d139
EZ
111872000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11188
11189 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11190 list of colors renamed to tty-defined-color-alist.
11191 (tty_color_name): Pass the frame to tty-color-by-index.
11192 (realize_tty_face): tty-color-alist is now a function which
11193 accepts the frame as argument.
11194
52283633 11195 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11196
816be8b8
EZ
111972000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11198
11199 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11200 encode_terminal_code.
11201
b635321e
EZ
112022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11203
11204 * dispnew.c (mode_line_string): Support termcap frames as well.
11205
9b784e96
GM
112062000-01-01 Gerd Moellmann <gerd@gnu.org>
11207
27189709
GM
11208 * syntax.c (Fforward_word): Undo previous change.
11209
11210 * editfns.c (Fconstrain_to_field): Don't constrain if
11211 inhibit-field-text-motion is non-nil.
11212 (Fline_beginning_position): Undo previous change.
11213 (Fline_end_position): Ditto.
11214
11215 * syntax.c (Fforward_word): Notice field boundaries only if
11216 inhibit-field-text-motion is nil.
11217
11218 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11219
11220 * editfns.c (Vinhibit_field_text_motion): New variable.
11221 (inhibit-field-text-motion): New DEFVAR_LISP.
11222 (Fline_beginning_position, Fline_end_position): Notice field
11223 boundaries only if inhibit-field-text-motion is nil.
11224
45158a91
GM
11225 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11226 All calls adjusted.
11227 (x_build_heuristic_mask): Likewise.
11228 (xbm_load_image_from_file): Change error output.
11229 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11230 (gif_load, gs_load, x_kill_gs_process): Ditto.
11231
9b784e96
GM
11232 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11233 color indices when accessing raster pixels.
63cec32f
GM
11234 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11235 one of :file or :data.
11236 (enum pbm_keyword_index): Add PBM_DATA.
11237 (pbm_format): Add :data.
11238 (pbm_image_p): Allow either :file or :data.
11239 (pbm_read_file): New function.
11240 (pbm_scan_number): Rewritten to read from string.
11241 (pbm_load): Support :data.
9b784e96 11242
2cb085db 11243See ChangeLog.8 for earlier changes.
6922b018
KH
11244
11245;; Local Variables:
49b3bd82 11246;; coding: iso-2022-7bit
6922b018 11247;; End: