(TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Variables removed.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
abcce93a
MB
12001-10-20 Miles Bader <miles@gnu.org>
2
3 The following changes remove the glyph_row `inverse_p' field,
4 which is never set anymore, due to other changes:
5
6 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
7 (reassert_line_highlight, change_line_highlight): Declarations removed.
8 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
9 (line_hash_code, row_equal_p, fake_current_matrices)
10 (build_frame_matrix_from_leaf_window, update_frame_line)
11 (update_frame_line, update_frame_line, update_frame_line):
12 Don't use `inverse_p' field.
13 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
14 change_line_highlight_hook.
15 (XTreassert_line_highlight, x_change_line_highlight):
16 Functions removed.
17 (x_fix_overlapping_area, x_write_glyphs, expose_area)
18 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
19 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
20 `inverse_p' field.
21 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
22 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
23 (w32_reassert_line_highlight, x_change_line_highlight):
24 Functions removed.
25 * w32console.c (reassert_line_highlight, change_line_highlight):
26 Functions removed.
27 (initialize_w32_display): Don't set reassert_line_highlight_hook
28 or change_line_highlight_hook.
29 (hl_mode): Function removed.
30 (reset_terminal_modes, set_terminal_modes, update_begin)
31 (update_end, w32_face_attributes, initialize_w32_display):
32 (clear_frame, ins_del_lines): Don't call it.
33 * termhooks.h (reassert_line_highlight_hook)
34 (change_line_highlight_hook): Declarations removed.
35 * term.c (reassert_line_highlight_hook)
36 (change_line_highlight_hook): Variables removed.
37 (reassert_line_highlight, change_line_highlight): Functions removed.
38 * msdos.c (IT_reassert_line_highlight)
39 (IT_change_line_highlight): Functions removed.
40 (internal_terminal_init): Don't set reassert_line_highlight_hook
41 or change_line_highlight_hook.
42 (highlight): Variable removed.
43 (IT_set_face, IT_update_begin, IT_update_end)
44 (IT_set_terminal_modes): Don't set or use it.
45
46 The following changes remove inverse-video support for terminals
47 that use a `magic cookie' standout mode. Due to changes in the
48 way mode-lines are displayed, such support no longer works
49 anyway, and it's probable that almost no one uses such terminals
50 anymore:
51
52 * term.c (standout_requested): Variable removed.
53 (update_end, highlight_if_desired): Don't use it.
54 (chars_wasted, copybuf): Variables removed.
55 (write_standout_marker): Function removed.
56 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
57 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
58 Don't use `chars_wasted' or `copybuf'.
59 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
60 Set `costs_set' to true.
61 (cursor_to, clear_end_of_line): Test `costs_set' instead of
62 `chars_wasted'.
63 (clear_end_of_line): Function removed.
64 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
65 (clear_to_end): Call `clear_end_of_line' instead of
66 `clear_end_of_line_raw'.
54800acb
MB
67 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
68 (term_init): Don't set them.
69 Turn off any standout/underline modes that require magic cookies.
70 (ins_del_lines, highlight_if_desired, background_highlight)
71 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
72 Remove special processing for magic-cookie standout modes.
73 (turn_off_face, turn_on_face): Remove special processing for
74 underline magic-cookie glitch.
abcce93a 75
0b5f679f
RS
762001-10-19 Richard M. Stallman <rms@gnu.org>
77
78 * eval.c (syms_of_eval): Doc fixes.
79
5a4a5bd4
GM
802001-10-19 Gerd Moellmann <gerd@gnu.org>
81
82 * xdisp.c (redisplay_internal): Don't clear echo area if the
83 mini-window is selected.
84
79f1f96c
MB
852001-10-19 Miles Bader <miles@gnu.org>
86
b57c2708
MB
87 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
88 doesn't take precedence if the affected property's value is nil.
89
90 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
91
79f1f96c
MB
92 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
93 with fields and suggest using `forward-line' to avoid them.
94 * editfns.c (Fline_beginning_position, Fline_end_position):
95 Clarify documentation.
96
ef879104
SM
972001-10-18 Stefan Monnier <monnier@cs.yale.edu>
98
99 * keymap.c (current_minor_maps): `override' only shadows its
100 correspondent in minor-mode-map-alist, not the whole tail.
101
97f4db8c
AI
1022001-10-18 Andrew Innes <andrewi@gnu.org>
103
104 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
105 optimization. The fontp->encoding array was not being initialized
106 correctly when compiled with optimizations by MSVC.
107
e6b70fd8
GM
1082001-10-18 Gerd Moellmann <gerd@gnu.org>
109
30903479 110 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 111
0e804d38
AI
1122001-10-17 Andrew Innes <andrewi@gnu.org>
113
114 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
115
116 * w32fns.c (w32_load_system_font): Cache codepage for font, in
117 font_info.charset field.
118
119 * w32term.c (w32_encode_char): Get cached codepage from font_info,
120 rather than working it out by calling w32_codepage_for_font for
121 every glyph.
122
66e5868a
AI
1232001-10-17 Andrew Innes <andrewi@gnu.org>
124
125 * w32term.c (w32_read_socket): Determine clipping rectangle for
126 the entire frame, including areas covered by scrollbars and the
127 menubar. This avoids internal arguments about whether a frame is
128 fully obscured or not.
129
15b00083
GM
1302001-10-17 Gerd Moellmann <gerd@gnu.org>
131
23e8bd86
GM
132 * xdisp.c (try_window_id): Undo last change. Give up if
133 window ends in strings.
30903479 134
9c6ba6d1 135 * xdisp.c (try_window_id): Don't display lines after the window
30903479 136 end if the rest of the window after the window end was already blank.
23e8bd86 137
30903479 138 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
139 for the release of 21.1.
140
30903479 141 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 142
945220bd
MB
1432001-10-17 Miles Bader <miles@gnu.org>
144
145 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
146 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
147 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
148 Change doc-string comments to `new style' [w/`doc:' keyword].
149 (DOC_STRINGS_IN_COMMENTS): Macro removed.
150 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
151 out make-docfile.
152
14242528
MB
1532001-10-16 Miles Bader <miles@gnu.org>
154
155 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
156
3ddf952f
GM
1572001-10-16 Gerd Moellmann <gerd@gnu.org>
158
159 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
160 *scratch*.
161
f3fbd155
KR
1622001-10-16 Ken Raeburn <raeburn@gnu.org>
163
164 Avoid the assumption that car and cdr slots of cons cells are
165 addressable lvalues; this allows for easier experimentation with
166 other lisp implementations that may not permit such accesses for
167 various reasons. Not quite complete -- buffer.c still needs some
168 work, and w32/mac files need rechecking -- so compile-time
169 enforcement is left disabled for now.
170
171 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 172 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
173 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
174 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
175 (XSETCAR, XSETCDR): New macros.
176 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
177 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
178 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
179 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
180 XSETCDR.
181 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
182 * buffer.c (record_buffer, Fbury_buffer)
183 (swap_out_buffer_local_variables, recenter_overlay_lists)
184 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
185 fields of a cons cell respectively.
186 * callint.c (quotify_args, Fcall_interactively): Likewise.
187 * ccl.c (Fregister_code_conversion_map): Likewise.
188 * coding.c (detect_coding_system): Likewise.
189 * composite.c (get_composition_id, make_composition_value_copy):
190 Likewise.
30903479
SM
191 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
192 (swap_in_symval_forwarding, set_internal, Fset_default)
193 (Fmake_variable_buffer_local, Fmake_local_variable)
194 (Fmake_variable_frame_local): Likewise.
f3fbd155 195 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
196 * keymap.c (Fset_keymap_parent, store_in_keymap)
197 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
198 Likewise.
199 * minibuf.c (get_minibuffer): Likewise.
200 * search.c (Fmatch_data): Likewise.
201 * textprop.c (extend_property_ranges): Likewise.
202 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
203 Likewise.
204 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
205 Likewise.
206 * w32term.c (x_delete_display): Likewise.
207 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
208 Likewise.
209 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
210 Likewise.
211 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 212 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
213 (Fread_file_name): Use XSETCAR.
214 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
215 CHECK_NUMBER_CDR.
216 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
217 * frame.c (Fmake_terminal_frame): Use XSETCDR.
218 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
219 CHECK_NUMBER_CDR.
220 * keyboard.c (read_char): Alter list traversal to avoid taking the
221 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
222 (parse_menu_item): Use XSETCAR and XSETCDR.
223 (reach_char_x_menu_prompt): Use XSETCAR.
224 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
225 (Fcommand_execute): Use XSETCDR.
226 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
227 (openp): Change list traversal to avoid using XCAR as lvalue.
228 (read_list): Use XSETCDR.
229 * process.c (wait_reading_process_input): Change wait_for_cell
230 handling to avoid taking addresses of cons cell slots.
30903479
SM
231 * xselect.c (x_own_selection, x_handle_selection_clear)
232 (x_clear_frame_selections): Use XSETCDR.
233 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
234 (x_handle_property_notify, x_get_foreign_selection)
235 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 236
502150e5
PJ
2372001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
238
018ba359
PJ
239 * buffer.c: Put doc strings in comments.
240
30903479 241 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 242
b56ba8de
SS
2432001-10-15 Sam Steingold <sds@gnu.org>
244
245 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
246
6a0b793a
PJ
2472001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
248
30903479
SM
249 * process.c (process-inherit-coding-system-flag)
250 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
251 in comment.
252
a1f17501 253 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 254 arguments. Put doc strings in comments.
a65da641
PJ
255
256 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 257
aa601ad0
GM
2582001-10-15 Gerd Moellmann <gerd@gnu.org>
259
30903479 260 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 261
aa601ad0
GM
262 * window.c (select_window_1): Unfreeze window start. Remove a
263 doubled test for WINDOW being live.
264
288148a1
PJ
2652001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
266
dd8d1e71
PJ
267 * fns.c (Fmapconcat): Fix typo in a doc string.
268
288148a1
PJ
269 * dispnew.c (Fsleep_for): Fix typo in a doc string.
270
9f5eb4a3
GM
2712001-10-15 Gerd Moellmann <gerd@gnu.org>
272
273 * xterm.c (x_draw_glyph_string): Restore clipping after
274 drawing box.
275
dbae44c8
PJ
2762001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
277
30903479 278 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 279
0c88c937
SM
2802001-10-14 Stefan Monnier <monnier@cs.yale.edu>
281
56378db4
GM
282 * indent.c (skip_invisible): Use new retval of
283 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 284
845e4cf4
SM
285 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
286 If a parent is reached and noinherit is set, exit immediately.
287 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
288
0c88c937
SM
289 * s/ms-w32.h (EXEC_SUFFIXES):
290 * s/msdos.h (EXEC_SUFFIXES):
291 * process.h (EXEC_SUFFIXES): Remove.
292
293 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
294 (decode_suffixes): Remove.
295
296 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
297 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
298 (invisible_ellipsis_p): Remove.
0c88c937
SM
299
300 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
301 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
302 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
303 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
304 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 305
d19be8a9
PJ
3062001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
307
04d7d066
PJ
308 * lisp.h (Ftop_level): Add prototype.
309
d624284c
PJ
310 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
311 (XTread_socket): Improve style of comments to follow other
312 comments.
313
a87414f9
PJ
314 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
315 is already prototyped in included lisp.h).
316
d19be8a9
PJ
317 * frame.c (Fset_mouse_position): Improve style of comment to
318 follow other comments.
319 (Fset_mouse_pixel_position): Improve style of comment to follow
320 other comments.
321 (Fmake_frame_visible): Doc fix and typo in comment.
322 (Fmake_frame_invisible): Doc fix and typo in comment.
323 (Ficonify_frame): Fix typo in comment.
324
c061c855
GM
3252001-10-14 Gerd Moellmann <gerd@gnu.org>
326
37f6b5b6 327 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 328 * term.c, alloc.c: Put doc strings in comments.
c061c855 329
e641b454
GM
3302001-10-13 Gerd Moellmann <gerd@gnu.org>
331
332 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
333 Provide definitions for doc strings in comments.
334
335 * fns.c: Put doc strings in comments.
336
51724e26
EZ
3372001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
338
339 * dired.c (file_name_completion): Ignore a candidate directory if
340 it matches an element in completion-ignored-extensions that ends
341 in a slash.
342 (syms_of_dired) <completion-ignored-extensions>: Mention the above
343 feature in the doc string.
344 (Ffile_name_completion): Ditto.
345
be5fc59b
SM
3462001-10-12 Stefan Monnier <monnier@cs.yale.edu>
347
5a1373f3
SM
348 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
349
350 * xfns.c (syms_of_xfns): Update calls to Fprovide.
351
352 * lisp.h (Fprovide): Update prototype.
353 (Ffeaturep, invisible_p): Remove.
354
bbc4a3d3 355 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
356 (DOLIST, LOOP_PROPVAL): New macros.
357 (invisible_p, invisible_ellipsis_p): Use them.
358 (invisible_noellipsis_p): New function.
359 (syms_of_xdisp): Use empty_string.
360
361 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
362
363 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
364 (syms_of_lread) <Vafter_load_alist>: Update docstring.
365
366 * print.c (Fwith_output_to_temp_buffer): Align with
367 internal_with_output_to_temp_buffer.
368 (print_preprocess): Use traverse_intervals_noorder.
369 (print_object): Update call to traverse_intervals.
370
371 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
372 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
373
374 * intervals.c (traverse_intervals_noorder): New function.
375 (search_for_interval, count_intervals): Use it.
376 (traverse_intervals): Use less stack space and drop `depth' arg.
377
378 * fns.c (Ffeaturep): Add new `subfeature' arg.
379 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
380 (Qsubfeatures): New var.
381 (syms_of_fns): Initialize it.
382
026f408d
SM
383 * keymap.c (Fkey_description): Use empty_string.
384 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
385 (syms_of_keymap): Setup inheritance between maps.
386 Don't export Sdescribe_bindings_internal any more.
387
be5fc59b
SM
388 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
389
3365175e
GM
3902001-10-12 Gerd Moellmann <gerd@gnu.org>
391
392 * xterm.c (notice_overwritten_cursor): Renamed from
393 note_overwritten_text_cursor. Rewritten to take glyph widths into
394 account.
395
2ab7765c
EZ
3962001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
397
398 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
399 multi-line strings without a trailing "\n\".
400
311346bb
PJ
4012001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
402
403 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
404 defined.
405
2168e04d
SM
4062001-10-11 Stefan Monnier <monnier@cs.yale.edu>
407
026f408d
SM
408 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
409
c0ec53ad
SM
410 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
411 * w32proc.c (sys_spawnve):
412 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
413 * w32.c (check_windows_init_file):
414 * sound.c (Fplay_sound):
026f408d 415 * emacs.c (init_cmdargs):
c0ec53ad
SM
416 * process.c (Fstart_process): Update calls to openp.
417
418 * callproc.c (Vexec_suffixes): New var.
419 (Fcall_process): Update call to openp.
420 (decode_suffixes): New function.
421 (syms_of_callproc): Init exec-suffixes.
422
423 * lread.c (Vload_suffixes, default_suffixes): New vars.
424 (openp): Take a lisp list of suffixes.
425 Check for file-name-handlers even if the file was absolute already.
426 (syms_of_lread): Declare load-suffixes.
427 (Fload): Fix up call to openp.
428 Don't bother checking for file-name-handler at the very beginning.
429
f6333468
SM
430 * keymap.h (Fcopy_keymap): Don't export.
431
432 * lisp.h (empty_string): Declare.
c0ec53ad
SM
433 (Vload_suffixes, Vexec_suffixes): Declare.
434 (openp): Update prototype.
f6333468
SM
435
436 * emacs.c (empty_string): New var.
437 (syms_of_emacs): Initialize it.
438
439 * search.c (wordify): Use it.
440
441 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
442 selected window if it's not displayed there. Handle the case
443 when the window is dedicated.
444 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
445
446 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
447
2168e04d
SM
448 * syntax.h (struct gl_state_s): Change the meaning of b_property.
449 Remove left_ok and right_ok.
450 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
451 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
452 new meaning of b_property.
453
454 * syntax.c (update_syntax_table): Simplify.
455 (Fforward_comment): Don't skip quoted chars when going backward.
456
13d95cc0
GM
4572001-10-11 Gerd Moellmann <gerd@gnu.org>
458
beb0990f
GM
459 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
460 in case I is of some unsigned type, in which case
461 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
462 comparison becomes bogus.
463
cb938d46
GM
464 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
465 (Fuser_full_name): Fix bug treating a float as a fixnum.
466
467 * data.c (Fstring_to_number): Use make_fixnum_or_float.
468
469 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 470
13d95cc0
GM
471 * lisp.h (circular_list_error): Add prototype.
472
473 * data.c (Qcircular_list): New variable.
474 (circular_list_error): New function.
475 (syms_of_data): Initialize it Qcircular_list.
476
e35f6ff7
SM
4772001-10-10 Stefan Monnier <monnier@cs.yale.edu>
478
479 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
480 casefiddle.c, buffer.c: Include keymap.h.
481
619632ac
GM
4822001-10-10 Gerd Moellmann <gerd@gnu.org>
483
484 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
485 options. From Dave Love <d.love@dl.ac.uk>.
486
5e5388f6
GM
4872001-10-09 Gerd Moellmann <gerd@gnu.org>
488
489 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
490 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
491
14a3dff7
GM
492 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
493 unsigned char.
494 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 495
76ba8daf
AI
4962001-10-08 Andrew Innes <andrewi@gnu.org>
497
498 * lisp.h [max]: Undef min and max before redefining them.
499
500 * w32gui.h: Do not undef min and max.
501
502 * w32heap.h: Do not undef min and max.
503
504 * s/ms-w32.h: Do not undef min and max.
505
166253cb
SM
5062001-10-08 Stefan Monnier <monnier@cs.yale.edu>
507
508 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
509
0c4d9527
SS
5102001-10-08 Sam Steingold <sds@gnu.org>
511
512 * keymap.c (current-active-maps): Quote newlines (compilation error).
513
14bfa771
EZ
5142001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
515
516 * Makefile.in (lisp, shortlisp): Replace bindings.el with
517 bindings.elc, since otherwise doc strings in bindings.el get wrong
518 offsets in etc/DOC.
519
bdb7aa47
SM
5202001-10-08 Stefan Monnier <monnier@cs.yale.edu>
521
9985827f
SM
522 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
523
524 * keyboard.h (map_prompt): Remove.
525
526 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 527 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 528
bdb7aa47
SM
529 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
530
531 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
532
533 * keyboard.c (map_prompt): Remove.
534 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
535 Use Fkeymap_prompt.
536
537 * keymap.h: New file. Extracted from lisp.h.
538
9985827f
SM
539 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
540 (accessible_keymaps_1): New function.
541 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
542 (Fwhere_is_internal): Use Fcurrent_active_maps.
543 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
544 Insert in current buffer rather than standard-output.
545 Don't call `help-mode'. Export to elisp.
546 (describe_buffer_bindings): New wrapper.
547 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
548 and Sdescribe_buffer_bindings.
549
402c9a51
GM
5502001-10-08 Gerd Moellmann <gerd@gnu.org>
551
9985827f 552 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
553 Remove code setting signal handler.
554
9985827f 555 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
556 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
557
3fe81fdf
PJ
5582001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
559
560 * keyboard.c: Don't define min/max.
561
55fa7820
GM
5622001-10-08 Gerd Moellmann <gerd@gnu.org>
563
9985827f 564 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 565 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 566 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 567 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 568 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
569 Don't define min/max.
570
571 * lisp.h (min, max): New macros.
572
55fa7820
GM
573 * puresize.h (BASE_PURESIZE): Increase to 725000.
574
1aad31e4
PJ
5752001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
576
9180dc8c
PJ
577 * xfaces.c (free_frame_menubar): Add prototype.
578
01f67d2c
PJ
579 * lisp.h (init_window): Add prototype.
580
581 * editfns.c: Include ctype.h.
582
583 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 584 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
585 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
586 variable `sb'.
587
5f351ff1
PJ
588 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
589 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
590 `popup_activated_flag' and `title'.
591
479dfe87
PJ
592 * doc.c (Fdocumentation_property): Fix typo in a doc string.
593
dff49fc8
PJ
594 * emacs.c (main): Remove extra `;'.
595
248ac615
PJ
596 * atimer.h (struct atimer): Fix typos in a comment.
597
598 * atimer.c: Fix typo.
599
af232c7d
PJ
600 * Makefile.in: Fix typo.
601
602 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 603
d876f455
MB
6042001-10-07 Miles Bader <miles@gnu.org>
605
606 * Makefile.in (lisp, shortlisp): Add `button.elc'.
607
0037e2f2
KR
6082001-10-07 Ken Raeburn <raeburn@gnu.org>
609
b056f36d
KR
610 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
611 Lisp_Object.
612
0037e2f2
KR
613 * lisp.h (Ffield_end): Declare.
614
1a4372ef
GM
6152001-10-07 Gerd Moellmann <gerd@gnu.org>
616
a4a74e8c
GM
617 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
618
619 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
620
621 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
622
623 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
624
1a4372ef
GM
625 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
626 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
627
628 * alloc.c (inhibit_garbage_collection): Simplify.
629 (Fmemory_use_counts): Ditto.
630
9985827f 631 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
632 (syms_of_data): DEFVAR_INT most-positive-fixnum and
633 most-negative-fixnum.
634
9985827f 635 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
636 (FIXNUM_OVERFLOW_P): New macros.
637
4650e362
MB
6382001-10-06 Miles Bader <miles@gnu.org>
639
640 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
641 scroll_bar_bottom_shadow_pixel fields.
642 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
643 for the shadows, and tell the toolkit about them if we succeed.
644 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
645 Free scroll-bar shadow colors.
646 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
647 Free scroll-bar shadow colors when the background color changes.
648 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
649 Initialize scroll-bar shadow-color fields.
650
ace64e0a
GM
6512001-10-05 Gerd Moellmann <gerd@gnu.org>
652
653 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
654
ec66bdc7
MB
6552001-10-05 Miles Bader <miles@gnu.org>
656
9985827f
SM
657 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
658 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 659 New functions (were in simple.el).
9985827f 660 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
661 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
662 (syms_of_minibuf): Initialize them.
663
a0fb4492
GM
6642001-10-05 Gerd Moellmann <gerd@gnu.org>
665
666 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
667 (tiff_load): Install them as error and warning handler.
668
0bcf87c1
AI
6692001-10-04 Andrew Innes <andrewi@gnu.org>
670
671 * w32fns.c (x_to_w32_color): Fix argument to alloca.
672 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 673 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
674 (x_to_w32_charset): Handle private format for unknown charsets.
675 Handle wildcards in charset spec, by ignoring them.
676 (w32_codepage_for_font): Fix argument to alloca. Don't remove
677 "*-" prefix from charset.
678 (x_to_w32_font): Enlarge remainder array for safety. Specifically
679 handle the truncated font spec form constructed by font_list_1, so
680 that we correctly identify the charset fields. Don't remove "*-"
681 prefix from charset.
682 (w32_list_synthesized_fonts): Fix argument to alloca.
683
c89e4bc5
GM
6842001-10-04 Stefan Monnier <monnier@cs.yale.edu>
685
686 * window.h (MINI_WINDOW_P): Use NILP.
687
688 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
689
690 * termhooks.h (struct input_event): Use proper type for `kind'.
691
6922001-10-04 Gerd Moellmann <gerd@gnu.org>
693
694 This handles unknown keysyms better than before. For example,
695 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
696 Emacs formerly completely ignored F5. With the change, it derives
697 a key symbol from the name of the X keysym, `ccaron' in this case.
698 Reported by Martin Buchholz.
699
700 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
701 unknown keysyms.
702
703 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
704 that EVENT->code isn't a function key, use the keysym's name.
705
7062001-10-04 Gerd Moellmann <gerd@gnu.org>
707
708 FOREACH is a macro that should make it easier to loop over Lisp
709 lists with checks for cycles and proper lists.
710
711 * lisp.h (LIST_END_P, FOREACH): New macros.
712
7132001-10-04 Gerd Moellmann <gerd@gnu.org>
714
715 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
716 called for a lost connection. Prevent dumping core in this case.
717 Instead print the X error, and exit. On user request.
718
719 * xterm.c (error_msg): New variable.
720 (x_fatal_error_signal): New function.
721 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
722 as fatal_error_signal_hook around the call to XtCloseDisplay.
723
724 * emacs.c (fatal_error_signal_hook): New variable.
725 (fatal_error_signal): Call that function.
726
7272001-10-04 Gerd Moellmann <gerd@gnu.org>
728
729 With this, Emacs prints how much pure storage it will
730 approximately need in case pure storage overflows while dumping.
731
732 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
733 New variables.
734 (init_alloc_once): Initialize new variables.
735 (PURE_POINTER_P): Use new variables.
736 (pure_alloc): If pure storage overflows, allocate from the heap.
737 (check_pure_size): New function.
738 (Fgarbage_collect): Don't GC if pure storage has overflowed.
739
740 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
741 (check_pure_size): Add prototype.
742
743 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
744
7452001-10-04 Gerd Moellmann <gerd@gnu.org>
746
747 This adds a post-gc-hook that's run with GC inhibited.
748 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
749
750 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
751 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
752 (Fgarbage_collect): Run post-gc-hook.
753
7542001-10-04 Gerd Moellmann <gerd@gnu.org>
755
756 This adds `defvaralias' and `indirect-variable'. Changes not
757 directly related to this feature are there to gain the same
758 performance again as before variable aliases.
759
760 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
761 code to get and set symbol values, to take defvaralias into account.
762
763 (Note: the new `constant' bit-flag in symbols would make it
764 possible to define arbitrary read-only variables, e.g. with
765 `defconst'.)
766
767 Documentation is in lispref/variables.texi. Added to NEWS.
768
769 * lisp.h (enum symbol_interned): New enumeration.
770 (struct Lisp_Symbol): Remove member `obarray', add
771 `indirect_variable', `constant', and `interned'.
772 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
773 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
774 (indirect_variable): Add prototype.
775
776 * print.c (print_preprocess, print_object): Test internedness of
777 symbols differently.
778
779 * lread.c (Fintern, Funintern): Set symbol's interned and constant
780 bit-fields.
781 (init_obarray): Likewise for t and nil.
782
783 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
784 (Fdefvaralias): New function.
785 (specbind): Simplify the test if symbol is a constant.
786 (syms_of_eval): Defsubr Fdefvaralias.
787
788 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
789 (Qcyclic_variable_indirection): New variable.
790 (Fkeywordp): Check for internedness differently.
791 (Fmakunbound): Simplify the test if symbol is a constant.
792 (indirect_variable, Findirect_variable): New functions.
793 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
794 aliased symbol.
795 (let_shadows_buffer_binding_p): Check for variable aliases.
796 (set_internal): Simplify the test if SYMBOL is a constant.
797 If SYMBOL has a buffer-local value and is an alias, use the aliased
798 symbol instead.
799 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
800 Sindirect_variable.
801
802 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
803 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
804 set directly.
805
806 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
807
808 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
809 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
810 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
811
ab952a4f
GM
8122001-10-04 Gerd Moellmann <gerd@gnu.org>
813
814 * Branch for 21.1.
b56ba8de 815
ba88ff28
MB
8162001-10-03 Miles Bader <miles@gnu.org>
817
818 * callproc.c (syms_of_callproc): Explicitly state in the
819 documentation for `process-environment' that earlier entries take
820 precedence over later ones.
821
ae1a9581
MB
8222001-10-02 Miles Bader <miles@gnu.org>
823
824 * textprop.c (Fnext_char_property_change)
825 (Fprevious_char_property_change): Remove reference to non-existant
826 argument OBJECT from doc-string.
827
257e3f57
GM
8282001-10-01 Gerd Moellmann <gerd@gnu.org>
829
830 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
831 (try_window_id): Skip back over lines ending in a newline from a
832 string.
833
834 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
835 New bit flag
836
c1f29759
RS
8372001-10-01 Richard M. Stallman <rms@gnu.org>
838
839 * search.c (Freplace_match): Doc fix.
840
c30dce3d
AI
8412001-09-28 Andrew Innes <andrewi@gnu.org>
842
843 * w32menu.c (set_frame_menubar): Take into account that
844 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
845 <raeburn@gnu.org>.
846
03be5931
EZ
8472001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
848
849 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
850
75bec752
PJ
8512001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
852
853 * s/gnu-linux.h: Fix a typo in comment.
854
83100e0a
AS
8552001-09-28 Andreas Schwab <schwab@suse.de>
856
857 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
858 nocombreloc, in case -z combreloc is the default.
859
a74b48cf
GM
8602001-09-28 Gerd Moellmann <gerd@gnu.org>
861
862 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
863 really going on here.
864
09c4719e
SM
8652001-09-27 Stefan Monnier <monnier@cs.yale.edu>
866
867 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
868
f7d5d963
EZ
8692001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
870
871 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
872 utf-8, menu-bar, and latin-N.
873 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
874 unconditionally now.
875 (lisp): Add latin-N, since they are preloaded.
876
9240e746
GM
8772001-09-27 Gerd Moellmann <gerd@gnu.org>
878
14531065
GM
879 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
880 to the left. Some cleanup.
881
9240e746
GM
882 * xdisp.c (display_mode_element): One more case where a string's
883 multibyteness should be used for display.
884
edd1e654
GM
8852001-09-26 Gerd Moellmann <gerd@gnu.org>
886
b02439c8
GM
887 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
888 reading at EOF.
889
032906b1 890 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 891 of the only temporarily set echoing flag for deciding when
032906b1
GM
892 the cancel echoing.
893
894 * keyboard.c (echo_kboard): Make externally visible.
895
896 * lisp.h (echo_kboard): Declare extern.
897
cb617e7c 898 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 899 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
900 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
901 this round of redisplay if make_cursor_line_fully_visible fails.
902 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 903 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
904
905 * dispextern.h (required_matrix_width, required_matrix_height):
906 Add prototypes.
907
09c4719e
SM
908 * dispnew.c (required_matrix_width, required_matrix_height):
909 New functions.
cb617e7c 910 (allocate_matrices_for_window_redisplay)
09c4719e
SM
911 (allocate_matrices_for_frame_redisplay: Use them.
912 Remove parameters CH_DIM.
cb617e7c 913
edd1e654
GM
914 * xdisp.c (display_mode_lines): Temporarily set selected_frame
915 and selected_window to the frame of the window whose mode-lines
916 are displayed, and to the window itself.
917 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 918 here.
edd1e654 919
924b604c
GM
9202001-09-25 Gerd Moellmann <gerd@gnu.org>
921
daba7643
GM
922 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
923 the image cache under us.
924
b7a22712 925 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 926 with a string value, use that string's multibyteness for displaying.
b7a22712 927
ad648212
GM
928 * keyboard.c (read_char): Don't clear a message for a switch-frame
929 event. From Stefan Monnier <monnier@cs.yale.edu>.
930
9f8531e5
GM
931 * xterm.c (fast_find_position) [0]: Add a presumably more correct
932 version for after 21.1.
933
934 * xdisp.c (row_containing_pos): Make externally visible.
935
936 * dispextern.h (row_containing_pos): Add prototype.
937
924b604c
GM
938 * process.c (send_process): Disable composition if from_byte < 0.
939 From Kenichi Handa <handa@etl.go.jp>.
940
6f3f0db4
GM
9412001-09-24 Gerd Moellmann <gerd@gnu.org>
942
c69c0ebc
GM
943 * xterm.c (refreshicon): Function removed.
944
d1182bc4
GM
945 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
946
947 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
948
949 * xterm.c (toplevel): Remove includes in #if 0.
950
6f3f0db4
GM
951 * process.c (sigchld_handler) [LINUX]: Don't return from
952 the signal handler at the end of the loop.
953
59957f85
GM
9542001-09-21 Gerd Moellmann <gerd@gnu.org>
955
09c4719e
SM
956 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
957 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 958
a0528984
EZ
9592001-09-21 Markus Rost <rost@math.ohio-state.edu>
960
961 * Makefile.in (shortlisp): Add ../lisp/env.elc.
962
db92b288
GM
9632001-09-20 Gerd Moellmann <gerd@gnu.org>
964
3fed8ad5
GM
965 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
966 since this function can be called during GC.
967
db92b288
GM
968 * callproc.c (Fcall_process): Handle errors from pipe(2).
969 (child_setup): Delete code in #ifdef vipc.
970
7121b85a
GM
9712001-09-19 Gerd Moellmann <gerd@gnu.org>
972
72f62cb5
GM
973 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
974 (display_mode_element): Display the string from decode_mode_spec
975 depending on its multibyteness.
976
a2697022
GM
977 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
978
7121b85a
GM
979 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
980
bfc97351
GM
9812001-09-18 Gerd Moellmann <gerd@gnu.org>
982
c9063433
GM
983 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
984 recursive_edit_unwind.
985 (recursive_edit_unwind): Set kboard state according to
986 SINGLE-KBOARD.
987
3fbdba3e
GM
988 * buffer.c (modify_overlay): Don't do nothing if START == END;
989 This can still be a modification, for example when an overlay has
990 a before-string or after-string.
991 (Fdelete_overlay): Prevent redisplay optimizations when deleting
992 an overlay with before-string or after-string.
993
1270031d
GM
994 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
995 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
996
bfc97351
GM
997 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
998 first_unchanged_at_end_row is in front of
999 last_unchanged_at_beg_row. This code should be removed after the
1000 release of 21.1.
1001
d8a973aa
GM
10022001-09-17 Gerd Moellmann <gerd@gnu.org>
1003
e18c8b8d
GM
1004 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1005 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1006
d8a973aa
GM
1007 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1008 versions >= 2.95.
1009
ed7d6ba4
EZ
10102001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1011
1012 * dired.c (Ffile_attributes): Doc fix.
1013
551629f9
GM
10142001-09-14 Gerd Moellmann <gerd@gnu.org>
1015
1016 * fileio.c (Ffile_symlink_p): Fix last change.
1017
1018 * filelock.c (current_lock_owner): Fix last change.
1019
4c8c7926
GM
10202001-09-13 Gerd Moellmann <gerd@gnu.org>
1021
620c4704
GM
1022 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1023 take that to mean that the buffer is too small.
1024
81c3310d
GM
1025 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1026 that to mean that the buffer is too small.
1027
06fd3792
GM
1028 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1029 current buffer's multibyteness when discarding the iterator's
1030 stack.
1031
4c8c7926
GM
1032 * xfns.c (Fx_window_property): Handle case that property gets
1033 deleted between the two calls to XGetWindowProperty.
1034
9a72e4c1
GM
10352001-09-11 Gerd Moellmann <gerd@gnu.org>
1036
bd819d14 1037 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 1038
a41edd99
GM
1039 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
1040 in addition to read-only.
1041
1042 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
1043 to t in addition to read-only.
1044
1045 * lisp.h (Qinhibit_modification_hooks): Declare.
1046
1047 * insdel.c (Qinhibit_modification_hooks): New variable.
1048 (syms_of_insdel): Initialize and staticpro it.
1049
d4881c6a
GM
1050 * textprop.c (verify_interval_modification): Don't run
1051 modification-hooks if inhibit_modification_hooks.
1052
1053 * dispnew.c (set_window_cursor_after_update): Fix code
1054 finding glyph row containing cursor when cursor_in_echo_area
1055 is >= 0.
1056
9a72e4c1
GM
1057 * xdisp.c (init_from_display_pos): Put some code in #if 0.
1058 (add_to_log): Use bcopy instead of strcpy.
1059 (init_from_display_pos): Use an explicit loop over bytes in
1060 overlay strings instead of calling index.
1061
f4a374a1
GM
10622001-09-10 Gerd Moellmann <gerd@gnu.org>
1063
300e57bd
GM
1064 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
1065
1066 * dispnew.c (direct_output_for_insert): Don't change IT's
1067 stop_charpos to something in front of its current position.
1068
f4a374a1
GM
1069 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
1070 `format'.
1071
7e4cbc91
RS
10722001-09-10 Richard M. Stallman <rms@gnu.org>
1073
1074 * frame.c (Fmouse_position): Doc fix.
1075
6afad91e
GM
10762001-09-07 Gerd Moellmann <gerd@gnu.org>
1077
1078 * xdisp.c (init_from_display_pos): Don't compare the result
1079 of calling index with NULL.
1080
f76e0368
GM
10812001-09-06 Gerd Moellmann <gerd@gnu.org>
1082
1083 * xfns.c (x_set_background_color): Don't change the colors
1084 of the X window of scroll bar widgets.
1085
9ead1b60
AI
10862001-09-05 Andrew Innes <andrewi@gnu.org>
1087
1088 * w32fns.c (w32_createwindow): Undo last change.
1089
c3b497b3
GM
10902001-09-05 Gerd Moellmann <gerd@gnu.org>
1091
08e1d6df
GM
1092 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1093
c3b497b3
GM
1094 * xdisp.c (string_buffer_position): Use *single_char_property*
1095 functions instead of the *single_property* functions.
b56ba8de 1096
8f860180
AI
10972001-09-04 Andrew Innes <andrewi@gnu.org>
1098
9a72e4c1
GM
1099 * w32term.c (w32_read_socket): Add more information to debugging
1100 output.
8f860180
AI
1101
1102 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1103 from Emacs frames, so that calls to GetClipBox in w32term.c
1104 correctly report when part of a frame is visible (including
1105 scrollbars, etc). This prevents repeated redrawing of frames when
1106 only a scrollbar is visible.
1107 (w32_wnd_proc): Add more frame information to debugging output.
1108
2ee1aa00
SM
11092001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1110
1111 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1112
e3b22517
GM
11132001-09-03 Gerd Moellmann <gerd@gnu.org>
1114
7e376260
GM
1115 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1116 help-echo for a string which doesn't have help-echo itself, use
1117 get-char-property to obtain the help-echo from the string's buffer
1118 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1119 have mouse-face, look ``under'' the string for mouse-face from an
1120 overlay.
1121 (fast_find_position): Add parameter STOP. In the final row, stop
1122 before glyphs having STOP as object. Don't consider glyphs that
1123 are not from a buffer.
1124
e3b22517
GM
1125 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1126
9a249bba
EZ
11272001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1128
1129 * fns.c (Fmd5): Doc fix.
1130
c9979669
GM
11312001-08-31 Gerd Moellmann <gerd@gnu.org>
1132
1133 * composite.c (update_compositions): Do nothing if
1134 inhibit-modification-hooks is set.
1135
9584e63a
GM
11362001-08-30 Gerd Moellmann <gerd@gnu.org>
1137
986ec8f2 1138 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1139 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1140 glyph matrices etc. in a core dump.
1141
92a25631
GM
1142 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1143 (syms_of_xdisp): Initialize them.
1144 (handle_single_display_prop): Don't change point, bind `object',
1145 `position', and `buffer-position' instead to the object having the
2ee1aa00 1146 `display' property, position in the object and position in the buffer.
92a25631 1147
9584e63a
GM
1148 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1149 of the buffer if REPLACE is non-nil.
1150
d38633a3
GM
11512001-08-29 Gerd Moellmann <gerd@gnu.org>
1152
1153 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1154
f4fccc1e
EZ
11552001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1156
1157 * w32term.c (x_set_glyph_string_background_width)
1158 (show_mouse_face): Track the last changes in xterm.c.
1159
eaaa65b0
GM
11602001-08-28 Gerd Moellmann <gerd@gnu.org>
1161
7b0870b2
GM
1162 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1163 string's background width so that multi-line mouse-face is drawn
1164 to the right edge of the window.
1165 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1166 glyphs.
1167
6b6e2422 1168 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1169 before inserting/writing glyphs.
6b6e2422 1170
eaaa65b0
GM
1171 * xdisp.c (display_mode_element): Use string_byte_to_char to
1172 determine character positions in strings, use chars_in_text
1173 instead of strwidth.
1174 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1175 a matrix as parameter; this is easier to use from GDB.
1176
9ad62cf8
MB
11772001-08-28 Miles Bader <miles@gnu.org>
1178
2ee1aa00
SM
1179 * textprop.c (Fprevious_single_char_property_change)
1180 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1181
32171635
GM
11822001-08-27 Gerd Moellmann <gerd@gnu.org>
1183
47d57b22
GM
1184 * fileio.c (Finsert_file_contents): Allocate, restore, and
1185 free composition data in the case of REPLACE not being nil.
1186
1187 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1188 there exist overlay strings with newlines at POS.
1189 (text_outside_line_unchanged_p): Return 0 if changes start at
1190 START and overlays exist at START. Likewise for END.
1191 (try_window_id): Give up if init_to_row_end returns 0.
1192
32171635
GM
1193 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1194 unconditionally.
1195
e1249666
GM
11962001-08-24 Gerd Moellmann <gerd@gnu.org>
1197
33954c45
GM
1198 * keymap.c (access_keymap): Return the cdr of the binding of
1199 a generic character instead of its definition (KEY . BINDING).
1200
e1249666
GM
1201 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1202 to 0 also in the REPLACE case.
1203
fb4c6c96
AC
12042001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1205
1206 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1207 open to determine whether file is readable (as for DOS_NT).
1208
59ecf80b
GM
12092001-08-23 Gerd Moellmann <gerd@gnu.org>
1210
1211 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1212 coding.type is coding_type_no_conversion or coding_type_raw_text,
1213 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1214 non-nil instead of just setting enable_multibyte_characters in the
1215 buffer to nil.
1216
40e33037
GM
12172001-08-22 Gerd Moellmann <gerd@gnu.org>
1218
374388c3
GM
1219 * dispextern.h (struct face_cache): Add member
1220 menu_face_changed_p.
1221
1222 * xfaces.c (menu_face_changed_default): New variable.
1223 (menu_face_changed_count): Variable removed.
1224 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1225 the menu_face_changed_default flag, otherwise set the FRAME's
1226 menu_face_changed_p flag if the `menu' face has been changed.
1227 Prevent calling set_font_frame_param if FRAME is t.
1228 (make_face_cache): Initialize cache's menu_face_changed_p
1229 from menu_face_changed_default.
1230 (realize_basic_faces): Look into the frame's face cache to
1231 determine if the menu appearance needs updating.
1232
40e33037
GM
1233 * keymap.c (access_keymap): Fix last change to not consider
1234 IDX when it has modifiers.
1235
859ea4b8
GM
12362001-08-21 Gerd Moellmann <gerd@gnu.org>
1237
1238 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1239 . BINDING) exists, where GENERIC-CHAR is the generic character of
1240 the charset of IDX, return BINDING unless there exists a binding
1241 for IDX itself.
1242
e8660d73
GM
12432001-08-16 Gerd Moellmann <gerd@gnu.org>
1244
cca1b1d7
GM
1245 * xrdb.c (SYSV): Don't define on Solaris 2.
1246 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1247
e8660d73 1248 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1249 of the screen line, not text line, containing IT's current position.
e8660d73 1250
93aba6fc
GM
12512001-08-15 Gerd Moellmann <gerd@gnu.org>
1252
288d4e06
GM
1253 * window.c (window_scroll_pixel_based): Don't recenter if
1254 PT is partially visible in the window.
1255
3452efc2
SM
1256 * xterm.c (expose_window_tree, expose_window, expose_line):
1257 Return 1 when overwriting mouse-face.
82f053ab
GM
1258 (expose_frame): If mouse-face was overwritten, redo it.
1259
93aba6fc
GM
1260 * xfaces.c (x_update_menu_appearance): Don't call
1261 set_frame_menubar, let the next redisplay do it.
1262
858a55c1
AI
12632001-08-14 Andrew Innes <andrewi@gnu.org>
1264
1265 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1266 drawing glyph string.
1267
3a990b67
EZ
12682001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1269
1270 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1271 running HI-UX/MPP.
1272
04386463
GM
12732001-08-14 Gerd Moellmann <gerd@gnu.org>
1274
1275 * xfaces.c (x_update_menu_appearance): Save and restore value of
1276 interrupt_input_blocked.
1277
3e6385a4
GM
12782001-08-13 Gerd Moellmann <gerd@gnu.org>
1279
b0e619b4
GM
1280 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1281 a line start, move back to the line start.
3452efc2 1282
0de73d5a
GM
1283 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1284 exactly when a mini-buffer is active.
1285
3e6385a4
GM
1286 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1287 in units of 1/8 character on non window-system frames.
1288 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1289
d1b5f629
EZ
12902001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1291
1292 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1293 a doc string.
1294
eaa2319f
GM
12952001-08-09 Gerd Moellmann <gerd@gnu.org>
1296
8e3189f0
GM
1297 * keyboard.c (Vpre_help_message): New variable.
1298 (syms_of_keyboard): Initialize and staticpro it.
1299 (show_help_echo): Record current message before displaying a
1300 help-echo, and restore that message when clearing the help.
1301
eaa2319f
GM
1302 * xfns.c (x_create_im): Remove prototype.
1303
1304 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1305
1306 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1307
eaa2319f
GM
13082001-08-08 Gerd Moellmann <gerd@gnu.org>
1309
1310 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1311 windows whose height has changed, disable partially visible lines.
eaa2319f 1312
17fdcfc8
GM
13132001-08-07 Gerd Moellmann <gerd@gnu.org>
1314
22d01aed 1315 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1316 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1317
17fdcfc8
GM
1318 * xdisp.c (start_display): Don't try to determine the continuation
1319 lines width if lines are truncated. It's superfluous and leads to
1320 incorrect results if POS is not visible in the window after
1321 reseating the iterator at the previous line start.
1322
8e3fe78e
GM
13232001-08-06 Gerd Moellmann <gerd@gnu.org>
1324
1325 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1326
98a8938c
GM
13272001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1328
1329 * alloc.c (init_stack): Remove declaration.
1330
18f9986a
GM
13312001-08-03 Gerd Moellmann <gerd@gnu.org>
1332
5e1f85e0
GM
1333 * keyboard.c (read_key_sequence): Check that key is an integer
1334 before comparing it with quit_char.
1335 (add_command_key): Use larger_vector.
1336 (read_char_x_menu_prompt): Instead of converting symbol and
1337 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1338 which cannot be confused with valid events.
5e1f85e0
GM
1339 (read_char): When reading from Vunread_command_events, check for
1340 events of the form (EVENT . disabled) instead of
1341 (EVENT . nil).
1342
18f9986a
GM
1343 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1344 a float, determine the max height from the frame's height.
1345
fbc7f2a6
GM
13462001-08-02 Gerd Moellmann <gerd@gnu.org>
1347
1348 * xdisp.c (redisplay_internal): Take message_cleared_p into
1349 account only if minibuf_level == 0.
1350
81b1a79d
GM
13512001-08-01 Gerd Moellmann <gerd@gnu.org>
1352
e5c60873
GM
1353 * xdisp.c (redisplay_internal): Add a check for the last
1354 displayed message.
3452efc2 1355
6e019995
GM
1356 * xdisp.c (message_cleared_p): New variable.
1357 (clear_message): Set message_cleared_p when clearing the current
1358 message.
1359 (redisplay_internal): Look at message_cleared_p to capture
1360 the case that the echo area should be cleared.
1361
308a74d8
GM
1362 * keyboard.c (command_loop_1): Fix spelling of
1363 resize_echo_area_exactly.
1364
3452efc2 1365 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1366
1367 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1368
81b1a79d
GM
1369 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1370 current matrix when the window gets smaller.
1371
ada329e6
EZ
13722001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * print.c (strout): Cast the character passed to insert_char to
1375 unsigned char, to avoid sign extension when it is promoted to int.
1376
ed86208c
GM
13772001-07-31 Gerd Moellmann <gerd@gnu.org>
1378
1379 * fileio.c (Finsert_file_contents): Don't treat a return value
1380 of 0 from emacs_read as an IO error.
1381
6594ac22
GM
13822001-07-30 Gerd Moellmann <gerd@gnu.org>
1383
cef68af5
GM
1384 * keyboard.c (abs): New macro.
1385 (double_click_fuzz): New variable.
1386 (make_lispy_event): Use it to determine what makes a double-click.
1387 (syms_of_keyboard): DEFVAR_INT it.
1388
6594ac22
GM
1389 * xmenu.c (set_frame_menubar): Take into account that
1390 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1391 <raeburn@gnu.org>.
1392
75c5350a
GM
13932001-07-27 Gerd Moellmann <gerd@gnu.org>
1394
1395 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1396
1397 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1398 of row's visible height.
1399
1400 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1401 deal with the first overlay string having an image `display' property.
1402 (try_window_reusing_current_matrix, compute_line_metrics):
1403 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1404 row is invisible above and part of the row is at the same time
1405 invisible below the window.
1406
ac49effe
GM
14072001-07-26 Gerd Moellmann <gerd@gnu.org>
1408
1409 * xfns.c (x-show-tip): Doc fix.
3452efc2 1410
ac49effe
GM
1411 * xfns.c (Vx_max_tooltip_size): New variable.
1412 (syms_of_xfns): DEFVAR_LISP it.
1413 (Fx_show_tip): Set frame's window_width to the width of the
1414 window. Use a maximum tooltip size specified by
1415 Vx_max_tooltip_size, if that has valid contents.
1416 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1417
8c3b00cb
AI
14182001-07-26 Andrew Innes <andrewi@gnu.org>
1419
1420 * w32term.c (x_display_list): New variable.
1421 (w32_term_init): Set it.
1422
1423 * w32term.h (x_display_list): New extern.
1424
16098288
GM
14252001-07-26 Gerd Moellmann <gerd@gnu.org>
1426
1427 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1428 is non-nil, instead of when redisplaying_p is non-zero.
1429 See comment there.
16098288
GM
1430 (mark_window_display_accurate_1): Add an assertion.
1431
64c5be50
GM
14322001-07-25 Gerd Moellmann <gerd@gnu.org>
1433
e743f599
GM
1434 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1435
563b384d
GM
1436 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1437 events so that we get a chance of processing expose events.
1438
64c5be50
GM
1439 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1440
296808a5
GM
14412001-07-24 Gerd Moellmann <gerd@gnu.org>
1442
1443 * xfns.c (valid_image_p): Protect better against invalid image
1444 specifications. Previous code could signal an error.
1445
5247262a
GM
14462001-07-23 Gerd Moellmann <gerd@gnu.org>
1447
3452efc2 1448 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1449 presence of display table entries.
1450 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1451
dd42b31a
GM
1452 * dispnew.c (adjust_glyph_matrix): In the optimization for
1453 windows whose height has changed, use the new window height
1454 to compute which rows to invalidate.
1455
9e5a7f2a
GM
1456 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1457 (MAX_10_EXP): New macro.
1458 (Fformat): Use it.
1459
5247262a
GM
1460 * coding.c (code_convert_region): Handle the multibyte case if
1461 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1462
177ab8ce
GM
14632001-07-20 Gerd Moellmann <gerd@gnu.org>
1464
6e07c0a5
GM
1465 * dispextern.h (struct face): Change type of `stipple' to
1466 int; it's an ID.
1467
177ab8ce
GM
1468 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1469
b5b80599
GM
14702001-07-19 Gerd Moellmann <gerd@gnu.org>
1471
4e2a256b
GM
1472 * dispnew.c (update_window): Don't set the cursor at the end
1473 of the update if display update has been paused.
1474
3452efc2 1475 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1476
c1fd9232
KR
14772001-07-18 Ken Raeburn <raeburn@gnu.org>
1478
1479 * fns.c (Fset_char_table_default): Check that a charset is defined
1480 before checking its dimension.
1481
928a85c1
KR
14822001-07-17 Ken Raeburn <raeburn@gnu.org>
1483
1484 * coding.c (setup_coding_system): Don't do any designation based
1485 on reg_bits if charset is not yet defined.
1486
fb4c6c96 1487 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1488 pointer, using eassert.
1489
de11c1ea
GM
14902001-07-17 Gerd Moellmann <gerd@gnu.org>
1491
3452efc2
SM
1492 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1493 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1494
467f1209
GM
14952001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1496
1497 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1498
c3d6be34
GM
14992001-07-16 Gerd Moellmann <gerd@gnu.org>
1500
c1d61a7d
GM
1501 * fileio.c (unwind_read): Function removed.
1502 (read_non_regular, read_non_regular_quit): New functions.
1503 (Finsert_file_contents): When reading from non-regular files,
1504 arrange to catch a `quit' and terminate the loop. Rearrange
1505 code so that a `quit' when reading from a regular file doesn't
1506 insert text in the buffer.
1507
c3d6be34
GM
1508 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1509 Clear faces afterwards.
1510 (clear_font_table): Take a x_display_info parameter. Don't free
1511 fonts being the default font of any frame on the given display.
1512
e06aa1f9
GM
15132001-07-13 Gerd Moellmann <gerd@gnu.org>
1514
1515 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1516 instead of CHAR_STRING which can signal an error.
1517
1518 * charset.c (char_to_string_1): Extracted from char_to_string.
1519 Return -1 instead of signaling an error.
1520 (char_to_string): Use it.
1521
1522 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1523
176c92e6
SM
15242001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1525
1526 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1527 is t, don't try to append anything to it.
1528
1c56232f
EZ
15292001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1530
1531 * dired.c (file_name_completion): Pass dp->d_name to
1532 Fstring_match, not elt, which is always nil here.
1533
1d2b2268
GM
15342001-07-12 Gerd Moellmann <gerd@gnu.org>
1535
1536 * xselect.c (x_decline_selection_request): Handle errors
1537 caused by receivers that have vanished.
1538
1539 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1540 ignoring events on foreign windows in #if 0. Always dispatch
1541 the event after checking it with x_handle_property_notify.
1542
1543 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1544 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1545 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1546 (toplevel): Add prototypes for file-local functions.
1547 (x_atom_to_symbol): Remove DPYINFO parameter.
1548
fe5a0162
SM
15492001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1550
1551 * w32menu.c (menubar_selection_callback, w32_menu_show):
1552 Initialize `entry' to nil.
1553 (w32_dialog_show): Remove unused `save_wv' variable.
1554 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1555
a777242c
GM
15562001-07-11 Gerd Moellmann <gerd@gnu.org>
1557
8ee5b6a3
GM
1558 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1559
d0e2444e
GM
1560 * fileio.c (unwind_read): Print a message when discarding inserted
1561 text or switching the buffer to unibyte. Change parameter.
1562 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1563
a777242c
GM
1564 * fileio.c (unwind_read): New function.
1565 (Finsert_file_contents): Record it as unwind-function for
1566 the case that reading is interrupted by C-g.
1567
ae794295
GM
15682001-07-10 Gerd Moellmann <gerd@gnu.org>
1569
fe5a0162 1570 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1571 update when scrolling_window returns 0.
1572
6b05fae3
GM
1573 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1574
1575 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1576 for the case that x_decode_color signals an error.
6b05fae3 1577
ae794295
GM
1578 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1579
bb6e8cee
GM
15802001-07-09 Gerd Moellmann <gerd@gnu.org>
1581
1582 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1583 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1584 around ioctls.
1585
36b40a8a
EZ
15862001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1587
24b97d4b
EZ
1588 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1589 doc string line for dos-timezone-offset.
1590
36b40a8a
EZ
1591 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1592 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1593 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1594 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1595
1596 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1597
0967b4b0
GM
15982001-07-05 Gerd Moellmann <gerd@gnu.org>
1599
f25cfe53
GM
1600 * sound.c: Include Emacs' header files with #include "...".
1601
0967b4b0
GM
1602 * eval.c (specbind): Additionally record the buffer that was
1603 current when a buffer-local or frame-local variable was bound.
1604
c347a1c3
GM
16052001-07-04 Gerd Moellmann <gerd@gnu.org>
1606
1607 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1608 to unibyte characters in unibyte buffers.
1609
6332ca8a
GM
16102001-07-03 Gerd Moellmann <gerd@gnu.org>
1611
38472d44
GM
1612 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1613 the frame on the binding stack. Change format of entries for
1614 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1615 (unbind_to): Handle unbinding a frame-local variable.
1616
6332ca8a 1617 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1618 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1619 (dump_glyph_row): Print row's continuation_lines_width.
1620 (try_window_id): Take the shortcut if ZV is visible in the
1621 window, but there are actually no changes at ZV.
1622
63d1b174
GM
16232001-07-02 Gerd Moellmann <gerd@gnu.org>
1624
4c175203
GM
1625 * xterm.h (x_free_dpy_colors): Add prototype.
1626
1627 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1628 right number of arguments.
1629
0b54ce28
GM
1630 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1631 ($(lwlibdir)TAGS): New target.
4c175203 1632 (TAGS): Fix dependency list.
0b54ce28 1633
63d1b174
GM
1634 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1635 with input blocked.
1636
d827466c
GM
16372001-06-30 Gerd Moellmann <gerd@gnu.org>
1638
1639 * emacs.c (main): Remove extern declaration for sys_nerr, which
1640 isn't used and causes a compilation error with GCC 3.0 on
1641 FreeBSD 4.3.
1642
b5cb1ada
GM
16432001-06-27 Gerd Moellmann <gerd@gnu.org>
1644
a5d3ec3f 1645 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1646 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1647 (toplevel): Include <signal.h> and syssignal.h.
1648
b5cb1ada
GM
1649 * sound.c (vox_configure, vox_close): Turn off atimers
1650 around ioctls.
1651
d9bad487
GM
16522001-06-26 Gerd Moellmann <gerd@gnu.org>
1653
fdbb67fe
GM
1654 * keyboard.c (read_char) <non_reread>: Record the previous idle
1655 start time before calling timer_stop_idle.
1656 (read_char) <reread_first>: After processing a help-echo event,
1657 restore the previous idle start time.
1658
d9bad487
GM
1659 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1660 the start of invisible text.
1661 (setup_for_ellipsis): New function.
1662 (next_overlay_string): After all overlay strings have been
1663 processed, display an ellipsis if necessary.
1664 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1665 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1666
1667 * dispextern.h (struct iterator_stack_entry): Add member
1668 display_ellipsis_p.
1669
2b9c25e0
GM
16702001-06-25 Gerd Moellmann <gerd@gnu.org>
1671
80de57df
GM
1672 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1673 on the value of the wait-for-wm frame parameter.
1674
1675 * xterm.h (struct x_output): Add member wait_for_wm.
1676
1677 * xfns.c (Qwait_for_wm): New variable.
1678 (x_frame_parms): Add entry for `wait-for-wm".
1679 (x_set_wait_for_wm): New function.
1680 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1681 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1682
2b9c25e0
GM
1683 * xdisp.c (try_window_id) <all changes below window end>: Don't
1684 take this shortcut if ZV is visible in the window.
1685 (try_window_id): When checking for window start being in changed
1686 text, don't check that the buffer's size has changed.
1687
f772775c
RS
16882001-06-23 Richard M. Stallman <rms@gnu.org>
1689
1690 * minibuf.c (Fcompleting_read): Doc fix.
1691
fa9090b8
GM
16922001-06-19 Gerd Moellmann <gerd@gnu.org>
1693
1694 * composite.c (Ffind_composition_internal): Accept ZV
1695 and a string's end position as POS.
1696
f6f1beba
GM
16972001-06-18 Gerd Moellmann <gerd@gnu.org>
1698
1699 * composite.c (Ffind_composition_internal): Check POS
1700 for validity.
1701
0ae83348
EZ
17022001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1703
1704 * editfns.c (Fmessage_box): If the frame is not under a window
1705 system, output the message in the echo area.
1706
e4cdc335
RS
17072001-06-14 Richard M. Stallman <rms@gnu.org>
1708
1709 * xdisp.c (try_window_id): When EOB is visible, don't treat
1710 insertion at EOB as if it were "off the bottom of the screen."
1711
a55a5f3c
AI
17122001-06-11 Andrew Innes <andrewi@gnu.org>
1713
1714 * w32proc.c (create_child): Add new parameter is_gui_app.
1715 (w32_executable_type): Add new parameter is_gui_app.
1716 (sys_spawnve): Use it.
1717 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1718 SIGQUIT. This matches better how the signals are interpreted by
1719 MSVC compiled programs.
1720 (syms_of_ntproc): Update docstring.
1721
1b85dc1c
SM
17222001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1723
1724 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1725 well otherwise note_mouse_highlight might optimize away highlighting
1726 if we pass over that same overlay again.
1727
b75f8eab
EZ
17282001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1729
1730 * lread.c (Fload): Document that the argument is run via
1731 substitute-in-file-name.
1732
94843cc1
GM
17332001-05-31 Gerd Moellmann <gerd@gnu.org>
1734
b14659e6
GM
1735 * Makefile.in (bootstrap-doc): New target.
1736 (bootstrap-emacs): Depend on it.
1737
0894672f
GM
1738 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1739 auto-save-list-file-name when shutting down Emacs, because
1740 creating the directory might signal an error, and leaves
1741 Emacs in a strange state.
1742
94843cc1
GM
1743 * term.c: (tty_cursor_hidden): New variable.
1744 (update_begin): Don't call tty_hide_cursor. Clean up.
1745 (update_end, set_terminal_window, set_scroll_region): Clean up.
1746 (ring_bell, reset_terminal_modes): Clean up.
1747 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1748 on tty_cursor_hidden.
1749 (write_glyphs): Call tty_hide_cursor.
1750
db3a49a6
SM
17512001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1752
1753 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1754
8bd189fb
GM
17552001-05-30 Gerd Moellmann <gerd@gnu.org>
1756
6f1be3b9
GM
1757 * xfns.c (enum image_value_type): New enumerator
1758 IMAGE_STRING_OR_NIL_VALUE.
1759 (parse_image_spec): Handle it.
1760 (xbm_format, pbm_format): Use it for :foreground and :background.
1761 (xbm_load, pbm_load): Check for nil color names.
1762
8bd189fb
GM
1763 * xterm.c (note_mouse_highlight): If an overlapping overlay
1764 exists, but we find that we highlight the same overlay as before,
1765 don't do the highlighting again.
1766
7bdba03c
GM
17672001-05-29 Gerd Moellmann <gerd@gnu.org>
1768
4c329aa8
GM
1769 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1770 Protect unibyte strings created by replacing their multibyte
1771 equivalents in menu_items.
1772
e15e2828
GM
1773 * keymap.c (Fsingle_key_description): NUL-terminate the string
1774 buffer before calling build_string.
1775
7bdba03c
GM
1776 * callproc.c (Fcall_process): Deal with decode_coding returning
1777 CODING_FINISH_INCONSISTENT_EOL.
1778
89c8dc6c
GM
17792001-05-28 Gerd Moellmann <gerd@gnu.org>
1780
db3a49a6 1781 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1782 an item's name with its key description in case the description
1783 is a multibyte string.
1784
1785 * keymap.c (Fsingle_key_description): Create a multibyte string
1786 only if necessary.
1787
eb04d6cd
GM
1788 * macros.c (Fstart_kbd_macro): Doc fix.
1789
8bd6307f
GM
1790 * xterm.c (cursor_in_mouse_face_p): New function.
1791 (x_draw_stretch_glyph_string): Use it to choose a different GC
1792 when drawing a cursor within highlighted text.
1793
e26c4089
GM
1794 * editfns.c (char_property_eq): Put in #if 0.
1795
1796 * indent.c (string_display_width): Put in #if 0.
1797
1798 * lread.c (Fload): Remove unused label.
1799
89c8dc6c
GM
1800 * termcap.c (speeds): Put in #if 0.
1801
9a1211f2
GM
18022001-05-18 Gerd Moellmann <gerd@gnu.org>
1803
29148a3f
GM
1804 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1805
9a1211f2
GM
1806 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1807 transformation matrix by 10.
1808
09393d07
GM
18092001-05-16 Gerd Moellmann <gerd@gnu.org>
1810
1811 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1812 only if it's equal to the former foreground pixel color.
db3a49a6 1813 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1814 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1815
460e6bae
GM
18162001-05-16 Dave Love <fx@gnu.org>
1817
1818 * insdel.c (signal_before_change, signal_after_change): Consider a
1819 local change hook which changes the buffer.
99c78ce8
GM
1820
1821 * process.c (read_process_output): Don't call signal_after_change
1822 and update_compositions after insert_from_string_before_markers.
1823
dbcf3c03
GM
18242001-05-16 Gerd Moellmann <gerd@gnu.org>
1825
a90b3d3c
GM
1826 * xfaces.c (split_font_name): Use the right field when
1827 checking for `[...]' syntax.
1828
1b7818b4
GM
1829 * buffer.c (copy_overlays): New function.
1830 (clone_per_buffer_values): Use it.
1831
1832 * buffer.h (OVERLAY_PLIST): New macro.
1833
9bae8781
GM
1834 * keymap.c (Fsingle_key_description): Replace a build_string with
1835 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1836
dbcf3c03
GM
1837 * fontset.c (Ffontset_info): Check that face is non-null
1838 before accessing its fields.
1839
8a1ae4dd
GM
18402001-05-15 Gerd Moellmann <gerd@gnu.org>
1841
18a0a39e
GM
1842 * keyboard.c (read_key_sequence): Prevent generating a fake
1843 prefix key twice.
1844
e335b66a
GM
1845 * xfaces.c (split_font_name): Handle `[...]' for the right
1846 font name fields.
1847
8a1ae4dd
GM
1848 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1849 of CCL_STAT_INVALID_CMD.
1850
3cf80731
SM
18512001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1852
33568849
SM
1853 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1854 in <var> has no default value yet.
1855
3cf80731
SM
1856 * xfaces.c (try_alternative_families): First try the FAMILY.
1857 And if nothing is found in the end, try again with scalable fonts.
1858 (try_font_list): Let try_alternative_families do a bit more of
1859 the work. Only use FAMILY if it is not nil.
1860 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1861
933b0249
GM
18622001-05-14 Gerd Moellmann <gerd@gnu.org>
1863
58e5af83
GM
1864 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1865 pointer shape when show_mouse_face has already done it.
33568849 1866
58e5af83 1867 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1868 full-width rows.
1869
7b16a6bf
GM
1870 * xfaces.c (split_font_name): Make sure to leave the loop
1871 with the right value of `i'.
3cf80731 1872
933b0249
GM
1873 * xfaces.c (split_font_name): Handle matrix transformations
1874 in the pixel and point size fields of XLFD font names.
1875 (xlfd_point_size): Likewise.
1876
dddcbf00
EZ
18772001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1878
3cf80731 1879 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1880 (x_to_w32_font): Add prototype.
1881
7689ef0b
EZ
1882 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1883 redefining, to avoid compiler warnings.
1884
e7c15bba
EZ
1885 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1886
dddcbf00
EZ
1887 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1888 (w32_get_bdf_glyph): Cast between unsigned char and char when
1889 passing arguments to subroutines, to shut up compiler warnings.
1890 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1891 GET_HEX_VAL.
1892
1893 * xfaces.c: Include keyboard.h before frame.h, not after it.
1894
1895 * widget.c: Include keyboard.h before frame.h.
1896
1897 * w32term.h (struct image, struct face): Forward declaration, to
1898 avoid compiler warnings.
1899
7bd2d083
GM
19002001-05-11 Gerd Moellmann <gerd@gnu.org>
1901
47e72862
GM
1902 * keyboard.c (read_key_sequence): Don't modify events when
1903 generating fake prefix keys (mode-line, scroll-bar, ...) since
1904 this prevents proper processing of such events when pushed back
1905 into unread-command-events.
1906
dd5f324b
GM
1907 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1908 actually redrawn. Make the function static.
1909 (note_mouse_highlight): Fix a case where the mouse cursor
1910 was changed back to the text cursor.
1911
1912 * xterm.h (clear_mouse_face): Remove prototype.
1913
d88a79d4
GM
1914 * xdisp.c (try_window_id): Fix the fix and set the right
1915 window_end_vpos.
1916
1917 * xdisp.c (try_window_id): Fix computation of window end in the
1918 case that lines were deleted at the end of the window. Add some
1919 more debug_method_adds.
0416532f 1920
7bd2d083
GM
1921 * xfaces.c (try_alternative_families): New function.
1922 (try_font_list): Use it. If ATTRS specifies a family, check
1923 fonts from that family first.
1924 (choose_face_font): Remove code setting the family part of
1925 the pattern to nil.
1926
23fca891
GM
19272001-05-10 Gerd Moellmann <gerd@gnu.org>
1928
ff9aa2ca
GM
1929 * xdisp.c (try_window_id): Fix case of all changes before
1930 the window start.
7b2654b5 1931
23fca891
GM
1932 * xdisp.c (try_window_id): Add some xasserts.
1933
e9726794
GM
19342001-05-09 Gerd Moellmann <gerd@gnu.org>
1935
1936 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1937
9e53a675
GM
19382001-05-09 Dave Love <fx@gnu.org>
1939
1940 * xdisp.c (GIVE_UP): Fix for K&R C.
1941
0d487c52
GM
19422001-05-09 Gerd Moellmann <gerd@gnu.org>
1943
fe88d421
GM
1944 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1945
0d487c52
GM
1946 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1947 back to the text cursor shape without need.
1948
1e9fc92e
GM
19492001-05-07 Gerd Moellmann <gerd@gnu.org>
1950
a2a6232e
GM
1951 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1952
1953 * dispextern.h (inverse_video): Declare extern.
1954
1e9fc92e
GM
1955 * keyboard.c (delete_kboard): Handle the case that selected_frame
1956 has been deleted in the course of x_connection_closed.
1957
12949a7f
EZ
19582001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1959
7b2654b5
SM
1960 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1961 Fix the change from 2001-04-30.
12949a7f 1962
2fa2f461
GM
19632001-05-03 Gerd Moellmann <gerd@gnu.org>
1964
a779d213
GM
1965 * xfns.c (file_dialog_unmap_cb): New function.
1966 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1967 where a dialog is closed via the window manager.
1968
7b2654b5 1969 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1970 the window start or all below the window end mostly rewritten.
1971 (redisplay_window): Move the tests if try_window_id is
1972 applicable to try_window_id.
1973 (GIVE_UP): New macro.
1974
3356df63
GM
19752001-05-02 Gerd Moellmann <gerd@gnu.org>
1976
a39202f6 1977 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1978 currently being updated, mark the frame garbaged.
1979 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1980 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1981
3356df63
GM
1982 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1983 again if it has already been drawn.
1984
a9d2fd1d
SM
19852001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1986
1987 * syntax.c (update_syntax_table): Check that oldi has the same
1988 properties as old_prop before deciding not to invalidate.
1989
c95fc5f1
GM
19902001-04-30 Gerd Moellmann <gerd@gnu.org>
1991
a9793e45
GM
1992 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1993 read-only text that is so because of text properties.
1994
c95fc5f1 1995 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1996 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1997 windows that are components of a Lucid menu bar.
1998
5a5d9185
GM
19992001-04-27 Gerd Moellmann <gerd@gnu.org>
2000
2001 * term.c (turn_on_face): Fix reverse video handling on terminals
2002 that don't support colors.
2003
ba973f7a
GM
20042001-04-26 Gerd Moellmann <gerd@gnu.org>
2005
2006 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2007 a non-buffer.
2008
8c56a983
GM
20092001-04-25 Gerd Moellmann <gerd@gnu.org>
2010
a728644c
GM
2011 * term.c (toggle_highlight): New function.
2012 (turn_on_face): Change handling of reverse video.
2013
7b2654b5
SM
2014 * process.c (wait_reading_process_input):
2015 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2016
bfd8410f
GM
2017 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2018 of the number of overlays to check.
2019
be2488ca
GM
2020 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2021
8c56a983
GM
2022 * xdisp.c (try_window_id): Fix a case where window_end_pos
2023 and window_end_bytepos were not adjusted.
2024
522d42f7
GM
20252001-04-23 Gerd Moellmann <gerd@gnu.org>
2026
2027 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2028 zero instead of -1.
2029
78c1afb6
EZ
20302001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2031
a9d2fd1d
SM
2032 * process.c (wait_reading_process_input) [!subprocesses]:
2033 Don't reference waiting_for_user_input_p, it's not defined in the
2034 branch without async subprocesses support.
78c1afb6 2035
a2fab450
GM
20362001-04-19 Gerd Moellmann <gerd@gnu.org>
2037
a122a38e
GM
2038 * keyboard.c (delete_kboard): Prevent a dangling reference
2039 from current_kboard to KB, which is freed.
2040
a9d2fd1d
SM
2041 * process.c (wait_reading_process_input):
2042 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
2043 read_key_sequence aware of buffer changes from under it.
2044
0f8d6dc7
GM
20452001-04-18 Gerd Moellmann <gerd@gnu.org>
2046
eeffb293
GM
2047 * xfaces.c (Qscalable_fonts_allowed): New variable.
2048 (realizing_basic_faces_p): Removed.
2fa2f461
GM
2049 (x_face_list_fonts): Special handling for realizing_basic_faces_p
2050 removed.
eeffb293 2051 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
2052 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
2053 for scalable-fonts-allowed to t.
eeffb293 2054
0f8d6dc7
GM
2055 * fileio.c (Finsert_file_contents): If the file size returned from
2056 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 2057 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 2058
eec2d1de
EZ
20592001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
2060
2061 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
2062 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
2063 (__memalign_hook): Make the two prototypes consistent.
2064
f4f480bd
GM
20652001-04-17 Gerd Moellmann <gerd@gnu.org>
2066
2067 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
2068 matrix of mini-windows.
2069
52283633
SM
20702001-04-12 Stefan Monnier <monnier@cs.yale.edu>
2071
2072 * intervals.c (find_interval): Don't rebalance during signal handling.
2073
ec2423c9
GM
20742001-04-11 Gerd Moellmann <gerd@gnu.org>
2075
30cb0001 2076 * fns.c: Include blockinput.h.
52283633 2077
ec2423c9
GM
2078 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
2079
719d83ad
GM
20802001-04-10 Gerd Moellmann <gerd@gnu.org>
2081
60f8d735
GM
2082 * fns.c (Fcompare_strings): Fix return values.
2083
afffeb57
GM
2084 * window.c (window_scroll): Change the meaning of N to mean
2085 N screen-fulls or N lines.
2086 (window_scroll_pixel_based, window_scroll_line_based)
2087 (scroll_command, Fscroll_other_window): Change accordingly.
2088
52283633
SM
2089 * window.c (window_scroll_pixel_based, Frecenter):
2090 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2091 height of the window.
2092
2093 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2094 instead of using it.last_visible_y for the height of the window.
52283633 2095
719d83ad 2096 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2097 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2098
2099 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2100 able to write to hidden and system files. From Dan Holmsand
2101 <dan@eyebee.com>.
719d83ad 2102
8ddf3ee1
GM
2103 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2104 Holmsand <dan@eyebee.com>.
719d83ad 2105
522ed7fb
GM
21062001-04-09 Gerd Moellmann <gerd@gnu.org>
2107
9170e5d4
GM
2108 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2109
522ed7fb
GM
2110 * window.c (window_internal_height): Return 1 less if the
2111 window has a header line.
2112
2113 * xdisp.c (try_window_id): When scrolling on a terminal, take
2114 the change of window_internal_height into account.
2115
ceeb3d7d
EZ
21162001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2117
2118 * gmalloc.c (align): If the argument SIZE would overflow
2119 __malloc_ptrdiff_t, fail right away.
2120
63685b9d
GM
21212001-04-06 Gerd Moellmann <gerd@gnu.org>
2122
2123 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2124 Make sure the tooltip is completely visible.
2125 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2126
2127 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2128
2129 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2130
3ffb33bb
DL
21312001-04-06 Dave Love <fx@gnu.org>
2132
52283633
SM
2133 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2134 Fix test of `from'.
3ffb33bb 2135
869fb12c
GM
21362001-04-06 Gerd Moellmann <gerd@gnu.org>
2137
52283633 2138 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2139
869fb12c
GM
2140 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2141
441bf856
GM
21422001-04-05 Gerd Moellmann <gerd@gnu.org>
2143
4d664b04
GM
2144 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2145
52283633 2146 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2147
30ca89f5
GM
2148 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2149 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2150
2151 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2152 shell widget's position only if it is non-null.
2153
52283633
SM
2154 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2155 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2156
81a81c0f
GM
2157 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2158 FILENAME to bring it in synch with the documentation.
2159
441bf856
GM
2160 * xfaces.c (realizing_basic_faces_p): Renamed from
2161 realize_default_face_p.
2162 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2163 (realize_default_face): Don't set the flag.
2164
702a1e8e
GM
21652001-04-04 Gerd Moellmann <gerd@gnu.org>
2166
1013f4e3
GM
2167 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2168
52283633
SM
2169 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2170
1013f4e3
GM
2171 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2172 the buffer that was used for echoing.
2173
702a1e8e
GM
2174 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2175 (first_font_matching): Removed unused function.
2176 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2177 (may_use_scalable_font_p): Remove parameter FONT; rename
2178 parameter NAME to FONT.
2179 (x_face_list_fonts): Fix missing bounds check.
2180 (realizing_default_face_p): New variable.
2181 (realize_default_face): Set and clear that flag.
2182 (x_face_list_fonts): When called during the realization of the
2183 default face, and no matching fonts are found when ignoring
2184 scalable fonts and fonts matching a regexp from
2185 face-ignored-fonts, try without ignoring fonts.
2186
f9dbcda4
GM
21872001-04-03 Gerd Moellmann <gerd@gnu.org>
2188
ad18ffb1
GM
2189 * xfns.c (postprocess_image): New function.
2190 (lookup_image): Call it for all image types except PostScript.
2191 (x_kill_gs_process): Call postprocess_image.
2192
f9dbcda4
GM
2193 * xterm.c (x_use_underline_position_properties): New variable.
2194 (x_draw_glyph_string): Use it.
2195 (syms_of_xterm): DEFVAR_BOOL it.
2196
651f03b6
GM
21972001-04-02 Gerd Moellmann <gerd@gnu.org>
2198
2199 * xterm.c (x_alloc_nearest_color_1): New function.
2200 (x_alloc_nearest_color): Use it.
2201 (x_color_cells): Take a Display as argument, instead of a frame.
2202 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2203 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2204 (x_initialize): Register cvt_string_to_pixel as resource converter
2205 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2206
73d75a62
GM
22072001-03-30 Gerd Moellmann <gerd@gnu.org>
2208
b2046df8
GM
2209 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2210 (set_iterator_to_next): If a string from a display property ends,
2211 consider the case that this might also be the end of an
2212 overlay string having the display property.
2213
52283633 2214 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2215
87d8eba4
GM
2216 * xdisp.c (reseat_to_string): Undo last change.
2217
73d75a62
GM
2218 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2219 matrix of a window when the header line changes, when
2220 new rows are allocated, or when the width changes.
2221
911a2406
EZ
22222001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2223
52283633 2224 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2225
aea51abe
EZ
22262001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2227
2228 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2229 deprecated.
2230
176bc847
GM
22312001-03-29 Gerd Moellmann <gerd@gnu.org>
2232
ed31fabf
GM
2233 * data.c (Fsubr_interactive_form): New function.
2234 (syms_of_data): Defsubr it.
2235
176bc847
GM
2236 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2237 (live_float_p, live_misc_p): Return 1 only if the offset of the
2238 pointer in its block is >= 0.
2239
e59d0e9d
GM
22402001-03-28 Paul Eggert <eggert@twinsun.com>
2241
2242 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2243 microseconds calcuation. Avoid double-rounding problem.
2244 In doc string, warn that the result is approximate.
2245
f827b862
GM
22462001-03-28 Gerd Moellmann <gerd@gnu.org>
2247
30a3f61c
GM
2248 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2249 bind `inhibit-eval-during-redisplay' to t.
2250
2251 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2252
2253 * xdisp.c (inhibit_eval_during_redisplay)
2254 (Qinhibit_eval_during_redisplay): New variables.
2255 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2256 don't eval, return nil instead.
2257 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2258 Initialize Qinhibit_eval_during_redisplay.
2259
e719f5ae
GM
2260 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2261 the iterator's multibyte_p flag.
2262
deb2613a
GM
2263 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2264 instead of setting it to zero; it's incremented for each frame
2265 where the menu face is changed.
2266
52283633
SM
2267 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2268 change bottom shadow accordingly.
2269
2270 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2271 intersections here.
2272 (expose_window): Do it here instead.
52283633 2273 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2274
f827b862
GM
2275 * bytecode.c (BYTE_CODE_QUIT): New macro.
2276 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2277
4bde0ebb
GM
22782001-03-27 Gerd Moellmann <gerd@gnu.org>
2279
607ec83c
GM
2280 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2281 Give up if matrix starts in an ellipsis.
2282 (init_from_display_pos): Do nothing if POS doesn't specify
2283 a dpvec_index but the iterator has such a position.
2284
0245398f
GM
2285 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2286
aba25348
GM
2287 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2288 x/y position is (0, 0) after destroying the menu bar, restore
2289 its original position.
2290
4bde0ebb
GM
2291 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2292 (init_from_display_pos): Use it.
2293 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2294
8cdb267e
GM
22952001-03-26 Gerd Moellmann <gerd@gnu.org>
2296
2297 * xdisp.c (try_window_id): Undo last change.
2298
9948db79
EZ
22992001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2300
2301 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2302
2303 * buffer.c (syms_of_buffer): Doc fix.
2304
2eddf899
GM
23052001-03-26 Gerd Moellmann <gerd@gnu.org>
2306
2307 * xfaces.c (x_update_menu_appearance): Use local variable
2308 popup_path for setting font resources.
2309
6c145d35
EZ
23102001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2311
6a65b1b5
EZ
2312 * frame.c (Fframe_list): Don't reference tip_frame if
2313 HAVE_WINDOW_SYSTEM is not defined.
2314
6c145d35
EZ
2315 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2316 <wl@gnu.org>.
2317
d74c1900
GM
23182001-03-25 Gerd Moellmann <gerd@gnu.org>
2319
20fbd925
GM
2320 * xdisp.c (init_from_display_pos): Test invisible property
2321 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2322
927c5b3b
GM
2323 * xdisp.c (redisplay_internal) <update one window>: Make sure
2324 last_arrow_position and last_arrow_string are set.
2325
d74c1900
GM
2326 * frame.c (Fframe_list): Don't return a tooltip frame.
2327
091f8878
GM
23282001-03-23 Gerd Moellmann <gerd@gnu.org>
2329
52283633
SM
2330 * xdisp.c (mark_window_display_accurate_1): New function,
2331 extracted from mark_window_display_accurate.
2332 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2333 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2334 (mark_window_display_accurate): Use it.
2335 (redisplay_internal): Use it for the selected window.
2336 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2337 for the selected frame.
2338
ac90c44f
GM
2339 * xdisp.c Use make_number, for readability.
2340 (try_window_id): Disable rows below the window end.
2341 (try_window_reusing_current_matrix): Use cursor_row_p.
2342 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2343 of rows.
2344 (init_from_display_pos): If POS specifies a position in a display
2345 vector, maybe get the iterator set up for that ellipsis.
43c09969 2346
091f8878
GM
2347 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2348
991786dd
EZ
23492001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2350
2351 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2352
6c29b43c
GM
23532001-03-23 Gerd Moellmann <gerd@gnu.org>
2354
2355 * xfaces.c (x_update_menu_appearance): Use a different path
2356 for Lucid popup menus.
2357
d8731202
SM
23582001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2359
2360 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2361
2362 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2363 (string_buffer_position): Use `make_number'.
2364
f61a541b
GM
23652001-03-22 Gerd Moellmann <gerd@gnu.org>
2366
3c9e997b
GM
2367 * xfaces.c (x_update_menu_appearance): Renamed from
2368 x_set_menu_face_resources. Use different resources for popups.
2369
2370 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2371 (GC_CHECK_STRING_BYTES): Don't define.
2372
364cd450
GM
2373 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2374 Removed, together with subroutines.
2375 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2376 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2377
d8731202
SM
2378 * dispextern.h (x_set_menu_resources_from_menu_face):
2379 Remove prototype.
364cd450 2380
d8731202 2381 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2382 Remove calls to x_set_menu_resources_from_menu_face.
2383
d8731202
SM
2384 * xfaces.c (xm_set_menu_resources_from_menu_face):
2385 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2386
2387 * xmenu.c: Include widget.h.
2388 (single_submenu): Return int. Some cleanup.
2389 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2390
140330de
GM
23912001-03-21 Gerd Moellmann <gerd@gnu.org>
2392
2393 * xterm.c (x_update_window_end): Handle overwritten mouse face
2394 also for tool bar windows.
2395 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2396 DRAW is DRAW_IMAGE_RAISED.
2397
1741905c
GM
23982001-03-20 Gerd Moellmann <gerd@gnu.org>
2399
fa88947e
GM
2400 * print.c (syms_of_print): Doc fixes.
2401
1741905c
GM
2402 * fns.c (Fmd5): Doc fix.
2403
ade0bee1
GM
24042001-03-19 Gerd Moellmann <gerd@gnu.org>
2405
357e7376
GM
2406 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2407 Clear area of the frame not occupied by the scroll bar.
2408
c2c097cc
GM
2409 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2410 tip frame's root window buffer to *tip* right after creating
2411 the frame.
2412
ade0bee1
GM
2413 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2414 is an integer don't have to be for space characters.
2415
88c6e37e
GM
24162001-03-16 Gerd Moellmann <gerd@gnu.org>
2417
52283633
SM
2418 * indent.c (current_column, current_column_1, Fmove_to_column)
2419 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2420
c62eed76
KH
24212001-03-15 Kenichi Handa <handa@etl.go.jp>
2422
2423 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2424 drawing glyph string.
2425
c899e7e6
GM
24262001-03-15 Gerd Moellmann <gerd@gnu.org>
2427
d0bbfc99
GM
2428 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2429 (command_loop_1): Undo last change.
2430
03d1a189
GM
2431 * xterm.c (fast_find_position): Return the correct vpos.
2432
c899e7e6 2433 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2434 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2435 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2436 Call store_symval_forwarding with BUF null.
2437 (set_internal): Call store_symval_forwarding with the BUF
2438 parameter passed to set_internal. Formerly, the value was always
2439 set in the current buffer; the buffer recorded in specbind for
2440 this case wasn't used.
2441 (arith_driver): Reindent.
2442
52283633
SM
2443 * buffer.c (swap_out_buffer_local_variables):
2444 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2445
2446 * lisp.h (store_symval_forwarding): Change prototype.
2447
2448 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2449
57ac7c81
GM
24502001-03-14 Gerd Moellmann <gerd@gnu.org>
2451
697617d9
GM
2452 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2453 FOR_DELETION. Avoid resizing the mini-window of the selected
2454 frame if FOR_DELETION is set.
2455 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2456 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2457 signature.
2458
2459 * window.c (Fset_window_configuration): Change call to
2460 do_switch_frame to new format.
2461
2462 * keyboard.c (quit_throw_to_read_char): Change call to
2463 do_switch_frame to new format.
2464
2465 * lisp.h (do_switch_frame): Change prototype.
2466
819dce0f
GM
2467 * frame.c (Fframe_parameters): In the `buffer-list' frame
2468 parameter, store the buffer list of FRAME, not the list of the
2469 selected frame.
2470
57ac7c81
GM
2471 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2472 box just because the glyph row's full_width_p flag is set.
2473
65008712
GM
24742001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2475
2476 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2477 skip the padding blanks inserted in extend_face_to_end_of_line,
2478 before checking for trailing whitespace.
2479
159cf431
GM
24802001-03-13 Gerd Moellmann <gerd@gnu.org>
2481
52283633 2482 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2483 Remove special handling for LessTif/Motif.
2484 (toplevel): Don't include Xm/Xm.h.
2485
52283633
SM
2486 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2487 Remove workaround code for LessTif; it doesn't work anymore.
2488
2564ea1b 2489 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2490 Xm/ScrollBarP.h.
afcdc0a1 2491
52283633
SM
2492 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2493 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2494 contemporary LessTif.
2495
52283633
SM
2496 * xfaces.c (xm_set_menu_resources_from_menu_face):
2497 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2498
159cf431
GM
2499 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2500 removing button grabs.
2501
c6f7429a
KH
25022001-03-13 Kenichi Handa <handa@etl.go.jp>
2503
cb82d767
KH
2504 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2505 and clip-large-size-font as obsolete.
2506
c6f7429a
KH
2507 * lread.c (read_multibyte): Check the validity of multibyte
2508 sequence. If invalid, return the first byte.
2509
760cefb5
GM
25102001-03-12 Gerd Moellmann <gerd@gnu.org>
2511
2512 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2513 before running the command; timer functions or process
2514 filters may have set it.
2515
5141f9d0
EZ
25162001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2517
2518 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2519 Doc fix.
2520
b6a15240
GM
25212001-03-12 Gerd Moellmann <gerd@gnu.org>
2522
2523 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2524 to sprintf.
2525
95522746
GM
25262001-03-09 Gerd Moellmann <gerd@gnu.org>
2527
db14cfc5
GM
2528 * dispextern.h (string_buffer_position): Add prototype.
2529
52283633 2530 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2531 (single_display_prop_string_p): New functions.
2532
2533 * xterm.c (note_mouse_highlight): If there's no help-echo on
2534 a string, look at the buffer text ``under'' it.
2535
2536 * keyboard.c (make_lispy_event): Add string info to the event,
2537 analogous to what's done on mode lines.
2538 (read_key_sequence): For a click on a string, consider `local-map'
2539 and `keymap' of that string.
2540
52283633
SM
2541 * keyboard.c (make_lispy_event, make_lispy_movement):
2542 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2543
2544 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2545
2546 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2547 POS; return void.
2548
95522746
GM
2549 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2550 flags argument to emacs_open; it seems to conflict with O_EXCL.
2551
898a399d
KH
25522001-03-09 Kenichi Handa <handa@etl.go.jp>
2553
28cd4910
KH
2554 * composite.h (struct composition): Change types of members;
2555 glyph_len to unsigned, width to unsigned short.
898a399d 2556
4cdf6a6c
AI
25572001-03-08 Andrew Innes <andrewi@gnu.org>
2558
2559 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2560 menu titles.
2561
129004d3
GM
25622001-03-08 Gerd Moellmann <gerd@gnu.org>
2563
221dd3e7
GM
2564 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2565 instead of nil.
2566
52283633 2567 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2568 help-echo in strings.
2569 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2570 (fast_find_string_pos): New function.
2571
52283633
SM
2572 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2573 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2574
2575 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2576 Handle `mouse-face'.
2577
2578 * dispextern.h (face_at_string_position): Change prototype.
2579
52283633 2580 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2581
129004d3
GM
2582 * keyboard.c (make_lispy_event): Avoid generating drag events
2583 if the mouse hasn't actually moved to another buffer position.
52283633 2584
80c8ab8c
DL
25852001-03-08 Dave Love <fx@gnu.org>
2586
129004d3 2587 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2588
989521fd
GM
25892001-03-08 Gerd Moellmann <gerd@gnu.org>
2590
2591 * process.c (Fset_process_window_size): Fix a typo.
2592
bb5c338d
KH
25932001-03-08 Kenichi Handa <handa@etl.go.jp>
2594
2595 * coding.c (detect_coding_sjis): Do more rigid check.
2596 (detect_coding_big5): Likewise.
2597 (decode_coding_sjis_big5): Likewise.
2598 (Fdetect_coding_region): Call detect_coding_system with tailing
2599 anchor byte `\0' for more rigid detection.
52283633 2600 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2601 (Fdetect_coding_string): Likewise.
2602
8b8f9197
SM
26032001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2604
2605 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2606 a string before extracting its data.
2607
3bdf2660
GM
26082001-03-07 Gerd Moellmann <gerd@gnu.org>
2609
2610 * window.c (Frecenter): Rewrite code handling negative values
2611 of ARG on graphical frames.
2612
26132001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2614
2615 * window.c (displayed_window_lines): If W->start is outside the
2616 accessible portion of the buffer, call start_display with BEGV or
2617 ZV instead of W->start.
2618
471f86b9
GM
26192001-03-07 Gerd Moellmann <gerd@gnu.org>
2620
2ab62c6c
GM
2621 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2622
471f86b9
GM
2623 * process.c (Fset_process_filter): Don't crash if the input
2624 file descriptor of PROCESS is closed.
2625 (Fset_process_window_size): Likewise.
2626
101922c3
GM
26272001-03-06 Kenichi Handa <handa@etl.go.jp>
2628
2629 * xterm.c (XTflash): Make the timeout of select shorter, and call
2630 select repeatedly until the desired time expires.
2631
45d051a7
GM
26322001-03-06 Gerd Moellmann <gerd@gnu.org>
2633
2634 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2635
2636 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2637
2638 * lisp.h (Vwindow_list): Declare extern.
2639
8f372c46
EZ
26402001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2641
2642 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2643
f16a7aa5
GM
26442001-03-06 Gerd Moellmann <gerd@gnu.org>
2645
157ae273
GM
2646 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2647 to detect a case where we have to highlight a different region
2648 despite not having left the currently highlighted region.
2649 Set mouse_face_overlay in the x_display_info.
45d051a7 2650 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2651
2652 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2653
2654 * buffer.c (mouse_face_overlay_overlaps): New function.
2655
2656 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2657 (Qmouse_face): Declare extern.
2658
f16a7aa5
GM
2659 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2660 if face_change_count is non-zero.
2661
827afcac
KH
26622001-03-06 Kenichi Handa <handa@etl.go.jp>
2663
2664 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2665 that the source is unibyte.
2666
14c7242e
DL
26672001-03-05 Dave Love <fx@gnu.org>
2668
827afcac 2669 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2670
c28b847b
GM
26712001-03-05 Gerd Moellmann <gerd@gnu.org>
2672
2673 * minibuf.c (read_minibuf): Clean up the binding stack if
2674 called noninteractively.
2675
b86644f2
KH
26762001-03-05 Kenichi Handa <handa@etl.go.jp>
2677
2678 * coding.c (syms_of_coding): Docstring modified.
2679
203682cc 26802001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2681
2682 * charset.c (char_to_string): If a single byte char has modifier
2683 bits that can't be reflected to the character code, ignore them
45d051a7 2684 instead of signaling an error.
b86644f2 2685
e30bd7b7
EZ
26862001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2687
2688 * s/msdos.h: Update copyright notice.
2689
2690 * dosfns.h: Update copyright notice.
2691
2692 * dosfns.c: Update copyright notice.
2693
2694 * msdos.c: Update copyright notice.
2695
b52b65bd
GM
26962001-03-02 Gerd Moellmann <gerd@gnu.org>
2697
2698 * xterm.c (glyph_rect): New function.
2699 (XTmouse_position): Use it to raise the threshold for mouse
2700 movement event generation.
2701
53c4b1e6
EZ
27022001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2703
2704 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2705 specifies (reverse . t), reverse the initial screen colors.
2706 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2707 but we are reversing the colors, set bg_set, not fg_set.
2708 Likewise for setting background-color and reversing: set fg_set.
2709 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2710 in effect.
2711
2712 * xfaces.c (Finternal_set_lisp_face_attribute)
2713 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2714 parameters alist.
2715
f964b4d7
GM
27162001-03-02 Gerd Moellmann <gerd@gnu.org>
2717
ef53d75e
GM
2718 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2719 to a single slash in the middle of file names.
2720
52283633 2721 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2722 Accept only alphanumeric time zone names.
2723
f964b4d7
GM
2724 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2725 or width area.
2726 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2727 a widget to zero height.
52283633 2728
c3c45f65
GM
27292001-03-01 Gerd Moellmann <gerd@gnu.org>
2730
2731 * window.c (Fwindow_end): Call move_it_past_eol only if
2732 ending up on a partially visible line.
2733
028d739a
DL
27342001-03-01 Dave Love <fx@gnu.org>
2735
2736 * ccl.c (Fccl_execute): Doc fix.
2737
57c5889c
GM
27382001-03-01 Gerd Moellmann <gerd@gnu.org>
2739
35f59f6b
GM
2740 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2741 of the tool bar before calling x_figure_window_size.
2742
f84ff02c
GM
2743 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2744 NULL after destroying it, otherwise XTread_socket can access a
2745 destroyed widget when input is unblocked.
2746
8b8f9197 2747 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2748
57c5889c
GM
2749 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2750 same name as before, although there was a change in fontsets.
2751
224227d1
KR
27522001-02-28 Ken Raeburn <raeburn@gnu.org>
2753
4560730a
KR
2754 * lisp.h (Fframe_parameter): Declare.
2755
224227d1 2756 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2757 Lisp_Object.
224227d1 2758
ece93c02
GM
27592001-02-28 Gerd Moellmann <gerd@gnu.org>
2760
11ef99b9
GM
2761 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2762 NULL instead.
2763
2764 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2765 NULL instead.
2766
ece93c02
GM
2767 * alloc.c (toplevel): Include process.h.
2768 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2769 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2770 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2771 (allocate_vector, allocate_hash_table, allocate_window)
2772 (allocate_frame, allocate_process, allocate_other_vector):
2773 New functions.
ece93c02
GM
2774 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2775 (mark_maybe_pointer): New function.
52283633 2776 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2777 remain and not Lisp_Objects.
2778 (min_heap_address, max_heap_address): New variables.
2779 (mem_find): Return MEM_NIL if START is below min_heap_address or
2780 above max_heap_address.
2781 (mem_insert): Compute min_heap_address and max_heap_address.
2782
2783 * process.c (make_process): Use allocate_process.
2784
2785 * frame.c (make_frame): Use allocate_frame.
2786
2787 * window.c (make_window, make_dummy_parent): Use allocate_window.
2788 (Fcurrent_window_configuration): Use allocate_other_vector.
2789
2790 * lisp.h (allocate_vectorlike): Remove prototype.
2791 (allocate_vector, allocate_other_vector, allocate_frame)
2792 (allocate_window, allocate_process, allocate_hash_table):
2793 Add prototypes.
2794
2795 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2796 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2797
063af457
KH
27982001-02-27 Kenichi Handa <handa@etl.go.jp>
2799
2800 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2801 treat the produced bytes as a valid multibyte sequence.
2802
2803 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2804 (ccl_driver) <CCL_WriteMultibyteChar2>:
2805 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2806 <ccl_finish>: Set ccl->eight_bit_control properly.
2807
2808 * ccl.h (struct ccl_program): New member eight_bit_control.
2809
f58c6494
SM
28102001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2811
2812 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2813 accessible_keymaps_char_table.
2814 (accessible_keymaps_char_table): Obey `is_metized'.
2815 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2816 Lisp_Object.
2817
c596c392
GM
28182001-02-26 Gerd Moellmann <gerd@gnu.org>
2819
2820 * dispnew.c: Check HAVE_TERM_H before including term.h.
2821
425de386
AI
28222001-02-24 Andrew Innes <andrewi@gnu.org>
2823
2824 * makefile.w32-in: Update copyright notice.
2825
2ba11bbd
SM
28262001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2827
2828 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2829
66c56ed1
KH
28302001-02-24 Kenichi Handa <handa@etl.go.jp>
2831
4c1593ce
KH
2832 * Makefile.in (lisp): Add international/utf-8.elc.
2833
66c56ed1
KH
2834 * fontset.c (Fnew_fontset): Fix handling of the case that an
2835 element of FONTLIST is a cons of family and registry.
2836
796ead7e
JR
28372001-02-23 Jason Rumney <jasonr@gnu.org>
2838
2839 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2840 to height unconditionally.
2841
2842 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2843 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2844 (x_insert_glyphs): Call window_box_left to obtain the left
2845 x-coordinate of the area to shift.
2846
2847 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2848 safe_run_hooks.
2849
f6839838
AI
28502001-02-22 Andrew Innes <andrewi@gnu.org>
2851
52283633 2852 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2853 ($(BLD)\dispnew.obj):
2854 ($(BLD)\editfns.obj):
2855 ($(BLD)\fileio.obj):
2856 ($(BLD)\filelock.obj):
2857 ($(BLD)\keyboard.obj):
2858 ($(BLD)\w32proc.obj):
2859 ($(BLD)\process.obj):
2860 ($(BLD)\sysdep.obj): Ditto.
2861
2862 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2863 header files.
52283633
SM
2864 ($(BLD)/dispnew.$(O)):
2865 ($(BLD)/editfns.$(O)):
2866 ($(BLD)/fileio.$(O)):
2867 ($(BLD)/filelock.$(O)):
2868 ($(BLD)/keyboard.$(O)):
2869 ($(BLD)/w32proc.$(O)):
2870 ($(BLD)/process.$(O)):
f6839838
AI
2871 ($(BLD)/sysdep.$(O)): Ditto.
2872
c224f70b
GM
28732001-02-22 Gerd Moellmann <gerd@gnu.org>
2874
51695746
GM
2875 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2876 at the start of the function, check that the \n in it->c is
2877 from the iterator's current position.
52283633 2878
a61b7058
GM
2879 * xdisp.c (handle_single_display_prop): Add parameter
2880 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2881 properties which replace the display of text with something else.
2882 (handle_display_prop): Call handle_single_display_prop with
2883 additional argument saying if we already replaced text display
2884 with something else. Use AREF.
52283633 2885 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2886 (decode_mode_spec_coding): Use AREF and ASIZE.
2887
3473f362
GM
2888 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2889 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2890 * vmstime.h: Files removed.
52283633 2891
2bb58df3
GM
2892 * unexencap.c, unexfx2800.c: Files removed.
2893
c224f70b
GM
2894 * dispnew.c (direct_output_for_insert): Give up if we are showing
2895 a message or just cleared the message because we might need to
2896 resize the echo area window or display an empty echo area.
2897
ffc9ff0c
GM
28982001-02-21 Gerd Moellmann <gerd@gnu.org>
2899
0528abe1
GM
2900 * xdisp.c (redisplay_internal): Do the
2901 mark_window_display_accurate after all windows have been
2902 redisplayed because this call resets flags in buffers which are
2903 needed for proper redisplay.
2904
52283633
SM
2905 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2906 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2907 the old names.
2908
52283633
SM
2909 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2910 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2911
2912 * msdos.h (struct x_output): Rename busy_window to
2913 hourglass_window, busy_p to hourglass_p.
2914
52283633
SM
2915 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2916 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2917
2918 * xfns.c: Rename everything containing *busy_cursor* and similar
2919 to *hourglass*.
2920 (syms_of_w32fns): Rename x-busy-pointer-shape to
2921 x-hourglass-pointer-shape, display-busy-cursor to
2922 display-hourglass, busy-cursor-delay to hourglass-delay.
2923
2924 * w32fns.c: Rename everything containing *busy_cursor* and similar
2925 to *hourglass*.
2926 (syms_of_w32fns): Rename x-busy-pointer-shape to
2927 x-hourglass-pointer-shape, display-busy-cursor to
2928 display-hourglass, busy-cursor-delay to hourglass-delay.
2929
2930 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2931 of its busy_p flag.
2932
2933 * dispextern.h (start_hourglass, cancel_hourglass)
2934 (display_hourglass_p): Renamed from *busy_cursor*.
2935
ab2c5f0a
GM
29362001-02-20 Gerd Moellmann <gerd@gnu.org>
2937
d17e49a8
GM
2938 * keyboard.c (read_char): When an event from unread-command-events
2939 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2940
fa97adf6
GM
2941 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2942 equal to the current buffer.
2943
ab2c5f0a
GM
2944 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2945 nil, otherwise we're left with truncate_lines t when a message
2946 is printed with message-truncate-lines bound to t.
2947
aeac019e
GM
29482001-02-19 Gerd Moellmann <gerd@gnu.org>
2949
c8bc6f65
GM
2950 * window.c (Fmove_to_window_line): Undo last change.
2951 (displayed_window_lines): Call line_bottom_y to determine
2952 the line's bottom position.
2953
2954 * dispextern.h (line_bottom_y): Add prototype.
2955
52283633 2956 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2957 (pos_visible_p): Use it.
2958
980a2d69
GM
2959 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2960 set redisplaying_p to 0 here instead of in Frecursive_edit.
2961 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2962 set redisplaying_p.
2963
52283633 2964 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2965 New variables.
2966 (syms_of_xdisp): Initialize new variables.
2967 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2968 Specbind `inhibit-menubar-update' when updating the menu bar.
2969
65048e97
GM
2970 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2971 safe_run_hooks.
2972
2973 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2974 safe_run_hooks.
2975
a57c4026
GM
2976 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2977 is null.
2978
aeac019e
GM
2979 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2980 to the start of the file.
2981
76846b31
GM
29822001-02-16 Gerd Moellmann <gerd@gnu.org>
2983
f3f053f3 2984 * window.c (set_window_buffer): Fix last change.
52283633 2985
f3f053f3
GM
2986 * window.c (set_window_buffer): Set window's vscroll to 0.
2987
dad75588
GM
2988 * window.c (coordinates_in_window): Increase width of area
2989 where the vertical line can be dragged.
2990
c220b753
GM
2991 * xterm.c (x_set_glyph_string_background_width): Extend the
2992 background face to the end of the drawing area in the text
2993 area, only.
2994
c56b1c1b
GM
2995 * xdisp.c (handle_single_display_prop): Set iterator's position
2996 to where the `display' property starts, like for images.
2997 (dump_glyph): New function.
2998 (dump_glyph_row): Use it. Dump info about marginal areas.
2999
3000 * dispnew.c (direct_output_for_insert): Recognize more cases where
3001 glyphs can be written instead of being inserted.
3002
3003 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3004 the left x-coordinate of the area to shift.
3005
76846b31
GM
3006 * dired.c (directory_files_internal): Set result list to nil
3007 before retrying.
3008
0fc71a77
KH
30092001-02-15 Kenichi Handa <handa@etl.go.jp>
3010
3011 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3012 invalid multibyte sequence, treat *SRC as a character of
3013 eight-bit-graphic.
3014
25078b54
EZ
30152001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3016
3017 * textprop.c (Fset_text_properties): Doc fix.
3018
8399f8a0
GM
30192001-02-15 Gerd Moellmann <gerd@gnu.org>
3020
3021 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3022
9a2a6f73
DL
30232001-02-14 Dave Love <fx@gnu.org>
3024
3025 * coding.c: Doc and message fixes.
3026
bf853fee
AI
30272001-02-14 Andrew Innes <andrewi@gnu.org>
3028
3029 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3030 Emacs frame above the screen size.
3031
78c663d8
GM
30322001-02-14 Gerd Moellmann <gerd@gnu.org>
3033
3034 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3035
7cc9f69f
GM
30362001-02-13 Gerd Moellmann <gerd@gnu.org>
3037
0a411995
GM
3038 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
3039 case that TO ends up beyond ZV after running before-change-functions.
3040
5ddc1b75
GM
3041 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
3042 the selected window if it is showing the buffer in question.
3043
7cc9f69f
GM
3044 * dired.c (directory_files_internal): Initialize errno.
3045 (toplevel): Include errno.h.
3046
2e6621ca
GM
30472001-02-13 Kenichi Handa <handa@etl.go.jp>
3048
3049 * xfaces.c (best_matching_font): New parameter width_ratio.
3050 Multiply avgwidth by width_ratio.
3051 (choose_face_font): Call best_matching_font with width_ratio
3052 calculated from the column width of C.
3053
60222d69
AI
30542001-02-12 Andrew Innes <andrewi@gnu.org>
3055
3056 The following changes are to draw box lines inside characters area
3057 if line-width is negative.
52283633 3058
60222d69
AI
3059 * w32term.c (x_produce_image_glyph): Pay attention to the case that
3060 face->box_line_width is negative.
3061 (x_produce_stretch_glyph): Likewise.
3062 (x_produce_glyphs): Likewise.
3063 (x_estimate_mode_line_height): Likewise.
3064 (x_draw_glyph_string_background): Likewise.
3065 (x_draw_glyph_string_foreground): Likewise.
3066 (x_draw_composite_glyph_string_foreground): Likewise.
3067 (x_draw_glyph_string_box): Likewise.
3068 (x_draw_image_foreground): Likewise.
3069 (x_draw_image_relief): Likewise.
3070 (x_draw_image_foreground_1): Likewise.
3071 (x_draw_image_glyph_string): Likewise.
3072
9804b846
KH
30732001-02-09 Kenichi Handa <handa@etl.go.jp>
3074
3075 The following changes are to draw box lines inside characters area
3076 if line-width is negative.
52283633 3077
9804b846
KH
3078 * xterm.c (x_produce_image_glyph): Pay attention to the case that
3079 face->box_line_width is negative.
3080 (x_produce_stretch_glyph): Likewise.
3081 (x_produce_glyphs): Likewise.
3082 (x_estimate_mode_line_height): Likewise.
3083 (x_draw_glyph_string_background): Likewise.
3084 (x_draw_glyph_string_foreground): Likewise.
3085 (x_draw_composite_glyph_string_foreground): Likewise.
3086 (x_draw_glyph_string_box): Likewise.
3087 (x_draw_image_foreground): Likewise.
3088 (x_draw_image_relief): Likewise.
3089 (x_draw_image_foreground_1): Likewise.
3090 (x_draw_image_glyph_string): Likewise.
3091
3092 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3093 and :line-width can be negative.
52283633 3094 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3095
49be9f70
JR
30962001-02-09 Jason Rumney <jasonr@gnu.org>
3097
3098 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3099 characters the same as ASCII and latin-1.
3100 (x_display_and_set_cursor): Check for the focus frame's selected
3101 window instead of selected_window.
3102 (x_after_update_window_line): Don't clear if frame's internal
3103 border width is zero.
3104 (x_new_font): Don't change a tooltip's size.
3105 (w32_initialize): Set char_ins_del_ok to 1.
3106
3107 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3108 (x_set_font): If font hasn't changed, avoid recomputing
3109 faces and other things.
52283633
SM
3110 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3111 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3112 (x_create_tip_frame): Prevent changing the tooltip's
3113 background color by specifying a color for the default font
3114 in .Xdefaults.
3115 (Qcancel_timer): New variable.
3116 (syms_of_w32fns): Initialize and staticpro it.
3117 (Fx_hide_tip, Fx_show_tip): Use it.
3118 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3119 the timer.
3120 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3121
3122 * w32.c (init_environment): Duplicate local string before putenv.
3123
555e35d2
SZ
31242001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3125
3126 * charset.c (Fstring): A typo.
3127
19c92c94
KH
31282001-02-09 Kenichi Handa <handa@etl.go.jp>
3129
e47a1c33
KH
3130 * charset.c (Fstring): If all arguments are less than 256, return
3131 a unibyte string.
3132
3133 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3134 return a unibyte string.
3135
19c92c94
KH
3136 * coding.c (code_convert_region): After detecting a coding, if
3137 nothing found, set coding->composing to COMPOSITION_NO.
3138 (decode_coding_string): Likewise.
3139
d8e675f5
SM
31402001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3141
3142 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3143 to avoid overflow.
3144
bd503487
KH
31452001-02-07 Kenichi Handa <handa@etl.go.jp>
3146
3147 * charset.c (parse_str_to_multibyte): New function.
3148
3149 * charset.h (parse_str_to_multibyte): Extern it.
3150
3151 * print.c (print_string): If we are going to print a unibyte
3152 string into a multibyte buffer, convert the string to multibyte by
3153 str_to_multibyte.
3154
a8370d72
AI
31552001-02-06 Andrew Innes <andrewi@gnu.org>
3156
3157 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3158 been created. It seems we can get sent window messages such as
3159 WM_ERASEBKGND before we properly update a frame.
3160
c363a1d6
GM
31612001-02-06 Gerd Moellmann <gerd@gnu.org>
3162
3163 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3164 Avoid some unnecessary cursor positioning.
3165
a08332c0
GM
31662001-02-05 Gerd Moellmann <gerd@gnu.org>
3167
52283633 3168 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3169 (LFACE_AVGWIDTH): New macro.
3170 (LFACEP): Use AREF.
3171 (check_lface_attrs): Check LFACE_AVGWIDTH.
3172 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3173 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3174 (merge_face_vectors): Check LFACE_AVGWIDTH.
3175 (Finternal_make_lisp_face): Use AREF.
3176 (xm_set_menu_resources_from_menu_face)
3177 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3178 (Finternal_lisp_face_empty_p): Use AREF.
3179 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3180 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3181 Compare average widths..
3182 (best_matching_font): Arrange for comparing average widths.
3183
52283633
SM
3184 * dispextern.h (enum lface_attribute_index):
3185 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3186
5cb3c8d4
DL
31872001-02-05 Dave Love <fx@gnu.org>
3188
3189 * puresize.h: Revert last change following loadup.el change.
3190
193fba87
AI
31912001-02-05 Andrew Innes <andrewi@gnu.org>
3192
3193 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3194 invocation of temacs, to work with Windows 2000.
3195 (bootstrap-emacs): Ditto.
3196
e16f52ce
GM
31972001-02-05 Gerd Moellmann <gerd@gnu.org>
3198
7a58ab59
GM
3199 * xterm.c (x_display_and_set_cursor): Check for the focus
3200 frame's selected window instead of selected_window.
3201
e89aaabd
GM
3202 * xdisp.c (try_scrolling): If point is in the line below the
3203 window, make sure to move the iterator at least a canonical
3204 char height down.
3205
52283633 3206 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3207
789ce875
KH
32082001-02-05 Kenichi Handa <handa@etl.go.jp>
3209
52283633
SM
3210 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3211 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3212 (ccl_driver): If the CCL program is terminated because of
3213 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3214 destination instead of throwing them away.
3215
20b28f82
GM
32162001-02-02 Gerd Moellmann <gerd@gnu.org>
3217
79fb38c0
GM
3218 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3219 faces and other things.
3220
20b28f82
GM
3221 * xdisp.c (get_next_display_element): Fix case of empty
3222 display table entry.
3223
5a72551e
EZ
32242001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3225
eb24d0bf
EZ
3226 * editfns.c (Fconstrain_to_field): Doc fix.
3227
6a3f48c7
EZ
3228 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3229 into `thoroughly', to make it consistent with the doc string.
3230
5a72551e
EZ
3231 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3232
01acdb05
GM
32332001-02-01 Gerd Moellmann <gerd@gnu.org>
3234
0353b28f
GM
3235 * search.c (search_buffer): Call set_search_regs with a byte
3236 position, not a character position.
3237
01acdb05
GM
3238 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3239 minibuffer-only,
3240
e86b5133
EZ
32412001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3242
3243 * frame.c (Fmodify_frame_parameters): Doc fix.
3244
7442878f
GM
32452001-01-31 Gerd Moellmann <gerd@gnu.org>
3246
01acdb05
GM
3247 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3248 identifier which is not reserved by Standard C.
52283633 3249
7442878f
GM
3250 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3251
3252 * window.c (enum window_part): New enumeration.
3253 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3254 Qright_bitmap_area.
3255 (coordinates_in_window): Return an enumerator from enum
3256 window_part. Fix handling of right scroll bar.
3257 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3258 `right-fringe' instead of `left-bitmap-area' and
3259 `right-bitmap-area'. Use enumerators from enum window_part
3260 instead of hard-coded integers.
52283633
SM
3261 (check_window_containing, window_from_coordinates):
3262 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3263 (syms_of_window): Replace Qleft_bitmap_area and
3264 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3265
7c132cba
EZ
32662001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3267
3268 * editfns.c (Fformat_time_string): Doc fix.
3269
c359dd9e
SM
32702001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3271
3272 * keymap.c (Fwhere_is_internal): Use the first valid binding
3273 if no ascii binding is found (when firstonly is t).
3274
ce070307
GM
32752001-01-31 Gerd Moellmann <gerd@gnu.org>
3276
b4f30ec5
GM
3277 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3278 instead of Finteractive_p.
3279
3280 * lisp.h (interactive_p): Add prototype.
3281
3282 * eval.c (interactive_p): New function.
3283 (Finteractive_p): Use it.
3284
ce070307
GM
3285 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3286
f57b6e64
DL
32872001-01-31 Dave Love <fx@gnu.org>
3288
d61c7afe
DL
3289 * .gdbinit (hook-run): Define to run xreload.
3290
f57b6e64
DL
3291 * textprop.c (Fset_text_properties): Fix newline in doc string.
3292
eef93f99
GM
32932001-01-30 Gerd Moellmann <gerd@gnu.org>
3294
52283633
SM
3295 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3296 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3297
3298 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3299 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3300 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3301
3302 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3303 height.
3304
d9c1f6f9
DL
33052001-01-30 Dave Love <fx@gnu.org>
3306
3307 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3308 AFTER_POTENTIAL_GC.
3309
e8f044a0
GM
33102001-01-29 Gerd Moellmann <gerd@gnu.org>
3311
52283633
SM
3312 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3313 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3314
8e1db7b3
EZ
33152001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3316
3317 * textprop.c (Fset_text_properties): Doc fix.
3318
4eefd9d2
GM
33192001-01-29 Gerd Moellmann <gerd@gnu.org>
3320
3321 * xdisp.c (forward_to_next_line_start): Remove xassert.
3322
fccb8288
EZ
33232001-01-29 Jason Rumney <jasonr@gnu.org>
3324
4eefd9d2 3325 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3326 returning without releasing it.
3327
76581eab
KH
33282001-01-29 Kenichi Handa <handa@etl.go.jp>
3329
3330 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3331 for '^', '$', and '\0'.
3332
83a96b4d
AC
33332001-01-28 Andrew Choi <akochoi@i-cable.com>
3334
5604ec34
AC
3335 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3336 regex for '^', '$', and '\0'.
3337
83a96b4d
AC
3338 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3339 only if current_sblock has been initialized.
3340
3341 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3342 terminal frame even if it is the only visible frame.
3343
c09a6440
KH
33442001-01-28 Kenichi Handa <handa@etl.go.jp>
3345
3346 * fontset.c (font_family_registry): Even if FONTNAME conform to
3347 XLFD, if it specifies other fields than family and registry,
52283633 3348 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3349 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3350 a signle byte character. Don't set FAMILY part to nil here.
3351 It is handled by the caller choose_face_font.
c09a6440
KH
3352 (Fnew_fontset): Call font_family_registry with FORCE 0.
3353 (Fset_fontset_font): Likewise.
3354
4dcd74e6
GM
33552001-01-27 Gerd Moellmann <gerd@gnu.org>
3356
3357 * xdisp.c (display_line): Don't treat a newline as fitting
3358 on the line.
3359
d2906bf8
GM
33602001-01-26 Gerd Moellmann <gerd@gnu.org>
3361
0130fe1a
GM
3362 * window.c (size_window): Set the window's orig_top to nil when
3363 changing heights, so that a future shrink_mini_window won't
3364 restore a bogus height.
3365
550f0e6a
GM
3366 * frame.c (do_switch_frame): If selected frame has a mini-window,
3367 resize that to exact size.
3368
b7b20fbd
GM
3369 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3370
a47b7816
GM
3371 * xdisp.c (display_line): Simplify check for glyphs fitting
3372 entirely in the line.
3373
d2906bf8
GM
3374 * xfns.c (xic_style): New variable.
3375 (create_frame_xic): Move static variable to global scope for
550f0e6a 3376 the case that `static' gets defined away.
d2906bf8 3377
73df2b1e
KH
33782001-01-26 Kenichi Handa <handa@etl.go.jp>
3379
3380 * coding.c (decode_coding): Set a flag for inhibiting
3381 inconsistent eol.
3382 (code_convert_region): Always set saved_coding_symbol.
3383 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3384 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3385
6613cfc4
GM
33862001-01-25 Gerd Moellmann <gerd@gnu.org>
3387
c5e6e06b
GM
3388 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3389 XClearArea.
3390
3391 * xterm.c (x_after_update_window_line): Don't clear if frame's
3392 internal border width is zero.
3393 (x_clear_area): New function.
3394 (x_after_update_window_line, x_clear_end_of_line)
3395 (x_scroll_bar_create, x_scroll_bar_set_handle)
3396 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3397 instead of XClearArea.
3398
3399 * xterm.h (x_clear_area): Add prototype.
3400
6613cfc4
GM
3401 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3402 which doesn't seem necessary anymore with Lesstif 0.92.
3403
650cc6cc
DL
34042001-01-25 Dave Love <fx@gnu.org>
3405
34ac3367
DL
3406 * puresize.h (BASE_PURESIZE): Up to 720000.
3407
650cc6cc
DL
3408 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3409
5e37dc22
GM
34102001-01-25 Gerd Moellmann <gerd@gnu.org>
3411
e1e441f9
GM
3412 * xdisp.c (echo_area_display): Don't call redisplay_internal
3413 when Emacs is shutting down. We can't run hooks etc. that
3414 would be necessary to do a redisplay.
3415
5e37dc22
GM
3416 * lread.c (read_integer): Use type EMACS_INT instead of int.
3417
0fb94c7f
EZ
34182001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3419
3420 * ccl.c (ccl_driver): Fix last change.
3421
e3778624
KH
34222001-01-25 Kenichi Handa <handa@etl.go.jp>
3423
3424 * ccl.h (sturct ccl_program): New member suppress_error.
3425
bb264518 3426 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3427 insert error message to the output.
3428 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3429
3430 * coding.h (struct coding_system): New member suppress_error.
3431
3432 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3433 (Fset_terminal_coding_system_internal): Set the member
3434 suppress_error to 1.
3435 (Fset_safe_terminal_coding_system_internal): Likewise.
3436
245ed2b1
SM
34372001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3438
3439 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3440 as if it was a `charset'.
3441
f9aaedb6
GM
34422001-01-24 Gerd Moellmann <gerd@gnu.org>
3443
3444 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3445 value in where_is_cache; the next lookup in the cache returns
3446 something bogus if we do.
3447
c3902c3e
EZ
34482001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3449
3450 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3451 if HAVE_WINDOW_SYSTEM isn't defined.
3452
3497f73e
GM
34532001-01-24 Gerd Moellmann <gerd@gnu.org>
3454
e7e41584
GM
3455 * fns.c (sweep_weak_table): Fix code taking items out of
3456 the hash collision chain. Some cleanup.
3457
3497f73e
GM
3458 * xterm.c (x_new_font): Don't change a tooltip's size.
3459
3460 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3461 background color by specifying a color for the default font
3462 in .Xdefaults.
3463
3d48e687
KH
34642001-01-24 Kenichi Handa <handa@etl.go.jp>
3465
96531b20
KH
3466 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3467 a workaround for SunOS 4's cc.
3468 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3469 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3470 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3471 statement.
3d48e687 3472
a30629d2
GM
34732001-01-23 Gerd Moellmann <gerd@gnu.org>
3474
3475 * xterm.c (x_set_window_size_1): New function extracted from
3476 x_set_window_size.
3477 (x_set_window_size): Use it.
3478 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3479 doesn't have a widget, like tooltips.
3480
5a43decf
EZ
34812001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3482
52283633 3483 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3484
b0e98867
KH
34852001-01-23 Kenichi Handa <handa@etl.go.jp>
3486
3487 * fns.c (Fset_char_table_default): Fix to make sub char-table
3488 correctly.
3489
50606b4c
GM
34902001-01-22 Gerd Moellmann <gerd@gnu.org>
3491
cb2ddc53 3492 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3493 a desired tool bar string, even if there are no tool bar items.
3494
57c28064
GM
3495 * xdisp.c (Ftool_bar_lines_needed): New function.
3496 (syms_of_xdisp): Defsubr it.
3497
50606b4c
GM
3498 * editfns.c (Fformat): Don't extend text properties from arguments
3499 to padding chars in the result.
3500
2f169c38
EZ
35012001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3502
3503 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3504
0f32f023
AI
35052001-01-20 Andrew Innes <andrewi@gnu.org>
3506
52283633 3507 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3508 (w32_initialize): Don't set term hooks that aren't actually needed
3509 in windowed mode.
3510
3511 * xfaces.c (realize_default_face):
3512 (realize_face):
3513 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3514
3515 * xdisp.c (handle_single_display_prop): Remove references to
3516 FRAME_W32_CONSOLE_P.
3517
52283633 3518 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3519
3520 * frame.h (output_method): Remove output_w32_console method.
3521 (FRAME_W32_CONSOLE_P): Remove macro.
3522
3523 * frame.c (Qw32_console): Remove variable.
3524 (Fframep): Remove references to it.
3525 (syms_of_frame): Ditto.
3526 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3527
3528 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3529 redefinition.
3530
7173eada
KH
35312001-01-20 Kenichi Handa <handa@etl.go.jp>
3532
3533 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3534
755b45ce
AI
35352001-01-19 Andrew Innes <andrewi@gnu.org>
3536
3537 * w32.c (init_environment): Add a version-independent site-lisp
3538 directory to EMACSLOADPATH, after the version dependent one.
3539
0a949811
GM
35402001-01-19 Gerd Moellmann <gerd@gnu.org>
3541
8501998a
GM
3542 * editfns.c (Fbuffer_substring): Doc fix.
3543
52283633
SM
3544 * xdisp.c (message_dolog, message2, message2_nolog):
3545 Rename parameter LEN to NBYTES.
0a949811 3546
e6ebcbbe
KH
35472001-01-19 Kenichi Handa <handa@etl.go.jp>
3548
200ecca2
KH
3549 * charset.c (strwidth): Use c_string_width.
3550 (c_string_width): New function.
3551 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3552 Caller changed.
3553
3554 * charset.h (c_string_width, lisp_string_width): Extern them.
3555
52283633 3556 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3557
e6ebcbbe
KH
3558 * indent.c (check_composition): Check validity of composition.
3559
200ecca2
KH
3560 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3561 characters by calling c_string_width.
3562 (x_consider_frame_title): Get byte length of frame tile string
3563 correctly.
3564 (display_mode_element): Pay attention to width of non-ASCII
3565 characters by calling strwidth.
3566
8692ca92
GM
35672001-01-18 Gerd Moellmann <gerd@gnu.org>
3568
8962e303
GM
3569 * xfns.c (Qcancel_timer): New variable.
3570 (syms_of_xfns): Initialize and staticpro it.
3571 (Fx_hide_tip, Fx_show_tip): Use it.
3572 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3573 the timer.
3574 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3575
91523be9
GM
3576 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3577
3578 * window.h (WINDOW_LIVE_P): New macro.
3579
b0b7ed0e
GM
3580 * window.c (window_size_fixed): New variable.
3581 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3582 the doc string.
3583
06bccf8e
GM
3584 * eval.c (specbind): If binding a per-buffer variable which
3585 doesn't have a buffer-local value in the current buffer, change
3586 the global value by changing the value of the symbol bound in all
3587 buffers not having their own value, to make it consistent with
3588 what happens with other buffer-local variables.
3589
8692ca92
GM
3590 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3591
3592 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3593 when searching for a newline.
3594
bb3a3b50
KH
35952001-01-18 Kenichi Handa <handa@etl.go.jp>
3596
3597 * xdisp.c (display_string): Fix previous change.
3598
c2cc16fa
JR
35992001-01-18 Jason Rumney <jasonr@gnu.org>
3600
3601 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3602 GLYPH_DEBUG is defined.
3603 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3604 true for images with `:ascent 100'.
3605 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3606 meantime, use face MOUSE_FACE_ID.
3607 If first glyph isn't a character glyph, use the ASCII NUL
3608 character to determine the face.
3609 (expose_area): Do not treat left margin specially.
3610 (note_mode_line_highlight): If no local_map, check global keymap.
3611 (note_mouse_highlight): Initialize overlay.
52283633 3612 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3613 (show_scroll_bars): Remove unused function.
3614 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3615 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3616 Clip to row.
52283633 3617 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3618 (x_free_frame_resources): Unload relief colors.
3619
9c11f79e
GM
36202001-01-17 Gerd Moellmann <gerd@gnu.org>
3621
3aec8722 3622 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3623 get_next_display_element when the newline is already found.
3624 This may change the iterator's position, when its current position is
3aec8722
GM
3625 equal to the iterator's stop_charpos.
3626
f3ffc2c3
GM
3627 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3628 zero, use this method only at the end of a line.
3629
52283633 3630 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3631 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3632 if SCALABLE_FONTS_P is set.
52283633 3633
d26d6fd9
GM
3634 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3635 so that scalable fonts are included.
3636
9c11f79e
GM
3637 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3638 In the cache, use a key containing the information if scalable
3639 fonts are included.
3640 (x_load_font): Adapt to change of keys in the font cache.
3641
36422001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3643
d26d6fd9
GM
3644 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3645 XListFonts to take advantage of font caching.
3646
9c11f79e
GM
3647 * xterm.c (x_list_fonts): Ensure caching font information when
3648 called for a null frame, which is the case frequently when Emacs
3649 starts.
3650
51446987
GM
36512001-01-17 Gerd Moellmann <gerd@gnu.org>
3652
f864120f
GM
3653 * xfns.c (QCconversion): Replaces QCalgorithm.
3654
3655 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3656
3657 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3658 of :algorithm.
52283633 3659
e37d1417
GM
3660 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3661 not everything could be displayed.
3662
51446987
GM
3663 * line.h, x-list-font.c: Files removed because unused.
3664
9ad4f3e5
AI
36652001-01-17 Andrew Innes <andrewi@gnu.org>
3666
3667 * dired.c (directory_files_internal): Convert result from readdir
3668 to a unibyte string initially, to avoid possible misinterpretation
3669 of some bytes as the internal form of Emacs characters.
3670
2eda09b5
KH
36712001-01-17 Kenichi Handa <handa@etl.go.jp>
3672
3673 * fns.c (concat): Be sure to avoid putting the same `composition'
3674 property on the adjacent regions.
3675
826f3788
GM
36762001-01-16 Gerd Moellmann <gerd@gnu.org>
3677
52283633 3678 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3679 (Fscroll_right, Fscroll_left): Set it here instead, if called
3680 interactively.
3681
d57b83b3
GM
3682 * buffer.c (Fset_buffer_modified_p): Set buffer's
3683 prevent_redisplay_optimizations_p flag.
3684
826f3788 3685 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3686 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3687 with additional arg.
3688
3689 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3690 Change prototype.
826f3788 3691
826f3788
GM
3692 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3693 FROM_WHERE, for debugging.
3694
261d788b
KH
36952001-01-16 Kenichi Handa <handa@etl.go.jp>
3696
3697 * ccl.c (Fregister_ccl_program): Handle the return value of
3698 resolve_symbol_ccl_program correctly.
52283633 3699 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3700
bccee4f2
GM
37012001-01-15 Gerd Moellmann <gerd@gnu.org>
3702
e4ded23c
GM
3703 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3704 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3705
3706 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3707 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3708 the display; we didn't open it.
3709
bccee4f2
GM
3710 * dispnew.c (save_or_restore_current_matrices): Function removed.
3711 (save_current_matrix, restore_current_matrix): New functions.
3712 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3713 restore the frame's current matrix. Due to the glyph pointer
3714 setup done in adjust_glyph_matrix, there is no easy way to make
3715 saving the current matrix in the desired matrix generally correct,
3716 so don't try it.
3717
ebeccffa
KH
37182001-01-15 Kenichi Handa <handa@etl.go.jp>
3719
3720 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3721 truncation glyphs.
3722 (display_line): Optimize for wide characters.
e4ded23c 3723 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3724 partially. On ttys, produce more than one truncation glyph for
3725 multi-column characters that don't fit on the line.
3726
64388126
KH
37272001-01-13 Kenichi Handa <handa@etl.go.jp>
3728
52283633
SM
3729 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3730 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3731
8edb0a6f
JR
37322001-01-13 Jason Rumney <jasonr@gnu.org>
3733
3734 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3735 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3736 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3737 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3738
52283633
SM
3739 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3740 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3741 (x_draw_image_glyph_string): Adapt to change of image margins.
3742
3743 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3744 variables.
3745
3746 * w32bdf.c (search_file_line, get_cached_font_char)
3747 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3748
3749 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3750
3751 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3752 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3753 (Fw32_send_sys_command): Remove unused variables.
3754 (w32_msg_pump): Add parentheses.
3755
3756 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3757 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3758 Add parentheses.
3759
4956d1ef
GM
37602001-01-12 Gerd Moellmann <gerd@gnu.org>
3761
b30623be
GM
3762 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3763 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3764 being a pair of margins.
3765 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3766 to DEFVAR_LISP. Extend doc.
3767
3768 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3769 margins.
3770 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3771 pair of integers `(X . Y)', use X for the horizontal and Y for the
3772 vertical margin.
3773 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3774 (parse_image_spec): Check it.
52283633
SM
3775 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3776 (tiff_format, gif_format, gs_format):
3777 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3778
52283633
SM
3779 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3780 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3781 (x_draw_image_glyph_string): Adapt to the change of image margins.
3782
3783 * dispextern.h (struct image): Replace member `margin' with
3784 `hmargin' and `vmargin'.
3785
4554cc79
GM
3786 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3787 and GLYPHS.
3788
3789 * dispnew.c (update_text_area): Put code which decrements the
3790 stop position when the row's face extends to the end of the
3bffc665 3791 line in #if 0.
4554cc79 3792
3cccce8d
GM
3793 * xfns.c (x_set_mouse_color): Fix color allocation.
3794
4956d1ef
GM
3795 * keyboard.c: Call get_local_map with new argument list.
3796
3797 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3798
3799 * intervals.h (enum map_property): Removed.
3800 (get_local_map): Change prototype.
3801
3802 * keymap.c: Call get_local_map with new argument list.
3803 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3804
2c2ff7f2
GM
38052001-01-11 Gerd Moellmann <gerd@gnu.org>
3806
a23887b9
GM
3807 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3808 of the size needed for the tool bar string. For the last image,
3809 use a `display' property that reaches to the end of the string.
3810
a7ee2d2e
GM
3811 * xselect.c (selection_request_dpyinfo): New variable.
3812 (x_handle_selection_request): Set it.
3813 (x_selection_request_lisp_error): Don't call
3814 x_decline_selection_request if selection request's display has
3815 been closed.
3816
52283633
SM
3817 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3818 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3819
457b792c
GM
38202001-01-10 Dave Love <fx@gnu.org>
3821
3822 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3823 ${SOME_MACHINE_LISP}, not ${lisp}.
3824
c1efd260
GM
38252001-01-10 Gerd Moellmann <gerd@gnu.org>
3826
52283633
SM
3827 * xdisp.c (display_line): On ttys, produce more than one truncation
3828 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3829
ac95a621
GM
3830 * xselect.c (x_reply_selection_request): Add a comment.
3831
c1efd260
GM
3832 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3833 XkbGetNames instead of XkbGetKeyboard.
3834
1bfb1345
DL
38352001-01-10 Dave Love <fx@gnu.org>
3836
3837 * sysdep.c (random): Revert the declaration.
3838
38119822
GM
38392001-01-09 Gerd Moellmann <gerd@gnu.org>
3840
52283633
SM
3841 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3842 Call function string_bytes.
35f464a7
GM
3843 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3844
3845 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3846 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3847 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3848 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3849 the current sblock.
3850 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3851 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3852 after sweeping strings, and at the end.
3853 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3854
38119822
GM
3855 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3856 ensure that pop_message is called.
3857
3858 * keyboard.c (Fexecute_extended_command): Use a
3859 record_unwind_protect to ensure that pop_message is called.
3860
3861 * lisp.h (push_message_unwind): Add prototype.
3862
3863 * xdisp.c (push_message_unwind): New function.
3864
3865 * fileio.c (do_auto_save_unwind): Do the pop_message here
3866 instead of in Fdo_auto_save.
3867 (Fdo_auto_save): Don't call pop_message.
3868
f47a9ec4
KR
38692001-01-08 Ken Raeburn <raeburn@gnu.org>
3870
3871 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3872 in inner block.
3873
a758f97d
GM
38742001-01-08 Gerd Moellmann <gerd@gnu.org>
3875
6d0afc03
GM
3876 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3877 when increasing window's vscroll.
3878
a758f97d
GM
3879 * macros.c (Qkbd_macro_termination_hook): New variable.
3880 (syms_of_macros): Initialize and staticpro it.
3881 (pop_kbd_macro): Run kbd-macro-termination-hook.
3882
3883 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3884
1bfb1345 38852001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3886
3887 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3888 arglist, for documentation's sake.
3889
0dac6924
AI
38902001-01-06 Andrew Innes <andrewi@gnu.org>
3891
3892 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3893 of *.pdb.
3894
8182406a
AI
38952001-01-05 Andrew Innes <andrewi@gnu.org>
3896
3897 * term.c (update_end): Don't check updating_frame; for some reason
3898 this can be 0 sometimes, such as after dismissing a popup menu,
3899 and isn't necessary given the explicit frame argument.
3900
3828218c
GM
39012001-01-05 Gerd Moellmann <gerd@gnu.org>
3902
3903 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3904 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3905
2f5ded21
GM
39062001-01-04 Gerd Moellmann <gerd@gnu.org>
3907
52283633 3908 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3909
3910 * xfns.c (x_create_tip_frame): Preserve the value of
3911 face_change_count around the creation of the tip frame.
52283633 3912
2f5ded21
GM
3913 * xfns.c (last_show_tip_args): New variable.
3914 (compute_tip_xy): New function.
3915 (Fx_show_tip): Reuse an existing tip frame, if possible.
3916 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3917
dfad65fa
DL
39182001-01-04 Dave Love <fx@gnu.org>
3919
64d4ec0f
DL
3920 * editfns.c (Fformat): Doc fix.
3921
dfad65fa
DL
3922 * systime.h (set_file_times): Prototype.
3923
3924 * widget.h (EmacsFrameSetCharSize_): Prototype.
3925
3926 * sysdep.c (random, srandom): Declare explicitly.
3927
3928 * dispextern.h (move_it_vertically_backward): Declare.
3929
85fe3b5e
GM
39302001-01-04 Gerd Moellmann <gerd@gnu.org>
3931
0f2ac578
GM
3932 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3933 like in Fx_create_frame.
3934
482cca61
GM
3935 * xfaces.c (set_font_frame_param): Don't do anything for
3936 non-graphical frames.
3937
85fe3b5e
GM
3938 * window.c (Fdelete_other_windows): Set window's window_end_valid
3939 to nil when changing the window's start. Don't change the
3940 window's start when its top position hasn't changed. If we do,
3941 this will set the window's optional_new_start, which act's like a
3942 force_start during redisplay with C-x 1 M-> under particular
3943 circumstances (see report from Per Starback to emacs-pretest-bug
3944 from 2000-12-13.).
3945
3e99d3b4
GM
39462001-01-03 Gerd Moellmann <gerd@gnu.org>
3947
a77dc1ec
GM
3948 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3949 short cut at the start of the function. Add an assertion.
3950 (reseat_at_next_visible_line_start): Add an assertion.
3951
2f3cad6c
GM
3952 * window.c (Frecenter): When changing the window start, set the
3953 window's window_end_valid to nil.
3954 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3955
3956 * dispextern.h (move_it_past_eol): Add prototype.
3957
3958 * xdisp.c (move_it_past_eol): New function.
3959
3e99d3b4
GM
3960 * window.c (Fwindow_end): Doc fix.
3961
39622001-01-03 Dave Love <fx@gnu.org>
3963
52283633 3964 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3965
bafb434c
GM
39662001-01-03 Gerd Moellmann <gerd@gnu.org>
3967
3968 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3969 the enabled_p flag of the glyph row at window_end_vpos to 0.
3970 (handle_single_display_prop): Fix last change.
3971
5297fb00
RS
39722001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3973
3974 * window.c (Frecenter): Doc fix.
3975
13d6a61c
AI
39762001-01-02 Andrew Innes <andrewi@gnu.org>
3977
3978 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3979
3980 * frame.h (output_method): Add output_w32_console method.
3981 (FRAME_W32_CONSOLE_P): New macro.
3982
3983 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3984 use output_w32_console method.
3985 (Qw32_console): New Lisp_Object.
3986 (Fframep): Return it.
3987 (syms_of_frame): Init it.
52283633 3988 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3989
3990 * xfaces.c (realize_default_face): Set face foreground and
3991 background to unspecified for w32_console frames.
3992 (realize_face): Realize face cache for w32_console frames.
3993 (realize_tty_face): Accept w32_console frames.
3994
52283633 3995 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3996 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3997 necessary, even if running interactively.
3998
3999 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4000 w32_console frames.
4001
52283633
SM
4002 * w32term.c (x_update_begin):
4003 (x_update_end):
4004 (x_clear_frame):
4005 (x_ins_del_lines):
4006 (x_change_line_highlight):
4007 (x_delete_glyphs):
4008 (w32_ring_bell):
4009 (x_update_begin):
4010 (x_update_end):
4011 (w32_reassert_line_highlight):
4012 (w32_frame_rehighlight):
13d6a61c
AI
4013 (w32_frame_raise_lower): Do nothing if not w32 frame.
4014
4015 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4016
4017 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4018 system doesn't tell us directly.
4019 (Fx_display_visual_class): Implement properly.
4020
d6bb0c0d
GM
40212001-01-02 Gerd Moellmann <gerd@gnu.org>
4022
4023 * window.c (Frecenter): Handle centering in graphical frames
4024 specially. Centering on the basis of line counts doesn't work
4025 reliably with variable-height lines.
52283633 4026
315f5865
EZ
40272001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4028
4029 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4030 and al[].
4031
52283633 4032 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4033 (update_compositions): Remove unused variable `hook'.
4034
4035 * intervals.c (get_local_map): Remove unused variable `tem'.
4036
4037 * doprnt.c (doprnt1): Remove unused variable `size'.
4038
4039 * fns.c (Flength): Remove unused variable `tail'.
4040 (Fdelete): Remove unused variable `size'.
4041
4042 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
4043 and `gcpro2'.
4044
52283633 4045 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
4046
4047 * data.c (find_symbol_value): Remove extra 3rd argument in the
4048 call to swap_in_symval_forwarding.
4049
52283633 4050 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
4051
4052 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
4053 (trivial_regexp_p): Remove unused variable `c'.
4054 (boyer_moore): Remove unused variable `k'.
4055
4056 * indent.c (current_column): Remove unused variable `stopchar'.
4057 (Fcompute_motion): Remove unused variable `contin'.
4058
4059 * casefiddle.c (casify_object): Remove unused variable `tolen'.
4060
4061 * dired.c (directory_files_internal): Fix a typo in a comment.
4062 Remove an unused variable `handler'.
52283633 4063 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
4064 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
4065 on BSD4_2.
4066
52283633 4067 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
4068
4069 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
4070 and `buf'.
4071 (Fmarker_insertion_type): Remove unused variable `buf'.
4072
4073 * insdel.c (make_gap): Remove unused variable `result'.
4074
52283633 4075 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
4076 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
4077 (menu_bar_items): Remove unused function-scope variable `tem'.
4078
4079 * fontset.c (fontset_ref): Remove unused variable `i'.
4080 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 4081 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
4082 (make_fontset_for_ascii_face): Remove unused variable `name'.
4083 (fs_load_font): Remove unused variable `font_idx'.
52283633 4084 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4085 (list_fontsets): Remove unused variable `tail'.
4086 (Fnew_fontset): Remove unused variables `family' and `registry'.
4087 (accumulate_font_info): Remove unused variable `tmp'.
4088 (Ffontset_font): Remove unused variable `id'.
4089 (syms_of_fontset): Remove unused variable `i'.
4090
4091 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4092 to x_term_init.
4093 (lookup_image): Remove unused variable `file'.
4094 (xbm_load): Remove unused variables `bitmap_data', `height', and
4095 `width'. Remove function-local variable `i', leave the
4096 block-local one.
4097 (gif_load): Remove unused variable `inc'.
4098
52283633 4099 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4100 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4101 leave only the one in the inner block.
4102
4103 * xfaces.c (face_fontset, realize_default_face): Remove unused
4104 variable `fontset'.
4105 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4106
4107 * term.c (encode_terminal_code): Remove unused variable `c'.
4108
4109 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4110 char *' instead of `char *'.
4111
4112 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4113 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4114 (Fchar_category_set): Remove unused variables `val', `charset',
4115 `c1' and `c2'.
4116
52283633
SM
4117 * coding.c (detect_coding_iso2022, setup_coding_system):
4118 Remove unused variable `i'.
315f5865
EZ
4119 (detect_coding_mask): Remove unused variable `idx'.
4120 (detect_coding): Remove unused variable `i'.
4121 (ccl_coding_driver): Remove unused variable `result'.
4122 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4123 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4124 (encode_coding_string): Remove unused variables `gcpro1' and
4125 `saved_coding_symbol'.
4126 (Ffind_coding_systems_region_internal): Remove function-local
4127 variable args[], leave only the block-local one.
4128 (code_convert_region1): Remove unused variable `len'.
4129
4130 * charset.c (char_printable_p): Remove unused variable `chars'.
4131 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4132 (str_to_multibyte): Remove unused variable `c'.
4133
4134 * window.c (size_window): Remove block-local variable `min_size'.
4135
4136 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4137 `header_line_height'.
4138 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4139 enum display_element_type.
4140
1a8a9daf
GM
41412001-01-02 Gerd Moellmann <gerd@gnu.org>
4142
6dde6abc 4143 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4144 statements that call X. Save away the error message in a local copy.
4145
1883b2c6
GM
4146 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4147 the start.
4148
a13be207
GM
4149 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4150 in or at the start of invisible text.
4151
1a8a9daf
GM
4152 * dispnew.c (update_window): Don't check_current_matrix_flags.
4153
3608c0f9
JR
41542001-01-01 Jason Rumney <jasonr@gnu.org>
4155
4156 * w32fns.c (x_figure_window_size): Do not allow new_height and
4157 new_width of frame to override specified values.
4158
abb1acc4
KH
41592000-12-30 Kenichi Handa <handa@etl.go.jp>
4160
52283633 4161 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4162
762a68ec
GM
41632000-12-29 Gerd Moellmann <gerd@gnu.org>
4164
52283633 4165 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4166 (update_window) [GLYPH_DEBUG]: Call it.
4167 (scrolling_window): Prevent including current rows which are below
4168 what's displayed in the window.
4169
4170 * xdisp.c (try_window_reusing_current_matrix)
4171 <new start <= old start>: Disable rows in the current matrix
4172 which are below the window after scrolling.
52283633 4173
762a68ec
GM
4174 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4175 is zero. It's not worth the complexity.
4176 (invisible_text_between_p): Put in #if 0 because unused.
4177
2d5912c1
GM
41782000-12-28 Gerd Moellmann <gerd@gnu.org>
4179
46f6a258
GM
4180 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4181 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4182
89f93679
GM
4183 * keyboard.c (echo_char): If C is an integer, always call
4184 push_key_description. Former code could signal an invalid
4185 character error.
4186
4187 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4188 If set, print multibyte text.
4189 (Fsingle_key_description): Call push_key_description with
4190 FORCE_MULTIBYTE set.
4191 (describe_buffer_bindings): Likewise.
4192
4193 * lisp.h (push_key_description): Add prototype.
4194
c06017fb
GM
4195 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4196 around the call to redisplay_internal.
4197
f1d2ce7f
GM
4198 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4199
2d5912c1
GM
4200 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4201
9371f831
KH
42022000-12-28 Kenichi Handa <handa@etl.go.jp>
4203
4204 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4205 (ccl_driver): New local variable `extra_bytes'.
4206
4207 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4208
52283633
SM
4209 * coding.c (setup_coding_system):
4210 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4211 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4212
0c80628a
KH
42132000-12-28 Kenichi Handa <handa@etl.go.jp>
4214
4215 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4216 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4217 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4218 (decode_composition_emacs_mule): New function.
4219 (decode_coding_emacs_mule): Decode composition sequence by calling
4220 decode_composition_emacs_mule.
4221 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4222 (encode_coding_emacs_mule): Changed from macro to function.
4223 If a text contains compositions, encode them correctly.
0c80628a
KH
4224 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4225 that decoding and encoding are required.
4226
3e32cc27
GM
42272000-12-27 Gerd Moellmann <gerd@gnu.org>
4228
5e25feee
GM
4229 * xfaces.c (PT_PER_INCH): New macro.
4230 (xlfd_point_size): Compute real point size from font's pixel size.
4231 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4232 instead of 72.
4233
892d8fcd
GM
4234 * .gdbinit: Comment out the line pointing to the Lesstif source
4235 directory.
4236
12c8b416
GM
4237 * window.c (Frecenter): Use displayed_window_lines instead
4238 of window_internal_height.
4239
6061fbf0
GM
4240 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4241 instead of x-toolkit-scroll-bars-p.
4242 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4243
4244 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4245 instead of x-toolkit-scroll-bars-p.
4246 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4247
3e32cc27
GM
4248 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4249 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4250 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4251 New variables.
4252 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4253 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4254 (build_frame_matrix_from_leaf_window): Remove unused code.
4255 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4256 redisplay history.
4257 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4258 (update_window) [GLYPH_DEBUG]: Likewise.
4259 (syms_of_display): Defsubr dump-redisplay-history.
4260
31798cfe
GM
42612000-12-23 Gerd Moellmann <gerd@gnu.org>
4262
f717c2ba
GM
4263 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4264 the end of the prompt. Set echo_after_prompt to the offset
4265 of echoptr in echobuf.
4266
aeb2b8fc
GM
4267 * xdisp.c (init_from_display_pos): Pop until the iterator's
4268 stack is empty; there may be frames for stretch or images
4269 on the stack.
4270
31798cfe
GM
4271 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4272 (save_or_restore_current_matrix): New function for the same
4273 purpose, but more efficient.
4274 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4275
f8156156
EZ
42762000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4277
4278 * xdisp.c (syms_of_xdisp): Fix last change.
4279
bdd6d4e8
GM
42802000-12-23 Gerd Moellmann <gerd@gnu.org>
4281
4282 * xdisp.c (syms_of_xdisp): Doc fix.
4283
4284 * xdisp.c (redisplay_window): Remove label restore_buffers;
4285 use finish_scroll_bars instead to make sure that scroll bars
4286 are redeemed. If we don't do this, flickering can result from
4287 scroll bars being destroyed and recreated.
4288
9436cdf9
JR
42892000-12-22 Jason Rumney <jasonr@gnu.org>
4290
4291 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4292 in the wrong colors when the foreground is not black.
4293 (expose_window): Don't redraw the window that's currently being
4294 updated.
4295
951f9df5
GM
42962000-12-22 Gerd Moellmann <gerd@gnu.org>
4297
856ff7a7
GM
4298 * window.c (size_window): When setting the window's too_small_ok
4299 flag, compare old size with minimum size depending on WIDTH_P,
4300 don't compare with window_min_width.
52283633 4301
951f9df5
GM
4302 * window.c (delete_window): Simplify somewhat.
4303 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4304 freeing window matrices. The flag windows_or_buffers_changed is
4305 set, so the next redisplay will consider all windows; this should
4306 suffice.
4307
886bc933
KH
43082000-12-22 Kenichi Handa <handa@etl.go.jp>
4309
4310 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4311
4312 * ccl.h (struct ccl_program): New member cr_consumed.
4313
4314 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4315 (CCL_READ_CHAR): Handle EOL conversion here.
4316 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4317
177f4e88
GM
43182000-12-21 Gerd Moellmann <gerd@gnu.org>
4319
52283633 4320 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4321
4322 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4323 otherwise tabs of different size compare equal.
4324
4325 * callint.c (Fcall_interactively): Prevent a compiler warning.
4326
4327 * print.c (print_unwind): Return nil.
4328 (PRINTDECLARE): Initialize all local variables.
4329 (print_preprocess): Add a default case.
4330
8e15274f
GM
4331 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4332
4333 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4334
52283633 4335 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4336 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4337
4338 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4339
4340 * dispnew.c (ensure_frame_matrix): Removed.
4341 (save_frame_matrix, restore_frame_matrix): New functions.
4342 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4343
4344 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4345 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4346
99012074
AI
43472000-12-21 Andrew Innes <andrewi@gnu.org>
4348
4349 * w32term.c (x_update_begin): Regenerate the palette here, rather
4350 than for each window.
4351
4352 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4353 palette is NULL, since this corrupts memory! Also get
4354 display_info reference from frame.
4355
29ef7d2d
JR
43562000-12-21 Jason Rumney <jasonr@gnu.org>
4357
4358 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4359
4360 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4361 to avoid returning without releasing it.
3e27fa1f 4362
3f9d67a6
KH
43632000-12-21 Kenichi Handa <handa@etl.go.jp>
4364
587fc3f9
KH
4365 * keymap.c (push_key_description): Don't convert eight-bit-control
4366 and eight-bit-graphic to multibyte character.
4367
3f9d67a6
KH
4368 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4369 generic character and CODE1 is nil, return the smallest character
4370 in CHARSET.
4371
774ba8c9
DL
43722000-12-20 Dave Love <fx@gnu.org>
4373
4374 * s/osf5-0.h (NSIG): Don't redefine.
4375
88416888
SM
43762000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4377
4378 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4379 excluding menu-bar and tool-bar.
4380 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4381 (menu_item_p): Remove.
4382 (where_is_internal_1): Don't ignore menu-items.
4383
a6426c6f
GM
43842000-12-20 Gerd Moellmann <gerd@gnu.org>
4385
03ff8aab
GM
4386 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4387 into account.
4388
4389 * window.c (make_window): Initialize window's min_hscroll.
4390 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4391 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4392 to zero.
4393 (struct saved_window): New member min_hscroll.
4394 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4395 (Fset_window_configuration): Set window's min_hscroll.
4396 (save_window_save): Save window's min_hscroll.
4397 (compare_window_configurations): Compare min_hscroll values.
4398
4399 * window.h (struct window): New member min_hscroll.
4400
4401 * keyboard.c (echo_prompt): Prevent a compiler warning.
4402
8de4aaf8
GM
4403 * xdisp.c (try_cursor_movement): Fix last change. The real
4404 condition is that PT is at the end of the row, and should
4405 be displayed at the start of the next row.
52283633 4406
3f7e3031
GM
4407 * xdisp.c (try_cursor_movement): If we end on a partially
4408 visible line, end we already decided to scroll, return -1.
4409
a6426c6f
GM
4410 * dispextern.h (ensure_frame_matrix): Add prototype.
4411
4412 * window.c (delete_window, Fsplit_window)
4413 (Fset_window_configuration): Call ensure_frame_matrix.
4414
52283633
SM
4415 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4416 New functions.
a6426c6f
GM
4417 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4418 completed, call fake_current_matrices instead of marking frame
4419 garbaged.
4420
57fa2774
JR
44212000-12-20 Jason Rumney <jasonr@gnu.org>
4422
4423 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4424
d925df90
EZ
44252000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4426
4427 * fns.c (Frequire): Doc fix.
4428
7b93a85b
GM
44292000-12-19 Gerd Moellmann <gerd@gnu.org>
4430
52283633 4431 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4432
c74e645b
GM
4433 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4434 currently displaying a message.
4435
7b93a85b
GM
4436 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4437 xterm.h.
4438 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4439
90d97e64
AI
44402000-12-18 Andrew Innes <andrewi@gnu.org>
4441
4442 * w32.c (w32_strerror): New function.
4443
4444 * w32.h (w32_strerror): New extern.
4445
4446 * w32fns.c (Fw32_shell_execute): Use it.
4447
91c9e6ce
GM
44482000-12-18 Gerd Moellmann <gerd@gnu.org>
4449
4450 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4451
6f4745e2
EZ
44522000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4453
4454 * msdos.c (IT_set_face): Obey inverse_video.
4455
c9e088ce
KH
44562000-12-18 Kenichi Handa <handa@etl.go.jp>
4457
4458 * dired.c (directory_files_internal): Always return decoded filenames.
4459
c3695f5f
GM
44602000-12-18 Gerd Moellmann <gerd@gnu.org>
4461
52d8e4ff
GM
4462 * xterm.c (x_connection_closed): Prevent being called recursively
4463 because of an error condition in XtCloseDisplay.
52283633 4464
62be9979
GM
4465 * xdisp.c (init_iterator): If noninteractive, and the frame's
4466 face cache is null, make one.
4467
52283633 4468 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4469
c3695f5f
GM
4470 * process.c (wait_reading_process_input): Check for pending
4471 input when running timers.
4472
78555fbe
EZ
44732000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4474
52283633 4475 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4476
b2b36264
KH
44772000-12-18 Kenichi Handa <handa@etl.go.jp>
4478
4479 * process.c (read_process_output): Don't run a filter if the code
4480 decoder produces nothing but carryover.
4481
9c543fbf
AI
44822000-12-17 Andrew Innes <andrewi@gnu.org>
4483
4484 * w32.c (sys_rename): Only check errno against EEXIST, and not
4485 EACCES, when determining whether rename failed because the target
4486 exists. This was resulting in indefinite looping on Windows 9x if
4487 the source file was locked by another process.
4488
4489 * w32fns.c (Ffile_system_info): New function.
4490 (syms_of_w32fns): Defsubr it.
4491
10c2b5a8
GM
44922000-12-17 Gerd Moellmann <gerd@gnu.org>
4493
b0228ace
GM
4494 * window.c (coordinates_in_window): Fix computation for
4495 position on vertical line between mode lines.
4496
10c2b5a8
GM
4497 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4498 Don't alter tip_frame or tip_window.
4499 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4500 was deleted.
4501
c844a81a
GM
4502 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4503 Don't alter tip_frame or tip_window.
4504 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4505 was deleted.
4506
6c825f8e
EZ
45072000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4508
4509 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4510 be consistent with the doc string. Reported by NAKAJIMA Mikio
4511 <minakaji@osaka.email.ne.jp>.
4512
af4bb4c8
KH
45132000-12-16 Kenichi Handa <handa@etl.go.jp>
4514
4515 * xfaces.c (Vface_ignored_fonts): New variable.
4516 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4517 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4518
8062e53a
GM
45192000-12-15 Gerd Moellmann <gerd@gnu.org>
4520
e87b8809
GM
4521 * dispnew.c (update_window): Detect pending input every nth line
4522 updated, i.e. do it depending on real work done, and not on the
4523 vpos of the line.
4524
4525 * xterm.c (expose_window): Don't redraw the window that's
4526 currently being updated.
4527
a6768cc5
GM
4528 * window.c (Fset_window_point): Remove test for
4529 cursor_in_non_selected_windows.
4530
4ea7fdca
GM
4531 * lread.c (read1): Recognize end of file after `\\'.
4532
8062e53a
GM
4533 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4534 not unwind_create_frame.
4535
bb7959c1
GM
45362000-12-15 Dave Love <fx@gnu.org>
4537
4538 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4539 bcopy & al.
4540
4541 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4542
ced04c42
KH
45432000-12-15 Kenichi Handa <handa@etl.go.jp>
4544
c5443913
KH
4545 * coding.c (setup_coding_system): Clear all members of the struct
4546 coding_system at first.
bc137305
KH
4547 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4548 argument.
4549 (code_convert_region): Don't override coding->src_multibyte and
4550 coding->dst_multibyte.
c5443913 4551
ced04c42
KH
4552 * fns.c (Fmd5): Docstring improved.
4553
c2d7f289
MB
45542000-12-15 Miles Bader <miles@gnu.org>
4555
4556 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4557 are actually marked as mode-lines; otherwise use
4558 estimate_mode_line_height.
4559
9d7d9263
GM
45602000-12-14 Gerd Moellmann <gerd@gnu.org>
4561
4562 * editfns.c (Fformat): Prevent a buffer overrun when the format
4563 specifies a precision.
4564
7cf0153a
EZ
45652000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4566
4567 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4568 argument is outside the range [2..3].
4569
1de0f662
AI
45702000-12-14 Andrew Innes <andrewi@gnu.org>
4571
4572 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4573 nothing to do. Bind inhibit-quit.
4574 (tip_frame): Make it a Lisp_Object.
4575 (x_create_tip_frame): Set tip_frame after it has been added to
4576 Vframe_list.
4577 (Fx_show_tip): Don't set tip_frame here.
52283633 4578 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4579 (unwind_create_frame, unwind_create_tip_frame): New functions.
4580 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4581 while a frame is only partially constructed.
4582
4583 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4584 (x_free_frame_resources): New function.
4585 (x_destroy_window): Use it.
4586
02387dcc
GM
45872000-12-14 Gerd Moellmann <gerd@gnu.org>
4588
4589 * xfns.c (Fx_backspace_delete_keys_p): New function.
4590 (syms_of_xfns): Defsubr it.
4591
4592 * config.in (HAVE_XKBGETKEYBOARD): Add.
4593
0544ef49
KH
45942000-12-14 Kenichi Handa <handa@etl.go.jp>
4595
98d62747
KH
4596 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4597 Always store string in multibyte representation in echobuf.
4598 (echo_char): Always store string in multibyte representation in
4599 echobuf.
4600 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4601 (read_key_sequence): Adjusted for the change of echo_prompt.
4602
a20193cd
KH
4603 * fns.c (Fmd5): Docstring improved.
4604
191b83b6
KH
4605 * lisp.h (detect_coding_system): Prototype adjusted.
4606
0544ef49
KH
4607 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4608 (detect_coding_emacs_mule, detect_coding_iso2022,)
4609 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4610 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4611 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4612 (detect_coding_mask, detect_coding_system): New argument
4613 MULTIBYTEP. Callers changed.
1da1bb05
KH
4614 (decode_coding_string): Set coding->src_multibyte and
4615 coding->dst_multibyte before calling detect_coding and detect_eol.
4616 Update them after some coding system is detected.
52283633 4617
d5b3eb1b
SM
46182000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4619
4620 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4621
4622 * keyboard.c (menu_bar_items, tool_bar_items):
4623 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4624
f7f8bb69
GM
46252000-12-13 Gerd Moellmann <gerd@gnu.org>
4626
52283633 4627 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4628 New variables.
4629 (unwind_create_frame, unwind_create_tip_frame): New functions.
4630 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4631 while a frame is only partially constructed.
4632
4633 * xterm.h (x_free_frame_resources): Declare.
4634
4635 * xterm.c (x_free_frame_resources): New function.
4636 (x_destroy_window): Use it.
4637
e10da507
GM
4638 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4639 don't interrupt the update for pending input initially, i.e.
4640 update at least some lines.
4641
4642 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4643
d5b3eb1b 4644 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4645
4646 * xfns.c (gray_bitmap_bits): Declare `char *'.
4647
90aa2856
GM
46482000-12-12 Gerd Moellmann <gerd@gnu.org>
4649
4650 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4651 lines start with a relief line.
4652
a308c9cd
DL
46532000-12-12 Dave Love <fx@gnu.org>
4654
4655 * window.c (Fdisplay_buffer): Doc fix.
4656 (Fwindow_list): Remove unused var.
4657
4658 * buffer.h (mmap_set_vars): Declare.
4659
4660 * window.h (Fset_window_point): Declare.
4661
d575011f
EZ
46622000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4663
bf6282d2 4664 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4665 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4666 variable `area'. When looking for a row under (X,Y), give up if some
4667 of the previous rows is not enabled.
d575011f 4668
ecf4d726
GM
46692000-12-12 Gerd Moellmann <gerd@gnu.org>
4670
2ebf6139
GM
4671 * window.c (Fset_window_point): If displaying cursors in windows
4672 other than the selected window, make sure redisplay updates
4673 other windows to show the new value of point in the window.
4674
4675 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4676
bfdb75ee
GM
4677 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4678 the buffer is the sole visible buffer when in the mini-buffer.
4679
52283633 4680 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4681 Bind `inhibit-read-only' to t.
4682 (unwind_with_echo_area_buffer): Use AREF.
4683
c0006262
GM
4684 * xfns.c (Fx_hide_tip): Simplified.
4685
52283633
SM
4686 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4687 instead of `1'.
e9a59cad 4688
ecf4d726
GM
4689 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4690
e5959a9a
GM
46912000-12-11 Gerd Moellmann <gerd@gnu.org>
4692
a3642e49 4693 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4694
44b5a125
GM
4695 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4696 nothing to do. Bind inhibit-quit.
4697 (tip_frame): Make it a Lisp_Object.
4698 (x_create_tip_frame): Set tip_frame after it has been added to
4699 Vframe_list.
4700 (Fx_show_tip): Don't set tip_frame here.
4701
4702 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4703
4704 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4705 Lisp_Object.
4706
4707 * dispextern.h: Change external declaration of tip_frame.
4708
d990421f
GM
4709 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4710 return an empty string.
4711
4db87380
GM
4712 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4713 of the window's update_mode_line flag, since the former is set by
4714 force-mode-line-update, not the latter. This makes
4715 column-number-mode slightly faster.
52283633 4716
e5959a9a
GM
4717 * xdisp.c (try_window_id) <all changes above window start>:
4718 Set the cursor.
4719
169fe44e
GM
47202000-12-11 Paul Eggert <eggert@twinsun.com>
4721
4722 * config.in (HAVE_FTELLO): Remove.
4723 (HAVE_FSEEKO): Add.
4724 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4725 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4726 HAVE_FTELLO.
4727 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4728 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4729
59ec59ae
MB
47302000-12-11 Miles Bader <miles@gnu.org>
4731
4732 * window.c (displayed_window_lines): Don't round up when
4733 converting empty space at bottom to lines.
ff904dd6
MB
4734 Handle non-newline-terminated final lines properly.
4735 (Fwindow_text_height): New function (used to be in lisp).
4736 (syms_of_window): Initialize it.
59ec59ae 4737
42ebfa31
SM
47382000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4739
4740 * syntax.c (scan_lists): Check that the right quote char has the
4741 right Sstring syntax when jumping over strings.
4742 (init_syntax_once): Use Smax rather than 13.
4743
5cdb3cf3
MB
47442000-12-09 Miles Bader <miles@gnu.org>
4745
4746 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4747 with PARTIALLY, inverting the sense.
4748 (window_scroll_pixel_based): Scroll partially visible lines into
4749 place if we hit the beginning or end of the buffer.
a12167c5
MB
4750 (displayed_window_lines): Don't include partially visible lines.
4751 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4752
842b2a94
GM
47532000-12-08 Gerd Moellmann <gerd@gnu.org>
4754
4755 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4756
4757 * tparam.c (tparam1): Change the way buffers are reallocated to be
4758 portable and less obfuscated.
4759
4760 * termcap.c (tgetent): Change the way buffers are reallocated to
4761 be portable and less obfuscated.
4762
4763 * macros.c (store_kbd_macro_char): Change the way buffers are
4764 reallocated to be portable and less obfuscated.
4765
4766 * lread.c (read1): Change the way buffers are reallocated to be
4767 portable and less obfuscated.
4768
4769 * doc.c (Fsubstitute_command_keys): Change the way buffers
4770 are reallocated so that it is portable.
4771
137cad7c
EZ
47722000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4773
4774 * dosfns.c (Ffile_system_info): New function.
4775 (syms_of_dosfns): Defsubr it.
4776
5c7f629c
SM
47772000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4778
4779 * alloc.c (gc_sweep): Add comment.
4780
959e647d
GM
47812000-12-07 Gerd Moellmann <gerd@gnu.org>
4782
52283633
SM
4783 * sound.c (vox_configure): Change order of ioctls.
4784 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4785 Ignore errors when changing volume.
4786 (vox_close): Don't reset the device.
4787
926b7e5e
GM
4788 * process.c (read_process_output): Make sure the process marker's
4789 position is valid when the process buffer is changed in
4790 after-change functions. W3 does that.
52283633 4791
959e647d
GM
4792 * xfns.c (x_free_gcs): New function.
4793
4794 * xterm.h (x_free_gcs): Add prototype.
4795
4796 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4797 freeing GCs here.
4798
4799 * xterm.c (x_destroy_window): Call x_free_gcs so that
4800 resources of non-toolkit X windows will be freed.
4801
478ea067
AI
48022000-12-07 Andrew Innes <andrewi@gnu.org>
4803
4804 * w32fns.c (xlfd_charset_of_font): Fix last change.
4805
fbee3231
DL
48062000-12-06 Dave Love <fx@gnu.org>
4807
67292061
DL
4808 * md5.h (__P): Don't define -- it comes from config.h.
4809
fbee3231
DL
4810 * strftime.c: Change some #if foo to #ifdef foo.
4811
4ee87dbb
AI
48122000-12-06 Andrew Innes <andrewi@gnu.org>
4813
4814 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4815
52283633 4816 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4817 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4818 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4819
9765b4a4
GM
48202000-12-06 Gerd Moellmann <gerd@gnu.org>
4821
d285b373
GM
4822 * alloc.c (gc_sweep): Prevent symbols read during loadup
4823 from being freed.
4824
384333ee
GM
4825 * xdisp.c (underlying_face_id): New function.
4826 (handle_face_prop, face_before_or_after_it_pos): Use it
4827 to determine the face ``under'' a string. Let strings inherit
4828 the face of the buffer under them.
4829
4830 * xfaces.c (face_at_string_position): Update function comment.
52283633 4831
d4b72d58
GM
4832 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4833 matrix if the window's left position has changed; we need to
4834 redraw it in this case.
4835
4836 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4837
e1d05387
GM
4838 * window.c (coordinates_in_window): Check mouse on mode-line or
4839 header-line first.
4840
eb1b0c74
GM
4841 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4842 advertized by the function documentation.
4843
d94d636f
GM
4844 * window.c (syms_of_window): Doc fix.
4845
3887b449
GM
4846 * sound.c (vox_configure): Set volume for left and right channel.
4847 (sound_cleanup): Return nil.
4848
efc8f57a
GM
4849 * xdisp.c (move_it_by_lines): Fix paren typo.
4850
9765b4a4
GM
4851 * xterm.c (x_load_font): Don't use the font's max_bounds for
4852 computing the height of the font. If max_bounds' ascent or
4853 descent are greater than the font's ascent or descent, this means
4854 glyphs overlap, which should be handled now by redisplay.
4855
6529ed87
GM
4856 * window.c (Veven_window_heights): New variable.
4857 (syms_of_window): DEFVAR_LISP it.
4858 (Fdisplay_buffer): Check Veven_window_heights before evening the
4859 window heights.
52283633 4860
0eb2ecde
MB
48612000-12-06 Miles Bader <miles@gnu.org>
4862
4863 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4864 update `default-frame-alist' instead of setting no frame parameters.
4865
03d7a167
KH
48662000-12-06 Kenichi Handa <handa@etl.go.jp>
4867
4868 * composite.c (update_compositions): Fix typo (use the correct
4869 variable).
4870
5f8803c2
JR
48712000-12-05 Jason Rumney <jasonr@gnu.org>
4872
4873 * md5.h: Remove underscores from function declarations.
4874 (__attribute__, __alignof__) [!__GNUC__]: Define.
4875
4876 * md5.c: Delay include of md5.h until after namespace cleaning.
4877
c28a075b
JR
4878 * makefile.w32-in (fns.o): Depend on md5.h
4879 (md5.o): New target.
4880 (sunfns.o): Remove.
4881
4882 * makefile.nt: Likewise.
4883
ff3c7056
JR
48842000-12-05 Jason Rumney <jasonr@altavista.net>
4885
4886 * w32term.c (expose_area): Complete last change.
4887
0c21eeeb
KR
48882000-12-05 Ken Raeburn <raeburn@gnu.org>
4889
4890 * minibuf.c: Include intervals.h.
4891
f201d732
JR
48922000-12-05 Jason Rumney <jasonr@gnu.org>
4893
4894 * w32term.c (x_produce_glyphs): If a font for a component of
4895 a composition is not found, use 1 pixel dot ascent and 0 dot
4896 descent value to avoid displaying terribly tall empty boxes.
4897 (expose_area): Pass x-coordinate relative to the exposed
4898 area to x_draw_glyphs instead of a window-relative coordinate.
4899
21999ab9
GM
49002000-12-05 Gerd Moellmann <gerd@gnu.org>
4901
4d2036e4
GM
4902 * xdisp.c (next_element_from_ellipsis): Save face before selective
4903 display in saved_face_id, and set face_before_selective_p.
4904 (reseat_1): Reset face_before_selective_p.
4905 (append_space, extend_face_to_end_of_line): If iterator's
4906 face_before_selective_p is set, use the face from saved_face_id.
4907 (extend_face_to_end_of_line): For tty frames, make sure to
4908 use the right face id when producing spaces at the end of
4909 the line.
4910
4911 * dispextern.h (struct it): Add face_before_selective_p.
4912
52be17cc
GM
4913 * keyboard.c (record_char): Don't record identical help-echo
4914 events in recent_keys.
4915
8a4f36cc
GM
4916 * xterm.c [USE_X_TOOLKIT]: Close the display.
4917 (xim_close_dpy): Handle case that the display has been closed.
4918
57d6e381
GM
4919 * xterm.c (x_destroy_window): Reset the frame's X window after
4920 destroying it.
4921
21999ab9
GM
4922 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4923 variable window_width.
4924 (line_draw_cost): Fix code skipping over spaces at the end of the
4925 line when must_write_spaces is not set.
4926 (scrolling_window): Fix code inserting runs in list of all runs.
4927
91372bb7
KH
49282000-12-05 Kenichi Handa <handa@etl.go.jp>
4929
4930 * coding.c (setup_coding_system): Be sure to initialize
4931 coding->category_idx.
4932
6c083b4c
GM
49332000-12-04 Gerd Moellmann <gerd@gnu.org>
4934
0c68ce6f 4935 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4936
6452929e
GM
4937 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4938 area to x_draw_glyphs instead of a window-relative coordinate.
4939
d7f31e22
GM
4940 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4941 error in the message.
4942
ae18aa3b
GM
4943 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4944 timer after having read a key. It's not good for code reading
4945 several keys in a loop, like an input method.
4946
caa15ef7
GM
4947 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4948 record undo information for format-decode.
4949
4950 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4951 current buffer is read-only, not if it isn't.
4952
6c083b4c
GM
4953 * keyboard.c (record_char): Record `help-echo' input events
4954 in recent_keys only if they display some help. Don't record
4955 `help-echo' events as macro char.
4956
caa15ef7
GM
49572000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4958
4959 * editfns.c (save_excursion_restore): Don't move point
4960 in another window if it is showing the wrong buffer.
4961 Avoid the call to Fwindow_live_p, for speed.
4962
5a13529b
KH
49632000-12-04 Kenichi Handa <handa@etl.go.jp>
4964
e225faa7
KH
4965 * xfaces.c (struct font_name): New member registry_priority.
4966 (split_font_name): Initialize the above member to zero.
4967 (concat_font_list): New function.
4968 (font_list): Include fonts of all alternative registries.
4969 (FONT_POINT_SIZE_QUANTUM): New macro.
4970 (better_font_p): Ignore point size difference less than
4971 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4972
e89648b4
KH
4973 * xterm.c (x_produce_glyphs): If a font for a component of
4974 a composition is not found, use 1 pixel dot ascent and 0 dot
4975 descent value to avoid displaying terribly tall empty boxes.
4976
5a13529b
KH
4977 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4978
d7935eb6
KR
49792000-12-03 Ken Raeburn <raeburn@gnu.org>
4980
4981 * coding.h (code_convert_string1): Declare.
4982
4983 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4984
52283633 4985 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4986
0dd5e255
JR
49872000-12-02 Jason Rumney <jasonr@gnu.org>
4988
4989 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4990 correctly for single byte character case.
4991 (w32_per_char_metric): Do not try to make any assumptions about
4992 the metrics of BDF fonts.
250cfece 4993 (x_estimate_mode_line_height): If `mode-line' face
52283633 4994 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4995 (note_mouse_highlight): Change the cursor shape on the vertical
4996 border between windows [not enabled].
4997
4998 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4999
5000 * w32fns.c (Fx_create_frame): Reintroduce the call to
5001 face-set-after-frame-defaults.
5002 (Vx_window_horizontal_drag_shape): New variable.
5003 (syms_of_xfns): DEFVAR_LISP it.
5004 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5005 enabled].
0dd5e255 5006
b5d8d2ca
GM
50072000-12-02 Simon Josefsson <simon@josefsson.org>
5008
5009 * fns.c (Fmd5): Use a different logic to decide the coding system
5010 to use.
5011
5012 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5013
fbb87147
EZ
50142000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5015
52283633 5016 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5017
447e9da0
GM
50182000-12-01 Gerd Moellmann <gerd@gnu.org>
5019
7708ced0
GM
5020 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5021 height for YNegative.
5022 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5023 height; also see comment there.
5024
447e9da0
GM
5025 * window.c (coordinates_in_window): Handle computations for
5026 positions on the vertical bar and fringes differently for
5027 window-system frames. Consider some pixels near the vertical bar
5028 as on the bar if the frame doesn't have vertical scroll bars.
5029 Associate positions between mode or header lines with the
5030 right window, the left one.
5031
86d1db20
JR
50322000-12-01 Jason Rumney <jasonr@gnu.org>
5033
5034 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5035
5036 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
5037 invalid frame.
5038
a1d58e5b
GM
50392000-12-01 Gerd Moellmann <gerd@gnu.org>
5040
52283633 5041 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
5042 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
5043 (save_window_save, Fset_window_configuration): Save/restore
5044 window's orig_top and orig_height.
5045
89c609af
JR
50462000-12-01 Jason Rumney <jasonr@gnu.org>
5047
4d177746 5048 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 5049
89c609af
JR
5050 * w32fns.c (x_set_cursor_color): Fix last change.
5051
eccc05db
GM
50522000-11-30 Gerd Moellmann <gerd@gnu.org>
5053
31b6671b
GM
5054 * xdisp.c (echo_area_display): If cursor is in the echo area, make
5055 sure that the next redisplay displays the minibuffer, so that
5056 the cursor will be replaced with what the minibuffer wants.
5057
eccc05db
GM
5058 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
5059 #ifndef instead of using #if.
5060 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
5061 USE_TOOLKIT_SCROLL_BARS is defined.
5062
162de750
JR
50632000-11-30 Jason Rumney <jasonr@gnu.org>
5064
5065 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
5066 x_display_cursor.
5067
693c4692
GM
50682000-11-30 Gerd Moellmann <gerd@gnu.org>
5069
5070 * fns.c (Fmd5): Doc fix.
5071
b5d8d2ca 50722000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
5073
5074 * fns.c (Fmd5): New function.
5075 (syms_of_fns): Defsubr md5.
5076
5077 * Makefile.in (obj): Add md5.o
5078
b02cd40b
GM
50792000-11-30 Gerd Moellmann <gerd@gnu.org>
5080
edfb795e
GM
5081 * md5.h, md5.c: New files, taken from glibc.
5082
df3aedcf
GM
5083 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5084
b02cd40b 5085 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5086 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5087
8b5176cd
SM
50882000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5089
5090 * eval.c (Frun_hooks): Allow 0 arguments.
5091
346598f1
GM
50922000-11-29 Gerd Moellmann <gerd@gnu.org>
5093
f9396e03
GM
5094 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5095 is over the menu bar widget, say it's not on the frame.
5096
4a967a9b
GM
5097 * xfns.c (Fx_create_frame): Reintroduce the call to
5098 face-set-after-frame-defaults.
5099
346598f1
GM
5100 * eval.c (Fsignal): Reset handling_signal.
5101
222456a1
JR
51022000-11-28 Jason Rumney <jasonr@gnu.org>
5103
5104 * w32menu.c (add_menu_item): Reset menu item text when changing
5105 type to radio button.
5106
8049ddc0
GM
51072000-11-28 Gerd Moellmann <gerd@gnu.org>
5108
346598f1 5109 * xselect.c: Update copyright.
f4f4ee4d 5110
bebe4a2c
GM
5111 * window.c (coordinates_in_window): If on a mode or header line,
5112 but sufficiently close to its start, return ``on vertical
5113 border''. This gives us a way to drag windows horizontally when
5114 using toolkit scroll bars.
5115
5116 * xterm.c (note_mouse_highlight): Change the cursor shape
5117 on the vertical border between windows.
5118
5119 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5120
5121 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5122 (syms_of_xfns): DEFVAR_LISP it.
5123 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5124
8d2c2642
GM
5125 * textprop.c (text_read_only): New function.
5126 (verify_interval_modification): Use it instead of signaling
5127 `text-read-only'. This makes it easier to catch this error
52283633 5128 with a breakpoint.:
8d2c2642 5129
52283633 5130 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5131 not end of line, which includes CR.
5132
5a2bae6c
KH
51332000-11-28 Kenichi Handa <handa@etl.go.jp>
5134
5135 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5136 include no-conversion.
5137
ae31f84d
JR
51382000-11-27 Jason Rumney <jasonr@gnu.org>
5139
5140 * w32fns.c (w32_load_system_font): Always mark font as double byte
5141 if codepage is unicode.
5142
67f1cf4c
GM
51432000-11-27 Gerd Moellmann <gerd@gnu.org>
5144
4a74d071 5145 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5146 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5147
902ae620
GM
5148 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5149 `vertical-line', `mode-line' and `header-line' events.
5150
5151 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5152 of a character, a TAB for instance. This is easier than to set
5153 up the iterator exactly, and it's not a frequent case, so the
5154 additional effort wouldn't really pay off.
5155
c1e279c2
AC
51562000-11-26 Andrew Choi <akochoi@i-cable.com>
5157
67f1cf4c 5158 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5159 init_window_once.
5160
a609568a
JR
51612000-11-25 Jason Rumney <jasonr@gnu.org>
5162
52283633
SM
5163 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5164 Args to window_from_coordinates should be pixel coordinates.
48b21762 5165
a609568a
JR
5166 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5167 redisplay handles them properly.
5168
a658d039
MB
51692000-11-25 Miles Bader <miles@gnu.org>
5170
5171 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5172
d3416cca
JR
51732000-11-24 Jason Rumney <jasonr@gnu.org>
5174
5175 * w32.c (init_environment): Set LANG environment variable based on
5176 locale settings, if not set.
5177
5178 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5179 making tool bar smaller. When clearing the frame, also
5180 clear current matrices. Clear frame when tool bar disappears.
5181 Don't use more lines for the tool-bar than is available.
5182 (x_change_window_heights): New function.
5183
ba193890
GM
51842000-11-24 Gerd Moellmann <gerd@gnu.org>
5185
2be8f184
GM
5186 * xdisp.c (init_from_display_pos): If POS says we're already after
5187 an overlay string ending at POS, make sure to pop the iterator
5188 because it will be in front of that overlay string. When POS is
5189 ZV, we've thereby also ``processed'' overlay strings at ZV.
5190
ba193890
GM
5191 * xfaces.c (lface_from_face_name): Function comment fix.
5192
1862a24e
MB
51932000-11-24 Miles Bader <miles@gnu.org>
5194
5195 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5196 apply `mode-line-inverse-video' -- zero means force display using
5197 the default face, non-zero means display using the specialized face.
5198 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5199
f07fa1b8
KH
52002000-11-23 Kenichi Handa <handa@etl.go.jp>
5201
5202 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5203 hard coded `4'.
5204
2bcdf662
EZ
52052000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5206
5207 * coding.c (decode_coding_emacs_mule): Fix the case of
5208 CODING_EOL_LF, which used uninitialized value of c.
5209
ba8299ff
SM
52102000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5211
5212 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5213
f4117c4d
GM
52142000-11-22 Gerd Moellmann <gerd@gnu.org>
5215
03e757c1
GM
5216 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5217 buffer object.
5218
f4117c4d
GM
5219 * frame.h (struct frame): Replace desired_tool_bar_items,
5220 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5221 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5222
5223 * frame.c (make_frame): Change initialization of tool bar
5224 items accordingly.
5225
5226 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5227 Change references to members deleted from struct frame to use the
f4117c4d
GM
5228 new ones.
5229
5230 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5231 references to members deleted from struct frame to use the new ones.
f4117c4d 5232
52283633 5233 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5234
5235 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5236
5237 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5238 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5239 from struct frame to use the new ones.
5240
f8e2f3f2
MB
52412000-11-23 Miles Bader <miles@gnu.org>
5242
5243 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5244 the face's inverse-video attribute, rather than overriding it.
5245
60e8e0a5
GM
52462000-11-22 Gerd Moellmann <gerd@gnu.org>
5247
5248 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5249 making tool bar smaller.
5250
92dd1b29
DL
52512000-11-22 Dave Love <fx@gnu.org>
5252
5253 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5254
e672fdce
MB
52552000-11-22 Miles Bader <miles@gnu.org>
5256
3a17d6cc
MB
5257 * keyboard.c (Vminibuffer_message_timeout): New variable.
5258 (command_loop_1): Use it to determine message timeout.
5259 (syms_of_keyboard): Initialize it.
5260
60e8e0a5 5261 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5262
e9655d81
KH
52632000-11-22 Kenichi Handa <handa@etl.go.jp>
5264
5265 * sysdep.c: Move the code for declaring h_errno after #include
5266 <netdb.h>.
5267
77270fac
GM
52682000-11-21 Gerd Moellmann <gerd@gnu.org>
5269
cd913aae
GM
5270 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5271 the menu bar when the tooltip is unmapped.
5272
77270fac
GM
5273 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5274 sole visible buffer when we're currently in the mini-buffer, and
5275 give up if so.
52283633 5276
556635d6
JR
52772000-11-21 Jason Rumney <jasonr@gnu.org>
5278
5279 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5280 put on the clipboard.
5281 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5282 copy of what Emacs last put there. If they are the same, do not
52283633 5283 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5284
5b7bde64
MB
52852000-11-22 Miles Bader <miles@gnu.org>
5286
5287 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5288 (syms_of_minibuf): Initialize it.
5289 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5290 to prompt, don't make read-only.
5291
ff23e1dd
GM
52922000-11-21 Gerd Moellmann <gerd@gnu.org>
5293
52283633
SM
5294 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5295 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5296
7aaf4388
GM
5297 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5298
f5f47add 5299 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5300
ff23e1dd
GM
5301 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5302
37c35586
KH
53032000-11-21 Kenichi Handa <handa@etl.go.jp>
5304
5305 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5306 ... #endif scope.
5307
ff9ab414
GM
53082000-11-20 Gerd Moellmann <gerd@gnu.org>
5309
52283633 5310 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5311 screen supports it.
5312
29a01b72
GM
5313 * s/gnu-linux.h: Don't use `#cpu'.
5314
09dfdf85
GM
5315 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5316 not defined in mman.h.
5317
52283633 5318 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5319 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5320 and store an index in the XClientMessageEvent. Storing a
5321 Lisp_Object or pointer can fail on a 64 bit system, since X only
5322 transfers 32 bits.
52283633
SM
5323 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5324
81459ac9
DL
53252000-11-20 Dave Love <fx@gnu.org>
5326
5327 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5328
56c13ae6
GM
53292000-11-20 Gerd Moellmann <gerd@gnu.org>
5330
5331 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5332
495a6df3
KH
53332000-11-20 Kenichi Handa <handa@etl.go.jp>
5334
2bcf3714
KH
5335 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5336 by WIDTH.
5337
495a6df3
KH
5338 * alloc.c (make_string): Fix previous change. Be sure to make
5339 unibyte string correctly.
5340
6d950f4c
GM
53412000-11-19 Gerd Moellmann <gerd@gnu.org>
5342
39b39373
GM
5343 * window.c (Fwindow_list): Change parameter list to be XEmacs
5344 compatible.
5345 (window_list_1): New function.
5346 (window_loop): Use it instead of Fwindow_list.
5347
b95b34e5
GM
5348 * sysdep.c (emacs_ospeed): New variable.
5349 (toplevel): Don't declare ospeed extern.
5350 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5351
5352 * termcap.c (ospeed): Remove.
5353 (tputs) [!emacs]: Remove unused code.
5354 (tgetent): Avoid a compiler warning.
5355
e83dc917
GM
5356 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5357 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5358 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5359
5360 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5361 removed.
5362 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5363 Take the X display as additional argument.
5364 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5365 `Widget' is a pointer type that's not easily stored in Lisp_Object
5366 form in a portable way.
52283633 5367
6d950f4c
GM
5368 * dispnew.c (update_text_area): Fix last change.
5369
e47306e6
GM
53702000-11-18 Gerd Moellmann <gerd@gnu.org>
5371
fb3cd89b
GM
5372 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5373
5374 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5375 clear current matrices.
5376
edaa9aed
GM
5377 * buffer.c (mmap_enlarge): Don't print a message on stderr
5378 if mapping new memory at the end of the existing region fails.
5379
e47306e6
GM
5380 * dispnew.c (update_text_area): Don't skip over equal glyphs
5381 when the last current glyph overlaps the glyph to its right.
5382
509633e3
MB
53832000-11-18 Miles Bader <miles@gnu.org>
5384
5385 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5386 lines that *end* with "..." too (that's the most common case!).
5387
d392e9c5
GM
53882000-11-18 Gerd Moellmann <gerd@gnu.org>
5389
67988445
GM
5390 * xdisp.c (resize_mini_window): Temporarily change to the
5391 mini-window's buffer if necessary.
1bfdbe43 5392
d392e9c5
GM
5393 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5394 the tooltip obscures less text under it.
5395
53962000-11-17 Gerd Moellmann <gerd@gnu.org>
5397
5398 * puresize.h (BASE_PURESIZE): Increase to 700000.
5399
92bb977f
JR
54002000-11-18 Jason Rumney <jasonr@gnu.org>
5401
5402 * w32term.c (w32_draw_bitmap): Use face to set colors.
5403
26fbf20b
DL
54042000-11-17 Dave Love <fx@gnu.org>
5405
5406 * lread.c (Fload): Fix #ifdef for pcc.
5407
100b593b
GM
54082000-11-17 Gerd Moellmann <gerd@gnu.org>
5409
5410 * xdisp.c (pos_visible_p): Compute the default character height
5411 differently.
5412
a288d0d1
GM
54132000-11-16 Gerd Moellmann <gerd@gnu.org>
5414
cac94de6 5415 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5416 knowing the line's height; use the default font's height in that case.
cac94de6 5417
a288d0d1
GM
5418 * xfaces.c (weight_table): Add `demi' with the same meaning as
5419 `demibold'.
5420
981fb6f6
KH
54212000-11-16 Kenichi Handa <handa@etl.go.jp>
5422
2cca872d 5423 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5424 (clear_glyph_row): Delete local static variable null_row.
5425
e5fa381b
JR
54262000-11-15 Jason Rumney <jasonr@gnu.org>
5427
5428 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5429 (w32_alloc_lighter_color): Use new brightness calculations from
5430 xterm.c. Scale delta to be in the range expected by W32.
5431 (w32_draw_relief_rect): Use frame relief colors.
5432
8e42f043
GM
54332000-11-15 Gerd Moellmann <gerd@gnu.org>
5434
6d133d1f
GM
5435 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5436 (Qinhibit_default_face_x_resources): New variable.
5437 (syms_of_frame): Initialize it.
5438 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5439
5440 * xdisp.c (pos_visible_p): Improve function comment.
5441
5442 * lisp.h (BINDING_STACK_SIZE): New macro.
5443
8e42f043
GM
5444 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5445 reading the directory if readdir returns null and errno is EAGAIN
5446 or EINTR.
5447
e8c87124
SM
54482000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5449
5450 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5451 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5452 Set amount_to_scroll to max of dx and scroll_step so that
5453 scroll-conservatively doesn't defeat scroll-step>1.
5454 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5455 scroll-conservatively for line-at-a-time scrolling.
5456
5f0c971d
GM
54572000-11-14 Gerd Moellmann <gerd@gnu.org>
5458
5459 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5460 extra argument.
5461
5462 * xdisp.c (current_mode_line_height, current_header_line_height):
5463 New variables.
5464 (init_xdisp): Initialize them.
5465 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5466 and use exact mode line heights if it is set.
5467
5468 * lisp.h (pos_visible_p): Change prototype.
5469
5470 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5471 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5472 and current_header_line_height first.
52283633
SM
5473 (current_mode_line_height, current_header_line_height):
5474 Declare extern.
5f0c971d 5475
d7361edf
MB
54762000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5477
5478 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5479 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5480 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5481
ee5e440a
MB
54822000-11-14 Miles Bader <miles@gnu.org>
5483
5484 * xterm.c (x_alloc_lighter_color): Include an additive component
5485 too for dark colors, because FACTOR isn't enough.
5486 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5487 New macros.
5488
5ca020fc
GM
54892000-11-13 Gerd Moellmann <gerd@gnu.org>
5490
5491 * keyboard.c (show_help_echo): Call message3_nolog with number of
5492 bytes in the help string as 2nd parameter, instead of the number
5493 of characters.
5494
9d348294
MB
54952000-11-13 Miles Bader <miles@gnu.org>
5496
5497 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5498 (Fload): Use new openp return protocol.
5499 Don't try to use Vload_source_file_function to load .elc files.
5500 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5501 openp return protocol.
5502 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5503
1729bb9a
KH
55042000-11-11 Kenichi Handa <handa@etl.go.jp>
5505
4e677396
KH
5506 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5507
5508 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5509 Defined these macros.
5510 (NLIST_STRUCT): Avoid re-defining it.
5511
1729bb9a
KH
5512 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5513 -I/usr/contrib/X11R6/include.
5514 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5515
a82fe213
JR
55162000-11-10 Jason Rumney <jasonr@gnu.org>
5517
5518 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5519
5520 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5521 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5522
5523 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5524 (Qw32_charset_vietnamese): New symbol.
5525 (xlfd_charset_of_font): New function.
5526 (w32_load_system_font): Use it.
5527 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5528 when Vw32_charset_info_alist is nil to ensure default face always
5529 has font. Use Fcar and Fcdr for safety.
5530 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5531 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5532 pseudo-codepages for special cases.
5533 (w32_to_x_font): New parameter to allow charset portion to be
5534 specified where there is many to one mapping. Callers changed.
5535 (w32_list_fonts): Avoid listing fonts that won't display.
5536
52d89894
GM
55372000-11-10 Gerd Moellmann <gerd@gnu.org>
5538
5539 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5540 (font_list_1): Renamed from font_list.
5541 (font_list): New function, trying alternative registries from
5542 Vface_alternative_font_registry_alist.
5543 (Finternal_set_alternative_font_registry_alist): New function.
5544 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5545 Vface_alternative_font_registry_alist.
5546 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5547
651cd3da
KR
55482000-11-09 Ken Raeburn <raeburn@gnu.org>
5549
5550 * lisp.h (Flooking_at): Declare.
5551
388ac098
GM
55522000-11-09 Gerd Moellmann <gerd@gnu.org>
5553
778fbc46 5554 * dired.c (directory_files_internal): Fix a braino.
52283633 5555
388ac098
GM
5556 * dired.c (directory_files_internal): Add missing GCPRO's.
5557 Some cleanup.
5558
ecaedde1
GM
55592000-11-08 Gerd Moellmann <gerd@gnu.org>
5560
f7eb32aa
GM
5561 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5562 (resize_mini_window): Return quickly if Vresize_mini_window is
5563 nil. Don't return if Vmax_mini_window_height is nil.
5564
5565 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5566 (syms_of_xdisp): Initialize them.
5567 (resize_mini_window): Act according to the setting of
5568 Vresize_mini_window.
5569 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5570
ecaedde1
GM
5571 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5572 scroll bar widget after configuring it, so that it will appear at
5573 the right position from the start.
5574 (XTredeem_scroll_bar): Cleaned up.
5575
3747ef2c
KH
55762000-11-08 Kenichi Handa <handa@etl.go.jp>
5577
5578 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5579 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5580 division by two.
5581
5582 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5583
03391420
DL
55842000-11-07 Dave Love <fx@gnu.org>
5585
7758f1c1 5586 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5587
5588 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5589
b5de343d
GM
55902000-11-07 Gerd Moellmann <gerd@gnu.org>
5591
acad3c0b
GM
5592 * window.c (Fset_window_configuration): Don't try to preserve
5593 point in the current buffer, if that buffer is displayed in more
5594 than one window.
5595
b5de343d
GM
5596 * xfaces.c (lookup_named_face): If default face isn't realized,
5597 try to realize it. Return -1 if not successful.
5598 (Fx_list_fonts): Handle case that face cannot be determined.
5599 (Fface_font): Likewise.
5600
cdb1fe49
GM
56012000-11-06 Gerd Moellmann <gerd@gnu.org>
5602
5603 * window.c (displayed_window_lines): Detect partially
5604 visible lines at the bottom correctly.
5605
d3a67486
SM
56062000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5607
5608 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5609 when ensuring we don't do visit in indirect buffer.
5610
ff8dd5d5
KH
56112000-11-06 Kenichi Handa <handa@etl.go.jp>
5612
5613 * composite.h (compose_chars_in_text): Add prototype.
5614
5615 * composite.c (Vcomposition_function_table): New variable.
5616 (Qcomposition_function_table): New variable.
5617 (run_composition_function): Call
5618 Vcompose_chars_after_function with three arguments.
5619 (compose_chars_in_text): New function.
5620 (syms_of_composite): Modified the doc-string of
5621 Vcompose_chars_after_function. Declare composition-function-table
5622 as a lisp variable, and initialize it.
5623
5624 * xfns.c (x_encode_text): Suppress producing escape sequences for
5625 composition.
5626
5627 * xselect.c: Include composite.h.
5628 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5629
d1145f85
AI
56302000-11-05 Andrew Innes <andrewi@gnu.org>
5631
5632 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5633
5634 * sysdep.c (read_input_waiting): Remove extraneous argument to
5635 read_socket_hook.
5636
5637 * w32fns.c (Fx_server_version): Include w32_build_number in the
5638 return list.
5639
5640 * w32heap.c (w32_build_number): New variable.
5641 (cache_system_info): Set it.
5642
5643 * w32heap.h (w32_build_number): Add extern.
5644
5645 * emacs.c (syms_of_emacs): Update docstring for
5646 system-configuration, to reflect the actual usage on MS-Windows.
5647
e85ee976
GM
56482000-10-31 Gerd Moellmann <gerd@gnu.org>
5649
26dcb81b
GM
5650 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5651 process idle timers while waiting for another event.
5652
52283633 5653 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5654 the default face are colored.
5655
e85ee976
GM
5656 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5657 window height hasn't changed.
5658
01b220b6
JR
56592000-10-31 Jason Rumney <jasonr@gnu.org>
5660
5661 * w32term.c (x_produce_glyphs): Handle composite characters.
5662 (x_draw_glyph_string_foreground)
5663 (x_draw_composite_glyph_string_foreground): Restore old font.
5664
4e6b7204
MB
56652000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5666
5667 * minibuf.c (read_minibuf): Reset the undo history just before
5668 starting the recursive-edit.
5669
d4358b37
GM
56702000-10-30 Gerd Moellmann <gerd@gnu.org>
5671
563f68f1
GM
5672 * xfaces.c (menu_face_change_count): New variable.
5673 (Finternal_set_lisp_face_attribute): Increment it for changes
5674 of the `menu' face.
5675 (realize_basic_faces): Reflect changes in the `menu' faces
5676 in menu bars.
5677
82e274d1
GM
5678 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5679 dy obtained from the iterator's y-position after moving from
5680 scroll_margin_pos to PT; see comment there.
52283633 5681
0dbf9fd2
GM
5682 * xdisp.c (safe_eval_handler): Call add_to_log.
5683
906b3b14
GM
5684 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5685 is not a symbol or string.
5686
d4358b37
GM
5687 * xdisp.c (echo_area_display): Don't perform a display update from
5688 inside redisplay. The update will happen anyway at the end of
5689 redisplay, and it can confuse redisplay (GC messages while
5690 redisplaying, for instance.)
5691
70c825df
SM
56922000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5693
cf9b4b0b
SM
5694 * xrdb.c (x_load_resources): Use the class name in the defaults.
5695
70c825df
SM
5696 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5697 (regex_compile): Catch bogus \(\1\).
5698
a1d34b1e
GM
56992000-10-30 Gerd Moellmann <gerd@gnu.org>
5700
cae71efe
GM
5701 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5702 RGB values.
52283633 5703
35efe0a1
GM
5704 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5705 we have a color cache, check that the cached color equals the
5706 allocated color. If not, clear the color cache.
5707
1d3baf74
GM
5708 * window.c (displayed_window_lines): Change buffers if necessary.
5709 Fix computation of displayed lines.
5710
a1d34b1e
GM
5711 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5712 update_menu_bindings to DEFVAR_BOOL.
5713
70737ea9
KH
57142000-10-30 Kenichi Handa <handa@etl.go.jp>
5715
70c825df 5716 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5717
fa0cb51d
KH
5718 * puresize.h (BASE_PURESIZE): Increase to 680000.
5719
70737ea9
KH
5720 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5721
0e4c08e8
JR
57222000-10-29 Jason Rumney <jasonr@gnu.org>
5723
5724 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5725
5726 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5727 (w32_cache_char_metrics): Handle possibility that 'x' does not
5728 exist in a BDF font.
5729 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5730
5731 * w32bdf.h (bdffont): Add nchars.
5732
5733 * w32bdf.c (set_bdf_font_info): Set it.
5734 (w32_BDF_TextOut): Swap byte order of double byte characters.
5735 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5736
45b84006
EZ
57372000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5738
5739 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5740 don't override the colors in frame's param_alist, unless they are
5741 unspecified.
5742
5743 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5744 reverse the effect of the highlight flag.
5745
caf9deee
KR
57462000-10-27 Ken Raeburn <raeburn@gnu.org>
5747
5748 * window.h (Fwindow_live_p): Declare.
5749
ae0b9b46
KR
5750 * undo.c (record_delete): Check that last_undo_buffer is really a
5751 buffer before applying XBUFFER to it.
5752
5753 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5754 Faref.
5755
02067692
SM
57562000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5757
5758 * lisp.h (KEYMAPP): New macro.
5759 (get_keymap): Remove.
5760 (get_keymap_1): Rename get_keymap.
5761
5762 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5763
5764 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5765
5766 * xmenu.c (single_submenu): Use KEYMAPP.
5767 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5768 Use KEYMAPP rather than Fkeymapp.
5769
5770 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5771
5772 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5773 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5774 Use KEYMAPP rather than Fkeymapp.
5775 (single_submenu): Use KEYMAPP.
5776 (w32_menu_show, w32_dialog_show): Use TRUE.
5777
5778 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5779
5780 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5781 (Fkeymapp): Use KEYMAPP.
5782 (get_keymap): Rename from get_keymap_1. Remove old def.
5783 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5784 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5785 (Fminor_mode_key_binding): Don't raise an error if the binding
5786 is not a keymap.
5787 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5788 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5789
5790 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5791 Allow Vspecial_event_map to be autoloaded.
5792 (menu_bar_items): Fetch the keymap rather than using keymapp.
5793 (menu_bar_one_keymap): No need to follow func-indirect any more.
5794 (parse_menu_item): get_keymap_1 -> get_keymap.
5795 (tool_bar_items): Fetch the keymap rather than using keymapp.
5796 (read_key_sequence): Use KEYMAPP.
5797
5798 * intervals.c (get_local_map): Use get_keymap rather than following
5799 function-indirections explicitly.
5800
5801 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5802
f9d80af3
JR
58032000-10-27 Jason Rumney <jasonr@gnu.org>
5804
5805 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5806 point, as Windows has oversized fonts.
5807
5808 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5809
a3ba27da
GM
58102000-10-27 Gerd Moellmann <gerd@gnu.org>
5811
5812 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5813 (freehook, reallochook): Handle null pointer arguments.
5814 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5815
aa3b80cc
SM
58162000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5817
5818 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5819 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5820 Giving in to popular pressure to shut up the compiler with casts.
5821
e24e84cc
GM
58222000-10-27 Gerd Moellmann <gerd@gnu.org>
5823
5824 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5825 signed value, and use a default value computed from the font's
5826 maximum descent.
5827
05ea7ef2
MB
58282000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5829
5830 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5831 that specify a negative underline position can still use underlines.
5832
5833 * window.c (Fpos_visible_in_window_p): Make POS default to
5834 WINDOW's point, not the current buffer's point.
5835
0b95284b
DL
58362000-10-26 Dave Love <fx@gnu.org>
5837
5838 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5839 when it's necessary.
5840
6c5b90af
GM
58412000-10-26 Gerd Moellmann <gerd@gnu.org>
5842
8b6d9dc9
GM
5843 * window.c (size_window): Compute size difference from sum of old
5844 child window sizes instead of from parent's size.
5845
6bc92b2e
GM
5846 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5847 Handle obscured lines at the top of the window.
5848
5849 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5850 down after the last error condition check.
5851
6c5b90af
GM
5852 * frame.c (Fdelete_frame): Run delete-frame-hook.
5853
42f92d4d
KH
58542000-10-26 Kenichi Handa <handa@etl.go.jp>
5855
5856 * coding.c (decode_coding): Fix previous change (check also
5857 CODING_MODE_LAST_BLOCK).
5858
d97151cb
SM
58592000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5860
e7efc503
SM
5861 * regex.c: More `unsigned char' -> `re_char' changes.
5862 Also change several `int' into `re_wchar_t'.
5863 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5864 (PUSH_FAILURE_POINTER): Don't cast any more.
5865 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5866 We want GCC to complain, since this piece of code makes
5867 re_match non-reentrant, which *should* be fixed.
5868 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5869 (EXTEND_BUFFER): Use RETALLOC.
5870 (SET_LIST_BIT): Don't cast.
5871 (re_wchar_t): New type.
5872 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5873 that those two functions will always properly return.
5874 (IMMEDIATE_QUIT_CHECK): Cast to void.
5875 (analyse_first): Use recursion rather than an explicit stack.
5876 (re_compile_fastmap): Can't fail anymore.
5877 (re_search_2): Don't check re_compile_fastmap for failure.
5878 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5879 Now also sets the new value (passed in a new argument).
5880 (re_match_2_internal): Use it.
5881 Also, use a new var `reg' of type size_t when looping through regs
5882 rather than reuse the inappropriate `mcnt'.
5883
d97151cb
SM
5884 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5885 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5886 (where_is_internal): Renamed from Fwhere_is_internal.
5887 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5888 (Fwhere_is_internal): New function wrapping where_is_internal.
5889 (where_is_internal_1): Handle the case where we're filling the cache.
5890 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5891
d5789b65
MB
58922000-10-25 Miles Bader <miles@gnu.org>
5893
5894 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5895
4ecda532
GM
58962000-10-25 Gerd Moellmann <gerd@gnu.org>
5897
5898 * window.c (pos_fully_visible_p): Removed.
5899 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5900 if position is visible and/or fully visible.
5901
5902 * lisp.h (pos_visible_p): Add prototype.
5903
5904 * xdisp.c (pos_visible_p): New function.
5905
68c3a137
KH
59062000-10-25 Kenichi Handa <handa@etl.go.jp>
5907
5908 * process.c (send_process): If OBJECT is t, it means that the data
5909 is from C string, but we should encode it. Before calling
5910 setup_raw_text_coding_system, be sure to flush out data by the
5911 previous coding system.
5912
7ae1c032
MB
59132000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5914
ff4dcd4b
MB
5915 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5916 assignment of startpos to prev when startpos == pos.
5917
7ae1c032
MB
5918 * editfns.c (find_field): Set the field stickiness correctly from
5919 overlay fields. Use renamed `text_property_stickiness'.
5920 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5921 Only check text properties, not overlays.
7ae1c032
MB
5922 * textprop.c (get_char_property_and_overlay): New function.
5923 (Fget_char_property): Use it.
5924 * intervals.h (get_char_property_and_overlay): Add declaration.
5925
49801145
SM
59262000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5927
5928 * keymap.c: Use AREF, ASET and ASIZE macros.
5929 (Fmake_sparse_keymap): Docstring fix.
5930 (synkey): Remove.
5931 (shadow_lookup): Move up.
5932 Handle the case where lookup-key returns an integer.
5933 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5934 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5935 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5936 Simplify/rewrite the keymap-finding code.
5937 Add check for command shadowing, using shadow_lookup.
5938
39e776cd
SM
59392000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5940
5941 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5942 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5943 a symbol.
5944
2488aba5
AI
59452000-10-24 Andrew Innes <andrewi@gnu.org>
5946
5947 * dired.c (directory_files_internal_unwind): New function.
5948 (directory_files_internal): Use it to ensure closedir is called
5949 even if expand-file-name or file-attributes throw, eg. because of
5950 a user interrupt. Also enable immediate_quit while calling
5951 re_search, so that matching can be interrupted as well.
5952
b94fdf61
AI
59532000-10-24 Andrew Innes <andrewi@gnu.org>
5954
5955 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5956 NT-Emacs only.
5957 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5958 so that re_search functions only quit when callers expect them to.
5959
59602000-10-24 Kenichi Handa <handa@etl.go.jp>
5961
5962 * regex.c (regex_compile): Change the way of handling a range from
5963 a char less than 256 to a char not less than 256.
5964
1946f901
GM
59652000-10-24 Gerd Moellmann <gerd@gnu.org>
5966
7ae2f10f
GM
5967 * window.c (size_window): Prevent setting window's width or
5968 height to a negative value (esp. with XSETFASTINT).
5969
5dcab13e
GM
5970 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5971 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5972 (protect_malloc_state) [GC_MALLOC_CHECK &&
5973 GC_PROTECT_MALLOC_STATE]: New function.
5974 (PROTECT_MALLOC_STATE): New macro.
5975 (__malloc_initialize, morecore, _malloc_internal)
5976 (_free_internal) _realloc_internal): Use it to make _heapinfo
5977 read-only outside of gmalloc.
5978
63e1b552
GM
5979 * keymap.c: Update copyright.
5980
1946f901
GM
5981 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5982 a symbol.
5983
4fa09beb
GM
59842000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5985
5986 * filelock.c (unlock_all_files): Use unlock_file to expand each
5987 buffer's file_truename before trying remove its lock file.
5988
23afac01
EZ
59892000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5990
5991 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5992 or CRLF, decode EOLs.
5993
04448b95
KH
59942000-10-24 Kenichi Handa <handa@etl.go.jp>
5995
5996 * window.c (Fdisplay_buffer): Fix doc.
5997
3090a5a5
JR
59982000-10-23 Jason Rumney <jasonr@gnu.org>
5999
6000 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6001 ASCII font of default fontset on Windows.
6002
6003 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6004 xterm.c comment below).
6005
6006 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6007
a83fee2c
GM
60082000-10-23 Gerd Moellmann <gerd@gnu.org>
6009
6010 * xterm.c (x_connection_closed): Reset handling_signal.
6011
52283633 6012 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6013
6ffdb539
MB
60142000-10-23 Miles Bader <miles@gnu.org>
6015
6016 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6017 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6018 maintain old behavior.
6019 * minibuf.c (Fminibuffer_complete): Likewise.
6020
7f1c969b
MB
60212000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6022
6023 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6024 that when a font can't be exactly centered, it errs up rather than
6025 down.
6026
23afac01 60272000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6028
52283633 6029 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6030
1a578e9b
AC
60312000-10-23 Andrew Choi <akochoi@i-cable.com>
6032
6033 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6034
6035 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6036 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
6037
6038 * emacs.c (main) [macintosh]: Call syms_of_textprop,
6039 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
6040 syms_of_search, x_term_init, and init_keyboard before calling
6041 init_window_once. Also, call syms_of_xmenu.
6042
6043 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
6044 default fontset to Monaco.
6045
6046 * frame.c [macintosh]: Include macterm.h. Remove declarations of
6047 NewMacWindow and DisposeMacWindow.
6048 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
6049 instead of calling NewMacWindow and setting fields of
6050 f->output_data.mac directly. Call init_frame_faces.
6051 (Fdelete_frame) [macintosh]: Remove unused code.
6052 (Fmodify_frame_parameters) [macintosh]: Call
6053 x_set_frame_parameters instead of mac_set_frame_parameters.
6054
6055 * frame.h [macintosh]: Define menu_bar_lines field in struct
6056 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
6057
6058 * keyboard.c [macintosh]: Include macterm.h.
6059 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
6060 and menu_bar_activate_event type events as for X and NT.
6061 (make_lispy_event) [macintosh]: Construct lisp events of type
6062 MENU_BAR_EVENT as for X and NT.
6063
6064 * sysdep.c [macintosh]: Remove declaration for sys_signal.
6065 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
6066 (sys_subshell) [macintosh]: Remove definition entirely.
6067 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
6068 Vwindow_system_version here. Remove initialization of
6069 Vx_bitmap_file_path.
6070 (read_input_waiting): Correct the number of parameters passed to
6071 read_socket_hook.
6072 Move all Macintosh functions to mac/mac.c.
6073
6074 * term.c [macintosh]: Include macterm.h.
6075
6076 * window.c [macintosh]: Include macterm.h.
6077
6078 * xdisp.c [macintosh]: Include macterm.h. Declare
6079 set_frame_menubar and pending_menu_activation.
6080 (echo_area_display) [macintosh]: Do not return if terminal frame
6081 is the selected frame.
6082 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
6083 Allow only the selected frame to set menu bar.
6084 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6085 calling FRAME_EXTERNAL_MENU_BAR (f).
6086 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6087
6088 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6089 and check_x. Declare XCreateGC. Define x_create_gc and
6090 x_free_gc. Initialize font_sort_order.
6091 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6092 but call x_list_fonts instead of w32_list_fonts.
6093 (Finternal_face_x_get_resource) [macintosh]: Do not call
6094 display_x_get_resource.
6095 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6096 (realize_x_face) [macintosh]: Load the font if it is specified in
6097 ATTRS.
52283633 6098 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6099
1ffbabe3
SM
61002000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6101
6102 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6103 is nil: since we go to the end of submap anyway, we'd end up
6104 setting nil to nil.
6105 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6106 doesn't obey autoload.
6107
bed43f1d
EZ
61082000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6109
1ffbabe3 6110 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6111
ea4233a7
JR
61122000-10-21 Jason Rumney <jasonr@gnu.org>
6113
6114 * w32term.c (w32_cache_char_metrics): Double check that font is
6115 really fixed pitch before trusting tmPitchAndFamily.
6116
f3d3c491
AI
61172000-10-21 Andrew Innes <andrewi@gnu.org>
6118
6119 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6120
6121 * w32term.h: Extern decl for w32_cache_char_metrics.
6122
6123 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6124
6125 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6126 (w32_unload_font): Free per_char array if present.
6127
6128 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6129 cached information in emulated XFontStruct to handle common cases
6130 quickly. Do not allocate XCharStruct for return.
6131 (w32_native_per_char_metric): New function.
6132 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6133 allocating one.
6134 (x_produce_glyphs): Don't get an HDC. Change calls to
6135 w32_per_char_metric to match arg change above. Remove calls to
6136 free results.
6137 (w32_get_glyph_overhangs): Ditto.
6138 (w32_cache_char_metrics): New function.
6139
6140 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6141 ($(BLD)/casefiddle.$(O)): Remove compile command.
6142 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6143 ($(BLD)/dispnew.obj):
6144 ($(BLD)/keyboard.obj):
6145 ($(BLD)/w32inevt.obj):
6146 ($(BLD)/w32bdf.obj):
6147 ($(BLD)/alloc.obj):
6148 ($(BLD)/buffer.obj):
6149 ($(BLD)/editfns.obj):
6150 ($(BLD)/emacs.obj):
6151 ($(BLD)/fileio.obj):
6152 ($(BLD)/fns.obj):
6153 ($(BLD)/indent.obj):
6154 ($(BLD)/insdel.obj):
6155 ($(BLD)/intervals.obj):
6156 ($(BLD)/minibuf.obj):
6157 ($(BLD)/print.obj):
6158 ($(BLD)/scroll.obj):
6159 ($(BLD)/sysdep.obj):
6160 ($(BLD)/textprop.obj):
6161 ($(BLD)/widget.obj):
f3d3c491
AI
6162 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6163 ($(BLD)/term.obj): Add dependency on dispextern.h.
6164
52283633
SM
6165 * makefile.nt ($(BLD)\dispnew.obj):
6166 ($(BLD)\keyboard.obj):
6167 ($(BLD)\w32inevt.obj):
6168 ($(BLD)\w32bdf.obj):
6169 ($(BLD)\alloc.obj):
6170 ($(BLD)\buffer.obj):
6171 ($(BLD)\editfns.obj):
6172 ($(BLD)\emacs.obj):
6173 ($(BLD)\fileio.obj):
6174 ($(BLD)\fns.obj):
6175 ($(BLD)\indent.obj):
6176 ($(BLD)\insdel.obj):
6177 ($(BLD)\intervals.obj):
6178 ($(BLD)\minibuf.obj):
6179 ($(BLD)\print.obj):
6180 ($(BLD)\scroll.obj):
6181 ($(BLD)\sysdep.obj):
6182 ($(BLD)\textprop.obj):
6183 ($(BLD)\widget.obj):
f3d3c491
AI
6184 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6185 ($(BLD)\term.obj): Add dependency on dispextern.h
6186
18ad4821
EZ
61872000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6188
6189 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6190 with an additional argument of Qt.
6191
de54681a
MB
61922000-10-21 Miles Bader <miles@gnu.org>
6193
6194 * window.c (pos_fully_visible_in_window_p): New function.
6195 (Fpos_visible_in_window_p): Add FULLY argument.
6196 Use pos_fully_visible_in_window_p.
6197 (window_scroll_pixel_based, window_scroll_line_based): Update
6198 calls to Fpos_visible_in_window_p.
6199 * lisp.h (Fpos_visible_in_window_p): Update prototype
6200
13c844fb
GM
62012000-10-20 Gerd Moellmann <gerd@gnu.org>
6202
6203 * alloc.c (toplevel): Conditionalize compilation of mem_*
6204 functions differently.
52283633 6205
d9506268
JR
62062000-10-20 Jason Rumney <jasonr@gnu.org>
6207
6208 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6209 mem_init where it used to be. mem_z etc not defined otherwise.
6210
8094989b
GM
62112000-10-20 Gerd Moellmann <gerd@gnu.org>
6212
6213 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6214 GC_MALLOC_CHECK.
6215 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6216 structure definition and related variabled to the top of the file.
6217 Include this code when GC_MALLOC_CHECK is defined.
6218 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6219 register/unregister allocated region.
6220 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6221 which isn't allocated.
6222 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6223 something which is already in use.
6224 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6225 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6226 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6227 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6228
6229 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6230 _malloc_internal instead of malloc.
6231 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6232 of free.
6233
ea456eb4
AI
62342000-10-20 Andrew Innes <andrewi@gnu.org>
6235
6236 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6237 Windows.
6238 (my_strftime) <macro>: Don't use macro arg list when redefining as
6239 _strftime_copytm.
6240 (my_strftime) <function>: Supply 0 as ut argument.
6241
e64c3a75
JR
62422000-10-19 Jason Rumney <jasonr@altavista.net>
6243
6244 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6245 including dispextern.h, as it stops faces from working.
6246
6247 * w32fns.c (Fx_create_frame): Don't bother calling
6248 face-set-after-frame-default since the caller does it for us
6249 anyway. Clean up calls to x_get_arg to be consistent with X.
6250
6251 * w32term.c (x_produce_glyphs): Handle
6252 unibyte_display_via_language_environment correctly.
6253 (w32_draw_box_rect): Fix the calculation of width and height.
6254
6255 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6256 as it has stopped working.
6257 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6258 menu-bar.
6259
17401c97
GM
62602000-10-19 Gerd Moellmann <gerd@gnu.org>
6261
6262 * eval.c (skip_debugger): Prevent a compiler warning.
6263 (Fcondition_case): Likewise.
6264 (Fbacktrace_frame): Use a null interactive spec.
6265
773272d8
KH
62662000-10-19 Kenichi Handa <handa@etl.go.jp>
6267
6268 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6269
a42943e9
GM
62702000-10-18 Gerd Moellmann <gerd@gnu.org>
6271
e50517d9
GM
6272 * strftime.c: Sync with glibc, file version 1.78.
6273 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6274 should no longer be used according to ISO 8601.
6275
9035a35a
GM
6276 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6277 no map for meta_prefix_char, don't try to use it as a keymap.
6278 Instead, if T_OK is non-zero, look up a default binding, if any,
6279 otherwise, if T_OK is zero, return nil.
6280
a42943e9
GM
6281 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6282 (x_to_xcolors, png_load): Use x_query_color.
6283
52283633
SM
6284 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6285 New functions.
a42943e9
GM
6286 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6287 which can be slow.
6288 (x_copy_color, x_alloc_lighter_color): Likewise.
6289
6290 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6291 (x_query_color, x_query_colors): Add prototype.
6292
6293 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6294 check_string_bytes only if not noninteractive, increase count to 50.
6295
00de2987
MB
62962000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6297
6298 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6299 markers correctly.
6300
54918e2b
GM
63012000-10-17 Gerd Moellmann <gerd@gnu.org>
6302
1f0b3fd2
GM
6303 * alloc.c (pure_bytes_used): Renamed from pureptr.
6304 (ALIGN): New macro.
6305 (pure_alloc): New function.
6306 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6307 Use it.
6308 (Fpurecopy): Use PURE_POINTER_P.
6309
68c5d1db
GM
6310 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6311 PT has moved backward.
52283633 6312
9a038881
GM
6313 * xdisp.c (cursor_row_p): Take continued lines into account.
6314
361b097f
GM
6315 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6316 string's size_byte.
6317 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6318 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6319 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6320 string allocated.
6321
54918e2b
GM
6322 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6323 of selective display off while searching for the next line start.
6324
03ed0806
KH
63252000-10-17 Kenichi Handa <handa@etl.go.jp>
6326
6327 * Makefile.in (term.o): Depend on dispextern.h.
6328
7e05cdaf
SM
63292000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6330
6331 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6332
a6801fd1
GM
63332000-10-16 Gerd Moellmann <gerd@gnu.org>
6334
483de32b
GM
6335 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6336 the iterator at the beginning, so that they can be set later on,
6337 for instance in reseat_at_next_visible_line_start, without being
6338 overwritten.
6339
a6801fd1
GM
6340 * xfns.c (pbm_format): Add :foreground and :background keywords.
6341 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6342 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6343
dbf1fcc1
EZ
63442000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6345
6346 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6347
52283633 6348 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6349
6350 * msdos.c (IT_set_face): Compare highlighted face with the default
6351 face, and invert colors if these faces' colors are identical.
6352 (Fmsdos_remember_default_colors): Don't swap foreground and
6353 background colors in initial_colors[].
6354 (IT_set_frame_parameters): Don't swap frame's foreground and
6355 background pixels. If ALIST includes "(reverse . t)", swap
6356 foreground-color and background-color properties in frame's
6357 param_alist. If the original frame's param_alist doesn't specify
6358 the colors, store unspecified-fg and unspecified-bg, reversed if
6359 required.
6360
6361 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6362 the colors are unspecified and reversed, reverse fore- and back-
6363 ground in the returned value.
6364 (Fframe_parameter): Ditto.
6365
b41fe2c3 63662000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6367
3a6b59d9
GM
6368 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6369 get_last_unchanged_at_beg_row.
6370 (find_first_unchanged_at_end_row): Renamed from
6371 get_first_unchanged_at_end_row.
6372 (find_first_unchanged_at_end_row): Convert assertions to
6373 unconditional tests which abort. When looking for a row in
6374 unchanged text, don't go further back than first_text_row.
6375
b41fe2c3
GM
6376 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6377 Don't add in the last line's height when deciding if the new
6378 position is below the scroll margin.
9d1af64f 6379
b41fe2c3 63802000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6381
6382 * editfns.c (Fconstrain_to_field): Check carefully for field
6383 boundaries if either OLD_POS or NEW_POS has a non-nil field
6384 property, even if they're the same.
6385
c412cb7b
KH
63862000-10-16 Kenichi Handa <handa@etl.go.jp>
6387
6388 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6389 height for XFillRectangle.
6390
5586f3eb
SM
63912000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6392
6393 * syntax.c (Fstring_to_syntax): New function extracted from
6394 Fmodify_syntax_entry.
6395 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6396 (skip_chars, Fforward_comment): Remove unused variables.
6397 (syms_of_syntax): Add defsubr for string-to-syntax.
6398 (describe_syntax): Add code for comment and string fences.
6399
db785038
SM
64002000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6401
6402 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6403 Do the meta->esc mapping. Call get_keyelt before returning.
6404 Start scanning from the second element (the first is always `keymap')
6405 to make it easier to detect when we reach a parent map.
6406 Handle the case of inheriting from a symbol whose function is a map.
6407 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6408 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6409 (get_keyelt, Flookup_key): Update call to access_keymap.
6410 Remove the meta->esc mappings.
6411 (define_as_prefix): Delete old disabled code.
6412 (menu_item_p): New function.
6413 (where_is_internal_1): Skip over the few remaining menu items.
6414 * lisp.h (access_keymap): Update prototype.
6415 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6416 Update call to access_keymap.
6417 (follow_key, read_key_sequence): Update calls to access_keymap.
6418 Remove the meta->esc mappings.
6419
cafafe0b
GM
64202000-10-13 Gerd Moellmann <gerd@gnu.org>
6421
a2e2a7f6
GM
6422 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6423 with additional argument.
6424
cafafe0b
GM
6425 * xdisp.c (cursor_row_p): New function.
6426 (try_cursor_movement, display_line): Use it.
52283633 6427
cafafe0b
GM
6428 * xdisp.c (append_space): Also save/restore iterator's current
6429 character and its length.
6430
6431 * xdisp.c (init_from_display_pos): Add an assertion.
6432 (handle_stop): Don't set iterator's add_overlay_start.
6433 (handle_invisible_prop): Likewise.
6434 (load_overlay_strings): If text under an overlay is invisible,
6435 take both before- and after-strings into account when the iterator
6436 is positioned either at the start or at the end of the overlay.
6437 (forward_to_next_line_start): Rewritten.
6438 (reseat_at_next_visible_line_start): Rewritten.
6439 (set_iterator_to_next): Add parameter RESEAT_P.
6440
6441 * dispextern.h (struct it): Remove member add_overlay_start.
6442 (set_iterator_to_next): Change prototype.
6443
c744452b
KH
64442000-10-13 Kenichi Handa <handa@etl.go.jp>
6445
6446 * coding.c (code_convert_region): Be sure to initialize
6447 coding->category_idx.
e4a3f4e1
KH
6448 (decode_coding_string): Set coding->src_multibyte and
6449 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6450 (encode_coding_string): Set coding->src_multibyte and
6451 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6452
321fd26f
SM
64532000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6454
6455 * xfns.c (Fx_create_frame): Don't bother calling
6456 face-set-after-frame-default since the caller does it for us anyway.
6457
76832439
EZ
64582000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6459
6460 * window.c (coordinates_in_window): Fix detection of vertical line
6461 on character terminals.
6462
2483cf58
GM
64632000-10-12 Gerd Moellmann <gerd@gnu.org>
6464
6465 * editfns.c (save_excursion_save): Additionally record the
6466 selected window.
6467 (save_excursion_restore): If buffer was visible in a window, and a
6468 different window was selected, and the old selected window is
6469 still live, restore point in that window.
6470
eb991b25
KH
64712000-10-12 Kenichi Handa <handa@etl.go.jp>
6472
8a0eba09
KH
6473 * xterm.c (x_produce_glyphs): Handle
6474 unibyte_display_via_language_environment correctly.
6475
20401fcc
KH
6476 * regex.c (regex_compile): Change the way of handling a range from
6477 unibyte char to multibyte char.
6478
6479 * syntax.c (skip_chars): Change the way of handling a range from
6480 unibyte char to multibyte char.
6481
eb991b25
KH
6482 * process.c (read_process_output): Cancel previous change.
6483
365dd325
EZ
64842000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6485
c1b096cb
EZ
6486 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6487
365dd325
EZ
6488 * charset.c (Ffind_charset_string): Doc fix.
6489 (Ffind_charset_region): Doc fix.
6490
eb483c2b
KH
64912000-10-11 Kenichi Handa <handa@mule.m17n.org>
6492
6493 * process.c (read_process_output): Fix previous change. Adjust
6494 multibyteness of text to insert in a buffer by
52283633 6495 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6496
b40bfb99
AS
64972000-10-10 Andreas Schwab <schwab@suse.de>
6498
6499 * alloc.c (mark_object): Remove all workarounds installed on
6500 1993-08-08.
6501
caff31d4
KH
65022000-10-10 Kenichi Handa <handa@etl.go.jp>
6503
52283633 6504 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6505 (base64_encode_1): Make it work for a text of multibyte form.
6506 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6507 case. Don't call str_to_multibyte because base64_decode_1
6508 produces correct multibyte form for eight-bit codes.
52283633 6509 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6510 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6511 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6512 codes.
6513
6514 * charset.h (CHAR_STRING): Optimized for single byte characters.
6515
cba026ef
AS
65162000-10-09 Andreas Schwab <schwab@suse.de>
6517
6518 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6519 -1 after socket is closed, to fall through to error processing.
6520
1e21fe48
EZ
65212000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6522
6523 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6524 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6525 background-color, change also the colors of the default face for
6526 this frame.
6527
a640322e
EZ
65282000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6529
6530 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6531 them extern (they are defined on xfaces.c).
6532 (syms_of_msdos): Don't intern and don't staticpro
6533 Qbackground_color and Qforeground_color.
6534
a115794c
EZ
65352000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6536
6537 * frame.c (Fframe_parameter): For non-windowed frames, if
6538 f->param_alist says foreground or background color is unspecified,
6539 call tty_color_name to return the color name computed from the
6540 frame's current colors.
6541
f5533b63
DL
65422000-10-06 Dave Love <fx@gnu.org>
6543
6544 * terminfo.c (ospeed): Don't declare.
6545
6546 * sysdep.c: Don't include string.h.
6547 (h_errno): Declare conditional also on TRY_AGAIN.
6548
6549 * charset.c (Ffind_charset_string): Doc fix.
6550
52283633 6551 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6552 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6553 error messages.
6554
2b06561a
DL
65552000-10-05 Dave Love <fx@gnu.org>
6556
6557 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6558 position like menu-bar.
6559
ca839c85
GM
65602000-10-05 Gerd Moellmann <gerd@gnu.org>
6561
6562 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6563
6564 * xdisp.c (handle_single_display_prop): Use safe_call1.
6565 (safe_call): Renamed from call_function.
6566 (safe_call1): New function.
6567 (handle_fontified_prop): Use safe_call1 instead of call1.
6568 (safe_eval): Renamed from eval_form.
6569 (safe_eval_handler): Renamed from eval_handler.
6570 (handle_single_display_prop, display_mode_element): Use safe_eval
6571 instead of eval_form.
6572
6573 * xfaces.c (merge_face_heights): Use safe_call instead of
6574 call_function.
6575
6576 * keyboard.c (show_help_echo): Use safe_call instead of
6577 call_function; use safe_eval instead of eval_form.
6578
6579 * lisp.h (safe_call): Renamed from call_function.
6580 (safe_eval): Renamed from eval_form.
6581 (safe_call1): Add prototype.
6582
a3489ece
MB
65832000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6584
6585 * xfns.c (image_ascent): Rearrange ascent calculation for the
6586 has-a-font case.
6587
35810b6f
SM
65882000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6589
6590 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6591 (where_is_internal_1): Don't bother ignoring menu-items any more.
6592
3dc78168
GM
65932000-10-04 Gerd Moellmann <gerd@gnu.org>
6594
6595 * keyboard.c (update_menu_bindings): New variable.
6596 (parse_menu_item): Use AREF. If update_menu_bindings
6597 is 0, don't update menu bindings.
6598 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6599
1efc2bb9
EZ
66002000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6601
6602 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6603 to `mark_object'.
6604
3f679f55
SM
66052000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6606
6607 * syntax.c (forw_comment): Match nestedness of ender/starter.
6608 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6609 (prev_char_comstart_first): Remove.
6610 (back_comment): Check two-char comment markers more carefully
6611 to better handle overlapping cases like *//* or /* */* */ ...
6612 Match nestedness of ender/starter.
6613
2021ab61
DL
66142000-10-02 Dave Love <fx@gnu.org>
6615
6616 * config.in (HAVE_GAI_STRERROR): Add undef.
6617
6618 * process.c (Fopen_network_stream): Use it.
6619
6620 * m/alpha.h (NO_REMAP): Don't define.
6621
64e6cc18
GM
66222000-10-02 Gerd Moellmann <gerd@gnu.org>
6623
6624 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6625 return with a string converted to an integer or vice versa when
6626 Vmocklisp_arguments is t.
6627 (Fsignal): Likewise. The function can return for `quit'.
6628 (struct gcpro): Declare member `var' to point to a volatile
6629 Lisp_Object.
6630
6631 * eval.c (error): Prevent compiler warning.
6632
b1904cd9
SM
66332000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6634
6635 * keymap.c (keymap_memberp): New function.
6636 (Fset_keymap_parent): Use it.
6637 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6638 Use keymap_memberp to avoid creating cycles.
6639 (access_keymap): Use KEYMAPP.
6640
71c9ec51
GM
66412000-09-30 Gerd Moellmann <gerd@gnu.org>
6642
6643 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6644 gai_strerror. Make sure xerrno is set if connect fails. Improve
6645 error recovery.
71c9ec51 6646
c70c6b58
JR
66472000-09-29 Jason Rumney <jasonr@gnu.org>
6648
6649 * w32term.c (w32_char_font_type, w32_encode_char)
6650 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6651 (w32_bdf_per_char_metric): New function.
6652 (w32_per_char_metric): Use it.
6653 (x_draw_glyph_string_background): Always draw background for BDF
6654 glyphs.
6655
6656 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6657 GDI object which is a scarce resource.
6658
6659 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6660 (get_quoted_string): Fix limit on memchr search.
6661 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6662 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6663 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6664 (get_cached_font_char, cache_char_offset): Use macro
6665 BDF_CODEPOINT_RANGE_COVER_P.
6666 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6667 (clear_cached_bitmap_slots): New function.
6668 (GET_HEX_VALUE): G-Z, g-z are not hex.
6669 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6670 (get_bitmap_with_cache): Use new cache implementation.
6671 (create_offscreen_bitmap): New function.
6672 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6673
6674 * w32term.c (x_produce_glyphs): If the distance from the current
6675 position to the next tab stop is less than a canonical character
6676 width, use the tab stop after that.
6677 (x_draw_glyphs): Handle case START and END are out of bounds more
6678 carefully.
6679 (x_clear_mouse_face): Block/unblock input.
6680 (x_display_and_set_cursor): Don't show a hollow box cursor for
6681 buffers whose cursor_type is nil.
6682
fe01239f
GM
66832000-09-29 Gerd Moellmann <gerd@gnu.org>
6684
52283633 6685 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6686
6687 * dispextern.h (updating_frame): Declare extern.
6688
e7c52f1f
AS
66892000-09-29 Andreas Schwab <schwab@suse.de>
6690
6691 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6692
de6e1f7c
GM
66932000-09-29 Gerd Moellmann <gerd@gnu.org>
6694
25126faa
GM
6695 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6696 use its function definition.
6697 (tool_bar_items): Likewise.
6698
de6e1f7c 6699 * lisp.h (fatal): Declare NO_RETURN.
52283633 6700
454ee39b
KH
67012000-09-29 Kenichi Handa <handa@etl.go.jp>
6702
6703 * keymap.c: Remove the line "#undef NULL".
6704
96301c5f
GM
67052000-09-28 Gerd Moellmann <gerd@gnu.org>
6706
52283633 6707 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6708
efffeeb4
DL
67092000-09-28 Dave Love <fx@gnu.org>
6710
ecb8b666
DL
6711 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6712
dc3cd20f
DL
6713 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6714
6715 * .gdbinit (xreload): Note its need on GNU/Linux.
6716
efffeeb4
DL
6717 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6718 r_alloc, r_alloc_free.
6719
8610d903
KH
67202000-09-28 Kenichi Handa <handa@etl.go.jp>
6721
6722 * syntax.c (skip_chars): Handle negation correctly.
6723
8901d1ac
GM
67242000-09-27 Gerd Moellmann <gerd@gnu.org>
6725
6f22f1ad
GM
6726 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6727 with non-zero FORCE_P argument.
6728
52283633 6729 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6730 Add assertions.
6731
6732 * xdisp.c (window_box_height): Add an assertion.
6733
6734 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6735 tool-bar than is available.
6736 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6737
36f1966f
DL
67382000-09-27 Dave Love <fx@gnu.org>
6739
efffeeb4 6740 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6741
31d929e5
GM
67422000-09-26 Gerd Moellmann <gerd@gnu.org>
6743
c98863bf
GM
6744 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6745 instead of BITS_PER_INT.
6746 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6747 EMACS_UINT, respectively.
6748 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6749
6750 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6751
6752 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6753
77072ab1
GM
6754 * window.c (freeze_window_starts): Construct last argument for
6755 foreach_window differently.
6756
6757 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6758
6759 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6760 EMACS_UINT instead of `int' and `unsigned int'.
6761 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6762
6763 * frame.h (struct frame): Make the `nothing' member of union
6764 output_data an EMACS_INT.
6765
52283633 6766 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6767 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6768 size in the sdata structure.
6769 (SDATA_NBYTES, SDATA_DATA): New macros.
6770 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6771 differently for the different layout of the sdata structure.
6772 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6773 in sdata.
6774 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6775 Check that size recorded in the string size and size recorded in
6776 the sdata structure agree.
6777
3e60b029
DL
67782000-09-25 Dave Love <fx@gnu.org>
6779
6780 * buffer.c: Include stdio.h.
6781
6782 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6783
3e60b029
DL
6784 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6785
6786 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6787 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6788 (__malloc_extra_blocks): Declare as __malloc_size_t.
6789
8ff16b4e
GM
67902000-09-25 Gerd Moellmann <gerd@gnu.org>
6791
755a2ccd
GM
6792 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6793
d8b4516f
GM
6794 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6795 (read_char): If help-echo is showing, preserve the echo area
6796 when redisplaying.
6797
6798 * xdisp.c (help_echo_showing_p): New variable.
6799 (set_message): Reset it to 0.
6800 (init_xdisp): Initialize help_echo_showing_p.
6801
6802 * dispextern.h (help_echo_showing_p): Declare extern.
6803
6804 * config.in: Fix typo in __GNUC_MINOR__.
6805
6806 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6807
b11af2dd
GM
6808 * s/freebsd.h (POSIX_SIGNALS): Define.
6809
8ff16b4e
GM
6810 * xterm.c (x_clear_mouse_face): Block/unblock input.
6811
844eb643
DL
68122000-09-24 Dave Love <fx@gnu.org>
6813
6814 * fns.c (base64_encode_1): Fix last change.
6815
b30ab1b3
GM
68162000-09-22 Gerd Moellmann <gerd@gnu.org>
6817
6818 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6819
6820 * xdisp.c (try_window_reusing_current_matrix): More fixes
6821 for the case window has a header-line.
6822
c6cbe5f0
DL
68232000-09-22 Dave Love <fx@gnu.org>
6824
4c7c1f3f
DL
6825 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6826 a doc string.
6827
6828 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6829
c6cbe5f0
DL
6830 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6831
550a625e
GM
68322000-09-21 Gerd Moellmann <gerd@gnu.org>
6833
4c7c1f3f 6834 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6835 for GCC >= 2.5.
6836
52283633
SM
6837 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6838 Declare NO_RETURN.
fca99116 6839
80d26f99
GM
6840 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6841 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6842 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6843 warnings.
52283633 6844
80d26f99
GM
6845 * marker.c (byte_char_debug_check): Return void.
6846
623a0aae
GM
6847 * xfns.c (Fx_create_frame): Set default frame parameter value
6848 for tool-bar-lines to 1.
6849
6850 * dispnew.c (scrolling_window): Compare y-positions of rows
6851 equal at the start. Some simplification.
6852
6853 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6854 reused rows' y-position in the case window has a header-line, and
6855 new window start is greater than old window start.
6856
42ac0ae5
GM
6857 * process.c (process_sent_to): New variable.
6858 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6859 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6860 Declare more parameters volatile.
6861
550a625e
GM
6862 * lread.c (Vrecursive_load_depth_limit): New variable.
6863 (Fload): Check recursive loads whose recursion depth exceeds
6864 Vrecursive_load_depth_limit.
6865 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6866
8320414c
GM
68672000-09-20 Gerd Moellmann <gerd@gnu.org>
6868
f46c275e
GM
6869 * fileio.c (Fread_file_name): Doc fix.
6870
6871 * editfns.c (Fmessage_or_box): Doc fix.
6872
6873 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6874
b7e11c5b 6875 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6876
8320414c
GM
6877 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6878 symbols are specified, add color translations to the cache.
52283633 6879 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6880 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6881 xpm_cache_color.
6882 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6883 structures to xpm_init_color_cache.
6884
da1608d9
GM
68852000-09-19 Gerd Moellmann <gerd@gnu.org>
6886
52283633 6887 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6888
6badfa25
AI
68892000-09-19 Andrew Innes <andrewi@gnu.org>
6890
6891 * makefile.nt (bootstrap-emacs): Don't change directory.
6892
3a5f42bb
KH
68932000-09-19 Kenichi Handa <handa@etl.go.jp>
6894
1b7649bd
KH
6895 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6896
3a5f42bb
KH
6897 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6898 If output buffer is too small, signal an appropriated error.
6899
9f83cf0b
DL
69002000-09-18 Dave Love <fx@gnu.org>
6901
52283633 6902 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6903 (current_active_maps): Remove redundant get_local_map call.
6904
28c7826c
GM
69052000-09-18 Gerd Moellmann <gerd@gnu.org>
6906
5cefa566
GM
6907 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6908 cursor for buffers whose cursor_type is nil.
52283633 6909
6fed3546
GM
6910 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6911 a feature to implement that is already implemented.
6912 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6913 warnings.
6914
6915 * xfns.c (x_clear_image_1): New function.
6916 (x_clear_image): Use it.
52283633 6917 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6918
05b1f851
GM
6919 * dispnew.c (update_window): Move test for invisible lines
6920 at the top to update_window_line.
6921 (update_window_line): Handle invisible lines here.
6922
f4779de9
GM
6923 * xfns.c (clear_image_cache): Clear current matrices of all
6924 frames sharing an image cache. Block input while freeing
6925 images. Fix timestamp comparison.
6926 (x_clear_image): Also free the mask.
6927
28c7826c
GM
6928 * xfns.c (lookup_image): Block input while loading the image so
6929 that we won't get interrupted in a state where the image isn't yet
6930 set up completely.
6931 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6932 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6933 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6934 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6935
b7412313
GM
69362000-09-16 Gerd Moellmann <gerd@gnu.org>
6937
6938 * dispnew.c (update_window): Make sure to make desired rows
6939 current even if they are completely invisible at the top
6940 of a window.
6941
47e351a3
GM
69422000-09-15 Gerd Moellmann <gerd@gnu.org>
6943
7f8f1edc
GM
6944 * xfns.c (lookup_image): Build mask before applying an algorithm.
6945 Recognize algorithm `disabled'.
6946 (cross_disabled_images): New variable.
6947 (COLOR_INTENSITY): New macro.
6948 (x_detect_edges): Use COLOR_INTENSITY.
6949 (x_disable_image): New function.
6950 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6951
6952 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6953 disabled state, don't apply an image transformation algorithm if
6954 the user specified an image for the disabled state. Use
28c7826c 6955 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6956 user hasn't specified an image.
6957
ebb8f116
GM
6958 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6959 allocation functions with the XPM lib.
6960 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6961 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6962 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6963 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6964 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6965 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6966 functions, if possible, because these handle color allocation
6967 failure more gracefully.
6968 (Fimage_mask_p): New function.
6969
47e351a3
GM
6970 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6971 (Qedge_detection, Qheuristic): New symbols.
6972 (syms_of_xfns): Initialize new symbols.
6973 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6974 `algorithm (edge-detection ...)'.
6975 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6976 (tiff_format, gif_format, gs_format): Add `:mask'.
6977 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6978 (GIF_MASK, GS_MASK): New enumerators.
6979 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6980 (emboss_matrix, laplace_matrix): New variables.
6981 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6982 (x_edge_detection): New functions.
6983 (x_laplace): Rewritten in terms of x_detect_edges.
6984 (x_build_heuristic_mask): If image has a mask, free it.
6985
fe83b953
AI
69862000-09-14 Andrew Innes <andrewi@gnu.org>
6987
6988 * makefile.w32-in: Revert to Unix line endings.
6989
3021e816
AI
69902000-09-14 Andrew Innes <andrewi@gnu.org>
6991
6992 * makefile.w32-in: Standardize indentation somewhat.
6993 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6994 cater for differences between shells.
6995
6996 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6997
2a32b5ea
GM
69982000-09-14 Gerd Moellmann <gerd@gnu.org>
6999
7000 * xterm.c (x_produce_glyphs): If the distance from the current
7001 position to the next tab stop is less than a canonical character
7002 width, use the tab stop after that.
7003
b4331e96
DL
70042000-09-14 Dave Love <fx@gnu.org>
7005
7006 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7007
ef9e4345
GM
70082000-09-14 Gerd Moellmann <gerd@gnu.org>
7009
085536c2
GM
7010 * xdisp.c (handle_fontified_prop): While running fontification
7011 functions, bind `fontification-functions' and
7012 `after-change-functions' to nil.
7013
ef9e4345
GM
7014 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7015 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7016
7017 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7018
7019 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7020 USE_MMAP_FOR_BUFFERS.
7021
7022 * insdel.c (make_gap): Use enlarge_buffer_text.
7023
7024 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7025 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7026 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7027 from former r_alloc_* functions in ralloc.c.
52283633 7028 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7029 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7030 (mmap_init) [REL_ALLOC_MMAP]: New function.
7031 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7032 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7033 BUFFER_FREE.
7034
7035 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7036 (enlarge_buffer_text): Add prototype.
7037
7038 * ralloc.c: Remove everything having to do with the use of mmap.
7039
f8608968
GM
70402000-09-13 Gerd Moellmann <gerd@gnu.org>
7041
2a494b2d
GM
7042 * sound.c (Fplay_sound): Doc fix.
7043
8c907a56
GM
7044 * keyboard.c: Avoid some more compiler warnings.
7045 (parse_tool_bar_item): Ignore cached key bindings.
7046
f8608968
GM
7047 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
7048 and allocation of Lisp data.
7049
6ab70e9a
GM
70502000-09-12 Gerd Moellmann <gerd@gnu.org>
7051
d12d0a9b
GM
7052 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
7053 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
7054 defaults first.
7055
6ab70e9a
GM
7056 * lread.c (Fload): Put code checking for recursive loads in #if 0.
7057
63c36c3c
KH
70582000-09-12 Miyashita Hisashi <himi@meadowy.org>
7059
7060 * ccl.c: Comment fixed.
7061 (MAX_MAP_SET_LEVEL): Increased to 30.
7062 (PUSH_MAPPING_STACK): Enclose with do-while block.
7063 (POP_MAPPING_STACK): Likewise.
7064 (stack_idx_of_map_multiple): New variable.
7065 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
7066 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 7067 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
7068 (ccl_driver) <CCL_MapSingle>: Likewise.
7069 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
7070 with the case where looking up process reaches to the end of
7071 map-set, and call CCL programs as the above change.
7072
7ee3bd7b
GM
70732000-09-11 Gerd Moellmann <gerd@gnu.org>
7074
8ec8a5ec
GM
7075 * xfns.c (png_load, jpeg_load): Declare some variables volatile
7076 that might be clobbered by longjmp.
7077 (check_x_display_info, x_decode_color, create_frame_xic)
7078 (Fx_display_backing_store, Fx_display_visual_class)
52283633 7079 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 7080
f74b0705
GM
7081 * lread.c (init_lread): Set Vloads_in_progress to nil.
7082 (Fload): Show list of recursively loaded files, when signaling an
7083 error.
7084
7ee3bd7b
GM
7085 * lread.c (Vloads_in_progress): New variable.
7086 (record_load_unwind): New function.
7087 (Fload): Check for recursive loads.
7088 (syms_of_lread): Initialize Vloads_in_progress.
7089 (read_integer, read1): Avoid some compiler warnings.
7090
7091 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7092 compiler warnings.
7093
974e1e5b
MB
70942000-09-11 Miles Bader <miles@gnu.org>
7095
7096 * editfns.c (Fbuffer_string): Doc fix.
7097
9824c4e3
GM
70982000-09-10 Gerd Moellmann <gerd@gnu.org>
7099
7100 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7101
6a72fdd1
KR
71022000-09-09 Ken Raeburn <raeburn@gnu.org>
7103
7104 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7105 whether to include other header files.
7106
28e6fb66
GM
71072000-09-09 Gerd Moellmann <gerd@gnu.org>
7108
52283633 7109 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7110 by Fmemq as a boolean.
28e6fb66 7111
7f8b6551
SM
71122000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7113
7114 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7115
a8710abf
GM
71162000-09-08 Gerd Moellmann <gerd@gnu.org>
7117
d1a02881
GM
7118 * ralloc.c (mmap_fd): Remove initializer which can make it
7119 read-only in a dumped Emacs.
7120 (mmap_fd_1): New variable.
7121 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7122 restore it from there.
7123 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7124 unconditionally so that mmap_fd can be initialized there.
7125 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7126 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7127 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7128
c454aac1
GM
7129 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7130
7131 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7132 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7133
fc653ef2
GM
7134 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7135
3015eec0
GM
7136 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7137 inheritance.
7138
bfe0ee88
GM
7139 * xdisp.c (try_window_id): When trying to locate cursor in
7140 unchanged rows at the top, handle the case that we can't find it.
7141
a8710abf
GM
7142 * xterm.c (x_draw_glyphs): Handle case START and END are out
7143 of bounds more carefully.
7144
6b7d4ae4
DL
71452000-09-08 Dave Love <fx@gnu.org>
7146
423193c5
DL
7147 * s/sol2.h (REL_ALLOC_MMAP): Define.
7148 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7149
7150 * ralloc.c: Don't include string.h (redundant).
7151 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7152 [!MAP_ANON]: Include fcntl.h.
7153 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7154 (r_alloc, r_re_alloc, r_alloc_free)
7155 (mmap_enlarge, mmap_set_vars): Use it.
7156 (r_alloc_init_fd): New function.
7157 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7158 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7159 malloc type.
7160
7161 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7162 Remove vm-limit.o.
7163
6b7d4ae4
DL
7164 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7165 change to __NetBSD__.
7166
44d31981
KH
71672000-09-08 Kenichi Handa <handa@etl.go.jp>
7168
7169 * search.c (compile_pattern): Check the multibyteness of cached
7170 string and PATTERN.
7171
aad40737
MB
71722000-09-08 Miles Bader <miles@gnu.org>
7173
7174 * xfaces.c (default_face_vector): Function removed.
7175 (Finternal_merge_in_global_face): Restore old global/local
7176 attribute override order. Use inline loop instead of calling
7177 default_face_vector.
7178
91a211b5
GM
71792000-09-07 Gerd Moellmann <gerd@gnu.org>
7180
7181 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7182 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7183 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7184 where necessary, in case POINTER_TYPE is `void'.
7185
03419440
EZ
71862000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7187
7188 * frame.c (make_terminal_frame): Initialize frame foreground and
7189 background colors to unspecified, for the initial instance of an
7190 MSDOS frame.
7191
f46f845b
GM
71922000-09-07 Gerd Moellmann <gerd@gnu.org>
7193
24f76fbf
GM
7194 * ralloc.c (mmap_find): Fix overlap computation.
7195 (mmap_enlarge): Compute nbytes before trying to find an
7196 overlapping region.
7197
f46f845b
GM
7198 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7199 instead of `!='.
7200
7201 * lread.c (syms_of_lread): Change value of regexp
7202 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7203
7204 * xmenu.c (xdialog_show): When looking up the selection in
7205 menu_items, take `quote' boundaries into account; this corresponds
7206 to a nil ITEM in x-popup-dialog.
7207
3c014385
KH
72082000-09-07 Kenichi Handa <handa@etl.go.jp>
7209
fd6f711b
KH
7210 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7211 not 0x81.
7212 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7213
3c014385 7214 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7215 encoding, not decoding. Fix the handling of latin-jisx0201.
7216 Check for the charset katakana-jisx0201 too.
3c014385 7217 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7218 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7219
0da3ecef
GM
72202000-09-07 Gerd Moellmann <gerd@gnu.org>
7221
ab0ee409
GM
7222 * xfaces.c (Vparam_value_alist): New variable.
7223 (syms_of_xfaces): Initialize it.
7224 (Finternal_set_lisp_face_attribute): Avoid more consing.
7225
7226 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7227 specially.
7228 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7229 (Qbackground_mode): New variable.
7230 (syms_of_frame_1): Initialize Qbackground_mode.
7231
7232 * lisp.h (Qdisplay): Declare extern.
1091dd67 7233
0da3ecef
GM
7234 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7235 change face on all frames, and change the default for new frames.
7236
b14654b9
DL
72372000-09-07 Dave Love <fx@gnu.org>
7238
7239 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7240
d24fd56f
KH
72412000-09-07 Kenichi Handa <handa@etl.go.jp>
7242
794f3670
KH
7243 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7244
0fddd0dc
KH
7245 * charset.c: Include composite.h
7246 (lisp_string_width): New function.
7247 (Fstring_width): Call lisp_string_width instead of strwidth.
7248
7249 * Makefile.in (charset.o): Depends on composite.h.
7250
d24fd56f
KH
7251 * process.c (read_process_output): Before inserting the decoded
7252 text in the buffer, adjust the multibyteness.
7253
fa0b693c
GM
72542000-09-06 Gerd Moellmann <gerd@gnu.org>
7255
52283633 7256 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7257 buffer's text buffer is null, map new memory.
7258
0a58f946
GM
7259 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7260 POINTER_TYPE and size_t.
7261 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7262 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7263 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7264 [REL_ALLOC_MMAP]: New macros.
7265 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7266 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7267 [REL_ALLOC_MMAP]: New functions.
7268
7269 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7270 before and after unexec.
7271
7272 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7273 text buffers if necessary.
7274
7275 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7276 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7277 in prototypes.
7278
fa0b693c
GM
7279 * config.in (HAVE_MMAP): Add #undef.
7280
877055f6
GM
72812000-09-05 Gerd Moellmann <gerd@gnu.org>
7282
08ba3862
GM
7283 * frame.c (Qdisplay_type): New variable.
7284 (syms_of_frame_1): Initialize it.
7285 (Fframe_parameter): New function that avoids consing.
7286 (syms_of_frame): Defsubr it.
7287
66ffe51c
GM
7288 * buffer.c (Fother_buffer): Consider buffers as invisible when
7289 they are displayed in a window on an invisible frame.
7290
877055f6
GM
7291 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7292 get-largest-window always return nil.
7293
bb970e67
GM
72942000-09-04 Gerd Moellmann <gerd@gnu.org>
7295
7296 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7297 variable; recognize Emacs 19 elc files.
7298
7a3d0e0e
MB
72992000-09-04 Miles Bader <miles@gnu.org>
7300
7301 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7302 before initially popping up the menu, so the menu doesn't flash
52283633 7303 when the face settings are significantly different from the defaults.
7a3d0e0e 7304
14473664
SM
73052000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7306
7307 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7308 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7309 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7310 (BIT_UNIBYTE): Remove.
7311 (re_match_2_internal): Delete corresponding code and streamline the
7312 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7313 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7314 (re_wctype_t): New type.
7315 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7316 (regex_compile): Use them and fix handling of overly long char classes.
7317
c1174479
AI
73182000-09-03 Andrew Innes <andrewi@gnu.org>
7319
f8803e97
AI
7320 * makefile.w32-in: Change to DOS line endings.
7321
c1174479
AI
7322 * s/ms-w32.h (ORDINARY_LINK): New define.
7323
7324 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7325 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7326
7327 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7328 (distclean): Delete them here instead.
7329
44ef7cf6
AI
7330 * w32proc.c (compare_env): Convert to uppercase for comparison,
7331 not lowercase, to match how the native Windows shell works.
7332
49b3bd82
JR
73332000-09-03 Jason Rumney <jasonr@gnu.org>
7334
7335 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7336 CVS changes the line-ends when checking in/out on DOS/Windows.
7337
7338 * makefile.nt (emacs): Do not change directory to run temacs, as
7339 the load-path is set relative to current directory.
7340
a3d35a39
MB
73412000-09-03 Miles Bader <miles@gnu.org>
7342
7343 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7344
d276b0cf
GM
73452000-09-02 Gerd Moellmann <gerd@gnu.org>
7346
715e84c9
GM
7347 * xdisp.c (redisplay_mode_lines): New function.
7348 (display_mode_lines): Return number of mode lines displayed.
7349 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7350 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7351
8892f40b
GM
7352 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7353 string.h and strings.h.
7354 (index) [HAVE_INDEX]: Add prototype.
7355
d276b0cf
GM
7356 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7357 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7358
7359 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7360 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7361
38404229
GM
73622000-09-01 Gerd Moellmann <gerd@gnu.org>
7363
7364 * lread.c (read1): Accept `?' as symbol constituent, for
7365 compatiblity with XEmacs.
7366
c0f9ea08
SM
73672000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7368
7369 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7370 (struct re_pattern_buffer): Remove newline_anchor.
7371 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7372 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7373 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7374 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7375 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7376 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7377 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7378 Get rid of references to newline_anchor.
7379 (regcomp): Allocate and precompute a fastmap.
7380
8c0f83fe
GM
73812000-08-31 Gerd Moellmann <gerd@gnu.org>
7382
7383 * lread.c (openp): GCPRO local variable `filename'.
7384
4bb91c68
SM
73852000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7386
7387 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7388
7389 * regex.c: Merge some changes from GNU libc. Add prototypes.
7390 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7391 Use memcmp and memcpy instead of bcopy and bcmp.
7392 (init_syntax_once): Use ISALNUM.
7393 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7394 (REG_UNSET_VALUE): Remove. Use NULL instead.
7395 (REG_UNSET, re_match_2_internal): Use NULL.
7396 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7397 New macros.
7398 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7399 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7400 (regex_compile): In handle_interval, return an error rather than try to
7401 unfetch the interval if we can't find the closing brace.
7402 Obey the RE_NO_GNU_OPS syntax bit.
7403 (TOLOWER): New macro.
7404 (regcomp): Use it.
7405 (regexec): Allocate regs.start and regs.end as one block.
7406
5226a931
GM
74072000-08-30 Gerd Moellmann <gerd@gnu.org>
7408
868dd24b
GM
7409 * xdisp.c (echo_area_display): Check display_completed instead
7410 of calling detect_input_pending.
7411
7412 * dispnew.c (update_frame): Only set display_completed here; move
7413 the update_begin and update_end calls here from update_frame_1.
7414 (update_frame_1): Don't set display_completed here, don't call
7415 update_begin/update_end.
7416
5226a931
GM
7417 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7418 instead of store_frame_param.
7419
2a8bd25f
GM
74202000-08-29 Gerd Moellmann <gerd@gnu.org>
7421
7422 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7423 desired window matrix hasn't been displayed, use the current row
7424 instead. Make sure that only those frame rows are updated for
7425 which there exists a corresponding enabled desired row.
52283633 7426
ba3478d9
MB
74272000-08-29 Miles Bader <miles@gnu.org>
7428
7429 * xfaces.c (default_face_vector): New function.
7430 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7431
87d0f685
GM
74322000-08-29 Gerd Moellmann <gerd@gnu.org>
7433
7434 * lread.c (openp): Prevent temporary string passed to
7435 Ffile_readable_p from being garbage collected.
7436
6fa86045
DL
74372000-08-28 Dave Love <fx@gnu.org>
7438
7439 * keymap.c (store_in_keymap): Add `static' to declaration.
7440
bb17930d
GM
74412000-08-28 Gerd Moellmann <gerd@gnu.org>
7442
7443 * emacs.c, callint.c, doc.c, editfns.c
7444 (toplevel) [HAVE_STRING_H]: Include string.h.
7445 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7446 (index): Remove prototypes which might conflict with non-standard
7447 definitions of index/strchr.
7448
7449 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7450 (rindex): Define only if !HAVE_RINDEX.
7451
7452 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7453
7454 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7455
87188200
MB
74562000-08-28 Miles Bader <miles@gnu.org>
7457
7458 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7459 made inconsistent by a font-related attribute in FROM.
7460 (merge_face_inheritance): Add function comment.
7461
41a68aef
KH
74622000-08-28 Kenichi Handa <handa@etl.go.jp>
7463
7464 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7465 the 4th arg (PREV_EVENT) Qt to suppress input method.
7466
f7c436c1
SM
74672000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7468
0b32bf0e
SM
7469 * regex.c: Indent cpp directives and remove parens after `defined'.
7470 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7471 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7472 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7473 (re_compile_pattern): Use size_t for length.
7474 (init_syntax_once): Move to a better place.
7475 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7476 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7477
f7c436c1
SM
7478 * syntax.c (back_comment): Detect cases where a comment-starter is
7479 actually inside another comment as in: /* a // b */ c // d \n.
7480 Make it clear that `comstart_pos' is unused for nested comments.
7481
7482 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7483 (KEYMAPP): New macro.
7484 (Fkeymap_parent, Fset_keymap_parent): Use it.
7485 (fix_submap_inheritance): Mark it static.
7486 (define_as_prefix, describe_buffer_bindings, describe_command)
7487 (describe_translation, describe_map): Complete prototypes.
7488
7489 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7490
7491 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7492 to better match the key-lookup behavior.
7493
6288c62f
GM
74942000-08-27 Gerd Moellmann <gerd@gnu.org>
7495
7496 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7497 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7498
e931344e
EZ
74992000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7500
7501 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7502 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7503 (xterm.o): Depend on coding.h
7504
d10dfeef
KH
75052000-08-26 Kenichi Handa <handa@etl.go.jp>
7506
7507 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7508 the corresponding '#endif'.
7509
2d73e8d3
MB
75102000-08-26 Miles Bader <miles@gnu.org>
7511
7512 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7513 * xfaces.c (QCinherit): New variable.
7514 (syms_of_xfaces): Initialize it.
7515 (LFACE_INHERIT): New macro.
7516 (Finternal_get_lisp_face_attribute)
52283633 7517 (merge_face_vector_with_property)
2d73e8d3
MB
7518 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7519 (check_lface_attrs): Allow new types of face height. Check
7520 inherit attribute.
7521 (CYCLE_CHECK): New macro.
7522 (merge_face_inheritance): New function.
7523 (merge_face_vectors): Merge inherited faces too. Add F and
7524 CYCLE_CHECK arguments.
7525 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7526 (lookup_named_face, lookup_derived_face, realize_named_face)
7527 (face_at_string_position, face_at_buffer_position): Supply
7528 new F and CYCLE_CHECK arguments to merge_face_vectors.
7529 (merge_face_heights): New function.
52283633 7530 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7531 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7532 handle relative face heights.
7533 (lface_same_font_attributes_p): Compare heights using EQ.
7534
6ce974d4
KH
75352000-08-26 Kenichi Handa <handa@etl.go.jp>
7536
7537 * charset.c (char_to_string): Check the character validity.
52283633 7538 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7539
dc1e502d
SM
75402000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7541
7542 * regex.c (PUSH_FAILURE_COUNT): New macro.
7543 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7544 Handle popping of a register's or a counter's data.
7545 (POP_FAILURE_POINT): Use the new name.
7546 (re_match_2_internal): Push counter data on the stack for succeed_n,
7547 jump_n and set_number_at and remove misleading dead code in succeed_n.
7548
bd9d0f3f
GM
75492000-08-25 Gerd Moellmann <gerd@gnu.org>
7550
7551 * xdisp.c (redisplay_internal): If considering all windows on all
7552 frames, update the display for each frame as soon as possible,
7553 instead of first building all desired matrices for all frames, and
7554 then updating them all.
7555 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7556
aa5b8e15
GM
75572000-08-24 Gerd Moellmann <gerd@gnu.org>
7558
17494071
GM
7559 * bytecode.c (mark_byte_stack): Add a comment.
7560
52283633
SM
7561 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7562 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7563 a graphical frame.
7564
c543db81
KH
75652000-08-24 Kenichi Handa <handa@etl.go.jp>
7566
d246d5f5
KH
7567 * minibuf.c (do_completion): Always use compare-string, not
7568 string-equal because the latter doesn't pay attention to
7569 multibyteness of strings.
7570
c543db81
KH
7571 * process.c (create_process): Don't setup raw-text coding here.
7572 (Fopen_network_stream): Don't set coding->src_multibyte and
7573 coding->dst_multibyte here.
7574 (read_process_output): For process filter, return unibyte string
7575 if default-enable-multibyte-characters is nil.
7576 (send_process): If OBJECT is multibyte text, be sure to encoded it
7577 by the specified coding system for the process. Otherwise, setup
7578 raw-text coding.
52283633 7579 (init_process): Don't initialize default-process-coding-system here.
c543db81 7580
9b47cfe0
EZ
75812000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7582
7583 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7584 <scroll-down-aggressively>: Likewise.
7585
f5a36960
KH
75862000-08-23 Kenichi Handa <handa@etl.go.jp>
7587
7588 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7589 zero. Set coding->produced_char correctly.
7590
69a7ffa7
AI
75912000-08-22 Andrew Innes <andrewi@gnu.org>
7592
7593 * makefile.w32-in: New file.
7594
7595 * unexw32.c (unexec): Ignore old_name, and use the actual location
7596 of the current executable instead. Base new_name on this.
7597
7598 * w32proc.c (create_child): Remove reference to security
7599 descriptor, which isn't needed and doesn't compile with mingw32.
7600
7601 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7602 up dllimport attributes.
7603 (x_update_window_end): Update prototype.
7604
7605 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7606 extern, which screws up dllimport attributes.
7607
7608 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7609 up dllimport attributes.
7610
7611 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7612 screws up dllimport attributes.
7613
7614 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7615 up dllimport attributes.
7616 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7617 screws up dllimport attributes.
7618
7619 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7620 up dllimport attributes.
7621
7622 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7623 screws up dllimport attributes.
7624
7625 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7626 screws up dllimport attributes.
7627
7628 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7629 up dllimport attributes.
7630
7631 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7632 unnecessary extern, which screws up dllimport attributes.
7633 (main): Ditto.
7634
7635 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7636 up dllimport attributes.
7637
7638 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7639 unnecessary extern, which screws up dllimport attributes.
7640
7641 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7642 screws up dllimport attributes.
7643
7644 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7645 up dllimport attributes.
7646
7647 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7648
52283633
SM
7649 * w32bdf.c (search_file_line):
7650 (set_bdf_font_info):
7651 (seek_char):
7652 (w32_get_bdf_glyph):
69a7ffa7
AI
7653 (w32_BDF_to_x_font): Fix compile warnings.
7654
52283633 7655 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7656
7657 * w32select.c: Include keyboard.h before frame.h.
7658
7659 * w32fns.c (max): Define macro.
7660 (JOHAB_CHARSET): Define if not known.
7661 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7662 (Fx_show_tip): Synch with X version.
7663
7664 * w32xfns.c: Include keyboard.h before frame.h.
7665
7666 * w32fns.c: Include keyboard.h before frame.h.
7667
7668 * w32term.c: Include keyboard.h before frame.h.
7669
7670 * fontset.c: Include keyboard.h before frame.h.
7671
7672 * w32inevt.c: Include keyboard.h before frame.h.
7673 (MOUSE_MOVED): Define if not known.
7674
7675 * minibuf.c: Include keyboard.h before frame.h.
7676
7677 * keyboard.c: Include keyboard.h before frame.h.
7678
7679 * indent.c: Include keyboard.h before frame.h.
7680
7681 * dispnew.c: Include keyboard.h before frame.h.
7682
7683 * buffer.c: Include keyboard.h before frame.h.
7684
7685 * alloc.c: Include keyboard.h before frame.h.
7686
7687 * print.c: Include keyboard.h before frame.h.
7688
7689 * process.c: Include keyboard.h before frame.h.
7690
7691 * scroll.c: Include keyboard.h before frame.h.
7692
7693 * sysdep.c: Include keyboard.h before frame.h.
7694
7695 * term.c: Include keyboard.h before frame.h.
7696
7697 * window.c: Include keyboard.h before frame.h.
7698
7699 * xdisp.c: Include keyboard.h before frame.h.
7700 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7701
7702 * frame.c: Include keyboard.h before frame.h.
7703
7704 * w32heap.h: Undefine min, max.
7705
7706 * w32gui.h: Undefine min, max.
7707
7708 * unexw32.c: Change PUCHAR to PCHAR.
7709 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7710 (relocate_offset):
7711 (get_section_info):
69a7ffa7
AI
7712 (copy_executable_and_dump_data): Remove unnecessary static defs.
7713 (copy_executable_and_dump_data): Fix compile warnings.
7714
7715 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7716
7717 * w32console.c (min): Define macro.
7718 (clear_frame, write_glyphs): Fix compile warning.
7719
52283633 7720 * w32proc.c (compare_env):
69a7ffa7
AI
7721 (find_child_console): Fix compile warning.
7722
7723 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7724 sys_errlist instead of _sys_errlist.
7725 (get_emacs_configuration_options): New function.
7726
7727 * s/ms-w32.h (sys_nerr): Provide default definition.
7728 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7729 name with _ prepended.
7730 (NSIG): Define if not known.
7731 (get_emacs_configuration): Provide extern declaration.
7732 (get_emacs_configuration_options): Provide extern declaration.
7733 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7734
7735 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7736 (map_w32_filename):
69a7ffa7
AI
7737 (read_unc_volume): Fix compile warning.
7738
7739 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7740 definitions from being used.
7741
7742 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7743
52283633 7744 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7745 (open_unc_volume): Make arg const.
7746
7747 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7748 (read_input_waiting): Remove excess parameter.
7749
7750 * w32.c (init_environment): Call _access.
7751 (check_windows_init_file): Call _close.
7752 (init_user_info): Call _putenv.
7753 (init_environment): Call _putenv and _strdup.
7754 (init_ntproc): Reset volume info cache on startup.
7755
7756 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7757 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7758 cannot override the CRT malloc.
7759
7760 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7761 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7762
7763 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7764 unless we are linking with a static CRT.
7765 (RVA_TO_PTR): Cast result to unsigned char*.
7766
7767 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7768 (add_volume_info): Use xstrdup.
7769
25060080
SM
77702000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7771
7772 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7773 (do_completion, Fminibuffer_complete_word): Use it.
7774 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7775 var so it can take non-boolean values.
7776
6917e6bb
GM
77772000-08-21 Gerd Moellmann <gerd@gnu.org>
7778
acb7cc89 7779 * editfns.c (find_field): Formatting changes.
52283633 7780 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7781 changed to prototypes, some new protypes added, some functions
7782 made static.
7783
7784 * lisp.h (set_time_zone_rule): Add prototype.
7785 (use_dialog_box): External declaration.
7786
0bbfdc25
GM
7787 * keyboard.c (gen_help_event): Add parameter SIZE.
7788 (kbd_buffer_events_waiting): Slightly rewritten.
7789 (clear_event): New function.
7790 (kbd_buffer_get_event): Use it, and clear the input_events of
7791 HELP_EVENTs.
7792 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7793 don't fill the newly created array with nils.
7794 (toplevel): Convert some old-style function forward declarations
7795 to prototypes.
7796
7797 * keyboard.h (gen_help_event): Change prototype.
7798
7799 * xterm.c (XTread_socket): Change calls to gen_help_event.
7800
7801 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7802
6917e6bb
GM
7803 * eval.c (Fmacroexpand): Doc fix.
7804
e5cd3d11
JR
78052000-08-20 Jason Rumney <jasonr@gnu.org>
7806
7807 * w32term.h (x_display_info_for_display): Remove as this function
7808 does not exist on W32.
7809
7810 * w32term.c (help_echo_window): New variable.
7811 (syms_of_w32term): staticpro it.
7812 (note_mode_line_highlight): Set it.
7813 (XTextExtents16): Removed as there is no equivalent on W32.
7814 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7815 the X way of doing this will not work for W32.
7816 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7817 (x_draw_image_foreground): Avoid drawing outside of the clip area
7818 when image doesn't have a mask.
7819 (note_mouse_highlight): Process overlays in the right order of
7820 priority. Set help_echo_window.
7821 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7822 because that's more visible for large images.
7823
7824 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7825 name to single_keymap_panes.
7826 (w32_menu_show): Set wv->title when dealing with titles.
7827 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7828
6e69ab8c
MB
78292000-08-21 Miles Bader <miles@gnu.org>
7830
7831 * minibuf.c (do_completion): Try again if we rewrite the input
7832 string, but no completion was done, so that any completion message
7833 will be correct.
7834
511bd4eb
GM
78352000-08-20 Gerd Moellmann <gerd@gnu.org>
7836
7837 * xfaces.c (lface_equal_p): Compare strings differently.
7838 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7839 (realize_tty_face): Use them.
7840 (syms_of_xfaces): Initialize new variables.
7841 (map_tty_color): New function, extracted from realize_tty_face.
7842 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7843 foreground or background color, store the new color name in the
7844 realized face; previous code trying to do this had no effect.
7845 (realize_tty_face): Use map_tty_color.
7846 (Fclear_face_cache): Set face_change_count and ensure thorough
7847 redisplay.
7848
1433385f
GM
78492000-08-19 Gerd Moellmann <gerd@gnu.org>
7850
511bd4eb
GM
7851 * undo.c (record_first_change, record_marker_adjustment): Don't
7852 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7853
419ac0a2
KH
78542000-08-18 Kenichi Handa <handa@etl.go.jp>
7855
7856 * coding.c (decode_coding_string): Set members consumed,
7857 consumed_char, produced, produced_char of *coding correctly. If
7858 decode_coding doesn't consume any byte, don't try anymore.
7859 (encode_coding_string): Likewise.
7860
7eb9e30d
GM
78612000-08-18 Gerd Moellmann <gerd@gnu.org>
7862
511bd4eb
GM
7863 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7864 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7865
7866 * xdisp.c (redisplay_internal): Compare windows for equality with
7867 EQ, instead of applying XWINDOW to something that might not
7868 be a window.
52283633 7869
dd34a735
KH
78702000-08-18 Kenichi Handa <handa@etl.go.jp>
7871
7872 * fontset.c (Finternal_char_font): Search only the selected frame
7873 for a window of the current buffer.
7874
385ff9e3
GM
78752000-08-18 Gerd Moellmann <gerd@gnu.org>
7876
511bd4eb 7877 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7878 Lisp_Objects.
7879
385ff9e3
GM
7880 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7881 second half of a HELP_EVENT is found at the start of kbd_buffer.
7882
d6abb4c7
MB
78832000-08-18 Miles Bader <miles@gnu.org>
7884
4618074a
MB
7885 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7886
d6abb4c7
MB
7887 * editfns.c (save_restriction_save): Rewrite to use markers.
7888 (save_restriction_restore): Rewrite to understand new form of data
7889 saved by save_restriction_save.
7890 (Fsave_restriction): Remove cautionary note in doc-string.
7891
a7b28523
GM
78922000-08-17 Gerd Moellmann <gerd@gnu.org>
7893
7894 * fileio.c (build_annotations): Add a comment explaining the
7895 return value of format-annotate-function. Replace a spurious call
7896 to Flength with a CONSP test. Call format-annotate-function with
7897 a fifth arg specifying how many times the function is been called
7898 in a row, to let it choose temporary buffers appropriately.
7899
03c9ed77
DL
79002000-08-17 Dave Love <fx@gnu.org>
7901
7902 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7903 declare make_temp_name twice.
7904
52283633 7905 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7906 (unreadpure): Give it an arg.
7907
7908 * unexalpha.c: Prototype fatal_unexec, mark_x,
7909 update_dynamic_symbols. Declare unexec as void.
7910
7911 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7912 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7913
7914 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7915 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7916
7917 * alloca.c: Use #error.
7918 [POINTER_TYPE]: Use it.
7919
7920 * eval.c (Fdefvar): Doc fix.
7921
7922 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7923 INITIALIZE_INTERVAL.
7924
7925 * buffer.h: Avoid DECLARE_INTERVALS.
7926
7927 * config.in: Add size_t.
7928
aae41d97
EZ
79292000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7930
7931 * w16select.c (set_clipboard_data): If there's not enough memory
7932 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7933 expects. In case of other failures, return 3.
7934 (system_error_msg): New error message.
7935 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7936 system_error_msg.
7937
65aa5e85
GM
79382000-08-16 Gerd Moellmann <gerd@gnu.org>
7939
7940 * term.c (write_glyphs): Also turn off inverse video after turning
7941 off other appearances in case TS_exit_attribute_mode is not equal
7942 to TS_end_standout_mode.
7943 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7944 with the same face.
7945 (turn_off_face): Reset standout_mode only if
7946 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7947 is equal to TS_end_standout_mode.
7948
ece23901
KH
79492000-08-16 Kenichi Handa <handa@etl.go.jp>
7950
9d7bcb2e
KH
7951 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7952 sequence at the end of the source block.
7953
ece23901
KH
7954 * ccl.c (Fccl_program_p): Docstring modified.
7955 (Fccl_execute): Likewise.
7956 (Fccl_execute_on_string): Likewise.
7957
5e30eaa2
EZ
79582000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7959
7960 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7961
290602fd
KH
79622000-08-16 Kenichi Handa <handa@etl.go.jp>
7963
7964 The following changes are mainly to fix bugs of
7965 encode/decode-coding-string failing if encoding/decoding return
7966 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7967 variable conversion_buffer.
7968
7969 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7970 decrement dst_end to avoid buffer overflow in the later call of
7971 string_as_multibyte
7972
7973 * coding.h (conversion_buffer_size, conversion_buffer)
7974 (get_conversion_buffer): Extern deleted.
7975
7976 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7977 (conversion_buffer, conversion_buffer_size): Variables deleted.
7978 (get_conversion_buffer): Function deleted.
7979 (struct conversion_buffer): New structure.
7980 (MAX_ALLOCA): New macro.
7981 (allocate_conversion_buffer): New macro.
7982 (extend_conversion_buffer, free_conversion_buffer): New functions.
7983 (ccl_coding_driver): Set coding->result.
7984 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7985 this is the last block of source.
7986 (encode_coding): Likewise. Handle the source block as the last
7987 one only when the whole source text is consumed.
7988 (decode_coding_string): Handle the case that the output buffer is
7989 too small to decode the whole source text. Use
7990 allocate_conversion_buffer, extend_conversion_buffer and
7991 free_conversion_buffer, not get_conversion_buffer.
7992 (encode_coding_string): Likewise.
7993 (init_coding): Function deleted.
52283633 7994 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7995
7996 * emacs.c (main): Don't call init_coding.
7997
52283633 7998 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7999
8000 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8001 (insert_glyphs): Likewise.
8002
8003 * w32console.c (write_glyphs): Use a locally declared
8004 conversion_buffer.
8005
b9f80d41
EZ
80062000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8007
8008 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8009 member of display_info is NULL.
8010
32dc52f7
GM
80112000-08-15 Gerd Moellmann <gerd@gnu.org>
8012
52283633 8013 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8014
32dc52f7 8015 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8016 appearances with capability `me'.
32dc52f7
GM
8017 (write_glyphs): Switch on inverse video before each face change.
8018
4eb22d33
DL
80192000-08-14 Dave Love <fx@gnu.org>
8020
8021 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8022 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8023 (lisp_free): Declare and make static.
8024
8025 * window.c: Fix embedded comment.
8026 (syms_of_window): Fix doc string.
8027
90cbf47e
GM
80282000-08-14 Gerd Moellmann <gerd@gnu.org>
8029
52283633 8030 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8031 make sure to print `C-' before `M-', like in the manual.
8032
440fc135
GM
80332000-08-11 Gerd Moellmann <gerd@gnu.org>
8034
8035 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8036 since they aren't relocated anymore.
52283633 8037 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
8038
8039 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 8040 partially visible line which is smaller than the window's height.
440fc135 8041
6e264fad
KH
80422000-08-11 Kenichi Handa <handa@etl.go.jp>
8043
8044 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 8045 the multibyte form of eight-bit-control characters.
6e264fad
KH
8046 (Fccl_execute_on_string): Initialize ccl->multibyte.
8047
8048 * ccl.h (struct ccl_program): New member multibyte.
8049
8050 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
8051
c371f69a
KH
80522000-08-11 Kenichi Handa <handa@etl.go.jp>
8053
8054 * regex.c (regex_compile) <normal_char>: Pay attention to
8055 multibyteness.
8056 (analyse_first) <exactn>: Setup fastmap correctly for
8057 eight-bit-control characters.
8058
80592000-08-11 Kenichi Handa <handa@etl.go.jp>
8060
52283633 8061 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
8062
8063 * keyboard.c (make_lispy_event): Handle the new event type
8064 multibyte_char_keystroke.
8065
8066 * xterm.c: Include coding.h.
8067 (XTread_socket): Work around a bug of XmbLookupString. If the
8068 input is from XIM, decode it according to the current locale. In
8069 that case, generate multibyte_char_keystroke events.
8070
b8ddbe71
KH
80712000-08-11 Kenichi Handa <handa@etl.go.jp>
8072
8073 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
8074 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
8075
47589c8c
GM
80762000-08-10 Gerd Moellmann <gerd@gnu.org>
8077
8078 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
8079 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
8080 (move_it_in_display_line_to): Record iterator's ascent and descent
8081 before producing glyphs, and restore them when we know the glyph
8082 doesn't fit on the line.
8083 (move_it_to): Restructured so that it's easier to debug. If
8084 moving to a vpos, and not moving to an x or character position,
8085 stop as soon as the specified vpos is reached; don't move further
8086 into that line because that might change the computed line height.
8087 (try_cursor_movement): New function, extracted from the cursor
8088 movement branch of redisplay_window. If ending on a partially
8089 visible line, don't try to scroll if the cursor line is taller
8090 than the window.
8091 (redisplay_window): Use try_cursor_movement.
8092
8093 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8094 because that function doesn't cope with variable-height lines.
8095
8096 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8097 box cursor because that's better visible for large images.
52283633 8098
c51bacd6
MB
80992000-08-10 Miles Bader <miles@gnu.org>
8100
8101 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8102
bea56df7
GM
81032000-08-10 Gerd Moellmann <gerd@gnu.org>
8104
8105 * xdisp.c (Vmessages_buffer_name): New variable.
8106 (message_dolog): Use it.
8107 (syms_of_xdisp): Initialize it.
8108
99cd7364
EZ
81092000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8110
52283633 8111 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8112 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8113 redundant now that keyboard.h is included.
8114
7d093d56
EZ
81152000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8116
8117 * keyboard.c (kbd_buffer_events_waiting): New function.
8118
8119 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8120
8121 * msdos.c: Include keyboard.h.
8122 (XMenuActivate): Empty no_event events from the event buffer. If
8123 no events are left after that, call clear_input_pending.
8124 (mouse_clear_clicks): New function, code moved from mouse_init.
8125 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8126 mouse driver to ``forget'' any past clicks.
8127
8128 * Makefile.in (msdos.o): Depend on keyboard.h.
8129
41e757a6
GM
81302000-08-09 Gerd Moellmann <gerd@gnu.org>
8131
8e7bd231
GM
8132 * lisp.h (input_pending): External declaration.
8133
8134 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8135
8e7bd231
GM
8136 * xdisp.c (echo_area_display): Display thoroughly if input is
8137 pending. Bind redisplay-dont-pause to t during the redisplay.
8138 in case input is pending.
8139
8140 * dispnew.c (Qredisplay_dont_pause): New variable.
8141 (syms_of_display): Initialize and staticpro it.
8142 (update_frame_1): Don't interrupt the display for pending input if
8143 redisplay_dont_pause is set.
52283633 8144
43028b7e
GM
8145 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8146
41e757a6
GM
8147 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8148
2f2174fa
KH
81492000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8150
8151 * callproc.c (Fcall_process): Terminate the unwind-protect around
8152 the post-read-conversion of coding system.
8153
0a6fd67e
MB
8154 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8155 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8156 * buffer.h (overlays_at): Update prototype.
8157 * xdisp.c (next_overlay_change): Update call to overlays_at.
8158 * xfaces.c (face_at_buffer_position): Likewise.
8159 * textprop.c (Fget_char_property): Likewise.
8160 * xterm.c (note_mouse_highlight): Likewise.
8161
0c80756e
MB
8162 * minibuf.c (do_completion): Don't consider a simple change of
8163 case as `completion'.
8164
975f250a
KR
81652000-08-08 Ken Raeburn <raeburn@gnu.org>
8166
52283633 8167 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8168 * undo.c (record_delete): Make sure last_point_position_buffer is
8169 a buffer before comparing pointers.
8170
8171 * coding.h (decode_coding_string): Declare.
8172
8173 * intervals.h (Fprevious_single_char_property_change): Declare.
8174
8175 * textprop.c (Fprevious_single_char_property_change): Don't do
8176 arithmetic directly on lisp objects.
8177
52283633 8178 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8179
8180 * keyboard.h (menu_item_eval_property): Declare.
8181
8182 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8183 reuse as buffer name, instead of recreating (and discarding) every
8184 time a message is logged.
8185 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8186 (current_message_1, truncate_message_1, set_message_1)
8187 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8188 (current_message, truncate_echo_area, display_echo_area)
8189 (resize_echo_area_axactly): Changed calls.
b347b3fd 8190
975f250a 8191 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8192 Lisp object.
975f250a 8193 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8194 must be an integer, not a Lisp object.
975f250a 8195
46dc9912
KH
81962000-08-08 Kenichi Handa <handa@etl.go.jp>
8197
8198 * charset.c (Fchar_width): Doc fix.
8199
9f6d1a6c
GM
82002000-08-08 Gerd Moellmann <gerd@gnu.org>
8201
8202 * charset.c (Fstring_width): Doc fix.
8203
ff3d9573
GM
82042000-08-07 Gerd Moellmann <gerd@gnu.org>
8205
41e757a6 8206 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8207 line, clear ascent and descent members of the iterator structure;
8208 the height of the continued line does not affect the height of the
8209 continuation line.
8210 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8211 line taller than the window.
8212 (redisplay_window) <forced window start>: Handle case that the
8213 middle of the window is not found in any row.
8214 (dump_glyph_row): Show more information.
8215 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8216 first text line in a glyph matrix.
8217
8218 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8219 of the clip area when image doesn't have a mask.
8220
70fc58b3
GM
8221 * fns.c (sweep_weak_table): Fix survival conditions for
8222 key-or-value and key-and-value weakness.
8223
8224 * .gdbinit (xhashtable): New command.
8225
ac0e96ee
GM
8226 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8227 tables out of the list of all weak hash tables.
8228
ff3d9573
GM
8229 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8230 a new buffer is created, make sure echo_area_buffer[] references
8231 the new buffer.
8232
e0d8827b
EZ
82332000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8234
8235 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8236 the doc string.
8237
c6f35378
KH
82382000-08-07 Kenichi Handa <handa@etl.go.jp>
8239
8240 * syntax.c (skip_chars): Fix previous change. Make the handling
8241 of unibyte string consistent with that of regex search.
8242
1fd4c450
GM
82432000-08-05 Gerd Moellmann <gerd@gnu.org>
8244
e49aa397
GM
8245 * xmenu.c (popup_get_selection): Use xfree instead of free.
8246
8247 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8248
8249 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8250
8251 * callproc.c (child_setup): Use xfree instead of free.
8252
8253 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8254 instead of malloc.
8255 (run_mac_command, closedir): Use `xfree' instead of `free'.
8256
8257 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8258
8259 * eval.c (error): Use xfree instead of free.
8260
1fd4c450
GM
8261 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8262
8263 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8264 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8265
82d497fc
KH
82662000-08-05 Kenichi Handa <handa@etl.go.jp>
8267
8268 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8269 conversion.
8270
59f953a2
NF
82712000-08-04 Noah Friedman <friedman@splode.com>
8272
8273 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8274 docstring.
8275
688351f2
GM
82762000-08-04 Gerd Moellmann <gerd@gnu.org>
8277
8278 * syntax.c (skip_chars): Fix typo in error message.
8279
2dad51cc
AS
82802000-08-04 Andreas Schwab <schwab@suse.de>
8281
8282 * m/ia64.h: Moved from s/ia64.h.
8283
99bb2c60
KH
82842000-08-04 Kenichi Handa <handa@etl.go.jp>
8285
082a1df2
KH
8286 * process.c (read_process_output): Big simplification. Handle
8287 composition and post-read-conversion of coding system correctly.
8288 (send_process): Handle composition correctly.
8289
8290 * callproc.c (Fcall_process): Handle post-read-conversion of
8291 coding system if any.
8292
99bb2c60
KH
8293 * coding.c (decode_coding_iso2022): More strict check for handling
8294 single shifting.
082a1df2
KH
8295 (coding_restore_composition): Pay attention to the case that
8296 cmp_data is not set properly (because of invalid code in the
8297 source text).
8298 (run_pre_post_conversion_on_str): Include text properties in the
8299 resulting string.
8300 (decode_coding_string): Set members of coding correctly.
99bb2c60 8301
f4988be7
GM
83022000-08-03 Gerd Moellmann <gerd@gnu.org>
8303
8304 * s/ia64.h: New file.
8305
8306 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8307 Use NULL instead of 0 at the end of variable argument list of
8308 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8309 sizeof (int) < sizeof (void *).
8310
8311 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8312 of variable argument lists of XtVaGetValues and XtVaSetValues.
8313
8314 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8315 variable argument lists of XtVaGetValues and XtVaSetValues.
8316
ead53494
GM
83172000-08-02 Gerd Moellmann <gerd@gnu.org>
8318
8319 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8320 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8321
8322 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8323 prototype.
8324
8325 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8326 in call to Fsingle_key_description.
8327
8328 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8329 Callers changed.
8330
83312000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8332
8333 * window.c (display_buffer_reuse_frames): New variable.
8334 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8335 frames displaying BUFFER.
52283633 8336 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8337
10b0f752
MB
83382000-08-01 Miles Bader <miles@gnu.org>
8339
8340 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8341 when to constrain NEW_POS (they were pretty screwed up before).
8342
16425c4a
EZ
83432000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8344
8345 * msdos.c (run_msdos_command): Save and restore the master
8346 environment, for the case that child_setup signals an error.
8347 When mirroring slashes in DOS shell commands, don't fail when
8348 argv[2] has embedded blanks.
da288c14
EZ
8349 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8350 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8351 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8352
8353 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8354 using alloca; free it after run_msdos_command returns.
8355
27f73852
DL
83562000-07-27 Dave Love <fx@gnu.org>
8357
52283633
SM
8358 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8359 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8360
8361 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8362
c0261b5e
EZ
83632000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8364
8365 * editfns.c (lisp_time_argument): Fix last change.
8366
b548072f
GM
83672000-07-27 Gerd Moellmann <gerd@gnu.org>
8368
3ab82477
GM
8369 * fns.c (Fdelete): Make it work on vectors and strings in addition
8370 to lists.
8371
b548072f
GM
8372 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8373 (syms_of_fns): Initialize new variables.
52283633 8374 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8375 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8376 weakness, with t meaning the same as `key-and-value'.
8377
91ae8751
KH
83782000-07-27 Kenichi Handa <handa@etl.go.jp>
8379
8380 * coding.h (struct coding_system): Member safe_charset deleted.
8381
8382 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8383 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8384 New variables.
91ae8751
KH
8385 (coding_safe_chars): New function.
8386 (CODING_SAFE_CHAR_P): New macro.
8387 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8388 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8389 (detect_coding_iso2022): New local variable safe_chars.
8390 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8391 safe_charsets member of the coding system.
8392 (decode_coding_iso2022): New local variable safe_chars.
8393 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8394 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8395 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8396 (ENCODE_UNSAFE_CHARACTER): New macro.
8397 (encode_coding_iso2022): New local variable safe_chars. Check
8398 unsafe chars.
8399 (setup_coding_system): Delete the code to initialize
8400 coding->safe_charses
8401 (intersection, find_safe_codings): New functions.
8402 (Ffind_coding_systems_region_internal): New function.
8403 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8404 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8405 variable and initialize it.
8406
8407 * fns.c (char_table_ref_and_index): New function.
8408
8409 * lisp.h (char_table_ref_and_index): Add prototype.
8410
34a7a267
SS
84112000-07-26 Sam Steingold <sds@gnu.org>
8412
8413 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8414 (Ffloat_time): New built-in Lisp function.
34a7a267 8415
a95cb10a
GM
84162000-07-26 Gerd Moellmann <gerd@gnu.org>
8417
3353ef5a
GM
8418 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8419 for the character code.
8420
8421 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8422 GNU/Linux.
8423
a95cb10a
GM
8424 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8425 if called for a popup menu.
8426 (xmenu_show): Store help string in widget values.
8427
b4a12321
DL
84282000-07-26 Dave Love <fx@gnu.org>
8429
8430 * syswait.h: Move some definitions.
8431 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8432 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8433 perspicuous definitions.
8434 (WTERMSIG): Fix bit pattern used.
8435
13f5ad37
KH
84362000-07-26 Kenichi Handa <handa@etl.go.jp>
8437
8438 * print.c (print_object): If vector printing is truncated, print
8439 "..." to indicate it as well as the case of list printing.
8440
070fe99c
GM
84412000-07-25 Gerd Moellmann <gerd@gnu.org>
8442
969065c3
GM
8443 * xdisp.c (next_element_from_display_vector): Improve comments.
8444
8445 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8446 for the character code, and the rest for the face id as in 20.x.
8447 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8448
8449 * window.c (window_display_table): Cleaned up.
8450
070fe99c
GM
8451 * syntax.c (Fforward_word): Add last arg nil in call of
8452 Fconstrain_to_field.
8453
bad77ef7
EZ
84542000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8455
969065c3 8456 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8457 identical but for the letter-case, don't call
8458 barf_or_query_if_file_exists.
bad77ef7 8459
c28da489
MB
84602000-07-25 Miles Bader <miles@gnu.org>
8461
8462 * editfns.c (find_field): Honor special `boundary' fields.
8463 (Qboundary): New variables.
8464 (syms_of_editfns): Initialize Qboundary.
8465 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8466 Use scan_buffer instead of find_before_next_newline, because it
8467 allows us to detect the boundary case where there's a newline at
8468 the search limit.
8469 * lisp.h (Fconstrain_to_field): Update external declaration.
8470
e3c31fd5
GM
84712000-07-24 Gerd Moellmann <gerd@gnu.org>
8472
8473 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8474 if that is nil.
c28da489 8475
c66c29a2
DL
84762000-07-24 Dave Love <fx@gnu.org>
8477
8478 * s/sunos4-0.h, s/sol2.h:
8479 (LIBS_TERMCAP): Move from m/sparc.h.
8480
8481 * m/sparc.h (TERMINFO): Moved to system files (probably only
8482 relevant for sunos4 judging by its vintage).
8483 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8484 __arch64__.
8485
fbe0a958
EZ
84862000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8487
8488 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8489 name to single_keymap_panes.
8490
7d88e5c9
AS
84912000-07-24 Andreas Schwab <schwab@suse.de>
8492
8493 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8494
e024b101
GM
84952000-07-24 Gerd Moellmann <gerd@gnu.org>
8496
8497 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8498 parameters instead of using int parameters. Expect FN to accept
8499 EMACS_INT parameters.
8500 (display_echo_area, resize_echo_area_axactly, current_message)
8501 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8502 with new argument list.
8503 (resize_mini_window_1): New callback function.
8504 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8505 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8506
25c1a9ce
KH
85072000-07-24 Kenichi Handa <handa@etl.go.jp>
8508
8509 * fontset.c (fontset_ref): Remove INLINE declaration.
8510 (fontset_ref_via_base): Likewise.
8511 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8512 to downcase.
8513
7f987ac0
EZ
85142000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8515
8516 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8517 correct order of priority. If help echo was found in an overlay,
8518 use that overlay as the object in which the help echo was found.
8519
e2db3069
MB
85202000-07-22 Miles Bader <miles@gnu.org>
8521
8522 * textprop.c (Fprevious_single_char_property_change): The initial
8523 property value should be from the position preceding POSITION, not
8524 following it.
8525
5e3203e4
EZ
85262000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8527
8528 * coding.c (syms_of_coding): Doc fix for
8529 inhibit-iso-escape-detection.
8530
62145073
GM
85312000-07-21 Gerd Moellmann <gerd@gnu.org>
8532
c20aeb83
GM
8533 * xterm.c (note_mouse_highlight): Process overlays in the right
8534 order of priority.
34a7a267 8535
743934db
GM
8536 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8537
8538 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8539 overlay, use that overlay as the object in which the help was found.
743934db 8540
d1dc7e43 8541 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8542
62145073
GM
8543 * window.c (foreach_window): Instead of a fake variable argument
8544 list, take one USER_DATA argument.
8545 (foreach_window_1): Likewise, and call callback functions with two
8546 args, the window and USER_DATA.
8547 (struct check_window_data): New struct.
8548 (check_window_containing): Use it.
8549 (window_from_coordinates): Set up a struct check_window_data for
8550 foreach_window.
8551 (add_window_to_list, freeze_window_start): Change parameters
8552 according to new calling convention.
8553
8554 * window.h (foreach_window): Change prototype.
8555
8556 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8557
85582000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8559
8560 * xmenu.c (menu_help_callback): Call show_help_echo with
8561 additional arguments OBJECT and POS.
8562
11270583
KH
85632000-07-21 Kenichi Handa <handa@etl.go.jp>
8564
07b14857
KH
8565 * data.c (Faset): Allow storing any multibyte character in a
8566 string. Convert unibyte string to multibyte if necessary.
8567
11270583
KH
8568 * xfns.c (x_encode_text): New function.
8569 (x_set_name): Use x_encode_text.
8570 (x_set_title): Likewise.
8571
8572 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8573
8574 * xterm.h (x_encode_text): Add prototype.
8575
bc75b4fd
DL
85762000-07-20 Dave Love <fx@gnu.org>
8577
8578 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8579 xfree, not free.
8580
48c14970
EZ
85812000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8582
8583 * msdos.c (help_echo_window): New variable.
8584 (syms_of_msdos): Initialize and staticpro it.
8585 (IT_note_mode_line_highlight): Set help_echo_window.
8586 (IT_note_mouse_highlight): Ditto.
8587 (dos_rawgetc): Store help_echo_window in the second event produced
8588 for HELP_EVENTs.
8589
8590 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8591 Record the object that generated the help echo and the position of
8592 that object in help_echo_object and help_echo_pos. Record that
8593 some glyphs in a row are displayed in mouse-face.
8594 (IT_update_begin): Don't clear mouse highlight unless one of the
8595 enabled glyph rows is marked as being displayed in mouse-face.
8596 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8597 and position recorded in help_echo_object and help_echo_pos to the
8598 event queue.
8599 (IT_menu_display): Accept a new argument PN: the pane number of
8600 the current menu pane. Record the pane number and the item
8601 number of the item which has associated help string.
8602 (XMenuActivate): Update the prototype for help_callback in
8603 function declaration. Call IT_menu_display with the current menu
8604 pane number as an additional argument. Call help_callback with
8605 two additional arguments: the pane number and the item number of
8606 the menu item associated with the help text.
8607 (help_echo_object, help_echo_pos): New variables.
8608 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8609
8610 * msdos.h (XMenuActivate): Update prototype.
8611
4279296d
GM
86122000-07-19 Gerd Moellmann <gerd@gnu.org>
8613
47db06aa
GM
8614 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8615 Add some more prototypes.
8616
8617 * xterm.c, xterm.h: Add some more prototypes.
8618
8619 * lisp.h (Fnext_single_char_property_change): Add prototype.
8620
8621 * dispnew.c (direct_output_for_insert): Remove confusing
8622 outer local variable mouse_face_overwritten_p.
8623 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8624
4279296d
GM
8625 * alloc.c (allocate_string_data): Don't copy old string contents.
8626
670acd62
KH
86272000-07-19 Kenichi Handa <handa@etl.go.jp>
8628
8629 * coding.c (code_convert_region): Delete text properties before
8630 shrinking the conversion region.
8631
7cea38bc
GM
86322000-07-18 Gerd Moellmann <gerd@gnu.org>
8633
dc1cac59
GM
8634 * dispnew.c (update_text_area): Write the whole row if it
8635 has mouse-face in it.
8636
85a8aca9
GM
8637 * xfaces.c (face-alternative-font-family-alist): Remove
8638 DEFVAR_LISP; staticpro instead.
8639
34a7a267 8640 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8641 new arguments.
8642
8643 * keyboard.c (show_help_echo): Add parameter WINDOW.
8644 (read_char): Call show_help_echo with window extracted from Lisp
8645 help event.
8646 (gen_help_event): Add parameter WINDOW.
8647
8648 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8649
8650 * xterm.c (help_echo_window): New variable.
52283633 8651 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8652 (XTread_socket): Pass help_echo_window to gen_help_event.
8653 (syms_of_xterm): Initialize and staticpro help_echo_window.
8654
f8276b77
DL
86552000-07-18 Dave Love <fx@gnu.org>
8656
52283633 8657 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8658
088831a6
GM
86592000-07-18 Gerd Moellmann <gerd@gnu.org>
8660
3d6cd763
GM
8661 * alloc.c (allocate_string_data): If string had already data
8662 assigned, copy old contents to new string data.
8663
8664 * coding.c (syms_of_coding): Fix typo in spelling of variable
8665 `inhibit-iso-escape-detection'.
8666
088831a6
GM
8667 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8668
8669 * Makefile.in: Add dependencies on dispextern.h.
8670 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8671 `free'; both can conflict with system header files.
8672
bc8a8d55
KH
86732000-07-18 Kenichi Handa <handa@etl.go.jp>
8674
8675 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8676 undefined.
8677
069f5950
DL
86782000-07-18 Dave Love <fx@gnu.org>
8679
8680 * window.c (Fwindow_list): Declare arg `window'.
8681
aa96c820
KH
86822000-07-18 Kenichi Handa <handa@etl.go.jp>
8683
8684 * coding.c (setup_coding_system): Don't override the explicitly
8685 specified designations.
8686
06be8d32
MB
86872000-07-15 Miles Bader <miles@gnu.org>
8688
8689 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8690 from `text_property_eq' and `text_property_stickiness', respectively.
8691 (find_field, Fconstrain_to_field, char_property_eq)
8692 (char_property_stickiness): Changed to call char-property functions
8693 instead of text-property-only ones.
8694
8695 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8696 `next_single_char_property_change'). Do more error checking, and
8697 cleanup limit behavior.
8698 (Fprevious_single_char_property_change): New function.
8699 (syms_of_textprop): Initialize new subrs.
8700
8701 * xdisp.c (display_prop_end, invisible_text_between_p):
8702 Call Fnext_single_char_property_change instead of
8703 next_single_char_property_change.
8704
3fddcdc3
JR
87052000-07-15 Jason Rumney <jasonr@gnu.org>
8706
8707 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8708 after menu is finished with.
8709 (add_menu_item): Only consider wv->title as a menu title.
8710 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8711
8712 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8713 null title.
8714 (FONT_REGEXP): Remove unused macro, and its sub-components.
8715 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8716
8717 * w32term.c (help_echo_object, help_echo_pos): New variables.
8718 (note_mode_line_highlight): Store additional information about the
8719 help-echo in help_echo_object and help_echo_pos. Check both
8720 `local-map' and `keymap' properties for changing the cursor
8721 (note_mouse_highlight): Store additional information about the
8722 help-echo in help_echo_object and help_echo_pos.
8723 (note_tool_bar_highlight): Set help_echo_object to nil and
8724 help_echo_pos to -1.
8725 (w32_read_socket): Use gen_help_event instead of filling
8726 input_events manually.
8727 (syms_of_w32term): Staticpro help_echo_object.
8728 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8729 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8730 (x_clear_mouse_face): New function.
8731 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8732 (x_update_window_begin): No need to turn off the mouse
8733 highlight here.
8734 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8735 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8736 (x_fill_stretch_glyph_string): Consume runs of stretch
8737 glyphs instead of a single one.
8738 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8739 with new argument list.
8740 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8741 (x_append_glyph, x_append_composite_glyph)
8742 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8743 changes in struct glyph starting 1999-12-27. See comments for
8744 xterm.c on 2000-07-05.
8745
178c5d9c
SS
87462000-07-14 Sam Steingold <sds@gnu.org>
8747
8748 * xfaces.c (realize_x_face): Fix the last patch:
8749 check `default_face' before dereferencing.
8750
6fe533f6
DL
87512000-07-14 Dave Love <fx@gnu.org>
8752
069f5950 8753 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8754
dd7b81cf
KH
87552000-07-14 Kenichi Handa <handa@etl.go.jp>
8756
0693904a 8757 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8758 default_face's fontset, not using the default fontset.
0693904a 8759
dd7b81cf
KH
8760 * coding.c (inhibit_iso_escape_detection): New variable.
8761 (syms_of_coding): Make it a Lisp variable.
8762 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8763 nonzero, ignore ISO2022's escape sequence.
8764
d5aa31d8
GM
87652000-07-14 Gerd Moellmann <gerd@gnu.org>
8766
e5acf0ca
GM
8767 * alloca.c (malloc) [emacs]: Define as xmalloc.
8768
bd23a692
GM
8769 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8770 use that instead of the mouse position. Add parameters DX and DY.
8771
8772 * dispextern.h (Fx_show_tip): Adjust number of parameters
8773 in prototype.
8774
9662da0b
GM
8775 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8776 if HELP is a function, call it with OBJECT and POS as parameters
8777 to get the help to display.
8778 (gen_help_event, kbd_buffer_store_help_event): New functions.
8779 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8780 (read_char): Call show_help_echo with new parameters.
8781
178c5d9c 8782 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8783 Add prototypes.
8784
8785 * xterm.c (help_echo_object, help_echo_pos): New variables.
8786 (note_mode_line_highlight): Store additional information about the
8787 help-echo in help_echo_object and help_echo_pos. Check both
8788 `local-map' and `keymap' properties for changing the cursor
8789 (note_mouse_highlight): Store additional information about the
8790 help-echo in help_echo_object and help_echo_pos.
8791 (note_tool_bar_highlight): Set help_echo_object to nil and
8792 help_echo_pos to -1.
8793 (XTread_socket): Use gen_help_event instead of filling
8794 input_events manually.
8795 (syms_of_xterm): Staticpro help_echo_object.
8796
8797 * xmenu.c (menu_highlight_callback): Use
8798 kbd_buffer_store_help_event instead of setting up and input_event
8799 structure manually.
8800
8801 * xdisp.c (eval_form): GCPRO argument sexpr.
8802 (call_function): New function.
8803 (handle_single_display_prop): Use call_function and FUNCTIONP
8804 instead of checking whether if font_height is a symbol and
8805 using eval_form.
8806
8807 * eval.c (internal_condition_case_2): New function.
8808
8809 * lisp.h (FUNCTIONP): New macro.
8810 (internal_condition_case_2, call_function): Add prototypes.
8811
d5aa31d8
GM
8812 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8813 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8814 Always set `arg' member of input_events.
8815 (construct_menu_click): Unused function removed.
8816
8817 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8818
8819 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8820 (construct_drag_n_drop, x_scroll_bar_handle_click)
8821 (w32_read_socket): Always set `arg' member of input_events.
8822
8823 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8824
8825 * lisp.h (eval_form): Add prototype.
8826
8827 * xdisp.c (eval_form): Make it externally visible.
8828
0f1a9b23
GM
88292000-07-13 Gerd Moellmann <gerd@gnu.org>
8830
8831 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8832 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8833 consing. For prefix events, store the frame in the `arg' slot of
8834 the event, otherwise store the key there.
8835 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8836 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8837
8838 * xmenu.c (menu_highlight_callback): Store help string in the
8839 `arg' member of the input event; don't cons.
8840 (menubar_selection_callback): Use the `arg' slot of input events
8841 to queue additional information, instead of consing.
8842
8843 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8844
8845 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8846 TOOL_BAR_EVENTs.
8847 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8848
8849 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8850 input events to queue additional information, instead of consing.
8851
8852 * keyboard.c (kbd_buffer_gcpro): Renamed from
8853 kbd_buffer_frame_or_window. Now used for all Lisp objects
8854 referenced from the input queue.
8855 (kbd_buffer_store_event): Always use structure assignment for
8856 copying input events. Record all Lisp objects referenced from
8857 events in kbd_buffer_gcpro.
8858 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8859 differently from input events. Test for prefix menu_bar_events
8860 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8861 event in kbd_buffer_gcpro to nil.
8862 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8863 frame_or_window is equal to its arg member as prefix events.
8864 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8865 used by an input event to nil.
8866 (init_keyboard): Use two times the size of the input queue
8867 for kbd_buffer_gcpro.
8868 (syms_of_keyboard): Likewise.
8869
52283633
SM
8870 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8871 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8872
8873 * termhooks.h (struct input_event): Add member `arg'.
8874 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8875 (USER_SIGNAL_EVENT): Renamed from user_signal.
8876
8877 * xfaces.c (ASET): Remove definition.
8878
8879 * lisp.h (AREF, ASET, ASIZE): New macros.
8880
8881 * fontset.c (AREF, ASIZE): Remove definitions.
8882
8883 * fns.c (AREF): Remove definition.
178c5d9c 8884
0f1a9b23
GM
8885 * composite.c (AREF): Remove definition.
8886
712eaef2
GM
88872000-07-12 Gerd Moellmann <gerd@gnu.org>
8888
d8ee7803
GM
8889 * dispnew.c (redraw_overlapped_rows): Add missing local.
8890 (scrolling_window): Remove debug code.
8891
712eaef2
GM
8892 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8893 Before scrolling, turn off a mouse-highlight in the window
8894 being scrolled.
8895
8896 * xterm.c (x_update_window_end): Add parameter
8897 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8898 redisplay in XTframe_up_to_date.
8899 (x_clear_mouse_face): New function.
8900 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8901
8902 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8903 current glyph row.
8904 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8905 it when any row is written to that contains glyphs highlighted in
8906 mouse-face.
8907 (update_window): Call the window update end hook with new
8908 parameter MOUSE_FACE_OVERWRITTEN_P.
8909 (direct_output_for_insert): Give up if row contains mouse-face.
8910
8911 * dispextern.h (struct redisplay_interface): Add parameter
8912 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8913 (clear_mouse_face): New function pointer member.
8914
02010917
SM
89152000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8916
8917 * syntax.c (back_comment): Use one switch rather than a few `if's.
8918 Obey open_paren_in_column_0_is_defun_start.
8919 When reverting to the `slow' method, try to nicely handle the case
8920 of nested comments by checking that the comment-starter we found
8921 does indeed match the comment-ender.
8922 (scan_sexps_forward, scan_sexps_forward):
8923 Ignore excessive opening parenthesis rather than throwing an error.
8924
d76c03ea
GM
89252000-07-11 Gerd Moellmann <gerd@gnu.org>
8926
8927 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8928 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8929
8930 * dispnew.c (direct_output_forward_char): Give up if currently
8931 displaying a message instead of the minibuffer contents.
8932
8933 * xterm.c (x_update_window_begin): No need to turn off the mouse
8934 highlight here.
8935 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8936 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8937
8938 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8939 compare the mouse_face_p flags of both rows.
8940
8941 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8942
d55ead18
EZ
89432000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8944
8945 * keyboard.c (show_help_echo): Accept additional parameter
8946 ok_to_overwrite_keystroke_echo.
8947 (read_char): Call show_help_echo with a zero
8948 ok_to_overwrite_keystroke_echo argument.
52283633 8949 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8950 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8951 ok_to_overwrite_keystroke_echo argument.
8952 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8953 non-zero ok_to_overwrite_keystroke_echo argument.
8954
df75b1a3
GM
89552000-07-10 Gerd Moellmann <gerd@gnu.org>
8956
4b92c49a
GM
8957 * xdisp.c (try_window_id): If changes are all below what is
8958 displayed in the window, and point is in the window, we still
8959 might have to find point on the display.
8960
8961 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8962 glyphs instead of a single one.
8963 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8964 with new argument list.
8965 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8966
df75b1a3
GM
8967 * keymap.c (get_keymap_1): Add comment that this function can GC.
8968 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8969 comment that functions can GC.
8970 (Fset_keymap_parent): GCPRO arg KEYMAP.
8971
4314cf3e
EZ
89722000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8973
8974 * msdos.c (XMenuActivate): After exiting the menu, restore the
8975 echo area message and erase it.
8976
ab49ce15
KH
89772000-07-10 Kenichi Handa <handa@etl.go.jp>
8978
8979 * fontset.c (Ffontset_info): Make the return value more compatible
8980 with that of Emacs 20.
8981
090a072f
GM
89822000-07-07 Gerd Moellmann <gerd@gnu.org>
8983
8984 * eval.c (Fsignal): Handle case that backtrace_list is null.
8985
f92de4a6
KH
89862000-07-07 Kenichi Handa <handa@etl.go.jp>
8987
8988 * ccl.c (Fccl_execute): Typo fixed.
8989
dd8888a1
GM
89902000-07-06 Gerd Moellmann <gerd@gnu.org>
8991
e5c81191 8992 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8993
dd8888a1
GM
8994 * window.c (Fwindow_list): Reverse list at the end.
8995 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8996 means allow windows on OWINDOW's frame, only.
8997 (window_loop): Simplified; use Fwindow_list.
8998
8999 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9000
485266d0
GM
90012000-07-05 Gerd Moellmann <gerd@gnu.org>
9002
9003 * xterm.c (XTread_socket): Increment handling_signal at the start,
9004 decrement it at the end.
9005
9006 * eval.c (handling_signal): New variable.
9007 (Fsignal): Abort if handling_signal is non-zero.
9008
9009 * lisp.h (handling_signal): External declaration.
178c5d9c 9010
485266d0
GM
9011 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9012
80fcd514
KR
90132000-07-05 Ken Raeburn <raeburn@gnu.org>
9014
9015 Sound support for NetBSD through "Linux emulation" support:
9016 * config.in (HAVE_SOUNDCARD_H): Undef.
9017 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9018 * Makefile.in (LIBSOUND): New variable.
9019 (LIBES): Include it.
52283633
SM
9020 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9021 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9022 (vox_open): Use DEFAULT_SOUND_DEVICE.
9023 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9024
d5c5cddd
GM
90252000-07-05 Gerd Moellmann <gerd@gnu.org>
9026
9027 * print.c (print_error_message): If Vsignaling_function is set,
9028 show it in *Messages*.
9029
9030 * lisp.h (Vsignaling_function): External declaration.
9031
9032 * eval.c (Vsignaling_function): New variable.
9033 (Fsignal): Compute it.
9034 (syms_of_eval): Staticpro it.
9035
65171e3a
DL
90362000-07-05 Dave Love <fx@gnu.org>
9037
9038 * syswait.h: Use the autoconf recommended approach. Old code
9039 #if'd out in case we need to revert.
9040
178c5d9c 9041 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 9042
e2c46326
AI
90432000-07-05 Andrew Innes <andrewi@gnu.org>
9044
9045 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
9046 when non-NULL instead of __morecore, to take account of buffer
9047 memory. This also solves a problem with spurious memory warnings
9048 on Windows.
9049
9050 * ralloc.c: Make real_morecore non-static.
9051
9052 * eval.c (internal_condition_case): Comment out abort if
9053 interrupt_input_blocked is not zero.
9054
9055 * makefile.nt: Add support for `bootstrap' and related targets.
9056 Include minimal debug info in emacs.exe in release build.
9057 Remove all dependencies on lisp.h, and fixup some others.
9058
9059 * w32.c (init_environment): Install code from 20.7 for providing
9060 default values for environment variables, based on the
9061 executable's own location.
52283633 9062 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
9063 (sys_socket): Install socket inheritance bug fix from 20.7.
9064
9065 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
9066 here via blockinput.h).
9067
a027a91b
SM
90682000-07-05 Stefan Monnier <monnier@cs.yale.edu>
9069
e4b31601
SM
9070 * w32menu.c (w32_menu_display_help):
9071 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
9072
9073 * keyboard.h (show_help_echo): Declare.
9074
9075 * keyboard.c (show_help_echo): New function, extracted from read_char.
9076 Feval its `msg' argument if it's a cons cell.
9077 (read_char): Use it.
4cf8d9d5 9078 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 9079
178c5d9c 9080 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 9081 (note_tool_bar_highlight, XTread_socket):
178c5d9c 9082 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
9083 (dos_rawgetc):
9084 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9085 (note_tool_bar_highlight, w32_read_socket):
9086 Do not gratuitously ignore non-string `help-echo' properties.
9087
88d75730
GM
90882000-07-05 Gerd Moellmann <gerd@gnu.org>
9089
969f7e79
GM
9090 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9091
71201b00
GM
9092 * window.c (delete_all_subwindows): Reset Vwindow_list.
9093
88d75730
GM
9094 * xterm.c (x_append_glyph, x_append_composite_glyph)
9095 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9096 changes in struct glyph starting 1999-12-27. Some bit-fields of
9097 struct glyph were not set, which made glyphs unequal when compared
9098 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9099 effects were the result. This also depended on the contents of
9100 memory returned by xmalloc. If flickering happens again, activate
9101 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9102 gone with that, chances are that it is caused by something similar.
88d75730
GM
9103
9104 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9105
88d75730
GM
9106 * dispextern.h: Add some comments.
9107
9108 * window.c (add_window_to_list): Add parameter LIST.
9109 (window_list): Order list so that, for each frame, windows are
9110 in canonical order, and so that frames appear in the list in
9111 the order given by Vframe_list.
9112 (next_window): Reverse the handling of NEXT_P.
9113
53654733
GM
91142000-07-04 Gerd Moellmann <gerd@gnu.org>
9115
87efd256
GM
9116 * window.c (Vwindow_list): New variable.
9117 (make_window, delete_window): Set Vwindow_list to nil.
9118 (check_window_containing): New function.
9119 (window_from_coordinates): Rewritten.
9120 (add_window_to_list, window_list, candidate_window_p)
9121 (decode_next_window_args, next_window): New functions.
52283633 9122 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9123 (Fwindow_list): New function.
9124 (Fother_window): Cleaned up.
9125 (foreach_window): Add a longer "variable argument list". Let
9126 callback function return 0 to indicate that cycling over windows
9127 should stop.
9128 (foreach_window_1): Likewise.
9129 (freeze_window_start): Return int.
9130 (init_window): New function.
9131 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9132
9133 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9134 input_event with bzero.
9135 (main): Call init_window.
9136
53654733
GM
9137 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9138 a menu filter.
9139
4a8c194f
KH
91402000-07-04 Kenichi Handa <handa@etl.go.jp>
9141
9142 * composite.h (make_composition_value_copy): Extern it.
9143
9144 * composite.c (make_composition_value_copy): New function.
9145
9146 * editfns.c (Fformat): While copying text properties, make each
9147 composition property value a copy.
9148
9149 * fns.c (concat): While copying text properties, make each
9150 composition property value a copy.
9151
831a6cb0
GM
91522000-07-03 Gerd Moellmann <gerd@gnu.org>
9153
2f516940
GM
9154 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9155
178c5d9c 9156 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9157 marked already.
9158
831a6cb0
GM
9159 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9160 include those frames as candidates which have their focus
9161 redirected to the minibuffer frame.
9162
d9c4f922
SM
91632000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9164
9165 * fns.c (Fputhash): Return `value' rather than nil.
9166
3780bc22
GM
91672000-06-30 Gerd Moellmann <gerd@gnu.org>
9168
97d176db
GM
9169 * frame.c (next_frame): Don't check focus redirection in case
9170 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9171 unless their focus is redirected, which contradicts the
9172 specification of next-frame, and leads to infinite loops in
9173 certain situations when cycling through windows with next-window.
9174
dca9961d
KH
91752000-06-30 Kenichi Handa <handa@etl.go.jp>
9176
9177 * coding.c (code_convert_region): Even if the length of text is
9178 zero, try to convert it if coding->type is coding_type_ccl.
9179 (decode_coding_string, encode_coding_string): Likewise.
9180
d5483ab1
GM
91812000-06-28 Gerd Moellmann <gerd@gnu.org>
9182
af5c25e1 9183 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9184 the display if windows_or_buffers_changed.
af5c25e1
GM
9185
9186 * dispnew.c (struct row_entry): New structure.
9187 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9188 (row_table_size, old_lines, new_lines, old_lines_size)
9189 (new_lines_size, run_pool, runs_size, runs): New variables.
9190 (add_row_entry): New function.
9191 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9192 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9193 holding them in local variables. Use a larger hash table whose
9194 size depends on glyph matrix sizes. Don't use bzero to clear the
9195 hash table; instead, clear used slots only.
9196
9197 * fns.c (next_almost_prime): Make it externally visible.
9198
9199 * lisp.h (next_almost_prime): Add prototype.
9200
d5483ab1
GM
9201 * s/isc4-0.h (sigunblock): Define.
9202
9203 * s/sco5.h (sigunblock): Define.
9204
93e40f40
DL
92052000-06-27 Dave Love <fx@gnu.org>
9206
9207 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9208 (moved to osf5-0.h).
9209 [!NOT_C_CODE]: Protect string.h stuff.
9210
9211 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9212 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9213
3c4b7685
GM
92142000-06-27 Gerd Moellmann <gerd@gnu.org>
9215
97d176db 9216 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9217 below the last line from the needed window height.
9218
32cad0aa
SM
92192000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9220
9221 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9222 (Fwidget_get): Use it.
9223 (syms_of_fns): Defsubr it.
9224
2c69ced2
GM
92252000-06-26 Gerd Moellmann <gerd@gnu.org>
9226
178c5d9c 9227 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9228 display info for XIM.
9229 (xim_open_dpy): Likewise.
9230 (xim_close_dpy): Don't free the display info's XIM.
9231
9232 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9233
9234 * config.in (USE_XIM): New define.
9235
3fc720e4
GM
9236 * keymap.c (get_keyelt): For menu-items containing a `:filter
9237 FILTER', apply FILTER to the menu-item's definition to get the
9238 real definition to use.
9239
9240 * lisp.h (QCfilter): External declaration.
9241
2c69ced2
GM
9242 * xfns.c (Fimage_size): New function.
9243 (syms_of_xfns): Defsubr it.
9244
f978b2a2
AS
92452000-06-26 Andreas Schwab <schwab@suse.de>
9246
9247 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9248 Fstring_as_unibyte.
9249
94cc7892
DL
92502000-06-25 Dave Love <fx@gnu.org>
9251
52283633 9252 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9253
9254 * Makefile.in (blockinput.h): Depend on atimer.h.
9255 (atimer.h): Depend on systime.h.
9256
52283633 9257 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9258
52283633 9259 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9260
9261 * lisp.h (swap_in_global_binding): Declare.
9262
b8c24556
KR
92632000-06-24 Ken Raeburn <raeburn@gnu.org>
9264
9265 * process.c (Fopen_network_stream): Turn off atimers for duration
9266 of call to connect. (Patch from Gerd.)
9267
8cf8560b
DL
92682000-06-23 Dave Love <fx@gnu.org>
9269
511c7541
DL
9270 * ralloc.c: Maybe include unistd.h
9271
8cf8560b
DL
9272 * emacs.c (setgrp): Undefine before defining.
9273 (malloc_warning, set_time_zone_rule, index): Prototype.
9274
9275 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9276 HAVE_STRUCT_TIMEZONE.
9277
9278 * s/osf1.h: Move string.h hack here from alpha.h and make it
9279 conditional.
9280 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9281 _XOPEN_SOURCE.
9282 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9283 (SOCKLEN_TYPE): Don't define.
9284
9285 * m/alpha.h: Remove string.h hack.
9286
9287 * s/osf5-0.h: New file.
9288
9289 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9290 include time.h, done by systime.h.
9291 [__FreeBSD__]: Remove redundant includes.
9292
3fc720e4 9293 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9294 (delete_temp_file): Return Qnil to avoid warning.
9295
9296 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9297
9298 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9299 HAVE_X_WINDOWS.
9300
9301 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9302
9303 * composite.h (compose_text): Declare.
9304
9305 * xterm.c: Don't include sys/types.h unconditionally. Don't
9306 protect its inclusion with !USG (following xmenu.c).
9307
ea055732
GM
93082000-06-23 Gerd Moellmann <gerd@gnu.org>
9309
9310 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9311 in x_create_frame.
9312
74b01b80
EZ
93132000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9314
9315 * coding.c (decode_eol_post_ccl): Special handling for undecided
9316 and inconsistent EOL types.
9317
64f3a166
GM
93182000-06-22 Gerd Moellmann <gerd@gnu.org>
9319
16cf31f7
GM
9320 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9321 trough color and main window's background color.
9322
52283633 9323 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9324
9325 * xterm.h (Xt_app_con): External declaration.
9326
9327 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9328
486a103d
GM
9329 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9330
64f3a166
GM
9331 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9332 (handle_invisible_prop): Record the start of invisible text in
9333 it->add_overlay_start.
9334 (struct overlay_entry): Add member `overlay'.
9335 (handle_overlay_change): Simplify.
9336 (next_overlay_string): After having processed overlay strings at the
9337 end of the buffer, record that fact in
9338 it->overlay_strings_at_end_processed_p.
9339 (compare_overlay_entries): If before- and after-strings come
9340 from the same overlay, let before-strings come first.
9341 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9342 (load_overlay_strings): Take it->add_overlay_start into account
9343 when adding overlay strings.
9344
9345 * dispextern.h (struct it): Add member add_overlay_start.
9346
bb746ea6
DL
93472000-06-22 Dave Love <fx@gnu.org>
9348
9349 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9350
9351 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9352
a8f573f3
KH
93532000-06-22 Kenichi Handa <handa@etl.go.jp>
9354
9355 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9356 is greater than 0.
9357
9f2bbc92
DL
93582000-06-21 Dave Love <fx@gnu.org>
9359
178c5d9c 9360 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9361
3ee5041c
SM
93622000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9363
9364 * syntax.c (back_comment): Simplify string-parity counting (with
9365 the added benefit of handling multiple string-styles as long as
9366 they are not intertwined).
9367 Jump to the slow code as soon as a comment starter is found in
9368 a "string_lossage" position. Fixes the case: " /* " /* " */.
9369
4c343001
DL
93702000-06-21 Dave Love <fx@gnu.org>
9371
9372 * Makefile.in: Use GETLOADAVG_LIBS.
9373
9374 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9375 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9376
e6365855
SM
93772000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9378
9379 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9380 (Fforward_comment, scan_lists):
9381 Check the comstyle of single-char comment-starters.
9382 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9383 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9384 Check the comstyle of single-char comment-starters.
9385 Clarify control-flow around the Scomment case.
e6365855 9386
5700d2cc
DL
93872000-06-20 Dave Love <fx@gnu.org>
9388
d355bd8a
SM
9389 * fns.c (make_hash_table, maybe_resize_hash_table):
9390 Cast arg of next_almost_prime.
5700d2cc 9391
178c5d9c 9392 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9393
9394 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9395 and unistd.h.
9396
4a27bdfb
GM
93972000-06-20 Gerd Moellmann <gerd@gnu.org>
9398
a61d762c 9399 * keyboard.c (adjust_point_for_property): Check if display
52283633 9400 property should be treated as intangible by looking at its value.
a61d762c 9401
178c5d9c 9402 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9403 (display_prop_intangible_p): New functions.
9404
9405 * dispextern.h (display_prop_intangible_p): Add prototype.
9406
9407 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9408
4a27bdfb
GM
9409 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9410 argument to sigprocmask.
9411
9412 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9413 argument to sigprocmask.
9414
9415 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9416 sigprocmask_set, and pass a pointer to it to sigprocmask.
9417
9418 * sysdep.c (sigprocmask_set): New variable.
9419
9420 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9421 report_file_error.
9422
427ec082
SS
94232000-06-20 Sam Steingold <sds@gnu.org>
9424
9425 * xrdb.c: Don't declare xmalloc, xrealloc.
9426
8972fe79 94272000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9428
9429 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9430 (re_comp): Cast gettext return value to avoid complaints when
9431 !HAVE_LIBINTL.
9432
074b6efe
DL
94332000-06-20 Dave Love <fx@gnu.org>
9434
52283633 9435 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9436
5700d2cc 9437 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9438
d355bd8a 9439 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9440
9441 * m/alpha.h: Don't declare xmalloc, xrealloc.
9442
0af4f205
DL
9443 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9444
9445 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9446
9447 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9448
9449 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9450 HAVE_GETWD.
9451
074b6efe
DL
9452 * keyboard.h (poll_for_input_1): Declare.
9453
9454 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9455
9456 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9457
9458 * doprnt.c: Don't declare xmalloc, xrealloc.
9459
9460 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9461 (getenv, ctime, getwd): Removed.
9462 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9463
9464 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9465 x_set_tool_bar_lines.
9466
9467 * config.in: Add HAVE_GETWD. Move some definitions above
9468 machine/system includes.
9469
68a5e97b
KH
94702000-06-20 Kenichi Handa <handa@etl.go.jp>
9471
95417e1e
KH
9472 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9473
68a5e97b
KH
9474 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9475 contain information about ENCODING.
9476
9477 * fontset.c (FONTSET_ASCII): Use the first element of char table
9478 for an ASCII font, not defalt slot.
9479 (fontset_ref_via_base): If FONTSET doesn't contain information for
9480 C, try the default fontset.
9481 (make_fontset): Don't copy the default fontset.
9482 (fontset_font_pattern): Likewise.
9483 (accumulate_font_info): If ELT is nil, use the corresponding
9484 element in the default fontset.
9485
3b4fa1b2
DL
94862000-06-19 Dave Love <fx@gnu.org>
9487
943e731c
DL
9488 * syntax.c (Fparse_partial_sexp): Doc fix.
9489
9490 * regex.h: Test PROTOTYPES as well as __STDC__.
9491
3b4fa1b2
DL
9492 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9493 errno, strerror. Put text after #endif in comment.
9494
52283633 9495 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9496
9497 * xterm.c (x_frame_of_widget): Likewise.
9498
cdf0357b
GM
94992000-06-19 Gerd Moellmann <gerd@gnu.org>
9500
9501 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9502 to Vfundamental_mode_abbrev_table.
9503
9504 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9505 bogus objects are marked. This slows down GC by ~80 percent, but
9506 it might be worth trying when debugging GC-related problems.
9507 This feature requires conservative stack marking to be enabled.
9508
9509 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9510 returns XLookupChars, reset `modifiers' to zero.
9511
998e9f8c
DL
95122000-06-19 Dave Love <fx@gnu.org>
9513
9514 * mktime.c: Unprotoized.
9515
18e21ce8 95162000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9517
9518 * data.c (set_internal): If variable is frame-local,
9519 store the new value immediately into the frame parameter alist.
9520
140c4ac6
KR
95212000-06-19 Ken Raeburn <raeburn@gnu.org>
9522
14358466
KR
9523 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9524 in the custom handler pointer.
9525
140c4ac6
KR
9526 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9527 value, or checks for CHAR_META can fail when Lisp_Object is a
9528 union type.
9529 * keymap.c (get_keyelt): Likewise.
9530
10d7bf84
KH
95312000-06-19 Kenichi Handa <handa@etl.go.jp>
9532
9533 * ccl.h (struct ccl_program): New member eol_type.
9534 (struct ccl_spec): New member cr_carryover.
9535
9536 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9537 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9538
9539 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9540 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9541 (decode_eol_post_ccl): New function.
9542 (decode_coding): Don't detect EOL format here for CCL based coding
9543 systems.
9544 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9545 decode_eol_post_ccl after running the CCL program.
9546 (code_convert_region): Don't detect EOL format here for CCL based
9547 coding systems.
9548 (decode_coding_string): Likewise.
9549
52e386c2
KR
95502000-06-18 Ken Raeburn <raeburn@gnu.org>
9551
9552 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9553 when treating it as an integer.
9554
9555 * coding.h (encode_coding_string): Declare.
9556
9557 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9558 it as an integer.
9559
9560 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9561 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9562 to be passed to get_local_map.
9563
9564 * sound.c (Fplay_sound): Don't call make_number on
9565 Frun_hook_with_args count argument.
9566
9567 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9568 for lisp objects in X event structure data field, when lisp
9569 objects are represented with unions.
9570 (x_scroll_bar_to_input_event): Ditto.
9571
b357b9d4
KR
95722000-06-16 Ken Raeburn <raeburn@gnu.org>
9573
9574 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9575 termination of string. Fix sense of test whether
9576 Vline_number_display_limit is an integer.
b357b9d4 9577
a871441d
GM
95782000-06-16 Gerd Moellmann <gerd@gnu.org>
9579
a9021acd
GM
9580 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9581 only if HAVE_X_WINDOWS.
9582
6344985d
GM
9583 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9584 of titles.
9585
427ec082 9586 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9587 out of bounds.
9588
228b083e
EZ
95892000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9590
9591 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9592 of its headers.
9593
c25b53a2
KH
95942000-06-15 Kenichi Handa <handa@etl.go.jp>
9595
9596 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9597 start of the while loop.
9598
a6981b11
GM
95992000-06-15 Gerd Moellmann <gerd@gnu.org>
9600
e9924e52
GM
9601 * atimer.c (alarm_signal_handler): Add forward declaration.
9602
a6981b11
GM
9603 * data.c (set_internal): Remove debug code.
9604
25fa6deb
GM
96052000-06-14 Gerd Moellmann <gerd@gnu.org>
9606
dce6b995
GM
9607 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9608
9f817ea4
GM
9609 * unexec.c (toplevel) [COFF]: Include coff.h.
9610
9611 * s/lynxos.h: New file.
9612
9613 * keymap.c (Fsingle_key_description): Enclose function key and
9614 event symbol names in angle brackets.
9615
8a4e3c0c
GM
9616 * xdisp.c (setup_echo_area_for_printing): Call
9617 message_log_maybe_newline if message_buf_print is not set.
9618
9619 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9620 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9621 function does something useful even when message_buf_print is
9622 already set.
9623
52283633
SM
9624 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9625 New variables.
25fa6deb
GM
9626 (ensure_echo_area_buffers): Initialize echo buffer's
9627 truncate lines setting to nil.
9628 (with_echo_area_buffer): Don't set the echo buffer's truncate
9629 lines setting here.
8a4e3c0c 9630 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9631 of message_truncate_lines.
9632 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9633 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9634 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9635
9636 * keyboard.c (read_char): Bind message-truncate-lines to t
9637 while displaying a help-echo.
9638
9639 * lisp.h (Qmessage_truncate_lines): External declaration.
9640
163dcff3
GM
96412000-06-13 Gerd Moellmann <gerd@gnu.org>
9642
1681ead6
GM
9643 * xdisp.c (Vline_number_display_limit): Renamed from
9644 line_number_display_limit.
9645 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9646 Extend documentation string. Initialize
9647 Vline_number_display_limit to nil meaning no limit.
9648 (decode_mode_spec): Use Vline_number_display_limit with its new
9649 meaning.
9650
163dcff3
GM
9651 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9652
18e21ce8 96532000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9654
9655 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9656
163dcff3
GM
9657 * xfns.c (x_set_frame_parameters): Comment fix.
9658
9659 * frame.c (store_frame_param): Call swap_in_global_binding if the
9660 variable's current binding was chosen based on this frame.
9661
9662 * data.c (swap_in_global_binding): New function.
9663
a704139d
EZ
96642000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9665
9666 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9667 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9668
9b6610db
EZ
96692000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9670
9671 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9672
c68833d2
JR
96732000-06-12 Jason Rumney <jasonr@gnu.org>
9674
9675 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9676
9677 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9678
9679 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9680
9681 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9682
ed1056b3
GM
96832000-06-12 Gerd Moellmann <gerd@gnu.org>
9684
9685 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9686 (syms_of_xfaces): Defsubr Sdump_colors.
9687 (x_free_colors): Don't treat b&w specially on default visual.
9688 (x_free_dpy_colors): New function.
9689 (free_face_colors): Don't check visual class; it's done
9690 in x_free_colors.
9691
9692 * xterm.c (x_frame_of_widget): New function.
9693 (x_alloc_nearest_color_for_widget): Use it.
9694 (x_copy_dpy_color): New function.
9695 (x_destroy_window): Free various colors.
9696
5050a2ef
KH
96972000-06-12 Kenichi Handa <handa@etl.go.jp>
9698
9699 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9700
9701 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9702
9703 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9704
9705 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9706
9707 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9708
fb1b041d
DL
97092000-06-11 Dave Love <fx@gnu.org>
9710
9711 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9712
ff96b5f4
EZ
97132000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9714
9715 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9716
db8eeecd
GM
97172000-06-11 Gerd Moellmann <gerd@gnu.org>
9718
ed1056b3 9719 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9720 to `XEvent *'.
9721
49b71c5f
KH
97222000-06-10 Kenichi Handa <handa@etl.go.jp>
9723
c479bd55
KH
9724 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9725 (regex_compile): Fix the code for handling the case of single byte
9726 char and multibyte char being mixed in a range within [...].
9727
ff6a65c2
KH
9728 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9729 and dst_multibyte members of coding.
9730
49b71c5f
KH
9731 * charset.c (update_charset_table): Update the table
9732 bytes_by_char_head.
9733 (init_charset_once): Initialize elements of bytes_by_char_head to
9734 1 except for leading codes for private charases.
9735
9736 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9737 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9738
9e80b57d
KR
97392000-06-09 Ken Raeburn <raeburn@gnu.org>
9740
9741 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9742 access the data it doesn't point to.
9743
f83fe4b4
GM
97442000-06-08 Gerd Moellmann <gerd@gnu.org>
9745
9746 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9747 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9748 event queue. This is necessary because Emacs otherwise won't
9749 perform a switch-frame to a new frame until some other event, for
9750 example a keystroke event, forces it to do so. This has various
9751 effects, one visible being that the cursor of a frame created with
9752 C-x 5 2 or switched to with a window manager key binding like
9753 A-TAB stays hollow because selected_window isn't on the newly
9754 focused frame until the switch-frame is performed.
9755
9756 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9757 generating a switch-frame event if necessary.
9758
9759 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9760
9761 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9762 it's an integer.
9763
0890801b
KH
97642000-06-08 Kenichi Handa <handa@etl.go.jp>
9765
52283633 9766 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9767
173cbca8
GM
97682000-06-07 Gerd Moellmann <gerd@gnu.org>
9769
3091c2a6
GM
9770 * window.c (displayed_window_lines): Take empty lines at
9771 the bottom of a window into account.
427ec082 9772
f38952fe
GM
9773 * window.c (displayed_window_lines): New function.
9774 (Fmove_to_window_line): Use displayed_window_lines to determine
9775 the number of lines to move, instead of using the window's height.
9776
9777 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9778 to stop reading, even if the form read sets point to a different
9779 value when evaluated.
9780
427ec082 9781 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9782 put the cursor.
9783
6ba6c818
KH
97842000-06-07 Kenichi Handa <handa@etl.go.jp>
9785
9786 * fileio.c (e_write): Free composition data if stored in
9787 coding->cmp_data.
9788
5f1aea9a
GM
97892000-06-06 Gerd Moellmann <gerd@gnu.org>
9790
666852af
GM
9791 * xdisp.c (display_line): Set row's and iterator's
9792 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9793 Set cursor even if row ends in the middle of a character.
9794 (dump_glyph_row): Print values of new flags.
9795 (redisplay_window) <cursor movement in unchanged window>: When
9796 point has been moved forward, and PT is at the end of the cursor
9797 row, don't place the cursor in the next row if the cursor row ends
9798 in the middle of a character or at ZV.
9799
9800 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9801 (struct glyph_row): Add starts_in_middle_of_char_p and
9802 ends_in_middle_of_char_p.
9803 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9804 ends_in_middle_of_char_p flag.
9805 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9806
d13f3e2e
GM
9807 * term.c (append_glyph): Revert change of 2000-06-06.
9808
9809 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9810 padding glyph not fitting on line as whole character not
9811 fitting on line.
9812
5f1aea9a
GM
9813 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9814 this isn't true for images with `:ascent 100'.
9815
10cda9b0
KH
98162000-06-06 Kenichi Handa <handa@etl.go.jp>
9817
ed00559d
KH
9818 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9819 as modified if it is originally unmodified.
9820
10cda9b0
KH
9821 * term.c (encode_terminal_code): Change the way to check if
9822 terminal coding does any conversion.
9823 (append_glyph): Set glyph->pixel_width correctly.
9824
9825 * xdisp.c (display_line): While checking line continuation, pay
9826 attention to a padding glyph.
9827
1969fae2
GM
98282000-06-05 Gerd Moellmann <gerd@gnu.org>
9829
9830 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9831
162ccef4
DL
98322000-06-05 Dave Love <fx@gnu.org>
9833
f19f32dd
DL
9834 * xdisp.c: Include fontset.h.
9835
9836 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9837
9838 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9839
9840 * dispnew.c: Conditionally include term.h.
9841
9842 * coding.h: Declare code_convert_string_norecord.
9843
9844 * frame.h (struct frame): Use volatile unconditionally.
9845
9846 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9847
9848 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9849
9850 * systime.h: Protect against multiple inclusion.
9851 (timezone) [USG5_4]: Define as time_t.
9852
9853 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9854 (Foptimize_char_table, make_temp_name): Declare.
9855
9856 * Makefile.in (xdisp.o): Depend on fontset.h.
9857
9858 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9859
9860 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9861 (Foptimize_char_table, make_temp_name): Declare.
9862
427ec082 9863 * s/irix4-0.h:
162ccef4
DL
9864 * s/irix5-0.h:
9865 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9866
2082fe81
DL
98672000-06-02 Dave Love <fx@gnu.org>
9868
9869 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9870
dcf671d2
GM
98712000-06-02 Gerd Moellmann <gerd@gnu.org>
9872
9873 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9874 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9875 be freed.
9876
9877 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9878 glyph, use the ASCII NUL character to determine the face.
9879
d42122a3
DL
98802000-06-02 Dave Love <fx@gnu.org>
9881
9882 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9883 (VFORK_RETURN_TYPE): Remove.
427ec082 9884
d42122a3
DL
9885 * config.in: Add NO_MATHERR.
9886
dd432f16
DL
98872000-06-01 Dave Love <fx@gnu.org>
9888
90aa4ea8
DL
9889 * cmds.c (internal_self_insert): Don't check
9890 Vbefore_change_function, Vafter_change_function.
9891
9892 * insdel.c (signal_before_change, signal_after_change): Likewise.
9893
9894 * buffer.c (Vbefore_change_function, Vafter_change_function):
9895 Variables and their initializations deleted.
9896
2330c9d4
DL
9897 * callint.c (Fcall_interactively): Doc fix.
9898
dd432f16
DL
9899 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9900
bf9e8804
DL
99012000-05-31 Dave Love <fx@gnu.org>
9902
9903 * textprop.c: Revert last change -- duplicated.
9904
3694b4ab
GM
99052000-05-31 Gerd Moellmann <gerd@gnu.org>
9906
9907 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9908 in #if 0.
9909
9910 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9911
f14156cd
JR
99122000-05-31 Jason Rumney <jasonr@gnu.org>
9913
8119aab8
JR
9914 * search.c (Fre_search_forward, Fre_search_backward)
9915 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9916
f14156cd
JR
9917 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9918
4aab9be3
JR
99192000-05-30 Jason Rumney <jasonr@gnu.org>
9920
9921 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9922 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9923
52283633 9924 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9925
9926 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9927 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9928 expand a nil default_filename.
9929
9930 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9931 pointer to glyph_to_pixel_coords, not a frame.
9932
9933 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9934 coding.h to dependencies.
9935
9936 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9937
9938 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9939 window pointer to be consistent with w32term.c and xterm.c.
9940
9941 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9942 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9943 (Qline_spacing, Qcenter): New variables.
9944 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9945 (x_set_line_spacing): New function.
52283633 9946 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9947 (x_specified_cursor_type): New function.
9948 (x_set_cursor_type): Use it.
9949 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9950 and icon strings.
9951 (validate_x_resource_name, x_get_resource_string): Measure lengths
9952 of external strings in bytes.
9953 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9954 GetTextExtentPoint32 with NULL title.
9955 (Fx_create_frame): Initialize Qline_spacing.
9956 (w32_load_system_font): Initialize font->double_byte_p.
9957 (x_to_w32_charset): Use Vw32_charset_info_alist.
9958 (Image, busy cursor, tooltip functions): Merged changes from
9959 xfns.c. Not yet functional on Windows.
9960
9961 * w32gui.h (W32FontStruct): Add double_byte_p member.
9962
9963 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9964 (emacs_button_translation): Use it.
9965 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9966 in `mask' to be set.
9967
9968 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9969 menu strings.
9970
9971 * w32term.c: Format and doc changes to bring closer to xterm.c.
9972 (w32_char_font_type): New enum.
9973 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9974 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9975 (w32_encode_char): New function.
9976 (x_encode_char): Removed.
9977 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9978 x_encode_char and w32_font_is_double_byte.
9979 (x_produce_image_glyph): Use image_ascent.
9980 (x_produce_glyphs): Use new version of w32_per_char_metric and
9981 handle NULL return value. Allow extra line spacing.
9982 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9983 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9984 w32_font_type member of glyph instead.
9985 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9986 (fast_find_position): Make sure not to consider rows not visible
9987 in the window.
9988 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9989 w32_menu_display_help with input blocked, as it can abort.
9990 (x_display_and_set_cursor): Choose cursor depending
9991 on buffer-local value of cursor_type.
9992 (x_draw_bar_cursor): Add parameter WIDTH.
9993
9994 * w32term.h (CP_DEFAULT): Define.
9995 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9996
10fc3187
GM
99972000-05-30 Gerd Moellmann <gerd@gnu.org>
9998
9999 * search.c (Fre_search_forward, Fre_search_backward)
10000 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10001
d0555360
KH
100022000-05-30 Kenichi Handa <handa@etl.go.jp>
10003
10004 * coding.c (detect_coding_iso2022): Fix code for checking
10005 CODING_CATEGORY_MASK_ISO_8_2.
10006
f1ad044f
SM
100072000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10008
10009 * regex.c (PREFETCH_NOLIMIT): New function.
10010 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10011
84ec3b4b
GM
100122000-05-29 Gerd Moellmann <gerd@gnu.org>
10013
66254a13
GM
10014 * syntax.c (find_defun_start): Move test for
10015 open_paren_in_column_0_is_defun_start outside of the loop.
10016
49e70dec
GM
10017 * xdisp.c (redisplay_window): Really switch buffers when
10018 displaying mode lines, and temporarily set selected_frame to the
10019 frame of the window that's redisplayed.
10020
84ec3b4b
GM
10021 * xfaces.c (free_realized_faces): Block/unblock input.
10022 (free_realized_multibyte_face): Ditto.
10023
869a3a14
DL
100242000-05-29 Dave Love <fx@gnu.org>
10025
10026 * textprop.c (Qkeymap): New variable.
10027 (syms_of_textprop): Intern it.
10028
10029 * keymap.c: Include intervals.h.
10030 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10031
10032 * Makefile.in (keymap.o): Depend on intervals.h.
10033
10034 * keyboard.c (menu_bar_items, tool_bar_items)
10035 (Fexecute_extended_command): Deal with `keymap' property.
10036 (read_key_sequence): Track map from `keymap' property as well as
10037 `local_map'.
10038
10039 * intervals.c (get_local_map): Extra arg to allow looking for
10040 `keymap' too.
10041
10042 * intervals.h (map_property): New enum.
10043 (get_local_map): Extra arg using it.
10044 (Qkeymap): Declare.
10045
84ec3b4b 10046 * lisp.h (get_local_map): Don't declare here.
869a3a14 10047
89d0c844
KH
100482000-05-29 Kenichi Handa <handa@etl.go.jp>
10049
10050 * Makefile.in (callproc.o): Depend on composite.h.
10051
10052 * callproc.c: Include composite.h.
10053 (Fcall_process): Handle composition correctly.
10054
10055 * coding.h (coding_allocate_composition_data): Extern it.
10056 (coding_restore_composition): Likewise.
10057
10058 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
10059 yet allocated, finish decoding with result
10060 CODING_FINISH_INSUFFICIENT_CMP.
10061 (coding_allocate_composition_data): Make it non-static.
10062 (coding_restore_composition): Likewise.
10063
797a084a
EZ
100642000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
10065
10066 * charset.c (syms_of_charset): Revert last change.
10067
cf872af5
EZ
100682000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10069
10070 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
10071 charsets as unibyte, with 1-column screen width. Sent by Kenichi
10072 Handa.
cf872af5 10073
5b1ae051
EZ
100742000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
10075
10076 * charset.c (syms_of_charset): Set width of character sets
10077 eight-bit-control and eight-bit-graphic to 1 column.
10078
34ec9ebe
GM
100792000-05-26 Gerd Moellmann <gerd@gnu.org>
10080
10081 * config.in (HAVE_SPEED_T): New define.
10082
10083 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10084 `extern speed_t'.
10085
dd854dc2
DL
100862000-05-26 Dave Love <fx@gnu.org>
10087
10088 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10089
10090 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10091 (Fsubr_arity): New function.
10092 (syms_of_data): Install them.
10093
ba9f8f95
KH
100942000-05-26 Kenichi Handa <handa@etl.go.jp>
10095
0f3e0672
KH
10096 * charset.c (init_charset_once): Set the table bytes_by_char_head
10097 correctly.
10098
cebefb44
KH
10099 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10100 the default fontset to what Emacs uses by default.
0f3e0672
KH
10101 (check_registry_encoding): This function deleted.
10102 (Fset_fontset_font): Remove the adhoc condition for the default
10103 fontset. Allow cons in FONTNAME.
cebefb44 10104
0f3e0672
KH
10105 * fns.c (map_char_table): Ignore char-table entries for
10106 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10107
7a18af49
KR
101082000-05-25 Ken Raeburn <raeburn@gnu.org>
10109
10110 * emacs.c (main): Initialize keyboard syms before initializing
10111 window code, so face names are available.
10112
d2af47df
SM
101132000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10114
10115 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10116 of an anchor at the beginning of a shy-group.
10117
fc6a6a4e
GM
101182000-05-25 Gerd Moellmann <gerd@gnu.org>
10119
10120 * xdisp.c (handle_invisible_prop): Don't try to skip over
10121 invisible text if end of text is already reached.
10122
005f0d35
DL
101232000-05-25 Dave Love <fx@gnu.org>
10124
02513cdd
DL
10125 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10126
005f0d35
DL
10127 * coding.c (encode_eol): Add null statement after label.
10128
89f6ca4e
EZ
101292000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10130
10131 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10132 2000-05-20.
10133
a4e1759e
KH
101342000-05-25 Kenichi Handa <handa@etl.go.jp>
10135
10136 * ccl.c (ccl_driver): Fix previous change.
10137
eacfd7fe
KH
101382000-05-25 Kenichi Handa <handa@etl.go.jp>
10139
46ab33a9
KH
10140 * coding.c (run_pre_post_conversion_on_str): Set point to the
10141 beginning of buffer before calling coding->post_read_conversion.
10142 (decode_coding_string): Give correct args to
10143 run_pre_post_conversion_on_str.
10144 (encode_coding_string): Likewise.
10145
eacfd7fe
KH
10146 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10147 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10148 eight-bit-graphic correctly.
10149
f8569325
DL
101502000-05-24 Kenichi HANDA <handa@etl.go.jp>
10151
10152 * fileio.c (Finsert_file_contents): Even if a file is not found,
10153 execute codes for setting up coding system. Call
10154 after-insert-file-functions unconditionally.
10155
04545643
GM
101562000-05-24 Gerd Moellmann <gerd@gnu.org>
10157
10158 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10159 BSD_PGRPS are not defined.
10160
747d90ea
KH
101612000-05-24 Kenichi Handa <handa@etl.go.jp>
10162
10163 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10164 DESCRIPTION.
10165 (syms_of_charset): Avoid building same strings.
10166
716e3b88
GM
101672000-05-23 Gerd Moellmann <gerd@gnu.org>
10168
10169 * lread.c (Fload): Add a comment about the meaning of
10170 Vuser_init_file being t.
10171
10172 * puresize.h (BASE_PURESIZE): Increase to 675000.
10173
10174 * s/gnu-linux.h (setpgrp): Don't define it here because this
10175 prevents compilation on GNU/Linux systems with glib 2.2.
10176
10177 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10178 as setpgid.
427ec082 10179
9aeb39fa
EZ
101802000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10181
10182 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10183 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10184 version.
10185 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10186
29ced61b
KH
101872000-05-23 Kenichi Handa <handa@etl.go.jp>
10188
52283633 10189 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10190
3d80f24d
KH
10191 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10192
52283633 10193 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10194
29ced61b
KH
10195 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10196
d7e00792
KH
101972000-05-22 Kenichi Handa <handa@etl.go.jp>
10198
c9d80d38
KH
10199 * keyboard.c (read_char): Allow character codes 128..255 to be
10200 handled by input-method-function.
10201
d7e00792
KH
10202 * insdel.c (adjust_markers_for_replace): Fix previous change.
10203 (adjust_after_replace): If PREV_TEXT is nil, call
10204 adjust_markers_for_insert, not adjust_markers_for_replace.
10205
087121cc 102062000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10207
087121cc
GM
10208 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10209 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10210 [HAVE_GRANDPT]: Define.
10211 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10212
10213 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10214 like SYSV_PTYS.
10215
10216 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10217
10218 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10219
c9671f81
KH
102202000-05-20 Kenichi Handa <handa@etl.go.jp>
10221
10222 The following changes are to handle 8-bit characters in a
10223 multibyte buffer/string without facing with byte combining
10224 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10225 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10226
10227 * Makefile.in (fns.o): Depend on charset.h.
10228
10229 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10230 convert it to unibyte.
10231 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10232
10233 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10234 apparent char boundary.
10235 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10236 0x80..0x9F to/from multibyte form.
10237
10238 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10239 to unibyte.
10240
10241 * callproc.c (Fcall_process): Always encode an argument string if
10242 it is multibyte. Setup src_multibyte and dst_multibyte members of
10243 process_coding properly.
ce75fd23 10244
c9671f81
KH
10245 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10246 SPLIT_NON_ASCII_CHAR.
10247
10248 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10249 as is.
10250 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10251
52283633 10252 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10253 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10254 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10255 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10256 and eight-bit-graphic.
10257 (char_to_string): Likewise. Signal an error for too large
10258 character code.
10259 (char_printable_p): Return 0 for 8-bit characters.
10260 (update_charset_table): Update iso_charset_table only when a final
10261 character is non-negative.
10262 (find_charset_in_text): Renamed from find_charset_in_str.
10263 Arguments and return value changed. Callers changed.
10264 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10265 be -1 if CHARSET is used only internally.
10266 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10267 eight-bit-graphic.
10268 (Fcharset_after): Simplified.
10269 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10270 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10271 (multibyte_chars_in_text): Simplified by assuming there's no
10272 invalid multibyte sequence.
52283633
SM
10273 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10274 (str_as_unibyte): New functions.
10275 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10276 (init_charset_once): Initialization for
10277 LEADING_CODE_8_BIT_CONTROL.
10278 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10279 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10280 eight-bit-control and eight-bit-graphic.
10281
52283633
SM
10282 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10283 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10284 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10285 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10286 (CHARSET_REVERSE_CHARSET): Likewise.
10287 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10288 eight-bit-graphic.
10289 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10290 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10291 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10292 encounter an invalid multibyte sequence.
10293 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10294 sequence is always valid.
10295 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10296 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10297 (CHAR_STRING): For 8-bit characters, call char_to_string.
10298 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10299 multibyte sequence is always valid.
10300 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10301 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10302 (str_as_unibyte): Extern them.
c9671f81 10303 (BCOPY_SHORT): Fix a bug.
52283633 10304 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10305 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10306 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10307 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10308
bd4bde7f 10309 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10310 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10311 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10312 (EMIT_BYTES): New macros.
10313 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10314 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10315 macros deleted.
10316 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10317 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10318 check the validity of multibyte sequence.
10319 (decode_coding_emacs_mule): New function.
10320 (encode_coding_emacs_mule): New macro.
10321 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10322 the source.
10323 (DECODE_ISO_CHARACTER): Just return a character code.
10324 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10325 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10326 EMIT_CHAR to produced decoded characters. Exit the loop only by
10327 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10328 block here.
10329 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10330 only position codes for an invalid character.
10331 (encode_designation_at_bol): Return new destination pointer. 5th
10332 arg DSTP is changed to DST.
10333 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10334 from the source by ONE_MORE_CHAR. Don't handle the case of last
10335 block here.
10336 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10337 macros deleted.
52283633
SM
10338 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10339 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10340 TWO_MORE_BYTES to fetch a byte from the source.
10341 (encode_eol): Pay attention to coding->src_multibyte.
10342 (detect_coding, detect_eol): Preserve members src_multibyte and
10343 dst_multibyte.
10344 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10345 (encoding_buffer_size): Set magnification to 3 for all coding
10346 systems that require encoding.
10347 (ccl_coding_driver): For decoding, be sure that the result is
10348 valid multibyte sequence.
10349 (decode_coding): Initialize coding->errors and coding->result.
10350 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10351 and raw-text, always call decode_eol. Handle the case of last
10352 block here. If not coding->dst_multibyte, convert the resulting
10353 sequence to unibyte.
10354 (encode_coding): Initialize coding->errors and coding->result.
10355 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10356 and raw-text, always call encode_eol. Handle the case of last
10357 block here.
10358 (shrink_decoding_region, shrink_encoding_region): Detect cases
10359 that we can't skip data more rigidly.
10360 (code_convert_region): Setup src_multibyte and dst_multibyte
10361 members of coding. For decoding, if the buffer is multibyte,
10362 convert the source sequence to unibyte in advance. For encoding,
10363 if the buffer is multibyte, convert the resulting sequence to
10364 multibyte afterward.
10365 (run_pre_post_conversion_on_str): New function.
10366 (code_convert_string): Deleted and divided into the following two.
10367 (decode_coding_string, encode_coding_string): New functions.
10368 (code_convert_string1, code_convert_string_norecord): Call one of
10369 above.
10370 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10371 MAKE_NON_ASCII_CHAR.
52283633
SM
10372 (Fset_terminal_coding_system_internal)
10373 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10374 and dst_multibyte members.
10375 (init_coding_once): Initialize iso_code_class with new enum
10376 ISO_control_0 and ISO_control_1.
10377
10378 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10379 devided into ISO_control_0 and ISO_control_1.
10380 (struct coding_system): New members src_multibyte, dst_multibyte,
10381 errors, and result. Delete member fake_multibyte.
10382 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10383 nonzero.
10384 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10385 nonzero.
10386
10387 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10388 (Faset): Likewise.
10389
10390 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10391 multibyte form.
10392 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10393 combining occurs.
10394 (Ftranspose_region): Delete codes for handling byte combining.
10395
10396 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10397 dst_multibyte members of coding. On handling REPLACE on unibyte
10398 buffer, convert the result of decode_coding to unibyte. On
10399 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10400 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10401 multibyteness of the source (buffer or string).
10402
10403 * fns.c (concat): Handle 8-bit characters correctly.
10404 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10405 unibyte in the result.
10406 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10407 valid multibyte form in the result.
10408 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10409 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10410 return -1, signal an error.
10411 (base64_encode_1): New arg MULTIBYTE. Get each character by
10412 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10413 character is found, return -1.
10414 (Fbase64_decode_region): Delete codes for handling byte-combining.
10415 Treat each decoded byte as a unibyte character.
10416 (Fbase64_decode_string): Return unibyte string.
10417 (Fcompare_strings, concat, string_byte_to_char): Use
10418 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10419 FETCH_STRING_CHAR_ADVANCE.
10420 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10421 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10422
10423 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10424 SPLIT_NON_ASCII_CHAR.
10425 (fontset_ref_via_base, fontset_set): Likewise
10426
10427 * insdel.c (adjust_markers_for_record_delete): Deleted.
10428 (adjust_markers_for_insert): Argument changed. Caller changed.
10429 (adjust_markers_for_replace): Likewise.
52283633
SM
10430 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10431 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10432 (copy_text): Delete unused local varialbe c_save. For converting
10433 to multibyte, be sure to make all 8-bit characters in valid
10434 multibyte form.
10435 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10436 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10437 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10438 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10439 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10440 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10441 handling byte combining.
10442 (adjust_before_replace): Deleted.
427ec082 10443
c9671f81
KH
10444 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10445 SPLIT_NON_ASCII_CHAR.
10446 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10447 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10448 (Fkey_description): Likewise.
10449
10450 * lread.c (read1): On reading multibyte string, be sure to make
10451 all 8-bit chararacters in valid multibyte form.
10452 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10453
10454 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10455 unconditionally.
10456
10457 * process.c (Fstart_process): GCPRO current_dir before calling
10458 Ffind_operation_coding_system. Encode arguments here.
10459 (create_process): Don't encode arguments here. Setup
10460 src_multibyte and dst_multibyte members of struct coding.
10461 (read_process_output): Setup src_multibyte and dst_multibyte
10462 members of struct coding. If the output is to multibyte buffer,
10463 always decode the output of the process. Adjust the
52283633 10464 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10465 (send_process): Setup coding->src_multibyte according to the
10466 multibyteness of the source.
10467
52283633 10468 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10469 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10470 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10471
52283633 10472 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10473
10474 * w16select.c (Fw16_set_clipboard_data): Setup members
10475 src_multibyte and dst_multibyte of coding. Adjusted for the
10476 change for find_charset_in_str.
10477 (Fw16_get_clipboard_data): Likewise.
10478
10479 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10480 dst_multibyte of coding.
10481 (x_to_w32_font): Likewise.
10482
10483 * w32select.c (Fw32_set_clipboard_data): Setup members
10484 src_multibyte and dst_multibyte of coding. Adjusted for the
10485 change for find_charset_in_str.
10486 (Fw32_get_clipboard_data): Likewise.
10487
10488 * xdisp.c (get_next_display_element): Handle 8-bit characters
10489 correctly.
52283633
SM
10490 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10491 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10492
10493 * xselect.c (selection_data_to_lisp_data): Setup members
10494 src_multibyte and dst_multibyte of coding. Adjusted for the
10495 change for find_charset_in_str.
10496 (lisp_data_to_selection_data): Likewise.
10497
5f64c9e0
GM
104982000-05-19 Gerd Moellmann <gerd@gnu.org>
10499
52283633 10500 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10501
5f64c9e0
GM
10502 * dispextern.h (Vimage_types): Add extern declaration.
10503
10504 * xdisp.c (Vimage_types): Moved here from xfns.c.
10505 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10506
10507 * xfns.c (Vimages_types): Moved to xdisp.c.
10508 (syms_of_xfns): Move `image-types' to xdisp.c.
10509
10510 * w32fns.c (Vimage_types): Removed.
10511 (syms_of_w32fns): Remove `image-types'.
10512
813086ea
KH
105132000-05-18 Kenichi Handa <handa@etl.go.jp>
10514
10515 * fns.c (map_char_table): Pay attention to character number of
10516 charset. Check the validity of charset at the first level. For
10517 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10518 the default value.
10519
10520 * fontset.c: Include "buffer.h".
10521 (fs_load_font): If the face has fontset, record the face ID in
10522 that fontset.
10523 (Finternal_char_font): New function.
10524 (accumulate_font_info): New function.
10525 (Ffontset_info): Rewritten for the new fontset implementation.
10526 (syms_of_fontset): Register Vdefault_fontset in the first element
10527 of Vfontset_table. Include Vdefault_fontset in
10528 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10529 function.
10530
bdaebbf0
DL
105312000-05-16 Dave Love <fx@gnu.org>
10532
10533 * m/iris5d.h: Deleted -- unused.
10534
cb613bb8
GM
105352000-05-16 Gerd Moellmann <gerd@gnu.org>
10536
b15f3b77
GM
10537 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10538 `invalid' instead of `illegal'.
10539
10540 * indent.c (Fmove_to_column): When ending within a tab, insert
10541 spaces first so that markers at the end of the tab get adjusted.
10542
835c1b36
GM
10543 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10544 buffer list that wasn't selected in that frame.
10545
cb613bb8
GM
10546 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10547 is needed on mescaline, use a 2 char prefix, and call
10548 make_temp_name with second arg non-zero.
10549
10550 * fileio.c (make_temp_name): New function, extracted from
10551 Fmake_temp_name.
10552 (Fmake_temp_name): Use it.
10553
f685bea9
EZ
105542000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10555
52283633 10556 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10557
a1b8d58b
GM
105582000-05-15 Gerd Moellmann <gerd@gnu.org>
10559
10560 * Makefile.in (lisp): Add env.elc.
10561
10562 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10563
a265079f
GM
105642000-05-12 Gerd Moellmann <gerd@gnu.org>
10565
10566 * search.c (Freplace_match): Handle case of `\N' in the
10567 replacement when there's no group N.
10568
da4496b6
GM
105692000-05-11 Gerd Moellmann <gerd@gnu.org>
10570
0ace421a
GM
10571 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10572 of the message to message_dolog.
10573
1172eb8d
GM
10574 * keyboard.c (read_char): Don't clear current message for help
10575 events; let the code handling help events handle this. Change
10576 code detecting help events that should be ignored.
10577
da4496b6
GM
10578 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10579 we're interating over a string.
10580
0623e40f
DL
105812000-05-09 Dave Love <fx@gnu.org>
10582
10583 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10584 that offset before writing. Move gcpro region past call of
10585 Ffile_regular_p.
10586
bae2503b
DL
105872000-05-04 Dave Love <fx@gnu.org>
10588
10589 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10590
ec82fb2f
GM
105912000-05-04 Gerd Moellmann <gerd@gnu.org>
10592
10593 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10594 of inserted characters when BUF equals the current buffer, and PT
10595 is in front of or equal to FROM.
10596
cbf18892
GM
105972000-05-03 Gerd Moellmann <gerd@gnu.org>
10598
4ff40dd0
GM
10599 * xdisp.c (handle_single_display_prop): If display property value
10600 is invalid, or something not supported on the frame, restore
10601 iterator's position to what it was initially. Make sure to return
10602 0 for invalid and unsupported property values.
10603
cbf18892
GM
10604 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10605 that x_per_char_metric returns null.
10606
1b0672c3
GM
106072000-05-02 Gerd Moellmann <gerd@gnu.org>
10608
576da55d
GM
10609 * xterm.h (struct face): Add forward declaration.
10610 (struct image): Ditto.
10611 (image_ascent): Add prototype.
10612
10613 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10614 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10615 image_ascent instead of using IMAGE_ASCENT.
10616
10617 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10618 (IMAGE_ASCENT): Removed.
10619
10620 * xfns.c (Qcenter): New variable.
10621 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10622 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10623 (image_ascent): New function.
10624 (lookup_image): Recognize `:ascent center'.
10625 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10626 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10627 (xbm_load): Don't set image's ascent here.
10628 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10629 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10630 check ascent values here.
10631 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10632 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10633 (syms_of_xfns): Initialize Qcenter.
10634
1b0672c3
GM
10635 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10636 to the limits, increase the limits.
10637
0d7811ed
KH
106382000-05-01 Kenichi Handa <handa@etl.go.jp>
10639
10640 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10641 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10642
a943a5ca
GM
106432000-04-28 Gerd Moellmann <gerd@gnu.org>
10644
10645 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10646 taller than the window.
10647
5dba1e29
KH
106482000-04-28 Kenichi Handa <handa@etl.go.jp>
10649
10650 * xfaces.c (realize_x_face): Fix the argument of the second
10651 xassert. BASE_FACE may not be a face for ASCII.
10652
353964e3
GM
106532000-04-27 Gerd Moellmann <gerd@gnu.org>
10654
c76e04a8
GM
10655 * print.c (print_object): Treat print-length < 0 as nil.
10656
10657 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10658
10659 * s/freebsd.h (TERMCAP_OBJ): Removed.
10660 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10661
10662 * lread.c (read1): Don't treat period followed by certain
10663 characters as symbol start.
10664
10665 * xfns.c (slurp_file): New function.
10666 (xbm_image_p): Handle case of in-memory XBM files.
10667 (xbm_scan): Rewritten to work on memory buffers instead of files.
10668 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10669 Work on memory buffers instead of files. If DATA is null test
10670 if buffer looks like an in-memory XBM file.
10671 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10672 memory buffers instead of files.
10673 (xbm_file_p): New function.
10674 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10675
353964e3
GM
10676 * lread.c (end_of_file_error): New function.
10677 (read1): Call it instead of signaling `end-of-file' directly.
10678
427ec082 10679 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10680 with Fprinc instead of Fprin1.
10681
24d744ac
KR
106822000-04-26 Ken Raeburn <raeburn@gnu.org>
10683
10684 * window.c (freeze_window_start): Check that minibuffer scroll
10685 window isn't nil before extracting the window structure pointer
10686 from it.
10687
10688 * undo.c (record_delete): If we hit the end of the undo list, stop
10689 picking elements apart.
10690
7464346d
GM
106912000-04-26 Gerd Moellmann <gerd@gnu.org>
10692
10693 * xdisp.c (display_line): If lines are continued, restore
10694 iterator's ascent/descent information to the values before the
10695 first glyph not fitting on the line.
10696
612839b6
GM
106972000-04-25 Gerd Moellmann <gerd@gnu.org>
10698
10699 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10700 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10701
10702 * dispnew.c (increment_matrix_positions): Renamed from
10703 increment_glyph_matrix_buffer_positions.
10704 (increment_row_positions): Renamed from
10705 increment_glyph_row_buffer_positions.
10706
10707 * dispextern.h: Change names of renamed functions from dispnew.c
10708 in prototypes.
10709
cc181e95
GM
107102000-04-24 Gerd Moellmann <gerd@gnu.org>
10711
abfcc168
GM
10712 * fileio.c (Fdo_auto_save): Create directories for auto-save
10713 list file if necessary.
10714
cc181e95
GM
10715 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10716 from buffer or frame.
10717 (automatic_hscrolling_p): New variable.
10718 (hscroll_windows): Scroll windows horizontally only if automatic
10719 hscrolling is allowed.
10720 (syms_of_xdisp): New variable `automatic-hscrolling'.
10721
10722 * frame.h (struct frame): Add member extra_line_spacing.
10723
10724 * xfns.c (x_set_line_spacing): New function.
10725 (Fx_create_frame): Set line spacing from resources.
10726 (Qline_spacing): New variable.
10727 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10728
cc181e95
GM
10729 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10730
10731 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10732 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10733 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10734 extra_line_spacing from default value.
10735 (init_buffer_once): Initialize default value of extra_line_spacing.
10736
10737 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10738 and extra3.
10739
10740 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10741 prompt_width. Add extra line spacing.
10742
10743 * term.c (produce_glyphs): Remove reference to struct it's
10744 prompt_width.
10745
10746 * dispextern.h (struct it): Remove member prompt_width, add
10747 extra_line_spacing.
10748
58827478
GM
107492000-04-22 Gerd Moellmann <gerd@gnu.org>
10750
10751 * dispnew.c (update_frame_line): When writing a whole line, make
10752 sure cursor is in the right row afterwards, otherwise a use of
10753 capability `ch' in cmgoto might leave the cursor in the row below.
10754
25a87f42
GM
107552000-04-21 Gerd Moellmann <gerd@gnu.org>
10756
10757 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10758
10759 * keyboard.c (timer_check): Fix typo in comment.
10760
54edf5c2
KH
107612000-04-21 Kenichi Handa <handa@etl.go.jp>
10762
10763 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10764 name change: ch -> character.
10765
3a64eef5
GM
107662000-04-20 Gerd Moellmann <gerd@gnu.org>
10767
10768 * keyboard.c (echo_message_buffer): New variable.
10769 (echo_now): Set echo_message_buffer to the echo area buffer used
10770 to display the echo.
10771 (cancel_echoing): Reset echo_message_buffer to nil.
10772 (read_char): Code rewritten that handles canceling an echo or
10773 echoing a dash, respectively.
10774
10775 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10776 directory doesn't exist.
10777
6142fdcb
DL
107782000-04-19 Dave Love <fx@gnu.org>
10779
10780 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10781 (concat): Don't allow numeric args.
10782 (Fconcat): Doc change.
6142fdcb 10783
ac6b5352
SM
107842000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10785
10786 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10787 instead define end_match(1|2) more carefully.
10788 Use GET_CHAR_BEFORE_2 for `begline'.
10789
cb9215e4
GM
107902000-04-19 Gerd Moellmann <gerd@gnu.org>
10791
5e3dac3f
GM
10792 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10793 on 64-bit systems where NULL is defined as `0'.
10794
10795 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10796 the `variable argument list' to make it work on Alpha.
10797
cb9215e4
GM
10798 * m/alpha.h (_LP64) [!_LP64]: Define.
10799 (ORDINARY_LINK): Define for NetBSD.
10800
10801 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10802
f532dca0
DL
108032000-04-19 Dave Love <fx@gnu.org>
10804
c750667e
DL
10805 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10806 change.
10807
10808 * Makefile.in (LIBS): Don't use.
10809 (GETLOADAVG_OBJ): Define again.
10810 (otherobj): Add GETLOADAVG_OBJ.
10811
f532dca0
DL
10812 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10813
1c7e22fd
GM
108142000-04-18 Gerd Moellmann <gerd@gnu.org>
10815
f6d3257b
GM
10816 * lread.c (read_filtered_event): Cancel and start busy cursor.
10817
427ec082 10818 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10819 that the per-character metrics may be null.
10820
e10f64e7
GM
108212000-04-17 Gerd Moellmann <gerd@gnu.org>
10822
0daee095
GM
10823 * buffer.c (clone_per_buffer_values): New function.
10824 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10825 clone_per_buffer_values if CLONE is not nil.
10826
e10f64e7
GM
10827 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10828
38687d43
DL
108292000-04-16 Dave Love <fx@gnu.org>
10830
10831 * Makefile.in: Remove obsolete localcpp stuff.
10832 (GETLOADAVG_OBJ): Don't define.
10833 (obj): Move LIBOBJS...
10834 (otherobj): ... to here.
10835 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10836 whitespace-only lines after the continuation (Irix).
10837
c21c7262
GM
108382000-04-14 Gerd Moellmann <gerd@gnu.org>
10839
10840 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10841
10842 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10843
314767c0
DL
108442000-04-14 Dave Love <fx@gnu.org>
10845
10846 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10847 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10848 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10849 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10850 NLIST_STRUCT.
10851
10852 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10853 autoconfiscated HAVE_GETLOADAVG.
10854
10855 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10856 BROKEN_MKTIME.
10857
a2522dca
GM
108582000-04-14 Gerd Moellmann <gerd@gnu.org>
10859
10860 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10861 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10862
33744b5d
DL
108632000-04-14 Dave Love <fx@gnu.org>
10864
c21c7262 10865 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10866 (INTERVAL_SRC): Convert to make variable.
10867 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10868 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10869 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10870 add LIBOBJS.
10871 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10872 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10873 (shortlisp): Add facemenu, float-sup, frame.
10874 (SOME_MACHINE_LISP): Remove them from here.
10875 (LIBES): Change unused LDLIBS to autoconf LIBS.
10876
10877 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10878
9d3d5916
KH
108792000-04-14 Kenichi Handa <handa@etl.go.jp>
10880
10881 * composite.c (update_compositions): If FROM and TO are not in a
10882 valid range, do nothing.
10883
198e3c7a
GM
108842000-04-13 Gerd Moellmann <gerd@gnu.org>
10885
52283633 10886 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10887
52283633 10888 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10889
10890 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10891 as TERMCAP_OBJ.
10892
055a28c9
EZ
108932000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10894
10895 * fileio.c (a_write): Remove redundant semi-colons.
10896 (e_write): Return -1 if failed to write all the data.
10897 This fixes the changes made at 1999-12-15.
10898
f5c75033
DL
108992000-04-12 Dave Love <fx@gnu.org>
10900
10901 * fns.c (mapcar1): Test for null vals to support mapc.
10902 (Fmapc): New function.
10903
0c3cfc51
EZ
109042000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10905
10906 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10907 (IT_frame_up_to_date): Support the buffer local value of
10908 cursor-type, if defined.
10909
33465a31
DL
109102000-04-10 Dave Love <fx@gnu.org>
10911
10912 * editfns.c (preceding-char, following-char): Doc fix.
10913
6ed56568
KR
109142000-04-10 Ken Raeburn <raeburn@gnu.org>
10915
10916 * Makefile.in (temacs): Revert 2000-03-12 change.
10917
7cf80d4e
JR
109182000-04-10 Jason Rumney <jasonr@gnu.org>
10919
10920 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10921
34f3f342
GM
109222000-04-10 Gerd Moellmann <gerd@gnu.org>
10923
1a1b1895
GM
10924 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10925 area buffer, if it's not set up yet.
10926
34f3f342
GM
10927 * indent.c (compute_motion): Set immediate_quit.
10928
be0dbdab
GM
109292000-04-09 Gerd Moellmann <gerd@gnu.org>
10930
52283633 10931 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10932 (realize_tty_face): Suppress boldness if colors are the inverse of
10933 the default colors, and tty_suppress_bold_inverse_default_colors_p
10934 is set.
10935 (Ftty_suppress_bold_inverse_default_colors): New function.
10936 (syms_of_xfaces): Defsubr it.
10937
be0dbdab
GM
10938 * buffer.c (Frestore_buffer_modified_p): New function.
10939 (syms_of_buffer): Defsubr it.
10940
e8413c3b
KR
109412000-04-08 Ken Raeburn <raeburn@gnu.org>
10942
87f67317
KR
10943 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10944 charset id (int) argument, not a charset (Lisp_Object).
10945
e8413c3b
KR
10946 * coding.h (code_convert_string): Declare.
10947 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10948 object, as the fourth argument to code_convert_string.
10949
52283633 10950 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10951 (Fset_fontset_font): Use EQ to compare lisp objects.
10952
7c752c80
KR
109532000-04-05 Ken Raeburn <raeburn@gnu.org>
10954
c0333abc
KR
10955 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10956 a pointer that looks like a lisp object.
10957 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10958 zero, instead see whether it's an integer object, since they can't
10959 have intervals.
10960 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10961
52283633
SM
10962 * dispnew.c (allocate_matrices_for_frame_redisplay)
10963 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10964 to convert between (unsigned) int values and lisp integers.
10965 * keyboard.c (read_key_sequence): Likewise.
10966 * lread.c (substitute_object_recurse): Likewise.
10967 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10968 * minibuf.c (do_completion, Fminibuffer_complete_word)
10969 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10970 * term.c (produce_special_glyphs): Likewise.
10971
10972 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10973 * print.c (print_preprocess, print_object): Likewise.
10974
10975 * search.c (compile_pattern): Use NILP when checking for nil.
10976
74e49b38
KR
10977 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10978 __OPTIMIZE__]: Provide a GNU C macro version that handles
10979 lisp-object unions.
10980 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10981 field, to better cope with ENABLE_CHECKING and calls that modify a
10982 Lisp_Object using its old value.
10983
685e5ed2
GM
109842000-04-04 Gerd Moellmann <gerd@gnu.org>
10985
c407c570
GM
10986 * window.c (compare_window_configurations): Signal an error
10987 if parameters C1 or C2 aren't window configurations.
10988
685e5ed2
GM
10989 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10990 AFTER_POTENTIAL_GC calls around calls to functions that can
10991 signal an error and thus invoke the debugger.
10992
587a49ab
GM
109932000-04-03 Gerd Moellmann <gerd@gnu.org>
10994
62f20204
GM
10995 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10996 an error if decoding fails.
10997
587a49ab
GM
10998 * keyboard.c (lispy_mouse_names): Variable removed.
10999 (Vlispy_mouse_stem): New variable.
11000 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11001 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11002 for any mouse button number. Increase size of mouse_syms and
11003 button_down_location as needed. Call modify_event_symbol with
11004 different arguments.
11005 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11006 Call modify_event_symbol with different arguments.
11007 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11008 for any button number. Call modify_event_symbol with different
11009 arguments.
11010 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11011 Accept a string for NAME_ALIST_OR_STEM.
11012
11013 * lisp.h (larger_vector): Add prototype.
11014
11015 * fns.c (larger_vector): Make externally visible.
11016
11017 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11018
2d1675e4
SM
110192000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11020
11021 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11022 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11023 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11024 we are between str1 and str2.
11025 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11026 (PATFETCH): Use `TRANSLATE'.
11027 (PATFETCH_RAW): Fetch multibyte char if applicable.
11028 (PATUNFETCH): Remove.
11029 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11030 When writing a char, write it directly into the pattern buffer rather
11031 than going needlessly through a temp char-array.
11032 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11033 multibyte magic and remove the useless `#ifdef emacs'.
11034 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11035 buffer.
11036
11037 * regex.h (struct re_pattern_buffer): Make field `multibyte'
11038 conditional on `emacs'.
11039
11040 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
11041
cc2d8c6b
KR
110422000-04-01 Ken Raeburn <raeburn@gnu.org>
11043
11044 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
11045 non-union-type versions of XMARK and friends here, because XMARK
11046 and friends won't work on an integer field if NO_UNION_TYPE is not
11047 defined.
52283633 11048 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 11049
52283633 11050 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
11051 (syms_of_composite): Delete local var NARGS, pass an int as first
11052 argument to Fmake_hash_table.
11053
2387b382
KR
11054 * editfns.c (text_property_stickiness): Use NILP to test
11055 Lisp_Object boolean value.
11056 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
11057 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
11058 problems reading from and changing the same lisp value in an
11059 XSETSTRING call.
11060
27660e89
GM
110612000-04-01 Gerd Moellmann <gerd@gnu.org>
11062
11063 * term.c (TN_no_color_video): New variable.
11064 (term_init): Intitialize TN_no_color_video.
11065 (enum no_color_bit): New enumeration.
11066 (MAY_USE_WITH_COLORS_P): New macro.
11067 (turn_on_face): Use it to determine if attributes may be used
11068 combined with colors.
11069
3578db3c
KR
110702000-04-01 Ken Raeburn <raeburn@gnu.org>
11071
11072 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 11073 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
11074 (enlarge_window): Variable sizep now points to Lisp_Object. Use
11075 proper accessor macros.
11076 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
11077 (grow_mini_window): Fix typo getting int value of root->height.
11078
6fc556fd
KR
11079 * xdisp.c (compute_string_pos): Fix order of arguments to
11080 string_pos_nchars_ahead.
11081 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
11082 count arg to variable-arg routines like Frun_hook_with_args and
11083 Fformat.
587a49ab
GM
11084 (back_to_previous_visible_line_start)
11085 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11086 fixed-arg routines like Fget_char_property and Fmake_string.
11087 (reconsider_clip_changes): Use XINT when comparing integer lisp
11088 objects, or passing them as int arguments.
587a49ab
GM
11089 (mark_window_display_accurate, insert_left_trunc_glyphs)
11090 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11091 storing or passing integer values as lisp objects.
11092 (set_cursor_from_row, highlight_trailing_whitespace): Use
11093 INTEGERP, not implicit test against zero, for glyph object.
11094 (try_window_id): Don't use make_number when we want an int value.
11095
11096 * xfaces.c (xlfd_symbolic_value): Make last argument a
11097 Lisp_Object, to be consistent with callers.
11098 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11099 (lface_hash): Apply XFASTINT to lisp values before folding in.
11100
11101 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11102 fill in window width and height. Pass an int, not a lisp object,
11103 as first arg to Finsert.
11104
6e7b2457
GM
111052000-04-01 Gerd Moellmann <gerd@gnu.org>
11106
610d841e
GM
11107 * xfaces.c (realize_basic_faces): Block input while realizing
11108 the faces.
11109
6e7b2457
GM
11110 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11111
11112 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11113
aa110c0c
GM
111142000-03-31 Gerd Moellmann <gerd@gnu.org>
11115
11116 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11117 or ASCII, handle case that per-char metric is null.
aa110c0c 11118
8801a864
KR
111192000-03-30 Ken Raeburn <raeburn@gnu.org>
11120
c6129d7e
KR
11121 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11122
52283633
SM
11123 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11124 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11125 pointer, using eassert.
11126 * frame.h (XFRAME): Likewise.
11127
52283633
SM
11128 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11129 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11130 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11131 * data.c (set_internal): Likewise.
52283633
SM
11132 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11133 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11134 * fileio.c (auto_save_1): Likewise.
11135 * insdel.c (check_markers): Likewise.
11136 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11137 * undo.c (record_insert): Likewise.
11138 * vmsproc.c (child_sig): Likewise.
11139 * window.c (unshow_buffer, window_loop): Likewise.
11140 * xterm.c (x_erase_phys_cursor): Likewise.
11141
8e7af858
GM
111422000-03-30 Gerd Moellmann <gerd@gnu.org>
11143
11144 * xfns.c (free_image_cache): Free the cache structure itself
11145 last, after all its members have been freed.
11146
11147 * lisp.h (xstrdup): Add prototype.
11148
11149 * alloc.c (xstrdup): Moved here from xfaces.c.
11150 (allocating_for_lisp): Variable removed.
52283633 11151 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11152
11153 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11154 of Fsymbol_value.
11155 (xstrdup): Moved to alloc.c.
11156
e0b8c689
KR
111572000-03-29 Ken Raeburn <raeburn@gnu.org>
11158
b96f9fb7
KR
11159 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11160
11161 * emacs.c (main): Fix sense of no-loadup test.
11162
e0b8c689
KR
11163 * config.in (ENABLE_CHECKING): Undef.
11164
11165 * lisp.h (struct interval): Replace "parent" field with a union of
11166 interval pointer and Lisp_Object; add new bitfield to use as
11167 discriminant. Change other flag fields to bitfields.
11168 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11169 is defined and the supplied test fails, print a message and abort.
11170 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11171
11172 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11173 pointers; abort if the value looks like a lisp object.
52283633
SM
11174 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11175 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11176 Modify for new interval parent definition.
11177
52283633
SM
11178 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11179 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11180 addressable lisp object in the interval structure.
11181 (die): New function.
11182 (suppress_checking): New variable.
11183
11184 * intervals.c (interval_start_pos): Just return 0 if there's no
11185 parent object.
11186
f83c5440
GM
111872000-03-29 Gerd Moellmann <gerd@gnu.org>
11188
11189 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11190 and earlier Emacs versions.
11191
11192 * keyboard.c (Ftop_level): Cancel busy-cursor.
11193
11194 * eval.c (call_debugger): Cancel busy-cursor.
11195
fdce64ff
KH
111962000-03-29 Kenichi Handa <handa@etl.go.jp>
11197
11198 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11199 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11200
f6a3f532
SM
112012000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11202
11203 * regex.c (analyse_first): New function obtained by ripping out most
11204 of re_compile_fastmap and generalizing it a little bit so that it
11205 can also just return whether a given (sub)pattern can match the empty
11206 string or not.
11207 (regex_compile): Use `analyse_first' to decide whether the loop-check
11208 needs to be done or not for *, +, *? and +? (the loop check is costly
11209 for non-greedy repetition).
11210 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11211
e9b309ac
DL
112122000-03-28 Dave Love <fx@gnu.org>
11213
52283633 11214 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11215
e9b309ac
DL
11216 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11217
ed0767d8
SM
112182000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11219
11220 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11221 an expression.
11222 (enum re_opcode_t): Update description of succeed_n.
11223 (PATFETCH): Always define.
11224 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11225 operators, char classes, shy-groups and intervals).
11226 Optimize special cases of intervals so as to only use succeed_n and
11227 jump_n when really needed.
11228 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11229 that we don't have to handle the special cases any more.
11230 Simplify on_failure_jump handling as well.
11231
e11e7e46
JR
112322000-03-28 Jason Rumney <jasonr@gnu.org>
11233
11234 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11235
88faab89
GM
112362000-03-27 Gerd Moellmann <gerd@gnu.org>
11237
182ff242
GM
11238 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11239
11240 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11241
182ff242
GM
11242 * alloc.c (mark_maybe_object): New function.
11243 (mark_memory): Use it.
11244 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11245 (setjmp_tested_p, longjmp_done): New variables.
11246 (test_setjmp): New function.
11247 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11248 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11249
c1005d06
GM
11250 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11251 to DEC_TEXT_POS and INC_TEXT_POS.
11252
11253 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11254 with parameter MULTIBYTE_P.
11255
52283633 11256 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11257
7439e5b9 11258 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11259 buffers because it looks for multibyte character byte sequences
11260 which don't exist in unibyte text.
7439e5b9 11261
d9c545da
GM
11262 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11263
11fd416e 11264 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11265 [DEBUG_X_COLORS]: New functions.
11266 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11267
11268 * xfns.c (x_set_cursor_color): Get color reference counts right.
11269
11270 * xterm.c (x_copy_color): New function.
11271 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11272
11273 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11274 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11275 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11276 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11277 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11278 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11279 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11280 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11281 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11282 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11283
11fd416e
GM
11284 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11285 names for handling per-buffer variables.
d9c545da
GM
11286
11287 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11288 instead of MAX_BUFFER_LOCAL_VARS.
11289 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11290
11291 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11292
88faab89
GM
11293 * xfns.c (x_specified_cursor_type): New function.
11294 (x_set_cursor_type): Use it.
11295
11296 * buffer.h (struct buffer): Add cursor_type.
11297
d80f42b7
SM
112982000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11299
11300 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11301 (print_partial_compiled_pattern, re_compile_fastmap):
11302 Handle new opcode.
d80f42b7
SM
11303 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11304 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11305 executing it as well as when popping it off the stack to find infinite
11306 loops in non-greedy repetition operators.
11307
89e80928
GM
113082000-03-26 Gerd Moellmann <gerd@gnu.org>
11309
3d4ff2dd
GM
11310 * doc.c (Qfunction_documentation): New variable.
11311 (syms_of_doc): Initialize Qfunction_documentation.
11312 (Fdocumentation): If FUNCTION is a symbol with non-nil
11313 `function-documentation' property, return a documentation derived
11314 from that.
11315
bd96bd79
GM
11316 * buffer.c (syms_of_buffer): Add default-cursor-type.
11317 (init_buffer_once): Don't let cursor_type have a local value
11318 in every buffer.
11319
19d1bc27
GM
11320 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11321 on buffer-local value of cursor_type.
11322 (x_draw_bar_cursor): Add parameter WIDTH.
11323
11324 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11325 (init_buffer_once): Set default cursor_type value to t.
11326 Mark cursor_type as local everywhere.
11327 (syms_of_buffer): New per-buffer variable cursor-type.
11328
89e80928
GM
11329 * buffer.h (struct buffer): Remove member local_var_flags,
11330 add local_flags.
11331 (MAX_BUFFER_LOCAL_VARS): New macro.
11332 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11333 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11334 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11335 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11336
52283633 11337 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11338
11339 * category.c (Fset_category_table): Use new macros for per-buffer
11340 variables.
11341
11342 * buffer.c (buffer_permanent_local_flags): Make a char array.
11343 (max_buffer_local_idx): New variable.
11344 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11345 for new handling of per-buffer variables.
11346 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11347 (init_buffer_once): Initialize per-buffer vars differently.
11348 Set max_buffer_local_idx.
11349
11350 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11351 variables.
11352
52283633 11353 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11354
11355 * data.c (do_symval_forwarding, store_symval_forwarding)
11356 (find_symbol_value, set_internal, default_value, Fset_default)
11357 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11358 per-buffer variables.
11359
11360 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11361
9a0dd3dc
GM
113622000-03-24 Gerd Moellmann <gerd@gnu.org>
11363
b68c375f
GM
11364 * xterm.c (x_term_init): Unblock input around call1 of
11365 Qvendor_specific_keysyms.
11366
9a0dd3dc
GM
11367 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11368 (find_defun_start): Consider an open parenthesis in column 0
11369 a defun start only if open_paren_in_column_0_is_defun_start is set.
11370 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11371
7973e637
SM
113722000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11373
11374 * eval.c (Fautoload): Add entry in load-history (if after dump).
11375 * lread.c (load-history): Update docstring.
11376
39210e90
GM
113772000-03-24 Gerd Moellmann <gerd@gnu.org>
11378
11379 * indent.c (Fvertical_motion): Always use the current buffer.
11380 Temporarily change the window's buffer, if necessary.
11381
72db3ab5
GM
113822000-03-23 Gerd Moellmann <gerd@gnu.org>
11383
11384 * xterm.c (fast_find_position): Make sure not to consider rows
11385 not visible in the window.
11386
990b2375
SM
113872000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11388
11389 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11390 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11391
ff4df011
JR
113922000-03-22 Jason Rumney <jasonr@gnu.org>
11393
11394 * w32menu.c (single_submenu): Set help string to NULL if none.
11395 (w32_menu_show): Set help string correctly.
11396 (add-menu-item): Set help string in MIIM_DATA for menu item.
11397 Load SetMenuItemInfoA explicitly.
11398 (w32_menu_display_help): New function.
427ec082 11399
ff4df011
JR
11400 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11401 (QCdata): Moved to xdisp.c.
11402
11403 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11404 (Vw32_charset_to_codepage_alist): Removed.
11405 (Vw32_charset_info_alist): New variable.
52283633
SM
11406 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11407 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11408 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11409 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11410 with TODO comment.
11411 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11412 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11413 Define Vw32_charset_info_alist and w32_charset symbols.
11414
114152000-03-22 Jason Rumney <jasonr@gnu.org>
11416
11417 * makefile.nt (w32bdf.obj): Update dependencies.
11418
11419 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11420
11421 * w32fns.c: Include fontset.h after dispextern.h.
11422 (Fx_create_frame): Do not create fontset.
11423 (w32_load_system_font): Doc fix.
11424 (Fx_close_connection): Free full_name if it is not shared.
11425
11426 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11427 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11428 Callers updated.
ff4df011
JR
11429 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11430 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11431 (w32_font_is_double_byte): New function, needs body.
11432 (x_append_glyph): Set glyph->glyph_not_available_p.
11433 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11434 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11435 character, convert it to a unibyte character.
11436 (struct glyph_string): Delete member `charset'.
11437 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11438 calculating it is found.
11439 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11440 the case that per char metric is not available correctly.
11441 (x_fill_glyph_string): Handle the case that the specific glyph is
11442 not available correctly.
11443 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11444 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11445 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11446 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11447 fontset. Don't call FS_LOAD_FONT.
11448
439d5cb4
KR
114492000-03-22 Ken Raeburn <raeburn@gnu.org>
11450
11451 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11452 (INT_LISPLIKE): New macro.
11453 (NULL_INTERVAL_P): Use it.
52283633
SM
11454 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11455 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11456 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11457
11458 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11459 explicit references to "parent" field of struct interval and
11460 associated unclean type conversions.
52283633
SM
11461 * intervals.c (create_root_interval, root_interval, rotate_right)
11462 (rotate_left, balance_possible_root_interval, split_interval_right)
11463 (split_interval_left, interval_start_pos, find_interval)
11464 (next_interval, previous_interval, update_interval)
11465 (adjust_intervals_for_insertion, delete_node, delete_interval)
11466 (adjust_intervals_for_deletion, merge_interval_right)
11467 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11468 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11469 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11470 Likewise.
11471 * syntax.c (update_syntax_table): Likewise.
11472
11473 * intervals.c (reproduce_tree_obj): New function, like
11474 reproduce_tree but takes a Lisp_Object for the parent. Declare
11475 with prototype.
11476 (graft_intervals_into_buffer): Use it when appropriate.
11477 (reproduce_tree): Declare with prototype.
11478 (balance_possible_root_interval): Check that the parent is a lisp
11479 object before trying to examine its type.
11480
ee1c5b21
GM
114812000-03-22 Gerd Moellmann <gerd@gnu.org>
11482
11483 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11484 as strings only if both are known to be strings.
11485
11486 * s/openbsd.h (LIBS_TERMCAP): Undef.
11487
1fb352e0
SM
114882000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11489
11490 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11491 definitions for non-Emacs compilation.
11492 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11493 outside of `#ifdef emacs'.
11494 (print_partial_compiled_pattern): Update.
11495 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11496 (re_compile_fastmap): Merge handling of charset and charset_not (for
11497 emacs and non-emacs compilation as well).
11498 Similarly for (not)categoryspec and (not)syntaxspec.
11499 Don't use the fastmap when reaching `anychar' since the added
11500 complexity is not justified.
11501 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11502 and (not)syntaxspec. Merge (not)categoryspec.
11503
fdaa1f77
KH
115042000-03-22 Kenichi Handa <handa@etl.go.jp>
11505
52283633
SM
11506 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11507 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11508 --without-x.
fdaa1f77 11509
d152fb46
DL
115102000-03-21 Dave Love <fx@gnu.org>
11511
11512 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11513 doc string.
11514
d2cafc8c
GM
115152000-03-21 Gerd Moellmann <gerd@gnu.org>
11516
11517 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11518 (lface_fully_specified_p): Don't check contents of
11519 LFACE_FONT_INDEX because that attribute is optional.
11520 (realize_x_face): Remove now unwarranted xassert.
11521
9111d4b5
KH
115222000-03-21 Kenichi HANDA <handa@etl.go.jp>
11523
11524 The following changes are to make font selection based on
11525 characters, not charset. In addition, they recover fontset
11526 facilities while utilizing the new font selection mechanism.
11527
6c4bfdc0
KH
11528 * Makefile.in (fontset.o): Depend on dispextern.h.
11529
11530 * alloc.c (mark_face_cache): Don't mark face->registry.
11531
9111d4b5
KH
11532 * dispextern.h (struct glyph): New member glyph_not_available_p.
11533 Use 22 bits for face_id.
11534 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11535 (struct face): Delete member registry, new member ascii_face.
11536 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11537 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11538 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11539 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11540
11541 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11542 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11543 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11544 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11545 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11546 (fs_free_face_fontset, fontset_font_pattern)
11547 (face_suitable_for_char_p, face_for_char)
11548 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11549 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11550 (FS_LOAD_FACE_FONT): New macro.
11551
11552 * fontset.c: All codes rewritten or adjusted for the change of
11553 fontset implementation. Now fontset is represented by char table.
52283633
SM
11554 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11555 Variables removed.
9111d4b5 11556 (my_strcasecmp): Function removed.
52283633 11557 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11558 (AREF, ASIZE): New macros.
52283633
SM
11559 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11560 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11561 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11562 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11563 (fontset_id_valid_p, font_family_registry, fontset_name)
11564 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11565 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11566 New functions.
11567 (fs_load_font): New arg FACE. Caller changed.
11568 (fs_query_fontset): Argument changed. Caller changed.
11569 (Fquery_fontset): call fs_query_fontset.
11570 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11571 Functions removed.
52283633
SM
11572 (clear_fontset_elements, check_registry_encoding)
11573 (check_fontset_name): New functions.
9111d4b5
KH
11574 (syms_of_fontset): Set char-table-extra-slots property of fontset
11575 to 3. Staticpro and initialize Vfontset_table and
11576 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11577
11578 * frame.h (struct frame): Member `fontset_data' removed.
11579 (FRAME_FONTSET_DATA): Macro removed.
11580
11581 * frame.c (make_frame): Don't allocate f->fontset_data.
11582 (Fdelete_frame): Don't free f->fontset_data.
11583
6c4bfdc0
KH
11584 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11585
9111d4b5
KH
11586 * xdisp.c (charset_at_position): Function removed.
11587 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11588 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11589 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11590 Likewise.
11591 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11592 FACE_FOR_CHARSET.
52283633
SM
11593 (get_next_display_element, append_space)
11594 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11595
11596 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11597 Variables removed.
11598 (clear_font_table, frame_update_line_height, load_face_font):
11599 Adjusted for the change of fontset implementation.
11600 (load_face_fontset_font): Function removed.
11601 (pixel_point_size): New function.
11602 (font_list): Argument type changed. Caller changed.
11603 (LFACE_FONT): New macro.
11604 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11605 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11606 Lisp_Object. Determine the font name by actually loading a font
11607 by the specified pattern. Set LFACE_FONT (lface) to the specified
11608 pattern. Even if a font is not found, don't try alternatives.
11609 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11610 (set_font_frame_param): If `font' is specified in lface, use it.
11611 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11612 (lface_same_font_attributes_p): Likewise.
11613 (make_realized_face): Arguent changed. Caller changed. Set
11614 face->ascii_face to face itself.
11615 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11616 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11617 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11618 (free_realized_multibyte_face): New function.
11619 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11620 changed. Caller changed.
11621 (try_font_list): Argument type changed.
11622 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11623 (choose_face_font): Argument changed. Handle fontset properly.
11624 (choose_face_fontset_font): Function removed.
11625 (realize_default_face, realize_named_face): Don't remove the
11626 former face here.
11627 (realize_face): Argument changed. Caller changed. Remove face
52283633 11628 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11629 (realize_x_face): Argument changed. Caller changed. For a
11630 multibyte character, share fontset with base_face. For a single
52283633 11631 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11632 (realize_tty_face): Argument changed. Caller changed.
11633 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11634 (face_at_buffer_position): Don't check multibyte_p for returning
11635 DEFAULT_FACE_ID.
11636 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11637 FACE_SUITABLE_FOR_CHARSET_P.
11638 (syms_of_xfaces): Remove code for Qx_charset_registry and
11639 Vface_default_registry.
11640
6c4bfdc0
KH
11641 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11642 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11643 (x_per_char_metric): Don't try FONT->default_char. Even if
11644 pcm->width is zero, glyph bits may exist.
11645 (x_encode_char): Always initialize char2b->byte1.
11646 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11647 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11648 (x_append_glyph): Set glyph->glyph_not_available_p.
11649 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11650 it->charset. Handle the case that per char metric is not
11651 available. If it->multibyte_p is zero and it->c is a multibyte
11652 character, convert it to a unibyte character.
11653 (struct glyph_string): Delete member `charset'.
11654 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11655 the case that per char metric is not available correctly.
11656 (x_fill_glyph_string): Handle the case that the specific glyph is
11657 not available correctly.
11658 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11659 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11660 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11661 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11662 fontset. Don't call FS_LOAD_FONT.
11663
11664 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11665 (x_create_tip_frame): Likewise.
11666 (Fx_close_connection): Free full_name of font_info.
11667
11668 * fns.c (optimize_sub_char_table): New function.
11669 (Foptimize_char_table): New function.
11670 (syms_of_fns): Defsubr Soptimize_char_table.
11671
b33dd3b0
GM
116722000-03-20 Gerd Moellmann <gerd@gnu.org>
11673
11674 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11675 only if buffer is displayed in some window.
11676
11677 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11678 (try_window_reusing_current_matrix): Don't call scroll run
11679 function if run's current and desired position are the same;
11680 this prevents cursor flickering.
11681
4e8a9132
SM
116822000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11683
11684 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11685
11686 * regex.c (RE_STRING_CHAR): New macro.
11687 (GET_CHAR_AFER_2): Remove.
11688 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11689 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11690 (print_partial_compiled_pattern, re_compile_fastmap)
11691 (re_match_2_internal): Remove on_failure_jump_exclusive.
11692 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11693 optimization only need to work for * (ie. can use of_keep_string_jump).
11694 Remove the special case for .*\n since it is now covered by the general
11695 optimization.
11696 (re_search_2): Don't bother with `room'.
11697 (skip_one_char): New function.
11698 (skip_noops): Simplify since `memory' is not needed any more.
11699 (mutually_exclusive_p): Restructure slightly to use `switch' and
11700 add handling for "all" remaining cases.
11701 (re_match_2_internal): Change on_failure_jump_smart to use
11702 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11703 rather than on_failure_jump_exclusive.
11704
2136fdd4
GM
117052000-03-19 Gerd Moellmann <gerd@gnu.org>
11706
11707 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11708 number of bits per RGB because it's everywhere used as the depth
11709 of the visual.
11710
11711 * term.c (calculate_costs): Remove code dealing with X frames.
11712
18e21ce8 117132000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11714
11715 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11716
d7b511c4
GM
117172000-03-18 Gerd Moellmann <gerd@gnu.org>
11718
11719 * lread.c (read_integer): Unread the last char not consumed.
11720
16b5d424
GM
117212000-03-17 Gerd Moellmann <gerd@gnu.org>
11722
11723 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11724 which are in the process of being deleted.
16b5d424 11725
1fa28578
GM
117262000-03-16 Gerd Moellmann <gerd@gnu.org>
11727
83488cce
GM
11728 * Makefile.in (mostlyclean): Add `*.core'.
11729 (clean): Add `bootstrap-emacs'.
11730
1fa28578
GM
11731 * lread.c (read_integer): New function.
11732 (read1): Support read syntax #o, #x, #b, #r.
11733
99633e97
SM
117342000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11735
1fa28578
GM
11736 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11737 make sure POINTER_TO_OFFSET gives the same value before and after
11738 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11739 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11740 (debug): Now only active if > 0 rather than if != 0.
11741 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11742 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11743 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11744 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11745 (store_op1, store_op2, insert_op1, insert_op2)
11746 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11747 (group_in_compile_stack): Move to after its arg's types are
11748 declared and add a prototype.
99633e97 11749 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11750 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11751 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11752 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11753 indentation of the greedy-op and shy-group code.
99633e97
SM
11754 (at_(beg|end)line_loc_p): Fix argument's types.
11755 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11756 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11757 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11758 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11759 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11760 QUIT unconditionally.
99633e97 11761
699238d9
GM
117622000-03-15 Gerd Moellmann <gerd@gnu.org>
11763
11764 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11765 a sole completion.
11766
11767 * process.c (send_process): Add a hint that the function
11768 can call Lisp code to its comment.
11769
11770 * lread.c (load_dangerous_libraries): New variable.
11771 (Vbytecomp_version_regexp): New variable.
11772 (safe_to_load_p): New function.
11773 (Fload): Handle files not compiled with Emacs specially.
11774 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11775
34e23e5a
GM
117762000-03-14 Gerd Moellmann <gerd@gnu.org>
11777
9c763cca
GM
11778 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11779
11780 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11781 support functions only if HAVE_X11R6_XIM is defined.
11782 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11783
11784 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11785
11786 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11787 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11788 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11789
11790 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11791 (HAVE_X11R6_XIM): Define.
11792
11793 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11794
34e23e5a
GM
11795 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11796 If set, call XSynchronize.
11797
66f0296e
SM
117982000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11799
34e23e5a
GM
11800 * regex.c: Declare a new type `re_char' used throughout the code
11801 for the string char type. It's `const unsigned char' to match the
11802 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11803 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11804 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11805 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11806 code duplication.
66f0296e
SM
11807
11808 * charset.h (GET_CHAR_AFTER_2): Remove.
11809 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11810
854a025c
KR
118112000-03-12 Ken Raeburn <raeburn@gnu.org>
11812
11813 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11814 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11815 of them try to use backquotes.
11816
b9d2c7e2
DL
118172000-03-12 Dave Love <fx@gnu.org>
11818
11819 * unexelf.c: Restore changes of 1999-10-19.
11820 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11821 fix its type and alignment; copy it from current process.
11822
5e5dff44
GM
118232000-03-12 Gerd Moellmann <gerd@gnu.org>
11824
9b2f3c38
GM
11825 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11826 has been found. Fix bug not computing timer's predecessor.
11827
427ec082 11828 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11829 file name.
11830
e1cff360
GM
11831 * window.c (Fsave_window_excursion): Doc fix.
11832
52283633 11833 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11834
e411ce4b
EZ
118352000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11836
11837 * msdos.c (vga_installed): New function, code moved from
11838 dos_set_window_size.
11839 (Qbar, Qcursor_type, outside_cursor): New variables.
11840 (syms_of_msdos): Intern and staticpro them.
11841 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11842 shape used outside Emacs when called for the first time.
11843 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11844 cursor shape used outside Emacs.
11845 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11846 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11847 type has changed.
11848 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11849 parameters specify the cursor. Make qreverse a global
11850 variable (renamed to Qreverse).
11851
80460654
GM
118522000-03-09 Gerd Moellmann <gerd@gnu.org>
11853
11854 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11855
95cd4c40
SM
118562000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11857
11858 This is a big redesign of failure-stack and register handling, prompted
11859 by bugs revealed when trying to add shy-groups. Overall, what happened
11860 is that loops are now structured a little differently, groups can be
11861 shy and the code is a little simpler.
11862
11863 * regex.h: Update the copyright.
11864 (RE_SHY_GROUPS): New value.
11865 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11866 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11867
80460654
GM
11868 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11869 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11870 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11871 for (start|stop)_memory since they now only take one argument (the
11872 second has becomes unnecessary).
52283633 11873 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11874 (print_compiled_pattern): Use %ld to printf long ints and flush to
11875 make debugging a little easier.
95cd4c40
SM
11876 (union fail_stack_elt): Make the integer unsigned.
11877 (struct fail_stack_type): Add a `frame' element.
11878 (INIT_FAIL_STACK): Init `frame' as well.
11879 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11880 (DEBUG_PUSH, DEBUG_POP): Remove.
11881 (NUM_REG_ITEMS): Remove.
11882 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11883 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11884 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11885 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11886 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11887 New macros.
80460654
GM
11888 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11889 address pushed is not the destination of the jump but the source
11890 of it instead.
95cd4c40
SM
11891 (NUM_FAILURE_ITEMS): Remove.
11892 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11893 registers before the actual failure point). Don't hardcode any
11894 meaning for str==NULL anymore.
95cd4c40 11895 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11896 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11897 Remove.
95cd4c40
SM
11898 (REG_UNSET_VALUE): Use NULL (why not?).
11899 (compile_range): Remove declaration since it doesn't exist.
11900 (struct compile_stack_elt_t): Remove inner_group_offset.
11901 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11902 (regex_grow_registers): Remove dead code.
11903 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11904 (regex_compile): Add shy-groups Change loops to use
11905 on_failure_jump_smart&jump instead of
11906 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11907 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11908 variable to me). Use `jump' instead of `jump_past_alt' and don't
11909 bother with push_dummy_failure in alternatives since it is now
11910 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11911 emacs' for (re)allocating the stack.
11912 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11913 from loop when bufp->can_be_null rather than jumping to `done'.
11914 Avoid jumping backwards so as to ensure termination. Use
11915 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11916 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11917 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11918 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11919 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11920 (lowest_active_reg, highest_active_reg)
11921 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11922 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11923 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11924 variables. Push register (in `start_memory') on the stack rather
11925 than storing it in old_reg(start|end). Remove the cycle detection
11926 from `stop_memory', replaced by the use of on_failure_jump_loop
11927 for greedy loops. Add code for the new on_failure_jump_<foo>.
11928 Remove ad-hoc code in `on_failure_jump' to push more registers in
11929 the case of a loop. Take out code from `maybe_pop_jump' into
11930 separate functions and adapt it to the semantics of
11931 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11932 and push_dummy_failure. Remove dummy_failure handling and
11933 handling of `failures to jump to on_failure_jump' (this last one
11934 was already dead code, it seems).
11935 (group_match_null_string_p, alt_match_null_string_p)
11936 (common_op_match_null_string_p): Remove.
95cd4c40 11937
7397acc4
DL
119382000-03-08 Dave Love <fx@gnu.org>
11939
11940 * config.in: Don't depend on __STDC__ for volatile.
11941 Add POINTER_TYPE, PTR, PROTOTYPES.
11942
11943 * hftctl.c, strftime.c: Use PROTOTYPES.
11944 * eval.c (find_handler_clause): Likewise.
11945
11946 * mem-limits.h: Use POINTER_TYPE.
11947
11948 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11949 (memory_warnings): Declare using POINTER_TYPE.
11950
5e91ff9e
GM
119512000-03-08 Gerd Moellmann <gerd@gnu.org>
11952
feab4fba
GM
11953 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11954
52283633 11955 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11956
5e91ff9e
GM
11957 * xfns.c: Remove obsolete code in #if 0.
11958 (Fx_focus_frame): New function.
11959
a735b7e1
KH
119602000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11961
11962 * coding.c (coding_category_name): Add coding-category-utf-8,
11963 coding-category-utf-16-be, coding-category-utf-16-le.
11964 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11965 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11966 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11967 (detect_coding_utf_8): New function.
11968 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11969 UTF_16_LOW_SURROGATE_P): New macros.
11970 (detect_coding_utf_16): New function
11971 (detect_coding_mask): When priorities are specified, skip any
11972 categories that have `nil' coding-system. Fix bug of returning
11973 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11974 returns a mask not set in PRIORITIES.
11975 (detect_eol_type_in_2_octet_form): New function.
11976 (detect_eol): selects detect_eol_type_XXX to call according to
11977 cooding->category_idx.
11978 (detect_coding_system): Remove `nil' coding-system in the result.
11979 (Fupdate_coding_systems_internal): Update all coding-categories.
11980
52283633
SM
11981 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11982 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11983 New macros.
11984 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11985 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11986 (CODING_CATEGORY_IDX_UTF_16_LE)
11987 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11988 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11989 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11990 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11991
9994cc69
GM
119922000-03-07 Gerd Moellmann <gerd@gnu.org>
11993
e9b4e5ff
GM
11994 * doc.c (Fdocumentation_property): If value is not a string,
11995 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11996
f7daf1e1
GM
11997 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11998 close the display with XtCloseDisplay. This caused a bus error
11999 on OpenWindows.
12000
9994cc69
GM
12001 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12002 complete but not unique.
12003
4336c705
GM
120042000-03-06 Gerd Moellmann <gerd@gnu.org>
12005
18bb0684
GM
12006 * process.c (send_process): Remove local variable `procname' that
12007 might become invalid when a GC happens. Instead, access the
12008 process name slot directly.
12009
4336c705
GM
12010 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12011 orig_height if set.
12012
12013 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12014 orig_height if set.
12015
515d0d0e
EZ
120162000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12017
12018 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12019 glyph matrices have been freed.
12020
100b3cbb
GM
120212000-03-05 Gerd Moellmann <gerd@gnu.org>
12022
50df5e5a 12023 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12024 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12025
12026 * xfns.c (QCdata): Moved to xdisp.c.
12027
12028 * xdisp.c (QCdata): Moved here from xfns.c.
12029 (syms_of_xdisp): Initialize QCdata.
12030
12031 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12032
12033 * window.c (coordinates_in_window): Use
12034 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12035 FRAME_INTERNAL_BORDER_WIDTH.
12036
100b3cbb 12037 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 12038 it is obviously invalid.
100b3cbb
GM
12039
12040 * xterm.c (x_term_init): Create a colormap if not using the
12041 default visual.
12042
12043 * xterm.h (select_visual): Change prototype.
12044
12045 * xfns.c (select_visual): Rewritten. Recognize user-specified
12046 visual classes.
12047 (visual_classes): New variable.
12048
64d739c4
GM
120492000-03-04 Gerd Moellmann <gerd@gnu.org>
12050
12051 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
12052 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
12053 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 12054 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
12055 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
12056 XtNcolormap resources.
12057 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
12058 (Fx_create_frame): Initialize color members of x_output structure.
12059 (xpm_load): Pass colormap to XPM lib.
12060
12061 * xfaces.c (x_free_colors): Access colormap of frame using
12062 FRAME_X_COLORMAP. Be paranoid about freeing black and white
12063 when default colormap is used.
12064
12065 * xterm.c (x_term_init): Set Colormap member of x_display_info
12066 structure. Copy colormap if resource `privateColormap' is
12067 specified (PseudoColor only).
12068 (x_setup_relief_color): Access colormap of frame using
12069 FRAME_X_COLORMAP.
12070
12071 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
12072 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
12073
c3cee013
JR
120742000-03-04 Jason Rumney <jasonr@gnu.org>
12075
12076 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
12077 other non-platform-specific equivalents.
64d739c4 12078 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
12079 specific functions and macros as their w32 equivalents where
12080 non-platform-specifics are not available.
12081 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
12082 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
12083 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12084 (frame_update_line_height): Use macros to access f->output_data.
12085 (defined_color): Remove FIXME comments; fixed.
12086 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12087 into #ifdef blocks. Add WINDOWSNT blocks.
12088 (Fx_list_fonts): Use macros for accessing font data.
12089 (set_lface_from_font_name): Different default fonts for X and
12090 WINDOWSNT.
12091 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12092 scalable for backward compatibility.
64d739c4 12093 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12094 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12095
64d739c4 12096 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12097 syms_of_w32faces.
12098
12099 * makefile.nt (w32faces.obj): Remove.
12100 (xfaces.obj): Add.
12101
807cc41c
JR
121022000-03-03 Jason Rumney <jasonr@gnu.org>
12103
12104 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12105 correct parameters.
12106
0007072a
KR
121072000-03-03 Ken Raeburn <raeburn@gnu.org>
12108
12109 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12110 standard ELF definitions here if the system header does not.
12111
71a6ba55
GM
121122000-03-03 Gerd Moellmann <gerd@gnu.org>
12113
12114 * xterm.c (PER_CHAR_METRIC): Removed.
12115 (x_per_char_metric_1, x_default_char): New functions.
12116 (x_per_char_metric): If font's default char is invalid, return
12117 metrics of a suitably chosen usable default char.
12118 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12119 char, replace occurrences of unprintable chars with a suitably
12120 chosen usable default char.
71a6ba55 12121
900fa1f1
GM
121222000-03-02 Gerd Moellmann <gerd@gnu.org>
12123
42f55fe0
GM
12124 * xterm.c (note_mouse_highlight): Return quickly if frame's
12125 glyph matrices have been freed.
12126
12127 * dispnew.c (free_glyphs): Block input while freeing matrices.
12128
900fa1f1
GM
12129 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12130
52283633
SM
12131 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12132 Use x_free_colors.
900fa1f1
GM
12133
12134 * dispextern.h (x_free_colors): Add prototype.
12135
12136 * xfaces.c (x_free_colors): New function.
12137 (unload_color, free_face_colors): Use it.
12138
2f950292
EZ
121392000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12140
12141 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12142
12143 * window.c [MSDOS]: Include msdos.h.
12144
54d04320
DL
121452000-03-02 Dave Love <fx@gnu.org>
12146
12147 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12148
12149 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12150 set C_OPTIMIZE_SWITCH for gcc.
12151
0ba93ac4
KH
121522000-03-02 Kenichi Handa <handa@etl.go.jp>
12153
12154 * coding.c (coding_save_composition): Be sure to allocate
12155 composition data area in coding even if there's no composition in
12156 the current run.
12157
a2bc11d4
JR
121582000-03-01 Jason Rumney <jasonr@gnu.org>
12159
12160 * w32term.c: Equivalent changes to those made to xterm.c on
12161 2000-02-25 and 2000-02-24.
12162
12163 * w32fns.c: Equivalent changes to those made to xfns.c on
12164 2000-02-25 and 2000-02-21.
12165
12166 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12167 correct line-end convention is followed.
12168
12169 * w32menu.c [HAVE_BOXES]: Remove #undef.
12170 (single_keymap_panes): Remove code for simulating checkmarks.
12171 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12172 Remove code for drawing simulated checkmarks.
12173 (w32_menu_show): make unibyte help string correctly.
12174 (add_menu_item): draw standard Windows checkmarks. Draw radio
12175 buttons as radio buttons if possible.
12176
72d19d75
GM
121772000-03-01 Gerd Moellmann <gerd@gnu.org>
12178
2df636f4
GM
12179 * sysdep.c (start_of_text): Don't define this function for NetBSD
12180 with ELF.
12181
427ec082 12182 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12183 Don't define.
12184 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12185 (LINKER): Don't undef if __NetBSD__ is defined.
12186
12187 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12188
12189 * fileio.c [__NetBSD__]: Define `unix'.
12190
72d19d75
GM
12191 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12192
ed4d0512
GM
121932000-02-29 Gerd Moellmann <gerd@gnu.org>
12194
50b1039f
GM
12195 * atimer.c (start_atimer): Don't abort when timers are stopped.
12196 (append_atimer_lists): New function.
12197 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12198 arbitrary lists of stopped and running atimers.
12199
ed4d0512
GM
12200 * atimer.c (cancel_atimer): Handle canceling an atimer when
12201 some timers are stopped.
12202
12203 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12204 after canceling it.
12205
12206 * fns.c (maybe_resize_hash_table): Handle case of new size
12207 coming out as being the same as old size.
12208
387023ee
JR
122092000-02-27 Jason Rumney <jasonr@gnu.org>
12210
12211 * makefile.nt: Add atimer.h to dependencies.
12212 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12213 * w32console.c: Only disable window system features for dispextern.h
12214 (initialize_w32_display): Build a display info for the console.
12215 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12216 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12217 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12218 as 2 button mice.
12219 * w32gui.h (struct W32FontStruct): Revert last change after change
12220 to xdisp.c.
12221 * w32menu.c (single_submenu): Set up help string.
12222 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12223 (w32_dialog_show): Set up help string.
12224 * w32term.c (w32_display_info_for_display): Remove unused function.
12225 (w32_draw_bitmap): Use pre-built bitmaps.
12226 (w32_initialize_display_info): New function to initialize parts of
12227 display info that are common to both GUI and console frames.
12228 (w32_term_init): Use w32_initialize_display_info. Do not set
12229 Vw32_num_mouse_buttons here, as it is not called for console
12230 frames. Build bitmaps for indicating truncated lines etc.
12231 (x_delete_display): Destroy pre-built bitmaps.
12232 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12233 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12234
4516715a
DL
122352000-02-27 Dave Love <fx@gnu.org>
12236
12237 * lisp.h: Add a bunch of prototypes.
12238
171ca836
KH
122392000-02-26 Kenichi Handa <handa@etl.go.jp>
12240
12241 * keyboard.c (read_char): Set `usec' correctly.
12242
4013921d
KH
122432000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12244
12245 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12246 `lambda', set reg[RRR] to the map index.
12247 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12248 reg[RRR] to 0. Otherwise, set it to -1.
12249
9244a058
GM
122502000-02-25 Gerd Moellmann <gerd@gnu.org>
12251
2df636f4 12252 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12253
18e21ce8 122542000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12255
f43d79c1
GM
12256 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12257 and contains a `:', prepend `/:'.
12258
12259 * window.c (select_window_1): If selected_window is nil,
12260 don't "swap out" the buffer's point.
12261 (Fset_window_configuration): Set selected_window to nil
12262 before calling Fselect_window.
12263 (unshow_buffer): Don't set point in buffer from window's point
12264 if another more recently selected window also shows the buffer.
12265
bed0c171
GM
122662000-02-25 Gerd Moellmann <gerd@gnu.org>
12267
449c3c52
GM
12268 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12269
f5b58615
GM
12270 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12271 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12272 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12273 New variables.
f5b58615
GM
12274 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12275 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12276 (hide_busy_cursor): New functions.
12277 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12278
12279 * minibuf.c (read_minibuf): Cancel busy-cursor.
12280
12281 * keyboard.c (command_loop_1): Call start_busy_cursor before
12282 Fcommand_execute and cancel_busy_cursor after it.
12283 (timer_check): Remove busy-cursor code.
12284 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12285 cursor timer.
12286
12287 * process.c (wait_reading_process_input): Remove busy-cursor code.
12288
12289 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12290 Fx_hide_busy_cursor.
12291
12292 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12293 Remove prototyoes.
12294 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12295
12296 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12297
12298 * xterm.c (XTread_socket): Remove busy-cursor code.
12299
4eb8436f
GM
12300 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12301 (build_frame_matrix_from_leaf_window): Put code handling
12302 glyph row's not being a slice of a frame row in #if 0.
12303 (sync_window_with_frame_matrix_rows): New function.
12304 (frame_row_to_window): New function.
12305 (mirror_line_dance): Handle copies between windows.
12306
3cb65b0e
GM
12307 * lread.c (Fload): Use `xfree' instead of `free'.
12308 (init_obarray): Use `xmalloc' instead of `malloc'.
12309
bed0c171
GM
12310 * window.c (Fset_window_buffer): Set WINDOW to the window
12311 after decoding.
2add4349
GM
12312 (coordinates_in_window): Take frame's internal border width
12313 into account.
bed0c171 12314
42088c12
GM
123152000-02-24 Gerd Moellmann <gerd@gnu.org>
12316
12317 * xterm.c (x_display_and_set_cursor): Display cursor of
12318 non-selected windows depending on the setting of
12319 cursor_in_non_selected_windows.
12320
12321 * xdisp.c (cursor_in_non_selected_windows): New variable.
12322 (syms_of_xdisp): DEFVAR_BOOL it.
12323
d1e103b2
GM
123242000-02-23 Gerd Moellmann <gerd@gnu.org>
12325
723e779c
GM
12326 * data.c (Fstring_to_number): If number is greater than what
12327 fits into an integer, return a float.
12328
d1e103b2
GM
12329 * eval.c (specbind): Remove references to
12330 keyword_symbols_constant_flag.
12331
12332 * data.c (keyword_symbols_constant_flag): Removed.
12333 (Fmakunbound, set_internal, syms_of_data): Remove references to
12334 keyword_symbols_constant_flag.
12335
12336 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12337
214f877f
KH
123382000-02-23 Kenichi Handa <handa@etl.go.jp>
12339
12340 * syntax.c (multibyte_syntax_as_symbol): New variable.
12341 (syms_of_syntax): Declare it as a Lisp variable.
12342 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12343 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12344 nonzero, treat all multibyte characters as symbol.
52283633 12345 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12346
130adcb7
EZ
123472000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12348
3cb65b0e 12349 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12350 a deleted frame.
130adcb7 12351
17cbbf95
GM
123522000-02-21 Gerd Moellmann <gerd@gnu.org>
12353
12354 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12355
12356 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12357 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12358
beb0bc36
DL
123592000-02-21 Dave Love <fx@gnu.org>
12360
12361 * frame.c (Vmouse_position_function): New variable.
12362 (Fmouse_position): Use it.
12363 (syms_of_frame): Install it.
12364
12365 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12366
1d92afcd
GM
123672000-02-20 Gerd Moellmann <gerd@gnu.org>
12368
12369 * fileio.c (Finsert_file_contents): Unbind the binding of
12370 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12371
12372 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12373 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12374 (specbind, unbind_to): Handle most common case of non-constant
12375 symbol with trivial value specially.
12376
12377 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12378
18e21ce8 123792000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12380
12381 * data.c (Fmake_variable_buffer_local): Doc fix.
12382 Init found_for_buffer to 0.
12383 (Fmake_variable_frame_local): If the variable has already
12384 been buffer-local, set the check_frame field.
12385
1d4311c3
EZ
123862000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12387
12388 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12389 produced for CODING_MODE_LAST_BLOCK requires.
12390
2dc95ddd
DL
123912000-02-18 Dave Love <fx@gnu.org>
12392
12393 * keyboard.c (echo_keystrokes): Remove declaration.
12394 (Vecho_keystrokes) New variable.
12395 (read_char, record_menu_key, read_key_sequence): Use it to allow
12396 use of float value.
12397 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12398
12399 * lread.c: Undef feature selection macros before defining.
12400
f0930f35
GM
124012000-02-18 Gerd Moellmann <gerd@gnu.org>
12402
12403 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12404 for symbols other than the symbol in question.
12405
e3d4de90
DL
124062000-02-17 Dave Love <fx@gnu.org>
12407
12408 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12409
0b378936
GM
124102000-02-17 Gerd Moellmann <gerd@gnu.org>
12411
d621caf7
GM
12412 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12413
0b378936
GM
12414 * alloc.c (enum mem_type): Compile unconditionally.
12415
3b451f74
EZ
124162000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12417
12418 * xfaces.c (tty_defined_color): Don't return faulire indication
12419 for unspecified-fg and unspecified-bg pseudo-colors.
12420
10689a01
GM
124212000-02-17 Gerd Moellmann <gerd@gnu.org>
12422
1216f5e4
GM
12423 * alloc.c (mark_object): Don't mark symbol names in pure space.
12424 (gc_sweep): Don't unmark symbol names in pure space.
12425
12426 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12427 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12428 [GC_MARK_STACK]: New defines.
427ec082 12429 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12430 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12431
12432 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12433
12434 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12435 allocate_buffer instead of xmalloc.
12436
12437 * alloc.c (toplevel): Include setjmp.h.
12438 (PURE_POINTER_P): New define.
12439 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12440 (Vdead) [GC_MARK_STACK]: New variable.
12441 (lisp_malloc): Add parameter TYPE, call mem_insert if
12442 GC_MARK_STACK is defined.
12443 (allocate_buffer): New function.
427ec082 12444 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12445 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12446 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12447 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12448 (MEM_NIL) [GC_MARK_STACK]: New define.
12449 (struct mem_node) [GC_MARK_STACK]: New structure.
12450 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12451 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12452 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12453 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12454 (mark_stack) [GC_MARK_STACK]: New functions.
12455 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12456 (clear_marks): Removed.
12457 (gc_sweep): Set free conses' car, free floats' type, free
12458 symbols' function to Vdead. Use lisp_free to free buffers.
12459 (init_alloc_once): Initialize Vdead.
12460 (survives_gc_p): Return non-zero for pure objects.
12461
12462 * alloc.c: Add comments throughout the file.
12463
2503c8b1
GM
12464 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12465 that unblocks alarms.
12466
8389e1e2
GM
12467 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12468 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12469 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12470
10689a01 12471 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12472
bfc17d18
KH
124732000-02-17 Kenichi Handa <handa@etl.go.jp>
12474
4a09dee0
KH
12475 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12476 avoid infinite error signaling. Allocate sufficient memory for
12477 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12478
2b927d02
SM
124792000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12480
12481 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12482 depends on the previous behavior.
12483
b49cb764
GM
124842000-02-16 Gerd Moellmann <gerd@gnu.org>
12485
12486 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12487
99e95407
GM
124882000-02-15 Gerd Moellmann <gerd@gnu.org>
12489
12490 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12491
12492 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12493 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12494 write(2).
12495
6ffd3cf7
RS
124962000-02-15 Richard M. Stallman <rms@gnu.org>
12497
12498 * data.c (set_internal): Don't make variable buffer-local
12499 if within a let-binding for the same buffer.
12500 (let_shadows_buffer_binding_p): New function.
12501
12502 * eval.c (specbind): For buffer-local value,
12503 record the current buffer also.
12504 (unbind_to): Cope with that change.
12505
cad53475
GM
125062000-02-15 Gerd Moellmann <gerd@gnu.org>
12507
12508 * window.c (Fsave_window_excursion): Doc fix.
12509
1aa963c8
SM
125102000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12511
12512 * syntax.c (back_comment): Make sure we only consider comment-starters
12513 of the relevant style and return -1 in case of a failure to find the
12514 beginning of the comment.
12515 (Fforward_comment): If back_comment fails, go back to the position just
12516 after the comment-end.
12517 (scan_lists): Add comment describing a very minor bug.
12518
b9b84fd3
SM
125192000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12520
12521 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12522 `completion-regexp-list' in the docstring.
12523
3a28db80
DL
125242000-02-14 Dave Love <fx@gnu.org>
12525
12526 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12527
fb4a568d
SM
125282000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12529
12530 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12531 to Emacs' syntax. Also fix the comment about set/not-set meanings
12532 since Emacs syntax is not the value 0 any more.
12533 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12534 since it's now part of RE_SYNTAX_EMACS.
12535
1063ebb5
DL
125362000-02-12 Dave Love <fx@gnu.org>
12537
52283633 12538 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12539
fb07a302
GM
125402000-02-12 Gerd Moellmann <gerd@gnu.org>
12541
12542 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12543
aaf2320c
DL
125442000-02-12 Dave Love <fx@gnu.org>
12545
12546 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12547
12548 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12549 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12550 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12551
12552 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12553
12554 * s/nextstep.h: Don't define HAVE_ALLOCA.
12555
12556 * config.in: Add vfork bits.
12557
eedf8bde
GM
125582000-02-12 Gerd Moellmann <gerd@gnu.org>
12559
12560 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12561 unwind function to undo the effect of stopping atimers.
12562
52283633 12563 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12564
12565 * atimer.c (stopped_atimers): New variable.
12566 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12567 New functions.
12568
12569 * atimer.h (stop_other_atimers, run_all_atimers)
12570 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12571
eedf8bde
GM
12572 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12573
8476c2f8
KR
125742000-02-11 Ken Raeburn <raeburn@gnu.org>
12575
12576 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12577 library may depend on jpeg.
12578 (atimer.o): Depends on atimer.c.
12579
0e85e4a3
KH
125802000-02-11 Kenichi Handa <handa@etl.go.jp>
12581
12582 * insdel.c (del_range_1): Call update_compositions.
12583 (del_range_both): Call update_compositions just once..
12584
97fa0cc8
DL
125852000-02-10 Dave Love <fx@gnu.org>
12586
12587 * xfns.c (create_frame_xic): Fix initialization of automatic
12588 aggregates for pcc.
12589
25566a3c
KH
125902000-02-09 Kenichi Handa <handa@etl.go.jp>
12591
12592 * ccl.c (CCL_MAKE_CHAR): New macro.
12593 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12594 registers by CCL_MAKE_CHAR before calling translate_char.
12595 <CCL_TranslateCharacterConstTbl> Likewise.
12596
69da54ba
DL
125972000-02-08 Dave Love <fx@gnu.org>
12598
12599 * lread.c (__EXTENSIONS__): Define.
12600
f7136ee8
GM
126012000-02-08 Gerd Moellmann <gerd@gnu.org>
12602
12603 * puresize.h (BASE_PURESIZE): Increase to 650000.
12604
7768790b
EZ
126052000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12606
12607 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12608 the help message.
12609
38fd211b
EZ
126102000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12611
12612 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12613 md, mh, mb, mr, and me to the fake termcap entry.
12614
66e4690f
KR
126152000-02-06 Ken Raeburn <raeburn@gnu.org>
12616
12617 * sound.c (sound_cleanup): Don't call device close routine if the
12618 function pointer is null.
12619
a75dfea0
AI
126202000-02-06 Andrew Innes <andrewi@gnu.org>
12621
12622 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12623 around image definitions and prototypes.
12624 (gamma_correct) [WINDOWSNT]: New prototype.
12625
12626 * w32term.c (x_make_frame_visible): Replace call to
12627 input_poll_signal with poll_for_input.
12628
12629 * window.c [WINDOWSNT]: Include w32term.h.
12630
12631 * xdisp.c [WINDOWSNT]: Include w32term.h.
12632
12633 * makefile.nt: Add dependencies on w32gui.h.
12634 (OBJ1): Include atimer.obj.
12635 ($(BLD)\atimer.obj): New dependency rule.
12636
12637 * w32.c (sigmask): New function (does nothing).
12638 (sigunblock): Ditto.
12639
12640 * frame.c [WINDOWSNT]: Include w32term.h.
12641
12642 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12643
12644 * lread.c (syms_of_lread): Fix literal newlines.
12645
12646 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12647 the string constant limit (2048 bytes) in MSVC.
12648 (main): Ditto.
12649
59ddecde
GM
126502000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12651
52283633 12652 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12653 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12654 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12655 dispatch the event.
12656
07590973
DL
126572000-02-04 Dave Love <fx@gnu.org>
12658
12659 * fileio.c: Remove some unused vars.
12660 (_GNU_SOURCE): Define (for euidaccess).
12661
12662 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12663
12664 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12665 gcpro1, gcpro2.
12666 (read_minibuf): Deal with allow_props correctly.
12667
649351f9
EZ
126682000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12669
12670 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12671
66e4690f 126722000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12673
12674 * search.c (compile_pattern): If a cache entry has a nil regexp,
12675 fill in that entry instead of clobbering a previously cached
12676 string regexp.
12677
66e4690f 126782000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12679
12680 * puresize.h (BASE_PURESIZE): Increase to 610000.
12681
d240a249
GM
126822000-02-02 Gerd Moellmann <gerd@gnu.org>
12683
12684 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12685 can GC.
12686
ca91fb26
KH
126872000-02-02 Kenichi Handa <handa@etl.go.jp>
12688
25660570
KH
12689 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12690 instead of incrementing ic directly.
12691 <CCL_WriteExprConst> Likewise.
12692 <ccl_set_expr>: Set ic to jump_address.
12693
ca91fb26
KH
12694 * fileio.c (e_write): Fix the handling of
12695 CODING_FINISH_INSUFFICIENT_SRC.
12696
2ede9689
DL
126972000-02-01 Dave Love <fx@gnu.org>
12698
12699 * editfns.c (Fpropertize): Doc fix.
12700
12701 * process.c (Fstart_process): Doc fix.
12702
12703 * eval.c: Fix various doc strings not to duplicate information
12704 from help-manyarg-func-alist.
12705
52283633 12706 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12707
12708 * doc.c (Vhelp_manyarg_func_alist): New variable.
12709 (Fdocumentation): Use it.
12710 (syms_of_doc): Define it.
12711
b6680a0e
GM
127122000-01-31 Gerd Moellmann <gerd@gnu.org>
12713
2cb750ba
GM
12714 * xterm.c (xim_open_dpy): Remove unused local variable.
12715
52283633 12716 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12717
12718 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12719 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12720
b6680a0e
GM
12721 * fns.c (sweep_weak_table): New function.
12722 (sweep_weak_hash_tables): Use it. Keep on marking until there
12723 is no more change.
12724
994c5afe
GM
127252000-01-30 Gerd Moellmann <gerd@gnu.org>
12726
12727 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12728 that XTread_socket does not crash by trying to call XNoOp on a
12729 closed display.
427ec082 12730
f00276e3
JR
127312000-01-30 Jason Rumney <jasonr@gnu.org>
12732
12733 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12734 Change selected_frame to SELECTED_FRAME ().
12735 (w32_console_mouse_position): Remove #ifndef MULE from around
12736 `insist' parameter.
12737
12738 * makefile.nt: Remove dosfns.obj.
12739
12740 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12741
12742 * w32fns.c (w32_defined_color): Check for valid frame before
12743 applying gamma correction. Eliminate dependency on frame elsewhere.
12744 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12745 (w32_to_x_font): Use resx and resy not height_in and width_in.
12746 (x_to_w32_font): Doc fix.
12747 (xlfd_strip_height): New function to strip and return font height.
12748 (w32_font_match): Compare height separately from rest of xlfd
12749 spec, using xlfd_strip_height.
12750
12751 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12752 width_in. Use w32_defined_color in place of defined_color.
12753
12754 * w32faces.c: Merge more of DOS and X specifics in preparation for
12755 merge with xfaces.c.
12756 (defined_color): Remove FIXME comment.
12757 (tty_color_name): Provide w32-specific function.
12758 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12759
12760 * w32console.c (turn_on_face, turn_off_face): Removed.
12761 (w32_face_attributes): New function.
12762 (Global_variables): Reduce scope where possible.
12763 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12764 fill attribute.
12765 (hl_mode): Don't modify text attributes.
12766 (write_glyphs): Don't do anything if len <= 0. Use
12767 w32_face_attributes to get attributes for drawing. Write
12768 terminating codes using char_attr_normal.
12769 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12770 (update_begin, update_end): Likewise.
12771 (vga_stdcolor_name): New function.
12772 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12773 (Fset_screen_color): Remove char_attr_reverse.
12774
b08e8bb2
GM
127752000-01-29 Gerd Moellmann <gerd@gnu.org>
12776
12777 * xfns.c (xic_set_preeditarea): Take window parameter and
12778 window-relative pixel-positions.
12779
12780 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12781 is its frame's selected window.
12782 (xim_instantiate_callback): Likewise.
12783
12784 * xfns.c (x_create_im): Removed.
12785 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12786 (supported_xim_styles): Renamed from supported_styles.
12787 (best_xim_style): Renamed from best_style.
12788 (create_frame_xic): Renamed from xic_create_frame.
12789 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12790
b08e8bb2
GM
127912000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12792
12793 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12794 our frames, call XFilterEvent with 2nd parameter `None'.
12795 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12796 returning XBufferOverflow.
52283633 12797 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12798 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12799 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12800 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12801 (xim_initialize, xim_close)
12802 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12803 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12804 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12805 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12806
12807 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12808 and `xim_styles'.
12809 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12810 `xic_style' and `xic_xfs'.
12811 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12812 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12813 (FRAME_XIM): Removed.
12814
12815 * xfns.c (supported_styles): New variable.
12816 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12817 (xic_create_xfontset, best_style, xic_create_frame)
12818 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12819 (xic_set_xfontset): New functions.
12820
142e109c
DL
128212000-01-28 Dave Love <fx@gnu.org>
12822
12823 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12824
12825 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12826
b02786f9
GM
128272000-01-28 Gerd Moellmann <gerd@gnu.org>
12828
d060bc9f
GM
12829 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12830 for *scratch* if it already existed.
12831
b02786f9
GM
12832 * emacs.c (USAGE): New macro.
12833 (main): Use it to display usage information.
12834
2c52d7e4
EZ
128352000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12836
12837 Support for the menu-help feature:
12838
52283633 12839 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12840
12841 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12842 part of the line to the termscript file.
12843 (IT_clear_to_end): Clear the entire line, not just its beginning.
12844 (menu_help_message, prev_menu_help_message): New variables.
12845 (IT_menu_make_room): Make room for the help_text member.
12846 (IT_menu_display): New argument disp_help; all callers changed.
12847 If disp_help is non-zero, store the help text of the active menu
12848 item in menu_help_message.
12849 (XMenuAddPane): Initialize the help_text member to NULL.
12850 (XMenuAddSelection): New argument help_text. Store it in the
12851 XMenu structure.
12852 (XMenuActivate): New argument help_callback. If the value of
12853 menu_help_message has changed since the last time, display the
12854 menu help message text while waiting for the mouse to move. Clear
12855 the echo area before exiting.
12856 (XMenuDestroy): Free the help_text member.
12857
ffe0bcd1
GM
128582000-01-27 Gerd Moellmann <gerd@gnu.org>
12859
12860 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12861 XMenuAddSelection. Pass help callback to XMenuActivate.
12862 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12863
50dbd23f
EZ
128642000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12865
12866 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12867 and EMACS_SET_USECS.
12868
f5941bf8
GM
128692000-01-26 Dave Love <fx@gnu.org>
12870
6c67ddee
DL
12871 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12872
f5941bf8
GM
12873 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12874 an error may be signalled.
12875
9e49c990
GM
128762000-01-26 Gerd Moellmann <gerd@gnu.org>
12877
fc3cb460
GM
12878 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12879 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12880
9e49c990
GM
12881 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12882
d0c037d8
GM
128832000-01-25 Gerd Moellmann <gerd@gnu.org>
12884
12885 * charset.c (Fstring): If there is a multibyte char among
12886 the args, always return a multibyte string.
12887
e12489f9
GM
128882000-01-25 Gerd Moellmann <gerd@gnu.org>
12889
12890 * sysdep.c (sys_select): Turn atimers off and on instead of
12891 recording and restoring old alarm handler
12892
12893 * process.c (toplevel): Include atimer.h.
12894 (create_process_1): Rewritten.
12895 (create_process): Use atimers instead of alarm.
12896 (wait_reading_process_input) [hpux]: Turn atimers off instead
12897 of turning off SIGALRM.
12898 (wait_reading_process_input): Turn off atimers instead off
12899 calling stop_polling.
12900
12901 * emacs.c (main): Call init_atimer.
12902
12903 * keyboard.c (toplevel): Include systime.h and atimer.h.
12904 (polling_for_input): Removed because unused.
12905 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12906 (poll_timer): New variable.
12907 (poll_for_input, poll_for_input_1): New functions.
12908 (start_polling, stop_polling): Rewritten.
12909
12910 * keyboard.h (polling_for_input): Removed.
427ec082 12911
e12489f9
GM
12912 * atimer.h, atimer.c: New files.
12913
12914 * Makefile.in (obj): Add atimer.o.
12915 (atimer.o): New target.
12916
12917 * blockinput.h (pending_atimers): Add extern declaration.
12918 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12919
12920 * lisp.h (popup_activated_flag): Add extern declaration.
12921
12922 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12923 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12924 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12925
12926 * xterm.c (toplevel): Include atimer.h.
12927 (toolkit_scroll_bar_interaction): New variable.
12928 (Fxt_process_timeouts): Removed.
12929 (x_process_timeouts): New function.
12930 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12931 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12932 (x_make_frame_visible): Call poll_for_input_1 instead of
12933 input_poll_signal. Don't call alarm.
12934 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12935
1e5279b9
DL
129362000-01-24 Dave Love <fx@gnu.org>
12937
6c67ddee 12938 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12939 Don't use -cckr -- apparently not now necessary.
12940
edf6aeb8
EZ
129412000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12942
12943 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12944 screen boundary.
12945
9badad41
JR
129462000-01-23 Jason Rumney <jasonr@gnu.org>
12947
12948 * w32fns.c (w32_defined_color): Apply gamma correction before
12949 trying to map to the palette.
12950 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12951 to w32_clear_rect.
12952
12953 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12954 here. Callers changed to always pass real device context.
12955 (w32_draw_bitmap): Likewise.
12956 (w32_get_glyph_overhangs): Likewise.
52283633 12957 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12958 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12959 pfnSetScrollInfo and SetScrollRange.
12960 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12961 back into MULE characters after decoding them.
12962 (x_get_glyph_face_and_encoding): Likewise.
12963 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12964 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12965 (x_produce_glyphs): Calculate per char metrics for a character
12966 that we know exists in default font when font_not_found_p is true.
12967
63bd786b
JR
129682000-01-22 Jason Rumney <jasonr@gnu.org>
12969
12970 * makefile.nt (intervals.obj, composite.obj): New modules.
12971 (composite.h): Added as dependency where appropriate.
12972
12973 * w32gui.h (XGCValue): New struct for emulating X GCs.
12974
12975 * w32term.h (XCharStruct): New struct for emulating X.
12976
12977 * w32console.c (turn_on_face, turn_off_face): New functions.
12978 (change_line_highlight): New prototype for new redisplay.
12979 (write_glyphs): Support multibyte text. Support faces.
12980
52283633 12981 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12982
12983 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12984 throughout. struct frame * in place of FRAME_PTR.
12985 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12986 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12987 (w32_get_arg): Renamed from x_get_arg.
12988 (Fx_file_dialog): New function.
12989 (w32_list_fonts): Check cache before asking system.
12990 (Vw32_enable_synthesized_fonts): New variable.
12991 (Vw32_enable_italics): Obsolete, removed.
12992
12993 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12994 Use SELECTED_FRAME macro.
12995
12996 * w32menu.c: Add skeleton support for help strings on menus.
12997 (add_menu_item): Native checkbox and radio support added, but not
12998 yet enabled due to bugs.
12999 (push_menu_item): Add parameters type, selection and help.
13000 Callers updated.
13001 Formatting changes to reduce unnecessary diffs with xmenu.c.
13002
13003 * w32select.c (Fw32_set_clipboard_data): Update call to
13004 find_charset_in_str.
13005
13006 * w32term.c: Complete rewrite for new redisplay based on new
13007 xterm.c with necessary sections merged back in from old w32term.c.
13008
6ffd3cf7 130092000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13010
13011 * data.c (set_internal): Further fix in same criterion.
13012
6ffd3cf7 130132000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13014
13015 * data.c (set_internal): Fix the criteria for whether
13016 to swap out the old cached binding.
13017
60af03f1
DL
130182000-01-19 Dave Love <fx@gnu.org>
13019
13020 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13021
f9be074f
KH
130222000-01-18 Kenichi Handa <handa@etl.go.jp>
13023
13024 * regex.c (re_compile_fastmap): While checking a range table for
13025 `charset', skip flag bits for a character class correctly.
13026
52b8dbf9
GM
130272000-01-17 Gerd Moellmann <gerd@gnu.org>
13028
d36100c9
GM
13029 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13030
52283633 13031 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13032
13033 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13034 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13035
13036 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
13037 MENU_ITEMS_ITEM_.*.
13038 (MENU_ITEMS_ITEM_HELP): New enumerator.
13039 (push_menu_item): Add parameter HELP. Record help in menu_items.
13040 (single_menu_item, single_submenu, list_of_items): Call
13041 push_menu_item with new parameter.
13042 (single_submenu): Set help string in widget value.
13043 (menu_highlight_callback): New function.
13044 (set_frame_menubar): Call lw_create_widget with new
13045 parameter list.
13046 (xmenu_show, xdialog_show): Ditto.
13047
3139018f
GM
130482000-01-13 Gerd Moellmann <gerd@gnu.org>
13049
13050 * sound.c (Fplay_sound): Improve doc string.
13051
83c8f461
RS
130522000-01-11 Richard M. Stallman <rms@gnu.org>
13053
13054 * lisp.h (set_internal): Enter the new arg.
13055
13056 * eval.c (specbind): Record buffer-local variables specially,
13057 indicating which buffer's binding was saved.
13058 (unbind_to): Restore buffer-local variables specially
13059 in the proper buffer.
13060
13061 * data.c (set_internal): New arg BUF.
427ec082 13062
83c8f461
RS
13063 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
13064 * data.c (Fset): Pass new arg to set_internal.
13065 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 13066
1fab1775
GM
130672000-01-11 Gerd Moellmann <gerd@gnu.org>
13068
52283633 13069 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 13070
83c8f461 130712000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
13072
13073 * minibuf.c (Ftry_completion): Doc fix.
13074
7a85e4df
GM
130752000-01-11 Gerd Moellmann <gerd@gnu.org>
13076
13077 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
13078 vector, too.
13079
a970dae4
AS
130802000-01-11 Andreas Schwab <schwab@suse.de>
13081
13082 * coding.c (code_convert_region): Initialize total_skip.
13083
c65d14ee
DL
130842000-01-08 Dave Love <fx@gnu.org>
13085
13086 * eval.c (Fuser_variable_p): Check customizability too.
13087
834938d2
GM
130882000-01-07 Gerd Moellmann <gerd@gnu.org>
13089
13090 * minibuf.c (Fcompleting_read): Doc fix.
13091
e0303cd6
GM
130922000-01-05 Gerd Moellmann <gerd@gnu.org>
13093
8a26744b
GM
13094 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13095 -L /usr/local/lib.
13096
e0303cd6
GM
13097 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13098 Check that input style is supported before trying to create an
13099 IC for it.
13100 (x_window): Call x_create_im.
427ec082 13101
2e471eb5
GM
131022000-01-04 Gerd Moellmann <gerd@gnu.org>
13103
560a7bd2
GM
13104 * xfns.c (current_gif_memory_src): New variable.
13105 (gif_load): Record the address of the current memory source
13106 in current_gif_memory_src.
13107 (gif_read_from_memory): Use current_gif_memory_src.
13108
f9ee84a3
GM
13109 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13110 macros statement form.
13111
d1299cde
GM
13112 * sound.c (struct sound): Renamed from struct sound_file.
13113 (struct sound): Add members `data' and `header_size'.
13114 (enum sound_attr): Add SOUND_DATA.
13115 (current_sound, current_sound_device): Variables renamed from
13116 sound_file and sound_device.
13117 (parse_sound): Parse :data.
13118 (parse_sound): Handle sound data in strings.
13119 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13120 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13121 needed header size.
13122 (wav_play, au_play): Play sounds from string data.
13123
2e471eb5
GM
13124 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13125
13126 * lisp.h: Add prototype for allocate_string_data.
13127
52283633 13128 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13129
13130 * alloc.c (mark_buffer): Remove code in #if 0.
13131 (gc_sweep): Ditto.
13132 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13133 (strings_consed): New variable.
13134 (allocate_string): Set it.
13135 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13136 (Fmemory_use_counts): Return strings_consed. Use Flist.
13137
13138 * alloc.c: General cleanup in comments etc. Remove conditional
13139 compilation for `standalone'.
13140
13141 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13142
13143 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13144 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13145 (DONT_COPY_FLAG): Removed.
13146 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13147 (struct sdata, struct sblock): New
13148 (struct string_block): Rewritten.
13149 (STRINGS_IN_STRING_BLOCK): New macro.
13150 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13151 (large_sblocks, string_blocks, string_free_list): New variables.
13152 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13153 (init_strings): Rewritten.
13154 (allocate_string, allocate_string_data, compact_small_strings)
13155 (free_large_strings, sweep_strings): New functions.
13156 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13157 (struct string_block_head, current_string_block)
13158 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13159 (STRING_PAD): Removed.
13160 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13161 (Fgarbage_collect): Don't set mark bit in large strings.
13162 (mark_object): Mark strings differently. Mark symbol names
13163 differently.
13164 (survives_gc_p): Test marked strings differently.
427ec082 13165 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13166 symbol names.
13167 (compact_strings): Removed.
13168
42608ba8
EZ
131692000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13170
13171 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13172 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13173
e0a09e1a
KH
131742000-01-04 Kenichi Handa <handa@etl.go.jp>
13175
dd9f0750 13176 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13177 in a non-empty buffer.
dd9f0750 13178
3c0f3b15 13179 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13180
44cd3ae5
GM
131812000-01-03 Gerd Moellmann <gerd@gnu.org>
13182
13183 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13184 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13185
13186 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13187
c182a70f
EZ
131882000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13189
13190 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13191 need to test for MSDOS frames.
13192
24480d5b
EZ
131932000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13194
13195 * dosfns.c (unspecified_colors): Remove.
13196 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13197 unspecified_bg.
13198 (msdos_stdcolor_name): Return strings for unspecified fore- and
13199 back-ground colors.
13200
13201 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13202 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13203 (tty_color_name): Return Lisp strings for unspecified fore- and
13204 back-ground colors.
13205 (Finternal_set_lisp_face_attribute): Remove the special treatment
13206 for Qunspecified_{f,b}g.
52283633 13207 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13208
047f434a
GM
132092000-01-03 Gerd Moellmann <gerd@gnu.org>
13210
13211 * xdisp.c (reseat_at_next_visible_line_start): Position before
13212 newline only if ending up on a newline.
13213 (next_element_from_ellipsis): Return success. Handle case of
52283633 13214 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13215 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13216 returns 0.
13217
d684c676
EZ
132182000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13219
13220 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13221 (Fcolor_supported_p): Renamed from face-color-supported-p.
13222
5fe1d139
EZ
132232000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13224
13225 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13226 list of colors renamed to tty-defined-color-alist.
13227 (tty_color_name): Pass the frame to tty-color-by-index.
13228 (realize_tty_face): tty-color-alist is now a function which
13229 accepts the frame as argument.
13230
52283633 13231 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13232
816be8b8
EZ
132332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13234
13235 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13236 encode_terminal_code.
13237
b635321e
EZ
132382000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13239
13240 * dispnew.c (mode_line_string): Support termcap frames as well.
13241
9b784e96
GM
132422000-01-01 Gerd Moellmann <gerd@gnu.org>
13243
27189709
GM
13244 * syntax.c (Fforward_word): Undo previous change.
13245
13246 * editfns.c (Fconstrain_to_field): Don't constrain if
13247 inhibit-field-text-motion is non-nil.
13248 (Fline_beginning_position): Undo previous change.
13249 (Fline_end_position): Ditto.
13250
13251 * syntax.c (Fforward_word): Notice field boundaries only if
13252 inhibit-field-text-motion is nil.
13253
13254 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13255
13256 * editfns.c (Vinhibit_field_text_motion): New variable.
13257 (inhibit-field-text-motion): New DEFVAR_LISP.
13258 (Fline_beginning_position, Fline_end_position): Notice field
13259 boundaries only if inhibit-field-text-motion is nil.
13260
45158a91
GM
13261 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13262 All calls adjusted.
13263 (x_build_heuristic_mask): Likewise.
13264 (xbm_load_image_from_file): Change error output.
13265 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13266 (gif_load, gs_load, x_kill_gs_process): Ditto.
13267
9b784e96
GM
13268 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13269 color indices when accessing raster pixels.
63cec32f
GM
13270 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13271 one of :file or :data.
13272 (enum pbm_keyword_index): Add PBM_DATA.
13273 (pbm_format): Add :data.
13274 (pbm_image_p): Allow either :file or :data.
13275 (pbm_read_file): New function.
13276 (pbm_scan_number): Rewritten to read from string.
13277 (pbm_load): Support :data.
9b784e96 13278
2cb085db 13279See ChangeLog.8 for earlier changes.
6922b018
KH
13280
13281;; Local Variables:
49b3bd82 13282;; coding: iso-2022-7bit
6922b018 13283;; End:
2a34a036
GM
13284
13285 Copyright (C) 2001 Free Software Foundation, Inc.
13286 Copying and distribution of this file, with or without modification,
13287 are permitted provided the copyright notice and this notice are preserved.