(indent-for-tab-command): Call indent-line-function
[bpt/emacs.git] / src / ChangeLog
CommitLineData
52283633
SM
12001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2
3 * intervals.c (find_interval): Don't rebalance during signal handling.
4
ec2423c9
GM
52001-04-11 Gerd Moellmann <gerd@gnu.org>
6
30cb0001 7 * fns.c: Include blockinput.h.
52283633 8
ec2423c9
GM
9 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
10
719d83ad
GM
112001-04-10 Gerd Moellmann <gerd@gnu.org>
12
60f8d735
GM
13 * fns.c (Fcompare_strings): Fix return values.
14
afffeb57
GM
15 * window.c (window_scroll): Change the meaning of N to mean
16 N screen-fulls or N lines.
17 (window_scroll_pixel_based, window_scroll_line_based)
18 (scroll_command, Fscroll_other_window): Change accordingly.
19
52283633
SM
20 * window.c (window_scroll_pixel_based, Frecenter):
21 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
22 height of the window.
23
24 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
25 instead of using it.last_visible_y for the height of the window.
52283633 26
719d83ad
GM
27 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
28
29 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
30 able to write to hidden and system files. Make file handles
31 non-inheritable.
32
33 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.
34
522ed7fb
GM
352001-04-09 Gerd Moellmann <gerd@gnu.org>
36
9170e5d4
GM
37 * fns.c (Fplist_get, Fplist_put): Add QUITs.
38
522ed7fb
GM
39 * window.c (window_internal_height): Return 1 less if the
40 window has a header line.
41
42 * xdisp.c (try_window_id): When scrolling on a terminal, take
43 the change of window_internal_height into account.
44
ceeb3d7d
EZ
452001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
46
47 * gmalloc.c (align): If the argument SIZE would overflow
48 __malloc_ptrdiff_t, fail right away.
49
63685b9d
GM
502001-04-06 Gerd Moellmann <gerd@gnu.org>
51
52 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
53 Make sure the tooltip is completely visible.
54 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
55
56 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
57
58 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
59
3ffb33bb
DL
602001-04-06 Dave Love <fx@gnu.org>
61
52283633
SM
62 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
63 Fix test of `from'.
3ffb33bb 64
869fb12c
GM
652001-04-06 Gerd Moellmann <gerd@gnu.org>
66
52283633 67 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 68
869fb12c
GM
69 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
70
441bf856
GM
712001-04-05 Gerd Moellmann <gerd@gnu.org>
72
4d664b04
GM
73 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
74
52283633 75 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 76
30ca89f5
GM
77 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
78 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
79
80 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
81 shell widget's position only if it is non-null.
82
52283633
SM
83 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
84 Set f->output_data.x->widget to null after destroying it.
30ca89f5 85
81a81c0f
GM
86 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
87 FILENAME to bring it in synch with the documentation.
88
441bf856
GM
89 * xfaces.c (realizing_basic_faces_p): Renamed from
90 realize_default_face_p.
91 (realize_basic_faces): Set/clear realizing_basic_faces_p.
92 (realize_default_face): Don't set the flag.
93
702a1e8e
GM
942001-04-04 Gerd Moellmann <gerd@gnu.org>
95
1013f4e3
GM
96 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
97
52283633
SM
98 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
99
1013f4e3
GM
100 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
101 the buffer that was used for echoing.
102
702a1e8e
GM
103 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
104 (first_font_matching): Removed unused function.
105 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
106 (may_use_scalable_font_p): Remove parameter FONT; rename
107 parameter NAME to FONT.
108 (x_face_list_fonts): Fix missing bounds check.
109 (realizing_default_face_p): New variable.
110 (realize_default_face): Set and clear that flag.
111 (x_face_list_fonts): When called during the realization of the
112 default face, and no matching fonts are found when ignoring
113 scalable fonts and fonts matching a regexp from
114 face-ignored-fonts, try without ignoring fonts.
115
f9dbcda4
GM
1162001-04-03 Gerd Moellmann <gerd@gnu.org>
117
ad18ffb1
GM
118 * xfns.c (postprocess_image): New function.
119 (lookup_image): Call it for all image types except PostScript.
120 (x_kill_gs_process): Call postprocess_image.
121
f9dbcda4
GM
122 * xterm.c (x_use_underline_position_properties): New variable.
123 (x_draw_glyph_string): Use it.
124 (syms_of_xterm): DEFVAR_BOOL it.
125
651f03b6
GM
1262001-04-02 Gerd Moellmann <gerd@gnu.org>
127
128 * xterm.c (x_alloc_nearest_color_1): New function.
129 (x_alloc_nearest_color): Use it.
130 (x_color_cells): Take a Display as argument, instead of a frame.
131 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
132 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
133 (x_initialize): Register cvt_string_to_pixel as resource converter
134 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
135
73d75a62
GM
1362001-03-30 Gerd Moellmann <gerd@gnu.org>
137
b2046df8
GM
138 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
139 (set_iterator_to_next): If a string from a display property ends,
140 consider the case that this might also be the end of an
141 overlay string having the display property.
142
52283633 143 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 144
87d8eba4
GM
145 * xdisp.c (reseat_to_string): Undo last change.
146
73d75a62
GM
147 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
148 matrix of a window when the header line changes, when
149 new rows are allocated, or when the width changes.
150
911a2406
EZ
1512001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
152
52283633 153 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 154
aea51abe
EZ
1552001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
156
157 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
158 deprecated.
159
176bc847
GM
1602001-03-29 Gerd Moellmann <gerd@gnu.org>
161
ed31fabf
GM
162 * data.c (Fsubr_interactive_form): New function.
163 (syms_of_data): Defsubr it.
164
176bc847
GM
165 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
166 (live_float_p, live_misc_p): Return 1 only if the offset of the
167 pointer in its block is >= 0.
168
e59d0e9d
GM
1692001-03-28 Paul Eggert <eggert@twinsun.com>
170
171 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
172 microseconds calcuation. Avoid double-rounding problem.
173 In doc string, warn that the result is approximate.
174
f827b862
GM
1752001-03-28 Gerd Moellmann <gerd@gnu.org>
176
30a3f61c
GM
177 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
178 bind `inhibit-eval-during-redisplay' to t.
179
180 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
181
182 * xdisp.c (inhibit_eval_during_redisplay)
183 (Qinhibit_eval_during_redisplay): New variables.
184 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
185 don't eval, return nil instead.
186 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
187 Initialize Qinhibit_eval_during_redisplay.
188
e719f5ae
GM
189 * xdisp.c (reseat_to_string): If STRING is multibyte, set
190 the iterator's multibyte_p flag.
191
deb2613a
GM
192 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
193 instead of setting it to zero; it's incremented for each frame
194 where the menu face is changed.
195
52283633
SM
196 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
197 change bottom shadow accordingly.
198
199 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
200 intersections here.
201 (expose_window): Do it here instead.
52283633 202 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 203
f827b862
GM
204 * bytecode.c (BYTE_CODE_QUIT): New macro.
205 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
206
4bde0ebb
GM
2072001-03-27 Gerd Moellmann <gerd@gnu.org>
208
607ec83c
GM
209 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
210 Give up if matrix starts in an ellipsis.
211 (init_from_display_pos): Do nothing if POS doesn't specify
212 a dpvec_index but the iterator has such a position.
213
0245398f
GM
214 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
215
aba25348
GM
216 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
217 x/y position is (0, 0) after destroying the menu bar, restore
218 its original position.
219
4bde0ebb
GM
220 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
221 (init_from_display_pos): Use it.
222 (try_window_reusing_current_matrix): Don't use cursor_row_p.
223
8cdb267e
GM
2242001-03-26 Gerd Moellmann <gerd@gnu.org>
225
226 * xdisp.c (try_window_id): Undo last change.
227
9948db79
EZ
2282001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
229
230 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
231
232 * buffer.c (syms_of_buffer): Doc fix.
233
2eddf899
GM
2342001-03-26 Gerd Moellmann <gerd@gnu.org>
235
236 * xfaces.c (x_update_menu_appearance): Use local variable
237 popup_path for setting font resources.
238
6c145d35
EZ
2392001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
240
6a65b1b5
EZ
241 * frame.c (Fframe_list): Don't reference tip_frame if
242 HAVE_WINDOW_SYSTEM is not defined.
243
6c145d35
EZ
244 * emacs.c (main): Update the copyright year. From Werner LEMBERG
245 <wl@gnu.org>.
246
d74c1900
GM
2472001-03-25 Gerd Moellmann <gerd@gnu.org>
248
20fbd925
GM
249 * xdisp.c (init_from_display_pos): Test invisible property
250 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 251
927c5b3b
GM
252 * xdisp.c (redisplay_internal) <update one window>: Make sure
253 last_arrow_position and last_arrow_string are set.
254
d74c1900
GM
255 * frame.c (Fframe_list): Don't return a tooltip frame.
256
091f8878
GM
2572001-03-23 Gerd Moellmann <gerd@gnu.org>
258
52283633
SM
259 * xdisp.c (mark_window_display_accurate_1): New function,
260 extracted from mark_window_display_accurate.
261 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
262 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
263 (mark_window_display_accurate): Use it.
264 (redisplay_internal): Use it for the selected window.
265 (redisplay_internal): Avoid duplicate mark_window_display_accurate
266 for the selected frame.
267
ac90c44f
GM
268 * xdisp.c Use make_number, for readability.
269 (try_window_id): Disable rows below the window end.
270 (try_window_reusing_current_matrix): Use cursor_row_p.
271 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
272 of rows.
273 (init_from_display_pos): If POS specifies a position in a display
274 vector, maybe get the iterator set up for that ellipsis.
43c09969 275
091f8878
GM
276 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
277
991786dd
EZ
2782001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
279
280 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
281
6c29b43c
GM
2822001-03-23 Gerd Moellmann <gerd@gnu.org>
283
284 * xfaces.c (x_update_menu_appearance): Use a different path
285 for Lucid popup menus.
286
d8731202
SM
2872001-03-22 Stefan Monnier <monnier@cs.yale.edu>
288
289 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
290
291 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
292 (string_buffer_position): Use `make_number'.
293
f61a541b
GM
2942001-03-22 Gerd Moellmann <gerd@gnu.org>
295
3c9e997b
GM
296 * xfaces.c (x_update_menu_appearance): Renamed from
297 x_set_menu_face_resources. Use different resources for popups.
298
299 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
300 (GC_CHECK_STRING_BYTES): Don't define.
301
364cd450
GM
302 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
303 Removed, together with subroutines.
304 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 305 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 306
d8731202
SM
307 * dispextern.h (x_set_menu_resources_from_menu_face):
308 Remove prototype.
364cd450 309
d8731202 310 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
311 Remove calls to x_set_menu_resources_from_menu_face.
312
d8731202
SM
313 * xfaces.c (xm_set_menu_resources_from_menu_face):
314 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
315
316 * xmenu.c: Include widget.h.
317 (single_submenu): Return int. Some cleanup.
318 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
319
140330de
GM
3202001-03-21 Gerd Moellmann <gerd@gnu.org>
321
322 * xterm.c (x_update_window_end): Handle overwritten mouse face
323 also for tool bar windows.
324 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
325 DRAW is DRAW_IMAGE_RAISED.
326
1741905c
GM
3272001-03-20 Gerd Moellmann <gerd@gnu.org>
328
fa88947e
GM
329 * print.c (syms_of_print): Doc fixes.
330
1741905c
GM
331 * fns.c (Fmd5): Doc fix.
332
ade0bee1
GM
3332001-03-19 Gerd Moellmann <gerd@gnu.org>
334
357e7376
GM
335 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
336 Clear area of the frame not occupied by the scroll bar.
337
c2c097cc
GM
338 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
339 tip frame's root window buffer to *tip* right after creating
340 the frame.
341
ade0bee1
GM
342 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
343 is an integer don't have to be for space characters.
344
88c6e37e
GM
3452001-03-16 Gerd Moellmann <gerd@gnu.org>
346
52283633
SM
347 * indent.c (current_column, current_column_1, Fmove_to_column)
348 (compute_motion): Handle characters from display vectors differently.
88c6e37e 349
c62eed76
KH
3502001-03-15 Kenichi Handa <handa@etl.go.jp>
351
352 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
353 drawing glyph string.
354
c899e7e6
GM
3552001-03-15 Gerd Moellmann <gerd@gnu.org>
356
d0bbfc99
GM
357 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
358 (command_loop_1): Undo last change.
359
03d1a189
GM
360 * xterm.c (fast_find_position): Return the correct vpos.
361
c899e7e6 362 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 363 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
364 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
365 Call store_symval_forwarding with BUF null.
366 (set_internal): Call store_symval_forwarding with the BUF
367 parameter passed to set_internal. Formerly, the value was always
368 set in the current buffer; the buffer recorded in specbind for
369 this case wasn't used.
370 (arith_driver): Reindent.
371
52283633
SM
372 * buffer.c (swap_out_buffer_local_variables):
373 Call store_symval_forwarding with BUF null.
c899e7e6
GM
374
375 * lisp.h (store_symval_forwarding): Change prototype.
376
377 * eval.c (specbind): Call store_symval_forwarding with BUF null.
378
57ac7c81
GM
3792001-03-14 Gerd Moellmann <gerd@gnu.org>
380
697617d9
GM
381 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
382 FOR_DELETION. Avoid resizing the mini-window of the selected
383 frame if FOR_DELETION is set.
384 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
385 (Fmake_frame_invisible): Change calls to do_switch_frame for new
386 signature.
387
388 * window.c (Fset_window_configuration): Change call to
389 do_switch_frame to new format.
390
391 * keyboard.c (quit_throw_to_read_char): Change call to
392 do_switch_frame to new format.
393
394 * lisp.h (do_switch_frame): Change prototype.
395
819dce0f
GM
396 * frame.c (Fframe_parameters): In the `buffer-list' frame
397 parameter, store the buffer list of FRAME, not the list of the
398 selected frame.
399
57ac7c81
GM
400 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
401 box just because the glyph row's full_width_p flag is set.
402
65008712
GM
4032001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
404
405 * xdisp.c (highlight_trailing_whitespace): On character terminals,
406 skip the padding blanks inserted in extend_face_to_end_of_line,
407 before checking for trailing whitespace.
408
159cf431
GM
4092001-03-13 Gerd Moellmann <gerd@gnu.org>
410
52283633 411 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
412 Remove special handling for LessTif/Motif.
413 (toplevel): Don't include Xm/Xm.h.
414
52283633
SM
415 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
416 Remove workaround code for LessTif; it doesn't work anymore.
417
2564ea1b 418 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 419 Xm/ScrollBarP.h.
afcdc0a1 420
52283633
SM
421 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
422 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
423 contemporary LessTif.
424
52283633
SM
425 * xfaces.c (xm_set_menu_resources_from_menu_face):
426 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 427
159cf431
GM
428 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
429 removing button grabs.
430
c6f7429a
KH
4312001-03-13 Kenichi Handa <handa@etl.go.jp>
432
cb82d767
KH
433 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
434 and clip-large-size-font as obsolete.
435
c6f7429a
KH
436 * lread.c (read_multibyte): Check the validity of multibyte
437 sequence. If invalid, return the first byte.
438
760cefb5
GM
4392001-03-12 Gerd Moellmann <gerd@gnu.org>
440
441 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
442 before running the command; timer functions or process
443 filters may have set it.
444
5141f9d0
EZ
4452001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
446
447 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
448 Doc fix.
449
b6a15240
GM
4502001-03-12 Gerd Moellmann <gerd@gnu.org>
451
452 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
453 to sprintf.
454
95522746
GM
4552001-03-09 Gerd Moellmann <gerd@gnu.org>
456
db14cfc5
GM
457 * dispextern.h (string_buffer_position): Add prototype.
458
52283633 459 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
460 (single_display_prop_string_p): New functions.
461
462 * xterm.c (note_mouse_highlight): If there's no help-echo on
463 a string, look at the buffer text ``under'' it.
464
465 * keyboard.c (make_lispy_event): Add string info to the event,
466 analogous to what's done on mode lines.
467 (read_key_sequence): For a click on a string, consider `local-map'
468 and `keymap' of that string.
469
52283633
SM
470 * keyboard.c (make_lispy_event, make_lispy_movement):
471 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
472
473 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
474
475 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
476 POS; return void.
477
95522746
GM
478 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
479 flags argument to emacs_open; it seems to conflict with O_EXCL.
480
898a399d
KH
4812001-03-09 Kenichi Handa <handa@etl.go.jp>
482
28cd4910
KH
483 * composite.h (struct composition): Change types of members;
484 glyph_len to unsigned, width to unsigned short.
898a399d 485
4cdf6a6c
AI
4862001-03-08 Andrew Innes <andrewi@gnu.org>
487
488 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
489 menu titles.
490
129004d3
GM
4912001-03-08 Gerd Moellmann <gerd@gnu.org>
492
221dd3e7
GM
493 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
494 instead of nil.
495
52283633 496 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
497 help-echo in strings.
498 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
499 (fast_find_string_pos): New function.
500
52283633
SM
501 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
502 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
503
504 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
505 Handle `mouse-face'.
506
507 * dispextern.h (face_at_string_position): Change prototype.
508
52283633 509 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 510
129004d3
GM
511 * keyboard.c (make_lispy_event): Avoid generating drag events
512 if the mouse hasn't actually moved to another buffer position.
52283633 513
80c8ab8c
DL
5142001-03-08 Dave Love <fx@gnu.org>
515
129004d3 516 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 517
989521fd
GM
5182001-03-08 Gerd Moellmann <gerd@gnu.org>
519
520 * process.c (Fset_process_window_size): Fix a typo.
521
bb5c338d
KH
5222001-03-08 Kenichi Handa <handa@etl.go.jp>
523
524 * coding.c (detect_coding_sjis): Do more rigid check.
525 (detect_coding_big5): Likewise.
526 (decode_coding_sjis_big5): Likewise.
527 (Fdetect_coding_region): Call detect_coding_system with tailing
528 anchor byte `\0' for more rigid detection.
52283633 529 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
530 (Fdetect_coding_string): Likewise.
531
8b8f9197
SM
5322001-03-07 Stefan Monnier <monnier@cs.yale.edu>
533
534 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
535 a string before extracting its data.
536
3bdf2660
GM
5372001-03-07 Gerd Moellmann <gerd@gnu.org>
538
539 * window.c (Frecenter): Rewrite code handling negative values
540 of ARG on graphical frames.
541
5422001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
543
544 * window.c (displayed_window_lines): If W->start is outside the
545 accessible portion of the buffer, call start_display with BEGV or
546 ZV instead of W->start.
547
471f86b9
GM
5482001-03-07 Gerd Moellmann <gerd@gnu.org>
549
2ab62c6c
GM
550 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
551
471f86b9
GM
552 * process.c (Fset_process_filter): Don't crash if the input
553 file descriptor of PROCESS is closed.
554 (Fset_process_window_size): Likewise.
555
101922c3
GM
5562001-03-06 Kenichi Handa <handa@etl.go.jp>
557
558 * xterm.c (XTflash): Make the timeout of select shorter, and call
559 select repeatedly until the desired time expires.
560
45d051a7
GM
5612001-03-06 Gerd Moellmann <gerd@gnu.org>
562
563 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
564
565 * xfns.c (Fx_create_frame): Clear Vwindow_list.
566
567 * lisp.h (Vwindow_list): Declare extern.
568
8f372c46
EZ
5692001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
570
571 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
572
f16a7aa5
GM
5732001-03-06 Gerd Moellmann <gerd@gnu.org>
574
157ae273
GM
575 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
576 to detect a case where we have to highlight a different region
577 despite not having left the currently highlighted region.
578 Set mouse_face_overlay in the x_display_info.
45d051a7 579 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
580
581 * xterm.h (struct x_display_info): Add mouse_face_overlay.
582
583 * buffer.c (mouse_face_overlay_overlaps): New function.
584
585 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
586 (Qmouse_face): Declare extern.
587
f16a7aa5
GM
588 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
589 if face_change_count is non-zero.
590
827afcac
KH
5912001-03-06 Kenichi Handa <handa@etl.go.jp>
592
593 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
594 that the source is unibyte.
595
14c7242e
DL
5962001-03-05 Dave Love <fx@gnu.org>
597
827afcac 598 * xterm.c (XTmouse_position): Fix typo.
14c7242e 599
c28b847b
GM
6002001-03-05 Gerd Moellmann <gerd@gnu.org>
601
602 * minibuf.c (read_minibuf): Clean up the binding stack if
603 called noninteractively.
604
b86644f2
KH
6052001-03-05 Kenichi Handa <handa@etl.go.jp>
606
607 * coding.c (syms_of_coding): Docstring modified.
608
203682cc 6092001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
610
611 * charset.c (char_to_string): If a single byte char has modifier
612 bits that can't be reflected to the character code, ignore them
45d051a7 613 instead of signaling an error.
b86644f2 614
e30bd7b7
EZ
6152001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
616
617 * s/msdos.h: Update copyright notice.
618
619 * dosfns.h: Update copyright notice.
620
621 * dosfns.c: Update copyright notice.
622
623 * msdos.c: Update copyright notice.
624
b52b65bd
GM
6252001-03-02 Gerd Moellmann <gerd@gnu.org>
626
627 * xterm.c (glyph_rect): New function.
628 (XTmouse_position): Use it to raise the threshold for mouse
629 movement event generation.
630
53c4b1e6
EZ
6312001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
632
633 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
634 specifies (reverse . t), reverse the initial screen colors.
635 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
636 but we are reversing the colors, set bg_set, not fg_set.
637 Likewise for setting background-color and reversing: set fg_set.
638 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
639 in effect.
640
641 * xfaces.c (Finternal_set_lisp_face_attribute)
642 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
643 parameters alist.
644
f964b4d7
GM
6452001-03-02 Gerd Moellmann <gerd@gnu.org>
646
ef53d75e
GM
647 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
648 to a single slash in the middle of file names.
649
52283633 650 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
651 Accept only alphanumeric time zone names.
652
f964b4d7
GM
653 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
654 or width area.
655 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
656 a widget to zero height.
52283633 657
c3c45f65
GM
6582001-03-01 Gerd Moellmann <gerd@gnu.org>
659
660 * window.c (Fwindow_end): Call move_it_past_eol only if
661 ending up on a partially visible line.
662
028d739a
DL
6632001-03-01 Dave Love <fx@gnu.org>
664
665 * ccl.c (Fccl_execute): Doc fix.
666
57c5889c
GM
6672001-03-01 Gerd Moellmann <gerd@gnu.org>
668
35f59f6b
GM
669 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
670 of the tool bar before calling x_figure_window_size.
671
f84ff02c
GM
672 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
673 NULL after destroying it, otherwise XTread_socket can access a
674 destroyed widget when input is unblocked.
675
8b8f9197 676 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 677
57c5889c
GM
678 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
679 same name as before, although there was a change in fontsets.
680
224227d1
KR
6812001-02-28 Ken Raeburn <raeburn@gnu.org>
682
4560730a
KR
683 * lisp.h (Fframe_parameter): Declare.
684
224227d1 685 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 686 Lisp_Object.
224227d1 687
ece93c02
GM
6882001-02-28 Gerd Moellmann <gerd@gnu.org>
689
11ef99b9
GM
690 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
691 NULL instead.
692
693 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
694 NULL instead.
695
ece93c02
GM
696 * alloc.c (toplevel): Include process.h.
697 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
698 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
699 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
700 (allocate_vector, allocate_hash_table, allocate_window)
701 (allocate_frame, allocate_process, allocate_other_vector):
702 New functions.
ece93c02
GM
703 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
704 (mark_maybe_pointer): New function.
52283633 705 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
706 remain and not Lisp_Objects.
707 (min_heap_address, max_heap_address): New variables.
708 (mem_find): Return MEM_NIL if START is below min_heap_address or
709 above max_heap_address.
710 (mem_insert): Compute min_heap_address and max_heap_address.
711
712 * process.c (make_process): Use allocate_process.
713
714 * frame.c (make_frame): Use allocate_frame.
715
716 * window.c (make_window, make_dummy_parent): Use allocate_window.
717 (Fcurrent_window_configuration): Use allocate_other_vector.
718
719 * lisp.h (allocate_vectorlike): Remove prototype.
720 (allocate_vector, allocate_other_vector, allocate_frame)
721 (allocate_window, allocate_process, allocate_hash_table):
722 Add prototypes.
723
724 * fns.c (Fdelete, larger_vector): Use allocate_vector.
725 (make_hash_table, copy_hash_table): Use allocate_hash_table.
726
063af457
KH
7272001-02-27 Kenichi Handa <handa@etl.go.jp>
728
729 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
730 treat the produced bytes as a valid multibyte sequence.
731
732 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
733 (ccl_driver) <CCL_WriteMultibyteChar2>:
734 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
735 <ccl_finish>: Set ccl->eight_bit_control properly.
736
737 * ccl.h (struct ccl_program): New member eight_bit_control.
738
f58c6494
SM
7392001-02-26 Stefan Monnier <monnier@cs.yale.edu>
740
741 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
742 accessible_keymaps_char_table.
743 (accessible_keymaps_char_table): Obey `is_metized'.
744 (where_is_internal, Fwhere_is_internal): Don't confuse int and
745 Lisp_Object.
746
c596c392
GM
7472001-02-26 Gerd Moellmann <gerd@gnu.org>
748
749 * dispnew.c: Check HAVE_TERM_H before including term.h.
750
425de386
AI
7512001-02-24 Andrew Innes <andrewi@gnu.org>
752
753 * makefile.w32-in: Update copyright notice.
754
2ba11bbd
SM
7552001-02-24 Stefan Monnier <monnier@cs.yale.edu>
756
757 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
758
66c56ed1
KH
7592001-02-24 Kenichi Handa <handa@etl.go.jp>
760
4c1593ce
KH
761 * Makefile.in (lisp): Add international/utf-8.elc.
762
66c56ed1
KH
763 * fontset.c (Fnew_fontset): Fix handling of the case that an
764 element of FONTLIST is a cons of family and registry.
765
796ead7e
JR
7662001-02-23 Jason Rumney <jasonr@gnu.org>
767
768 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
769 to height unconditionally.
770
771 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 772 background face to the end of the drawing area in the text area, only.
796ead7e
JR
773 (x_insert_glyphs): Call window_box_left to obtain the left
774 x-coordinate of the area to shift.
775
776 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
777 safe_run_hooks.
778
f6839838
AI
7792001-02-22 Andrew Innes <andrewi@gnu.org>
780
52283633 781 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
782 ($(BLD)\dispnew.obj):
783 ($(BLD)\editfns.obj):
784 ($(BLD)\fileio.obj):
785 ($(BLD)\filelock.obj):
786 ($(BLD)\keyboard.obj):
787 ($(BLD)\w32proc.obj):
788 ($(BLD)\process.obj):
789 ($(BLD)\sysdep.obj): Ditto.
790
791 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
792 header files.
52283633
SM
793 ($(BLD)/dispnew.$(O)):
794 ($(BLD)/editfns.$(O)):
795 ($(BLD)/fileio.$(O)):
796 ($(BLD)/filelock.$(O)):
797 ($(BLD)/keyboard.$(O)):
798 ($(BLD)/w32proc.$(O)):
799 ($(BLD)/process.$(O)):
f6839838
AI
800 ($(BLD)/sysdep.$(O)): Ditto.
801
c224f70b
GM
8022001-02-22 Gerd Moellmann <gerd@gnu.org>
803
51695746
GM
804 * xdisp.c (forward_to_next_line_start): When taking the shortcut
805 at the start of the function, check that the \n in it->c is
806 from the iterator's current position.
52283633 807
a61b7058
GM
808 * xdisp.c (handle_single_display_prop): Add parameter
809 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
810 properties which replace the display of text with something else.
811 (handle_display_prop): Call handle_single_display_prop with
812 additional argument saying if we already replaced text display
813 with something else. Use AREF.
52283633 814 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
815 (decode_mode_spec_coding): Use AREF and ASIZE.
816
3473f362
GM
817 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
818 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
819 * vmstime.h: Files removed.
52283633 820
2bb58df3
GM
821 * unexencap.c, unexfx2800.c: Files removed.
822
c224f70b
GM
823 * dispnew.c (direct_output_for_insert): Give up if we are showing
824 a message or just cleared the message because we might need to
825 resize the echo area window or display an empty echo area.
826
ffc9ff0c
GM
8272001-02-21 Gerd Moellmann <gerd@gnu.org>
828
0528abe1
GM
829 * xdisp.c (redisplay_internal): Do the
830 mark_window_display_accurate after all windows have been
831 redisplayed because this call resets flags in buffers which are
832 needed for proper redisplay.
833
52283633
SM
834 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
835 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
836 the old names.
837
52283633
SM
838 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
839 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
840
841 * msdos.h (struct x_output): Rename busy_window to
842 hourglass_window, busy_p to hourglass_p.
843
52283633
SM
844 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
845 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
846
847 * xfns.c: Rename everything containing *busy_cursor* and similar
848 to *hourglass*.
849 (syms_of_w32fns): Rename x-busy-pointer-shape to
850 x-hourglass-pointer-shape, display-busy-cursor to
851 display-hourglass, busy-cursor-delay to hourglass-delay.
852
853 * w32fns.c: Rename everything containing *busy_cursor* and similar
854 to *hourglass*.
855 (syms_of_w32fns): Rename x-busy-pointer-shape to
856 x-hourglass-pointer-shape, display-busy-cursor to
857 display-hourglass, busy-cursor-delay to hourglass-delay.
858
859 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
860 of its busy_p flag.
861
862 * dispextern.h (start_hourglass, cancel_hourglass)
863 (display_hourglass_p): Renamed from *busy_cursor*.
864
ab2c5f0a
GM
8652001-02-20 Gerd Moellmann <gerd@gnu.org>
866
d17e49a8
GM
867 * keyboard.c (read_char): When an event from unread-command-events
868 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
869
fa97adf6
GM
870 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
871 equal to the current buffer.
872
ab2c5f0a
GM
873 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
874 nil, otherwise we're left with truncate_lines t when a message
875 is printed with message-truncate-lines bound to t.
876
aeac019e
GM
8772001-02-19 Gerd Moellmann <gerd@gnu.org>
878
c8bc6f65
GM
879 * window.c (Fmove_to_window_line): Undo last change.
880 (displayed_window_lines): Call line_bottom_y to determine
881 the line's bottom position.
882
883 * dispextern.h (line_bottom_y): Add prototype.
884
52283633 885 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
886 (pos_visible_p): Use it.
887
980a2d69
GM
888 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
889 set redisplaying_p to 0 here instead of in Frecursive_edit.
890 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
891 set redisplaying_p.
892
52283633 893 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
894 New variables.
895 (syms_of_xdisp): Initialize new variables.
896 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
897 Specbind `inhibit-menubar-update' when updating the menu bar.
898
65048e97
GM
899 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
900 safe_run_hooks.
901
902 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
903 safe_run_hooks.
904
a57c4026
GM
905 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
906 is null.
907
aeac019e
GM
908 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
909 to the start of the file.
910
76846b31
GM
9112001-02-16 Gerd Moellmann <gerd@gnu.org>
912
f3f053f3 913 * window.c (set_window_buffer): Fix last change.
52283633 914
f3f053f3
GM
915 * window.c (set_window_buffer): Set window's vscroll to 0.
916
dad75588
GM
917 * window.c (coordinates_in_window): Increase width of area
918 where the vertical line can be dragged.
919
c220b753
GM
920 * xterm.c (x_set_glyph_string_background_width): Extend the
921 background face to the end of the drawing area in the text
922 area, only.
923
c56b1c1b
GM
924 * xdisp.c (handle_single_display_prop): Set iterator's position
925 to where the `display' property starts, like for images.
926 (dump_glyph): New function.
927 (dump_glyph_row): Use it. Dump info about marginal areas.
928
929 * dispnew.c (direct_output_for_insert): Recognize more cases where
930 glyphs can be written instead of being inserted.
931
932 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
933 the left x-coordinate of the area to shift.
934
76846b31
GM
935 * dired.c (directory_files_internal): Set result list to nil
936 before retrying.
937
0fc71a77
KH
9382001-02-15 Kenichi Handa <handa@etl.go.jp>
939
940 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
941 invalid multibyte sequence, treat *SRC as a character of
942 eight-bit-graphic.
943
25078b54
EZ
9442001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
945
946 * textprop.c (Fset_text_properties): Doc fix.
947
8399f8a0
GM
9482001-02-15 Gerd Moellmann <gerd@gnu.org>
949
950 * dispnew.c (update_text_area): Undo change of 2001-01-12.
951
9a2a6f73
DL
9522001-02-14 Dave Love <fx@gnu.org>
953
954 * coding.c: Doc and message fixes.
955
bf853fee
AI
9562001-02-14 Andrew Innes <andrewi@gnu.org>
957
958 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
959 Emacs frame above the screen size.
960
78c663d8
GM
9612001-02-14 Gerd Moellmann <gerd@gnu.org>
962
963 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
964
7cc9f69f
GM
9652001-02-13 Gerd Moellmann <gerd@gnu.org>
966
0a411995
GM
967 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
968 case that TO ends up beyond ZV after running before-change-functions.
969
5ddc1b75
GM
970 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
971 the selected window if it is showing the buffer in question.
972
7cc9f69f
GM
973 * dired.c (directory_files_internal): Initialize errno.
974 (toplevel): Include errno.h.
975
2e6621ca
GM
9762001-02-13 Kenichi Handa <handa@etl.go.jp>
977
978 * xfaces.c (best_matching_font): New parameter width_ratio.
979 Multiply avgwidth by width_ratio.
980 (choose_face_font): Call best_matching_font with width_ratio
981 calculated from the column width of C.
982
60222d69
AI
9832001-02-12 Andrew Innes <andrewi@gnu.org>
984
985 The following changes are to draw box lines inside characters area
986 if line-width is negative.
52283633 987
60222d69
AI
988 * w32term.c (x_produce_image_glyph): Pay attention to the case that
989 face->box_line_width is negative.
990 (x_produce_stretch_glyph): Likewise.
991 (x_produce_glyphs): Likewise.
992 (x_estimate_mode_line_height): Likewise.
993 (x_draw_glyph_string_background): Likewise.
994 (x_draw_glyph_string_foreground): Likewise.
995 (x_draw_composite_glyph_string_foreground): Likewise.
996 (x_draw_glyph_string_box): Likewise.
997 (x_draw_image_foreground): Likewise.
998 (x_draw_image_relief): Likewise.
999 (x_draw_image_foreground_1): Likewise.
1000 (x_draw_image_glyph_string): Likewise.
1001
9804b846
KH
10022001-02-09 Kenichi Handa <handa@etl.go.jp>
1003
1004 The following changes are to draw box lines inside characters area
1005 if line-width is negative.
52283633 1006
9804b846
KH
1007 * xterm.c (x_produce_image_glyph): Pay attention to the case that
1008 face->box_line_width is negative.
1009 (x_produce_stretch_glyph): Likewise.
1010 (x_produce_glyphs): Likewise.
1011 (x_estimate_mode_line_height): Likewise.
1012 (x_draw_glyph_string_background): Likewise.
1013 (x_draw_glyph_string_foreground): Likewise.
1014 (x_draw_composite_glyph_string_foreground): Likewise.
1015 (x_draw_glyph_string_box): Likewise.
1016 (x_draw_image_foreground): Likewise.
1017 (x_draw_image_relief): Likewise.
1018 (x_draw_image_foreground_1): Likewise.
1019 (x_draw_image_glyph_string): Likewise.
1020
1021 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
1022 and :line-width can be negative.
52283633 1023 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 1024
49be9f70
JR
10252001-02-09 Jason Rumney <jasonr@gnu.org>
1026
1027 * w32term.c (w32_encode_char): Treat eight bit graphic and control
1028 characters the same as ASCII and latin-1.
1029 (x_display_and_set_cursor): Check for the focus frame's selected
1030 window instead of selected_window.
1031 (x_after_update_window_line): Don't clear if frame's internal
1032 border width is zero.
1033 (x_new_font): Don't change a tooltip's size.
1034 (w32_initialize): Set char_ins_del_ok to 1.
1035
1036 * w32fns.c (Fx_show_tip): Fix calls to make_number.
1037 (x_set_font): If font hasn't changed, avoid recomputing
1038 faces and other things.
52283633
SM
1039 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
1040 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
1041 (x_create_tip_frame): Prevent changing the tooltip's
1042 background color by specifying a color for the default font
1043 in .Xdefaults.
1044 (Qcancel_timer): New variable.
1045 (syms_of_w32fns): Initialize and staticpro it.
1046 (Fx_hide_tip, Fx_show_tip): Use it.
1047 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1048 the timer.
1049 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
1050
1051 * w32.c (init_environment): Duplicate local string before putenv.
1052
555e35d2
SZ
10532001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
1054
1055 * charset.c (Fstring): A typo.
1056
19c92c94
KH
10572001-02-09 Kenichi Handa <handa@etl.go.jp>
1058
e47a1c33
KH
1059 * charset.c (Fstring): If all arguments are less than 256, return
1060 a unibyte string.
1061
1062 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
1063 return a unibyte string.
1064
19c92c94
KH
1065 * coding.c (code_convert_region): After detecting a coding, if
1066 nothing found, set coding->composing to COMPOSITION_NO.
1067 (decode_coding_string): Likewise.
1068
d8e675f5
SM
10692001-02-08 Stefan Monnier <monnier@cs.yale.edu>
1070
1071 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
1072 to avoid overflow.
1073
bd503487
KH
10742001-02-07 Kenichi Handa <handa@etl.go.jp>
1075
1076 * charset.c (parse_str_to_multibyte): New function.
1077
1078 * charset.h (parse_str_to_multibyte): Extern it.
1079
1080 * print.c (print_string): If we are going to print a unibyte
1081 string into a multibyte buffer, convert the string to multibyte by
1082 str_to_multibyte.
1083
a8370d72
AI
10842001-02-06 Andrew Innes <andrewi@gnu.org>
1085
1086 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
1087 been created. It seems we can get sent window messages such as
1088 WM_ERASEBKGND before we properly update a frame.
1089
c363a1d6
GM
10902001-02-06 Gerd Moellmann <gerd@gnu.org>
1091
1092 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
1093 Avoid some unnecessary cursor positioning.
1094
a08332c0
GM
10952001-02-05 Gerd Moellmann <gerd@gnu.org>
1096
52283633 1097 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
1098 (LFACE_AVGWIDTH): New macro.
1099 (LFACEP): Use AREF.
1100 (check_lface_attrs): Check LFACE_AVGWIDTH.
1101 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
1102 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
1103 (merge_face_vectors): Check LFACE_AVGWIDTH.
1104 (Finternal_make_lisp_face): Use AREF.
1105 (xm_set_menu_resources_from_menu_face)
1106 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
1107 (Finternal_lisp_face_empty_p): Use AREF.
1108 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
1109 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
1110 Compare average widths..
1111 (best_matching_font): Arrange for comparing average widths.
1112
52283633
SM
1113 * dispextern.h (enum lface_attribute_index):
1114 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
1115
5cb3c8d4
DL
11162001-02-05 Dave Love <fx@gnu.org>
1117
1118 * puresize.h: Revert last change following loadup.el change.
1119
193fba87
AI
11202001-02-05 Andrew Innes <andrewi@gnu.org>
1121
1122 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
1123 invocation of temacs, to work with Windows 2000.
1124 (bootstrap-emacs): Ditto.
1125
e16f52ce
GM
11262001-02-05 Gerd Moellmann <gerd@gnu.org>
1127
7a58ab59
GM
1128 * xterm.c (x_display_and_set_cursor): Check for the focus
1129 frame's selected window instead of selected_window.
1130
e89aaabd
GM
1131 * xdisp.c (try_scrolling): If point is in the line below the
1132 window, make sure to move the iterator at least a canonical
1133 char height down.
1134
52283633 1135 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 1136
789ce875
KH
11372001-02-05 Kenichi Handa <handa@etl.go.jp>
1138
52283633
SM
1139 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
1140 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
1141 (ccl_driver): If the CCL program is terminated because of
1142 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1143 destination instead of throwing them away.
1144
20b28f82
GM
11452001-02-02 Gerd Moellmann <gerd@gnu.org>
1146
79fb38c0
GM
1147 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1148 faces and other things.
1149
20b28f82
GM
1150 * xdisp.c (get_next_display_element): Fix case of empty
1151 display table entry.
1152
5a72551e
EZ
11532001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1154
eb24d0bf
EZ
1155 * editfns.c (Fconstrain_to_field): Doc fix.
1156
6a3f48c7
EZ
1157 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1158 into `thoroughly', to make it consistent with the doc string.
1159
5a72551e
EZ
1160 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1161
01acdb05
GM
11622001-02-01 Gerd Moellmann <gerd@gnu.org>
1163
0353b28f
GM
1164 * search.c (search_buffer): Call set_search_regs with a byte
1165 position, not a character position.
1166
01acdb05
GM
1167 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1168 minibuffer-only,
1169
e86b5133
EZ
11702001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1171
1172 * frame.c (Fmodify_frame_parameters): Doc fix.
1173
7442878f
GM
11742001-01-31 Gerd Moellmann <gerd@gnu.org>
1175
01acdb05
GM
1176 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1177 identifier which is not reserved by Standard C.
52283633 1178
7442878f
GM
1179 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1180
1181 * window.c (enum window_part): New enumeration.
1182 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1183 Qright_bitmap_area.
1184 (coordinates_in_window): Return an enumerator from enum
1185 window_part. Fix handling of right scroll bar.
1186 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1187 `right-fringe' instead of `left-bitmap-area' and
1188 `right-bitmap-area'. Use enumerators from enum window_part
1189 instead of hard-coded integers.
52283633
SM
1190 (check_window_containing, window_from_coordinates):
1191 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
1192 (syms_of_window): Replace Qleft_bitmap_area and
1193 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1194
7c132cba
EZ
11952001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1196
1197 * editfns.c (Fformat_time_string): Doc fix.
1198
c359dd9e
SM
11992001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1200
1201 * keymap.c (Fwhere_is_internal): Use the first valid binding
1202 if no ascii binding is found (when firstonly is t).
1203
ce070307
GM
12042001-01-31 Gerd Moellmann <gerd@gnu.org>
1205
b4f30ec5
GM
1206 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1207 instead of Finteractive_p.
1208
1209 * lisp.h (interactive_p): Add prototype.
1210
1211 * eval.c (interactive_p): New function.
1212 (Finteractive_p): Use it.
1213
ce070307
GM
1214 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1215
f57b6e64
DL
12162001-01-31 Dave Love <fx@gnu.org>
1217
d61c7afe
DL
1218 * .gdbinit (hook-run): Define to run xreload.
1219
f57b6e64
DL
1220 * textprop.c (Fset_text_properties): Fix newline in doc string.
1221
eef93f99
GM
12222001-01-30 Gerd Moellmann <gerd@gnu.org>
1223
52283633
SM
1224 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
1225 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
1226
1227 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 1228 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
1229 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1230
1231 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1232 height.
1233
d9c1f6f9
DL
12342001-01-30 Dave Love <fx@gnu.org>
1235
1236 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1237 AFTER_POTENTIAL_GC.
1238
e8f044a0
GM
12392001-01-29 Gerd Moellmann <gerd@gnu.org>
1240
52283633
SM
1241 * bytecode.c (Fbyte_code) <Bcurrent_column>:
1242 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 1243
8e1db7b3
EZ
12442001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1245
1246 * textprop.c (Fset_text_properties): Doc fix.
1247
4eefd9d2
GM
12482001-01-29 Gerd Moellmann <gerd@gnu.org>
1249
1250 * xdisp.c (forward_to_next_line_start): Remove xassert.
1251
fccb8288
EZ
12522001-01-29 Jason Rumney <jasonr@gnu.org>
1253
4eefd9d2 1254 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1255 returning without releasing it.
1256
76581eab
KH
12572001-01-29 Kenichi Handa <handa@etl.go.jp>
1258
1259 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1260 for '^', '$', and '\0'.
1261
83a96b4d
AC
12622001-01-28 Andrew Choi <akochoi@i-cable.com>
1263
5604ec34
AC
1264 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1265 regex for '^', '$', and '\0'.
1266
83a96b4d
AC
1267 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1268 only if current_sblock has been initialized.
1269
1270 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1271 terminal frame even if it is the only visible frame.
1272
c09a6440
KH
12732001-01-28 Kenichi Handa <handa@etl.go.jp>
1274
1275 * fontset.c (font_family_registry): Even if FONTNAME conform to
1276 XLFD, if it specifies other fields than family and registry,
52283633 1277 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 1278 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
1279 a signle byte character. Don't set FAMILY part to nil here.
1280 It is handled by the caller choose_face_font.
c09a6440
KH
1281 (Fnew_fontset): Call font_family_registry with FORCE 0.
1282 (Fset_fontset_font): Likewise.
1283
4dcd74e6
GM
12842001-01-27 Gerd Moellmann <gerd@gnu.org>
1285
1286 * xdisp.c (display_line): Don't treat a newline as fitting
1287 on the line.
1288
d2906bf8
GM
12892001-01-26 Gerd Moellmann <gerd@gnu.org>
1290
0130fe1a
GM
1291 * window.c (size_window): Set the window's orig_top to nil when
1292 changing heights, so that a future shrink_mini_window won't
1293 restore a bogus height.
1294
550f0e6a
GM
1295 * frame.c (do_switch_frame): If selected frame has a mini-window,
1296 resize that to exact size.
1297
b7b20fbd
GM
1298 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1299
a47b7816
GM
1300 * xdisp.c (display_line): Simplify check for glyphs fitting
1301 entirely in the line.
1302
d2906bf8
GM
1303 * xfns.c (xic_style): New variable.
1304 (create_frame_xic): Move static variable to global scope for
550f0e6a 1305 the case that `static' gets defined away.
d2906bf8 1306
73df2b1e
KH
13072001-01-26 Kenichi Handa <handa@etl.go.jp>
1308
1309 * coding.c (decode_coding): Set a flag for inhibiting
1310 inconsistent eol.
1311 (code_convert_region): Always set saved_coding_symbol.
1312 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 1313 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 1314
6613cfc4
GM
13152001-01-25 Gerd Moellmann <gerd@gnu.org>
1316
c5e6e06b
GM
1317 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1318 XClearArea.
1319
1320 * xterm.c (x_after_update_window_line): Don't clear if frame's
1321 internal border width is zero.
1322 (x_clear_area): New function.
1323 (x_after_update_window_line, x_clear_end_of_line)
1324 (x_scroll_bar_create, x_scroll_bar_set_handle)
1325 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1326 instead of XClearArea.
1327
1328 * xterm.h (x_clear_area): Add prototype.
1329
6613cfc4
GM
1330 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1331 which doesn't seem necessary anymore with Lesstif 0.92.
1332
650cc6cc
DL
13332001-01-25 Dave Love <fx@gnu.org>
1334
34ac3367
DL
1335 * puresize.h (BASE_PURESIZE): Up to 720000.
1336
650cc6cc
DL
1337 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1338
5e37dc22
GM
13392001-01-25 Gerd Moellmann <gerd@gnu.org>
1340
e1e441f9
GM
1341 * xdisp.c (echo_area_display): Don't call redisplay_internal
1342 when Emacs is shutting down. We can't run hooks etc. that
1343 would be necessary to do a redisplay.
1344
5e37dc22
GM
1345 * lread.c (read_integer): Use type EMACS_INT instead of int.
1346
0fb94c7f
EZ
13472001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1348
1349 * ccl.c (ccl_driver): Fix last change.
1350
e3778624
KH
13512001-01-25 Kenichi Handa <handa@etl.go.jp>
1352
1353 * ccl.h (sturct ccl_program): New member suppress_error.
1354
bb264518 1355 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1356 insert error message to the output.
1357 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1358
1359 * coding.h (struct coding_system): New member suppress_error.
1360
1361 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1362 (Fset_terminal_coding_system_internal): Set the member
1363 suppress_error to 1.
1364 (Fset_safe_terminal_coding_system_internal): Likewise.
1365
245ed2b1
SM
13662001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1367
1368 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1369 as if it was a `charset'.
1370
f9aaedb6
GM
13712001-01-24 Gerd Moellmann <gerd@gnu.org>
1372
1373 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1374 value in where_is_cache; the next lookup in the cache returns
1375 something bogus if we do.
1376
c3902c3e
EZ
13772001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1378
1379 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1380 if HAVE_WINDOW_SYSTEM isn't defined.
1381
3497f73e
GM
13822001-01-24 Gerd Moellmann <gerd@gnu.org>
1383
e7e41584
GM
1384 * fns.c (sweep_weak_table): Fix code taking items out of
1385 the hash collision chain. Some cleanup.
1386
3497f73e
GM
1387 * xterm.c (x_new_font): Don't change a tooltip's size.
1388
1389 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1390 background color by specifying a color for the default font
1391 in .Xdefaults.
1392
3d48e687
KH
13932001-01-24 Kenichi Handa <handa@etl.go.jp>
1394
96531b20
KH
1395 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1396 a workaround for SunOS 4's cc.
1397 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1398 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1399 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1400 statement.
3d48e687 1401
a30629d2
GM
14022001-01-23 Gerd Moellmann <gerd@gnu.org>
1403
1404 * xterm.c (x_set_window_size_1): New function extracted from
1405 x_set_window_size.
1406 (x_set_window_size): Use it.
1407 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1408 doesn't have a widget, like tooltips.
1409
5a43decf
EZ
14102001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1411
52283633 1412 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 1413
b0e98867
KH
14142001-01-23 Kenichi Handa <handa@etl.go.jp>
1415
1416 * fns.c (Fset_char_table_default): Fix to make sub char-table
1417 correctly.
1418
50606b4c
GM
14192001-01-22 Gerd Moellmann <gerd@gnu.org>
1420
cb2ddc53 1421 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
1422 a desired tool bar string, even if there are no tool bar items.
1423
57c28064
GM
1424 * xdisp.c (Ftool_bar_lines_needed): New function.
1425 (syms_of_xdisp): Defsubr it.
1426
50606b4c
GM
1427 * editfns.c (Fformat): Don't extend text properties from arguments
1428 to padding chars in the result.
1429
2f169c38
EZ
14302001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1431
1432 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1433
0f32f023
AI
14342001-01-20 Andrew Innes <andrewi@gnu.org>
1435
52283633 1436 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
1437 (w32_initialize): Don't set term hooks that aren't actually needed
1438 in windowed mode.
1439
1440 * xfaces.c (realize_default_face):
1441 (realize_face):
1442 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1443
1444 * xdisp.c (handle_single_display_prop): Remove references to
1445 FRAME_W32_CONSOLE_P.
1446
52283633 1447 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
1448
1449 * frame.h (output_method): Remove output_w32_console method.
1450 (FRAME_W32_CONSOLE_P): Remove macro.
1451
1452 * frame.c (Qw32_console): Remove variable.
1453 (Fframep): Remove references to it.
1454 (syms_of_frame): Ditto.
1455 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1456
1457 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1458 redefinition.
1459
7173eada
KH
14602001-01-20 Kenichi Handa <handa@etl.go.jp>
1461
1462 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1463
755b45ce
AI
14642001-01-19 Andrew Innes <andrewi@gnu.org>
1465
1466 * w32.c (init_environment): Add a version-independent site-lisp
1467 directory to EMACSLOADPATH, after the version dependent one.
1468
0a949811
GM
14692001-01-19 Gerd Moellmann <gerd@gnu.org>
1470
8501998a
GM
1471 * editfns.c (Fbuffer_substring): Doc fix.
1472
52283633
SM
1473 * xdisp.c (message_dolog, message2, message2_nolog):
1474 Rename parameter LEN to NBYTES.
0a949811 1475
e6ebcbbe
KH
14762001-01-19 Kenichi Handa <handa@etl.go.jp>
1477
200ecca2
KH
1478 * charset.c (strwidth): Use c_string_width.
1479 (c_string_width): New function.
1480 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1481 Caller changed.
1482
1483 * charset.h (c_string_width, lisp_string_width): Extern them.
1484
52283633 1485 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 1486
e6ebcbbe
KH
1487 * indent.c (check_composition): Check validity of composition.
1488
200ecca2
KH
1489 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1490 characters by calling c_string_width.
1491 (x_consider_frame_title): Get byte length of frame tile string
1492 correctly.
1493 (display_mode_element): Pay attention to width of non-ASCII
1494 characters by calling strwidth.
1495
8692ca92
GM
14962001-01-18 Gerd Moellmann <gerd@gnu.org>
1497
8962e303
GM
1498 * xfns.c (Qcancel_timer): New variable.
1499 (syms_of_xfns): Initialize and staticpro it.
1500 (Fx_hide_tip, Fx_show_tip): Use it.
1501 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1502 the timer.
1503 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1504
91523be9
GM
1505 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1506
1507 * window.h (WINDOW_LIVE_P): New macro.
1508
b0b7ed0e
GM
1509 * window.c (window_size_fixed): New variable.
1510 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1511 the doc string.
1512
06bccf8e
GM
1513 * eval.c (specbind): If binding a per-buffer variable which
1514 doesn't have a buffer-local value in the current buffer, change
1515 the global value by changing the value of the symbol bound in all
1516 buffers not having their own value, to make it consistent with
1517 what happens with other buffer-local variables.
1518
8692ca92
GM
1519 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1520
1521 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1522 when searching for a newline.
1523
bb3a3b50
KH
15242001-01-18 Kenichi Handa <handa@etl.go.jp>
1525
1526 * xdisp.c (display_string): Fix previous change.
1527
c2cc16fa
JR
15282001-01-18 Jason Rumney <jasonr@gnu.org>
1529
1530 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1531 GLYPH_DEBUG is defined.
1532 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1533 true for images with `:ascent 100'.
1534 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1535 meantime, use face MOUSE_FACE_ID.
1536 If first glyph isn't a character glyph, use the ASCII NUL
1537 character to determine the face.
1538 (expose_area): Do not treat left margin specially.
1539 (note_mode_line_highlight): If no local_map, check global keymap.
1540 (note_mouse_highlight): Initialize overlay.
52283633 1541 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
1542 (show_scroll_bars): Remove unused function.
1543 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1544 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1545 Clip to row.
52283633 1546 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
1547 (x_free_frame_resources): Unload relief colors.
1548
9c11f79e
GM
15492001-01-17 Gerd Moellmann <gerd@gnu.org>
1550
3aec8722 1551 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
1552 get_next_display_element when the newline is already found.
1553 This may change the iterator's position, when its current position is
3aec8722
GM
1554 equal to the iterator's stop_charpos.
1555
f3ffc2c3
GM
1556 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1557 zero, use this method only at the end of a line.
1558
52283633 1559 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
1560 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1561 if SCALABLE_FONTS_P is set.
52283633 1562
d26d6fd9
GM
1563 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1564 so that scalable fonts are included.
1565
9c11f79e
GM
1566 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1567 In the cache, use a key containing the information if scalable
1568 fonts are included.
1569 (x_load_font): Adapt to change of keys in the font cache.
1570
15712001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 1572
d26d6fd9
GM
1573 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1574 XListFonts to take advantage of font caching.
1575
9c11f79e
GM
1576 * xterm.c (x_list_fonts): Ensure caching font information when
1577 called for a null frame, which is the case frequently when Emacs
1578 starts.
1579
51446987
GM
15802001-01-17 Gerd Moellmann <gerd@gnu.org>
1581
f864120f
GM
1582 * xfns.c (QCconversion): Replaces QCalgorithm.
1583
1584 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1585
1586 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1587 of :algorithm.
52283633 1588
e37d1417
GM
1589 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1590 not everything could be displayed.
1591
51446987
GM
1592 * line.h, x-list-font.c: Files removed because unused.
1593
9ad4f3e5
AI
15942001-01-17 Andrew Innes <andrewi@gnu.org>
1595
1596 * dired.c (directory_files_internal): Convert result from readdir
1597 to a unibyte string initially, to avoid possible misinterpretation
1598 of some bytes as the internal form of Emacs characters.
1599
2eda09b5
KH
16002001-01-17 Kenichi Handa <handa@etl.go.jp>
1601
1602 * fns.c (concat): Be sure to avoid putting the same `composition'
1603 property on the adjacent regions.
1604
826f3788
GM
16052001-01-16 Gerd Moellmann <gerd@gnu.org>
1606
52283633 1607 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
1608 (Fscroll_right, Fscroll_left): Set it here instead, if called
1609 interactively.
1610
d57b83b3
GM
1611 * buffer.c (Fset_buffer_modified_p): Set buffer's
1612 prevent_redisplay_optimizations_p flag.
1613
826f3788 1614 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
1615 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
1616 with additional arg.
1617
1618 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
1619 Change prototype.
826f3788 1620
826f3788
GM
1621 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1622 FROM_WHERE, for debugging.
1623
261d788b
KH
16242001-01-16 Kenichi Handa <handa@etl.go.jp>
1625
1626 * ccl.c (Fregister_ccl_program): Handle the return value of
1627 resolve_symbol_ccl_program correctly.
52283633 1628 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 1629
bccee4f2
GM
16302001-01-15 Gerd Moellmann <gerd@gnu.org>
1631
e4ded23c
GM
1632 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1633 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
1634
1635 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
1636 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
1637 the display; we didn't open it.
1638
bccee4f2
GM
1639 * dispnew.c (save_or_restore_current_matrices): Function removed.
1640 (save_current_matrix, restore_current_matrix): New functions.
1641 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1642 restore the frame's current matrix. Due to the glyph pointer
1643 setup done in adjust_glyph_matrix, there is no easy way to make
1644 saving the current matrix in the desired matrix generally correct,
1645 so don't try it.
1646
ebeccffa
KH
16472001-01-15 Kenichi Handa <handa@etl.go.jp>
1648
1649 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1650 truncation glyphs.
1651 (display_line): Optimize for wide characters.
e4ded23c 1652 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1653 partially. On ttys, produce more than one truncation glyph for
1654 multi-column characters that don't fit on the line.
1655
64388126
KH
16562001-01-13 Kenichi Handa <handa@etl.go.jp>
1657
52283633
SM
1658 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
1659 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 1660
8edb0a6f
JR
16612001-01-13 Jason Rumney <jasonr@gnu.org>
1662
1663 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1664 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
1665 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1666 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 1667
52283633
SM
1668 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1669 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
1670 (x_draw_image_glyph_string): Adapt to change of image margins.
1671
1672 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1673 variables.
1674
1675 * w32bdf.c (search_file_line, get_cached_font_char)
1676 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1677
1678 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1679
1680 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1681 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1682 (Fw32_send_sys_command): Remove unused variables.
1683 (w32_msg_pump): Add parentheses.
1684
1685 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1686 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1687 Add parentheses.
1688
4956d1ef
GM
16892001-01-12 Gerd Moellmann <gerd@gnu.org>
1690
b30623be
GM
1691 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1692 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1693 being a pair of margins.
1694 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1695 to DEFVAR_LISP. Extend doc.
1696
1697 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1698 margins.
1699 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1700 pair of integers `(X . Y)', use X for the horizontal and Y for the
1701 vertical margin.
1702 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1703 (parse_image_spec): Check it.
52283633
SM
1704 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1705 (tiff_format, gif_format, gs_format):
1706 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 1707
52283633
SM
1708 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1709 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
1710 (x_draw_image_glyph_string): Adapt to the change of image margins.
1711
1712 * dispextern.h (struct image): Replace member `margin' with
1713 `hmargin' and `vmargin'.
1714
4554cc79
GM
1715 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1716 and GLYPHS.
1717
1718 * dispnew.c (update_text_area): Put code which decrements the
1719 stop position when the row's face extends to the end of the
3bffc665 1720 line in #if 0.
4554cc79 1721
3cccce8d
GM
1722 * xfns.c (x_set_mouse_color): Fix color allocation.
1723
4956d1ef
GM
1724 * keyboard.c: Call get_local_map with new argument list.
1725
1726 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1727
1728 * intervals.h (enum map_property): Removed.
1729 (get_local_map): Change prototype.
1730
1731 * keymap.c: Call get_local_map with new argument list.
1732 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1733
2c2ff7f2
GM
17342001-01-11 Gerd Moellmann <gerd@gnu.org>
1735
a23887b9
GM
1736 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1737 of the size needed for the tool bar string. For the last image,
1738 use a `display' property that reaches to the end of the string.
1739
a7ee2d2e
GM
1740 * xselect.c (selection_request_dpyinfo): New variable.
1741 (x_handle_selection_request): Set it.
1742 (x_selection_request_lisp_error): Don't call
1743 x_decline_selection_request if selection request's display has
1744 been closed.
1745
52283633
SM
1746 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
1747 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 1748
457b792c
GM
17492001-01-10 Dave Love <fx@gnu.org>
1750
1751 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1752 ${SOME_MACHINE_LISP}, not ${lisp}.
1753
c1efd260
GM
17542001-01-10 Gerd Moellmann <gerd@gnu.org>
1755
52283633
SM
1756 * xdisp.c (display_line): On ttys, produce more than one truncation
1757 glyph for multi-column characters that don't fit on the line.
a98b5ed9 1758
ac95a621
GM
1759 * xselect.c (x_reply_selection_request): Add a comment.
1760
c1efd260
GM
1761 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1762 XkbGetNames instead of XkbGetKeyboard.
1763
1bfb1345
DL
17642001-01-10 Dave Love <fx@gnu.org>
1765
1766 * sysdep.c (random): Revert the declaration.
1767
38119822
GM
17682001-01-09 Gerd Moellmann <gerd@gnu.org>
1769
52283633
SM
1770 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
1771 Call function string_bytes.
35f464a7
GM
1772 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1773
1774 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1775 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1776 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1777 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1778 the current sblock.
1779 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1780 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1781 after sweeping strings, and at the end.
1782 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1783
38119822
GM
1784 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1785 ensure that pop_message is called.
1786
1787 * keyboard.c (Fexecute_extended_command): Use a
1788 record_unwind_protect to ensure that pop_message is called.
1789
1790 * lisp.h (push_message_unwind): Add prototype.
1791
1792 * xdisp.c (push_message_unwind): New function.
1793
1794 * fileio.c (do_auto_save_unwind): Do the pop_message here
1795 instead of in Fdo_auto_save.
1796 (Fdo_auto_save): Don't call pop_message.
1797
f47a9ec4
KR
17982001-01-08 Ken Raeburn <raeburn@gnu.org>
1799
1800 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1801 in inner block.
1802
a758f97d
GM
18032001-01-08 Gerd Moellmann <gerd@gnu.org>
1804
6d0afc03
GM
1805 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1806 when increasing window's vscroll.
1807
a758f97d
GM
1808 * macros.c (Qkbd_macro_termination_hook): New variable.
1809 (syms_of_macros): Initialize and staticpro it.
1810 (pop_kbd_macro): Run kbd-macro-termination-hook.
1811
1812 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1813
1bfb1345 18142001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1815
1816 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1817 arglist, for documentation's sake.
1818
0dac6924
AI
18192001-01-06 Andrew Innes <andrewi@gnu.org>
1820
1821 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1822 of *.pdb.
1823
8182406a
AI
18242001-01-05 Andrew Innes <andrewi@gnu.org>
1825
1826 * term.c (update_end): Don't check updating_frame; for some reason
1827 this can be 0 sometimes, such as after dismissing a popup menu,
1828 and isn't necessary given the explicit frame argument.
1829
3828218c
GM
18302001-01-05 Gerd Moellmann <gerd@gnu.org>
1831
1832 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1833 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1834
2f5ded21
GM
18352001-01-04 Gerd Moellmann <gerd@gnu.org>
1836
52283633 1837 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
1838
1839 * xfns.c (x_create_tip_frame): Preserve the value of
1840 face_change_count around the creation of the tip frame.
52283633 1841
2f5ded21
GM
1842 * xfns.c (last_show_tip_args): New variable.
1843 (compute_tip_xy): New function.
1844 (Fx_show_tip): Reuse an existing tip frame, if possible.
1845 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1846
dfad65fa
DL
18472001-01-04 Dave Love <fx@gnu.org>
1848
64d4ec0f
DL
1849 * editfns.c (Fformat): Doc fix.
1850
dfad65fa
DL
1851 * systime.h (set_file_times): Prototype.
1852
1853 * widget.h (EmacsFrameSetCharSize_): Prototype.
1854
1855 * sysdep.c (random, srandom): Declare explicitly.
1856
1857 * dispextern.h (move_it_vertically_backward): Declare.
1858
85fe3b5e
GM
18592001-01-04 Gerd Moellmann <gerd@gnu.org>
1860
0f2ac578
GM
1861 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1862 like in Fx_create_frame.
1863
482cca61
GM
1864 * xfaces.c (set_font_frame_param): Don't do anything for
1865 non-graphical frames.
1866
85fe3b5e
GM
1867 * window.c (Fdelete_other_windows): Set window's window_end_valid
1868 to nil when changing the window's start. Don't change the
1869 window's start when its top position hasn't changed. If we do,
1870 this will set the window's optional_new_start, which act's like a
1871 force_start during redisplay with C-x 1 M-> under particular
1872 circumstances (see report from Per Starback to emacs-pretest-bug
1873 from 2000-12-13.).
1874
3e99d3b4
GM
18752001-01-03 Gerd Moellmann <gerd@gnu.org>
1876
a77dc1ec
GM
1877 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1878 short cut at the start of the function. Add an assertion.
1879 (reseat_at_next_visible_line_start): Add an assertion.
1880
2f3cad6c
GM
1881 * window.c (Frecenter): When changing the window start, set the
1882 window's window_end_valid to nil.
1883 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1884
1885 * dispextern.h (move_it_past_eol): Add prototype.
1886
1887 * xdisp.c (move_it_past_eol): New function.
1888
3e99d3b4
GM
1889 * window.c (Fwindow_end): Doc fix.
1890
18912001-01-03 Dave Love <fx@gnu.org>
1892
52283633 1893 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 1894
bafb434c
GM
18952001-01-03 Gerd Moellmann <gerd@gnu.org>
1896
1897 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1898 the enabled_p flag of the glyph row at window_end_vpos to 0.
1899 (handle_single_display_prop): Fix last change.
1900
5297fb00
RS
19012001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1902
1903 * window.c (Frecenter): Doc fix.
1904
13d6a61c
AI
19052001-01-02 Andrew Innes <andrewi@gnu.org>
1906
1907 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1908
1909 * frame.h (output_method): Add output_w32_console method.
1910 (FRAME_W32_CONSOLE_P): New macro.
1911
1912 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1913 use output_w32_console method.
1914 (Qw32_console): New Lisp_Object.
1915 (Fframep): Return it.
1916 (syms_of_frame): Init it.
52283633 1917 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
1918
1919 * xfaces.c (realize_default_face): Set face foreground and
1920 background to unspecified for w32_console frames.
1921 (realize_face): Realize face cache for w32_console frames.
1922 (realize_tty_face): Accept w32_console frames.
1923
52283633 1924 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
1925 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1926 necessary, even if running interactively.
1927
1928 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1929 w32_console frames.
1930
52283633
SM
1931 * w32term.c (x_update_begin):
1932 (x_update_end):
1933 (x_clear_frame):
1934 (x_ins_del_lines):
1935 (x_change_line_highlight):
1936 (x_delete_glyphs):
1937 (w32_ring_bell):
1938 (x_update_begin):
1939 (x_update_end):
1940 (w32_reassert_line_highlight):
1941 (w32_frame_rehighlight):
13d6a61c
AI
1942 (w32_frame_raise_lower): Do nothing if not w32 frame.
1943
1944 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1945
1946 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1947 system doesn't tell us directly.
1948 (Fx_display_visual_class): Implement properly.
1949
d6bb0c0d
GM
19502001-01-02 Gerd Moellmann <gerd@gnu.org>
1951
1952 * window.c (Frecenter): Handle centering in graphical frames
1953 specially. Centering on the basis of line counts doesn't work
1954 reliably with variable-height lines.
52283633 1955
315f5865
EZ
19562001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1957
1958 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1959 and al[].
1960
52283633 1961 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
1962 (update_compositions): Remove unused variable `hook'.
1963
1964 * intervals.c (get_local_map): Remove unused variable `tem'.
1965
1966 * doprnt.c (doprnt1): Remove unused variable `size'.
1967
1968 * fns.c (Flength): Remove unused variable `tail'.
1969 (Fdelete): Remove unused variable `size'.
1970
1971 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1972 and `gcpro2'.
1973
52283633 1974 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
1975
1976 * data.c (find_symbol_value): Remove extra 3rd argument in the
1977 call to swap_in_symval_forwarding.
1978
52283633 1979 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
1980
1981 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1982 (trivial_regexp_p): Remove unused variable `c'.
1983 (boyer_moore): Remove unused variable `k'.
1984
1985 * indent.c (current_column): Remove unused variable `stopchar'.
1986 (Fcompute_motion): Remove unused variable `contin'.
1987
1988 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1989
1990 * dired.c (directory_files_internal): Fix a typo in a comment.
1991 Remove an unused variable `handler'.
52283633 1992 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
1993 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1994 on BSD4_2.
1995
52283633 1996 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
1997
1998 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1999 and `buf'.
2000 (Fmarker_insertion_type): Remove unused variable `buf'.
2001
2002 * insdel.c (make_gap): Remove unused variable `result'.
2003
52283633 2004 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
2005 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
2006 (menu_bar_items): Remove unused function-scope variable `tem'.
2007
2008 * fontset.c (fontset_ref): Remove unused variable `i'.
2009 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 2010 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
2011 (make_fontset_for_ascii_face): Remove unused variable `name'.
2012 (fs_load_font): Remove unused variable `font_idx'.
52283633 2013 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
2014 (list_fontsets): Remove unused variable `tail'.
2015 (Fnew_fontset): Remove unused variables `family' and `registry'.
2016 (accumulate_font_info): Remove unused variable `tmp'.
2017 (Ffontset_font): Remove unused variable `id'.
2018 (syms_of_fontset): Remove unused variable `i'.
2019
2020 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
2021 to x_term_init.
2022 (lookup_image): Remove unused variable `file'.
2023 (xbm_load): Remove unused variables `bitmap_data', `height', and
2024 `width'. Remove function-local variable `i', leave the
2025 block-local one.
2026 (gif_load): Remove unused variable `inc'.
2027
52283633 2028 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
2029 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
2030 leave only the one in the inner block.
2031
2032 * xfaces.c (face_fontset, realize_default_face): Remove unused
2033 variable `fontset'.
2034 (face_at_buffer_position): Remove unused variable `multibyte_p'.
2035
2036 * term.c (encode_terminal_code): Remove unused variable `c'.
2037
2038 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
2039 char *' instead of `char *'.
2040
2041 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 2042 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
2043 (Fchar_category_set): Remove unused variables `val', `charset',
2044 `c1' and `c2'.
2045
52283633
SM
2046 * coding.c (detect_coding_iso2022, setup_coding_system):
2047 Remove unused variable `i'.
315f5865
EZ
2048 (detect_coding_mask): Remove unused variable `idx'.
2049 (detect_coding): Remove unused variable `i'.
2050 (ccl_coding_driver): Remove unused variable `result'.
2051 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 2052 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
2053 (encode_coding_string): Remove unused variables `gcpro1' and
2054 `saved_coding_symbol'.
2055 (Ffind_coding_systems_region_internal): Remove function-local
2056 variable args[], leave only the block-local one.
2057 (code_convert_region1): Remove unused variable `len'.
2058
2059 * charset.c (char_printable_p): Remove unused variable `chars'.
2060 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
2061 (str_to_multibyte): Remove unused variable `c'.
2062
2063 * window.c (size_window): Remove block-local variable `min_size'.
2064
2065 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
2066 `header_line_height'.
2067 (append_space, extend_face_to_end_of_line): Declare `saved_what'
2068 enum display_element_type.
2069
1a8a9daf
GM
20702001-01-02 Gerd Moellmann <gerd@gnu.org>
2071
6dde6abc 2072 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
2073 statements that call X. Save away the error message in a local copy.
2074
1883b2c6
GM
2075 * xterm.c (x_connection_closed): Set handling_signal to 0 at
2076 the start.
2077
a13be207
GM
2078 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
2079 in or at the start of invisible text.
2080
1a8a9daf
GM
2081 * dispnew.c (update_window): Don't check_current_matrix_flags.
2082
3608c0f9
JR
20832001-01-01 Jason Rumney <jasonr@gnu.org>
2084
2085 * w32fns.c (x_figure_window_size): Do not allow new_height and
2086 new_width of frame to override specified values.
2087
abb1acc4
KH
20882000-12-30 Kenichi Handa <handa@etl.go.jp>
2089
52283633 2090 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 2091
762a68ec
GM
20922000-12-29 Gerd Moellmann <gerd@gnu.org>
2093
52283633 2094 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
2095 (update_window) [GLYPH_DEBUG]: Call it.
2096 (scrolling_window): Prevent including current rows which are below
2097 what's displayed in the window.
2098
2099 * xdisp.c (try_window_reusing_current_matrix)
2100 <new start <= old start>: Disable rows in the current matrix
2101 which are below the window after scrolling.
52283633 2102
762a68ec
GM
2103 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2104 is zero. It's not worth the complexity.
2105 (invisible_text_between_p): Put in #if 0 because unused.
2106
2d5912c1
GM
21072000-12-28 Gerd Moellmann <gerd@gnu.org>
2108
46f6a258
GM
2109 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2110 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2111
89f93679
GM
2112 * keyboard.c (echo_char): If C is an integer, always call
2113 push_key_description. Former code could signal an invalid
2114 character error.
2115
2116 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2117 If set, print multibyte text.
2118 (Fsingle_key_description): Call push_key_description with
2119 FORCE_MULTIBYTE set.
2120 (describe_buffer_bindings): Likewise.
2121
2122 * lisp.h (push_key_description): Add prototype.
2123
c06017fb
GM
2124 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2125 around the call to redisplay_internal.
2126
f1d2ce7f
GM
2127 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2128
2d5912c1
GM
2129 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2130
9371f831
KH
21312000-12-28 Kenichi Handa <handa@etl.go.jp>
2132
2133 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2134 (ccl_driver): New local variable `extra_bytes'.
2135
2136 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2137
52283633
SM
2138 * coding.c (setup_coding_system):
2139 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
2140 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2141
0c80628a
KH
21422000-12-28 Kenichi Handa <handa@etl.go.jp>
2143
2144 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2145 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2146 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2147 (decode_composition_emacs_mule): New function.
2148 (decode_coding_emacs_mule): Decode composition sequence by calling
2149 decode_composition_emacs_mule.
2150 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
2151 (encode_coding_emacs_mule): Changed from macro to function.
2152 If a text contains compositions, encode them correctly.
0c80628a
KH
2153 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2154 that decoding and encoding are required.
2155
3e32cc27
GM
21562000-12-27 Gerd Moellmann <gerd@gnu.org>
2157
5e25feee
GM
2158 * xfaces.c (PT_PER_INCH): New macro.
2159 (xlfd_point_size): Compute real point size from font's pixel size.
2160 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2161 instead of 72.
2162
892d8fcd
GM
2163 * .gdbinit: Comment out the line pointing to the Lesstif source
2164 directory.
2165
12c8b416
GM
2166 * window.c (Frecenter): Use displayed_window_lines instead
2167 of window_internal_height.
2168
6061fbf0
GM
2169 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2170 instead of x-toolkit-scroll-bars-p.
2171 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2172
2173 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2174 instead of x-toolkit-scroll-bars-p.
2175 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 2176
3e32cc27
GM
2177 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2178 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
2179 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
2180 New variables.
2181 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
2182 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2183 (build_frame_matrix_from_leaf_window): Remove unused code.
2184 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2185 redisplay history.
2186 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2187 (update_window) [GLYPH_DEBUG]: Likewise.
2188 (syms_of_display): Defsubr dump-redisplay-history.
2189
31798cfe
GM
21902000-12-23 Gerd Moellmann <gerd@gnu.org>
2191
f717c2ba
GM
2192 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2193 the end of the prompt. Set echo_after_prompt to the offset
2194 of echoptr in echobuf.
2195
aeb2b8fc
GM
2196 * xdisp.c (init_from_display_pos): Pop until the iterator's
2197 stack is empty; there may be frames for stretch or images
2198 on the stack.
2199
31798cfe
GM
2200 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2201 (save_or_restore_current_matrix): New function for the same
2202 purpose, but more efficient.
2203 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2204
f8156156
EZ
22052000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2206
2207 * xdisp.c (syms_of_xdisp): Fix last change.
2208
bdd6d4e8
GM
22092000-12-23 Gerd Moellmann <gerd@gnu.org>
2210
2211 * xdisp.c (syms_of_xdisp): Doc fix.
2212
2213 * xdisp.c (redisplay_window): Remove label restore_buffers;
2214 use finish_scroll_bars instead to make sure that scroll bars
2215 are redeemed. If we don't do this, flickering can result from
2216 scroll bars being destroyed and recreated.
2217
9436cdf9
JR
22182000-12-22 Jason Rumney <jasonr@gnu.org>
2219
2220 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2221 in the wrong colors when the foreground is not black.
2222 (expose_window): Don't redraw the window that's currently being
2223 updated.
2224
951f9df5
GM
22252000-12-22 Gerd Moellmann <gerd@gnu.org>
2226
856ff7a7
GM
2227 * window.c (size_window): When setting the window's too_small_ok
2228 flag, compare old size with minimum size depending on WIDTH_P,
2229 don't compare with window_min_width.
52283633 2230
951f9df5
GM
2231 * window.c (delete_window): Simplify somewhat.
2232 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2233 freeing window matrices. The flag windows_or_buffers_changed is
2234 set, so the next redisplay will consider all windows; this should
2235 suffice.
2236
886bc933
KH
22372000-12-22 Kenichi Handa <handa@etl.go.jp>
2238
2239 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2240
2241 * ccl.h (struct ccl_program): New member cr_consumed.
2242
2243 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2244 (CCL_READ_CHAR): Handle EOL conversion here.
2245 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2246
177f4e88
GM
22472000-12-21 Gerd Moellmann <gerd@gnu.org>
2248
52283633 2249 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
2250
2251 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2252 otherwise tabs of different size compare equal.
2253
2254 * callint.c (Fcall_interactively): Prevent a compiler warning.
2255
2256 * print.c (print_unwind): Return nil.
2257 (PRINTDECLARE): Initialize all local variables.
2258 (print_preprocess): Add a default case.
2259
8e15274f
GM
2260 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2261
2262 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2263
52283633 2264 * window.c (delete_window, Fsplit_window)
177f4e88
GM
2265 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2266
2267 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2268
2269 * dispnew.c (ensure_frame_matrix): Removed.
2270 (save_frame_matrix, restore_frame_matrix): New functions.
2271 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2272
2273 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2274 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2275
99012074
AI
22762000-12-21 Andrew Innes <andrewi@gnu.org>
2277
2278 * w32term.c (x_update_begin): Regenerate the palette here, rather
2279 than for each window.
2280
2281 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2282 palette is NULL, since this corrupts memory! Also get
2283 display_info reference from frame.
2284
29ef7d2d
JR
22852000-12-21 Jason Rumney <jasonr@gnu.org>
2286
2287 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2288
2289 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2290 to avoid returning without releasing it.
3e27fa1f 2291
3f9d67a6
KH
22922000-12-21 Kenichi Handa <handa@etl.go.jp>
2293
587fc3f9
KH
2294 * keymap.c (push_key_description): Don't convert eight-bit-control
2295 and eight-bit-graphic to multibyte character.
2296
3f9d67a6
KH
2297 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2298 generic character and CODE1 is nil, return the smallest character
2299 in CHARSET.
2300
774ba8c9
DL
23012000-12-20 Dave Love <fx@gnu.org>
2302
2303 * s/osf5-0.h (NSIG): Don't redefine.
2304
88416888
SM
23052000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2306
2307 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2308 excluding menu-bar and tool-bar.
2309 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2310 (menu_item_p): Remove.
2311 (where_is_internal_1): Don't ignore menu-items.
2312
a6426c6f
GM
23132000-12-20 Gerd Moellmann <gerd@gnu.org>
2314
03ff8aab
GM
2315 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2316 into account.
2317
2318 * window.c (make_window): Initialize window's min_hscroll.
2319 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2320 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2321 to zero.
2322 (struct saved_window): New member min_hscroll.
2323 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2324 (Fset_window_configuration): Set window's min_hscroll.
2325 (save_window_save): Save window's min_hscroll.
2326 (compare_window_configurations): Compare min_hscroll values.
2327
2328 * window.h (struct window): New member min_hscroll.
2329
2330 * keyboard.c (echo_prompt): Prevent a compiler warning.
2331
8de4aaf8
GM
2332 * xdisp.c (try_cursor_movement): Fix last change. The real
2333 condition is that PT is at the end of the row, and should
2334 be displayed at the start of the next row.
52283633 2335
3f7e3031
GM
2336 * xdisp.c (try_cursor_movement): If we end on a partially
2337 visible line, end we already decided to scroll, return -1.
2338
a6426c6f
GM
2339 * dispextern.h (ensure_frame_matrix): Add prototype.
2340
2341 * window.c (delete_window, Fsplit_window)
2342 (Fset_window_configuration): Call ensure_frame_matrix.
2343
52283633
SM
2344 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
2345 New functions.
a6426c6f
GM
2346 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2347 completed, call fake_current_matrices instead of marking frame
2348 garbaged.
2349
57fa2774
JR
23502000-12-20 Jason Rumney <jasonr@gnu.org>
2351
2352 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2353
d925df90
EZ
23542000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2355
2356 * fns.c (Frequire): Doc fix.
2357
7b93a85b
GM
23582000-12-19 Gerd Moellmann <gerd@gnu.org>
2359
52283633 2360 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 2361
c74e645b
GM
2362 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2363 currently displaying a message.
2364
7b93a85b
GM
2365 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2366 xterm.h.
2367 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2368
90d97e64
AI
23692000-12-18 Andrew Innes <andrewi@gnu.org>
2370
2371 * w32.c (w32_strerror): New function.
2372
2373 * w32.h (w32_strerror): New extern.
2374
2375 * w32fns.c (Fw32_shell_execute): Use it.
2376
91c9e6ce
GM
23772000-12-18 Gerd Moellmann <gerd@gnu.org>
2378
2379 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2380
6f4745e2
EZ
23812000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2382
2383 * msdos.c (IT_set_face): Obey inverse_video.
2384
c9e088ce
KH
23852000-12-18 Kenichi Handa <handa@etl.go.jp>
2386
2387 * dired.c (directory_files_internal): Always return decoded filenames.
2388
c3695f5f
GM
23892000-12-18 Gerd Moellmann <gerd@gnu.org>
2390
52d8e4ff
GM
2391 * xterm.c (x_connection_closed): Prevent being called recursively
2392 because of an error condition in XtCloseDisplay.
52283633 2393
62be9979
GM
2394 * xdisp.c (init_iterator): If noninteractive, and the frame's
2395 face cache is null, make one.
2396
52283633 2397 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 2398
c3695f5f
GM
2399 * process.c (wait_reading_process_input): Check for pending
2400 input when running timers.
2401
78555fbe
EZ
24022000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2403
52283633 2404 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 2405
b2b36264
KH
24062000-12-18 Kenichi Handa <handa@etl.go.jp>
2407
2408 * process.c (read_process_output): Don't run a filter if the code
2409 decoder produces nothing but carryover.
2410
9c543fbf
AI
24112000-12-17 Andrew Innes <andrewi@gnu.org>
2412
2413 * w32.c (sys_rename): Only check errno against EEXIST, and not
2414 EACCES, when determining whether rename failed because the target
2415 exists. This was resulting in indefinite looping on Windows 9x if
2416 the source file was locked by another process.
2417
2418 * w32fns.c (Ffile_system_info): New function.
2419 (syms_of_w32fns): Defsubr it.
2420
10c2b5a8
GM
24212000-12-17 Gerd Moellmann <gerd@gnu.org>
2422
b0228ace
GM
2423 * window.c (coordinates_in_window): Fix computation for
2424 position on vertical line between mode lines.
2425
10c2b5a8
GM
2426 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2427 Don't alter tip_frame or tip_window.
2428 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2429 was deleted.
2430
c844a81a
GM
2431 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2432 Don't alter tip_frame or tip_window.
2433 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2434 was deleted.
2435
6c825f8e
EZ
24362000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2437
2438 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2439 be consistent with the doc string. Reported by NAKAJIMA Mikio
2440 <minakaji@osaka.email.ne.jp>.
2441
af4bb4c8
KH
24422000-12-16 Kenichi Handa <handa@etl.go.jp>
2443
2444 * xfaces.c (Vface_ignored_fonts): New variable.
2445 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2446 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2447
8062e53a
GM
24482000-12-15 Gerd Moellmann <gerd@gnu.org>
2449
e87b8809
GM
2450 * dispnew.c (update_window): Detect pending input every nth line
2451 updated, i.e. do it depending on real work done, and not on the
2452 vpos of the line.
2453
2454 * xterm.c (expose_window): Don't redraw the window that's
2455 currently being updated.
2456
a6768cc5
GM
2457 * window.c (Fset_window_point): Remove test for
2458 cursor_in_non_selected_windows.
2459
4ea7fdca
GM
2460 * lread.c (read1): Recognize end of file after `\\'.
2461
8062e53a
GM
2462 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2463 not unwind_create_frame.
2464
bb7959c1
GM
24652000-12-15 Dave Love <fx@gnu.org>
2466
2467 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2468 bcopy & al.
2469
2470 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2471
ced04c42
KH
24722000-12-15 Kenichi Handa <handa@etl.go.jp>
2473
c5443913
KH
2474 * coding.c (setup_coding_system): Clear all members of the struct
2475 coding_system at first.
bc137305
KH
2476 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2477 argument.
2478 (code_convert_region): Don't override coding->src_multibyte and
2479 coding->dst_multibyte.
c5443913 2480
ced04c42
KH
2481 * fns.c (Fmd5): Docstring improved.
2482
c2d7f289
MB
24832000-12-15 Miles Bader <miles@gnu.org>
2484
2485 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2486 are actually marked as mode-lines; otherwise use
2487 estimate_mode_line_height.
2488
9d7d9263
GM
24892000-12-14 Gerd Moellmann <gerd@gnu.org>
2490
2491 * editfns.c (Fformat): Prevent a buffer overrun when the format
2492 specifies a precision.
2493
7cf0153a
EZ
24942000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2495
2496 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2497 argument is outside the range [2..3].
2498
1de0f662
AI
24992000-12-14 Andrew Innes <andrewi@gnu.org>
2500
2501 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2502 nothing to do. Bind inhibit-quit.
2503 (tip_frame): Make it a Lisp_Object.
2504 (x_create_tip_frame): Set tip_frame after it has been added to
2505 Vframe_list.
2506 (Fx_show_tip): Don't set tip_frame here.
52283633 2507 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
2508 (unwind_create_frame, unwind_create_tip_frame): New functions.
2509 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2510 while a frame is only partially constructed.
2511
2512 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2513 (x_free_frame_resources): New function.
2514 (x_destroy_window): Use it.
2515
02387dcc
GM
25162000-12-14 Gerd Moellmann <gerd@gnu.org>
2517
2518 * xfns.c (Fx_backspace_delete_keys_p): New function.
2519 (syms_of_xfns): Defsubr it.
2520
2521 * config.in (HAVE_XKBGETKEYBOARD): Add.
2522
0544ef49
KH
25232000-12-14 Kenichi Handa <handa@etl.go.jp>
2524
98d62747
KH
2525 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2526 Always store string in multibyte representation in echobuf.
2527 (echo_char): Always store string in multibyte representation in
2528 echobuf.
2529 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2530 (read_key_sequence): Adjusted for the change of echo_prompt.
2531
a20193cd
KH
2532 * fns.c (Fmd5): Docstring improved.
2533
191b83b6
KH
2534 * lisp.h (detect_coding_system): Prototype adjusted.
2535
0544ef49
KH
2536 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2537 (detect_coding_emacs_mule, detect_coding_iso2022,)
2538 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
2539 (detect_coding_utf_16, detect_coding_ccl): Make them static.
2540 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
2541 (detect_coding_mask, detect_coding_system): New argument
2542 MULTIBYTEP. Callers changed.
1da1bb05
KH
2543 (decode_coding_string): Set coding->src_multibyte and
2544 coding->dst_multibyte before calling detect_coding and detect_eol.
2545 Update them after some coding system is detected.
52283633 2546
d5b3eb1b
SM
25472000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2548
2549 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2550
2551 * keyboard.c (menu_bar_items, tool_bar_items):
2552 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2553
f7f8bb69
GM
25542000-12-13 Gerd Moellmann <gerd@gnu.org>
2555
52283633 2556 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
2557 New variables.
2558 (unwind_create_frame, unwind_create_tip_frame): New functions.
2559 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2560 while a frame is only partially constructed.
2561
2562 * xterm.h (x_free_frame_resources): Declare.
2563
2564 * xterm.c (x_free_frame_resources): New function.
2565 (x_destroy_window): Use it.
2566
e10da507
GM
2567 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2568 don't interrupt the update for pending input initially, i.e.
2569 update at least some lines.
2570
2571 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 2572
d5b3eb1b 2573 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2574
2575 * xfns.c (gray_bitmap_bits): Declare `char *'.
2576
90aa2856
GM
25772000-12-12 Gerd Moellmann <gerd@gnu.org>
2578
2579 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2580 lines start with a relief line.
2581
a308c9cd
DL
25822000-12-12 Dave Love <fx@gnu.org>
2583
2584 * window.c (Fdisplay_buffer): Doc fix.
2585 (Fwindow_list): Remove unused var.
2586
2587 * buffer.h (mmap_set_vars): Declare.
2588
2589 * window.h (Fset_window_point): Declare.
2590
d575011f
EZ
25912000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2592
bf6282d2 2593 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
2594 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
2595 variable `area'. When looking for a row under (X,Y), give up if some
2596 of the previous rows is not enabled.
d575011f 2597
ecf4d726
GM
25982000-12-12 Gerd Moellmann <gerd@gnu.org>
2599
2ebf6139
GM
2600 * window.c (Fset_window_point): If displaying cursors in windows
2601 other than the selected window, make sure redisplay updates
2602 other windows to show the new value of point in the window.
2603
2604 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2605
bfdb75ee
GM
2606 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2607 the buffer is the sole visible buffer when in the mini-buffer.
2608
52283633 2609 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
2610 Bind `inhibit-read-only' to t.
2611 (unwind_with_echo_area_buffer): Use AREF.
2612
c0006262
GM
2613 * xfns.c (Fx_hide_tip): Simplified.
2614
52283633
SM
2615 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
2616 instead of `1'.
e9a59cad 2617
ecf4d726
GM
2618 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2619
e5959a9a
GM
26202000-12-11 Gerd Moellmann <gerd@gnu.org>
2621
a3642e49 2622 * xfns.c (Fx_hide_tip): Fix last change.
52283633 2623
44b5a125
GM
2624 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2625 nothing to do. Bind inhibit-quit.
2626 (tip_frame): Make it a Lisp_Object.
2627 (x_create_tip_frame): Set tip_frame after it has been added to
2628 Vframe_list.
2629 (Fx_show_tip): Don't set tip_frame here.
2630
2631 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2632
2633 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2634 Lisp_Object.
2635
2636 * dispextern.h: Change external declaration of tip_frame.
2637
d990421f
GM
2638 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2639 return an empty string.
2640
4db87380
GM
2641 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2642 of the window's update_mode_line flag, since the former is set by
2643 force-mode-line-update, not the latter. This makes
2644 column-number-mode slightly faster.
52283633 2645
e5959a9a
GM
2646 * xdisp.c (try_window_id) <all changes above window start>:
2647 Set the cursor.
2648
169fe44e
GM
26492000-12-11 Paul Eggert <eggert@twinsun.com>
2650
2651 * config.in (HAVE_FTELLO): Remove.
2652 (HAVE_FSEEKO): Add.
2653 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2654 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2655 HAVE_FTELLO.
2656 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2657 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 2658
59ec59ae
MB
26592000-12-11 Miles Bader <miles@gnu.org>
2660
2661 * window.c (displayed_window_lines): Don't round up when
2662 converting empty space at bottom to lines.
ff904dd6
MB
2663 Handle non-newline-terminated final lines properly.
2664 (Fwindow_text_height): New function (used to be in lisp).
2665 (syms_of_window): Initialize it.
59ec59ae 2666
42ebfa31
SM
26672000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2668
2669 * syntax.c (scan_lists): Check that the right quote char has the
2670 right Sstring syntax when jumping over strings.
2671 (init_syntax_once): Use Smax rather than 13.
2672
5cdb3cf3
MB
26732000-12-09 Miles Bader <miles@gnu.org>
2674
2675 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2676 with PARTIALLY, inverting the sense.
2677 (window_scroll_pixel_based): Scroll partially visible lines into
2678 place if we hit the beginning or end of the buffer.
a12167c5
MB
2679 (displayed_window_lines): Don't include partially visible lines.
2680 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2681
842b2a94
GM
26822000-12-08 Gerd Moellmann <gerd@gnu.org>
2683
2684 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2685
2686 * tparam.c (tparam1): Change the way buffers are reallocated to be
2687 portable and less obfuscated.
2688
2689 * termcap.c (tgetent): Change the way buffers are reallocated to
2690 be portable and less obfuscated.
2691
2692 * macros.c (store_kbd_macro_char): Change the way buffers are
2693 reallocated to be portable and less obfuscated.
2694
2695 * lread.c (read1): Change the way buffers are reallocated to be
2696 portable and less obfuscated.
2697
2698 * doc.c (Fsubstitute_command_keys): Change the way buffers
2699 are reallocated so that it is portable.
2700
137cad7c
EZ
27012000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2702
2703 * dosfns.c (Ffile_system_info): New function.
2704 (syms_of_dosfns): Defsubr it.
2705
5c7f629c
SM
27062000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2707
2708 * alloc.c (gc_sweep): Add comment.
2709
959e647d
GM
27102000-12-07 Gerd Moellmann <gerd@gnu.org>
2711
52283633
SM
2712 * sound.c (vox_configure): Change order of ioctls.
2713 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
2714 Ignore errors when changing volume.
2715 (vox_close): Don't reset the device.
2716
926b7e5e
GM
2717 * process.c (read_process_output): Make sure the process marker's
2718 position is valid when the process buffer is changed in
2719 after-change functions. W3 does that.
52283633 2720
959e647d
GM
2721 * xfns.c (x_free_gcs): New function.
2722
2723 * xterm.h (x_free_gcs): Add prototype.
2724
2725 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2726 freeing GCs here.
2727
2728 * xterm.c (x_destroy_window): Call x_free_gcs so that
2729 resources of non-toolkit X windows will be freed.
2730
478ea067
AI
27312000-12-07 Andrew Innes <andrewi@gnu.org>
2732
2733 * w32fns.c (xlfd_charset_of_font): Fix last change.
2734
fbee3231
DL
27352000-12-06 Dave Love <fx@gnu.org>
2736
67292061
DL
2737 * md5.h (__P): Don't define -- it comes from config.h.
2738
fbee3231
DL
2739 * strftime.c: Change some #if foo to #ifdef foo.
2740
4ee87dbb
AI
27412000-12-06 Andrew Innes <andrewi@gnu.org>
2742
2743 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2744
52283633 2745 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 2746 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 2747 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 2748
9765b4a4
GM
27492000-12-06 Gerd Moellmann <gerd@gnu.org>
2750
d285b373
GM
2751 * alloc.c (gc_sweep): Prevent symbols read during loadup
2752 from being freed.
2753
384333ee
GM
2754 * xdisp.c (underlying_face_id): New function.
2755 (handle_face_prop, face_before_or_after_it_pos): Use it
2756 to determine the face ``under'' a string. Let strings inherit
2757 the face of the buffer under them.
2758
2759 * xfaces.c (face_at_string_position): Update function comment.
52283633 2760
d4b72d58
GM
2761 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2762 matrix if the window's left position has changed; we need to
2763 redraw it in this case.
2764
2765 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2766
e1d05387
GM
2767 * window.c (coordinates_in_window): Check mouse on mode-line or
2768 header-line first.
2769
eb1b0c74
GM
2770 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2771 advertized by the function documentation.
2772
d94d636f
GM
2773 * window.c (syms_of_window): Doc fix.
2774
3887b449
GM
2775 * sound.c (vox_configure): Set volume for left and right channel.
2776 (sound_cleanup): Return nil.
2777
efc8f57a
GM
2778 * xdisp.c (move_it_by_lines): Fix paren typo.
2779
9765b4a4
GM
2780 * xterm.c (x_load_font): Don't use the font's max_bounds for
2781 computing the height of the font. If max_bounds' ascent or
2782 descent are greater than the font's ascent or descent, this means
2783 glyphs overlap, which should be handled now by redisplay.
2784
6529ed87
GM
2785 * window.c (Veven_window_heights): New variable.
2786 (syms_of_window): DEFVAR_LISP it.
2787 (Fdisplay_buffer): Check Veven_window_heights before evening the
2788 window heights.
52283633 2789
0eb2ecde
MB
27902000-12-06 Miles Bader <miles@gnu.org>
2791
2792 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2793 update `default-frame-alist' instead of setting no frame parameters.
2794
03d7a167
KH
27952000-12-06 Kenichi Handa <handa@etl.go.jp>
2796
2797 * composite.c (update_compositions): Fix typo (use the correct
2798 variable).
2799
5f8803c2
JR
28002000-12-05 Jason Rumney <jasonr@gnu.org>
2801
2802 * md5.h: Remove underscores from function declarations.
2803 (__attribute__, __alignof__) [!__GNUC__]: Define.
2804
2805 * md5.c: Delay include of md5.h until after namespace cleaning.
2806
c28a075b
JR
2807 * makefile.w32-in (fns.o): Depend on md5.h
2808 (md5.o): New target.
2809 (sunfns.o): Remove.
2810
2811 * makefile.nt: Likewise.
2812
ff3c7056
JR
28132000-12-05 Jason Rumney <jasonr@altavista.net>
2814
2815 * w32term.c (expose_area): Complete last change.
2816
0c21eeeb
KR
28172000-12-05 Ken Raeburn <raeburn@gnu.org>
2818
2819 * minibuf.c: Include intervals.h.
2820
f201d732
JR
28212000-12-05 Jason Rumney <jasonr@gnu.org>
2822
2823 * w32term.c (x_produce_glyphs): If a font for a component of
2824 a composition is not found, use 1 pixel dot ascent and 0 dot
2825 descent value to avoid displaying terribly tall empty boxes.
2826 (expose_area): Pass x-coordinate relative to the exposed
2827 area to x_draw_glyphs instead of a window-relative coordinate.
2828
21999ab9
GM
28292000-12-05 Gerd Moellmann <gerd@gnu.org>
2830
4d2036e4
GM
2831 * xdisp.c (next_element_from_ellipsis): Save face before selective
2832 display in saved_face_id, and set face_before_selective_p.
2833 (reseat_1): Reset face_before_selective_p.
2834 (append_space, extend_face_to_end_of_line): If iterator's
2835 face_before_selective_p is set, use the face from saved_face_id.
2836 (extend_face_to_end_of_line): For tty frames, make sure to
2837 use the right face id when producing spaces at the end of
2838 the line.
2839
2840 * dispextern.h (struct it): Add face_before_selective_p.
2841
52be17cc
GM
2842 * keyboard.c (record_char): Don't record identical help-echo
2843 events in recent_keys.
2844
8a4f36cc
GM
2845 * xterm.c [USE_X_TOOLKIT]: Close the display.
2846 (xim_close_dpy): Handle case that the display has been closed.
2847
57d6e381
GM
2848 * xterm.c (x_destroy_window): Reset the frame's X window after
2849 destroying it.
2850
21999ab9
GM
2851 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2852 variable window_width.
2853 (line_draw_cost): Fix code skipping over spaces at the end of the
2854 line when must_write_spaces is not set.
2855 (scrolling_window): Fix code inserting runs in list of all runs.
2856
91372bb7
KH
28572000-12-05 Kenichi Handa <handa@etl.go.jp>
2858
2859 * coding.c (setup_coding_system): Be sure to initialize
2860 coding->category_idx.
2861
6c083b4c
GM
28622000-12-04 Gerd Moellmann <gerd@gnu.org>
2863
0c68ce6f 2864 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 2865
6452929e
GM
2866 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2867 area to x_draw_glyphs instead of a window-relative coordinate.
2868
d7f31e22
GM
2869 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2870 error in the message.
2871
ae18aa3b
GM
2872 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2873 timer after having read a key. It's not good for code reading
2874 several keys in a loop, like an input method.
2875
caa15ef7
GM
2876 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2877 record undo information for format-decode.
2878
2879 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2880 current buffer is read-only, not if it isn't.
2881
6c083b4c
GM
2882 * keyboard.c (record_char): Record `help-echo' input events
2883 in recent_keys only if they display some help. Don't record
2884 `help-echo' events as macro char.
2885
caa15ef7
GM
28862000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2887
2888 * editfns.c (save_excursion_restore): Don't move point
2889 in another window if it is showing the wrong buffer.
2890 Avoid the call to Fwindow_live_p, for speed.
2891
5a13529b
KH
28922000-12-04 Kenichi Handa <handa@etl.go.jp>
2893
e225faa7
KH
2894 * xfaces.c (struct font_name): New member registry_priority.
2895 (split_font_name): Initialize the above member to zero.
2896 (concat_font_list): New function.
2897 (font_list): Include fonts of all alternative registries.
2898 (FONT_POINT_SIZE_QUANTUM): New macro.
2899 (better_font_p): Ignore point size difference less than
2900 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2901
e89648b4
KH
2902 * xterm.c (x_produce_glyphs): If a font for a component of
2903 a composition is not found, use 1 pixel dot ascent and 0 dot
2904 descent value to avoid displaying terribly tall empty boxes.
2905
5a13529b
KH
2906 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2907
d7935eb6
KR
29082000-12-03 Ken Raeburn <raeburn@gnu.org>
2909
2910 * coding.h (code_convert_string1): Declare.
2911
2912 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2913
52283633 2914 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 2915
0dd5e255
JR
29162000-12-02 Jason Rumney <jasonr@gnu.org>
2917
2918 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2919 correctly for single byte character case.
2920 (w32_per_char_metric): Do not try to make any assumptions about
2921 the metrics of BDF fonts.
250cfece 2922 (x_estimate_mode_line_height): If `mode-line' face
52283633 2923 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
2924 (note_mouse_highlight): Change the cursor shape on the vertical
2925 border between windows [not enabled].
2926
2927 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2928
2929 * w32fns.c (Fx_create_frame): Reintroduce the call to
2930 face-set-after-frame-defaults.
2931 (Vx_window_horizontal_drag_shape): New variable.
2932 (syms_of_xfns): DEFVAR_LISP it.
2933 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2934 enabled].
0dd5e255 2935
b5d8d2ca
GM
29362000-12-02 Simon Josefsson <simon@josefsson.org>
2937
2938 * fns.c (Fmd5): Use a different logic to decide the coding system
2939 to use.
2940
2941 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2942
fbb87147
EZ
29432000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2944
52283633 2945 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 2946
447e9da0
GM
29472000-12-01 Gerd Moellmann <gerd@gnu.org>
2948
7708ced0
GM
2949 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2950 height for YNegative.
2951 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2952 height; also see comment there.
2953
447e9da0
GM
2954 * window.c (coordinates_in_window): Handle computations for
2955 positions on the vertical bar and fringes differently for
2956 window-system frames. Consider some pixels near the vertical bar
2957 as on the bar if the frame doesn't have vertical scroll bars.
2958 Associate positions between mode or header lines with the
2959 right window, the left one.
2960
86d1db20
JR
29612000-12-01 Jason Rumney <jasonr@gnu.org>
2962
2963 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2964
2965 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2966 invalid frame.
2967
a1d58e5b
GM
29682000-12-01 Gerd Moellmann <gerd@gnu.org>
2969
52283633 2970 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
2971 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2972 (save_window_save, Fset_window_configuration): Save/restore
2973 window's orig_top and orig_height.
2974
89c609af
JR
29752000-12-01 Jason Rumney <jasonr@gnu.org>
2976
4d177746 2977 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2978
89c609af
JR
2979 * w32fns.c (x_set_cursor_color): Fix last change.
2980
eccc05db
GM
29812000-11-30 Gerd Moellmann <gerd@gnu.org>
2982
31b6671b
GM
2983 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2984 sure that the next redisplay displays the minibuffer, so that
2985 the cursor will be replaced with what the minibuffer wants.
2986
eccc05db
GM
2987 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2988 #ifndef instead of using #if.
2989 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2990 USE_TOOLKIT_SCROLL_BARS is defined.
2991
162de750
JR
29922000-11-30 Jason Rumney <jasonr@gnu.org>
2993
2994 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2995 x_display_cursor.
2996
693c4692
GM
29972000-11-30 Gerd Moellmann <gerd@gnu.org>
2998
2999 * fns.c (Fmd5): Doc fix.
3000
b5d8d2ca 30012000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
3002
3003 * fns.c (Fmd5): New function.
3004 (syms_of_fns): Defsubr md5.
3005
3006 * Makefile.in (obj): Add md5.o
3007
b02cd40b
GM
30082000-11-30 Gerd Moellmann <gerd@gnu.org>
3009
edfb795e
GM
3010 * md5.h, md5.c: New files, taken from glibc.
3011
df3aedcf
GM
3012 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
3013
b02cd40b 3014 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 3015 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 3016
8b5176cd
SM
30172000-11-29 Stefan Monnier <monnier@cs.yale.edu>
3018
3019 * eval.c (Frun_hooks): Allow 0 arguments.
3020
346598f1
GM
30212000-11-29 Gerd Moellmann <gerd@gnu.org>
3022
f9396e03
GM
3023 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
3024 is over the menu bar widget, say it's not on the frame.
3025
4a967a9b
GM
3026 * xfns.c (Fx_create_frame): Reintroduce the call to
3027 face-set-after-frame-defaults.
3028
346598f1
GM
3029 * eval.c (Fsignal): Reset handling_signal.
3030
222456a1
JR
30312000-11-28 Jason Rumney <jasonr@gnu.org>
3032
3033 * w32menu.c (add_menu_item): Reset menu item text when changing
3034 type to radio button.
3035
8049ddc0
GM
30362000-11-28 Gerd Moellmann <gerd@gnu.org>
3037
346598f1 3038 * xselect.c: Update copyright.
f4f4ee4d 3039
bebe4a2c
GM
3040 * window.c (coordinates_in_window): If on a mode or header line,
3041 but sufficiently close to its start, return ``on vertical
3042 border''. This gives us a way to drag windows horizontally when
3043 using toolkit scroll bars.
3044
3045 * xterm.c (note_mouse_highlight): Change the cursor shape
3046 on the vertical border between windows.
3047
3048 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
3049
3050 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
3051 (syms_of_xfns): DEFVAR_LISP it.
3052 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
3053
8d2c2642
GM
3054 * textprop.c (text_read_only): New function.
3055 (verify_interval_modification): Use it instead of signaling
3056 `text-read-only'. This makes it easier to catch this error
52283633 3057 with a breakpoint.:
8d2c2642 3058
52283633 3059 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
3060 not end of line, which includes CR.
3061
5a2bae6c
KH
30622000-11-28 Kenichi Handa <handa@etl.go.jp>
3063
3064 * coding.c (Ffind_coding_systems_region_internal): Be sure to
3065 include no-conversion.
3066
ae31f84d
JR
30672000-11-27 Jason Rumney <jasonr@gnu.org>
3068
3069 * w32fns.c (w32_load_system_font): Always mark font as double byte
3070 if codepage is unicode.
3071
67f1cf4c
GM
30722000-11-27 Gerd Moellmann <gerd@gnu.org>
3073
4a74d071 3074 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 3075 just consume it to avoid unintended skipping over invisible text below.
4a74d071 3076
902ae620
GM
3077 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
3078 `vertical-line', `mode-line' and `header-line' events.
3079
3080 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
3081 of a character, a TAB for instance. This is easier than to set
3082 up the iterator exactly, and it's not a frequent case, so the
3083 additional effort wouldn't really pay off.
3084
c1e279c2
AC
30852000-11-26 Andrew Choi <akochoi@i-cable.com>
3086
67f1cf4c 3087 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
3088 init_window_once.
3089
a609568a
JR
30902000-11-25 Jason Rumney <jasonr@gnu.org>
3091
52283633
SM
3092 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
3093 Args to window_from_coordinates should be pixel coordinates.
48b21762 3094
a609568a
JR
3095 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3096 redisplay handles them properly.
3097
a658d039
MB
30982000-11-25 Miles Bader <miles@gnu.org>
3099
3100 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3101
d3416cca
JR
31022000-11-24 Jason Rumney <jasonr@gnu.org>
3103
3104 * w32.c (init_environment): Set LANG environment variable based on
3105 locale settings, if not set.
3106
3107 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3108 making tool bar smaller. When clearing the frame, also
3109 clear current matrices. Clear frame when tool bar disappears.
3110 Don't use more lines for the tool-bar than is available.
3111 (x_change_window_heights): New function.
3112
ba193890
GM
31132000-11-24 Gerd Moellmann <gerd@gnu.org>
3114
2be8f184
GM
3115 * xdisp.c (init_from_display_pos): If POS says we're already after
3116 an overlay string ending at POS, make sure to pop the iterator
3117 because it will be in front of that overlay string. When POS is
3118 ZV, we've thereby also ``processed'' overlay strings at ZV.
3119
ba193890
GM
3120 * xfaces.c (lface_from_face_name): Function comment fix.
3121
1862a24e
MB
31222000-11-24 Miles Bader <miles@gnu.org>
3123
3124 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3125 apply `mode-line-inverse-video' -- zero means force display using
3126 the default face, non-zero means display using the specialized face.
3127 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3128
f07fa1b8
KH
31292000-11-23 Kenichi Handa <handa@etl.go.jp>
3130
3131 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3132 hard coded `4'.
3133
2bcdf662
EZ
31342000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3135
3136 * coding.c (decode_coding_emacs_mule): Fix the case of
3137 CODING_EOL_LF, which used uninitialized value of c.
3138
ba8299ff
SM
31392000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3140
3141 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3142
f4117c4d
GM
31432000-11-22 Gerd Moellmann <gerd@gnu.org>
3144
03e757c1
GM
3145 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3146 buffer object.
3147
f4117c4d
GM
3148 * frame.h (struct frame): Replace desired_tool_bar_items,
3149 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3150 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3151
3152 * frame.c (make_frame): Change initialization of tool bar
3153 items accordingly.
3154
3155 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3156 Change references to members deleted from struct frame to use the
f4117c4d
GM
3157 new ones.
3158
3159 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 3160 references to members deleted from struct frame to use the new ones.
f4117c4d 3161
52283633 3162 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
3163
3164 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3165
3166 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3167 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3168 from struct frame to use the new ones.
3169
f8e2f3f2
MB
31702000-11-23 Miles Bader <miles@gnu.org>
3171
3172 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3173 the face's inverse-video attribute, rather than overriding it.
3174
60e8e0a5
GM
31752000-11-22 Gerd Moellmann <gerd@gnu.org>
3176
3177 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3178 making tool bar smaller.
3179
92dd1b29
DL
31802000-11-22 Dave Love <fx@gnu.org>
3181
3182 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3183
e672fdce
MB
31842000-11-22 Miles Bader <miles@gnu.org>
3185
3a17d6cc
MB
3186 * keyboard.c (Vminibuffer_message_timeout): New variable.
3187 (command_loop_1): Use it to determine message timeout.
3188 (syms_of_keyboard): Initialize it.
3189
60e8e0a5 3190 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3191
e9655d81
KH
31922000-11-22 Kenichi Handa <handa@etl.go.jp>
3193
3194 * sysdep.c: Move the code for declaring h_errno after #include
3195 <netdb.h>.
3196
77270fac
GM
31972000-11-21 Gerd Moellmann <gerd@gnu.org>
3198
cd913aae
GM
3199 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3200 the menu bar when the tooltip is unmapped.
3201
77270fac
GM
3202 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3203 sole visible buffer when we're currently in the mini-buffer, and
3204 give up if so.
52283633 3205
556635d6
JR
32062000-11-21 Jason Rumney <jasonr@gnu.org>
3207
3208 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3209 put on the clipboard.
3210 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3211 copy of what Emacs last put there. If they are the same, do not
52283633 3212 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 3213
5b7bde64
MB
32142000-11-22 Miles Bader <miles@gnu.org>
3215
3216 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3217 (syms_of_minibuf): Initialize it.
3218 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3219 to prompt, don't make read-only.
3220
ff23e1dd
GM
32212000-11-21 Gerd Moellmann <gerd@gnu.org>
3222
52283633
SM
3223 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
3224 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 3225
7aaf4388
GM
3226 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3227
f5f47add 3228 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3229
ff23e1dd
GM
3230 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3231
37c35586
KH
32322000-11-21 Kenichi Handa <handa@etl.go.jp>
3233
3234 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3235 ... #endif scope.
3236
ff9ab414
GM
32372000-11-20 Gerd Moellmann <gerd@gnu.org>
3238
52283633 3239 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
3240 screen supports it.
3241
29a01b72
GM
3242 * s/gnu-linux.h: Don't use `#cpu'.
3243
09dfdf85
GM
3244 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3245 not defined in mman.h.
3246
52283633 3247 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
3248 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3249 and store an index in the XClientMessageEvent. Storing a
3250 Lisp_Object or pointer can fail on a 64 bit system, since X only
3251 transfers 32 bits.
52283633
SM
3252 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
3253
81459ac9
DL
32542000-11-20 Dave Love <fx@gnu.org>
3255
3256 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3257
56c13ae6
GM
32582000-11-20 Gerd Moellmann <gerd@gnu.org>
3259
3260 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3261
495a6df3
KH
32622000-11-20 Kenichi Handa <handa@etl.go.jp>
3263
2bcf3714
KH
3264 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3265 by WIDTH.
3266
495a6df3
KH
3267 * alloc.c (make_string): Fix previous change. Be sure to make
3268 unibyte string correctly.
3269
6d950f4c
GM
32702000-11-19 Gerd Moellmann <gerd@gnu.org>
3271
39b39373
GM
3272 * window.c (Fwindow_list): Change parameter list to be XEmacs
3273 compatible.
3274 (window_list_1): New function.
3275 (window_loop): Use it instead of Fwindow_list.
3276
b95b34e5
GM
3277 * sysdep.c (emacs_ospeed): New variable.
3278 (toplevel): Don't declare ospeed extern.
3279 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3280
3281 * termcap.c (ospeed): Remove.
3282 (tputs) [!emacs]: Remove unused code.
3283 (tgetent): Avoid a compiler warning.
3284
e83dc917
GM
3285 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3286 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3287 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3288
3289 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3290 removed.
3291 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3292 Take the X display as additional argument.
3293 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3294 `Widget' is a pointer type that's not easily stored in Lisp_Object
3295 form in a portable way.
52283633 3296
6d950f4c
GM
3297 * dispnew.c (update_text_area): Fix last change.
3298
e47306e6
GM
32992000-11-18 Gerd Moellmann <gerd@gnu.org>
3300
fb3cd89b
GM
3301 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3302
3303 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3304 clear current matrices.
3305
edaa9aed
GM
3306 * buffer.c (mmap_enlarge): Don't print a message on stderr
3307 if mapping new memory at the end of the existing region fails.
3308
e47306e6
GM
3309 * dispnew.c (update_text_area): Don't skip over equal glyphs
3310 when the last current glyph overlaps the glyph to its right.
3311
509633e3
MB
33122000-11-18 Miles Bader <miles@gnu.org>
3313
3314 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3315 lines that *end* with "..." too (that's the most common case!).
3316
d392e9c5
GM
33172000-11-18 Gerd Moellmann <gerd@gnu.org>
3318
67988445
GM
3319 * xdisp.c (resize_mini_window): Temporarily change to the
3320 mini-window's buffer if necessary.
1bfdbe43 3321
d392e9c5
GM
3322 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3323 the tooltip obscures less text under it.
3324
33252000-11-17 Gerd Moellmann <gerd@gnu.org>
3326
3327 * puresize.h (BASE_PURESIZE): Increase to 700000.
3328
92bb977f
JR
33292000-11-18 Jason Rumney <jasonr@gnu.org>
3330
3331 * w32term.c (w32_draw_bitmap): Use face to set colors.
3332
26fbf20b
DL
33332000-11-17 Dave Love <fx@gnu.org>
3334
3335 * lread.c (Fload): Fix #ifdef for pcc.
3336
100b593b
GM
33372000-11-17 Gerd Moellmann <gerd@gnu.org>
3338
3339 * xdisp.c (pos_visible_p): Compute the default character height
3340 differently.
3341
a288d0d1
GM
33422000-11-16 Gerd Moellmann <gerd@gnu.org>
3343
cac94de6 3344 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 3345 knowing the line's height; use the default font's height in that case.
cac94de6 3346
a288d0d1
GM
3347 * xfaces.c (weight_table): Add `demi' with the same meaning as
3348 `demibold'.
3349
981fb6f6
KH
33502000-11-16 Kenichi Handa <handa@etl.go.jp>
3351
2cca872d 3352 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3353 (clear_glyph_row): Delete local static variable null_row.
3354
e5fa381b
JR
33552000-11-15 Jason Rumney <jasonr@gnu.org>
3356
3357 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3358 (w32_alloc_lighter_color): Use new brightness calculations from
3359 xterm.c. Scale delta to be in the range expected by W32.
3360 (w32_draw_relief_rect): Use frame relief colors.
3361
8e42f043
GM
33622000-11-15 Gerd Moellmann <gerd@gnu.org>
3363
6d133d1f
GM
3364 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3365 (Qinhibit_default_face_x_resources): New variable.
3366 (syms_of_frame): Initialize it.
3367 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3368
3369 * xdisp.c (pos_visible_p): Improve function comment.
3370
3371 * lisp.h (BINDING_STACK_SIZE): New macro.
3372
8e42f043
GM
3373 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3374 reading the directory if readdir returns null and errno is EAGAIN
3375 or EINTR.
3376
e8c87124
SM
33772000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3378
3379 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3380 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3381 Set amount_to_scroll to max of dx and scroll_step so that
3382 scroll-conservatively doesn't defeat scroll-step>1.
3383 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3384 scroll-conservatively for line-at-a-time scrolling.
3385
5f0c971d
GM
33862000-11-14 Gerd Moellmann <gerd@gnu.org>
3387
3388 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3389 extra argument.
3390
3391 * xdisp.c (current_mode_line_height, current_header_line_height):
3392 New variables.
3393 (init_xdisp): Initialize them.
3394 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3395 and use exact mode line heights if it is set.
3396
3397 * lisp.h (pos_visible_p): Change prototype.
3398
3399 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3400 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3401 and current_header_line_height first.
52283633
SM
3402 (current_mode_line_height, current_header_line_height):
3403 Declare extern.
5f0c971d 3404
d7361edf
MB
34052000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3406
3407 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3408 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3409 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3410
ee5e440a
MB
34112000-11-14 Miles Bader <miles@gnu.org>
3412
3413 * xterm.c (x_alloc_lighter_color): Include an additive component
3414 too for dark colors, because FACTOR isn't enough.
3415 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3416 New macros.
3417
5ca020fc
GM
34182000-11-13 Gerd Moellmann <gerd@gnu.org>
3419
3420 * keyboard.c (show_help_echo): Call message3_nolog with number of
3421 bytes in the help string as 2nd parameter, instead of the number
3422 of characters.
3423
9d348294
MB
34242000-11-13 Miles Bader <miles@gnu.org>
3425
3426 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3427 (Fload): Use new openp return protocol.
3428 Don't try to use Vload_source_file_function to load .elc files.
3429 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3430 openp return protocol.
3431 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3432
1729bb9a
KH
34332000-11-11 Kenichi Handa <handa@etl.go.jp>
3434
4e677396
KH
3435 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3436
3437 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3438 Defined these macros.
3439 (NLIST_STRUCT): Avoid re-defining it.
3440
1729bb9a
KH
3441 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3442 -I/usr/contrib/X11R6/include.
3443 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3444
a82fe213
JR
34452000-11-10 Jason Rumney <jasonr@gnu.org>
3446
3447 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3448
3449 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3450 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3451
3452 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3453 (Qw32_charset_vietnamese): New symbol.
3454 (xlfd_charset_of_font): New function.
3455 (w32_load_system_font): Use it.
3456 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3457 when Vw32_charset_info_alist is nil to ensure default face always
3458 has font. Use Fcar and Fcdr for safety.
3459 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3460 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3461 pseudo-codepages for special cases.
3462 (w32_to_x_font): New parameter to allow charset portion to be
3463 specified where there is many to one mapping. Callers changed.
3464 (w32_list_fonts): Avoid listing fonts that won't display.
3465
52d89894
GM
34662000-11-10 Gerd Moellmann <gerd@gnu.org>
3467
3468 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3469 (font_list_1): Renamed from font_list.
3470 (font_list): New function, trying alternative registries from
3471 Vface_alternative_font_registry_alist.
3472 (Finternal_set_alternative_font_registry_alist): New function.
3473 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
3474 Vface_alternative_font_registry_alist.
3475 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 3476
651cd3da
KR
34772000-11-09 Ken Raeburn <raeburn@gnu.org>
3478
3479 * lisp.h (Flooking_at): Declare.
3480
388ac098
GM
34812000-11-09 Gerd Moellmann <gerd@gnu.org>
3482
778fbc46 3483 * dired.c (directory_files_internal): Fix a braino.
52283633 3484
388ac098
GM
3485 * dired.c (directory_files_internal): Add missing GCPRO's.
3486 Some cleanup.
3487
ecaedde1
GM
34882000-11-08 Gerd Moellmann <gerd@gnu.org>
3489
f7eb32aa
GM
3490 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3491 (resize_mini_window): Return quickly if Vresize_mini_window is
3492 nil. Don't return if Vmax_mini_window_height is nil.
3493
3494 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3495 (syms_of_xdisp): Initialize them.
3496 (resize_mini_window): Act according to the setting of
3497 Vresize_mini_window.
3498 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3499
ecaedde1
GM
3500 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3501 scroll bar widget after configuring it, so that it will appear at
3502 the right position from the start.
3503 (XTredeem_scroll_bar): Cleaned up.
3504
3747ef2c
KH
35052000-11-08 Kenichi Handa <handa@etl.go.jp>
3506
3507 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3508 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3509 division by two.
3510
3511 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3512
03391420
DL
35132000-11-07 Dave Love <fx@gnu.org>
3514
7758f1c1 3515 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3516
3517 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3518
b5de343d
GM
35192000-11-07 Gerd Moellmann <gerd@gnu.org>
3520
acad3c0b
GM
3521 * window.c (Fset_window_configuration): Don't try to preserve
3522 point in the current buffer, if that buffer is displayed in more
3523 than one window.
3524
b5de343d
GM
3525 * xfaces.c (lookup_named_face): If default face isn't realized,
3526 try to realize it. Return -1 if not successful.
3527 (Fx_list_fonts): Handle case that face cannot be determined.
3528 (Fface_font): Likewise.
3529
cdb1fe49
GM
35302000-11-06 Gerd Moellmann <gerd@gnu.org>
3531
3532 * window.c (displayed_window_lines): Detect partially
3533 visible lines at the bottom correctly.
3534
d3a67486
SM
35352000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3536
3537 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3538 when ensuring we don't do visit in indirect buffer.
3539
ff8dd5d5
KH
35402000-11-06 Kenichi Handa <handa@etl.go.jp>
3541
3542 * composite.h (compose_chars_in_text): Add prototype.
3543
3544 * composite.c (Vcomposition_function_table): New variable.
3545 (Qcomposition_function_table): New variable.
3546 (run_composition_function): Call
3547 Vcompose_chars_after_function with three arguments.
3548 (compose_chars_in_text): New function.
3549 (syms_of_composite): Modified the doc-string of
3550 Vcompose_chars_after_function. Declare composition-function-table
3551 as a lisp variable, and initialize it.
3552
3553 * xfns.c (x_encode_text): Suppress producing escape sequences for
3554 composition.
3555
3556 * xselect.c: Include composite.h.
3557 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3558
d1145f85
AI
35592000-11-05 Andrew Innes <andrewi@gnu.org>
3560
3561 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3562
3563 * sysdep.c (read_input_waiting): Remove extraneous argument to
3564 read_socket_hook.
3565
3566 * w32fns.c (Fx_server_version): Include w32_build_number in the
3567 return list.
3568
3569 * w32heap.c (w32_build_number): New variable.
3570 (cache_system_info): Set it.
3571
3572 * w32heap.h (w32_build_number): Add extern.
3573
3574 * emacs.c (syms_of_emacs): Update docstring for
3575 system-configuration, to reflect the actual usage on MS-Windows.
3576
e85ee976
GM
35772000-10-31 Gerd Moellmann <gerd@gnu.org>
3578
26dcb81b
GM
3579 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3580 process idle timers while waiting for another event.
3581
52283633 3582 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
3583 the default face are colored.
3584
e85ee976
GM
3585 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3586 window height hasn't changed.
3587
01b220b6
JR
35882000-10-31 Jason Rumney <jasonr@gnu.org>
3589
3590 * w32term.c (x_produce_glyphs): Handle composite characters.
3591 (x_draw_glyph_string_foreground)
3592 (x_draw_composite_glyph_string_foreground): Restore old font.
3593
4e6b7204
MB
35942000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3595
3596 * minibuf.c (read_minibuf): Reset the undo history just before
3597 starting the recursive-edit.
3598
d4358b37
GM
35992000-10-30 Gerd Moellmann <gerd@gnu.org>
3600
563f68f1
GM
3601 * xfaces.c (menu_face_change_count): New variable.
3602 (Finternal_set_lisp_face_attribute): Increment it for changes
3603 of the `menu' face.
3604 (realize_basic_faces): Reflect changes in the `menu' faces
3605 in menu bars.
3606
82e274d1
GM
3607 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3608 dy obtained from the iterator's y-position after moving from
3609 scroll_margin_pos to PT; see comment there.
52283633 3610
0dbf9fd2
GM
3611 * xdisp.c (safe_eval_handler): Call add_to_log.
3612
906b3b14
GM
3613 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3614 is not a symbol or string.
3615
d4358b37
GM
3616 * xdisp.c (echo_area_display): Don't perform a display update from
3617 inside redisplay. The update will happen anyway at the end of
3618 redisplay, and it can confuse redisplay (GC messages while
3619 redisplaying, for instance.)
3620
70c825df
SM
36212000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3622
cf9b4b0b
SM
3623 * xrdb.c (x_load_resources): Use the class name in the defaults.
3624
70c825df
SM
3625 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3626 (regex_compile): Catch bogus \(\1\).
3627
a1d34b1e
GM
36282000-10-30 Gerd Moellmann <gerd@gnu.org>
3629
cae71efe
GM
3630 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3631 RGB values.
52283633 3632
35efe0a1
GM
3633 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3634 we have a color cache, check that the cached color equals the
3635 allocated color. If not, clear the color cache.
3636
1d3baf74
GM
3637 * window.c (displayed_window_lines): Change buffers if necessary.
3638 Fix computation of displayed lines.
3639
a1d34b1e
GM
3640 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3641 update_menu_bindings to DEFVAR_BOOL.
3642
70737ea9
KH
36432000-10-30 Kenichi Handa <handa@etl.go.jp>
3644
70c825df 3645 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3646
fa0cb51d
KH
3647 * puresize.h (BASE_PURESIZE): Increase to 680000.
3648
70737ea9
KH
3649 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3650
0e4c08e8
JR
36512000-10-29 Jason Rumney <jasonr@gnu.org>
3652
3653 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3654
3655 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3656 (w32_cache_char_metrics): Handle possibility that 'x' does not
3657 exist in a BDF font.
3658 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3659
3660 * w32bdf.h (bdffont): Add nchars.
3661
3662 * w32bdf.c (set_bdf_font_info): Set it.
3663 (w32_BDF_TextOut): Swap byte order of double byte characters.
3664 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3665
45b84006
EZ
36662000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3667
3668 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3669 don't override the colors in frame's param_alist, unless they are
3670 unspecified.
3671
3672 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3673 reverse the effect of the highlight flag.
3674
caf9deee
KR
36752000-10-27 Ken Raeburn <raeburn@gnu.org>
3676
3677 * window.h (Fwindow_live_p): Declare.
3678
ae0b9b46
KR
3679 * undo.c (record_delete): Check that last_undo_buffer is really a
3680 buffer before applying XBUFFER to it.
3681
3682 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3683 Faref.
3684
02067692
SM
36852000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3686
3687 * lisp.h (KEYMAPP): New macro.
3688 (get_keymap): Remove.
3689 (get_keymap_1): Rename get_keymap.
3690
3691 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3692
3693 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3694
3695 * xmenu.c (single_submenu): Use KEYMAPP.
3696 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3697 Use KEYMAPP rather than Fkeymapp.
3698
3699 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3700
3701 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3702 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3703 Use KEYMAPP rather than Fkeymapp.
3704 (single_submenu): Use KEYMAPP.
3705 (w32_menu_show, w32_dialog_show): Use TRUE.
3706
3707 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3708
3709 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3710 (Fkeymapp): Use KEYMAPP.
3711 (get_keymap): Rename from get_keymap_1. Remove old def.
3712 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3713 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3714 (Fminor_mode_key_binding): Don't raise an error if the binding
3715 is not a keymap.
3716 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3717 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3718
3719 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3720 Allow Vspecial_event_map to be autoloaded.
3721 (menu_bar_items): Fetch the keymap rather than using keymapp.
3722 (menu_bar_one_keymap): No need to follow func-indirect any more.
3723 (parse_menu_item): get_keymap_1 -> get_keymap.
3724 (tool_bar_items): Fetch the keymap rather than using keymapp.
3725 (read_key_sequence): Use KEYMAPP.
3726
3727 * intervals.c (get_local_map): Use get_keymap rather than following
3728 function-indirections explicitly.
3729
3730 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3731
f9d80af3
JR
37322000-10-27 Jason Rumney <jasonr@gnu.org>
3733
3734 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3735 point, as Windows has oversized fonts.
3736
3737 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3738
a3ba27da
GM
37392000-10-27 Gerd Moellmann <gerd@gnu.org>
3740
3741 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3742 (freehook, reallochook): Handle null pointer arguments.
3743 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3744
aa3b80cc
SM
37452000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3746
3747 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3748 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3749 Giving in to popular pressure to shut up the compiler with casts.
3750
e24e84cc
GM
37512000-10-27 Gerd Moellmann <gerd@gnu.org>
3752
3753 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3754 signed value, and use a default value computed from the font's
3755 maximum descent.
3756
05ea7ef2
MB
37572000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3758
3759 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3760 that specify a negative underline position can still use underlines.
3761
3762 * window.c (Fpos_visible_in_window_p): Make POS default to
3763 WINDOW's point, not the current buffer's point.
3764
0b95284b
DL
37652000-10-26 Dave Love <fx@gnu.org>
3766
3767 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3768 when it's necessary.
3769
6c5b90af
GM
37702000-10-26 Gerd Moellmann <gerd@gnu.org>
3771
8b6d9dc9
GM
3772 * window.c (size_window): Compute size difference from sum of old
3773 child window sizes instead of from parent's size.
3774
6bc92b2e
GM
3775 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3776 Handle obscured lines at the top of the window.
3777
3778 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3779 down after the last error condition check.
3780
6c5b90af
GM
3781 * frame.c (Fdelete_frame): Run delete-frame-hook.
3782
42f92d4d
KH
37832000-10-26 Kenichi Handa <handa@etl.go.jp>
3784
3785 * coding.c (decode_coding): Fix previous change (check also
3786 CODING_MODE_LAST_BLOCK).
3787
d97151cb
SM
37882000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3789
e7efc503
SM
3790 * regex.c: More `unsigned char' -> `re_char' changes.
3791 Also change several `int' into `re_wchar_t'.
3792 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3793 (PUSH_FAILURE_POINTER): Don't cast any more.
3794 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3795 We want GCC to complain, since this piece of code makes
3796 re_match non-reentrant, which *should* be fixed.
3797 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3798 (EXTEND_BUFFER): Use RETALLOC.
3799 (SET_LIST_BIT): Don't cast.
3800 (re_wchar_t): New type.
3801 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3802 that those two functions will always properly return.
3803 (IMMEDIATE_QUIT_CHECK): Cast to void.
3804 (analyse_first): Use recursion rather than an explicit stack.
3805 (re_compile_fastmap): Can't fail anymore.
3806 (re_search_2): Don't check re_compile_fastmap for failure.
3807 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3808 Now also sets the new value (passed in a new argument).
3809 (re_match_2_internal): Use it.
3810 Also, use a new var `reg' of type size_t when looping through regs
3811 rather than reuse the inappropriate `mcnt'.
3812
d97151cb
SM
3813 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3814 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3815 (where_is_internal): Renamed from Fwhere_is_internal.
3816 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3817 (Fwhere_is_internal): New function wrapping where_is_internal.
3818 (where_is_internal_1): Handle the case where we're filling the cache.
3819 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3820
d5789b65
MB
38212000-10-25 Miles Bader <miles@gnu.org>
3822
3823 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3824
4ecda532
GM
38252000-10-25 Gerd Moellmann <gerd@gnu.org>
3826
3827 * window.c (pos_fully_visible_p): Removed.
3828 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3829 if position is visible and/or fully visible.
3830
3831 * lisp.h (pos_visible_p): Add prototype.
3832
3833 * xdisp.c (pos_visible_p): New function.
3834
68c3a137
KH
38352000-10-25 Kenichi Handa <handa@etl.go.jp>
3836
3837 * process.c (send_process): If OBJECT is t, it means that the data
3838 is from C string, but we should encode it. Before calling
3839 setup_raw_text_coding_system, be sure to flush out data by the
3840 previous coding system.
3841
7ae1c032
MB
38422000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3843
ff4dcd4b
MB
3844 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3845 assignment of startpos to prev when startpos == pos.
3846
7ae1c032
MB
3847 * editfns.c (find_field): Set the field stickiness correctly from
3848 overlay fields. Use renamed `text_property_stickiness'.
3849 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3850 Only check text properties, not overlays.
7ae1c032
MB
3851 * textprop.c (get_char_property_and_overlay): New function.
3852 (Fget_char_property): Use it.
3853 * intervals.h (get_char_property_and_overlay): Add declaration.
3854
49801145
SM
38552000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3856
3857 * keymap.c: Use AREF, ASET and ASIZE macros.
3858 (Fmake_sparse_keymap): Docstring fix.
3859 (synkey): Remove.
3860 (shadow_lookup): Move up.
3861 Handle the case where lookup-key returns an integer.
3862 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3863 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3864 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3865 Simplify/rewrite the keymap-finding code.
3866 Add check for command shadowing, using shadow_lookup.
3867
39e776cd
SM
38682000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3869
3870 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3871 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3872 a symbol.
3873
2488aba5
AI
38742000-10-24 Andrew Innes <andrewi@gnu.org>
3875
3876 * dired.c (directory_files_internal_unwind): New function.
3877 (directory_files_internal): Use it to ensure closedir is called
3878 even if expand-file-name or file-attributes throw, eg. because of
3879 a user interrupt. Also enable immediate_quit while calling
3880 re_search, so that matching can be interrupted as well.
3881
b94fdf61
AI
38822000-10-24 Andrew Innes <andrewi@gnu.org>
3883
3884 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3885 NT-Emacs only.
3886 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3887 so that re_search functions only quit when callers expect them to.
3888
38892000-10-24 Kenichi Handa <handa@etl.go.jp>
3890
3891 * regex.c (regex_compile): Change the way of handling a range from
3892 a char less than 256 to a char not less than 256.
3893
1946f901
GM
38942000-10-24 Gerd Moellmann <gerd@gnu.org>
3895
7ae2f10f
GM
3896 * window.c (size_window): Prevent setting window's width or
3897 height to a negative value (esp. with XSETFASTINT).
3898
5dcab13e
GM
3899 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3900 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3901 (protect_malloc_state) [GC_MALLOC_CHECK &&
3902 GC_PROTECT_MALLOC_STATE]: New function.
3903 (PROTECT_MALLOC_STATE): New macro.
3904 (__malloc_initialize, morecore, _malloc_internal)
3905 (_free_internal) _realloc_internal): Use it to make _heapinfo
3906 read-only outside of gmalloc.
3907
63e1b552
GM
3908 * keymap.c: Update copyright.
3909
1946f901
GM
3910 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3911 a symbol.
3912
4fa09beb
GM
39132000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3914
3915 * filelock.c (unlock_all_files): Use unlock_file to expand each
3916 buffer's file_truename before trying remove its lock file.
3917
23afac01
EZ
39182000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3919
3920 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3921 or CRLF, decode EOLs.
3922
04448b95
KH
39232000-10-24 Kenichi Handa <handa@etl.go.jp>
3924
3925 * window.c (Fdisplay_buffer): Fix doc.
3926
3090a5a5
JR
39272000-10-23 Jason Rumney <jasonr@gnu.org>
3928
3929 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3930 ASCII font of default fontset on Windows.
3931
3932 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3933 xterm.c comment below).
3934
3935 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3936
a83fee2c
GM
39372000-10-23 Gerd Moellmann <gerd@gnu.org>
3938
3939 * xterm.c (x_connection_closed): Reset handling_signal.
3940
52283633 3941 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 3942
6ffdb539
MB
39432000-10-23 Miles Bader <miles@gnu.org>
3944
3945 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3946 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3947 maintain old behavior.
3948 * minibuf.c (Fminibuffer_complete): Likewise.
3949
7f1c969b
MB
39502000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3951
3952 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3953 that when a font can't be exactly centered, it errs up rather than
3954 down.
3955
23afac01 39562000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 3957
52283633 3958 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 3959
1a578e9b
AC
39602000-10-23 Andrew Choi <akochoi@i-cable.com>
3961
3962 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3963
3964 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3965 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3966
3967 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3968 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3969 syms_of_search, x_term_init, and init_keyboard before calling
3970 init_window_once. Also, call syms_of_xmenu.
3971
3972 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3973 default fontset to Monaco.
3974
3975 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3976 NewMacWindow and DisposeMacWindow.
3977 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3978 instead of calling NewMacWindow and setting fields of
3979 f->output_data.mac directly. Call init_frame_faces.
3980 (Fdelete_frame) [macintosh]: Remove unused code.
3981 (Fmodify_frame_parameters) [macintosh]: Call
3982 x_set_frame_parameters instead of mac_set_frame_parameters.
3983
3984 * frame.h [macintosh]: Define menu_bar_lines field in struct
3985 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3986
3987 * keyboard.c [macintosh]: Include macterm.h.
3988 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3989 and menu_bar_activate_event type events as for X and NT.
3990 (make_lispy_event) [macintosh]: Construct lisp events of type
3991 MENU_BAR_EVENT as for X and NT.
3992
3993 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3994 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3995 (sys_subshell) [macintosh]: Remove definition entirely.
3996 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3997 Vwindow_system_version here. Remove initialization of
3998 Vx_bitmap_file_path.
3999 (read_input_waiting): Correct the number of parameters passed to
4000 read_socket_hook.
4001 Move all Macintosh functions to mac/mac.c.
4002
4003 * term.c [macintosh]: Include macterm.h.
4004
4005 * window.c [macintosh]: Include macterm.h.
4006
4007 * xdisp.c [macintosh]: Include macterm.h. Declare
4008 set_frame_menubar and pending_menu_activation.
4009 (echo_area_display) [macintosh]: Do not return if terminal frame
4010 is the selected frame.
4011 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
4012 Allow only the selected frame to set menu bar.
4013 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
4014 calling FRAME_EXTERNAL_MENU_BAR (f).
4015 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
4016
4017 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
4018 and check_x. Declare XCreateGC. Define x_create_gc and
4019 x_free_gc. Initialize font_sort_order.
4020 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
4021 but call x_list_fonts instead of w32_list_fonts.
4022 (Finternal_face_x_get_resource) [macintosh]: Do not call
4023 display_x_get_resource.
4024 (prepare_face_for_display) [macintosh]: Set xgcv.font.
4025 (realize_x_face) [macintosh]: Load the font if it is specified in
4026 ATTRS.
52283633 4027 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 4028
1ffbabe3
SM
40292000-10-22 Stefan Monnier <monnier@cs.yale.edu>
4030
4031 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
4032 is nil: since we go to the end of submap anyway, we'd end up
4033 setting nil to nil.
4034 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
4035 doesn't obey autoload.
4036
bed43f1d
EZ
40372000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4038
1ffbabe3 4039 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 4040
ea4233a7
JR
40412000-10-21 Jason Rumney <jasonr@gnu.org>
4042
4043 * w32term.c (w32_cache_char_metrics): Double check that font is
4044 really fixed pitch before trusting tmPitchAndFamily.
4045
f3d3c491
AI
40462000-10-21 Andrew Innes <andrewi@gnu.org>
4047
4048 * w32gui.h (w32_char_font_type): Move enum from w32term.c
4049
4050 * w32term.h: Extern decl for w32_cache_char_metrics.
4051
4052 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
4053
4054 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
4055 (w32_unload_font): Free per_char array if present.
4056
4057 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
4058 cached information in emulated XFontStruct to handle common cases
4059 quickly. Do not allocate XCharStruct for return.
4060 (w32_native_per_char_metric): New function.
4061 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
4062 allocating one.
4063 (x_produce_glyphs): Don't get an HDC. Change calls to
4064 w32_per_char_metric to match arg change above. Remove calls to
4065 free results.
4066 (w32_get_glyph_overhangs): Ditto.
4067 (w32_cache_char_metrics): New function.
4068
4069 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
4070 ($(BLD)/casefiddle.$(O)): Remove compile command.
4071 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
4072 ($(BLD)/dispnew.obj):
4073 ($(BLD)/keyboard.obj):
4074 ($(BLD)/w32inevt.obj):
4075 ($(BLD)/w32bdf.obj):
4076 ($(BLD)/alloc.obj):
4077 ($(BLD)/buffer.obj):
4078 ($(BLD)/editfns.obj):
4079 ($(BLD)/emacs.obj):
4080 ($(BLD)/fileio.obj):
4081 ($(BLD)/fns.obj):
4082 ($(BLD)/indent.obj):
4083 ($(BLD)/insdel.obj):
4084 ($(BLD)/intervals.obj):
4085 ($(BLD)/minibuf.obj):
4086 ($(BLD)/print.obj):
4087 ($(BLD)/scroll.obj):
4088 ($(BLD)/sysdep.obj):
4089 ($(BLD)/textprop.obj):
4090 ($(BLD)/widget.obj):
f3d3c491
AI
4091 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4092 ($(BLD)/term.obj): Add dependency on dispextern.h.
4093
52283633
SM
4094 * makefile.nt ($(BLD)\dispnew.obj):
4095 ($(BLD)\keyboard.obj):
4096 ($(BLD)\w32inevt.obj):
4097 ($(BLD)\w32bdf.obj):
4098 ($(BLD)\alloc.obj):
4099 ($(BLD)\buffer.obj):
4100 ($(BLD)\editfns.obj):
4101 ($(BLD)\emacs.obj):
4102 ($(BLD)\fileio.obj):
4103 ($(BLD)\fns.obj):
4104 ($(BLD)\indent.obj):
4105 ($(BLD)\insdel.obj):
4106 ($(BLD)\intervals.obj):
4107 ($(BLD)\minibuf.obj):
4108 ($(BLD)\print.obj):
4109 ($(BLD)\scroll.obj):
4110 ($(BLD)\sysdep.obj):
4111 ($(BLD)\textprop.obj):
4112 ($(BLD)\widget.obj):
f3d3c491
AI
4113 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4114 ($(BLD)\term.obj): Add dependency on dispextern.h
4115
18ad4821
EZ
41162000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4117
4118 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4119 with an additional argument of Qt.
4120
de54681a
MB
41212000-10-21 Miles Bader <miles@gnu.org>
4122
4123 * window.c (pos_fully_visible_in_window_p): New function.
4124 (Fpos_visible_in_window_p): Add FULLY argument.
4125 Use pos_fully_visible_in_window_p.
4126 (window_scroll_pixel_based, window_scroll_line_based): Update
4127 calls to Fpos_visible_in_window_p.
4128 * lisp.h (Fpos_visible_in_window_p): Update prototype
4129
13c844fb
GM
41302000-10-20 Gerd Moellmann <gerd@gnu.org>
4131
4132 * alloc.c (toplevel): Conditionalize compilation of mem_*
4133 functions differently.
52283633 4134
d9506268
JR
41352000-10-20 Jason Rumney <jasonr@gnu.org>
4136
4137 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4138 mem_init where it used to be. mem_z etc not defined otherwise.
4139
8094989b
GM
41402000-10-20 Gerd Moellmann <gerd@gnu.org>
4141
4142 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4143 GC_MALLOC_CHECK.
4144 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4145 structure definition and related variabled to the top of the file.
4146 Include this code when GC_MALLOC_CHECK is defined.
4147 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4148 register/unregister allocated region.
4149 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4150 which isn't allocated.
4151 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4152 something which is already in use.
4153 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4154 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4155 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4156 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4157
4158 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4159 _malloc_internal instead of malloc.
4160 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4161 of free.
4162
ea456eb4
AI
41632000-10-20 Andrew Innes <andrewi@gnu.org>
4164
4165 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4166 Windows.
4167 (my_strftime) <macro>: Don't use macro arg list when redefining as
4168 _strftime_copytm.
4169 (my_strftime) <function>: Supply 0 as ut argument.
4170
e64c3a75
JR
41712000-10-19 Jason Rumney <jasonr@altavista.net>
4172
4173 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4174 including dispextern.h, as it stops faces from working.
4175
4176 * w32fns.c (Fx_create_frame): Don't bother calling
4177 face-set-after-frame-default since the caller does it for us
4178 anyway. Clean up calls to x_get_arg to be consistent with X.
4179
4180 * w32term.c (x_produce_glyphs): Handle
4181 unibyte_display_via_language_environment correctly.
4182 (w32_draw_box_rect): Fix the calculation of width and height.
4183
4184 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4185 as it has stopped working.
4186 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4187 menu-bar.
4188
17401c97
GM
41892000-10-19 Gerd Moellmann <gerd@gnu.org>
4190
4191 * eval.c (skip_debugger): Prevent a compiler warning.
4192 (Fcondition_case): Likewise.
4193 (Fbacktrace_frame): Use a null interactive spec.
4194
773272d8
KH
41952000-10-19 Kenichi Handa <handa@etl.go.jp>
4196
4197 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4198
a42943e9
GM
41992000-10-18 Gerd Moellmann <gerd@gnu.org>
4200
e50517d9
GM
4201 * strftime.c: Sync with glibc, file version 1.78.
4202 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4203 should no longer be used according to ISO 8601.
4204
9035a35a
GM
4205 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4206 no map for meta_prefix_char, don't try to use it as a keymap.
4207 Instead, if T_OK is non-zero, look up a default binding, if any,
4208 otherwise, if T_OK is zero, return nil.
4209
a42943e9
GM
4210 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4211 (x_to_xcolors, png_load): Use x_query_color.
4212
52283633
SM
4213 * xterm.c (x_color_cells, x_query_colors, x_query_color):
4214 New functions.
a42943e9
GM
4215 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4216 which can be slow.
4217 (x_copy_color, x_alloc_lighter_color): Likewise.
4218
4219 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4220 (x_query_color, x_query_colors): Add prototype.
4221
4222 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4223 check_string_bytes only if not noninteractive, increase count to 50.
4224
00de2987
MB
42252000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4226
4227 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4228 markers correctly.
4229
54918e2b
GM
42302000-10-17 Gerd Moellmann <gerd@gnu.org>
4231
1f0b3fd2
GM
4232 * alloc.c (pure_bytes_used): Renamed from pureptr.
4233 (ALIGN): New macro.
4234 (pure_alloc): New function.
4235 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4236 Use it.
4237 (Fpurecopy): Use PURE_POINTER_P.
4238
68c5d1db
GM
4239 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4240 PT has moved backward.
52283633 4241
9a038881
GM
4242 * xdisp.c (cursor_row_p): Take continued lines into account.
4243
361b097f
GM
4244 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4245 string's size_byte.
4246 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4247 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4248 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4249 string allocated.
4250
54918e2b
GM
4251 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4252 of selective display off while searching for the next line start.
4253
03ed0806
KH
42542000-10-17 Kenichi Handa <handa@etl.go.jp>
4255
4256 * Makefile.in (term.o): Depend on dispextern.h.
4257
7e05cdaf
SM
42582000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4259
4260 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4261
a6801fd1
GM
42622000-10-16 Gerd Moellmann <gerd@gnu.org>
4263
483de32b
GM
4264 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4265 the iterator at the beginning, so that they can be set later on,
4266 for instance in reseat_at_next_visible_line_start, without being
4267 overwritten.
4268
a6801fd1
GM
4269 * xfns.c (pbm_format): Add :foreground and :background keywords.
4270 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 4271 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 4272
dbf1fcc1
EZ
42732000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4274
4275 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4276
52283633 4277 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
4278
4279 * msdos.c (IT_set_face): Compare highlighted face with the default
4280 face, and invert colors if these faces' colors are identical.
4281 (Fmsdos_remember_default_colors): Don't swap foreground and
4282 background colors in initial_colors[].
4283 (IT_set_frame_parameters): Don't swap frame's foreground and
4284 background pixels. If ALIST includes "(reverse . t)", swap
4285 foreground-color and background-color properties in frame's
4286 param_alist. If the original frame's param_alist doesn't specify
4287 the colors, store unspecified-fg and unspecified-bg, reversed if
4288 required.
4289
4290 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4291 the colors are unspecified and reversed, reverse fore- and back-
4292 ground in the returned value.
4293 (Fframe_parameter): Ditto.
4294
b41fe2c3 42952000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 4296
3a6b59d9
GM
4297 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4298 get_last_unchanged_at_beg_row.
4299 (find_first_unchanged_at_end_row): Renamed from
4300 get_first_unchanged_at_end_row.
4301 (find_first_unchanged_at_end_row): Convert assertions to
4302 unconditional tests which abort. When looking for a row in
4303 unchanged text, don't go further back than first_text_row.
4304
b41fe2c3
GM
4305 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4306 Don't add in the last line's height when deciding if the new
4307 position is below the scroll margin.
9d1af64f 4308
b41fe2c3 43092000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4310
4311 * editfns.c (Fconstrain_to_field): Check carefully for field
4312 boundaries if either OLD_POS or NEW_POS has a non-nil field
4313 property, even if they're the same.
4314
c412cb7b
KH
43152000-10-16 Kenichi Handa <handa@etl.go.jp>
4316
4317 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4318 height for XFillRectangle.
4319
5586f3eb
SM
43202000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4321
4322 * syntax.c (Fstring_to_syntax): New function extracted from
4323 Fmodify_syntax_entry.
4324 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4325 (skip_chars, Fforward_comment): Remove unused variables.
4326 (syms_of_syntax): Add defsubr for string-to-syntax.
4327 (describe_syntax): Add code for comment and string fences.
4328
db785038
SM
43292000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4330
4331 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4332 Do the meta->esc mapping. Call get_keyelt before returning.
4333 Start scanning from the second element (the first is always `keymap')
4334 to make it easier to detect when we reach a parent map.
4335 Handle the case of inheriting from a symbol whose function is a map.
4336 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4337 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4338 (get_keyelt, Flookup_key): Update call to access_keymap.
4339 Remove the meta->esc mappings.
4340 (define_as_prefix): Delete old disabled code.
4341 (menu_item_p): New function.
4342 (where_is_internal_1): Skip over the few remaining menu items.
4343 * lisp.h (access_keymap): Update prototype.
4344 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4345 Update call to access_keymap.
4346 (follow_key, read_key_sequence): Update calls to access_keymap.
4347 Remove the meta->esc mappings.
4348
cafafe0b
GM
43492000-10-13 Gerd Moellmann <gerd@gnu.org>
4350
a2e2a7f6
GM
4351 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4352 with additional argument.
4353
cafafe0b
GM
4354 * xdisp.c (cursor_row_p): New function.
4355 (try_cursor_movement, display_line): Use it.
52283633 4356
cafafe0b
GM
4357 * xdisp.c (append_space): Also save/restore iterator's current
4358 character and its length.
4359
4360 * xdisp.c (init_from_display_pos): Add an assertion.
4361 (handle_stop): Don't set iterator's add_overlay_start.
4362 (handle_invisible_prop): Likewise.
4363 (load_overlay_strings): If text under an overlay is invisible,
4364 take both before- and after-strings into account when the iterator
4365 is positioned either at the start or at the end of the overlay.
4366 (forward_to_next_line_start): Rewritten.
4367 (reseat_at_next_visible_line_start): Rewritten.
4368 (set_iterator_to_next): Add parameter RESEAT_P.
4369
4370 * dispextern.h (struct it): Remove member add_overlay_start.
4371 (set_iterator_to_next): Change prototype.
4372
c744452b
KH
43732000-10-13 Kenichi Handa <handa@etl.go.jp>
4374
4375 * coding.c (code_convert_region): Be sure to initialize
4376 coding->category_idx.
e4a3f4e1
KH
4377 (decode_coding_string): Set coding->src_multibyte and
4378 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4379 (encode_coding_string): Set coding->src_multibyte and
4380 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4381
321fd26f
SM
43822000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4383
4384 * xfns.c (Fx_create_frame): Don't bother calling
4385 face-set-after-frame-default since the caller does it for us anyway.
4386
76832439
EZ
43872000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4388
4389 * window.c (coordinates_in_window): Fix detection of vertical line
4390 on character terminals.
4391
2483cf58
GM
43922000-10-12 Gerd Moellmann <gerd@gnu.org>
4393
4394 * editfns.c (save_excursion_save): Additionally record the
4395 selected window.
4396 (save_excursion_restore): If buffer was visible in a window, and a
4397 different window was selected, and the old selected window is
4398 still live, restore point in that window.
4399
eb991b25
KH
44002000-10-12 Kenichi Handa <handa@etl.go.jp>
4401
8a0eba09
KH
4402 * xterm.c (x_produce_glyphs): Handle
4403 unibyte_display_via_language_environment correctly.
4404
20401fcc
KH
4405 * regex.c (regex_compile): Change the way of handling a range from
4406 unibyte char to multibyte char.
4407
4408 * syntax.c (skip_chars): Change the way of handling a range from
4409 unibyte char to multibyte char.
4410
eb991b25
KH
4411 * process.c (read_process_output): Cancel previous change.
4412
365dd325
EZ
44132000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4414
c1b096cb
EZ
4415 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4416
365dd325
EZ
4417 * charset.c (Ffind_charset_string): Doc fix.
4418 (Ffind_charset_region): Doc fix.
4419
eb483c2b
KH
44202000-10-11 Kenichi Handa <handa@mule.m17n.org>
4421
4422 * process.c (read_process_output): Fix previous change. Adjust
4423 multibyteness of text to insert in a buffer by
52283633 4424 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 4425
b40bfb99
AS
44262000-10-10 Andreas Schwab <schwab@suse.de>
4427
4428 * alloc.c (mark_object): Remove all workarounds installed on
4429 1993-08-08.
4430
caff31d4
KH
44312000-10-10 Kenichi Handa <handa@etl.go.jp>
4432
52283633 4433 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
4434 (base64_encode_1): Make it work for a text of multibyte form.
4435 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4436 case. Don't call str_to_multibyte because base64_decode_1
4437 produces correct multibyte form for eight-bit codes.
52283633 4438 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
4439 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4440 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4441 codes.
4442
4443 * charset.h (CHAR_STRING): Optimized for single byte characters.
4444
cba026ef
AS
44452000-10-09 Andreas Schwab <schwab@suse.de>
4446
4447 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4448 -1 after socket is closed, to fall through to error processing.
4449
1e21fe48
EZ
44502000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4451
4452 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4453 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4454 background-color, change also the colors of the default face for
4455 this frame.
4456
a640322e
EZ
44572000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4458
4459 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4460 them extern (they are defined on xfaces.c).
4461 (syms_of_msdos): Don't intern and don't staticpro
4462 Qbackground_color and Qforeground_color.
4463
a115794c
EZ
44642000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4465
4466 * frame.c (Fframe_parameter): For non-windowed frames, if
4467 f->param_alist says foreground or background color is unspecified,
4468 call tty_color_name to return the color name computed from the
4469 frame's current colors.
4470
f5533b63
DL
44712000-10-06 Dave Love <fx@gnu.org>
4472
4473 * terminfo.c (ospeed): Don't declare.
4474
4475 * sysdep.c: Don't include string.h.
4476 (h_errno): Declare conditional also on TRY_AGAIN.
4477
4478 * charset.c (Ffind_charset_string): Doc fix.
4479
52283633 4480 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
4481 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4482 error messages.
4483
2b06561a
DL
44842000-10-05 Dave Love <fx@gnu.org>
4485
4486 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4487 position like menu-bar.
4488
ca839c85
GM
44892000-10-05 Gerd Moellmann <gerd@gnu.org>
4490
4491 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4492
4493 * xdisp.c (handle_single_display_prop): Use safe_call1.
4494 (safe_call): Renamed from call_function.
4495 (safe_call1): New function.
4496 (handle_fontified_prop): Use safe_call1 instead of call1.
4497 (safe_eval): Renamed from eval_form.
4498 (safe_eval_handler): Renamed from eval_handler.
4499 (handle_single_display_prop, display_mode_element): Use safe_eval
4500 instead of eval_form.
4501
4502 * xfaces.c (merge_face_heights): Use safe_call instead of
4503 call_function.
4504
4505 * keyboard.c (show_help_echo): Use safe_call instead of
4506 call_function; use safe_eval instead of eval_form.
4507
4508 * lisp.h (safe_call): Renamed from call_function.
4509 (safe_eval): Renamed from eval_form.
4510 (safe_call1): Add prototype.
4511
a3489ece
MB
45122000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4513
4514 * xfns.c (image_ascent): Rearrange ascent calculation for the
4515 has-a-font case.
4516
35810b6f
SM
45172000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4518
4519 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4520 (where_is_internal_1): Don't bother ignoring menu-items any more.
4521
3dc78168
GM
45222000-10-04 Gerd Moellmann <gerd@gnu.org>
4523
4524 * keyboard.c (update_menu_bindings): New variable.
4525 (parse_menu_item): Use AREF. If update_menu_bindings
4526 is 0, don't update menu bindings.
4527 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4528
1efc2bb9
EZ
45292000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4530
4531 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4532 to `mark_object'.
4533
3f679f55
SM
45342000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4535
4536 * syntax.c (forw_comment): Match nestedness of ender/starter.
4537 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4538 (prev_char_comstart_first): Remove.
4539 (back_comment): Check two-char comment markers more carefully
4540 to better handle overlapping cases like *//* or /* */* */ ...
4541 Match nestedness of ender/starter.
4542
2021ab61
DL
45432000-10-02 Dave Love <fx@gnu.org>
4544
4545 * config.in (HAVE_GAI_STRERROR): Add undef.
4546
4547 * process.c (Fopen_network_stream): Use it.
4548
4549 * m/alpha.h (NO_REMAP): Don't define.
4550
64e6cc18
GM
45512000-10-02 Gerd Moellmann <gerd@gnu.org>
4552
4553 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4554 return with a string converted to an integer or vice versa when
4555 Vmocklisp_arguments is t.
4556 (Fsignal): Likewise. The function can return for `quit'.
4557 (struct gcpro): Declare member `var' to point to a volatile
4558 Lisp_Object.
4559
4560 * eval.c (error): Prevent compiler warning.
4561
b1904cd9
SM
45622000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4563
4564 * keymap.c (keymap_memberp): New function.
4565 (Fset_keymap_parent): Use it.
4566 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4567 Use keymap_memberp to avoid creating cycles.
4568 (access_keymap): Use KEYMAPP.
4569
71c9ec51
GM
45702000-09-30 Gerd Moellmann <gerd@gnu.org>
4571
4572 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4573 gai_strerror. Make sure xerrno is set if connect fails. Improve
4574 error recovery.
71c9ec51 4575
c70c6b58
JR
45762000-09-29 Jason Rumney <jasonr@gnu.org>
4577
4578 * w32term.c (w32_char_font_type, w32_encode_char)
4579 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4580 (w32_bdf_per_char_metric): New function.
4581 (w32_per_char_metric): Use it.
4582 (x_draw_glyph_string_background): Always draw background for BDF
4583 glyphs.
4584
4585 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4586 GDI object which is a scarce resource.
4587
4588 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4589 (get_quoted_string): Fix limit on memchr search.
4590 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4591 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4592 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4593 (get_cached_font_char, cache_char_offset): Use macro
4594 BDF_CODEPOINT_RANGE_COVER_P.
4595 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4596 (clear_cached_bitmap_slots): New function.
4597 (GET_HEX_VALUE): G-Z, g-z are not hex.
4598 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4599 (get_bitmap_with_cache): Use new cache implementation.
4600 (create_offscreen_bitmap): New function.
4601 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4602
4603 * w32term.c (x_produce_glyphs): If the distance from the current
4604 position to the next tab stop is less than a canonical character
4605 width, use the tab stop after that.
4606 (x_draw_glyphs): Handle case START and END are out of bounds more
4607 carefully.
4608 (x_clear_mouse_face): Block/unblock input.
4609 (x_display_and_set_cursor): Don't show a hollow box cursor for
4610 buffers whose cursor_type is nil.
4611
fe01239f
GM
46122000-09-29 Gerd Moellmann <gerd@gnu.org>
4613
52283633 4614 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
4615
4616 * dispextern.h (updating_frame): Declare extern.
4617
e7c52f1f
AS
46182000-09-29 Andreas Schwab <schwab@suse.de>
4619
4620 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4621
de6e1f7c
GM
46222000-09-29 Gerd Moellmann <gerd@gnu.org>
4623
25126faa
GM
4624 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4625 use its function definition.
4626 (tool_bar_items): Likewise.
4627
de6e1f7c 4628 * lisp.h (fatal): Declare NO_RETURN.
52283633 4629
454ee39b
KH
46302000-09-29 Kenichi Handa <handa@etl.go.jp>
4631
4632 * keymap.c: Remove the line "#undef NULL".
4633
96301c5f
GM
46342000-09-28 Gerd Moellmann <gerd@gnu.org>
4635
52283633 4636 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 4637
efffeeb4
DL
46382000-09-28 Dave Love <fx@gnu.org>
4639
ecb8b666
DL
4640 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4641
dc3cd20f
DL
4642 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4643
4644 * .gdbinit (xreload): Note its need on GNU/Linux.
4645
efffeeb4
DL
4646 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4647 r_alloc, r_alloc_free.
4648
8610d903
KH
46492000-09-28 Kenichi Handa <handa@etl.go.jp>
4650
4651 * syntax.c (skip_chars): Handle negation correctly.
4652
8901d1ac
GM
46532000-09-27 Gerd Moellmann <gerd@gnu.org>
4654
6f22f1ad
GM
4655 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4656 with non-zero FORCE_P argument.
4657
52283633 4658 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
4659 Add assertions.
4660
4661 * xdisp.c (window_box_height): Add an assertion.
4662
4663 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4664 tool-bar than is available.
4665 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4666
36f1966f
DL
46672000-09-27 Dave Love <fx@gnu.org>
4668
efffeeb4 4669 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4670
31d929e5
GM
46712000-09-26 Gerd Moellmann <gerd@gnu.org>
4672
c98863bf
GM
4673 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4674 instead of BITS_PER_INT.
4675 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4676 EMACS_UINT, respectively.
4677 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4678
4679 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4680
4681 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4682
77072ab1
GM
4683 * window.c (freeze_window_starts): Construct last argument for
4684 foreach_window differently.
4685
4686 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4687
4688 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4689 EMACS_UINT instead of `int' and `unsigned int'.
4690 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4691
4692 * frame.h (struct frame): Make the `nothing' member of union
4693 output_data an EMACS_INT.
4694
52283633 4695 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
4696 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4697 size in the sdata structure.
4698 (SDATA_NBYTES, SDATA_DATA): New macros.
4699 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4700 differently for the different layout of the sdata structure.
4701 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4702 in sdata.
4703 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4704 Check that size recorded in the string size and size recorded in
4705 the sdata structure agree.
4706
3e60b029
DL
47072000-09-25 Dave Love <fx@gnu.org>
4708
4709 * buffer.c: Include stdio.h.
4710
4711 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 4712
3e60b029
DL
4713 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4714
4715 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 4716 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
4717 (__malloc_extra_blocks): Declare as __malloc_size_t.
4718
8ff16b4e
GM
47192000-09-25 Gerd Moellmann <gerd@gnu.org>
4720
755a2ccd
GM
4721 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4722
d8b4516f
GM
4723 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4724 (read_char): If help-echo is showing, preserve the echo area
4725 when redisplaying.
4726
4727 * xdisp.c (help_echo_showing_p): New variable.
4728 (set_message): Reset it to 0.
4729 (init_xdisp): Initialize help_echo_showing_p.
4730
4731 * dispextern.h (help_echo_showing_p): Declare extern.
4732
4733 * config.in: Fix typo in __GNUC_MINOR__.
4734
4735 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4736
b11af2dd
GM
4737 * s/freebsd.h (POSIX_SIGNALS): Define.
4738
8ff16b4e
GM
4739 * xterm.c (x_clear_mouse_face): Block/unblock input.
4740
844eb643
DL
47412000-09-24 Dave Love <fx@gnu.org>
4742
4743 * fns.c (base64_encode_1): Fix last change.
4744
b30ab1b3
GM
47452000-09-22 Gerd Moellmann <gerd@gnu.org>
4746
4747 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4748
4749 * xdisp.c (try_window_reusing_current_matrix): More fixes
4750 for the case window has a header-line.
4751
c6cbe5f0
DL
47522000-09-22 Dave Love <fx@gnu.org>
4753
4c7c1f3f
DL
4754 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4755 a doc string.
4756
4757 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4758
c6cbe5f0
DL
4759 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4760
550a625e
GM
47612000-09-21 Gerd Moellmann <gerd@gnu.org>
4762
4c7c1f3f 4763 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4764 for GCC >= 2.5.
4765
52283633
SM
4766 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
4767 Declare NO_RETURN.
fca99116 4768
80d26f99
GM
4769 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4770 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4771 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4772 warnings.
52283633 4773
80d26f99
GM
4774 * marker.c (byte_char_debug_check): Return void.
4775
623a0aae
GM
4776 * xfns.c (Fx_create_frame): Set default frame parameter value
4777 for tool-bar-lines to 1.
4778
4779 * dispnew.c (scrolling_window): Compare y-positions of rows
4780 equal at the start. Some simplification.
4781
4782 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4783 reused rows' y-position in the case window has a header-line, and
4784 new window start is greater than old window start.
4785
42ac0ae5
GM
4786 * process.c (process_sent_to): New variable.
4787 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4788 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4789 Declare more parameters volatile.
4790
550a625e
GM
4791 * lread.c (Vrecursive_load_depth_limit): New variable.
4792 (Fload): Check recursive loads whose recursion depth exceeds
4793 Vrecursive_load_depth_limit.
4794 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4795
8320414c
GM
47962000-09-20 Gerd Moellmann <gerd@gnu.org>
4797
f46c275e
GM
4798 * fileio.c (Fread_file_name): Doc fix.
4799
4800 * editfns.c (Fmessage_or_box): Doc fix.
4801
4802 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4803
b7e11c5b 4804 * xfns.c (xbm_scan): Allow C-style comments.
52283633 4805
8320414c
GM
4806 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4807 symbols are specified, add color translations to the cache.
52283633 4808 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
4809 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4810 xpm_cache_color.
4811 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4812 structures to xpm_init_color_cache.
4813
da1608d9
GM
48142000-09-19 Gerd Moellmann <gerd@gnu.org>
4815
52283633 4816 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 4817
6badfa25
AI
48182000-09-19 Andrew Innes <andrewi@gnu.org>
4819
4820 * makefile.nt (bootstrap-emacs): Don't change directory.
4821
3a5f42bb
KH
48222000-09-19 Kenichi Handa <handa@etl.go.jp>
4823
1b7649bd
KH
4824 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4825
3a5f42bb
KH
4826 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4827 If output buffer is too small, signal an appropriated error.
4828
9f83cf0b
DL
48292000-09-18 Dave Love <fx@gnu.org>
4830
52283633 4831 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
4832 (current_active_maps): Remove redundant get_local_map call.
4833
28c7826c
GM
48342000-09-18 Gerd Moellmann <gerd@gnu.org>
4835
5cefa566
GM
4836 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4837 cursor for buffers whose cursor_type is nil.
52283633 4838
6fed3546
GM
4839 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4840 a feature to implement that is already implemented.
4841 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4842 warnings.
4843
4844 * xfns.c (x_clear_image_1): New function.
4845 (x_clear_image): Use it.
52283633 4846 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 4847
05b1f851
GM
4848 * dispnew.c (update_window): Move test for invisible lines
4849 at the top to update_window_line.
4850 (update_window_line): Handle invisible lines here.
4851
f4779de9
GM
4852 * xfns.c (clear_image_cache): Clear current matrices of all
4853 frames sharing an image cache. Block input while freeing
4854 images. Fix timestamp comparison.
4855 (x_clear_image): Also free the mask.
4856
28c7826c
GM
4857 * xfns.c (lookup_image): Block input while loading the image so
4858 that we won't get interrupted in a state where the image isn't yet
4859 set up completely.
4860 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4861 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4862 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 4863 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 4864
b7412313
GM
48652000-09-16 Gerd Moellmann <gerd@gnu.org>
4866
4867 * dispnew.c (update_window): Make sure to make desired rows
4868 current even if they are completely invisible at the top
4869 of a window.
4870
47e351a3
GM
48712000-09-15 Gerd Moellmann <gerd@gnu.org>
4872
7f8f1edc
GM
4873 * xfns.c (lookup_image): Build mask before applying an algorithm.
4874 Recognize algorithm `disabled'.
4875 (cross_disabled_images): New variable.
4876 (COLOR_INTENSITY): New macro.
4877 (x_detect_edges): Use COLOR_INTENSITY.
4878 (x_disable_image): New function.
4879 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4880
4881 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4882 disabled state, don't apply an image transformation algorithm if
4883 the user specified an image for the disabled state. Use
28c7826c 4884 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4885 user hasn't specified an image.
4886
ebb8f116
GM
4887 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4888 allocation functions with the XPM lib.
4889 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4890 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4891 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4892 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 4893 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
4894 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4895 functions, if possible, because these handle color allocation
4896 failure more gracefully.
4897 (Fimage_mask_p): New function.
4898
47e351a3
GM
4899 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4900 (Qedge_detection, Qheuristic): New symbols.
4901 (syms_of_xfns): Initialize new symbols.
4902 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4903 `algorithm (edge-detection ...)'.
4904 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4905 (tiff_format, gif_format, gs_format): Add `:mask'.
4906 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4907 (GIF_MASK, GS_MASK): New enumerators.
4908 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4909 (emboss_matrix, laplace_matrix): New variables.
4910 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4911 (x_edge_detection): New functions.
4912 (x_laplace): Rewritten in terms of x_detect_edges.
4913 (x_build_heuristic_mask): If image has a mask, free it.
4914
fe83b953
AI
49152000-09-14 Andrew Innes <andrewi@gnu.org>
4916
4917 * makefile.w32-in: Revert to Unix line endings.
4918
3021e816
AI
49192000-09-14 Andrew Innes <andrewi@gnu.org>
4920
4921 * makefile.w32-in: Standardize indentation somewhat.
4922 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4923 cater for differences between shells.
4924
4925 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4926
2a32b5ea
GM
49272000-09-14 Gerd Moellmann <gerd@gnu.org>
4928
4929 * xterm.c (x_produce_glyphs): If the distance from the current
4930 position to the next tab stop is less than a canonical character
4931 width, use the tab stop after that.
4932
b4331e96
DL
49332000-09-14 Dave Love <fx@gnu.org>
4934
4935 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4936
ef9e4345
GM
49372000-09-14 Gerd Moellmann <gerd@gnu.org>
4938
085536c2
GM
4939 * xdisp.c (handle_fontified_prop): While running fontification
4940 functions, bind `fontification-functions' and
4941 `after-change-functions' to nil.
4942
ef9e4345
GM
4943 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4944 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4945
4946 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4947
4948 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4949 USE_MMAP_FOR_BUFFERS.
4950
4951 * insdel.c (make_gap): Use enlarge_buffer_text.
4952
4953 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4954 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4955 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4956 from former r_alloc_* functions in ralloc.c.
52283633 4957 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
4958 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4959 (mmap_init) [REL_ALLOC_MMAP]: New function.
4960 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4961 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4962 BUFFER_FREE.
4963
4964 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4965 (enlarge_buffer_text): Add prototype.
4966
4967 * ralloc.c: Remove everything having to do with the use of mmap.
4968
f8608968
GM
49692000-09-13 Gerd Moellmann <gerd@gnu.org>
4970
2a494b2d
GM
4971 * sound.c (Fplay_sound): Doc fix.
4972
8c907a56
GM
4973 * keyboard.c: Avoid some more compiler warnings.
4974 (parse_tool_bar_item): Ignore cached key bindings.
4975
f8608968
GM
4976 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4977 and allocation of Lisp data.
4978
6ab70e9a
GM
49792000-09-12 Gerd Moellmann <gerd@gnu.org>
4980
d12d0a9b
GM
4981 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4982 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4983 defaults first.
4984
6ab70e9a
GM
4985 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4986
63c36c3c
KH
49872000-09-12 Miyashita Hisashi <himi@meadowy.org>
4988
4989 * ccl.c: Comment fixed.
4990 (MAX_MAP_SET_LEVEL): Increased to 30.
4991 (PUSH_MAPPING_STACK): Enclose with do-while block.
4992 (POP_MAPPING_STACK): Likewise.
4993 (stack_idx_of_map_multiple): New variable.
4994 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4995 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 4996 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
4997 (ccl_driver) <CCL_MapSingle>: Likewise.
4998 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4999 with the case where looking up process reaches to the end of
5000 map-set, and call CCL programs as the above change.
5001
7ee3bd7b
GM
50022000-09-11 Gerd Moellmann <gerd@gnu.org>
5003
8ec8a5ec
GM
5004 * xfns.c (png_load, jpeg_load): Declare some variables volatile
5005 that might be clobbered by longjmp.
5006 (check_x_display_info, x_decode_color, create_frame_xic)
5007 (Fx_display_backing_store, Fx_display_visual_class)
52283633 5008 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 5009
f74b0705
GM
5010 * lread.c (init_lread): Set Vloads_in_progress to nil.
5011 (Fload): Show list of recursively loaded files, when signaling an
5012 error.
5013
7ee3bd7b
GM
5014 * lread.c (Vloads_in_progress): New variable.
5015 (record_load_unwind): New function.
5016 (Fload): Check for recursive loads.
5017 (syms_of_lread): Initialize Vloads_in_progress.
5018 (read_integer, read1): Avoid some compiler warnings.
5019
5020 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
5021 compiler warnings.
5022
974e1e5b
MB
50232000-09-11 Miles Bader <miles@gnu.org>
5024
5025 * editfns.c (Fbuffer_string): Doc fix.
5026
9824c4e3
GM
50272000-09-10 Gerd Moellmann <gerd@gnu.org>
5028
5029 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
5030
6a72fdd1
KR
50312000-09-09 Ken Raeburn <raeburn@gnu.org>
5032
5033 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
5034 whether to include other header files.
5035
28e6fb66
GM
50362000-09-09 Gerd Moellmann <gerd@gnu.org>
5037
52283633 5038 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 5039 by Fmemq as a boolean.
28e6fb66 5040
7f8b6551
SM
50412000-09-08 Stefan Monnier <monnier@cs.yale.edu>
5042
5043 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
5044
a8710abf
GM
50452000-09-08 Gerd Moellmann <gerd@gnu.org>
5046
d1a02881
GM
5047 * ralloc.c (mmap_fd): Remove initializer which can make it
5048 read-only in a dumped Emacs.
5049 (mmap_fd_1): New variable.
5050 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
5051 restore it from there.
5052 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
5053 unconditionally so that mmap_fd can be initialized there.
5054 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
5055 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
5056 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
5057
c454aac1
GM
5058 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
5059
5060 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 5061 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 5062
fc653ef2
GM
5063 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5064
3015eec0
GM
5065 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5066 inheritance.
5067
bfe0ee88
GM
5068 * xdisp.c (try_window_id): When trying to locate cursor in
5069 unchanged rows at the top, handle the case that we can't find it.
5070
a8710abf
GM
5071 * xterm.c (x_draw_glyphs): Handle case START and END are out
5072 of bounds more carefully.
5073
6b7d4ae4
DL
50742000-09-08 Dave Love <fx@gnu.org>
5075
423193c5
DL
5076 * s/sol2.h (REL_ALLOC_MMAP): Define.
5077 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5078
5079 * ralloc.c: Don't include string.h (redundant).
5080 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5081 [!MAP_ANON]: Include fcntl.h.
5082 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5083 (r_alloc, r_re_alloc, r_alloc_free)
5084 (mmap_enlarge, mmap_set_vars): Use it.
5085 (r_alloc_init_fd): New function.
5086 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5087 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5088 malloc type.
5089
5090 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5091 Remove vm-limit.o.
5092
6b7d4ae4
DL
5093 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5094 change to __NetBSD__.
5095
44d31981
KH
50962000-09-08 Kenichi Handa <handa@etl.go.jp>
5097
5098 * search.c (compile_pattern): Check the multibyteness of cached
5099 string and PATTERN.
5100
aad40737
MB
51012000-09-08 Miles Bader <miles@gnu.org>
5102
5103 * xfaces.c (default_face_vector): Function removed.
5104 (Finternal_merge_in_global_face): Restore old global/local
5105 attribute override order. Use inline loop instead of calling
5106 default_face_vector.
5107
91a211b5
GM
51082000-09-07 Gerd Moellmann <gerd@gnu.org>
5109
5110 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5111 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5112 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5113 where necessary, in case POINTER_TYPE is `void'.
5114
03419440
EZ
51152000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5116
5117 * frame.c (make_terminal_frame): Initialize frame foreground and
5118 background colors to unspecified, for the initial instance of an
5119 MSDOS frame.
5120
f46f845b
GM
51212000-09-07 Gerd Moellmann <gerd@gnu.org>
5122
24f76fbf
GM
5123 * ralloc.c (mmap_find): Fix overlap computation.
5124 (mmap_enlarge): Compute nbytes before trying to find an
5125 overlapping region.
5126
f46f845b
GM
5127 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5128 instead of `!='.
5129
5130 * lread.c (syms_of_lread): Change value of regexp
5131 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5132
5133 * xmenu.c (xdialog_show): When looking up the selection in
5134 menu_items, take `quote' boundaries into account; this corresponds
5135 to a nil ITEM in x-popup-dialog.
5136
3c014385
KH
51372000-09-07 Kenichi Handa <handa@etl.go.jp>
5138
fd6f711b
KH
5139 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5140 not 0x81.
5141 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5142
3c014385 5143 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5144 encoding, not decoding. Fix the handling of latin-jisx0201.
5145 Check for the charset katakana-jisx0201 too.
3c014385 5146 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5147 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5148
0da3ecef
GM
51492000-09-07 Gerd Moellmann <gerd@gnu.org>
5150
ab0ee409
GM
5151 * xfaces.c (Vparam_value_alist): New variable.
5152 (syms_of_xfaces): Initialize it.
5153 (Finternal_set_lisp_face_attribute): Avoid more consing.
5154
5155 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5156 specially.
5157 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5158 (Qbackground_mode): New variable.
5159 (syms_of_frame_1): Initialize Qbackground_mode.
5160
5161 * lisp.h (Qdisplay): Declare extern.
1091dd67 5162
0da3ecef
GM
5163 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5164 change face on all frames, and change the default for new frames.
5165
b14654b9
DL
51662000-09-07 Dave Love <fx@gnu.org>
5167
5168 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5169
d24fd56f
KH
51702000-09-07 Kenichi Handa <handa@etl.go.jp>
5171
794f3670
KH
5172 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5173
0fddd0dc
KH
5174 * charset.c: Include composite.h
5175 (lisp_string_width): New function.
5176 (Fstring_width): Call lisp_string_width instead of strwidth.
5177
5178 * Makefile.in (charset.o): Depends on composite.h.
5179
d24fd56f
KH
5180 * process.c (read_process_output): Before inserting the decoded
5181 text in the buffer, adjust the multibyteness.
5182
fa0b693c
GM
51832000-09-06 Gerd Moellmann <gerd@gnu.org>
5184
52283633 5185 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
5186 buffer's text buffer is null, map new memory.
5187
0a58f946
GM
5188 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5189 POINTER_TYPE and size_t.
5190 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5191 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5192 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5193 [REL_ALLOC_MMAP]: New macros.
5194 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5195 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5196 [REL_ALLOC_MMAP]: New functions.
5197
5198 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5199 before and after unexec.
5200
5201 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5202 text buffers if necessary.
5203
5204 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5205 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5206 in prototypes.
5207
fa0b693c
GM
5208 * config.in (HAVE_MMAP): Add #undef.
5209
877055f6
GM
52102000-09-05 Gerd Moellmann <gerd@gnu.org>
5211
08ba3862
GM
5212 * frame.c (Qdisplay_type): New variable.
5213 (syms_of_frame_1): Initialize it.
5214 (Fframe_parameter): New function that avoids consing.
5215 (syms_of_frame): Defsubr it.
5216
66ffe51c
GM
5217 * buffer.c (Fother_buffer): Consider buffers as invisible when
5218 they are displayed in a window on an invisible frame.
5219
877055f6
GM
5220 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5221 get-largest-window always return nil.
5222
bb970e67
GM
52232000-09-04 Gerd Moellmann <gerd@gnu.org>
5224
5225 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5226 variable; recognize Emacs 19 elc files.
5227
7a3d0e0e
MB
52282000-09-04 Miles Bader <miles@gnu.org>
5229
5230 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5231 before initially popping up the menu, so the menu doesn't flash
52283633 5232 when the face settings are significantly different from the defaults.
7a3d0e0e 5233
14473664
SM
52342000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5235
5236 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5237 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5238 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5239 (BIT_UNIBYTE): Remove.
5240 (re_match_2_internal): Delete corresponding code and streamline the
5241 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5242 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5243 (re_wctype_t): New type.
5244 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5245 (regex_compile): Use them and fix handling of overly long char classes.
5246
c1174479
AI
52472000-09-03 Andrew Innes <andrewi@gnu.org>
5248
f8803e97
AI
5249 * makefile.w32-in: Change to DOS line endings.
5250
c1174479
AI
5251 * s/ms-w32.h (ORDINARY_LINK): New define.
5252
5253 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5254 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5255
5256 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5257 (distclean): Delete them here instead.
5258
44ef7cf6
AI
5259 * w32proc.c (compare_env): Convert to uppercase for comparison,
5260 not lowercase, to match how the native Windows shell works.
5261
49b3bd82
JR
52622000-09-03 Jason Rumney <jasonr@gnu.org>
5263
5264 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5265 CVS changes the line-ends when checking in/out on DOS/Windows.
5266
5267 * makefile.nt (emacs): Do not change directory to run temacs, as
5268 the load-path is set relative to current directory.
5269
a3d35a39
MB
52702000-09-03 Miles Bader <miles@gnu.org>
5271
5272 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5273
d276b0cf
GM
52742000-09-02 Gerd Moellmann <gerd@gnu.org>
5275
715e84c9
GM
5276 * xdisp.c (redisplay_mode_lines): New function.
5277 (display_mode_lines): Return number of mode lines displayed.
5278 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5279 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5280
8892f40b
GM
5281 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5282 string.h and strings.h.
5283 (index) [HAVE_INDEX]: Add prototype.
5284
d276b0cf
GM
5285 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5286 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5287
5288 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5289 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5290
38404229
GM
52912000-09-01 Gerd Moellmann <gerd@gnu.org>
5292
5293 * lread.c (read1): Accept `?' as symbol constituent, for
5294 compatiblity with XEmacs.
5295
c0f9ea08
SM
52962000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5297
5298 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5299 (struct re_pattern_buffer): Remove newline_anchor.
5300 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5301 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5302 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5303 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5304 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5305 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5306 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5307 Get rid of references to newline_anchor.
5308 (regcomp): Allocate and precompute a fastmap.
5309
8c0f83fe
GM
53102000-08-31 Gerd Moellmann <gerd@gnu.org>
5311
5312 * lread.c (openp): GCPRO local variable `filename'.
5313
4bb91c68
SM
53142000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5315
5316 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5317
5318 * regex.c: Merge some changes from GNU libc. Add prototypes.
5319 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5320 Use memcmp and memcpy instead of bcopy and bcmp.
5321 (init_syntax_once): Use ISALNUM.
5322 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5323 (REG_UNSET_VALUE): Remove. Use NULL instead.
5324 (REG_UNSET, re_match_2_internal): Use NULL.
5325 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5326 New macros.
5327 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5328 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5329 (regex_compile): In handle_interval, return an error rather than try to
5330 unfetch the interval if we can't find the closing brace.
5331 Obey the RE_NO_GNU_OPS syntax bit.
5332 (TOLOWER): New macro.
5333 (regcomp): Use it.
5334 (regexec): Allocate regs.start and regs.end as one block.
5335
5226a931
GM
53362000-08-30 Gerd Moellmann <gerd@gnu.org>
5337
868dd24b
GM
5338 * xdisp.c (echo_area_display): Check display_completed instead
5339 of calling detect_input_pending.
5340
5341 * dispnew.c (update_frame): Only set display_completed here; move
5342 the update_begin and update_end calls here from update_frame_1.
5343 (update_frame_1): Don't set display_completed here, don't call
5344 update_begin/update_end.
5345
5226a931
GM
5346 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5347 instead of store_frame_param.
5348
2a8bd25f
GM
53492000-08-29 Gerd Moellmann <gerd@gnu.org>
5350
5351 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5352 desired window matrix hasn't been displayed, use the current row
5353 instead. Make sure that only those frame rows are updated for
5354 which there exists a corresponding enabled desired row.
52283633 5355
ba3478d9
MB
53562000-08-29 Miles Bader <miles@gnu.org>
5357
5358 * xfaces.c (default_face_vector): New function.
5359 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5360
87d0f685
GM
53612000-08-29 Gerd Moellmann <gerd@gnu.org>
5362
5363 * lread.c (openp): Prevent temporary string passed to
5364 Ffile_readable_p from being garbage collected.
5365
6fa86045
DL
53662000-08-28 Dave Love <fx@gnu.org>
5367
5368 * keymap.c (store_in_keymap): Add `static' to declaration.
5369
bb17930d
GM
53702000-08-28 Gerd Moellmann <gerd@gnu.org>
5371
5372 * emacs.c, callint.c, doc.c, editfns.c
5373 (toplevel) [HAVE_STRING_H]: Include string.h.
5374 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5375 (index): Remove prototypes which might conflict with non-standard
5376 definitions of index/strchr.
5377
5378 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5379 (rindex): Define only if !HAVE_RINDEX.
5380
5381 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5382
5383 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5384
87188200
MB
53852000-08-28 Miles Bader <miles@gnu.org>
5386
5387 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5388 made inconsistent by a font-related attribute in FROM.
5389 (merge_face_inheritance): Add function comment.
5390
41a68aef
KH
53912000-08-28 Kenichi Handa <handa@etl.go.jp>
5392
5393 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5394 the 4th arg (PREV_EVENT) Qt to suppress input method.
5395
f7c436c1
SM
53962000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5397
0b32bf0e
SM
5398 * regex.c: Indent cpp directives and remove parens after `defined'.
5399 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5400 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5401 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5402 (re_compile_pattern): Use size_t for length.
5403 (init_syntax_once): Move to a better place.
5404 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5405 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5406
f7c436c1
SM
5407 * syntax.c (back_comment): Detect cases where a comment-starter is
5408 actually inside another comment as in: /* a // b */ c // d \n.
5409 Make it clear that `comstart_pos' is unused for nested comments.
5410
5411 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5412 (KEYMAPP): New macro.
5413 (Fkeymap_parent, Fset_keymap_parent): Use it.
5414 (fix_submap_inheritance): Mark it static.
5415 (define_as_prefix, describe_buffer_bindings, describe_command)
5416 (describe_translation, describe_map): Complete prototypes.
5417
5418 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5419
5420 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5421 to better match the key-lookup behavior.
5422
6288c62f
GM
54232000-08-27 Gerd Moellmann <gerd@gnu.org>
5424
5425 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5426 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5427
e931344e
EZ
54282000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5429
5430 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5431 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5432 (xterm.o): Depend on coding.h
5433
d10dfeef
KH
54342000-08-26 Kenichi Handa <handa@etl.go.jp>
5435
5436 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5437 the corresponding '#endif'.
5438
2d73e8d3
MB
54392000-08-26 Miles Bader <miles@gnu.org>
5440
5441 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5442 * xfaces.c (QCinherit): New variable.
5443 (syms_of_xfaces): Initialize it.
5444 (LFACE_INHERIT): New macro.
5445 (Finternal_get_lisp_face_attribute)
52283633 5446 (merge_face_vector_with_property)
2d73e8d3
MB
5447 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5448 (check_lface_attrs): Allow new types of face height. Check
5449 inherit attribute.
5450 (CYCLE_CHECK): New macro.
5451 (merge_face_inheritance): New function.
5452 (merge_face_vectors): Merge inherited faces too. Add F and
5453 CYCLE_CHECK arguments.
5454 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5455 (lookup_named_face, lookup_derived_face, realize_named_face)
5456 (face_at_string_position, face_at_buffer_position): Supply
5457 new F and CYCLE_CHECK arguments to merge_face_vectors.
5458 (merge_face_heights): New function.
52283633 5459 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
5460 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5461 handle relative face heights.
5462 (lface_same_font_attributes_p): Compare heights using EQ.
5463
6ce974d4
KH
54642000-08-26 Kenichi Handa <handa@etl.go.jp>
5465
5466 * charset.c (char_to_string): Check the character validity.
52283633 5467 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 5468
dc1e502d
SM
54692000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5470
5471 * regex.c (PUSH_FAILURE_COUNT): New macro.
5472 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5473 Handle popping of a register's or a counter's data.
5474 (POP_FAILURE_POINT): Use the new name.
5475 (re_match_2_internal): Push counter data on the stack for succeed_n,
5476 jump_n and set_number_at and remove misleading dead code in succeed_n.
5477
bd9d0f3f
GM
54782000-08-25 Gerd Moellmann <gerd@gnu.org>
5479
5480 * xdisp.c (redisplay_internal): If considering all windows on all
5481 frames, update the display for each frame as soon as possible,
5482 instead of first building all desired matrices for all frames, and
5483 then updating them all.
5484 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5485
aa5b8e15
GM
54862000-08-24 Gerd Moellmann <gerd@gnu.org>
5487
17494071
GM
5488 * bytecode.c (mark_byte_stack): Add a comment.
5489
52283633
SM
5490 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5491 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
5492 a graphical frame.
5493
c543db81
KH
54942000-08-24 Kenichi Handa <handa@etl.go.jp>
5495
d246d5f5
KH
5496 * minibuf.c (do_completion): Always use compare-string, not
5497 string-equal because the latter doesn't pay attention to
5498 multibyteness of strings.
5499
c543db81
KH
5500 * process.c (create_process): Don't setup raw-text coding here.
5501 (Fopen_network_stream): Don't set coding->src_multibyte and
5502 coding->dst_multibyte here.
5503 (read_process_output): For process filter, return unibyte string
5504 if default-enable-multibyte-characters is nil.
5505 (send_process): If OBJECT is multibyte text, be sure to encoded it
5506 by the specified coding system for the process. Otherwise, setup
5507 raw-text coding.
52283633 5508 (init_process): Don't initialize default-process-coding-system here.
c543db81 5509
9b47cfe0
EZ
55102000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5511
5512 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5513 <scroll-down-aggressively>: Likewise.
5514
f5a36960
KH
55152000-08-23 Kenichi Handa <handa@etl.go.jp>
5516
5517 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5518 zero. Set coding->produced_char correctly.
5519
69a7ffa7
AI
55202000-08-22 Andrew Innes <andrewi@gnu.org>
5521
5522 * makefile.w32-in: New file.
5523
5524 * unexw32.c (unexec): Ignore old_name, and use the actual location
5525 of the current executable instead. Base new_name on this.
5526
5527 * w32proc.c (create_child): Remove reference to security
5528 descriptor, which isn't needed and doesn't compile with mingw32.
5529
5530 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5531 up dllimport attributes.
5532 (x_update_window_end): Update prototype.
5533
5534 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5535 extern, which screws up dllimport attributes.
5536
5537 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5538 up dllimport attributes.
5539
5540 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5541 screws up dllimport attributes.
5542
5543 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5544 up dllimport attributes.
5545 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5546 screws up dllimport attributes.
5547
5548 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5549 up dllimport attributes.
5550
5551 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5552 screws up dllimport attributes.
5553
5554 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5555 screws up dllimport attributes.
5556
5557 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5558 up dllimport attributes.
5559
5560 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5561 unnecessary extern, which screws up dllimport attributes.
5562 (main): Ditto.
5563
5564 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5565 up dllimport attributes.
5566
5567 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5568 unnecessary extern, which screws up dllimport attributes.
5569
5570 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5571 screws up dllimport attributes.
5572
5573 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5574 up dllimport attributes.
5575
5576 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5577
52283633
SM
5578 * w32bdf.c (search_file_line):
5579 (set_bdf_font_info):
5580 (seek_char):
5581 (w32_get_bdf_glyph):
69a7ffa7
AI
5582 (w32_BDF_to_x_font): Fix compile warnings.
5583
52283633 5584 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
5585
5586 * w32select.c: Include keyboard.h before frame.h.
5587
5588 * w32fns.c (max): Define macro.
5589 (JOHAB_CHARSET): Define if not known.
5590 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5591 (Fx_show_tip): Synch with X version.
5592
5593 * w32xfns.c: Include keyboard.h before frame.h.
5594
5595 * w32fns.c: Include keyboard.h before frame.h.
5596
5597 * w32term.c: Include keyboard.h before frame.h.
5598
5599 * fontset.c: Include keyboard.h before frame.h.
5600
5601 * w32inevt.c: Include keyboard.h before frame.h.
5602 (MOUSE_MOVED): Define if not known.
5603
5604 * minibuf.c: Include keyboard.h before frame.h.
5605
5606 * keyboard.c: Include keyboard.h before frame.h.
5607
5608 * indent.c: Include keyboard.h before frame.h.
5609
5610 * dispnew.c: Include keyboard.h before frame.h.
5611
5612 * buffer.c: Include keyboard.h before frame.h.
5613
5614 * alloc.c: Include keyboard.h before frame.h.
5615
5616 * print.c: Include keyboard.h before frame.h.
5617
5618 * process.c: Include keyboard.h before frame.h.
5619
5620 * scroll.c: Include keyboard.h before frame.h.
5621
5622 * sysdep.c: Include keyboard.h before frame.h.
5623
5624 * term.c: Include keyboard.h before frame.h.
5625
5626 * window.c: Include keyboard.h before frame.h.
5627
5628 * xdisp.c: Include keyboard.h before frame.h.
5629 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5630
5631 * frame.c: Include keyboard.h before frame.h.
5632
5633 * w32heap.h: Undefine min, max.
5634
5635 * w32gui.h: Undefine min, max.
5636
5637 * unexw32.c: Change PUCHAR to PCHAR.
5638 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
5639 (relocate_offset):
5640 (get_section_info):
69a7ffa7
AI
5641 (copy_executable_and_dump_data): Remove unnecessary static defs.
5642 (copy_executable_and_dump_data): Fix compile warnings.
5643
5644 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5645
5646 * w32console.c (min): Define macro.
5647 (clear_frame, write_glyphs): Fix compile warning.
5648
52283633 5649 * w32proc.c (compare_env):
69a7ffa7
AI
5650 (find_child_console): Fix compile warning.
5651
5652 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5653 sys_errlist instead of _sys_errlist.
5654 (get_emacs_configuration_options): New function.
5655
5656 * s/ms-w32.h (sys_nerr): Provide default definition.
5657 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5658 name with _ prepended.
5659 (NSIG): Define if not known.
5660 (get_emacs_configuration): Provide extern declaration.
5661 (get_emacs_configuration_options): Provide extern declaration.
5662 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5663
5664 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 5665 (map_w32_filename):
69a7ffa7
AI
5666 (read_unc_volume): Fix compile warning.
5667
5668 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5669 definitions from being used.
5670
5671 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5672
52283633 5673 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
5674 (open_unc_volume): Make arg const.
5675
5676 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5677 (read_input_waiting): Remove excess parameter.
5678
5679 * w32.c (init_environment): Call _access.
5680 (check_windows_init_file): Call _close.
5681 (init_user_info): Call _putenv.
5682 (init_environment): Call _putenv and _strdup.
5683 (init_ntproc): Reset volume info cache on startup.
5684
5685 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5686 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5687 cannot override the CRT malloc.
5688
5689 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5690 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5691
5692 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5693 unless we are linking with a static CRT.
5694 (RVA_TO_PTR): Cast result to unsigned char*.
5695
5696 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5697 (add_volume_info): Use xstrdup.
5698
25060080
SM
56992000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5700
5701 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5702 (do_completion, Fminibuffer_complete_word): Use it.
5703 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5704 var so it can take non-boolean values.
5705
6917e6bb
GM
57062000-08-21 Gerd Moellmann <gerd@gnu.org>
5707
acb7cc89 5708 * editfns.c (find_field): Formatting changes.
52283633 5709 (toplevel): Some old-style function forward declarations
acb7cc89
GM
5710 changed to prototypes, some new protypes added, some functions
5711 made static.
5712
5713 * lisp.h (set_time_zone_rule): Add prototype.
5714 (use_dialog_box): External declaration.
5715
0bbfdc25
GM
5716 * keyboard.c (gen_help_event): Add parameter SIZE.
5717 (kbd_buffer_events_waiting): Slightly rewritten.
5718 (clear_event): New function.
5719 (kbd_buffer_get_event): Use it, and clear the input_events of
5720 HELP_EVENTs.
5721 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5722 don't fill the newly created array with nils.
5723 (toplevel): Convert some old-style function forward declarations
5724 to prototypes.
5725
5726 * keyboard.h (gen_help_event): Change prototype.
5727
5728 * xterm.c (XTread_socket): Change calls to gen_help_event.
5729
5730 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5731
6917e6bb
GM
5732 * eval.c (Fmacroexpand): Doc fix.
5733
e5cd3d11
JR
57342000-08-20 Jason Rumney <jasonr@gnu.org>
5735
5736 * w32term.h (x_display_info_for_display): Remove as this function
5737 does not exist on W32.
5738
5739 * w32term.c (help_echo_window): New variable.
5740 (syms_of_w32term): staticpro it.
5741 (note_mode_line_highlight): Set it.
5742 (XTextExtents16): Removed as there is no equivalent on W32.
5743 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5744 the X way of doing this will not work for W32.
5745 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5746 (x_draw_image_foreground): Avoid drawing outside of the clip area
5747 when image doesn't have a mask.
5748 (note_mouse_highlight): Process overlays in the right order of
5749 priority. Set help_echo_window.
5750 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5751 because that's more visible for large images.
5752
5753 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5754 name to single_keymap_panes.
5755 (w32_menu_show): Set wv->title when dealing with titles.
5756 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5757
6e69ab8c
MB
57582000-08-21 Miles Bader <miles@gnu.org>
5759
5760 * minibuf.c (do_completion): Try again if we rewrite the input
5761 string, but no completion was done, so that any completion message
5762 will be correct.
5763
511bd4eb
GM
57642000-08-20 Gerd Moellmann <gerd@gnu.org>
5765
5766 * xfaces.c (lface_equal_p): Compare strings differently.
5767 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5768 (realize_tty_face): Use them.
5769 (syms_of_xfaces): Initialize new variables.
5770 (map_tty_color): New function, extracted from realize_tty_face.
5771 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5772 foreground or background color, store the new color name in the
5773 realized face; previous code trying to do this had no effect.
5774 (realize_tty_face): Use map_tty_color.
5775 (Fclear_face_cache): Set face_change_count and ensure thorough
5776 redisplay.
5777
1433385f
GM
57782000-08-19 Gerd Moellmann <gerd@gnu.org>
5779
511bd4eb
GM
5780 * undo.c (record_first_change, record_marker_adjustment): Don't
5781 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5782
419ac0a2
KH
57832000-08-18 Kenichi Handa <handa@etl.go.jp>
5784
5785 * coding.c (decode_coding_string): Set members consumed,
5786 consumed_char, produced, produced_char of *coding correctly. If
5787 decode_coding doesn't consume any byte, don't try anymore.
5788 (encode_coding_string): Likewise.
5789
7eb9e30d
GM
57902000-08-18 Gerd Moellmann <gerd@gnu.org>
5791
511bd4eb
GM
5792 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5793 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5794
5795 * xdisp.c (redisplay_internal): Compare windows for equality with
5796 EQ, instead of applying XWINDOW to something that might not
5797 be a window.
52283633 5798
dd34a735
KH
57992000-08-18 Kenichi Handa <handa@etl.go.jp>
5800
5801 * fontset.c (Finternal_char_font): Search only the selected frame
5802 for a window of the current buffer.
5803
385ff9e3
GM
58042000-08-18 Gerd Moellmann <gerd@gnu.org>
5805
511bd4eb 5806 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5807 Lisp_Objects.
5808
385ff9e3
GM
5809 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5810 second half of a HELP_EVENT is found at the start of kbd_buffer.
5811
d6abb4c7
MB
58122000-08-18 Miles Bader <miles@gnu.org>
5813
4618074a
MB
5814 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5815
d6abb4c7
MB
5816 * editfns.c (save_restriction_save): Rewrite to use markers.
5817 (save_restriction_restore): Rewrite to understand new form of data
5818 saved by save_restriction_save.
5819 (Fsave_restriction): Remove cautionary note in doc-string.
5820
a7b28523
GM
58212000-08-17 Gerd Moellmann <gerd@gnu.org>
5822
5823 * fileio.c (build_annotations): Add a comment explaining the
5824 return value of format-annotate-function. Replace a spurious call
5825 to Flength with a CONSP test. Call format-annotate-function with
5826 a fifth arg specifying how many times the function is been called
5827 in a row, to let it choose temporary buffers appropriately.
5828
03c9ed77
DL
58292000-08-17 Dave Love <fx@gnu.org>
5830
5831 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5832 declare make_temp_name twice.
5833
52283633 5834 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
5835 (unreadpure): Give it an arg.
5836
5837 * unexalpha.c: Prototype fatal_unexec, mark_x,
5838 update_dynamic_symbols. Declare unexec as void.
5839
5840 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5841 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5842
5843 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 5844 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
5845
5846 * alloca.c: Use #error.
5847 [POINTER_TYPE]: Use it.
5848
5849 * eval.c (Fdefvar): Doc fix.
5850
5851 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5852 INITIALIZE_INTERVAL.
5853
5854 * buffer.h: Avoid DECLARE_INTERVALS.
5855
5856 * config.in: Add size_t.
5857
aae41d97
EZ
58582000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5859
5860 * w16select.c (set_clipboard_data): If there's not enough memory
5861 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5862 expects. In case of other failures, return 3.
5863 (system_error_msg): New error message.
5864 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5865 system_error_msg.
5866
65aa5e85
GM
58672000-08-16 Gerd Moellmann <gerd@gnu.org>
5868
5869 * term.c (write_glyphs): Also turn off inverse video after turning
5870 off other appearances in case TS_exit_attribute_mode is not equal
5871 to TS_end_standout_mode.
5872 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5873 with the same face.
5874 (turn_off_face): Reset standout_mode only if
5875 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5876 is equal to TS_end_standout_mode.
5877
ece23901
KH
58782000-08-16 Kenichi Handa <handa@etl.go.jp>
5879
9d7bcb2e
KH
5880 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5881 sequence at the end of the source block.
5882
ece23901
KH
5883 * ccl.c (Fccl_program_p): Docstring modified.
5884 (Fccl_execute): Likewise.
5885 (Fccl_execute_on_string): Likewise.
5886
5e30eaa2
EZ
58872000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5888
5889 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5890
290602fd
KH
58912000-08-16 Kenichi Handa <handa@etl.go.jp>
5892
5893 The following changes are mainly to fix bugs of
5894 encode/decode-coding-string failing if encoding/decoding return
5895 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5896 variable conversion_buffer.
5897
5898 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5899 decrement dst_end to avoid buffer overflow in the later call of
5900 string_as_multibyte
5901
5902 * coding.h (conversion_buffer_size, conversion_buffer)
5903 (get_conversion_buffer): Extern deleted.
5904
5905 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5906 (conversion_buffer, conversion_buffer_size): Variables deleted.
5907 (get_conversion_buffer): Function deleted.
5908 (struct conversion_buffer): New structure.
5909 (MAX_ALLOCA): New macro.
5910 (allocate_conversion_buffer): New macro.
5911 (extend_conversion_buffer, free_conversion_buffer): New functions.
5912 (ccl_coding_driver): Set coding->result.
5913 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5914 this is the last block of source.
5915 (encode_coding): Likewise. Handle the source block as the last
5916 one only when the whole source text is consumed.
5917 (decode_coding_string): Handle the case that the output buffer is
5918 too small to decode the whole source text. Use
5919 allocate_conversion_buffer, extend_conversion_buffer and
5920 free_conversion_buffer, not get_conversion_buffer.
5921 (encode_coding_string): Likewise.
5922 (init_coding): Function deleted.
52283633 5923 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
5924
5925 * emacs.c (main): Don't call init_coding.
5926
52283633 5927 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
5928
5929 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5930 (insert_glyphs): Likewise.
5931
5932 * w32console.c (write_glyphs): Use a locally declared
5933 conversion_buffer.
5934
b9f80d41
EZ
59352000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5936
5937 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5938 member of display_info is NULL.
5939
32dc52f7
GM
59402000-08-15 Gerd Moellmann <gerd@gnu.org>
5941
52283633 5942 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 5943
32dc52f7 5944 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5945 appearances with capability `me'.
32dc52f7
GM
5946 (write_glyphs): Switch on inverse video before each face change.
5947
4eb22d33
DL
59482000-08-14 Dave Love <fx@gnu.org>
5949
5950 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5951 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5952 (lisp_free): Declare and make static.
5953
5954 * window.c: Fix embedded comment.
5955 (syms_of_window): Fix doc string.
5956
90cbf47e
GM
59572000-08-14 Gerd Moellmann <gerd@gnu.org>
5958
52283633 5959 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
5960 make sure to print `C-' before `M-', like in the manual.
5961
440fc135
GM
59622000-08-11 Gerd Moellmann <gerd@gnu.org>
5963
5964 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5965 since they aren't relocated anymore.
52283633 5966 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
5967
5968 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 5969 partially visible line which is smaller than the window's height.
440fc135 5970
6e264fad
KH
59712000-08-11 Kenichi Handa <handa@etl.go.jp>
5972
5973 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 5974 the multibyte form of eight-bit-control characters.
6e264fad
KH
5975 (Fccl_execute_on_string): Initialize ccl->multibyte.
5976
5977 * ccl.h (struct ccl_program): New member multibyte.
5978
5979 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5980
c371f69a
KH
59812000-08-11 Kenichi Handa <handa@etl.go.jp>
5982
5983 * regex.c (regex_compile) <normal_char>: Pay attention to
5984 multibyteness.
5985 (analyse_first) <exactn>: Setup fastmap correctly for
5986 eight-bit-control characters.
5987
59882000-08-11 Kenichi Handa <handa@etl.go.jp>
5989
52283633 5990 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
5991
5992 * keyboard.c (make_lispy_event): Handle the new event type
5993 multibyte_char_keystroke.
5994
5995 * xterm.c: Include coding.h.
5996 (XTread_socket): Work around a bug of XmbLookupString. If the
5997 input is from XIM, decode it according to the current locale. In
5998 that case, generate multibyte_char_keystroke events.
5999
b8ddbe71
KH
60002000-08-11 Kenichi Handa <handa@etl.go.jp>
6001
6002 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
6003 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
6004
47589c8c
GM
60052000-08-10 Gerd Moellmann <gerd@gnu.org>
6006
6007 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
6008 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
6009 (move_it_in_display_line_to): Record iterator's ascent and descent
6010 before producing glyphs, and restore them when we know the glyph
6011 doesn't fit on the line.
6012 (move_it_to): Restructured so that it's easier to debug. If
6013 moving to a vpos, and not moving to an x or character position,
6014 stop as soon as the specified vpos is reached; don't move further
6015 into that line because that might change the computed line height.
6016 (try_cursor_movement): New function, extracted from the cursor
6017 movement branch of redisplay_window. If ending on a partially
6018 visible line, don't try to scroll if the cursor line is taller
6019 than the window.
6020 (redisplay_window): Use try_cursor_movement.
6021
6022 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
6023 because that function doesn't cope with variable-height lines.
6024
6025 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
6026 box cursor because that's better visible for large images.
52283633 6027
c51bacd6
MB
60282000-08-10 Miles Bader <miles@gnu.org>
6029
6030 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
6031
bea56df7
GM
60322000-08-10 Gerd Moellmann <gerd@gnu.org>
6033
6034 * xdisp.c (Vmessages_buffer_name): New variable.
6035 (message_dolog): Use it.
6036 (syms_of_xdisp): Initialize it.
6037
99cd7364
EZ
60382000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
6039
52283633 6040 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
6041 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
6042 redundant now that keyboard.h is included.
6043
7d093d56
EZ
60442000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
6045
6046 * keyboard.c (kbd_buffer_events_waiting): New function.
6047
6048 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
6049
6050 * msdos.c: Include keyboard.h.
6051 (XMenuActivate): Empty no_event events from the event buffer. If
6052 no events are left after that, call clear_input_pending.
6053 (mouse_clear_clicks): New function, code moved from mouse_init.
6054 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6055 mouse driver to ``forget'' any past clicks.
6056
6057 * Makefile.in (msdos.o): Depend on keyboard.h.
6058
41e757a6
GM
60592000-08-09 Gerd Moellmann <gerd@gnu.org>
6060
8e7bd231
GM
6061 * lisp.h (input_pending): External declaration.
6062
6063 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 6064
8e7bd231
GM
6065 * xdisp.c (echo_area_display): Display thoroughly if input is
6066 pending. Bind redisplay-dont-pause to t during the redisplay.
6067 in case input is pending.
6068
6069 * dispnew.c (Qredisplay_dont_pause): New variable.
6070 (syms_of_display): Initialize and staticpro it.
6071 (update_frame_1): Don't interrupt the display for pending input if
6072 redisplay_dont_pause is set.
52283633 6073
43028b7e
GM
6074 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6075
41e757a6
GM
6076 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6077
2f2174fa
KH
60782000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6079
6080 * callproc.c (Fcall_process): Terminate the unwind-protect around
6081 the post-read-conversion of coding system.
6082
0a6fd67e
MB
6083 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6084 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6085 * buffer.h (overlays_at): Update prototype.
6086 * xdisp.c (next_overlay_change): Update call to overlays_at.
6087 * xfaces.c (face_at_buffer_position): Likewise.
6088 * textprop.c (Fget_char_property): Likewise.
6089 * xterm.c (note_mouse_highlight): Likewise.
6090
0c80756e
MB
6091 * minibuf.c (do_completion): Don't consider a simple change of
6092 case as `completion'.
6093
975f250a
KR
60942000-08-08 Ken Raeburn <raeburn@gnu.org>
6095
52283633 6096 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
6097 * undo.c (record_delete): Make sure last_point_position_buffer is
6098 a buffer before comparing pointers.
6099
6100 * coding.h (decode_coding_string): Declare.
6101
6102 * intervals.h (Fprevious_single_char_property_change): Declare.
6103
6104 * textprop.c (Fprevious_single_char_property_change): Don't do
6105 arithmetic directly on lisp objects.
6106
52283633 6107 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
6108
6109 * keyboard.h (menu_item_eval_property): Declare.
6110
6111 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6112 reuse as buffer name, instead of recreating (and discarding) every
6113 time a message is logged.
6114 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6115 (current_message_1, truncate_message_1, set_message_1)
6116 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6117 (current_message, truncate_echo_area, display_echo_area)
6118 (resize_echo_area_axactly): Changed calls.
b347b3fd 6119
975f250a 6120 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6121 Lisp object.
975f250a 6122 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6123 must be an integer, not a Lisp object.
975f250a 6124
46dc9912
KH
61252000-08-08 Kenichi Handa <handa@etl.go.jp>
6126
6127 * charset.c (Fchar_width): Doc fix.
6128
9f6d1a6c
GM
61292000-08-08 Gerd Moellmann <gerd@gnu.org>
6130
6131 * charset.c (Fstring_width): Doc fix.
6132
ff3d9573
GM
61332000-08-07 Gerd Moellmann <gerd@gnu.org>
6134
41e757a6 6135 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6136 line, clear ascent and descent members of the iterator structure;
6137 the height of the continued line does not affect the height of the
6138 continuation line.
6139 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6140 line taller than the window.
6141 (redisplay_window) <forced window start>: Handle case that the
6142 middle of the window is not found in any row.
6143 (dump_glyph_row): Show more information.
6144 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6145 first text line in a glyph matrix.
6146
6147 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6148 of the clip area when image doesn't have a mask.
6149
70fc58b3
GM
6150 * fns.c (sweep_weak_table): Fix survival conditions for
6151 key-or-value and key-and-value weakness.
6152
6153 * .gdbinit (xhashtable): New command.
6154
ac0e96ee
GM
6155 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6156 tables out of the list of all weak hash tables.
6157
ff3d9573
GM
6158 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6159 a new buffer is created, make sure echo_area_buffer[] references
6160 the new buffer.
6161
e0d8827b
EZ
61622000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6163
6164 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6165 the doc string.
6166
c6f35378
KH
61672000-08-07 Kenichi Handa <handa@etl.go.jp>
6168
6169 * syntax.c (skip_chars): Fix previous change. Make the handling
6170 of unibyte string consistent with that of regex search.
6171
1fd4c450
GM
61722000-08-05 Gerd Moellmann <gerd@gnu.org>
6173
e49aa397
GM
6174 * xmenu.c (popup_get_selection): Use xfree instead of free.
6175
6176 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6177
6178 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6179
6180 * callproc.c (child_setup): Use xfree instead of free.
6181
6182 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6183 instead of malloc.
6184 (run_mac_command, closedir): Use `xfree' instead of `free'.
6185
6186 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6187
6188 * eval.c (error): Use xfree instead of free.
6189
1fd4c450
GM
6190 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6191
6192 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6193 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6194
82d497fc
KH
61952000-08-05 Kenichi Handa <handa@etl.go.jp>
6196
6197 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6198 conversion.
6199
59f953a2
NF
62002000-08-04 Noah Friedman <friedman@splode.com>
6201
6202 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6203 docstring.
6204
688351f2
GM
62052000-08-04 Gerd Moellmann <gerd@gnu.org>
6206
6207 * syntax.c (skip_chars): Fix typo in error message.
6208
2dad51cc
AS
62092000-08-04 Andreas Schwab <schwab@suse.de>
6210
6211 * m/ia64.h: Moved from s/ia64.h.
6212
99bb2c60
KH
62132000-08-04 Kenichi Handa <handa@etl.go.jp>
6214
082a1df2
KH
6215 * process.c (read_process_output): Big simplification. Handle
6216 composition and post-read-conversion of coding system correctly.
6217 (send_process): Handle composition correctly.
6218
6219 * callproc.c (Fcall_process): Handle post-read-conversion of
6220 coding system if any.
6221
99bb2c60
KH
6222 * coding.c (decode_coding_iso2022): More strict check for handling
6223 single shifting.
082a1df2
KH
6224 (coding_restore_composition): Pay attention to the case that
6225 cmp_data is not set properly (because of invalid code in the
6226 source text).
6227 (run_pre_post_conversion_on_str): Include text properties in the
6228 resulting string.
6229 (decode_coding_string): Set members of coding correctly.
99bb2c60 6230
f4988be7
GM
62312000-08-03 Gerd Moellmann <gerd@gnu.org>
6232
6233 * s/ia64.h: New file.
6234
6235 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6236 Use NULL instead of 0 at the end of variable argument list of
6237 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6238 sizeof (int) < sizeof (void *).
6239
6240 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6241 of variable argument lists of XtVaGetValues and XtVaSetValues.
6242
6243 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6244 variable argument lists of XtVaGetValues and XtVaSetValues.
6245
ead53494
GM
62462000-08-02 Gerd Moellmann <gerd@gnu.org>
6247
6248 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6249 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6250
6251 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6252 prototype.
6253
6254 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6255 in call to Fsingle_key_description.
6256
6257 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6258 Callers changed.
6259
62602000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6261
6262 * window.c (display_buffer_reuse_frames): New variable.
6263 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6264 frames displaying BUFFER.
52283633 6265 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 6266
10b0f752
MB
62672000-08-01 Miles Bader <miles@gnu.org>
6268
6269 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6270 when to constrain NEW_POS (they were pretty screwed up before).
6271
16425c4a
EZ
62722000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6273
6274 * msdos.c (run_msdos_command): Save and restore the master
6275 environment, for the case that child_setup signals an error.
6276 When mirroring slashes in DOS shell commands, don't fail when
6277 argv[2] has embedded blanks.
da288c14
EZ
6278 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6279 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6280 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6281
6282 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6283 using alloca; free it after run_msdos_command returns.
6284
27f73852
DL
62852000-07-27 Dave Love <fx@gnu.org>
6286
52283633
SM
6287 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
6288 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
6289
6290 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6291
c0261b5e
EZ
62922000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6293
6294 * editfns.c (lisp_time_argument): Fix last change.
6295
b548072f
GM
62962000-07-27 Gerd Moellmann <gerd@gnu.org>
6297
3ab82477
GM
6298 * fns.c (Fdelete): Make it work on vectors and strings in addition
6299 to lists.
6300
b548072f
GM
6301 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6302 (syms_of_fns): Initialize new variables.
52283633 6303 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
6304 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6305 weakness, with t meaning the same as `key-and-value'.
6306
91ae8751
KH
63072000-07-27 Kenichi Handa <handa@etl.go.jp>
6308
6309 * coding.h (struct coding_system): Member safe_charset deleted.
6310
6311 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
6312 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
6313 New variables.
91ae8751
KH
6314 (coding_safe_chars): New function.
6315 (CODING_SAFE_CHAR_P): New macro.
6316 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 6317 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
6318 (detect_coding_iso2022): New local variable safe_chars.
6319 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6320 safe_charsets member of the coding system.
6321 (decode_coding_iso2022): New local variable safe_chars.
6322 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6323 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6324 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6325 (ENCODE_UNSAFE_CHARACTER): New macro.
6326 (encode_coding_iso2022): New local variable safe_chars. Check
6327 unsafe chars.
6328 (setup_coding_system): Delete the code to initialize
6329 coding->safe_charses
6330 (intersection, find_safe_codings): New functions.
6331 (Ffind_coding_systems_region_internal): New function.
6332 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6333 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6334 variable and initialize it.
6335
6336 * fns.c (char_table_ref_and_index): New function.
6337
6338 * lisp.h (char_table_ref_and_index): Add prototype.
6339
34a7a267
SS
63402000-07-26 Sam Steingold <sds@gnu.org>
6341
6342 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6343 (Ffloat_time): New built-in Lisp function.
34a7a267 6344
a95cb10a
GM
63452000-07-26 Gerd Moellmann <gerd@gnu.org>
6346
3353ef5a
GM
6347 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6348 for the character code.
6349
6350 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6351 GNU/Linux.
6352
a95cb10a
GM
6353 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6354 if called for a popup menu.
6355 (xmenu_show): Store help string in widget values.
6356
b4a12321
DL
63572000-07-26 Dave Love <fx@gnu.org>
6358
6359 * syswait.h: Move some definitions.
6360 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6361 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6362 perspicuous definitions.
6363 (WTERMSIG): Fix bit pattern used.
6364
13f5ad37
KH
63652000-07-26 Kenichi Handa <handa@etl.go.jp>
6366
6367 * print.c (print_object): If vector printing is truncated, print
6368 "..." to indicate it as well as the case of list printing.
6369
070fe99c
GM
63702000-07-25 Gerd Moellmann <gerd@gnu.org>
6371
969065c3
GM
6372 * xdisp.c (next_element_from_display_vector): Improve comments.
6373
6374 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6375 for the character code, and the rest for the face id as in 20.x.
6376 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6377
6378 * window.c (window_display_table): Cleaned up.
6379
070fe99c
GM
6380 * syntax.c (Fforward_word): Add last arg nil in call of
6381 Fconstrain_to_field.
6382
bad77ef7
EZ
63832000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6384
969065c3 6385 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
6386 identical but for the letter-case, don't call
6387 barf_or_query_if_file_exists.
bad77ef7 6388
c28da489
MB
63892000-07-25 Miles Bader <miles@gnu.org>
6390
6391 * editfns.c (find_field): Honor special `boundary' fields.
6392 (Qboundary): New variables.
6393 (syms_of_editfns): Initialize Qboundary.
6394 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6395 Use scan_buffer instead of find_before_next_newline, because it
6396 allows us to detect the boundary case where there's a newline at
6397 the search limit.
6398 * lisp.h (Fconstrain_to_field): Update external declaration.
6399
e3c31fd5
GM
64002000-07-24 Gerd Moellmann <gerd@gnu.org>
6401
6402 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6403 if that is nil.
c28da489 6404
c66c29a2
DL
64052000-07-24 Dave Love <fx@gnu.org>
6406
6407 * s/sunos4-0.h, s/sol2.h:
6408 (LIBS_TERMCAP): Move from m/sparc.h.
6409
6410 * m/sparc.h (TERMINFO): Moved to system files (probably only
6411 relevant for sunos4 judging by its vintage).
6412 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6413 __arch64__.
6414
fbe0a958
EZ
64152000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6416
6417 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6418 name to single_keymap_panes.
6419
7d88e5c9
AS
64202000-07-24 Andreas Schwab <schwab@suse.de>
6421
6422 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6423
e024b101
GM
64242000-07-24 Gerd Moellmann <gerd@gnu.org>
6425
6426 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6427 parameters instead of using int parameters. Expect FN to accept
6428 EMACS_INT parameters.
6429 (display_echo_area, resize_echo_area_axactly, current_message)
6430 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6431 with new argument list.
6432 (resize_mini_window_1): New callback function.
6433 (current_message_1, truncate_message_1, set_message_1): Change
52283633 6434 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 6435
25c1a9ce
KH
64362000-07-24 Kenichi Handa <handa@etl.go.jp>
6437
6438 * fontset.c (fontset_ref): Remove INLINE declaration.
6439 (fontset_ref_via_base): Likewise.
6440 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6441 to downcase.
6442
7f987ac0
EZ
64432000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6444
6445 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6446 correct order of priority. If help echo was found in an overlay,
6447 use that overlay as the object in which the help echo was found.
6448
e2db3069
MB
64492000-07-22 Miles Bader <miles@gnu.org>
6450
6451 * textprop.c (Fprevious_single_char_property_change): The initial
6452 property value should be from the position preceding POSITION, not
6453 following it.
6454
5e3203e4
EZ
64552000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6456
6457 * coding.c (syms_of_coding): Doc fix for
6458 inhibit-iso-escape-detection.
6459
62145073
GM
64602000-07-21 Gerd Moellmann <gerd@gnu.org>
6461
c20aeb83
GM
6462 * xterm.c (note_mouse_highlight): Process overlays in the right
6463 order of priority.
34a7a267 6464
743934db
GM
6465 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6466
6467 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 6468 overlay, use that overlay as the object in which the help was found.
743934db 6469
d1dc7e43 6470 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6471
62145073
GM
6472 * window.c (foreach_window): Instead of a fake variable argument
6473 list, take one USER_DATA argument.
6474 (foreach_window_1): Likewise, and call callback functions with two
6475 args, the window and USER_DATA.
6476 (struct check_window_data): New struct.
6477 (check_window_containing): Use it.
6478 (window_from_coordinates): Set up a struct check_window_data for
6479 foreach_window.
6480 (add_window_to_list, freeze_window_start): Change parameters
6481 according to new calling convention.
6482
6483 * window.h (foreach_window): Change prototype.
6484
6485 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6486
64872000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6488
6489 * xmenu.c (menu_help_callback): Call show_help_echo with
6490 additional arguments OBJECT and POS.
6491
11270583
KH
64922000-07-21 Kenichi Handa <handa@etl.go.jp>
6493
07b14857
KH
6494 * data.c (Faset): Allow storing any multibyte character in a
6495 string. Convert unibyte string to multibyte if necessary.
6496
11270583
KH
6497 * xfns.c (x_encode_text): New function.
6498 (x_set_name): Use x_encode_text.
6499 (x_set_title): Likewise.
6500
6501 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6502
6503 * xterm.h (x_encode_text): Add prototype.
6504
bc75b4fd
DL
65052000-07-20 Dave Love <fx@gnu.org>
6506
6507 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6508 xfree, not free.
6509
48c14970
EZ
65102000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6511
6512 * msdos.c (help_echo_window): New variable.
6513 (syms_of_msdos): Initialize and staticpro it.
6514 (IT_note_mode_line_highlight): Set help_echo_window.
6515 (IT_note_mouse_highlight): Ditto.
6516 (dos_rawgetc): Store help_echo_window in the second event produced
6517 for HELP_EVENTs.
6518
6519 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6520 Record the object that generated the help echo and the position of
6521 that object in help_echo_object and help_echo_pos. Record that
6522 some glyphs in a row are displayed in mouse-face.
6523 (IT_update_begin): Don't clear mouse highlight unless one of the
6524 enabled glyph rows is marked as being displayed in mouse-face.
6525 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6526 and position recorded in help_echo_object and help_echo_pos to the
6527 event queue.
6528 (IT_menu_display): Accept a new argument PN: the pane number of
6529 the current menu pane. Record the pane number and the item
6530 number of the item which has associated help string.
6531 (XMenuActivate): Update the prototype for help_callback in
6532 function declaration. Call IT_menu_display with the current menu
6533 pane number as an additional argument. Call help_callback with
6534 two additional arguments: the pane number and the item number of
6535 the menu item associated with the help text.
6536 (help_echo_object, help_echo_pos): New variables.
6537 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6538
6539 * msdos.h (XMenuActivate): Update prototype.
6540
4279296d
GM
65412000-07-19 Gerd Moellmann <gerd@gnu.org>
6542
47db06aa
GM
6543 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6544 Add some more prototypes.
6545
6546 * xterm.c, xterm.h: Add some more prototypes.
6547
6548 * lisp.h (Fnext_single_char_property_change): Add prototype.
6549
6550 * dispnew.c (direct_output_for_insert): Remove confusing
6551 outer local variable mouse_face_overwritten_p.
6552 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6553
4279296d
GM
6554 * alloc.c (allocate_string_data): Don't copy old string contents.
6555
670acd62
KH
65562000-07-19 Kenichi Handa <handa@etl.go.jp>
6557
6558 * coding.c (code_convert_region): Delete text properties before
6559 shrinking the conversion region.
6560
7cea38bc
GM
65612000-07-18 Gerd Moellmann <gerd@gnu.org>
6562
dc1cac59
GM
6563 * dispnew.c (update_text_area): Write the whole row if it
6564 has mouse-face in it.
6565
85a8aca9
GM
6566 * xfaces.c (face-alternative-font-family-alist): Remove
6567 DEFVAR_LISP; staticpro instead.
6568
34a7a267 6569 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6570 new arguments.
6571
6572 * keyboard.c (show_help_echo): Add parameter WINDOW.
6573 (read_char): Call show_help_echo with window extracted from Lisp
6574 help event.
6575 (gen_help_event): Add parameter WINDOW.
6576
6577 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6578
6579 * xterm.c (help_echo_window): New variable.
52283633 6580 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
6581 (XTread_socket): Pass help_echo_window to gen_help_event.
6582 (syms_of_xterm): Initialize and staticpro help_echo_window.
6583
f8276b77
DL
65842000-07-18 Dave Love <fx@gnu.org>
6585
52283633 6586 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 6587
088831a6
GM
65882000-07-18 Gerd Moellmann <gerd@gnu.org>
6589
3d6cd763
GM
6590 * alloc.c (allocate_string_data): If string had already data
6591 assigned, copy old contents to new string data.
6592
6593 * coding.c (syms_of_coding): Fix typo in spelling of variable
6594 `inhibit-iso-escape-detection'.
6595
088831a6
GM
6596 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6597
6598 * Makefile.in: Add dependencies on dispextern.h.
6599 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6600 `free'; both can conflict with system header files.
6601
bc8a8d55
KH
66022000-07-18 Kenichi Handa <handa@etl.go.jp>
6603
6604 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6605 undefined.
6606
069f5950
DL
66072000-07-18 Dave Love <fx@gnu.org>
6608
6609 * window.c (Fwindow_list): Declare arg `window'.
6610
aa96c820
KH
66112000-07-18 Kenichi Handa <handa@etl.go.jp>
6612
6613 * coding.c (setup_coding_system): Don't override the explicitly
6614 specified designations.
6615
06be8d32
MB
66162000-07-15 Miles Bader <miles@gnu.org>
6617
6618 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6619 from `text_property_eq' and `text_property_stickiness', respectively.
6620 (find_field, Fconstrain_to_field, char_property_eq)
6621 (char_property_stickiness): Changed to call char-property functions
6622 instead of text-property-only ones.
6623
6624 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6625 `next_single_char_property_change'). Do more error checking, and
6626 cleanup limit behavior.
6627 (Fprevious_single_char_property_change): New function.
6628 (syms_of_textprop): Initialize new subrs.
6629
6630 * xdisp.c (display_prop_end, invisible_text_between_p):
6631 Call Fnext_single_char_property_change instead of
6632 next_single_char_property_change.
6633
3fddcdc3
JR
66342000-07-15 Jason Rumney <jasonr@gnu.org>
6635
6636 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6637 after menu is finished with.
6638 (add_menu_item): Only consider wv->title as a menu title.
6639 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6640
6641 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6642 null title.
6643 (FONT_REGEXP): Remove unused macro, and its sub-components.
6644 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6645
6646 * w32term.c (help_echo_object, help_echo_pos): New variables.
6647 (note_mode_line_highlight): Store additional information about the
6648 help-echo in help_echo_object and help_echo_pos. Check both
6649 `local-map' and `keymap' properties for changing the cursor
6650 (note_mouse_highlight): Store additional information about the
6651 help-echo in help_echo_object and help_echo_pos.
6652 (note_tool_bar_highlight): Set help_echo_object to nil and
6653 help_echo_pos to -1.
6654 (w32_read_socket): Use gen_help_event instead of filling
6655 input_events manually.
6656 (syms_of_w32term): Staticpro help_echo_object.
6657 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 6658 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
6659 (x_clear_mouse_face): New function.
6660 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6661 (x_update_window_begin): No need to turn off the mouse
6662 highlight here.
6663 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6664 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
6665 (x_fill_stretch_glyph_string): Consume runs of stretch
6666 glyphs instead of a single one.
6667 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6668 with new argument list.
6669 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6670 (x_append_glyph, x_append_composite_glyph)
6671 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6672 changes in struct glyph starting 1999-12-27. See comments for
6673 xterm.c on 2000-07-05.
6674
178c5d9c
SS
66752000-07-14 Sam Steingold <sds@gnu.org>
6676
6677 * xfaces.c (realize_x_face): Fix the last patch:
6678 check `default_face' before dereferencing.
6679
6fe533f6
DL
66802000-07-14 Dave Love <fx@gnu.org>
6681
069f5950 6682 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6683
dd7b81cf
KH
66842000-07-14 Kenichi Handa <handa@etl.go.jp>
6685
0693904a 6686 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6687 default_face's fontset, not using the default fontset.
0693904a 6688
dd7b81cf
KH
6689 * coding.c (inhibit_iso_escape_detection): New variable.
6690 (syms_of_coding): Make it a Lisp variable.
6691 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6692 nonzero, ignore ISO2022's escape sequence.
6693
d5aa31d8
GM
66942000-07-14 Gerd Moellmann <gerd@gnu.org>
6695
e5acf0ca
GM
6696 * alloca.c (malloc) [emacs]: Define as xmalloc.
6697
bd23a692
GM
6698 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6699 use that instead of the mouse position. Add parameters DX and DY.
6700
6701 * dispextern.h (Fx_show_tip): Adjust number of parameters
6702 in prototype.
6703
9662da0b
GM
6704 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6705 if HELP is a function, call it with OBJECT and POS as parameters
6706 to get the help to display.
6707 (gen_help_event, kbd_buffer_store_help_event): New functions.
6708 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6709 (read_char): Call show_help_echo with new parameters.
6710
178c5d9c 6711 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6712 Add prototypes.
6713
6714 * xterm.c (help_echo_object, help_echo_pos): New variables.
6715 (note_mode_line_highlight): Store additional information about the
6716 help-echo in help_echo_object and help_echo_pos. Check both
6717 `local-map' and `keymap' properties for changing the cursor
6718 (note_mouse_highlight): Store additional information about the
6719 help-echo in help_echo_object and help_echo_pos.
6720 (note_tool_bar_highlight): Set help_echo_object to nil and
6721 help_echo_pos to -1.
6722 (XTread_socket): Use gen_help_event instead of filling
6723 input_events manually.
6724 (syms_of_xterm): Staticpro help_echo_object.
6725
6726 * xmenu.c (menu_highlight_callback): Use
6727 kbd_buffer_store_help_event instead of setting up and input_event
6728 structure manually.
6729
6730 * xdisp.c (eval_form): GCPRO argument sexpr.
6731 (call_function): New function.
6732 (handle_single_display_prop): Use call_function and FUNCTIONP
6733 instead of checking whether if font_height is a symbol and
6734 using eval_form.
6735
6736 * eval.c (internal_condition_case_2): New function.
6737
6738 * lisp.h (FUNCTIONP): New macro.
6739 (internal_condition_case_2, call_function): Add prototypes.
6740
d5aa31d8
GM
6741 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6742 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6743 Always set `arg' member of input_events.
6744 (construct_menu_click): Unused function removed.
6745
6746 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6747
6748 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6749 (construct_drag_n_drop, x_scroll_bar_handle_click)
6750 (w32_read_socket): Always set `arg' member of input_events.
6751
6752 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6753
6754 * lisp.h (eval_form): Add prototype.
6755
6756 * xdisp.c (eval_form): Make it externally visible.
6757
0f1a9b23
GM
67582000-07-13 Gerd Moellmann <gerd@gnu.org>
6759
6760 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6761 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6762 consing. For prefix events, store the frame in the `arg' slot of
6763 the event, otherwise store the key there.
6764 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 6765 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
6766
6767 * xmenu.c (menu_highlight_callback): Store help string in the
6768 `arg' member of the input event; don't cons.
6769 (menubar_selection_callback): Use the `arg' slot of input events
6770 to queue additional information, instead of consing.
6771
6772 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6773
6774 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6775 TOOL_BAR_EVENTs.
6776 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6777
6778 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6779 input events to queue additional information, instead of consing.
6780
6781 * keyboard.c (kbd_buffer_gcpro): Renamed from
6782 kbd_buffer_frame_or_window. Now used for all Lisp objects
6783 referenced from the input queue.
6784 (kbd_buffer_store_event): Always use structure assignment for
6785 copying input events. Record all Lisp objects referenced from
6786 events in kbd_buffer_gcpro.
6787 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6788 differently from input events. Test for prefix menu_bar_events
6789 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6790 event in kbd_buffer_gcpro to nil.
6791 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6792 frame_or_window is equal to its arg member as prefix events.
6793 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6794 used by an input event to nil.
6795 (init_keyboard): Use two times the size of the input queue
6796 for kbd_buffer_gcpro.
6797 (syms_of_keyboard): Likewise.
6798
52283633
SM
6799 * emacs.c (handle_USR2_signal, handle_USR1_signal):
6800 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
6801
6802 * termhooks.h (struct input_event): Add member `arg'.
6803 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6804 (USER_SIGNAL_EVENT): Renamed from user_signal.
6805
6806 * xfaces.c (ASET): Remove definition.
6807
6808 * lisp.h (AREF, ASET, ASIZE): New macros.
6809
6810 * fontset.c (AREF, ASIZE): Remove definitions.
6811
6812 * fns.c (AREF): Remove definition.
178c5d9c 6813
0f1a9b23
GM
6814 * composite.c (AREF): Remove definition.
6815
712eaef2
GM
68162000-07-12 Gerd Moellmann <gerd@gnu.org>
6817
d8ee7803
GM
6818 * dispnew.c (redraw_overlapped_rows): Add missing local.
6819 (scrolling_window): Remove debug code.
6820
712eaef2
GM
6821 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6822 Before scrolling, turn off a mouse-highlight in the window
6823 being scrolled.
6824
6825 * xterm.c (x_update_window_end): Add parameter
6826 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6827 redisplay in XTframe_up_to_date.
6828 (x_clear_mouse_face): New function.
6829 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6830
6831 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6832 current glyph row.
6833 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6834 it when any row is written to that contains glyphs highlighted in
6835 mouse-face.
6836 (update_window): Call the window update end hook with new
6837 parameter MOUSE_FACE_OVERWRITTEN_P.
6838 (direct_output_for_insert): Give up if row contains mouse-face.
6839
6840 * dispextern.h (struct redisplay_interface): Add parameter
6841 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6842 (clear_mouse_face): New function pointer member.
6843
02010917
SM
68442000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6845
6846 * syntax.c (back_comment): Use one switch rather than a few `if's.
6847 Obey open_paren_in_column_0_is_defun_start.
6848 When reverting to the `slow' method, try to nicely handle the case
6849 of nested comments by checking that the comment-starter we found
6850 does indeed match the comment-ender.
6851 (scan_sexps_forward, scan_sexps_forward):
6852 Ignore excessive opening parenthesis rather than throwing an error.
6853
d76c03ea
GM
68542000-07-11 Gerd Moellmann <gerd@gnu.org>
6855
6856 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6857 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6858
6859 * dispnew.c (direct_output_forward_char): Give up if currently
6860 displaying a message instead of the minibuffer contents.
6861
6862 * xterm.c (x_update_window_begin): No need to turn off the mouse
6863 highlight here.
6864 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 6865 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
6866
6867 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6868 compare the mouse_face_p flags of both rows.
6869
6870 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6871
d55ead18
EZ
68722000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6873
6874 * keyboard.c (show_help_echo): Accept additional parameter
6875 ok_to_overwrite_keystroke_echo.
6876 (read_char): Call show_help_echo with a zero
6877 ok_to_overwrite_keystroke_echo argument.
52283633 6878 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
6879 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6880 ok_to_overwrite_keystroke_echo argument.
6881 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6882 non-zero ok_to_overwrite_keystroke_echo argument.
6883
df75b1a3
GM
68842000-07-10 Gerd Moellmann <gerd@gnu.org>
6885
4b92c49a
GM
6886 * xdisp.c (try_window_id): If changes are all below what is
6887 displayed in the window, and point is in the window, we still
6888 might have to find point on the display.
6889
6890 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6891 glyphs instead of a single one.
6892 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6893 with new argument list.
6894 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6895
df75b1a3
GM
6896 * keymap.c (get_keymap_1): Add comment that this function can GC.
6897 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6898 comment that functions can GC.
6899 (Fset_keymap_parent): GCPRO arg KEYMAP.
6900
4314cf3e
EZ
69012000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6902
6903 * msdos.c (XMenuActivate): After exiting the menu, restore the
6904 echo area message and erase it.
6905
ab49ce15
KH
69062000-07-10 Kenichi Handa <handa@etl.go.jp>
6907
6908 * fontset.c (Ffontset_info): Make the return value more compatible
6909 with that of Emacs 20.
6910
090a072f
GM
69112000-07-07 Gerd Moellmann <gerd@gnu.org>
6912
6913 * eval.c (Fsignal): Handle case that backtrace_list is null.
6914
f92de4a6
KH
69152000-07-07 Kenichi Handa <handa@etl.go.jp>
6916
6917 * ccl.c (Fccl_execute): Typo fixed.
6918
dd8888a1
GM
69192000-07-06 Gerd Moellmann <gerd@gnu.org>
6920
e5c81191 6921 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6922
dd8888a1
GM
6923 * window.c (Fwindow_list): Reverse list at the end.
6924 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6925 means allow windows on OWINDOW's frame, only.
6926 (window_loop): Simplified; use Fwindow_list.
6927
6928 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6929
485266d0
GM
69302000-07-05 Gerd Moellmann <gerd@gnu.org>
6931
6932 * xterm.c (XTread_socket): Increment handling_signal at the start,
6933 decrement it at the end.
6934
6935 * eval.c (handling_signal): New variable.
6936 (Fsignal): Abort if handling_signal is non-zero.
6937
6938 * lisp.h (handling_signal): External declaration.
178c5d9c 6939
485266d0
GM
6940 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6941
80fcd514
KR
69422000-07-05 Ken Raeburn <raeburn@gnu.org>
6943
6944 Sound support for NetBSD through "Linux emulation" support:
6945 * config.in (HAVE_SOUNDCARD_H): Undef.
6946 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6947 * Makefile.in (LIBSOUND): New variable.
6948 (LIBES): Include it.
52283633
SM
6949 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
6950 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
6951 (vox_open): Use DEFAULT_SOUND_DEVICE.
6952 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6953
d5c5cddd
GM
69542000-07-05 Gerd Moellmann <gerd@gnu.org>
6955
6956 * print.c (print_error_message): If Vsignaling_function is set,
6957 show it in *Messages*.
6958
6959 * lisp.h (Vsignaling_function): External declaration.
6960
6961 * eval.c (Vsignaling_function): New variable.
6962 (Fsignal): Compute it.
6963 (syms_of_eval): Staticpro it.
6964
65171e3a
DL
69652000-07-05 Dave Love <fx@gnu.org>
6966
6967 * syswait.h: Use the autoconf recommended approach. Old code
6968 #if'd out in case we need to revert.
6969
178c5d9c 6970 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6971
e2c46326
AI
69722000-07-05 Andrew Innes <andrewi@gnu.org>
6973
6974 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6975 when non-NULL instead of __morecore, to take account of buffer
6976 memory. This also solves a problem with spurious memory warnings
6977 on Windows.
6978
6979 * ralloc.c: Make real_morecore non-static.
6980
6981 * eval.c (internal_condition_case): Comment out abort if
6982 interrupt_input_blocked is not zero.
6983
6984 * makefile.nt: Add support for `bootstrap' and related targets.
6985 Include minimal debug info in emacs.exe in release build.
6986 Remove all dependencies on lisp.h, and fixup some others.
6987
6988 * w32.c (init_environment): Install code from 20.7 for providing
6989 default values for environment variables, based on the
6990 executable's own location.
52283633 6991 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
6992 (sys_socket): Install socket inheritance bug fix from 20.7.
6993
6994 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6995 here via blockinput.h).
6996
a027a91b
SM
69972000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6998
e4b31601
SM
6999 * w32menu.c (w32_menu_display_help):
7000 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
7001
7002 * keyboard.h (show_help_echo): Declare.
7003
7004 * keyboard.c (show_help_echo): New function, extracted from read_char.
7005 Feval its `msg' argument if it's a cons cell.
7006 (read_char): Use it.
4cf8d9d5 7007 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 7008
178c5d9c 7009 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 7010 (note_tool_bar_highlight, XTread_socket):
178c5d9c 7011 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
7012 (dos_rawgetc):
7013 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
7014 (note_tool_bar_highlight, w32_read_socket):
7015 Do not gratuitously ignore non-string `help-echo' properties.
7016
88d75730
GM
70172000-07-05 Gerd Moellmann <gerd@gnu.org>
7018
969f7e79
GM
7019 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
7020
71201b00
GM
7021 * window.c (delete_all_subwindows): Reset Vwindow_list.
7022
88d75730
GM
7023 * xterm.c (x_append_glyph, x_append_composite_glyph)
7024 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
7025 changes in struct glyph starting 1999-12-27. Some bit-fields of
7026 struct glyph were not set, which made glyphs unequal when compared
7027 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
7028 effects were the result. This also depended on the contents of
7029 memory returned by xmalloc. If flickering happens again, activate
7030 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 7031 gone with that, chances are that it is caused by something similar.
88d75730
GM
7032
7033 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7034
88d75730
GM
7035 * dispextern.h: Add some comments.
7036
7037 * window.c (add_window_to_list): Add parameter LIST.
7038 (window_list): Order list so that, for each frame, windows are
7039 in canonical order, and so that frames appear in the list in
7040 the order given by Vframe_list.
7041 (next_window): Reverse the handling of NEXT_P.
7042
53654733
GM
70432000-07-04 Gerd Moellmann <gerd@gnu.org>
7044
87efd256
GM
7045 * window.c (Vwindow_list): New variable.
7046 (make_window, delete_window): Set Vwindow_list to nil.
7047 (check_window_containing): New function.
7048 (window_from_coordinates): Rewritten.
7049 (add_window_to_list, window_list, candidate_window_p)
7050 (decode_next_window_args, next_window): New functions.
52283633 7051 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
7052 (Fwindow_list): New function.
7053 (Fother_window): Cleaned up.
7054 (foreach_window): Add a longer "variable argument list". Let
7055 callback function return 0 to indicate that cycling over windows
7056 should stop.
7057 (foreach_window_1): Likewise.
7058 (freeze_window_start): Return int.
7059 (init_window): New function.
7060 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7061
7062 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7063 input_event with bzero.
7064 (main): Call init_window.
7065
53654733
GM
7066 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7067 a menu filter.
7068
4a8c194f
KH
70692000-07-04 Kenichi Handa <handa@etl.go.jp>
7070
7071 * composite.h (make_composition_value_copy): Extern it.
7072
7073 * composite.c (make_composition_value_copy): New function.
7074
7075 * editfns.c (Fformat): While copying text properties, make each
7076 composition property value a copy.
7077
7078 * fns.c (concat): While copying text properties, make each
7079 composition property value a copy.
7080
831a6cb0
GM
70812000-07-03 Gerd Moellmann <gerd@gnu.org>
7082
2f516940
GM
7083 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7084
178c5d9c 7085 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7086 marked already.
7087
831a6cb0
GM
7088 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7089 include those frames as candidates which have their focus
7090 redirected to the minibuffer frame.
7091
d9c4f922
SM
70922000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7093
7094 * fns.c (Fputhash): Return `value' rather than nil.
7095
3780bc22
GM
70962000-06-30 Gerd Moellmann <gerd@gnu.org>
7097
97d176db
GM
7098 * frame.c (next_frame): Don't check focus redirection in case
7099 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7100 unless their focus is redirected, which contradicts the
7101 specification of next-frame, and leads to infinite loops in
7102 certain situations when cycling through windows with next-window.
7103
dca9961d
KH
71042000-06-30 Kenichi Handa <handa@etl.go.jp>
7105
7106 * coding.c (code_convert_region): Even if the length of text is
7107 zero, try to convert it if coding->type is coding_type_ccl.
7108 (decode_coding_string, encode_coding_string): Likewise.
7109
d5483ab1
GM
71102000-06-28 Gerd Moellmann <gerd@gnu.org>
7111
af5c25e1 7112 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7113 the display if windows_or_buffers_changed.
af5c25e1
GM
7114
7115 * dispnew.c (struct row_entry): New structure.
7116 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7117 (row_table_size, old_lines, new_lines, old_lines_size)
7118 (new_lines_size, run_pool, runs_size, runs): New variables.
7119 (add_row_entry): New function.
7120 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7121 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7122 holding them in local variables. Use a larger hash table whose
7123 size depends on glyph matrix sizes. Don't use bzero to clear the
7124 hash table; instead, clear used slots only.
7125
7126 * fns.c (next_almost_prime): Make it externally visible.
7127
7128 * lisp.h (next_almost_prime): Add prototype.
7129
d5483ab1
GM
7130 * s/isc4-0.h (sigunblock): Define.
7131
7132 * s/sco5.h (sigunblock): Define.
7133
93e40f40
DL
71342000-06-27 Dave Love <fx@gnu.org>
7135
7136 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7137 (moved to osf5-0.h).
7138 [!NOT_C_CODE]: Protect string.h stuff.
7139
7140 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7141 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7142
3c4b7685
GM
71432000-06-27 Gerd Moellmann <gerd@gnu.org>
7144
97d176db 7145 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7146 below the last line from the needed window height.
7147
32cad0aa
SM
71482000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7149
7150 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7151 (Fwidget_get): Use it.
7152 (syms_of_fns): Defsubr it.
7153
2c69ced2
GM
71542000-06-26 Gerd Moellmann <gerd@gnu.org>
7155
178c5d9c 7156 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7157 display info for XIM.
7158 (xim_open_dpy): Likewise.
7159 (xim_close_dpy): Don't free the display info's XIM.
7160
7161 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7162
7163 * config.in (USE_XIM): New define.
7164
3fc720e4
GM
7165 * keymap.c (get_keyelt): For menu-items containing a `:filter
7166 FILTER', apply FILTER to the menu-item's definition to get the
7167 real definition to use.
7168
7169 * lisp.h (QCfilter): External declaration.
7170
2c69ced2
GM
7171 * xfns.c (Fimage_size): New function.
7172 (syms_of_xfns): Defsubr it.
7173
f978b2a2
AS
71742000-06-26 Andreas Schwab <schwab@suse.de>
7175
7176 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7177 Fstring_as_unibyte.
7178
94cc7892
DL
71792000-06-25 Dave Love <fx@gnu.org>
7180
52283633 7181 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
7182
7183 * Makefile.in (blockinput.h): Depend on atimer.h.
7184 (atimer.h): Depend on systime.h.
7185
52283633 7186 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 7187
52283633 7188 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
7189
7190 * lisp.h (swap_in_global_binding): Declare.
7191
b8c24556
KR
71922000-06-24 Ken Raeburn <raeburn@gnu.org>
7193
7194 * process.c (Fopen_network_stream): Turn off atimers for duration
7195 of call to connect. (Patch from Gerd.)
7196
8cf8560b
DL
71972000-06-23 Dave Love <fx@gnu.org>
7198
511c7541
DL
7199 * ralloc.c: Maybe include unistd.h
7200
8cf8560b
DL
7201 * emacs.c (setgrp): Undefine before defining.
7202 (malloc_warning, set_time_zone_rule, index): Prototype.
7203
7204 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7205 HAVE_STRUCT_TIMEZONE.
7206
7207 * s/osf1.h: Move string.h hack here from alpha.h and make it
7208 conditional.
7209 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7210 _XOPEN_SOURCE.
7211 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7212 (SOCKLEN_TYPE): Don't define.
7213
7214 * m/alpha.h: Remove string.h hack.
7215
7216 * s/osf5-0.h: New file.
7217
7218 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7219 include time.h, done by systime.h.
7220 [__FreeBSD__]: Remove redundant includes.
7221
3fc720e4 7222 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7223 (delete_temp_file): Return Qnil to avoid warning.
7224
7225 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7226
7227 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7228 HAVE_X_WINDOWS.
7229
7230 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7231
7232 * composite.h (compose_text): Declare.
7233
7234 * xterm.c: Don't include sys/types.h unconditionally. Don't
7235 protect its inclusion with !USG (following xmenu.c).
7236
ea055732
GM
72372000-06-23 Gerd Moellmann <gerd@gnu.org>
7238
7239 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7240 in x_create_frame.
7241
74b01b80
EZ
72422000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7243
7244 * coding.c (decode_eol_post_ccl): Special handling for undecided
7245 and inconsistent EOL types.
7246
64f3a166
GM
72472000-06-22 Gerd Moellmann <gerd@gnu.org>
7248
16cf31f7
GM
7249 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7250 trough color and main window's background color.
7251
52283633 7252 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
7253
7254 * xterm.h (Xt_app_con): External declaration.
7255
7256 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7257
486a103d
GM
7258 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7259
64f3a166
GM
7260 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7261 (handle_invisible_prop): Record the start of invisible text in
7262 it->add_overlay_start.
7263 (struct overlay_entry): Add member `overlay'.
7264 (handle_overlay_change): Simplify.
7265 (next_overlay_string): After having processed overlay strings at the
7266 end of the buffer, record that fact in
7267 it->overlay_strings_at_end_processed_p.
7268 (compare_overlay_entries): If before- and after-strings come
7269 from the same overlay, let before-strings come first.
7270 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7271 (load_overlay_strings): Take it->add_overlay_start into account
7272 when adding overlay strings.
7273
7274 * dispextern.h (struct it): Add member add_overlay_start.
7275
bb746ea6
DL
72762000-06-22 Dave Love <fx@gnu.org>
7277
7278 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7279
7280 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7281
a8f573f3
KH
72822000-06-22 Kenichi Handa <handa@etl.go.jp>
7283
7284 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7285 is greater than 0.
7286
9f2bbc92
DL
72872000-06-21 Dave Love <fx@gnu.org>
7288
178c5d9c 7289 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7290
3ee5041c
SM
72912000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7292
7293 * syntax.c (back_comment): Simplify string-parity counting (with
7294 the added benefit of handling multiple string-styles as long as
7295 they are not intertwined).
7296 Jump to the slow code as soon as a comment starter is found in
7297 a "string_lossage" position. Fixes the case: " /* " /* " */.
7298
4c343001
DL
72992000-06-21 Dave Love <fx@gnu.org>
7300
7301 * Makefile.in: Use GETLOADAVG_LIBS.
7302
7303 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7304 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7305
e6365855
SM
73062000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7307
7308 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7309 (Fforward_comment, scan_lists):
7310 Check the comstyle of single-char comment-starters.
7311 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7312 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7313 Check the comstyle of single-char comment-starters.
7314 Clarify control-flow around the Scomment case.
e6365855 7315
5700d2cc
DL
73162000-06-20 Dave Love <fx@gnu.org>
7317
d355bd8a
SM
7318 * fns.c (make_hash_table, maybe_resize_hash_table):
7319 Cast arg of next_almost_prime.
5700d2cc 7320
178c5d9c 7321 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7322
7323 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7324 and unistd.h.
7325
4a27bdfb
GM
73262000-06-20 Gerd Moellmann <gerd@gnu.org>
7327
a61d762c 7328 * keyboard.c (adjust_point_for_property): Check if display
52283633 7329 property should be treated as intangible by looking at its value.
a61d762c 7330
178c5d9c 7331 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7332 (display_prop_intangible_p): New functions.
7333
7334 * dispextern.h (display_prop_intangible_p): Add prototype.
7335
7336 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7337
4a27bdfb
GM
7338 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7339 argument to sigprocmask.
7340
7341 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7342 argument to sigprocmask.
7343
7344 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7345 sigprocmask_set, and pass a pointer to it to sigprocmask.
7346
7347 * sysdep.c (sigprocmask_set): New variable.
7348
7349 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7350 report_file_error.
7351
427ec082
SS
73522000-06-20 Sam Steingold <sds@gnu.org>
7353
7354 * xrdb.c: Don't declare xmalloc, xrealloc.
7355
8972fe79 73562000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7357
7358 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7359 (re_comp): Cast gettext return value to avoid complaints when
7360 !HAVE_LIBINTL.
7361
074b6efe
DL
73622000-06-20 Dave Love <fx@gnu.org>
7363
52283633 7364 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 7365
5700d2cc 7366 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7367
d355bd8a 7368 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7369
7370 * m/alpha.h: Don't declare xmalloc, xrealloc.
7371
0af4f205
DL
7372 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7373
7374 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7375
7376 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7377
7378 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7379 HAVE_GETWD.
7380
074b6efe
DL
7381 * keyboard.h (poll_for_input_1): Declare.
7382
7383 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7384
7385 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7386
7387 * doprnt.c: Don't declare xmalloc, xrealloc.
7388
7389 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7390 (getenv, ctime, getwd): Removed.
7391 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7392
7393 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7394 x_set_tool_bar_lines.
7395
7396 * config.in: Add HAVE_GETWD. Move some definitions above
7397 machine/system includes.
7398
68a5e97b
KH
73992000-06-20 Kenichi Handa <handa@etl.go.jp>
7400
95417e1e
KH
7401 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7402
68a5e97b
KH
7403 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7404 contain information about ENCODING.
7405
7406 * fontset.c (FONTSET_ASCII): Use the first element of char table
7407 for an ASCII font, not defalt slot.
7408 (fontset_ref_via_base): If FONTSET doesn't contain information for
7409 C, try the default fontset.
7410 (make_fontset): Don't copy the default fontset.
7411 (fontset_font_pattern): Likewise.
7412 (accumulate_font_info): If ELT is nil, use the corresponding
7413 element in the default fontset.
7414
3b4fa1b2
DL
74152000-06-19 Dave Love <fx@gnu.org>
7416
943e731c
DL
7417 * syntax.c (Fparse_partial_sexp): Doc fix.
7418
7419 * regex.h: Test PROTOTYPES as well as __STDC__.
7420
3b4fa1b2
DL
7421 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7422 errno, strerror. Put text after #endif in comment.
7423
52283633 7424 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
7425
7426 * xterm.c (x_frame_of_widget): Likewise.
7427
cdf0357b
GM
74282000-06-19 Gerd Moellmann <gerd@gnu.org>
7429
7430 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7431 to Vfundamental_mode_abbrev_table.
7432
7433 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7434 bogus objects are marked. This slows down GC by ~80 percent, but
7435 it might be worth trying when debugging GC-related problems.
7436 This feature requires conservative stack marking to be enabled.
7437
7438 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7439 returns XLookupChars, reset `modifiers' to zero.
7440
998e9f8c
DL
74412000-06-19 Dave Love <fx@gnu.org>
7442
7443 * mktime.c: Unprotoized.
7444
18e21ce8 74452000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7446
7447 * data.c (set_internal): If variable is frame-local,
7448 store the new value immediately into the frame parameter alist.
7449
140c4ac6
KR
74502000-06-19 Ken Raeburn <raeburn@gnu.org>
7451
14358466
KR
7452 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7453 in the custom handler pointer.
7454
140c4ac6
KR
7455 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7456 value, or checks for CHAR_META can fail when Lisp_Object is a
7457 union type.
7458 * keymap.c (get_keyelt): Likewise.
7459
10d7bf84
KH
74602000-06-19 Kenichi Handa <handa@etl.go.jp>
7461
7462 * ccl.h (struct ccl_program): New member eol_type.
7463 (struct ccl_spec): New member cr_carryover.
7464
7465 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7466 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7467
7468 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7469 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7470 (decode_eol_post_ccl): New function.
7471 (decode_coding): Don't detect EOL format here for CCL based coding
7472 systems.
7473 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7474 decode_eol_post_ccl after running the CCL program.
7475 (code_convert_region): Don't detect EOL format here for CCL based
7476 coding systems.
7477 (decode_coding_string): Likewise.
7478
52e386c2
KR
74792000-06-18 Ken Raeburn <raeburn@gnu.org>
7480
7481 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7482 when treating it as an integer.
7483
7484 * coding.h (encode_coding_string): Declare.
7485
7486 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7487 it as an integer.
7488
7489 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7490 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7491 to be passed to get_local_map.
7492
7493 * sound.c (Fplay_sound): Don't call make_number on
7494 Frun_hook_with_args count argument.
7495
7496 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7497 for lisp objects in X event structure data field, when lisp
7498 objects are represented with unions.
7499 (x_scroll_bar_to_input_event): Ditto.
7500
b357b9d4
KR
75012000-06-16 Ken Raeburn <raeburn@gnu.org>
7502
7503 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7504 termination of string. Fix sense of test whether
7505 Vline_number_display_limit is an integer.
b357b9d4 7506
a871441d
GM
75072000-06-16 Gerd Moellmann <gerd@gnu.org>
7508
a9021acd
GM
7509 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7510 only if HAVE_X_WINDOWS.
7511
6344985d
GM
7512 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7513 of titles.
7514
427ec082 7515 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7516 out of bounds.
7517
228b083e
EZ
75182000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7519
7520 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7521 of its headers.
7522
c25b53a2
KH
75232000-06-15 Kenichi Handa <handa@etl.go.jp>
7524
7525 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7526 start of the while loop.
7527
a6981b11
GM
75282000-06-15 Gerd Moellmann <gerd@gnu.org>
7529
e9924e52
GM
7530 * atimer.c (alarm_signal_handler): Add forward declaration.
7531
a6981b11
GM
7532 * data.c (set_internal): Remove debug code.
7533
25fa6deb
GM
75342000-06-14 Gerd Moellmann <gerd@gnu.org>
7535
dce6b995
GM
7536 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7537
9f817ea4
GM
7538 * unexec.c (toplevel) [COFF]: Include coff.h.
7539
7540 * s/lynxos.h: New file.
7541
7542 * keymap.c (Fsingle_key_description): Enclose function key and
7543 event symbol names in angle brackets.
7544
8a4e3c0c
GM
7545 * xdisp.c (setup_echo_area_for_printing): Call
7546 message_log_maybe_newline if message_buf_print is not set.
7547
7548 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7549 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7550 function does something useful even when message_buf_print is
7551 already set.
7552
52283633
SM
7553 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
7554 New variables.
25fa6deb
GM
7555 (ensure_echo_area_buffers): Initialize echo buffer's
7556 truncate lines setting to nil.
7557 (with_echo_area_buffer): Don't set the echo buffer's truncate
7558 lines setting here.
8a4e3c0c 7559 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7560 of message_truncate_lines.
7561 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
7562 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
7563 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
7564
7565 * keyboard.c (read_char): Bind message-truncate-lines to t
7566 while displaying a help-echo.
7567
7568 * lisp.h (Qmessage_truncate_lines): External declaration.
7569
163dcff3
GM
75702000-06-13 Gerd Moellmann <gerd@gnu.org>
7571
1681ead6
GM
7572 * xdisp.c (Vline_number_display_limit): Renamed from
7573 line_number_display_limit.
7574 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7575 Extend documentation string. Initialize
7576 Vline_number_display_limit to nil meaning no limit.
7577 (decode_mode_spec): Use Vline_number_display_limit with its new
7578 meaning.
7579
163dcff3
GM
7580 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7581
18e21ce8 75822000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7583
7584 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7585
163dcff3
GM
7586 * xfns.c (x_set_frame_parameters): Comment fix.
7587
7588 * frame.c (store_frame_param): Call swap_in_global_binding if the
7589 variable's current binding was chosen based on this frame.
7590
7591 * data.c (swap_in_global_binding): New function.
7592
a704139d
EZ
75932000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7594
7595 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7596 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7597
9b6610db
EZ
75982000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7599
7600 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7601
c68833d2
JR
76022000-06-12 Jason Rumney <jasonr@gnu.org>
7603
7604 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7605
7606 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7607
7608 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7609
7610 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7611
ed1056b3
GM
76122000-06-12 Gerd Moellmann <gerd@gnu.org>
7613
7614 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7615 (syms_of_xfaces): Defsubr Sdump_colors.
7616 (x_free_colors): Don't treat b&w specially on default visual.
7617 (x_free_dpy_colors): New function.
7618 (free_face_colors): Don't check visual class; it's done
7619 in x_free_colors.
7620
7621 * xterm.c (x_frame_of_widget): New function.
7622 (x_alloc_nearest_color_for_widget): Use it.
7623 (x_copy_dpy_color): New function.
7624 (x_destroy_window): Free various colors.
7625
5050a2ef
KH
76262000-06-12 Kenichi Handa <handa@etl.go.jp>
7627
7628 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7629
7630 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7631
7632 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7633
7634 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7635
7636 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7637
fb1b041d
DL
76382000-06-11 Dave Love <fx@gnu.org>
7639
7640 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7641
ff96b5f4
EZ
76422000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7643
7644 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7645
db8eeecd
GM
76462000-06-11 Gerd Moellmann <gerd@gnu.org>
7647
ed1056b3 7648 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7649 to `XEvent *'.
7650
49b71c5f
KH
76512000-06-10 Kenichi Handa <handa@etl.go.jp>
7652
c479bd55
KH
7653 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7654 (regex_compile): Fix the code for handling the case of single byte
7655 char and multibyte char being mixed in a range within [...].
7656
ff6a65c2
KH
7657 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7658 and dst_multibyte members of coding.
7659
49b71c5f
KH
7660 * charset.c (update_charset_table): Update the table
7661 bytes_by_char_head.
7662 (init_charset_once): Initialize elements of bytes_by_char_head to
7663 1 except for leading codes for private charases.
7664
7665 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 7666 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 7667
9e80b57d
KR
76682000-06-09 Ken Raeburn <raeburn@gnu.org>
7669
7670 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7671 access the data it doesn't point to.
7672
f83fe4b4
GM
76732000-06-08 Gerd Moellmann <gerd@gnu.org>
7674
7675 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7676 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7677 event queue. This is necessary because Emacs otherwise won't
7678 perform a switch-frame to a new frame until some other event, for
7679 example a keystroke event, forces it to do so. This has various
7680 effects, one visible being that the cursor of a frame created with
7681 C-x 5 2 or switched to with a window manager key binding like
7682 A-TAB stays hollow because selected_window isn't on the newly
7683 focused frame until the switch-frame is performed.
7684
7685 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7686 generating a switch-frame event if necessary.
7687
7688 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7689
7690 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7691 it's an integer.
7692
0890801b
KH
76932000-06-08 Kenichi Handa <handa@etl.go.jp>
7694
52283633 7695 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 7696
173cbca8
GM
76972000-06-07 Gerd Moellmann <gerd@gnu.org>
7698
3091c2a6
GM
7699 * window.c (displayed_window_lines): Take empty lines at
7700 the bottom of a window into account.
427ec082 7701
f38952fe
GM
7702 * window.c (displayed_window_lines): New function.
7703 (Fmove_to_window_line): Use displayed_window_lines to determine
7704 the number of lines to move, instead of using the window's height.
7705
7706 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7707 to stop reading, even if the form read sets point to a different
7708 value when evaluated.
7709
427ec082 7710 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7711 put the cursor.
7712
6ba6c818
KH
77132000-06-07 Kenichi Handa <handa@etl.go.jp>
7714
7715 * fileio.c (e_write): Free composition data if stored in
7716 coding->cmp_data.
7717
5f1aea9a
GM
77182000-06-06 Gerd Moellmann <gerd@gnu.org>
7719
666852af
GM
7720 * xdisp.c (display_line): Set row's and iterator's
7721 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7722 Set cursor even if row ends in the middle of a character.
7723 (dump_glyph_row): Print values of new flags.
7724 (redisplay_window) <cursor movement in unchanged window>: When
7725 point has been moved forward, and PT is at the end of the cursor
7726 row, don't place the cursor in the next row if the cursor row ends
7727 in the middle of a character or at ZV.
7728
7729 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7730 (struct glyph_row): Add starts_in_middle_of_char_p and
7731 ends_in_middle_of_char_p.
7732 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7733 ends_in_middle_of_char_p flag.
7734 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7735
d13f3e2e
GM
7736 * term.c (append_glyph): Revert change of 2000-06-06.
7737
7738 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7739 padding glyph not fitting on line as whole character not
7740 fitting on line.
7741
5f1aea9a
GM
7742 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7743 this isn't true for images with `:ascent 100'.
7744
10cda9b0
KH
77452000-06-06 Kenichi Handa <handa@etl.go.jp>
7746
ed00559d
KH
7747 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7748 as modified if it is originally unmodified.
7749
10cda9b0
KH
7750 * term.c (encode_terminal_code): Change the way to check if
7751 terminal coding does any conversion.
7752 (append_glyph): Set glyph->pixel_width correctly.
7753
7754 * xdisp.c (display_line): While checking line continuation, pay
7755 attention to a padding glyph.
7756
1969fae2
GM
77572000-06-05 Gerd Moellmann <gerd@gnu.org>
7758
7759 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7760
162ccef4
DL
77612000-06-05 Dave Love <fx@gnu.org>
7762
f19f32dd
DL
7763 * xdisp.c: Include fontset.h.
7764
7765 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7766
7767 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7768
7769 * dispnew.c: Conditionally include term.h.
7770
7771 * coding.h: Declare code_convert_string_norecord.
7772
7773 * frame.h (struct frame): Use volatile unconditionally.
7774
7775 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7776
7777 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7778
7779 * systime.h: Protect against multiple inclusion.
7780 (timezone) [USG5_4]: Define as time_t.
7781
7782 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7783 (Foptimize_char_table, make_temp_name): Declare.
7784
7785 * Makefile.in (xdisp.o): Depend on fontset.h.
7786
7787 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7788
7789 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7790 (Foptimize_char_table, make_temp_name): Declare.
7791
427ec082 7792 * s/irix4-0.h:
162ccef4
DL
7793 * s/irix5-0.h:
7794 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7795
2082fe81
DL
77962000-06-02 Dave Love <fx@gnu.org>
7797
7798 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7799
dcf671d2
GM
78002000-06-02 Gerd Moellmann <gerd@gnu.org>
7801
7802 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7803 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7804 be freed.
7805
7806 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7807 glyph, use the ASCII NUL character to determine the face.
7808
d42122a3
DL
78092000-06-02 Dave Love <fx@gnu.org>
7810
7811 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7812 (VFORK_RETURN_TYPE): Remove.
427ec082 7813
d42122a3
DL
7814 * config.in: Add NO_MATHERR.
7815
dd432f16
DL
78162000-06-01 Dave Love <fx@gnu.org>
7817
90aa4ea8
DL
7818 * cmds.c (internal_self_insert): Don't check
7819 Vbefore_change_function, Vafter_change_function.
7820
7821 * insdel.c (signal_before_change, signal_after_change): Likewise.
7822
7823 * buffer.c (Vbefore_change_function, Vafter_change_function):
7824 Variables and their initializations deleted.
7825
2330c9d4
DL
7826 * callint.c (Fcall_interactively): Doc fix.
7827
dd432f16
DL
7828 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7829
bf9e8804
DL
78302000-05-31 Dave Love <fx@gnu.org>
7831
7832 * textprop.c: Revert last change -- duplicated.
7833
3694b4ab
GM
78342000-05-31 Gerd Moellmann <gerd@gnu.org>
7835
7836 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7837 in #if 0.
7838
7839 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7840
f14156cd
JR
78412000-05-31 Jason Rumney <jasonr@gnu.org>
7842
8119aab8
JR
7843 * search.c (Fre_search_forward, Fre_search_backward)
7844 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7845
f14156cd
JR
7846 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7847
4aab9be3
JR
78482000-05-30 Jason Rumney <jasonr@gnu.org>
7849
7850 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7851 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7852
52283633 7853 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
7854
7855 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7856 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7857 expand a nil default_filename.
7858
7859 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7860 pointer to glyph_to_pixel_coords, not a frame.
7861
7862 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7863 coding.h to dependencies.
7864
7865 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7866
7867 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7868 window pointer to be consistent with w32term.c and xterm.c.
7869
7870 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7871 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7872 (Qline_spacing, Qcenter): New variables.
7873 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7874 (x_set_line_spacing): New function.
52283633 7875 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
7876 (x_specified_cursor_type): New function.
7877 (x_set_cursor_type): Use it.
7878 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7879 and icon strings.
7880 (validate_x_resource_name, x_get_resource_string): Measure lengths
7881 of external strings in bytes.
7882 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7883 GetTextExtentPoint32 with NULL title.
7884 (Fx_create_frame): Initialize Qline_spacing.
7885 (w32_load_system_font): Initialize font->double_byte_p.
7886 (x_to_w32_charset): Use Vw32_charset_info_alist.
7887 (Image, busy cursor, tooltip functions): Merged changes from
7888 xfns.c. Not yet functional on Windows.
7889
7890 * w32gui.h (W32FontStruct): Add double_byte_p member.
7891
7892 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7893 (emacs_button_translation): Use it.
7894 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7895 in `mask' to be set.
7896
7897 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7898 menu strings.
7899
7900 * w32term.c: Format and doc changes to bring closer to xterm.c.
7901 (w32_char_font_type): New enum.
7902 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7903 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7904 (w32_encode_char): New function.
7905 (x_encode_char): Removed.
7906 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7907 x_encode_char and w32_font_is_double_byte.
7908 (x_produce_image_glyph): Use image_ascent.
7909 (x_produce_glyphs): Use new version of w32_per_char_metric and
7910 handle NULL return value. Allow extra line spacing.
7911 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7912 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7913 w32_font_type member of glyph instead.
7914 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7915 (fast_find_position): Make sure not to consider rows not visible
7916 in the window.
7917 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7918 w32_menu_display_help with input blocked, as it can abort.
7919 (x_display_and_set_cursor): Choose cursor depending
7920 on buffer-local value of cursor_type.
7921 (x_draw_bar_cursor): Add parameter WIDTH.
7922
7923 * w32term.h (CP_DEFAULT): Define.
7924 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7925
10fc3187
GM
79262000-05-30 Gerd Moellmann <gerd@gnu.org>
7927
7928 * search.c (Fre_search_forward, Fre_search_backward)
7929 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7930
d0555360
KH
79312000-05-30 Kenichi Handa <handa@etl.go.jp>
7932
7933 * coding.c (detect_coding_iso2022): Fix code for checking
7934 CODING_CATEGORY_MASK_ISO_8_2.
7935
f1ad044f
SM
79362000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7937
7938 * regex.c (PREFETCH_NOLIMIT): New function.
7939 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7940
84ec3b4b
GM
79412000-05-29 Gerd Moellmann <gerd@gnu.org>
7942
66254a13
GM
7943 * syntax.c (find_defun_start): Move test for
7944 open_paren_in_column_0_is_defun_start outside of the loop.
7945
49e70dec
GM
7946 * xdisp.c (redisplay_window): Really switch buffers when
7947 displaying mode lines, and temporarily set selected_frame to the
7948 frame of the window that's redisplayed.
7949
84ec3b4b
GM
7950 * xfaces.c (free_realized_faces): Block/unblock input.
7951 (free_realized_multibyte_face): Ditto.
7952
869a3a14
DL
79532000-05-29 Dave Love <fx@gnu.org>
7954
7955 * textprop.c (Qkeymap): New variable.
7956 (syms_of_textprop): Intern it.
7957
7958 * keymap.c: Include intervals.h.
7959 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7960
7961 * Makefile.in (keymap.o): Depend on intervals.h.
7962
7963 * keyboard.c (menu_bar_items, tool_bar_items)
7964 (Fexecute_extended_command): Deal with `keymap' property.
7965 (read_key_sequence): Track map from `keymap' property as well as
7966 `local_map'.
7967
7968 * intervals.c (get_local_map): Extra arg to allow looking for
7969 `keymap' too.
7970
7971 * intervals.h (map_property): New enum.
7972 (get_local_map): Extra arg using it.
7973 (Qkeymap): Declare.
7974
84ec3b4b 7975 * lisp.h (get_local_map): Don't declare here.
869a3a14 7976
89d0c844
KH
79772000-05-29 Kenichi Handa <handa@etl.go.jp>
7978
7979 * Makefile.in (callproc.o): Depend on composite.h.
7980
7981 * callproc.c: Include composite.h.
7982 (Fcall_process): Handle composition correctly.
7983
7984 * coding.h (coding_allocate_composition_data): Extern it.
7985 (coding_restore_composition): Likewise.
7986
7987 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7988 yet allocated, finish decoding with result
7989 CODING_FINISH_INSUFFICIENT_CMP.
7990 (coding_allocate_composition_data): Make it non-static.
7991 (coding_restore_composition): Likewise.
7992
797a084a
EZ
79932000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7994
7995 * charset.c (syms_of_charset): Revert last change.
7996
cf872af5
EZ
79972000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7998
7999 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
8000 charsets as unibyte, with 1-column screen width. Sent by Kenichi
8001 Handa.
cf872af5 8002
5b1ae051
EZ
80032000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
8004
8005 * charset.c (syms_of_charset): Set width of character sets
8006 eight-bit-control and eight-bit-graphic to 1 column.
8007
34ec9ebe
GM
80082000-05-26 Gerd Moellmann <gerd@gnu.org>
8009
8010 * config.in (HAVE_SPEED_T): New define.
8011
8012 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
8013 `extern speed_t'.
8014
dd854dc2
DL
80152000-05-26 Dave Love <fx@gnu.org>
8016
8017 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8018
8019 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8020 (Fsubr_arity): New function.
8021 (syms_of_data): Install them.
8022
ba9f8f95
KH
80232000-05-26 Kenichi Handa <handa@etl.go.jp>
8024
0f3e0672
KH
8025 * charset.c (init_charset_once): Set the table bytes_by_char_head
8026 correctly.
8027
cebefb44
KH
8028 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8029 the default fontset to what Emacs uses by default.
0f3e0672
KH
8030 (check_registry_encoding): This function deleted.
8031 (Fset_fontset_font): Remove the adhoc condition for the default
8032 fontset. Allow cons in FONTNAME.
cebefb44 8033
0f3e0672
KH
8034 * fns.c (map_char_table): Ignore char-table entries for
8035 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8036
7a18af49
KR
80372000-05-25 Ken Raeburn <raeburn@gnu.org>
8038
8039 * emacs.c (main): Initialize keyboard syms before initializing
8040 window code, so face names are available.
8041
d2af47df
SM
80422000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8043
8044 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8045 of an anchor at the beginning of a shy-group.
8046
fc6a6a4e
GM
80472000-05-25 Gerd Moellmann <gerd@gnu.org>
8048
8049 * xdisp.c (handle_invisible_prop): Don't try to skip over
8050 invisible text if end of text is already reached.
8051
005f0d35
DL
80522000-05-25 Dave Love <fx@gnu.org>
8053
02513cdd
DL
8054 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8055
005f0d35
DL
8056 * coding.c (encode_eol): Add null statement after label.
8057
89f6ca4e
EZ
80582000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8059
8060 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8061 2000-05-20.
8062
a4e1759e
KH
80632000-05-25 Kenichi Handa <handa@etl.go.jp>
8064
8065 * ccl.c (ccl_driver): Fix previous change.
8066
eacfd7fe
KH
80672000-05-25 Kenichi Handa <handa@etl.go.jp>
8068
46ab33a9
KH
8069 * coding.c (run_pre_post_conversion_on_str): Set point to the
8070 beginning of buffer before calling coding->post_read_conversion.
8071 (decode_coding_string): Give correct args to
8072 run_pre_post_conversion_on_str.
8073 (encode_coding_string): Likewise.
8074
eacfd7fe
KH
8075 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8076 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8077 eight-bit-graphic correctly.
8078
f8569325
DL
80792000-05-24 Kenichi HANDA <handa@etl.go.jp>
8080
8081 * fileio.c (Finsert_file_contents): Even if a file is not found,
8082 execute codes for setting up coding system. Call
8083 after-insert-file-functions unconditionally.
8084
04545643
GM
80852000-05-24 Gerd Moellmann <gerd@gnu.org>
8086
8087 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8088 BSD_PGRPS are not defined.
8089
747d90ea
KH
80902000-05-24 Kenichi Handa <handa@etl.go.jp>
8091
8092 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8093 DESCRIPTION.
8094 (syms_of_charset): Avoid building same strings.
8095
716e3b88
GM
80962000-05-23 Gerd Moellmann <gerd@gnu.org>
8097
8098 * lread.c (Fload): Add a comment about the meaning of
8099 Vuser_init_file being t.
8100
8101 * puresize.h (BASE_PURESIZE): Increase to 675000.
8102
8103 * s/gnu-linux.h (setpgrp): Don't define it here because this
8104 prevents compilation on GNU/Linux systems with glib 2.2.
8105
8106 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8107 as setpgid.
427ec082 8108
9aeb39fa
EZ
81092000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8110
8111 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8112 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8113 version.
8114 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8115
29ced61b
KH
81162000-05-23 Kenichi Handa <handa@etl.go.jp>
8117
52283633 8118 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 8119
3d80f24d
KH
8120 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8121
52283633 8122 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 8123
29ced61b
KH
8124 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8125
d7e00792
KH
81262000-05-22 Kenichi Handa <handa@etl.go.jp>
8127
c9d80d38
KH
8128 * keyboard.c (read_char): Allow character codes 128..255 to be
8129 handled by input-method-function.
8130
d7e00792
KH
8131 * insdel.c (adjust_markers_for_replace): Fix previous change.
8132 (adjust_after_replace): If PREV_TEXT is nil, call
8133 adjust_markers_for_insert, not adjust_markers_for_replace.
8134
087121cc 81352000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8136
087121cc
GM
8137 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8138 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8139 [HAVE_GRANDPT]: Define.
8140 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8141
8142 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8143 like SYSV_PTYS.
8144
8145 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8146
8147 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8148
c9671f81
KH
81492000-05-20 Kenichi Handa <handa@etl.go.jp>
8150
8151 The following changes are to handle 8-bit characters in a
8152 multibyte buffer/string without facing with byte combining
8153 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8154 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8155
8156 * Makefile.in (fns.o): Depend on charset.h.
8157
8158 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8159 convert it to unibyte.
8160 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8161
8162 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8163 apparent char boundary.
8164 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8165 0x80..0x9F to/from multibyte form.
8166
8167 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8168 to unibyte.
8169
8170 * callproc.c (Fcall_process): Always encode an argument string if
8171 it is multibyte. Setup src_multibyte and dst_multibyte members of
8172 process_coding properly.
ce75fd23 8173
c9671f81
KH
8174 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8175 SPLIT_NON_ASCII_CHAR.
8176
8177 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8178 as is.
8179 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8180
52283633 8181 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 8182 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 8183 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
8184 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8185 and eight-bit-graphic.
8186 (char_to_string): Likewise. Signal an error for too large
8187 character code.
8188 (char_printable_p): Return 0 for 8-bit characters.
8189 (update_charset_table): Update iso_charset_table only when a final
8190 character is non-negative.
8191 (find_charset_in_text): Renamed from find_charset_in_str.
8192 Arguments and return value changed. Callers changed.
8193 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8194 be -1 if CHARSET is used only internally.
8195 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8196 eight-bit-graphic.
8197 (Fcharset_after): Simplified.
8198 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8199 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8200 (multibyte_chars_in_text): Simplified by assuming there's no
8201 invalid multibyte sequence.
52283633
SM
8202 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8203 (str_as_unibyte): New functions.
8204 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
8205 (init_charset_once): Initialization for
8206 LEADING_CODE_8_BIT_CONTROL.
8207 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8208 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8209 eight-bit-control and eight-bit-graphic.
8210
52283633
SM
8211 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
8212 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
8213 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8214 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8215 (CHARSET_REVERSE_CHARSET): Likewise.
8216 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8217 eight-bit-graphic.
8218 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8219 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8220 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8221 encounter an invalid multibyte sequence.
8222 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8223 sequence is always valid.
8224 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 8225 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
8226 (CHAR_STRING): For 8-bit characters, call char_to_string.
8227 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8228 multibyte sequence is always valid.
8229 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
8230 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
8231 (str_as_unibyte): Extern them.
c9671f81 8232 (BCOPY_SHORT): Fix a bug.
52283633 8233 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
8234 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8235 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8236 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8237
bd4bde7f 8238 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 8239 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
8240 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
8241 (EMIT_BYTES): New macros.
8242 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
8243 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
8244 macros deleted.
8245 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8246 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8247 check the validity of multibyte sequence.
8248 (decode_coding_emacs_mule): New function.
8249 (encode_coding_emacs_mule): New macro.
8250 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8251 the source.
8252 (DECODE_ISO_CHARACTER): Just return a character code.
8253 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8254 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8255 EMIT_CHAR to produced decoded characters. Exit the loop only by
8256 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8257 block here.
8258 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8259 only position codes for an invalid character.
8260 (encode_designation_at_bol): Return new destination pointer. 5th
8261 arg DSTP is changed to DST.
8262 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8263 from the source by ONE_MORE_CHAR. Don't handle the case of last
8264 block here.
8265 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8266 macros deleted.
52283633
SM
8267 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
8268 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
8269 TWO_MORE_BYTES to fetch a byte from the source.
8270 (encode_eol): Pay attention to coding->src_multibyte.
8271 (detect_coding, detect_eol): Preserve members src_multibyte and
8272 dst_multibyte.
8273 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8274 (encoding_buffer_size): Set magnification to 3 for all coding
8275 systems that require encoding.
8276 (ccl_coding_driver): For decoding, be sure that the result is
8277 valid multibyte sequence.
8278 (decode_coding): Initialize coding->errors and coding->result.
8279 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8280 and raw-text, always call decode_eol. Handle the case of last
8281 block here. If not coding->dst_multibyte, convert the resulting
8282 sequence to unibyte.
8283 (encode_coding): Initialize coding->errors and coding->result.
8284 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8285 and raw-text, always call encode_eol. Handle the case of last
8286 block here.
8287 (shrink_decoding_region, shrink_encoding_region): Detect cases
8288 that we can't skip data more rigidly.
8289 (code_convert_region): Setup src_multibyte and dst_multibyte
8290 members of coding. For decoding, if the buffer is multibyte,
8291 convert the source sequence to unibyte in advance. For encoding,
8292 if the buffer is multibyte, convert the resulting sequence to
8293 multibyte afterward.
8294 (run_pre_post_conversion_on_str): New function.
8295 (code_convert_string): Deleted and divided into the following two.
8296 (decode_coding_string, encode_coding_string): New functions.
8297 (code_convert_string1, code_convert_string_norecord): Call one of
8298 above.
8299 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8300 MAKE_NON_ASCII_CHAR.
52283633
SM
8301 (Fset_terminal_coding_system_internal)
8302 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
8303 and dst_multibyte members.
8304 (init_coding_once): Initialize iso_code_class with new enum
8305 ISO_control_0 and ISO_control_1.
8306
8307 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8308 devided into ISO_control_0 and ISO_control_1.
8309 (struct coding_system): New members src_multibyte, dst_multibyte,
8310 errors, and result. Delete member fake_multibyte.
8311 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8312 nonzero.
8313 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8314 nonzero.
8315
8316 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8317 (Faset): Likewise.
8318
8319 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8320 multibyte form.
8321 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8322 combining occurs.
8323 (Ftranspose_region): Delete codes for handling byte combining.
8324
8325 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8326 dst_multibyte members of coding. On handling REPLACE on unibyte
8327 buffer, convert the result of decode_coding to unibyte. On
8328 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8329 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8330 multibyteness of the source (buffer or string).
8331
8332 * fns.c (concat): Handle 8-bit characters correctly.
8333 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8334 unibyte in the result.
8335 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8336 valid multibyte form in the result.
8337 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8338 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8339 return -1, signal an error.
8340 (base64_encode_1): New arg MULTIBYTE. Get each character by
8341 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8342 character is found, return -1.
8343 (Fbase64_decode_region): Delete codes for handling byte-combining.
8344 Treat each decoded byte as a unibyte character.
8345 (Fbase64_decode_string): Return unibyte string.
8346 (Fcompare_strings, concat, string_byte_to_char): Use
8347 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8348 FETCH_STRING_CHAR_ADVANCE.
8349 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8350 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8351
8352 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8353 SPLIT_NON_ASCII_CHAR.
8354 (fontset_ref_via_base, fontset_set): Likewise
8355
8356 * insdel.c (adjust_markers_for_record_delete): Deleted.
8357 (adjust_markers_for_insert): Argument changed. Caller changed.
8358 (adjust_markers_for_replace): Likewise.
52283633
SM
8359 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
8360 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
8361 (copy_text): Delete unused local varialbe c_save. For converting
8362 to multibyte, be sure to make all 8-bit characters in valid
8363 multibyte form.
8364 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
8365 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8366 (adjust_after_replace, replace_range, del_range_2)
c9671f81 8367 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
8368 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
8369 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
8370 handling byte combining.
8371 (adjust_before_replace): Deleted.
427ec082 8372
c9671f81
KH
8373 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8374 SPLIT_NON_ASCII_CHAR.
8375 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 8376 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8377 (Fkey_description): Likewise.
8378
8379 * lread.c (read1): On reading multibyte string, be sure to make
8380 all 8-bit chararacters in valid multibyte form.
8381 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8382
8383 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8384 unconditionally.
8385
8386 * process.c (Fstart_process): GCPRO current_dir before calling
8387 Ffind_operation_coding_system. Encode arguments here.
8388 (create_process): Don't encode arguments here. Setup
8389 src_multibyte and dst_multibyte members of struct coding.
8390 (read_process_output): Setup src_multibyte and dst_multibyte
8391 members of struct coding. If the output is to multibyte buffer,
8392 always decode the output of the process. Adjust the
52283633 8393 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
8394 (send_process): Setup coding->src_multibyte according to the
8395 multibyteness of the source.
8396
52283633 8397 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
8398 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8399 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8400
52283633 8401 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
8402
8403 * w16select.c (Fw16_set_clipboard_data): Setup members
8404 src_multibyte and dst_multibyte of coding. Adjusted for the
8405 change for find_charset_in_str.
8406 (Fw16_get_clipboard_data): Likewise.
8407
8408 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8409 dst_multibyte of coding.
8410 (x_to_w32_font): Likewise.
8411
8412 * w32select.c (Fw32_set_clipboard_data): Setup members
8413 src_multibyte and dst_multibyte of coding. Adjusted for the
8414 change for find_charset_in_str.
8415 (Fw32_get_clipboard_data): Likewise.
8416
8417 * xdisp.c (get_next_display_element): Handle 8-bit characters
8418 correctly.
52283633
SM
8419 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
8420 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
8421
8422 * xselect.c (selection_data_to_lisp_data): Setup members
8423 src_multibyte and dst_multibyte of coding. Adjusted for the
8424 change for find_charset_in_str.
8425 (lisp_data_to_selection_data): Likewise.
8426
5f64c9e0
GM
84272000-05-19 Gerd Moellmann <gerd@gnu.org>
8428
52283633 8429 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 8430
5f64c9e0
GM
8431 * dispextern.h (Vimage_types): Add extern declaration.
8432
8433 * xdisp.c (Vimage_types): Moved here from xfns.c.
8434 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8435
8436 * xfns.c (Vimages_types): Moved to xdisp.c.
8437 (syms_of_xfns): Move `image-types' to xdisp.c.
8438
8439 * w32fns.c (Vimage_types): Removed.
8440 (syms_of_w32fns): Remove `image-types'.
8441
813086ea
KH
84422000-05-18 Kenichi Handa <handa@etl.go.jp>
8443
8444 * fns.c (map_char_table): Pay attention to character number of
8445 charset. Check the validity of charset at the first level. For
8446 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8447 the default value.
8448
8449 * fontset.c: Include "buffer.h".
8450 (fs_load_font): If the face has fontset, record the face ID in
8451 that fontset.
8452 (Finternal_char_font): New function.
8453 (accumulate_font_info): New function.
8454 (Ffontset_info): Rewritten for the new fontset implementation.
8455 (syms_of_fontset): Register Vdefault_fontset in the first element
8456 of Vfontset_table. Include Vdefault_fontset in
8457 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8458 function.
8459
bdaebbf0
DL
84602000-05-16 Dave Love <fx@gnu.org>
8461
8462 * m/iris5d.h: Deleted -- unused.
8463
cb613bb8
GM
84642000-05-16 Gerd Moellmann <gerd@gnu.org>
8465
b15f3b77
GM
8466 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8467 `invalid' instead of `illegal'.
8468
8469 * indent.c (Fmove_to_column): When ending within a tab, insert
8470 spaces first so that markers at the end of the tab get adjusted.
8471
835c1b36
GM
8472 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8473 buffer list that wasn't selected in that frame.
8474
cb613bb8
GM
8475 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8476 is needed on mescaline, use a 2 char prefix, and call
8477 make_temp_name with second arg non-zero.
8478
8479 * fileio.c (make_temp_name): New function, extracted from
8480 Fmake_temp_name.
8481 (Fmake_temp_name): Use it.
8482
f685bea9
EZ
84832000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8484
52283633 8485 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 8486
a1b8d58b
GM
84872000-05-15 Gerd Moellmann <gerd@gnu.org>
8488
8489 * Makefile.in (lisp): Add env.elc.
8490
8491 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8492
a265079f
GM
84932000-05-12 Gerd Moellmann <gerd@gnu.org>
8494
8495 * search.c (Freplace_match): Handle case of `\N' in the
8496 replacement when there's no group N.
8497
da4496b6
GM
84982000-05-11 Gerd Moellmann <gerd@gnu.org>
8499
0ace421a
GM
8500 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8501 of the message to message_dolog.
8502
1172eb8d
GM
8503 * keyboard.c (read_char): Don't clear current message for help
8504 events; let the code handling help events handle this. Change
8505 code detecting help events that should be ignored.
8506
da4496b6
GM
8507 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8508 we're interating over a string.
8509
0623e40f
DL
85102000-05-09 Dave Love <fx@gnu.org>
8511
8512 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8513 that offset before writing. Move gcpro region past call of
8514 Ffile_regular_p.
8515
bae2503b
DL
85162000-05-04 Dave Love <fx@gnu.org>
8517
8518 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8519
ec82fb2f
GM
85202000-05-04 Gerd Moellmann <gerd@gnu.org>
8521
8522 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8523 of inserted characters when BUF equals the current buffer, and PT
8524 is in front of or equal to FROM.
8525
cbf18892
GM
85262000-05-03 Gerd Moellmann <gerd@gnu.org>
8527
4ff40dd0
GM
8528 * xdisp.c (handle_single_display_prop): If display property value
8529 is invalid, or something not supported on the frame, restore
8530 iterator's position to what it was initially. Make sure to return
8531 0 for invalid and unsupported property values.
8532
cbf18892
GM
8533 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8534 that x_per_char_metric returns null.
8535
1b0672c3
GM
85362000-05-02 Gerd Moellmann <gerd@gnu.org>
8537
576da55d
GM
8538 * xterm.h (struct face): Add forward declaration.
8539 (struct image): Ditto.
8540 (image_ascent): Add prototype.
8541
8542 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8543 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8544 image_ascent instead of using IMAGE_ASCENT.
8545
8546 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8547 (IMAGE_ASCENT): Removed.
8548
8549 * xfns.c (Qcenter): New variable.
8550 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8551 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8552 (image_ascent): New function.
8553 (lookup_image): Recognize `:ascent center'.
8554 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8555 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8556 (xbm_load): Don't set image's ascent here.
8557 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8558 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8559 check ascent values here.
8560 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8561 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8562 (syms_of_xfns): Initialize Qcenter.
8563
1b0672c3
GM
8564 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8565 to the limits, increase the limits.
8566
0d7811ed
KH
85672000-05-01 Kenichi Handa <handa@etl.go.jp>
8568
8569 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 8570 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 8571
a943a5ca
GM
85722000-04-28 Gerd Moellmann <gerd@gnu.org>
8573
8574 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8575 taller than the window.
8576
5dba1e29
KH
85772000-04-28 Kenichi Handa <handa@etl.go.jp>
8578
8579 * xfaces.c (realize_x_face): Fix the argument of the second
8580 xassert. BASE_FACE may not be a face for ASCII.
8581
353964e3
GM
85822000-04-27 Gerd Moellmann <gerd@gnu.org>
8583
c76e04a8
GM
8584 * print.c (print_object): Treat print-length < 0 as nil.
8585
8586 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8587
8588 * s/freebsd.h (TERMCAP_OBJ): Removed.
8589 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8590
8591 * lread.c (read1): Don't treat period followed by certain
8592 characters as symbol start.
8593
8594 * xfns.c (slurp_file): New function.
8595 (xbm_image_p): Handle case of in-memory XBM files.
8596 (xbm_scan): Rewritten to work on memory buffers instead of files.
8597 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8598 Work on memory buffers instead of files. If DATA is null test
8599 if buffer looks like an in-memory XBM file.
8600 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8601 memory buffers instead of files.
8602 (xbm_file_p): New function.
8603 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8604
353964e3
GM
8605 * lread.c (end_of_file_error): New function.
8606 (read1): Call it instead of signaling `end-of-file' directly.
8607
427ec082 8608 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8609 with Fprinc instead of Fprin1.
8610
24d744ac
KR
86112000-04-26 Ken Raeburn <raeburn@gnu.org>
8612
8613 * window.c (freeze_window_start): Check that minibuffer scroll
8614 window isn't nil before extracting the window structure pointer
8615 from it.
8616
8617 * undo.c (record_delete): If we hit the end of the undo list, stop
8618 picking elements apart.
8619
7464346d
GM
86202000-04-26 Gerd Moellmann <gerd@gnu.org>
8621
8622 * xdisp.c (display_line): If lines are continued, restore
8623 iterator's ascent/descent information to the values before the
8624 first glyph not fitting on the line.
8625
612839b6
GM
86262000-04-25 Gerd Moellmann <gerd@gnu.org>
8627
8628 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 8629 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
8630
8631 * dispnew.c (increment_matrix_positions): Renamed from
8632 increment_glyph_matrix_buffer_positions.
8633 (increment_row_positions): Renamed from
8634 increment_glyph_row_buffer_positions.
8635
8636 * dispextern.h: Change names of renamed functions from dispnew.c
8637 in prototypes.
8638
cc181e95
GM
86392000-04-24 Gerd Moellmann <gerd@gnu.org>
8640
abfcc168
GM
8641 * fileio.c (Fdo_auto_save): Create directories for auto-save
8642 list file if necessary.
8643
cc181e95
GM
8644 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8645 from buffer or frame.
8646 (automatic_hscrolling_p): New variable.
8647 (hscroll_windows): Scroll windows horizontally only if automatic
8648 hscrolling is allowed.
8649 (syms_of_xdisp): New variable `automatic-hscrolling'.
8650
8651 * frame.h (struct frame): Add member extra_line_spacing.
8652
8653 * xfns.c (x_set_line_spacing): New function.
8654 (Fx_create_frame): Set line spacing from resources.
8655 (Qline_spacing): New variable.
8656 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8657
cc181e95
GM
8658 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8659
8660 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8661 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8662 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8663 extra_line_spacing from default value.
8664 (init_buffer_once): Initialize default value of extra_line_spacing.
8665
8666 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8667 and extra3.
8668
8669 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8670 prompt_width. Add extra line spacing.
8671
8672 * term.c (produce_glyphs): Remove reference to struct it's
8673 prompt_width.
8674
8675 * dispextern.h (struct it): Remove member prompt_width, add
8676 extra_line_spacing.
8677
58827478
GM
86782000-04-22 Gerd Moellmann <gerd@gnu.org>
8679
8680 * dispnew.c (update_frame_line): When writing a whole line, make
8681 sure cursor is in the right row afterwards, otherwise a use of
8682 capability `ch' in cmgoto might leave the cursor in the row below.
8683
25a87f42
GM
86842000-04-21 Gerd Moellmann <gerd@gnu.org>
8685
8686 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8687
8688 * keyboard.c (timer_check): Fix typo in comment.
8689
54edf5c2
KH
86902000-04-21 Kenichi Handa <handa@etl.go.jp>
8691
8692 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8693 name change: ch -> character.
8694
3a64eef5
GM
86952000-04-20 Gerd Moellmann <gerd@gnu.org>
8696
8697 * keyboard.c (echo_message_buffer): New variable.
8698 (echo_now): Set echo_message_buffer to the echo area buffer used
8699 to display the echo.
8700 (cancel_echoing): Reset echo_message_buffer to nil.
8701 (read_char): Code rewritten that handles canceling an echo or
8702 echoing a dash, respectively.
8703
8704 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8705 directory doesn't exist.
8706
6142fdcb
DL
87072000-04-19 Dave Love <fx@gnu.org>
8708
8709 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8710 (concat): Don't allow numeric args.
8711 (Fconcat): Doc change.
6142fdcb 8712
ac6b5352
SM
87132000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8714
8715 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8716 instead define end_match(1|2) more carefully.
8717 Use GET_CHAR_BEFORE_2 for `begline'.
8718
cb9215e4
GM
87192000-04-19 Gerd Moellmann <gerd@gnu.org>
8720
5e3dac3f
GM
8721 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8722 on 64-bit systems where NULL is defined as `0'.
8723
8724 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8725 the `variable argument list' to make it work on Alpha.
8726
cb9215e4
GM
8727 * m/alpha.h (_LP64) [!_LP64]: Define.
8728 (ORDINARY_LINK): Define for NetBSD.
8729
8730 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8731
f532dca0
DL
87322000-04-19 Dave Love <fx@gnu.org>
8733
c750667e
DL
8734 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8735 change.
8736
8737 * Makefile.in (LIBS): Don't use.
8738 (GETLOADAVG_OBJ): Define again.
8739 (otherobj): Add GETLOADAVG_OBJ.
8740
f532dca0
DL
8741 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8742
1c7e22fd
GM
87432000-04-18 Gerd Moellmann <gerd@gnu.org>
8744
f6d3257b
GM
8745 * lread.c (read_filtered_event): Cancel and start busy cursor.
8746
427ec082 8747 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8748 that the per-character metrics may be null.
8749
e10f64e7
GM
87502000-04-17 Gerd Moellmann <gerd@gnu.org>
8751
0daee095
GM
8752 * buffer.c (clone_per_buffer_values): New function.
8753 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8754 clone_per_buffer_values if CLONE is not nil.
8755
e10f64e7
GM
8756 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8757
38687d43
DL
87582000-04-16 Dave Love <fx@gnu.org>
8759
8760 * Makefile.in: Remove obsolete localcpp stuff.
8761 (GETLOADAVG_OBJ): Don't define.
8762 (obj): Move LIBOBJS...
8763 (otherobj): ... to here.
8764 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8765 whitespace-only lines after the continuation (Irix).
8766
c21c7262
GM
87672000-04-14 Gerd Moellmann <gerd@gnu.org>
8768
8769 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8770
8771 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8772
314767c0
DL
87732000-04-14 Dave Love <fx@gnu.org>
8774
8775 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8776 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8777 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8778 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8779 NLIST_STRUCT.
8780
8781 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8782 autoconfiscated HAVE_GETLOADAVG.
8783
8784 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8785 BROKEN_MKTIME.
8786
a2522dca
GM
87872000-04-14 Gerd Moellmann <gerd@gnu.org>
8788
8789 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 8790 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 8791
33744b5d
DL
87922000-04-14 Dave Love <fx@gnu.org>
8793
c21c7262 8794 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8795 (INTERVAL_SRC): Convert to make variable.
8796 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8797 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8798 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8799 add LIBOBJS.
8800 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8801 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8802 (shortlisp): Add facemenu, float-sup, frame.
8803 (SOME_MACHINE_LISP): Remove them from here.
8804 (LIBES): Change unused LDLIBS to autoconf LIBS.
8805
8806 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8807
9d3d5916
KH
88082000-04-14 Kenichi Handa <handa@etl.go.jp>
8809
8810 * composite.c (update_compositions): If FROM and TO are not in a
8811 valid range, do nothing.
8812
198e3c7a
GM
88132000-04-13 Gerd Moellmann <gerd@gnu.org>
8814
52283633 8815 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 8816
52283633 8817 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
8818
8819 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8820 as TERMCAP_OBJ.
8821
055a28c9
EZ
88222000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8823
8824 * fileio.c (a_write): Remove redundant semi-colons.
8825 (e_write): Return -1 if failed to write all the data.
8826 This fixes the changes made at 1999-12-15.
8827
f5c75033
DL
88282000-04-12 Dave Love <fx@gnu.org>
8829
8830 * fns.c (mapcar1): Test for null vals to support mapc.
8831 (Fmapc): New function.
8832
0c3cfc51
EZ
88332000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8834
8835 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8836 (IT_frame_up_to_date): Support the buffer local value of
8837 cursor-type, if defined.
8838
33465a31
DL
88392000-04-10 Dave Love <fx@gnu.org>
8840
8841 * editfns.c (preceding-char, following-char): Doc fix.
8842
6ed56568
KR
88432000-04-10 Ken Raeburn <raeburn@gnu.org>
8844
8845 * Makefile.in (temacs): Revert 2000-03-12 change.
8846
7cf80d4e
JR
88472000-04-10 Jason Rumney <jasonr@gnu.org>
8848
8849 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8850
34f3f342
GM
88512000-04-10 Gerd Moellmann <gerd@gnu.org>
8852
1a1b1895
GM
8853 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8854 area buffer, if it's not set up yet.
8855
34f3f342
GM
8856 * indent.c (compute_motion): Set immediate_quit.
8857
be0dbdab
GM
88582000-04-09 Gerd Moellmann <gerd@gnu.org>
8859
52283633 8860 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
8861 (realize_tty_face): Suppress boldness if colors are the inverse of
8862 the default colors, and tty_suppress_bold_inverse_default_colors_p
8863 is set.
8864 (Ftty_suppress_bold_inverse_default_colors): New function.
8865 (syms_of_xfaces): Defsubr it.
8866
be0dbdab
GM
8867 * buffer.c (Frestore_buffer_modified_p): New function.
8868 (syms_of_buffer): Defsubr it.
8869
e8413c3b
KR
88702000-04-08 Ken Raeburn <raeburn@gnu.org>
8871
87f67317
KR
8872 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8873 charset id (int) argument, not a charset (Lisp_Object).
8874
e8413c3b
KR
8875 * coding.h (code_convert_string): Declare.
8876 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8877 object, as the fourth argument to code_convert_string.
8878
52283633 8879 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
8880 (Fset_fontset_font): Use EQ to compare lisp objects.
8881
7c752c80
KR
88822000-04-05 Ken Raeburn <raeburn@gnu.org>
8883
c0333abc
KR
8884 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8885 a pointer that looks like a lisp object.
8886 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8887 zero, instead see whether it's an integer object, since they can't
8888 have intervals.
8889 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8890
52283633
SM
8891 * dispnew.c (allocate_matrices_for_frame_redisplay)
8892 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
8893 to convert between (unsigned) int values and lisp integers.
8894 * keyboard.c (read_key_sequence): Likewise.
8895 * lread.c (substitute_object_recurse): Likewise.
8896 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
8897 * minibuf.c (do_completion, Fminibuffer_complete_word)
8898 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
8899 * term.c (produce_special_glyphs): Likewise.
8900
8901 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8902 * print.c (print_preprocess, print_object): Likewise.
8903
8904 * search.c (compile_pattern): Use NILP when checking for nil.
8905
74e49b38
KR
8906 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8907 __OPTIMIZE__]: Provide a GNU C macro version that handles
8908 lisp-object unions.
8909 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8910 field, to better cope with ENABLE_CHECKING and calls that modify a
8911 Lisp_Object using its old value.
8912
685e5ed2
GM
89132000-04-04 Gerd Moellmann <gerd@gnu.org>
8914
c407c570
GM
8915 * window.c (compare_window_configurations): Signal an error
8916 if parameters C1 or C2 aren't window configurations.
8917
685e5ed2
GM
8918 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8919 AFTER_POTENTIAL_GC calls around calls to functions that can
8920 signal an error and thus invoke the debugger.
8921
587a49ab
GM
89222000-04-03 Gerd Moellmann <gerd@gnu.org>
8923
62f20204
GM
8924 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8925 an error if decoding fails.
8926
587a49ab
GM
8927 * keyboard.c (lispy_mouse_names): Variable removed.
8928 (Vlispy_mouse_stem): New variable.
8929 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8930 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8931 for any mouse button number. Increase size of mouse_syms and
8932 button_down_location as needed. Call modify_event_symbol with
8933 different arguments.
8934 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8935 Call modify_event_symbol with different arguments.
8936 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8937 for any button number. Call modify_event_symbol with different
8938 arguments.
8939 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8940 Accept a string for NAME_ALIST_OR_STEM.
8941
8942 * lisp.h (larger_vector): Add prototype.
8943
8944 * fns.c (larger_vector): Make externally visible.
8945
8946 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8947
2d1675e4
SM
89482000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8949
8950 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8951 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8952 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8953 we are between str1 and str2.
8954 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8955 (PATFETCH): Use `TRANSLATE'.
8956 (PATFETCH_RAW): Fetch multibyte char if applicable.
8957 (PATUNFETCH): Remove.
8958 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8959 When writing a char, write it directly into the pattern buffer rather
8960 than going needlessly through a temp char-array.
8961 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8962 multibyte magic and remove the useless `#ifdef emacs'.
8963 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8964 buffer.
8965
8966 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8967 conditional on `emacs'.
8968
8969 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8970
cc2d8c6b
KR
89712000-04-01 Ken Raeburn <raeburn@gnu.org>
8972
8973 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8974 non-union-type versions of XMARK and friends here, because XMARK
8975 and friends won't work on an integer field if NO_UNION_TYPE is not
8976 defined.
52283633 8977 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 8978
52283633 8979 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
8980 (syms_of_composite): Delete local var NARGS, pass an int as first
8981 argument to Fmake_hash_table.
8982
2387b382
KR
8983 * editfns.c (text_property_stickiness): Use NILP to test
8984 Lisp_Object boolean value.
8985 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8986 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8987 problems reading from and changing the same lisp value in an
8988 XSETSTRING call.
8989
27660e89
GM
89902000-04-01 Gerd Moellmann <gerd@gnu.org>
8991
8992 * term.c (TN_no_color_video): New variable.
8993 (term_init): Intitialize TN_no_color_video.
8994 (enum no_color_bit): New enumeration.
8995 (MAY_USE_WITH_COLORS_P): New macro.
8996 (turn_on_face): Use it to determine if attributes may be used
8997 combined with colors.
8998
3578db3c
KR
89992000-04-01 Ken Raeburn <raeburn@gnu.org>
9000
9001 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 9002 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
9003 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9004 proper accessor macros.
9005 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9006 (grow_mini_window): Fix typo getting int value of root->height.
9007
6fc556fd
KR
9008 * xdisp.c (compute_string_pos): Fix order of arguments to
9009 string_pos_nchars_ahead.
9010 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9011 count arg to variable-arg routines like Frun_hook_with_args and
9012 Fformat.
587a49ab
GM
9013 (back_to_previous_visible_line_start)
9014 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9015 fixed-arg routines like Fget_char_property and Fmake_string.
9016 (reconsider_clip_changes): Use XINT when comparing integer lisp
9017 objects, or passing them as int arguments.
587a49ab
GM
9018 (mark_window_display_accurate, insert_left_trunc_glyphs)
9019 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9020 storing or passing integer values as lisp objects.
9021 (set_cursor_from_row, highlight_trailing_whitespace): Use
9022 INTEGERP, not implicit test against zero, for glyph object.
9023 (try_window_id): Don't use make_number when we want an int value.
9024
9025 * xfaces.c (xlfd_symbolic_value): Make last argument a
9026 Lisp_Object, to be consistent with callers.
9027 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9028 (lface_hash): Apply XFASTINT to lisp values before folding in.
9029
9030 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9031 fill in window width and height. Pass an int, not a lisp object,
9032 as first arg to Finsert.
9033
6e7b2457
GM
90342000-04-01 Gerd Moellmann <gerd@gnu.org>
9035
610d841e
GM
9036 * xfaces.c (realize_basic_faces): Block input while realizing
9037 the faces.
9038
6e7b2457
GM
9039 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9040
9041 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9042
aa110c0c
GM
90432000-03-31 Gerd Moellmann <gerd@gnu.org>
9044
9045 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9046 or ASCII, handle case that per-char metric is null.
aa110c0c 9047
8801a864
KR
90482000-03-30 Ken Raeburn <raeburn@gnu.org>
9049
c6129d7e
KR
9050 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9051
52283633
SM
9052 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
9053 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
9054 pointer, using eassert.
9055 * frame.h (XFRAME): Likewise.
9056
52283633
SM
9057 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
9058 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9059 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 9060 * data.c (set_internal): Likewise.
52283633
SM
9061 * dispextern.h (WINDOW_WANTS_MODELINE_P)
9062 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
9063 * fileio.c (auto_save_1): Likewise.
9064 * insdel.c (check_markers): Likewise.
9065 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9066 * undo.c (record_insert): Likewise.
9067 * vmsproc.c (child_sig): Likewise.
9068 * window.c (unshow_buffer, window_loop): Likewise.
9069 * xterm.c (x_erase_phys_cursor): Likewise.
9070
8e7af858
GM
90712000-03-30 Gerd Moellmann <gerd@gnu.org>
9072
9073 * xfns.c (free_image_cache): Free the cache structure itself
9074 last, after all its members have been freed.
9075
9076 * lisp.h (xstrdup): Add prototype.
9077
9078 * alloc.c (xstrdup): Moved here from xfaces.c.
9079 (allocating_for_lisp): Variable removed.
52283633 9080 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
9081
9082 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9083 of Fsymbol_value.
9084 (xstrdup): Moved to alloc.c.
9085
e0b8c689
KR
90862000-03-29 Ken Raeburn <raeburn@gnu.org>
9087
b96f9fb7
KR
9088 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9089
9090 * emacs.c (main): Fix sense of no-loadup test.
9091
e0b8c689
KR
9092 * config.in (ENABLE_CHECKING): Undef.
9093
9094 * lisp.h (struct interval): Replace "parent" field with a union of
9095 interval pointer and Lisp_Object; add new bitfield to use as
9096 discriminant. Change other flag fields to bitfields.
9097 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
9098 is defined and the supplied test fails, print a message and abort.
9099 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
9100
9101 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9102 pointers; abort if the value looks like a lisp object.
52283633
SM
9103 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
9104 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
9105 Modify for new interval parent definition.
9106
52283633
SM
9107 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
9108 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
9109 addressable lisp object in the interval structure.
9110 (die): New function.
9111 (suppress_checking): New variable.
9112
9113 * intervals.c (interval_start_pos): Just return 0 if there's no
9114 parent object.
9115
f83c5440
GM
91162000-03-29 Gerd Moellmann <gerd@gnu.org>
9117
9118 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9119 and earlier Emacs versions.
9120
9121 * keyboard.c (Ftop_level): Cancel busy-cursor.
9122
9123 * eval.c (call_debugger): Cancel busy-cursor.
9124
fdce64ff
KH
91252000-03-29 Kenichi Handa <handa@etl.go.jp>
9126
9127 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 9128 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 9129
f6a3f532
SM
91302000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9131
9132 * regex.c (analyse_first): New function obtained by ripping out most
9133 of re_compile_fastmap and generalizing it a little bit so that it
9134 can also just return whether a given (sub)pattern can match the empty
9135 string or not.
9136 (regex_compile): Use `analyse_first' to decide whether the loop-check
9137 needs to be done or not for *, +, *? and +? (the loop check is costly
9138 for non-greedy repetition).
9139 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9140
e9b309ac
DL
91412000-03-28 Dave Love <fx@gnu.org>
9142
52283633 9143 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 9144
e9b309ac
DL
9145 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9146
ed0767d8
SM
91472000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9148
9149 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9150 an expression.
9151 (enum re_opcode_t): Update description of succeed_n.
9152 (PATFETCH): Always define.
9153 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9154 operators, char classes, shy-groups and intervals).
9155 Optimize special cases of intervals so as to only use succeed_n and
9156 jump_n when really needed.
9157 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9158 that we don't have to handle the special cases any more.
9159 Simplify on_failure_jump handling as well.
9160
e11e7e46
JR
91612000-03-28 Jason Rumney <jasonr@gnu.org>
9162
9163 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9164
88faab89
GM
91652000-03-27 Gerd Moellmann <gerd@gnu.org>
9166
182ff242
GM
9167 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9168
9169 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9170
182ff242
GM
9171 * alloc.c (mark_maybe_object): New function.
9172 (mark_memory): Use it.
9173 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9174 (setjmp_tested_p, longjmp_done): New variables.
9175 (test_setjmp): New function.
9176 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9177 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9178
c1005d06
GM
9179 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9180 to DEC_TEXT_POS and INC_TEXT_POS.
9181
9182 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9183 with parameter MULTIBYTE_P.
9184
52283633 9185 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 9186
7439e5b9 9187 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9188 buffers because it looks for multibyte character byte sequences
9189 which don't exist in unibyte text.
7439e5b9 9190
d9c545da
GM
9191 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9192
11fd416e 9193 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9194 [DEBUG_X_COLORS]: New functions.
9195 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9196
9197 * xfns.c (x_set_cursor_color): Get color reference counts right.
9198
9199 * xterm.c (x_copy_color): New function.
9200 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9201
9202 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9203 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9204 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9205 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9206 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9207 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9208 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9209 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9210 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9211 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9212
11fd416e
GM
9213 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9214 names for handling per-buffer variables.
d9c545da
GM
9215
9216 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9217 instead of MAX_BUFFER_LOCAL_VARS.
9218 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9219
9220 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9221
88faab89
GM
9222 * xfns.c (x_specified_cursor_type): New function.
9223 (x_set_cursor_type): Use it.
9224
9225 * buffer.h (struct buffer): Add cursor_type.
9226
d80f42b7
SM
92272000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9228
9229 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
9230 (print_partial_compiled_pattern, re_compile_fastmap):
9231 Handle new opcode.
d80f42b7
SM
9232 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9233 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9234 executing it as well as when popping it off the stack to find infinite
9235 loops in non-greedy repetition operators.
9236
89e80928
GM
92372000-03-26 Gerd Moellmann <gerd@gnu.org>
9238
3d4ff2dd
GM
9239 * doc.c (Qfunction_documentation): New variable.
9240 (syms_of_doc): Initialize Qfunction_documentation.
9241 (Fdocumentation): If FUNCTION is a symbol with non-nil
9242 `function-documentation' property, return a documentation derived
9243 from that.
9244
bd96bd79
GM
9245 * buffer.c (syms_of_buffer): Add default-cursor-type.
9246 (init_buffer_once): Don't let cursor_type have a local value
9247 in every buffer.
9248
19d1bc27
GM
9249 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9250 on buffer-local value of cursor_type.
9251 (x_draw_bar_cursor): Add parameter WIDTH.
9252
9253 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9254 (init_buffer_once): Set default cursor_type value to t.
9255 Mark cursor_type as local everywhere.
9256 (syms_of_buffer): New per-buffer variable cursor-type.
9257
89e80928
GM
9258 * buffer.h (struct buffer): Remove member local_var_flags,
9259 add local_flags.
9260 (MAX_BUFFER_LOCAL_VARS): New macro.
9261 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9262 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9263 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9264 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9265
52283633 9266 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
9267
9268 * category.c (Fset_category_table): Use new macros for per-buffer
9269 variables.
9270
9271 * buffer.c (buffer_permanent_local_flags): Make a char array.
9272 (max_buffer_local_idx): New variable.
9273 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9274 for new handling of per-buffer variables.
9275 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9276 (init_buffer_once): Initialize per-buffer vars differently.
9277 Set max_buffer_local_idx.
9278
9279 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9280 variables.
9281
52283633 9282 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
9283
9284 * data.c (do_symval_forwarding, store_symval_forwarding)
9285 (find_symbol_value, set_internal, default_value, Fset_default)
9286 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9287 per-buffer variables.
9288
9289 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9290
9a0dd3dc
GM
92912000-03-24 Gerd Moellmann <gerd@gnu.org>
9292
b68c375f
GM
9293 * xterm.c (x_term_init): Unblock input around call1 of
9294 Qvendor_specific_keysyms.
9295
9a0dd3dc
GM
9296 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9297 (find_defun_start): Consider an open parenthesis in column 0
9298 a defun start only if open_paren_in_column_0_is_defun_start is set.
9299 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9300
7973e637
SM
93012000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9302
9303 * eval.c (Fautoload): Add entry in load-history (if after dump).
9304 * lread.c (load-history): Update docstring.
9305
39210e90
GM
93062000-03-24 Gerd Moellmann <gerd@gnu.org>
9307
9308 * indent.c (Fvertical_motion): Always use the current buffer.
9309 Temporarily change the window's buffer, if necessary.
9310
72db3ab5
GM
93112000-03-23 Gerd Moellmann <gerd@gnu.org>
9312
9313 * xterm.c (fast_find_position): Make sure not to consider rows
9314 not visible in the window.
9315
990b2375
SM
93162000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9317
9318 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9319 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9320
ff4df011
JR
93212000-03-22 Jason Rumney <jasonr@gnu.org>
9322
9323 * w32menu.c (single_submenu): Set help string to NULL if none.
9324 (w32_menu_show): Set help string correctly.
9325 (add-menu-item): Set help string in MIIM_DATA for menu item.
9326 Load SetMenuItemInfoA explicitly.
9327 (w32_menu_display_help): New function.
427ec082 9328
ff4df011
JR
9329 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9330 (QCdata): Moved to xdisp.c.
9331
9332 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9333 (Vw32_charset_to_codepage_alist): Removed.
9334 (Vw32_charset_info_alist): New variable.
52283633
SM
9335 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
9336 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
9337 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
9338 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9339 with TODO comment.
9340 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9341 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9342 Define Vw32_charset_info_alist and w32_charset symbols.
9343
93442000-03-22 Jason Rumney <jasonr@gnu.org>
9345
9346 * makefile.nt (w32bdf.obj): Update dependencies.
9347
9348 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9349
9350 * w32fns.c: Include fontset.h after dispextern.h.
9351 (Fx_create_frame): Do not create fontset.
9352 (w32_load_system_font): Doc fix.
9353 (Fx_close_connection): Free full_name if it is not shared.
9354
9355 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
9356 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
9357 Callers updated.
ff4df011
JR
9358 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9359 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9360 (w32_font_is_double_byte): New function, needs body.
9361 (x_append_glyph): Set glyph->glyph_not_available_p.
9362 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9363 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9364 character, convert it to a unibyte character.
9365 (struct glyph_string): Delete member `charset'.
9366 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9367 calculating it is found.
9368 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9369 the case that per char metric is not available correctly.
9370 (x_fill_glyph_string): Handle the case that the specific glyph is
9371 not available correctly.
9372 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9373 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9374 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9375 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9376 fontset. Don't call FS_LOAD_FONT.
9377
439d5cb4
KR
93782000-03-22 Ken Raeburn <raeburn@gnu.org>
9379
9380 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9381 (INT_LISPLIKE): New macro.
9382 (NULL_INTERVAL_P): Use it.
52283633
SM
9383 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
9384 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
9385 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
9386
9387 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9388 explicit references to "parent" field of struct interval and
9389 associated unclean type conversions.
52283633
SM
9390 * intervals.c (create_root_interval, root_interval, rotate_right)
9391 (rotate_left, balance_possible_root_interval, split_interval_right)
9392 (split_interval_left, interval_start_pos, find_interval)
9393 (next_interval, previous_interval, update_interval)
9394 (adjust_intervals_for_insertion, delete_node, delete_interval)
9395 (adjust_intervals_for_deletion, merge_interval_right)
9396 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
9397 (copy_intervals_to_string): Likewise.
439d5cb4
KR
9398 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9399 Likewise.
9400 * syntax.c (update_syntax_table): Likewise.
9401
9402 * intervals.c (reproduce_tree_obj): New function, like
9403 reproduce_tree but takes a Lisp_Object for the parent. Declare
9404 with prototype.
9405 (graft_intervals_into_buffer): Use it when appropriate.
9406 (reproduce_tree): Declare with prototype.
9407 (balance_possible_root_interval): Check that the parent is a lisp
9408 object before trying to examine its type.
9409
ee1c5b21
GM
94102000-03-22 Gerd Moellmann <gerd@gnu.org>
9411
9412 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9413 as strings only if both are known to be strings.
9414
9415 * s/openbsd.h (LIBS_TERMCAP): Undef.
9416
1fb352e0
SM
94172000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9418
9419 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9420 definitions for non-Emacs compilation.
9421 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9422 outside of `#ifdef emacs'.
9423 (print_partial_compiled_pattern): Update.
9424 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9425 (re_compile_fastmap): Merge handling of charset and charset_not (for
9426 emacs and non-emacs compilation as well).
9427 Similarly for (not)categoryspec and (not)syntaxspec.
9428 Don't use the fastmap when reaching `anychar' since the added
9429 complexity is not justified.
9430 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9431 and (not)syntaxspec. Merge (not)categoryspec.
9432
fdaa1f77
KH
94332000-03-22 Kenichi Handa <handa@etl.go.jp>
9434
52283633
SM
9435 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
9436 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 9437 --without-x.
fdaa1f77 9438
d152fb46
DL
94392000-03-21 Dave Love <fx@gnu.org>
9440
9441 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9442 doc string.
9443
d2cafc8c
GM
94442000-03-21 Gerd Moellmann <gerd@gnu.org>
9445
9446 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9447 (lface_fully_specified_p): Don't check contents of
9448 LFACE_FONT_INDEX because that attribute is optional.
9449 (realize_x_face): Remove now unwarranted xassert.
9450
9111d4b5
KH
94512000-03-21 Kenichi HANDA <handa@etl.go.jp>
9452
9453 The following changes are to make font selection based on
9454 characters, not charset. In addition, they recover fontset
9455 facilities while utilizing the new font selection mechanism.
9456
6c4bfdc0
KH
9457 * Makefile.in (fontset.o): Depend on dispextern.h.
9458
9459 * alloc.c (mark_face_cache): Don't mark face->registry.
9460
9111d4b5
KH
9461 * dispextern.h (struct glyph): New member glyph_not_available_p.
9462 Use 22 bits for face_id.
9463 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9464 (struct face): Delete member registry, new member ascii_face.
9465 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9466 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9467 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 9468 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
9469
9470 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9471 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
9472 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
9473 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 9474 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
9475 (fs_free_face_fontset, fontset_font_pattern)
9476 (face_suitable_for_char_p, face_for_char)
9477 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
9478 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9479 (FS_LOAD_FACE_FONT): New macro.
9480
9481 * fontset.c: All codes rewritten or adjusted for the change of
9482 fontset implementation. Now fontset is represented by char table.
52283633
SM
9483 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
9484 Variables removed.
9111d4b5 9485 (my_strcasecmp): Function removed.
52283633 9486 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 9487 (AREF, ASIZE): New macros.
52283633
SM
9488 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
9489 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
9490 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9491 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
9492 (fontset_id_valid_p, font_family_registry, fontset_name)
9493 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
9494 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
9495 New functions.
9496 (fs_load_font): New arg FACE. Caller changed.
9497 (fs_query_fontset): Argument changed. Caller changed.
9498 (Fquery_fontset): call fs_query_fontset.
9499 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9500 Functions removed.
52283633
SM
9501 (clear_fontset_elements, check_registry_encoding)
9502 (check_fontset_name): New functions.
9111d4b5
KH
9503 (syms_of_fontset): Set char-table-extra-slots property of fontset
9504 to 3. Staticpro and initialize Vfontset_table and
9505 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9506
9507 * frame.h (struct frame): Member `fontset_data' removed.
9508 (FRAME_FONTSET_DATA): Macro removed.
9509
9510 * frame.c (make_frame): Don't allocate f->fontset_data.
9511 (Fdelete_frame): Don't free f->fontset_data.
9512
6c4bfdc0
KH
9513 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9514
9111d4b5
KH
9515 * xdisp.c (charset_at_position): Function removed.
9516 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
9517 (handle_face_prop, reseat_to_string, set_iterator_to_next)
9518 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
9519 Likewise.
9520 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9521 FACE_FOR_CHARSET.
52283633
SM
9522 (get_next_display_element, append_space)
9523 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
9524
9525 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9526 Variables removed.
9527 (clear_font_table, frame_update_line_height, load_face_font):
9528 Adjusted for the change of fontset implementation.
9529 (load_face_fontset_font): Function removed.
9530 (pixel_point_size): New function.
9531 (font_list): Argument type changed. Caller changed.
9532 (LFACE_FONT): New macro.
9533 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9534 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9535 Lisp_Object. Determine the font name by actually loading a font
9536 by the specified pattern. Set LFACE_FONT (lface) to the specified
9537 pattern. Even if a font is not found, don't try alternatives.
9538 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9539 (set_font_frame_param): If `font' is specified in lface, use it.
9540 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9541 (lface_same_font_attributes_p): Likewise.
9542 (make_realized_face): Arguent changed. Caller changed. Set
9543 face->ascii_face to face itself.
9544 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
9545 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
9546 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
9547 (free_realized_multibyte_face): New function.
9548 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9549 changed. Caller changed.
9550 (try_font_list): Argument type changed.
9551 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9552 (choose_face_font): Argument changed. Handle fontset properly.
9553 (choose_face_fontset_font): Function removed.
9554 (realize_default_face, realize_named_face): Don't remove the
9555 former face here.
9556 (realize_face): Argument changed. Caller changed. Remove face
52283633 9557 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
9558 (realize_x_face): Argument changed. Caller changed. For a
9559 multibyte character, share fontset with base_face. For a single
52283633 9560 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
9561 (realize_tty_face): Argument changed. Caller changed.
9562 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9563 (face_at_buffer_position): Don't check multibyte_p for returning
9564 DEFAULT_FACE_ID.
9565 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9566 FACE_SUITABLE_FOR_CHARSET_P.
9567 (syms_of_xfaces): Remove code for Qx_charset_registry and
9568 Vface_default_registry.
9569
6c4bfdc0
KH
9570 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9571 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9572 (x_per_char_metric): Don't try FONT->default_char. Even if
9573 pcm->width is zero, glyph bits may exist.
9574 (x_encode_char): Always initialize char2b->byte1.
9575 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 9576 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
9577 (x_append_glyph): Set glyph->glyph_not_available_p.
9578 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9579 it->charset. Handle the case that per char metric is not
9580 available. If it->multibyte_p is zero and it->c is a multibyte
9581 character, convert it to a unibyte character.
9582 (struct glyph_string): Delete member `charset'.
9583 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9584 the case that per char metric is not available correctly.
9585 (x_fill_glyph_string): Handle the case that the specific glyph is
9586 not available correctly.
9587 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9588 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9589 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9590 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9591 fontset. Don't call FS_LOAD_FONT.
9592
9593 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9594 (x_create_tip_frame): Likewise.
9595 (Fx_close_connection): Free full_name of font_info.
9596
9597 * fns.c (optimize_sub_char_table): New function.
9598 (Foptimize_char_table): New function.
9599 (syms_of_fns): Defsubr Soptimize_char_table.
9600
b33dd3b0
GM
96012000-03-20 Gerd Moellmann <gerd@gnu.org>
9602
9603 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9604 only if buffer is displayed in some window.
9605
9606 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9607 (try_window_reusing_current_matrix): Don't call scroll run
9608 function if run's current and desired position are the same;
9609 this prevents cursor flickering.
9610
4e8a9132
SM
96112000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9612
9613 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9614
9615 * regex.c (RE_STRING_CHAR): New macro.
9616 (GET_CHAR_AFER_2): Remove.
9617 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9618 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9619 (print_partial_compiled_pattern, re_compile_fastmap)
9620 (re_match_2_internal): Remove on_failure_jump_exclusive.
9621 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9622 optimization only need to work for * (ie. can use of_keep_string_jump).
9623 Remove the special case for .*\n since it is now covered by the general
9624 optimization.
9625 (re_search_2): Don't bother with `room'.
9626 (skip_one_char): New function.
9627 (skip_noops): Simplify since `memory' is not needed any more.
9628 (mutually_exclusive_p): Restructure slightly to use `switch' and
9629 add handling for "all" remaining cases.
9630 (re_match_2_internal): Change on_failure_jump_smart to use
9631 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9632 rather than on_failure_jump_exclusive.
9633
2136fdd4
GM
96342000-03-19 Gerd Moellmann <gerd@gnu.org>
9635
9636 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9637 number of bits per RGB because it's everywhere used as the depth
9638 of the visual.
9639
9640 * term.c (calculate_costs): Remove code dealing with X frames.
9641
18e21ce8 96422000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9643
9644 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9645
d7b511c4
GM
96462000-03-18 Gerd Moellmann <gerd@gnu.org>
9647
9648 * lread.c (read_integer): Unread the last char not consumed.
9649
16b5d424
GM
96502000-03-17 Gerd Moellmann <gerd@gnu.org>
9651
9652 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9653 which are in the process of being deleted.
16b5d424 9654
1fa28578
GM
96552000-03-16 Gerd Moellmann <gerd@gnu.org>
9656
83488cce
GM
9657 * Makefile.in (mostlyclean): Add `*.core'.
9658 (clean): Add `bootstrap-emacs'.
9659
1fa28578
GM
9660 * lread.c (read_integer): New function.
9661 (read1): Support read syntax #o, #x, #b, #r.
9662
99633e97
SM
96632000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9664
1fa28578
GM
9665 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9666 make sure POINTER_TO_OFFSET gives the same value before and after
9667 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9668 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9669 (debug): Now only active if > 0 rather than if != 0.
9670 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9671 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9672 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9673 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9674 (store_op1, store_op2, insert_op1, insert_op2)
9675 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9676 (group_in_compile_stack): Move to after its arg's types are
9677 declared and add a prototype.
99633e97 9678 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 9679 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 9680 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9681 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9682 indentation of the greedy-op and shy-group code.
99633e97
SM
9683 (at_(beg|end)line_loc_p): Fix argument's types.
9684 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9685 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9686 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9687 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9688 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9689 QUIT unconditionally.
99633e97 9690
699238d9
GM
96912000-03-15 Gerd Moellmann <gerd@gnu.org>
9692
9693 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9694 a sole completion.
9695
9696 * process.c (send_process): Add a hint that the function
9697 can call Lisp code to its comment.
9698
9699 * lread.c (load_dangerous_libraries): New variable.
9700 (Vbytecomp_version_regexp): New variable.
9701 (safe_to_load_p): New function.
9702 (Fload): Handle files not compiled with Emacs specially.
9703 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9704
34e23e5a
GM
97052000-03-14 Gerd Moellmann <gerd@gnu.org>
9706
9c763cca
GM
9707 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9708
9709 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9710 support functions only if HAVE_X11R6_XIM is defined.
9711 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9712
9713 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9714
9715 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 9716 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
9717 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9718
9719 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9720 (HAVE_X11R6_XIM): Define.
9721
9722 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9723
34e23e5a
GM
9724 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9725 If set, call XSynchronize.
9726
66f0296e
SM
97272000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9728
34e23e5a
GM
9729 * regex.c: Declare a new type `re_char' used throughout the code
9730 for the string char type. It's `const unsigned char' to match the
9731 rest of Emacs. Consistently make sure all pointers to strings use
52283633 9732 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 9733 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9734 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9735 code duplication.
66f0296e
SM
9736
9737 * charset.h (GET_CHAR_AFTER_2): Remove.
9738 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9739
854a025c
KR
97402000-03-12 Ken Raeburn <raeburn@gnu.org>
9741
9742 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9743 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9744 of them try to use backquotes.
9745
b9d2c7e2
DL
97462000-03-12 Dave Love <fx@gnu.org>
9747
9748 * unexelf.c: Restore changes of 1999-10-19.
9749 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9750 fix its type and alignment; copy it from current process.
9751
5e5dff44
GM
97522000-03-12 Gerd Moellmann <gerd@gnu.org>
9753
9b2f3c38
GM
9754 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9755 has been found. Fix bug not computing timer's predecessor.
9756
427ec082 9757 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9758 file name.
9759
e1cff360
GM
9760 * window.c (Fsave_window_excursion): Doc fix.
9761
52283633 9762 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 9763
e411ce4b
EZ
97642000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9765
9766 * msdos.c (vga_installed): New function, code moved from
9767 dos_set_window_size.
9768 (Qbar, Qcursor_type, outside_cursor): New variables.
9769 (syms_of_msdos): Intern and staticpro them.
9770 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9771 shape used outside Emacs when called for the first time.
9772 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9773 cursor shape used outside Emacs.
9774 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9775 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9776 type has changed.
9777 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9778 parameters specify the cursor. Make qreverse a global
9779 variable (renamed to Qreverse).
9780
80460654
GM
97812000-03-09 Gerd Moellmann <gerd@gnu.org>
9782
9783 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9784
95cd4c40
SM
97852000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9786
9787 This is a big redesign of failure-stack and register handling, prompted
9788 by bugs revealed when trying to add shy-groups. Overall, what happened
9789 is that loops are now structured a little differently, groups can be
9790 shy and the code is a little simpler.
9791
9792 * regex.h: Update the copyright.
9793 (RE_SHY_GROUPS): New value.
9794 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9795 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9796
80460654
GM
9797 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9798 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9799 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9800 for (start|stop)_memory since they now only take one argument (the
9801 second has becomes unnecessary).
52283633 9802 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
9803 (print_compiled_pattern): Use %ld to printf long ints and flush to
9804 make debugging a little easier.
95cd4c40
SM
9805 (union fail_stack_elt): Make the integer unsigned.
9806 (struct fail_stack_type): Add a `frame' element.
9807 (INIT_FAIL_STACK): Init `frame' as well.
9808 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9809 (DEBUG_PUSH, DEBUG_POP): Remove.
9810 (NUM_REG_ITEMS): Remove.
9811 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9812 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9813 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9814 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
9815 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
9816 New macros.
80460654
GM
9817 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9818 address pushed is not the destination of the jump but the source
9819 of it instead.
95cd4c40
SM
9820 (NUM_FAILURE_ITEMS): Remove.
9821 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9822 registers before the actual failure point). Don't hardcode any
9823 meaning for str==NULL anymore.
95cd4c40 9824 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9825 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9826 Remove.
95cd4c40
SM
9827 (REG_UNSET_VALUE): Use NULL (why not?).
9828 (compile_range): Remove declaration since it doesn't exist.
9829 (struct compile_stack_elt_t): Remove inner_group_offset.
9830 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9831 (regex_grow_registers): Remove dead code.
9832 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9833 (regex_compile): Add shy-groups Change loops to use
9834 on_failure_jump_smart&jump instead of
9835 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9836 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9837 variable to me). Use `jump' instead of `jump_past_alt' and don't
9838 bother with push_dummy_failure in alternatives since it is now
9839 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9840 emacs' for (re)allocating the stack.
9841 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9842 from loop when bufp->can_be_null rather than jumping to `done'.
9843 Avoid jumping backwards so as to ensure termination. Use
9844 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9845 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9846 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9847 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9848 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
9849 (lowest_active_reg, highest_active_reg)
9850 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
9851 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9852 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9853 variables. Push register (in `start_memory') on the stack rather
9854 than storing it in old_reg(start|end). Remove the cycle detection
9855 from `stop_memory', replaced by the use of on_failure_jump_loop
9856 for greedy loops. Add code for the new on_failure_jump_<foo>.
9857 Remove ad-hoc code in `on_failure_jump' to push more registers in
9858 the case of a loop. Take out code from `maybe_pop_jump' into
9859 separate functions and adapt it to the semantics of
9860 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9861 and push_dummy_failure. Remove dummy_failure handling and
9862 handling of `failures to jump to on_failure_jump' (this last one
9863 was already dead code, it seems).
9864 (group_match_null_string_p, alt_match_null_string_p)
9865 (common_op_match_null_string_p): Remove.
95cd4c40 9866
7397acc4
DL
98672000-03-08 Dave Love <fx@gnu.org>
9868
9869 * config.in: Don't depend on __STDC__ for volatile.
9870 Add POINTER_TYPE, PTR, PROTOTYPES.
9871
9872 * hftctl.c, strftime.c: Use PROTOTYPES.
9873 * eval.c (find_handler_clause): Likewise.
9874
9875 * mem-limits.h: Use POINTER_TYPE.
9876
9877 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9878 (memory_warnings): Declare using POINTER_TYPE.
9879
5e91ff9e
GM
98802000-03-08 Gerd Moellmann <gerd@gnu.org>
9881
feab4fba
GM
9882 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9883
52283633 9884 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 9885
5e91ff9e
GM
9886 * xfns.c: Remove obsolete code in #if 0.
9887 (Fx_focus_frame): New function.
9888
a735b7e1
KH
98892000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9890
9891 * coding.c (coding_category_name): Add coding-category-utf-8,
9892 coding-category-utf-16-be, coding-category-utf-16-le.
9893 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9894 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9895 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9896 (detect_coding_utf_8): New function.
9897 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9898 UTF_16_LOW_SURROGATE_P): New macros.
9899 (detect_coding_utf_16): New function
9900 (detect_coding_mask): When priorities are specified, skip any
9901 categories that have `nil' coding-system. Fix bug of returning
9902 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9903 returns a mask not set in PRIORITIES.
9904 (detect_eol_type_in_2_octet_form): New function.
9905 (detect_eol): selects detect_eol_type_XXX to call according to
9906 cooding->category_idx.
9907 (detect_coding_system): Remove `nil' coding-system in the result.
9908 (Fupdate_coding_systems_internal): Update all coding-categories.
9909
52283633
SM
9910 * coding.h (CODING_CATEGORY_IDX_UTF_8)
9911 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
9912 New macros.
9913 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
9914 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9915 (CODING_CATEGORY_IDX_UTF_16_LE)
9916 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
9917 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
9918 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9919 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9920
9994cc69
GM
99212000-03-07 Gerd Moellmann <gerd@gnu.org>
9922
e9b4e5ff
GM
9923 * doc.c (Fdocumentation_property): If value is not a string,
9924 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9925
f7daf1e1
GM
9926 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9927 close the display with XtCloseDisplay. This caused a bus error
9928 on OpenWindows.
9929
9994cc69
GM
9930 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9931 complete but not unique.
9932
4336c705
GM
99332000-03-06 Gerd Moellmann <gerd@gnu.org>
9934
18bb0684
GM
9935 * process.c (send_process): Remove local variable `procname' that
9936 might become invalid when a GC happens. Instead, access the
9937 process name slot directly.
9938
4336c705
GM
9939 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9940 orig_height if set.
9941
9942 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9943 orig_height if set.
9944
515d0d0e
EZ
99452000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9946
9947 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9948 glyph matrices have been freed.
9949
100b3cbb
GM
99502000-03-05 Gerd Moellmann <gerd@gnu.org>
9951
50df5e5a 9952 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9953 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9954
9955 * xfns.c (QCdata): Moved to xdisp.c.
9956
9957 * xdisp.c (QCdata): Moved here from xfns.c.
9958 (syms_of_xdisp): Initialize QCdata.
9959
9960 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9961
9962 * window.c (coordinates_in_window): Use
9963 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9964 FRAME_INTERNAL_BORDER_WIDTH.
9965
100b3cbb 9966 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9967 it is obviously invalid.
100b3cbb
GM
9968
9969 * xterm.c (x_term_init): Create a colormap if not using the
9970 default visual.
9971
9972 * xterm.h (select_visual): Change prototype.
9973
9974 * xfns.c (select_visual): Rewritten. Recognize user-specified
9975 visual classes.
9976 (visual_classes): New variable.
9977
64d739c4
GM
99782000-03-04 Gerd Moellmann <gerd@gnu.org>
9979
9980 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9981 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9982 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 9983 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
9984 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9985 XtNcolormap resources.
9986 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9987 (Fx_create_frame): Initialize color members of x_output structure.
9988 (xpm_load): Pass colormap to XPM lib.
9989
9990 * xfaces.c (x_free_colors): Access colormap of frame using
9991 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9992 when default colormap is used.
9993
9994 * xterm.c (x_term_init): Set Colormap member of x_display_info
9995 structure. Copy colormap if resource `privateColormap' is
9996 specified (PseudoColor only).
9997 (x_setup_relief_color): Access colormap of frame using
9998 FRAME_X_COLORMAP.
9999
10000 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10001 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10002
c3cee013
JR
100032000-03-04 Jason Rumney <jasonr@gnu.org>
10004
10005 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10006 other non-platform-specific equivalents.
64d739c4 10007 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10008 specific functions and macros as their w32 equivalents where
10009 non-platform-specifics are not available.
10010 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10011 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10012 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10013 (frame_update_line_height): Use macros to access f->output_data.
10014 (defined_color): Remove FIXME comments; fixed.
10015 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10016 into #ifdef blocks. Add WINDOWSNT blocks.
10017 (Fx_list_fonts): Use macros for accessing font data.
10018 (set_lface_from_font_name): Different default fonts for X and
10019 WINDOWSNT.
10020 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10021 scalable for backward compatibility.
64d739c4 10022 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10023 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10024
64d739c4 10025 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10026 syms_of_w32faces.
10027
10028 * makefile.nt (w32faces.obj): Remove.
10029 (xfaces.obj): Add.
10030
807cc41c
JR
100312000-03-03 Jason Rumney <jasonr@gnu.org>
10032
10033 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10034 correct parameters.
10035
0007072a
KR
100362000-03-03 Ken Raeburn <raeburn@gnu.org>
10037
10038 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10039 standard ELF definitions here if the system header does not.
10040
71a6ba55
GM
100412000-03-03 Gerd Moellmann <gerd@gnu.org>
10042
10043 * xterm.c (PER_CHAR_METRIC): Removed.
10044 (x_per_char_metric_1, x_default_char): New functions.
10045 (x_per_char_metric): If font's default char is invalid, return
10046 metrics of a suitably chosen usable default char.
10047 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10048 char, replace occurrences of unprintable chars with a suitably
10049 chosen usable default char.
71a6ba55 10050
900fa1f1
GM
100512000-03-02 Gerd Moellmann <gerd@gnu.org>
10052
42f55fe0
GM
10053 * xterm.c (note_mouse_highlight): Return quickly if frame's
10054 glyph matrices have been freed.
10055
10056 * dispnew.c (free_glyphs): Block input while freeing matrices.
10057
900fa1f1
GM
10058 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10059
52283633
SM
10060 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
10061 Use x_free_colors.
900fa1f1
GM
10062
10063 * dispextern.h (x_free_colors): Add prototype.
10064
10065 * xfaces.c (x_free_colors): New function.
10066 (unload_color, free_face_colors): Use it.
10067
2f950292
EZ
100682000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10069
10070 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10071
10072 * window.c [MSDOS]: Include msdos.h.
10073
54d04320
DL
100742000-03-02 Dave Love <fx@gnu.org>
10075
10076 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10077
10078 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10079 set C_OPTIMIZE_SWITCH for gcc.
10080
0ba93ac4
KH
100812000-03-02 Kenichi Handa <handa@etl.go.jp>
10082
10083 * coding.c (coding_save_composition): Be sure to allocate
10084 composition data area in coding even if there's no composition in
10085 the current run.
10086
a2bc11d4
JR
100872000-03-01 Jason Rumney <jasonr@gnu.org>
10088
10089 * w32term.c: Equivalent changes to those made to xterm.c on
10090 2000-02-25 and 2000-02-24.
10091
10092 * w32fns.c: Equivalent changes to those made to xfns.c on
10093 2000-02-25 and 2000-02-21.
10094
10095 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10096 correct line-end convention is followed.
10097
10098 * w32menu.c [HAVE_BOXES]: Remove #undef.
10099 (single_keymap_panes): Remove code for simulating checkmarks.
10100 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10101 Remove code for drawing simulated checkmarks.
10102 (w32_menu_show): make unibyte help string correctly.
10103 (add_menu_item): draw standard Windows checkmarks. Draw radio
10104 buttons as radio buttons if possible.
10105
72d19d75
GM
101062000-03-01 Gerd Moellmann <gerd@gnu.org>
10107
2df636f4
GM
10108 * sysdep.c (start_of_text): Don't define this function for NetBSD
10109 with ELF.
10110
427ec082 10111 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10112 Don't define.
10113 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10114 (LINKER): Don't undef if __NetBSD__ is defined.
10115
10116 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10117
10118 * fileio.c [__NetBSD__]: Define `unix'.
10119
72d19d75
GM
10120 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10121
ed4d0512
GM
101222000-02-29 Gerd Moellmann <gerd@gnu.org>
10123
50b1039f
GM
10124 * atimer.c (start_atimer): Don't abort when timers are stopped.
10125 (append_atimer_lists): New function.
10126 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10127 arbitrary lists of stopped and running atimers.
10128
ed4d0512
GM
10129 * atimer.c (cancel_atimer): Handle canceling an atimer when
10130 some timers are stopped.
10131
10132 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10133 after canceling it.
10134
10135 * fns.c (maybe_resize_hash_table): Handle case of new size
10136 coming out as being the same as old size.
10137
387023ee
JR
101382000-02-27 Jason Rumney <jasonr@gnu.org>
10139
10140 * makefile.nt: Add atimer.h to dependencies.
10141 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10142 * w32console.c: Only disable window system features for dispextern.h
10143 (initialize_w32_display): Build a display info for the console.
10144 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10145 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10146 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10147 as 2 button mice.
10148 * w32gui.h (struct W32FontStruct): Revert last change after change
10149 to xdisp.c.
10150 * w32menu.c (single_submenu): Set up help string.
10151 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10152 (w32_dialog_show): Set up help string.
10153 * w32term.c (w32_display_info_for_display): Remove unused function.
10154 (w32_draw_bitmap): Use pre-built bitmaps.
10155 (w32_initialize_display_info): New function to initialize parts of
10156 display info that are common to both GUI and console frames.
10157 (w32_term_init): Use w32_initialize_display_info. Do not set
10158 Vw32_num_mouse_buttons here, as it is not called for console
10159 frames. Build bitmaps for indicating truncated lines etc.
10160 (x_delete_display): Destroy pre-built bitmaps.
10161 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10162 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10163
4516715a
DL
101642000-02-27 Dave Love <fx@gnu.org>
10165
10166 * lisp.h: Add a bunch of prototypes.
10167
171ca836
KH
101682000-02-26 Kenichi Handa <handa@etl.go.jp>
10169
10170 * keyboard.c (read_char): Set `usec' correctly.
10171
4013921d
KH
101722000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10173
10174 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10175 `lambda', set reg[RRR] to the map index.
10176 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10177 reg[RRR] to 0. Otherwise, set it to -1.
10178
9244a058
GM
101792000-02-25 Gerd Moellmann <gerd@gnu.org>
10180
2df636f4 10181 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10182
18e21ce8 101832000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10184
f43d79c1
GM
10185 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10186 and contains a `:', prepend `/:'.
10187
10188 * window.c (select_window_1): If selected_window is nil,
10189 don't "swap out" the buffer's point.
10190 (Fset_window_configuration): Set selected_window to nil
10191 before calling Fselect_window.
10192 (unshow_buffer): Don't set point in buffer from window's point
10193 if another more recently selected window also shows the buffer.
10194
bed0c171
GM
101952000-02-25 Gerd Moellmann <gerd@gnu.org>
10196
449c3c52
GM
10197 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10198
f5b58615
GM
10199 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10200 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
10201 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
10202 New variables.
f5b58615
GM
10203 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10204 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10205 (hide_busy_cursor): New functions.
10206 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10207
10208 * minibuf.c (read_minibuf): Cancel busy-cursor.
10209
10210 * keyboard.c (command_loop_1): Call start_busy_cursor before
10211 Fcommand_execute and cancel_busy_cursor after it.
10212 (timer_check): Remove busy-cursor code.
10213 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10214 cursor timer.
10215
10216 * process.c (wait_reading_process_input): Remove busy-cursor code.
10217
10218 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10219 Fx_hide_busy_cursor.
10220
10221 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10222 Remove prototyoes.
10223 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10224
10225 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10226
10227 * xterm.c (XTread_socket): Remove busy-cursor code.
10228
4eb8436f
GM
10229 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10230 (build_frame_matrix_from_leaf_window): Put code handling
10231 glyph row's not being a slice of a frame row in #if 0.
10232 (sync_window_with_frame_matrix_rows): New function.
10233 (frame_row_to_window): New function.
10234 (mirror_line_dance): Handle copies between windows.
10235
3cb65b0e
GM
10236 * lread.c (Fload): Use `xfree' instead of `free'.
10237 (init_obarray): Use `xmalloc' instead of `malloc'.
10238
bed0c171
GM
10239 * window.c (Fset_window_buffer): Set WINDOW to the window
10240 after decoding.
2add4349
GM
10241 (coordinates_in_window): Take frame's internal border width
10242 into account.
bed0c171 10243
42088c12
GM
102442000-02-24 Gerd Moellmann <gerd@gnu.org>
10245
10246 * xterm.c (x_display_and_set_cursor): Display cursor of
10247 non-selected windows depending on the setting of
10248 cursor_in_non_selected_windows.
10249
10250 * xdisp.c (cursor_in_non_selected_windows): New variable.
10251 (syms_of_xdisp): DEFVAR_BOOL it.
10252
d1e103b2
GM
102532000-02-23 Gerd Moellmann <gerd@gnu.org>
10254
723e779c
GM
10255 * data.c (Fstring_to_number): If number is greater than what
10256 fits into an integer, return a float.
10257
d1e103b2
GM
10258 * eval.c (specbind): Remove references to
10259 keyword_symbols_constant_flag.
10260
10261 * data.c (keyword_symbols_constant_flag): Removed.
10262 (Fmakunbound, set_internal, syms_of_data): Remove references to
10263 keyword_symbols_constant_flag.
10264
10265 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10266
214f877f
KH
102672000-02-23 Kenichi Handa <handa@etl.go.jp>
10268
10269 * syntax.c (multibyte_syntax_as_symbol): New variable.
10270 (syms_of_syntax): Declare it as a Lisp variable.
10271 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10272 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10273 nonzero, treat all multibyte characters as symbol.
52283633 10274 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 10275
130adcb7
EZ
102762000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10277
3cb65b0e 10278 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10279 a deleted frame.
130adcb7 10280
17cbbf95
GM
102812000-02-21 Gerd Moellmann <gerd@gnu.org>
10282
10283 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10284
10285 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10286 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10287
beb0bc36
DL
102882000-02-21 Dave Love <fx@gnu.org>
10289
10290 * frame.c (Vmouse_position_function): New variable.
10291 (Fmouse_position): Use it.
10292 (syms_of_frame): Install it.
10293
10294 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10295
1d92afcd
GM
102962000-02-20 Gerd Moellmann <gerd@gnu.org>
10297
10298 * fileio.c (Finsert_file_contents): Unbind the binding of
10299 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10300
10301 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10302 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10303 (specbind, unbind_to): Handle most common case of non-constant
10304 symbol with trivial value specially.
10305
10306 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10307
18e21ce8 103082000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10309
10310 * data.c (Fmake_variable_buffer_local): Doc fix.
10311 Init found_for_buffer to 0.
10312 (Fmake_variable_frame_local): If the variable has already
10313 been buffer-local, set the check_frame field.
10314
1d4311c3
EZ
103152000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10316
10317 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10318 produced for CODING_MODE_LAST_BLOCK requires.
10319
2dc95ddd
DL
103202000-02-18 Dave Love <fx@gnu.org>
10321
10322 * keyboard.c (echo_keystrokes): Remove declaration.
10323 (Vecho_keystrokes) New variable.
10324 (read_char, record_menu_key, read_key_sequence): Use it to allow
10325 use of float value.
10326 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10327
10328 * lread.c: Undef feature selection macros before defining.
10329
f0930f35
GM
103302000-02-18 Gerd Moellmann <gerd@gnu.org>
10331
10332 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10333 for symbols other than the symbol in question.
10334
e3d4de90
DL
103352000-02-17 Dave Love <fx@gnu.org>
10336
10337 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10338
0b378936
GM
103392000-02-17 Gerd Moellmann <gerd@gnu.org>
10340
d621caf7
GM
10341 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10342
0b378936
GM
10343 * alloc.c (enum mem_type): Compile unconditionally.
10344
3b451f74
EZ
103452000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10346
10347 * xfaces.c (tty_defined_color): Don't return faulire indication
10348 for unspecified-fg and unspecified-bg pseudo-colors.
10349
10689a01
GM
103502000-02-17 Gerd Moellmann <gerd@gnu.org>
10351
1216f5e4
GM
10352 * alloc.c (mark_object): Don't mark symbol names in pure space.
10353 (gc_sweep): Don't unmark symbol names in pure space.
10354
10355 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10356 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10357 [GC_MARK_STACK]: New defines.
427ec082 10358 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10359 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10360
10361 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10362
10363 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10364 allocate_buffer instead of xmalloc.
10365
10366 * alloc.c (toplevel): Include setjmp.h.
10367 (PURE_POINTER_P): New define.
10368 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10369 (Vdead) [GC_MARK_STACK]: New variable.
10370 (lisp_malloc): Add parameter TYPE, call mem_insert if
10371 GC_MARK_STACK is defined.
10372 (allocate_buffer): New function.
427ec082 10373 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10374 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10375 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10376 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10377 (MEM_NIL) [GC_MARK_STACK]: New define.
10378 (struct mem_node) [GC_MARK_STACK]: New structure.
10379 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10380 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10381 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10382 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10383 (mark_stack) [GC_MARK_STACK]: New functions.
10384 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10385 (clear_marks): Removed.
10386 (gc_sweep): Set free conses' car, free floats' type, free
10387 symbols' function to Vdead. Use lisp_free to free buffers.
10388 (init_alloc_once): Initialize Vdead.
10389 (survives_gc_p): Return non-zero for pure objects.
10390
10391 * alloc.c: Add comments throughout the file.
10392
2503c8b1
GM
10393 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10394 that unblocks alarms.
10395
8389e1e2
GM
10396 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10397 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10398 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10399
10689a01 10400 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10401
bfc17d18
KH
104022000-02-17 Kenichi Handa <handa@etl.go.jp>
10403
4a09dee0
KH
10404 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10405 avoid infinite error signaling. Allocate sufficient memory for
10406 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10407
2b927d02
SM
104082000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10409
10410 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10411 depends on the previous behavior.
10412
b49cb764
GM
104132000-02-16 Gerd Moellmann <gerd@gnu.org>
10414
10415 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10416
99e95407
GM
104172000-02-15 Gerd Moellmann <gerd@gnu.org>
10418
10419 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10420
10421 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10422 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10423 write(2).
10424
6ffd3cf7
RS
104252000-02-15 Richard M. Stallman <rms@gnu.org>
10426
10427 * data.c (set_internal): Don't make variable buffer-local
10428 if within a let-binding for the same buffer.
10429 (let_shadows_buffer_binding_p): New function.
10430
10431 * eval.c (specbind): For buffer-local value,
10432 record the current buffer also.
10433 (unbind_to): Cope with that change.
10434
cad53475
GM
104352000-02-15 Gerd Moellmann <gerd@gnu.org>
10436
10437 * window.c (Fsave_window_excursion): Doc fix.
10438
1aa963c8
SM
104392000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10440
10441 * syntax.c (back_comment): Make sure we only consider comment-starters
10442 of the relevant style and return -1 in case of a failure to find the
10443 beginning of the comment.
10444 (Fforward_comment): If back_comment fails, go back to the position just
10445 after the comment-end.
10446 (scan_lists): Add comment describing a very minor bug.
10447
b9b84fd3
SM
104482000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10449
10450 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10451 `completion-regexp-list' in the docstring.
10452
3a28db80
DL
104532000-02-14 Dave Love <fx@gnu.org>
10454
10455 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10456
fb4a568d
SM
104572000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10458
10459 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10460 to Emacs' syntax. Also fix the comment about set/not-set meanings
10461 since Emacs syntax is not the value 0 any more.
10462 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10463 since it's now part of RE_SYNTAX_EMACS.
10464
1063ebb5
DL
104652000-02-12 Dave Love <fx@gnu.org>
10466
52283633 10467 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 10468
fb07a302
GM
104692000-02-12 Gerd Moellmann <gerd@gnu.org>
10470
10471 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10472
aaf2320c
DL
104732000-02-12 Dave Love <fx@gnu.org>
10474
10475 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10476
10477 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10478 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10479 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10480
10481 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10482
10483 * s/nextstep.h: Don't define HAVE_ALLOCA.
10484
10485 * config.in: Add vfork bits.
10486
eedf8bde
GM
104872000-02-12 Gerd Moellmann <gerd@gnu.org>
10488
10489 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10490 unwind function to undo the effect of stopping atimers.
10491
52283633 10492 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
10493
10494 * atimer.c (stopped_atimers): New variable.
10495 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10496 New functions.
10497
10498 * atimer.h (stop_other_atimers, run_all_atimers)
10499 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10500
eedf8bde
GM
10501 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10502
8476c2f8
KR
105032000-02-11 Ken Raeburn <raeburn@gnu.org>
10504
10505 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10506 library may depend on jpeg.
10507 (atimer.o): Depends on atimer.c.
10508
0e85e4a3
KH
105092000-02-11 Kenichi Handa <handa@etl.go.jp>
10510
10511 * insdel.c (del_range_1): Call update_compositions.
10512 (del_range_both): Call update_compositions just once..
10513
97fa0cc8
DL
105142000-02-10 Dave Love <fx@gnu.org>
10515
10516 * xfns.c (create_frame_xic): Fix initialization of automatic
10517 aggregates for pcc.
10518
25566a3c
KH
105192000-02-09 Kenichi Handa <handa@etl.go.jp>
10520
10521 * ccl.c (CCL_MAKE_CHAR): New macro.
10522 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10523 registers by CCL_MAKE_CHAR before calling translate_char.
10524 <CCL_TranslateCharacterConstTbl> Likewise.
10525
69da54ba
DL
105262000-02-08 Dave Love <fx@gnu.org>
10527
10528 * lread.c (__EXTENSIONS__): Define.
10529
f7136ee8
GM
105302000-02-08 Gerd Moellmann <gerd@gnu.org>
10531
10532 * puresize.h (BASE_PURESIZE): Increase to 650000.
10533
7768790b
EZ
105342000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10535
10536 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10537 the help message.
10538
38fd211b
EZ
105392000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10540
10541 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10542 md, mh, mb, mr, and me to the fake termcap entry.
10543
66e4690f
KR
105442000-02-06 Ken Raeburn <raeburn@gnu.org>
10545
10546 * sound.c (sound_cleanup): Don't call device close routine if the
10547 function pointer is null.
10548
a75dfea0
AI
105492000-02-06 Andrew Innes <andrewi@gnu.org>
10550
10551 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10552 around image definitions and prototypes.
10553 (gamma_correct) [WINDOWSNT]: New prototype.
10554
10555 * w32term.c (x_make_frame_visible): Replace call to
10556 input_poll_signal with poll_for_input.
10557
10558 * window.c [WINDOWSNT]: Include w32term.h.
10559
10560 * xdisp.c [WINDOWSNT]: Include w32term.h.
10561
10562 * makefile.nt: Add dependencies on w32gui.h.
10563 (OBJ1): Include atimer.obj.
10564 ($(BLD)\atimer.obj): New dependency rule.
10565
10566 * w32.c (sigmask): New function (does nothing).
10567 (sigunblock): Ditto.
10568
10569 * frame.c [WINDOWSNT]: Include w32term.h.
10570
10571 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10572
10573 * lread.c (syms_of_lread): Fix literal newlines.
10574
10575 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10576 the string constant limit (2048 bytes) in MSVC.
10577 (main): Ditto.
10578
59ddecde
GM
105792000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10580
52283633 10581 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
10582 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10583 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10584 dispatch the event.
10585
07590973
DL
105862000-02-04 Dave Love <fx@gnu.org>
10587
10588 * fileio.c: Remove some unused vars.
10589 (_GNU_SOURCE): Define (for euidaccess).
10590
10591 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10592
10593 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10594 gcpro1, gcpro2.
10595 (read_minibuf): Deal with allow_props correctly.
10596
649351f9
EZ
105972000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10598
10599 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10600
66e4690f 106012000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10602
10603 * search.c (compile_pattern): If a cache entry has a nil regexp,
10604 fill in that entry instead of clobbering a previously cached
10605 string regexp.
10606
66e4690f 106072000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10608
10609 * puresize.h (BASE_PURESIZE): Increase to 610000.
10610
d240a249
GM
106112000-02-02 Gerd Moellmann <gerd@gnu.org>
10612
10613 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10614 can GC.
10615
ca91fb26
KH
106162000-02-02 Kenichi Handa <handa@etl.go.jp>
10617
25660570
KH
10618 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10619 instead of incrementing ic directly.
10620 <CCL_WriteExprConst> Likewise.
10621 <ccl_set_expr>: Set ic to jump_address.
10622
ca91fb26
KH
10623 * fileio.c (e_write): Fix the handling of
10624 CODING_FINISH_INSUFFICIENT_SRC.
10625
2ede9689
DL
106262000-02-01 Dave Love <fx@gnu.org>
10627
10628 * editfns.c (Fpropertize): Doc fix.
10629
10630 * process.c (Fstart_process): Doc fix.
10631
10632 * eval.c: Fix various doc strings not to duplicate information
10633 from help-manyarg-func-alist.
10634
52283633 10635 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
10636
10637 * doc.c (Vhelp_manyarg_func_alist): New variable.
10638 (Fdocumentation): Use it.
10639 (syms_of_doc): Define it.
10640
b6680a0e
GM
106412000-01-31 Gerd Moellmann <gerd@gnu.org>
10642
2cb750ba
GM
10643 * xterm.c (xim_open_dpy): Remove unused local variable.
10644
52283633 10645 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
10646
10647 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10648 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10649
b6680a0e
GM
10650 * fns.c (sweep_weak_table): New function.
10651 (sweep_weak_hash_tables): Use it. Keep on marking until there
10652 is no more change.
10653
994c5afe
GM
106542000-01-30 Gerd Moellmann <gerd@gnu.org>
10655
10656 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10657 that XTread_socket does not crash by trying to call XNoOp on a
10658 closed display.
427ec082 10659
f00276e3
JR
106602000-01-30 Jason Rumney <jasonr@gnu.org>
10661
10662 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10663 Change selected_frame to SELECTED_FRAME ().
10664 (w32_console_mouse_position): Remove #ifndef MULE from around
10665 `insist' parameter.
10666
10667 * makefile.nt: Remove dosfns.obj.
10668
10669 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10670
10671 * w32fns.c (w32_defined_color): Check for valid frame before
10672 applying gamma correction. Eliminate dependency on frame elsewhere.
10673 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10674 (w32_to_x_font): Use resx and resy not height_in and width_in.
10675 (x_to_w32_font): Doc fix.
10676 (xlfd_strip_height): New function to strip and return font height.
10677 (w32_font_match): Compare height separately from rest of xlfd
10678 spec, using xlfd_strip_height.
10679
10680 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10681 width_in. Use w32_defined_color in place of defined_color.
10682
10683 * w32faces.c: Merge more of DOS and X specifics in preparation for
10684 merge with xfaces.c.
10685 (defined_color): Remove FIXME comment.
10686 (tty_color_name): Provide w32-specific function.
10687 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10688
10689 * w32console.c (turn_on_face, turn_off_face): Removed.
10690 (w32_face_attributes): New function.
10691 (Global_variables): Reduce scope where possible.
10692 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10693 fill attribute.
10694 (hl_mode): Don't modify text attributes.
10695 (write_glyphs): Don't do anything if len <= 0. Use
10696 w32_face_attributes to get attributes for drawing. Write
10697 terminating codes using char_attr_normal.
10698 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10699 (update_begin, update_end): Likewise.
10700 (vga_stdcolor_name): New function.
10701 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10702 (Fset_screen_color): Remove char_attr_reverse.
10703
b08e8bb2
GM
107042000-01-29 Gerd Moellmann <gerd@gnu.org>
10705
10706 * xfns.c (xic_set_preeditarea): Take window parameter and
10707 window-relative pixel-positions.
10708
10709 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10710 is its frame's selected window.
10711 (xim_instantiate_callback): Likewise.
10712
10713 * xfns.c (x_create_im): Removed.
10714 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10715 (supported_xim_styles): Renamed from supported_styles.
10716 (best_xim_style): Renamed from best_style.
10717 (create_frame_xic): Renamed from xic_create_frame.
10718 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10719
b08e8bb2
GM
107202000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10721
10722 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10723 our frames, call XFilterEvent with 2nd parameter `None'.
10724 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10725 returning XBufferOverflow.
52283633 10726 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
10727 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10728 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10729 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10730 (xim_initialize, xim_close)
10731 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10732 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10733 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10734 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10735
10736 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10737 and `xim_styles'.
10738 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10739 `xic_style' and `xic_xfs'.
10740 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10741 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10742 (FRAME_XIM): Removed.
10743
10744 * xfns.c (supported_styles): New variable.
10745 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10746 (xic_create_xfontset, best_style, xic_create_frame)
10747 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10748 (xic_set_xfontset): New functions.
10749
142e109c
DL
107502000-01-28 Dave Love <fx@gnu.org>
10751
10752 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10753
10754 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10755
b02786f9
GM
107562000-01-28 Gerd Moellmann <gerd@gnu.org>
10757
d060bc9f
GM
10758 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10759 for *scratch* if it already existed.
10760
b02786f9
GM
10761 * emacs.c (USAGE): New macro.
10762 (main): Use it to display usage information.
10763
2c52d7e4
EZ
107642000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10765
10766 Support for the menu-help feature:
10767
52283633 10768 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
10769
10770 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10771 part of the line to the termscript file.
10772 (IT_clear_to_end): Clear the entire line, not just its beginning.
10773 (menu_help_message, prev_menu_help_message): New variables.
10774 (IT_menu_make_room): Make room for the help_text member.
10775 (IT_menu_display): New argument disp_help; all callers changed.
10776 If disp_help is non-zero, store the help text of the active menu
10777 item in menu_help_message.
10778 (XMenuAddPane): Initialize the help_text member to NULL.
10779 (XMenuAddSelection): New argument help_text. Store it in the
10780 XMenu structure.
10781 (XMenuActivate): New argument help_callback. If the value of
10782 menu_help_message has changed since the last time, display the
10783 menu help message text while waiting for the mouse to move. Clear
10784 the echo area before exiting.
10785 (XMenuDestroy): Free the help_text member.
10786
ffe0bcd1
GM
107872000-01-27 Gerd Moellmann <gerd@gnu.org>
10788
10789 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10790 XMenuAddSelection. Pass help callback to XMenuActivate.
10791 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10792
50dbd23f
EZ
107932000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10794
10795 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10796 and EMACS_SET_USECS.
10797
f5941bf8
GM
107982000-01-26 Dave Love <fx@gnu.org>
10799
6c67ddee
DL
10800 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10801
f5941bf8
GM
10802 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10803 an error may be signalled.
10804
9e49c990
GM
108052000-01-26 Gerd Moellmann <gerd@gnu.org>
10806
fc3cb460
GM
10807 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10808 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10809
9e49c990
GM
10810 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10811
d0c037d8
GM
108122000-01-25 Gerd Moellmann <gerd@gnu.org>
10813
10814 * charset.c (Fstring): If there is a multibyte char among
10815 the args, always return a multibyte string.
10816
e12489f9
GM
108172000-01-25 Gerd Moellmann <gerd@gnu.org>
10818
10819 * sysdep.c (sys_select): Turn atimers off and on instead of
10820 recording and restoring old alarm handler
10821
10822 * process.c (toplevel): Include atimer.h.
10823 (create_process_1): Rewritten.
10824 (create_process): Use atimers instead of alarm.
10825 (wait_reading_process_input) [hpux]: Turn atimers off instead
10826 of turning off SIGALRM.
10827 (wait_reading_process_input): Turn off atimers instead off
10828 calling stop_polling.
10829
10830 * emacs.c (main): Call init_atimer.
10831
10832 * keyboard.c (toplevel): Include systime.h and atimer.h.
10833 (polling_for_input): Removed because unused.
10834 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10835 (poll_timer): New variable.
10836 (poll_for_input, poll_for_input_1): New functions.
10837 (start_polling, stop_polling): Rewritten.
10838
10839 * keyboard.h (polling_for_input): Removed.
427ec082 10840
e12489f9
GM
10841 * atimer.h, atimer.c: New files.
10842
10843 * Makefile.in (obj): Add atimer.o.
10844 (atimer.o): New target.
10845
10846 * blockinput.h (pending_atimers): Add extern declaration.
10847 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10848
10849 * lisp.h (popup_activated_flag): Add extern declaration.
10850
10851 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 10852 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
10853 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10854
10855 * xterm.c (toplevel): Include atimer.h.
10856 (toolkit_scroll_bar_interaction): New variable.
10857 (Fxt_process_timeouts): Removed.
10858 (x_process_timeouts): New function.
10859 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10860 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10861 (x_make_frame_visible): Call poll_for_input_1 instead of
10862 input_poll_signal. Don't call alarm.
10863 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10864
1e5279b9
DL
108652000-01-24 Dave Love <fx@gnu.org>
10866
6c67ddee 10867 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10868 Don't use -cckr -- apparently not now necessary.
10869
edf6aeb8
EZ
108702000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10871
10872 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10873 screen boundary.
10874
9badad41
JR
108752000-01-23 Jason Rumney <jasonr@gnu.org>
10876
10877 * w32fns.c (w32_defined_color): Apply gamma correction before
10878 trying to map to the palette.
10879 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10880 to w32_clear_rect.
10881
10882 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10883 here. Callers changed to always pass real device context.
10884 (w32_draw_bitmap): Likewise.
10885 (w32_get_glyph_overhangs): Likewise.
52283633 10886 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
10887 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10888 pfnSetScrollInfo and SetScrollRange.
10889 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10890 back into MULE characters after decoding them.
10891 (x_get_glyph_face_and_encoding): Likewise.
10892 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10893 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10894 (x_produce_glyphs): Calculate per char metrics for a character
10895 that we know exists in default font when font_not_found_p is true.
10896
63bd786b
JR
108972000-01-22 Jason Rumney <jasonr@gnu.org>
10898
10899 * makefile.nt (intervals.obj, composite.obj): New modules.
10900 (composite.h): Added as dependency where appropriate.
10901
10902 * w32gui.h (XGCValue): New struct for emulating X GCs.
10903
10904 * w32term.h (XCharStruct): New struct for emulating X.
10905
10906 * w32console.c (turn_on_face, turn_off_face): New functions.
10907 (change_line_highlight): New prototype for new redisplay.
10908 (write_glyphs): Support multibyte text. Support faces.
10909
52283633 10910 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
10911
10912 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10913 throughout. struct frame * in place of FRAME_PTR.
10914 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 10915 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
10916 (w32_get_arg): Renamed from x_get_arg.
10917 (Fx_file_dialog): New function.
10918 (w32_list_fonts): Check cache before asking system.
10919 (Vw32_enable_synthesized_fonts): New variable.
10920 (Vw32_enable_italics): Obsolete, removed.
10921
10922 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10923 Use SELECTED_FRAME macro.
10924
10925 * w32menu.c: Add skeleton support for help strings on menus.
10926 (add_menu_item): Native checkbox and radio support added, but not
10927 yet enabled due to bugs.
10928 (push_menu_item): Add parameters type, selection and help.
10929 Callers updated.
10930 Formatting changes to reduce unnecessary diffs with xmenu.c.
10931
10932 * w32select.c (Fw32_set_clipboard_data): Update call to
10933 find_charset_in_str.
10934
10935 * w32term.c: Complete rewrite for new redisplay based on new
10936 xterm.c with necessary sections merged back in from old w32term.c.
10937
6ffd3cf7 109382000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10939
10940 * data.c (set_internal): Further fix in same criterion.
10941
6ffd3cf7 109422000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10943
10944 * data.c (set_internal): Fix the criteria for whether
10945 to swap out the old cached binding.
10946
60af03f1
DL
109472000-01-19 Dave Love <fx@gnu.org>
10948
10949 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10950
f9be074f
KH
109512000-01-18 Kenichi Handa <handa@etl.go.jp>
10952
10953 * regex.c (re_compile_fastmap): While checking a range table for
10954 `charset', skip flag bits for a character class correctly.
10955
52b8dbf9
GM
109562000-01-17 Gerd Moellmann <gerd@gnu.org>
10957
d36100c9
GM
10958 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10959
52283633 10960 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
10961
10962 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 10963 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
10964
10965 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10966 MENU_ITEMS_ITEM_.*.
10967 (MENU_ITEMS_ITEM_HELP): New enumerator.
10968 (push_menu_item): Add parameter HELP. Record help in menu_items.
10969 (single_menu_item, single_submenu, list_of_items): Call
10970 push_menu_item with new parameter.
10971 (single_submenu): Set help string in widget value.
10972 (menu_highlight_callback): New function.
10973 (set_frame_menubar): Call lw_create_widget with new
10974 parameter list.
10975 (xmenu_show, xdialog_show): Ditto.
10976
3139018f
GM
109772000-01-13 Gerd Moellmann <gerd@gnu.org>
10978
10979 * sound.c (Fplay_sound): Improve doc string.
10980
83c8f461
RS
109812000-01-11 Richard M. Stallman <rms@gnu.org>
10982
10983 * lisp.h (set_internal): Enter the new arg.
10984
10985 * eval.c (specbind): Record buffer-local variables specially,
10986 indicating which buffer's binding was saved.
10987 (unbind_to): Restore buffer-local variables specially
10988 in the proper buffer.
10989
10990 * data.c (set_internal): New arg BUF.
427ec082 10991
83c8f461
RS
10992 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10993 * data.c (Fset): Pass new arg to set_internal.
10994 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10995
1fab1775
GM
109962000-01-11 Gerd Moellmann <gerd@gnu.org>
10997
52283633 10998 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 10999
83c8f461 110002000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11001
11002 * minibuf.c (Ftry_completion): Doc fix.
11003
7a85e4df
GM
110042000-01-11 Gerd Moellmann <gerd@gnu.org>
11005
11006 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11007 vector, too.
11008
a970dae4
AS
110092000-01-11 Andreas Schwab <schwab@suse.de>
11010
11011 * coding.c (code_convert_region): Initialize total_skip.
11012
c65d14ee
DL
110132000-01-08 Dave Love <fx@gnu.org>
11014
11015 * eval.c (Fuser_variable_p): Check customizability too.
11016
834938d2
GM
110172000-01-07 Gerd Moellmann <gerd@gnu.org>
11018
11019 * minibuf.c (Fcompleting_read): Doc fix.
11020
e0303cd6
GM
110212000-01-05 Gerd Moellmann <gerd@gnu.org>
11022
8a26744b
GM
11023 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11024 -L /usr/local/lib.
11025
e0303cd6
GM
11026 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11027 Check that input style is supported before trying to create an
11028 IC for it.
11029 (x_window): Call x_create_im.
427ec082 11030
2e471eb5
GM
110312000-01-04 Gerd Moellmann <gerd@gnu.org>
11032
560a7bd2
GM
11033 * xfns.c (current_gif_memory_src): New variable.
11034 (gif_load): Record the address of the current memory source
11035 in current_gif_memory_src.
11036 (gif_read_from_memory): Use current_gif_memory_src.
11037
f9ee84a3
GM
11038 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11039 macros statement form.
11040
d1299cde
GM
11041 * sound.c (struct sound): Renamed from struct sound_file.
11042 (struct sound): Add members `data' and `header_size'.
11043 (enum sound_attr): Add SOUND_DATA.
11044 (current_sound, current_sound_device): Variables renamed from
11045 sound_file and sound_device.
11046 (parse_sound): Parse :data.
11047 (parse_sound): Handle sound data in strings.
11048 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11049 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11050 needed header size.
11051 (wav_play, au_play): Play sounds from string data.
11052
2e471eb5
GM
11053 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11054
11055 * lisp.h: Add prototype for allocate_string_data.
11056
52283633 11057 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
11058
11059 * alloc.c (mark_buffer): Remove code in #if 0.
11060 (gc_sweep): Ditto.
11061 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11062 (strings_consed): New variable.
11063 (allocate_string): Set it.
11064 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11065 (Fmemory_use_counts): Return strings_consed. Use Flist.
11066
11067 * alloc.c: General cleanup in comments etc. Remove conditional
11068 compilation for `standalone'.
11069
11070 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11071
11072 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11073 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11074 (DONT_COPY_FLAG): Removed.
11075 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11076 (struct sdata, struct sblock): New
11077 (struct string_block): Rewritten.
11078 (STRINGS_IN_STRING_BLOCK): New macro.
11079 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11080 (large_sblocks, string_blocks, string_free_list): New variables.
11081 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11082 (init_strings): Rewritten.
11083 (allocate_string, allocate_string_data, compact_small_strings)
11084 (free_large_strings, sweep_strings): New functions.
11085 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11086 (struct string_block_head, current_string_block)
11087 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11088 (STRING_PAD): Removed.
11089 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11090 (Fgarbage_collect): Don't set mark bit in large strings.
11091 (mark_object): Mark strings differently. Mark symbol names
11092 differently.
11093 (survives_gc_p): Test marked strings differently.
427ec082 11094 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11095 symbol names.
11096 (compact_strings): Removed.
11097
42608ba8
EZ
110982000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11099
11100 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11101 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11102
e0a09e1a
KH
111032000-01-04 Kenichi Handa <handa@etl.go.jp>
11104
dd9f0750 11105 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11106 in a non-empty buffer.
dd9f0750 11107
3c0f3b15 11108 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11109
44cd3ae5
GM
111102000-01-03 Gerd Moellmann <gerd@gnu.org>
11111
11112 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11113 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11114
11115 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11116
c182a70f
EZ
111172000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11118
11119 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11120 need to test for MSDOS frames.
11121
24480d5b
EZ
111222000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11123
11124 * dosfns.c (unspecified_colors): Remove.
11125 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11126 unspecified_bg.
11127 (msdos_stdcolor_name): Return strings for unspecified fore- and
11128 back-ground colors.
11129
11130 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11131 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11132 (tty_color_name): Return Lisp strings for unspecified fore- and
11133 back-ground colors.
11134 (Finternal_set_lisp_face_attribute): Remove the special treatment
11135 for Qunspecified_{f,b}g.
52283633 11136 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 11137
047f434a
GM
111382000-01-03 Gerd Moellmann <gerd@gnu.org>
11139
11140 * xdisp.c (reseat_at_next_visible_line_start): Position before
11141 newline only if ending up on a newline.
11142 (next_element_from_ellipsis): Return success. Handle case of
52283633 11143 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
11144 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11145 returns 0.
11146
d684c676
EZ
111472000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11148
11149 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11150 (Fcolor_supported_p): Renamed from face-color-supported-p.
11151
5fe1d139
EZ
111522000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11153
11154 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11155 list of colors renamed to tty-defined-color-alist.
11156 (tty_color_name): Pass the frame to tty-color-by-index.
11157 (realize_tty_face): tty-color-alist is now a function which
11158 accepts the frame as argument.
11159
52283633 11160 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 11161
816be8b8
EZ
111622000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11163
11164 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11165 encode_terminal_code.
11166
b635321e
EZ
111672000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11168
11169 * dispnew.c (mode_line_string): Support termcap frames as well.
11170
9b784e96
GM
111712000-01-01 Gerd Moellmann <gerd@gnu.org>
11172
27189709
GM
11173 * syntax.c (Fforward_word): Undo previous change.
11174
11175 * editfns.c (Fconstrain_to_field): Don't constrain if
11176 inhibit-field-text-motion is non-nil.
11177 (Fline_beginning_position): Undo previous change.
11178 (Fline_end_position): Ditto.
11179
11180 * syntax.c (Fforward_word): Notice field boundaries only if
11181 inhibit-field-text-motion is nil.
11182
11183 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11184
11185 * editfns.c (Vinhibit_field_text_motion): New variable.
11186 (inhibit-field-text-motion): New DEFVAR_LISP.
11187 (Fline_beginning_position, Fline_end_position): Notice field
11188 boundaries only if inhibit-field-text-motion is nil.
11189
45158a91
GM
11190 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11191 All calls adjusted.
11192 (x_build_heuristic_mask): Likewise.
11193 (xbm_load_image_from_file): Change error output.
11194 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11195 (gif_load, gs_load, x_kill_gs_process): Ditto.
11196
9b784e96
GM
11197 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11198 color indices when accessing raster pixels.
63cec32f
GM
11199 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11200 one of :file or :data.
11201 (enum pbm_keyword_index): Add PBM_DATA.
11202 (pbm_format): Add :data.
11203 (pbm_image_p): Allow either :file or :data.
11204 (pbm_read_file): New function.
11205 (pbm_scan_number): Rewritten to read from string.
11206 (pbm_load): Support :data.
9b784e96 11207
2cb085db 11208See ChangeLog.8 for earlier changes.
6922b018
KH
11209
11210;; Local Variables:
49b3bd82 11211;; coding: iso-2022-7bit
6922b018 11212;; End: