*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
79f1f96c
MB
12001-10-19 Miles Bader <miles@gnu.org>
2
3 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
4 with fields and suggest using `forward-line' to avoid them.
5 * editfns.c (Fline_beginning_position, Fline_end_position):
6 Clarify documentation.
7
ef879104
SM
82001-10-18 Stefan Monnier <monnier@cs.yale.edu>
9
10 * keymap.c (current_minor_maps): `override' only shadows its
11 correspondent in minor-mode-map-alist, not the whole tail.
12
97f4db8c
AI
132001-10-18 Andrew Innes <andrewi@gnu.org>
14
15 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
16 optimization. The fontp->encoding array was not being initialized
17 correctly when compiled with optimizations by MSVC.
18
e6b70fd8
GM
192001-10-18 Gerd Moellmann <gerd@gnu.org>
20
30903479 21 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 22
0e804d38
AI
232001-10-17 Andrew Innes <andrewi@gnu.org>
24
25 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
26
27 * w32fns.c (w32_load_system_font): Cache codepage for font, in
28 font_info.charset field.
29
30 * w32term.c (w32_encode_char): Get cached codepage from font_info,
31 rather than working it out by calling w32_codepage_for_font for
32 every glyph.
33
66e5868a
AI
342001-10-17 Andrew Innes <andrewi@gnu.org>
35
36 * w32term.c (w32_read_socket): Determine clipping rectangle for
37 the entire frame, including areas covered by scrollbars and the
38 menubar. This avoids internal arguments about whether a frame is
39 fully obscured or not.
40
15b00083
GM
412001-10-17 Gerd Moellmann <gerd@gnu.org>
42
23e8bd86
GM
43 * xdisp.c (try_window_id): Undo last change. Give up if
44 window ends in strings.
30903479 45
9c6ba6d1 46 * xdisp.c (try_window_id): Don't display lines after the window
30903479 47 end if the rest of the window after the window end was already blank.
23e8bd86 48
30903479 49 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
50 for the release of 21.1.
51
30903479 52 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 53
945220bd
MB
542001-10-17 Miles Bader <miles@gnu.org>
55
56 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
57 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
58 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
59 Change doc-string comments to `new style' [w/`doc:' keyword].
60 (DOC_STRINGS_IN_COMMENTS): Macro removed.
61 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
62 out make-docfile.
63
14242528
MB
642001-10-16 Miles Bader <miles@gnu.org>
65
66 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
67
3ddf952f
GM
682001-10-16 Gerd Moellmann <gerd@gnu.org>
69
70 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
71 *scratch*.
72
f3fbd155
KR
732001-10-16 Ken Raeburn <raeburn@gnu.org>
74
75 Avoid the assumption that car and cdr slots of cons cells are
76 addressable lvalues; this allows for easier experimentation with
77 other lisp implementations that may not permit such accesses for
78 various reasons. Not quite complete -- buffer.c still needs some
79 work, and w32/mac files need rechecking -- so compile-time
80 enforcement is left disabled for now.
81
82 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 83 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
84 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
85 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
86 (XSETCAR, XSETCDR): New macros.
87 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
88 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
89 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
90 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
91 XSETCDR.
92 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
93 * buffer.c (record_buffer, Fbury_buffer)
94 (swap_out_buffer_local_variables, recenter_overlay_lists)
95 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
96 fields of a cons cell respectively.
97 * callint.c (quotify_args, Fcall_interactively): Likewise.
98 * ccl.c (Fregister_code_conversion_map): Likewise.
99 * coding.c (detect_coding_system): Likewise.
100 * composite.c (get_composition_id, make_composition_value_copy):
101 Likewise.
30903479
SM
102 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
103 (swap_in_symval_forwarding, set_internal, Fset_default)
104 (Fmake_variable_buffer_local, Fmake_local_variable)
105 (Fmake_variable_frame_local): Likewise.
f3fbd155 106 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
107 * keymap.c (Fset_keymap_parent, store_in_keymap)
108 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
109 Likewise.
110 * minibuf.c (get_minibuffer): Likewise.
111 * search.c (Fmatch_data): Likewise.
112 * textprop.c (extend_property_ranges): Likewise.
113 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
114 Likewise.
115 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
116 Likewise.
117 * w32term.c (x_delete_display): Likewise.
118 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
119 Likewise.
120 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
121 Likewise.
122 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 123 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
124 (Fread_file_name): Use XSETCAR.
125 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
126 CHECK_NUMBER_CDR.
127 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
128 * frame.c (Fmake_terminal_frame): Use XSETCDR.
129 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
130 CHECK_NUMBER_CDR.
131 * keyboard.c (read_char): Alter list traversal to avoid taking the
132 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
133 (parse_menu_item): Use XSETCAR and XSETCDR.
134 (reach_char_x_menu_prompt): Use XSETCAR.
135 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
136 (Fcommand_execute): Use XSETCDR.
137 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
138 (openp): Change list traversal to avoid using XCAR as lvalue.
139 (read_list): Use XSETCDR.
140 * process.c (wait_reading_process_input): Change wait_for_cell
141 handling to avoid taking addresses of cons cell slots.
30903479
SM
142 * xselect.c (x_own_selection, x_handle_selection_clear)
143 (x_clear_frame_selections): Use XSETCDR.
144 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
145 (x_handle_property_notify, x_get_foreign_selection)
146 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 147
502150e5
PJ
1482001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
149
018ba359
PJ
150 * buffer.c: Put doc strings in comments.
151
30903479 152 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 153
b56ba8de
SS
1542001-10-15 Sam Steingold <sds@gnu.org>
155
156 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
157
6a0b793a
PJ
1582001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
159
30903479
SM
160 * process.c (process-inherit-coding-system-flag)
161 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
162 in comment.
163
a1f17501 164 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 165 arguments. Put doc strings in comments.
a65da641
PJ
166
167 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 168
aa601ad0
GM
1692001-10-15 Gerd Moellmann <gerd@gnu.org>
170
30903479 171 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 172
aa601ad0
GM
173 * window.c (select_window_1): Unfreeze window start. Remove a
174 doubled test for WINDOW being live.
175
288148a1
PJ
1762001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
177
dd8d1e71
PJ
178 * fns.c (Fmapconcat): Fix typo in a doc string.
179
288148a1
PJ
180 * dispnew.c (Fsleep_for): Fix typo in a doc string.
181
9f5eb4a3
GM
1822001-10-15 Gerd Moellmann <gerd@gnu.org>
183
184 * xterm.c (x_draw_glyph_string): Restore clipping after
185 drawing box.
186
dbae44c8
PJ
1872001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
188
30903479 189 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 190
0c88c937
SM
1912001-10-14 Stefan Monnier <monnier@cs.yale.edu>
192
56378db4
GM
193 * indent.c (skip_invisible): Use new retval of
194 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 195
845e4cf4
SM
196 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
197 If a parent is reached and noinherit is set, exit immediately.
198 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
199
0c88c937
SM
200 * s/ms-w32.h (EXEC_SUFFIXES):
201 * s/msdos.h (EXEC_SUFFIXES):
202 * process.h (EXEC_SUFFIXES): Remove.
203
204 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
205 (decode_suffixes): Remove.
206
207 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
208 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
209 (invisible_ellipsis_p): Remove.
0c88c937
SM
210
211 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
212 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
213 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
214 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
215 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 216
d19be8a9
PJ
2172001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
218
04d7d066
PJ
219 * lisp.h (Ftop_level): Add prototype.
220
d624284c
PJ
221 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
222 (XTread_socket): Improve style of comments to follow other
223 comments.
224
a87414f9
PJ
225 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
226 is already prototyped in included lisp.h).
227
d19be8a9
PJ
228 * frame.c (Fset_mouse_position): Improve style of comment to
229 follow other comments.
230 (Fset_mouse_pixel_position): Improve style of comment to follow
231 other comments.
232 (Fmake_frame_visible): Doc fix and typo in comment.
233 (Fmake_frame_invisible): Doc fix and typo in comment.
234 (Ficonify_frame): Fix typo in comment.
235
c061c855
GM
2362001-10-14 Gerd Moellmann <gerd@gnu.org>
237
37f6b5b6 238 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 239 * term.c, alloc.c: Put doc strings in comments.
c061c855 240
e641b454
GM
2412001-10-13 Gerd Moellmann <gerd@gnu.org>
242
243 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
244 Provide definitions for doc strings in comments.
245
246 * fns.c: Put doc strings in comments.
247
51724e26
EZ
2482001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
249
250 * dired.c (file_name_completion): Ignore a candidate directory if
251 it matches an element in completion-ignored-extensions that ends
252 in a slash.
253 (syms_of_dired) <completion-ignored-extensions>: Mention the above
254 feature in the doc string.
255 (Ffile_name_completion): Ditto.
256
be5fc59b
SM
2572001-10-12 Stefan Monnier <monnier@cs.yale.edu>
258
5a1373f3
SM
259 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
260
261 * xfns.c (syms_of_xfns): Update calls to Fprovide.
262
263 * lisp.h (Fprovide): Update prototype.
264 (Ffeaturep, invisible_p): Remove.
265
bbc4a3d3 266 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
267 (DOLIST, LOOP_PROPVAL): New macros.
268 (invisible_p, invisible_ellipsis_p): Use them.
269 (invisible_noellipsis_p): New function.
270 (syms_of_xdisp): Use empty_string.
271
272 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
273
274 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
275 (syms_of_lread) <Vafter_load_alist>: Update docstring.
276
277 * print.c (Fwith_output_to_temp_buffer): Align with
278 internal_with_output_to_temp_buffer.
279 (print_preprocess): Use traverse_intervals_noorder.
280 (print_object): Update call to traverse_intervals.
281
282 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
283 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
284
285 * intervals.c (traverse_intervals_noorder): New function.
286 (search_for_interval, count_intervals): Use it.
287 (traverse_intervals): Use less stack space and drop `depth' arg.
288
289 * fns.c (Ffeaturep): Add new `subfeature' arg.
290 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
291 (Qsubfeatures): New var.
292 (syms_of_fns): Initialize it.
293
026f408d
SM
294 * keymap.c (Fkey_description): Use empty_string.
295 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
296 (syms_of_keymap): Setup inheritance between maps.
297 Don't export Sdescribe_bindings_internal any more.
298
be5fc59b
SM
299 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
300
3365175e
GM
3012001-10-12 Gerd Moellmann <gerd@gnu.org>
302
303 * xterm.c (notice_overwritten_cursor): Renamed from
304 note_overwritten_text_cursor. Rewritten to take glyph widths into
305 account.
306
2ab7765c
EZ
3072001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
308
309 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
310 multi-line strings without a trailing "\n\".
311
311346bb
PJ
3122001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
313
314 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
315 defined.
316
2168e04d
SM
3172001-10-11 Stefan Monnier <monnier@cs.yale.edu>
318
026f408d
SM
319 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
320
c0ec53ad
SM
321 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
322 * w32proc.c (sys_spawnve):
323 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
324 * w32.c (check_windows_init_file):
325 * sound.c (Fplay_sound):
026f408d 326 * emacs.c (init_cmdargs):
c0ec53ad
SM
327 * process.c (Fstart_process): Update calls to openp.
328
329 * callproc.c (Vexec_suffixes): New var.
330 (Fcall_process): Update call to openp.
331 (decode_suffixes): New function.
332 (syms_of_callproc): Init exec-suffixes.
333
334 * lread.c (Vload_suffixes, default_suffixes): New vars.
335 (openp): Take a lisp list of suffixes.
336 Check for file-name-handlers even if the file was absolute already.
337 (syms_of_lread): Declare load-suffixes.
338 (Fload): Fix up call to openp.
339 Don't bother checking for file-name-handler at the very beginning.
340
f6333468
SM
341 * keymap.h (Fcopy_keymap): Don't export.
342
343 * lisp.h (empty_string): Declare.
c0ec53ad
SM
344 (Vload_suffixes, Vexec_suffixes): Declare.
345 (openp): Update prototype.
f6333468
SM
346
347 * emacs.c (empty_string): New var.
348 (syms_of_emacs): Initialize it.
349
350 * search.c (wordify): Use it.
351
352 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
353 selected window if it's not displayed there. Handle the case
354 when the window is dedicated.
355 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
356
357 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
358
2168e04d
SM
359 * syntax.h (struct gl_state_s): Change the meaning of b_property.
360 Remove left_ok and right_ok.
361 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
362 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
363 new meaning of b_property.
364
365 * syntax.c (update_syntax_table): Simplify.
366 (Fforward_comment): Don't skip quoted chars when going backward.
367
13d95cc0
GM
3682001-10-11 Gerd Moellmann <gerd@gnu.org>
369
beb0990f
GM
370 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
371 in case I is of some unsigned type, in which case
372 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
373 comparison becomes bogus.
374
cb938d46
GM
375 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
376 (Fuser_full_name): Fix bug treating a float as a fixnum.
377
378 * data.c (Fstring_to_number): Use make_fixnum_or_float.
379
380 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 381
13d95cc0
GM
382 * lisp.h (circular_list_error): Add prototype.
383
384 * data.c (Qcircular_list): New variable.
385 (circular_list_error): New function.
386 (syms_of_data): Initialize it Qcircular_list.
387
e35f6ff7
SM
3882001-10-10 Stefan Monnier <monnier@cs.yale.edu>
389
390 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
391 casefiddle.c, buffer.c: Include keymap.h.
392
619632ac
GM
3932001-10-10 Gerd Moellmann <gerd@gnu.org>
394
395 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
396 options. From Dave Love <d.love@dl.ac.uk>.
397
5e5388f6
GM
3982001-10-09 Gerd Moellmann <gerd@gnu.org>
399
400 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
401 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
402
14a3dff7
GM
403 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
404 unsigned char.
405 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 406
76ba8daf
AI
4072001-10-08 Andrew Innes <andrewi@gnu.org>
408
409 * lisp.h [max]: Undef min and max before redefining them.
410
411 * w32gui.h: Do not undef min and max.
412
413 * w32heap.h: Do not undef min and max.
414
415 * s/ms-w32.h: Do not undef min and max.
416
166253cb
SM
4172001-10-08 Stefan Monnier <monnier@cs.yale.edu>
418
419 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
420
0c4d9527
SS
4212001-10-08 Sam Steingold <sds@gnu.org>
422
423 * keymap.c (current-active-maps): Quote newlines (compilation error).
424
14bfa771
EZ
4252001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
426
427 * Makefile.in (lisp, shortlisp): Replace bindings.el with
428 bindings.elc, since otherwise doc strings in bindings.el get wrong
429 offsets in etc/DOC.
430
bdb7aa47
SM
4312001-10-08 Stefan Monnier <monnier@cs.yale.edu>
432
9985827f
SM
433 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
434
435 * keyboard.h (map_prompt): Remove.
436
437 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 438 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 439
bdb7aa47
SM
440 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
441
442 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
443
444 * keyboard.c (map_prompt): Remove.
445 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
446 Use Fkeymap_prompt.
447
448 * keymap.h: New file. Extracted from lisp.h.
449
9985827f
SM
450 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
451 (accessible_keymaps_1): New function.
452 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
453 (Fwhere_is_internal): Use Fcurrent_active_maps.
454 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
455 Insert in current buffer rather than standard-output.
456 Don't call `help-mode'. Export to elisp.
457 (describe_buffer_bindings): New wrapper.
458 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
459 and Sdescribe_buffer_bindings.
460
402c9a51
GM
4612001-10-08 Gerd Moellmann <gerd@gnu.org>
462
9985827f 463 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
464 Remove code setting signal handler.
465
9985827f 466 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
467 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
468
3fe81fdf
PJ
4692001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
470
471 * keyboard.c: Don't define min/max.
472
55fa7820
GM
4732001-10-08 Gerd Moellmann <gerd@gnu.org>
474
9985827f 475 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 476 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 477 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 478 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 479 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
480 Don't define min/max.
481
482 * lisp.h (min, max): New macros.
483
55fa7820
GM
484 * puresize.h (BASE_PURESIZE): Increase to 725000.
485
1aad31e4
PJ
4862001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
487
9180dc8c
PJ
488 * xfaces.c (free_frame_menubar): Add prototype.
489
01f67d2c
PJ
490 * lisp.h (init_window): Add prototype.
491
492 * editfns.c: Include ctype.h.
493
494 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 495 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
496 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
497 variable `sb'.
498
5f351ff1
PJ
499 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
500 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
501 `popup_activated_flag' and `title'.
502
479dfe87
PJ
503 * doc.c (Fdocumentation_property): Fix typo in a doc string.
504
dff49fc8
PJ
505 * emacs.c (main): Remove extra `;'.
506
248ac615
PJ
507 * atimer.h (struct atimer): Fix typos in a comment.
508
509 * atimer.c: Fix typo.
510
af232c7d
PJ
511 * Makefile.in: Fix typo.
512
513 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 514
d876f455
MB
5152001-10-07 Miles Bader <miles@gnu.org>
516
517 * Makefile.in (lisp, shortlisp): Add `button.elc'.
518
0037e2f2
KR
5192001-10-07 Ken Raeburn <raeburn@gnu.org>
520
b056f36d
KR
521 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
522 Lisp_Object.
523
0037e2f2
KR
524 * lisp.h (Ffield_end): Declare.
525
1a4372ef
GM
5262001-10-07 Gerd Moellmann <gerd@gnu.org>
527
a4a74e8c
GM
528 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
529
530 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
531
532 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
533
534 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
535
1a4372ef
GM
536 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
537 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
538
539 * alloc.c (inhibit_garbage_collection): Simplify.
540 (Fmemory_use_counts): Ditto.
541
9985827f 542 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
543 (syms_of_data): DEFVAR_INT most-positive-fixnum and
544 most-negative-fixnum.
545
9985827f 546 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
547 (FIXNUM_OVERFLOW_P): New macros.
548
4650e362
MB
5492001-10-06 Miles Bader <miles@gnu.org>
550
551 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
552 scroll_bar_bottom_shadow_pixel fields.
553 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
554 for the shadows, and tell the toolkit about them if we succeed.
555 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
556 Free scroll-bar shadow colors.
557 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
558 Free scroll-bar shadow colors when the background color changes.
559 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
560 Initialize scroll-bar shadow-color fields.
561
ace64e0a
GM
5622001-10-05 Gerd Moellmann <gerd@gnu.org>
563
564 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
565
ec66bdc7
MB
5662001-10-05 Miles Bader <miles@gnu.org>
567
9985827f
SM
568 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
569 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 570 New functions (were in simple.el).
9985827f 571 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
572 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
573 (syms_of_minibuf): Initialize them.
574
a0fb4492
GM
5752001-10-05 Gerd Moellmann <gerd@gnu.org>
576
577 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
578 (tiff_load): Install them as error and warning handler.
579
0bcf87c1
AI
5802001-10-04 Andrew Innes <andrewi@gnu.org>
581
582 * w32fns.c (x_to_w32_color): Fix argument to alloca.
583 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 584 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
585 (x_to_w32_charset): Handle private format for unknown charsets.
586 Handle wildcards in charset spec, by ignoring them.
587 (w32_codepage_for_font): Fix argument to alloca. Don't remove
588 "*-" prefix from charset.
589 (x_to_w32_font): Enlarge remainder array for safety. Specifically
590 handle the truncated font spec form constructed by font_list_1, so
591 that we correctly identify the charset fields. Don't remove "*-"
592 prefix from charset.
593 (w32_list_synthesized_fonts): Fix argument to alloca.
594
c89e4bc5
GM
5952001-10-04 Stefan Monnier <monnier@cs.yale.edu>
596
597 * window.h (MINI_WINDOW_P): Use NILP.
598
599 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
600
601 * termhooks.h (struct input_event): Use proper type for `kind'.
602
6032001-10-04 Gerd Moellmann <gerd@gnu.org>
604
605 This handles unknown keysyms better than before. For example,
606 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
607 Emacs formerly completely ignored F5. With the change, it derives
608 a key symbol from the name of the X keysym, `ccaron' in this case.
609 Reported by Martin Buchholz.
610
611 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
612 unknown keysyms.
613
614 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
615 that EVENT->code isn't a function key, use the keysym's name.
616
6172001-10-04 Gerd Moellmann <gerd@gnu.org>
618
619 FOREACH is a macro that should make it easier to loop over Lisp
620 lists with checks for cycles and proper lists.
621
622 * lisp.h (LIST_END_P, FOREACH): New macros.
623
6242001-10-04 Gerd Moellmann <gerd@gnu.org>
625
626 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
627 called for a lost connection. Prevent dumping core in this case.
628 Instead print the X error, and exit. On user request.
629
630 * xterm.c (error_msg): New variable.
631 (x_fatal_error_signal): New function.
632 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
633 as fatal_error_signal_hook around the call to XtCloseDisplay.
634
635 * emacs.c (fatal_error_signal_hook): New variable.
636 (fatal_error_signal): Call that function.
637
6382001-10-04 Gerd Moellmann <gerd@gnu.org>
639
640 With this, Emacs prints how much pure storage it will
641 approximately need in case pure storage overflows while dumping.
642
643 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
644 New variables.
645 (init_alloc_once): Initialize new variables.
646 (PURE_POINTER_P): Use new variables.
647 (pure_alloc): If pure storage overflows, allocate from the heap.
648 (check_pure_size): New function.
649 (Fgarbage_collect): Don't GC if pure storage has overflowed.
650
651 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
652 (check_pure_size): Add prototype.
653
654 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
655
6562001-10-04 Gerd Moellmann <gerd@gnu.org>
657
658 This adds a post-gc-hook that's run with GC inhibited.
659 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
660
661 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
662 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
663 (Fgarbage_collect): Run post-gc-hook.
664
6652001-10-04 Gerd Moellmann <gerd@gnu.org>
666
667 This adds `defvaralias' and `indirect-variable'. Changes not
668 directly related to this feature are there to gain the same
669 performance again as before variable aliases.
670
671 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
672 code to get and set symbol values, to take defvaralias into account.
673
674 (Note: the new `constant' bit-flag in symbols would make it
675 possible to define arbitrary read-only variables, e.g. with
676 `defconst'.)
677
678 Documentation is in lispref/variables.texi. Added to NEWS.
679
680 * lisp.h (enum symbol_interned): New enumeration.
681 (struct Lisp_Symbol): Remove member `obarray', add
682 `indirect_variable', `constant', and `interned'.
683 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
684 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
685 (indirect_variable): Add prototype.
686
687 * print.c (print_preprocess, print_object): Test internedness of
688 symbols differently.
689
690 * lread.c (Fintern, Funintern): Set symbol's interned and constant
691 bit-fields.
692 (init_obarray): Likewise for t and nil.
693
694 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
695 (Fdefvaralias): New function.
696 (specbind): Simplify the test if symbol is a constant.
697 (syms_of_eval): Defsubr Fdefvaralias.
698
699 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
700 (Qcyclic_variable_indirection): New variable.
701 (Fkeywordp): Check for internedness differently.
702 (Fmakunbound): Simplify the test if symbol is a constant.
703 (indirect_variable, Findirect_variable): New functions.
704 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
705 aliased symbol.
706 (let_shadows_buffer_binding_p): Check for variable aliases.
707 (set_internal): Simplify the test if SYMBOL is a constant.
708 If SYMBOL has a buffer-local value and is an alias, use the aliased
709 symbol instead.
710 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
711 Sindirect_variable.
712
713 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
714 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
715 set directly.
716
717 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
718
719 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
720 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
721 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
722
ab952a4f
GM
7232001-10-04 Gerd Moellmann <gerd@gnu.org>
724
725 * Branch for 21.1.
b56ba8de 726
ba88ff28
MB
7272001-10-03 Miles Bader <miles@gnu.org>
728
729 * callproc.c (syms_of_callproc): Explicitly state in the
730 documentation for `process-environment' that earlier entries take
731 precedence over later ones.
732
ae1a9581
MB
7332001-10-02 Miles Bader <miles@gnu.org>
734
735 * textprop.c (Fnext_char_property_change)
736 (Fprevious_char_property_change): Remove reference to non-existant
737 argument OBJECT from doc-string.
738
257e3f57
GM
7392001-10-01 Gerd Moellmann <gerd@gnu.org>
740
741 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
742 (try_window_id): Skip back over lines ending in a newline from a
743 string.
744
745 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
746 New bit flag
747
c1f29759
RS
7482001-10-01 Richard M. Stallman <rms@gnu.org>
749
750 * search.c (Freplace_match): Doc fix.
751
c30dce3d
AI
7522001-09-28 Andrew Innes <andrewi@gnu.org>
753
754 * w32menu.c (set_frame_menubar): Take into account that
755 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
756 <raeburn@gnu.org>.
757
03be5931
EZ
7582001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
759
760 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
761
75bec752
PJ
7622001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
763
764 * s/gnu-linux.h: Fix a typo in comment.
765
83100e0a
AS
7662001-09-28 Andreas Schwab <schwab@suse.de>
767
768 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
769 nocombreloc, in case -z combreloc is the default.
770
a74b48cf
GM
7712001-09-28 Gerd Moellmann <gerd@gnu.org>
772
773 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
774 really going on here.
775
09c4719e
SM
7762001-09-27 Stefan Monnier <monnier@cs.yale.edu>
777
778 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
779
f7d5d963
EZ
7802001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
781
782 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
783 utf-8, menu-bar, and latin-N.
784 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
785 unconditionally now.
786 (lisp): Add latin-N, since they are preloaded.
787
9240e746
GM
7882001-09-27 Gerd Moellmann <gerd@gnu.org>
789
14531065
GM
790 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
791 to the left. Some cleanup.
792
9240e746
GM
793 * xdisp.c (display_mode_element): One more case where a string's
794 multibyteness should be used for display.
795
edd1e654
GM
7962001-09-26 Gerd Moellmann <gerd@gnu.org>
797
b02439c8
GM
798 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
799 reading at EOF.
800
032906b1 801 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 802 of the only temporarily set echoing flag for deciding when
032906b1
GM
803 the cancel echoing.
804
805 * keyboard.c (echo_kboard): Make externally visible.
806
807 * lisp.h (echo_kboard): Declare extern.
808
cb617e7c 809 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 810 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
811 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
812 this round of redisplay if make_cursor_line_fully_visible fails.
813 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 814 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
815
816 * dispextern.h (required_matrix_width, required_matrix_height):
817 Add prototypes.
818
09c4719e
SM
819 * dispnew.c (required_matrix_width, required_matrix_height):
820 New functions.
cb617e7c 821 (allocate_matrices_for_window_redisplay)
09c4719e
SM
822 (allocate_matrices_for_frame_redisplay: Use them.
823 Remove parameters CH_DIM.
cb617e7c 824
edd1e654
GM
825 * xdisp.c (display_mode_lines): Temporarily set selected_frame
826 and selected_window to the frame of the window whose mode-lines
827 are displayed, and to the window itself.
828 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 829 here.
edd1e654 830
924b604c
GM
8312001-09-25 Gerd Moellmann <gerd@gnu.org>
832
daba7643
GM
833 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
834 the image cache under us.
835
b7a22712 836 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 837 with a string value, use that string's multibyteness for displaying.
b7a22712 838
ad648212
GM
839 * keyboard.c (read_char): Don't clear a message for a switch-frame
840 event. From Stefan Monnier <monnier@cs.yale.edu>.
841
9f8531e5
GM
842 * xterm.c (fast_find_position) [0]: Add a presumably more correct
843 version for after 21.1.
844
845 * xdisp.c (row_containing_pos): Make externally visible.
846
847 * dispextern.h (row_containing_pos): Add prototype.
848
924b604c
GM
849 * process.c (send_process): Disable composition if from_byte < 0.
850 From Kenichi Handa <handa@etl.go.jp>.
851
6f3f0db4
GM
8522001-09-24 Gerd Moellmann <gerd@gnu.org>
853
c69c0ebc
GM
854 * xterm.c (refreshicon): Function removed.
855
d1182bc4
GM
856 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
857
858 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
859
860 * xterm.c (toplevel): Remove includes in #if 0.
861
6f3f0db4
GM
862 * process.c (sigchld_handler) [LINUX]: Don't return from
863 the signal handler at the end of the loop.
864
59957f85
GM
8652001-09-21 Gerd Moellmann <gerd@gnu.org>
866
09c4719e
SM
867 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
868 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 869
a0528984
EZ
8702001-09-21 Markus Rost <rost@math.ohio-state.edu>
871
872 * Makefile.in (shortlisp): Add ../lisp/env.elc.
873
db92b288
GM
8742001-09-20 Gerd Moellmann <gerd@gnu.org>
875
3fed8ad5
GM
876 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
877 since this function can be called during GC.
878
db92b288
GM
879 * callproc.c (Fcall_process): Handle errors from pipe(2).
880 (child_setup): Delete code in #ifdef vipc.
881
7121b85a
GM
8822001-09-19 Gerd Moellmann <gerd@gnu.org>
883
72f62cb5
GM
884 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
885 (display_mode_element): Display the string from decode_mode_spec
886 depending on its multibyteness.
887
a2697022
GM
888 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
889
7121b85a
GM
890 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
891
bfc97351
GM
8922001-09-18 Gerd Moellmann <gerd@gnu.org>
893
c9063433
GM
894 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
895 recursive_edit_unwind.
896 (recursive_edit_unwind): Set kboard state according to
897 SINGLE-KBOARD.
898
3fbdba3e
GM
899 * buffer.c (modify_overlay): Don't do nothing if START == END;
900 This can still be a modification, for example when an overlay has
901 a before-string or after-string.
902 (Fdelete_overlay): Prevent redisplay optimizations when deleting
903 an overlay with before-string or after-string.
904
1270031d
GM
905 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
906 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
907
bfc97351
GM
908 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
909 first_unchanged_at_end_row is in front of
910 last_unchanged_at_beg_row. This code should be removed after the
911 release of 21.1.
912
d8a973aa
GM
9132001-09-17 Gerd Moellmann <gerd@gnu.org>
914
e18c8b8d
GM
915 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
916 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
917
d8a973aa
GM
918 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
919 versions >= 2.95.
920
ed7d6ba4
EZ
9212001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
922
923 * dired.c (Ffile_attributes): Doc fix.
924
551629f9
GM
9252001-09-14 Gerd Moellmann <gerd@gnu.org>
926
927 * fileio.c (Ffile_symlink_p): Fix last change.
928
929 * filelock.c (current_lock_owner): Fix last change.
930
4c8c7926
GM
9312001-09-13 Gerd Moellmann <gerd@gnu.org>
932
620c4704
GM
933 * filelock.c (current_lock_owner): If readlink returns ERANGE,
934 take that to mean that the buffer is too small.
935
81c3310d
GM
936 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
937 that to mean that the buffer is too small.
938
06fd3792
GM
939 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
940 current buffer's multibyteness when discarding the iterator's
941 stack.
942
4c8c7926
GM
943 * xfns.c (Fx_window_property): Handle case that property gets
944 deleted between the two calls to XGetWindowProperty.
945
9a72e4c1
GM
9462001-09-11 Gerd Moellmann <gerd@gnu.org>
947
bd819d14 948 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 949
a41edd99
GM
950 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
951 in addition to read-only.
952
953 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
954 to t in addition to read-only.
955
956 * lisp.h (Qinhibit_modification_hooks): Declare.
957
958 * insdel.c (Qinhibit_modification_hooks): New variable.
959 (syms_of_insdel): Initialize and staticpro it.
960
d4881c6a
GM
961 * textprop.c (verify_interval_modification): Don't run
962 modification-hooks if inhibit_modification_hooks.
963
964 * dispnew.c (set_window_cursor_after_update): Fix code
965 finding glyph row containing cursor when cursor_in_echo_area
966 is >= 0.
967
9a72e4c1
GM
968 * xdisp.c (init_from_display_pos): Put some code in #if 0.
969 (add_to_log): Use bcopy instead of strcpy.
970 (init_from_display_pos): Use an explicit loop over bytes in
971 overlay strings instead of calling index.
972
f4a374a1
GM
9732001-09-10 Gerd Moellmann <gerd@gnu.org>
974
300e57bd
GM
975 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
976
977 * dispnew.c (direct_output_for_insert): Don't change IT's
978 stop_charpos to something in front of its current position.
979
f4a374a1
GM
980 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
981 `format'.
982
7e4cbc91
RS
9832001-09-10 Richard M. Stallman <rms@gnu.org>
984
985 * frame.c (Fmouse_position): Doc fix.
986
6afad91e
GM
9872001-09-07 Gerd Moellmann <gerd@gnu.org>
988
989 * xdisp.c (init_from_display_pos): Don't compare the result
990 of calling index with NULL.
991
f76e0368
GM
9922001-09-06 Gerd Moellmann <gerd@gnu.org>
993
994 * xfns.c (x_set_background_color): Don't change the colors
995 of the X window of scroll bar widgets.
996
9ead1b60
AI
9972001-09-05 Andrew Innes <andrewi@gnu.org>
998
999 * w32fns.c (w32_createwindow): Undo last change.
1000
c3b497b3
GM
10012001-09-05 Gerd Moellmann <gerd@gnu.org>
1002
08e1d6df
GM
1003 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1004
c3b497b3
GM
1005 * xdisp.c (string_buffer_position): Use *single_char_property*
1006 functions instead of the *single_property* functions.
b56ba8de 1007
8f860180
AI
10082001-09-04 Andrew Innes <andrewi@gnu.org>
1009
9a72e4c1
GM
1010 * w32term.c (w32_read_socket): Add more information to debugging
1011 output.
8f860180
AI
1012
1013 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1014 from Emacs frames, so that calls to GetClipBox in w32term.c
1015 correctly report when part of a frame is visible (including
1016 scrollbars, etc). This prevents repeated redrawing of frames when
1017 only a scrollbar is visible.
1018 (w32_wnd_proc): Add more frame information to debugging output.
1019
2ee1aa00
SM
10202001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1021
1022 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1023
e3b22517
GM
10242001-09-03 Gerd Moellmann <gerd@gnu.org>
1025
7e376260
GM
1026 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1027 help-echo for a string which doesn't have help-echo itself, use
1028 get-char-property to obtain the help-echo from the string's buffer
1029 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1030 have mouse-face, look ``under'' the string for mouse-face from an
1031 overlay.
1032 (fast_find_position): Add parameter STOP. In the final row, stop
1033 before glyphs having STOP as object. Don't consider glyphs that
1034 are not from a buffer.
1035
e3b22517
GM
1036 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1037
9a249bba
EZ
10382001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1039
1040 * fns.c (Fmd5): Doc fix.
1041
c9979669
GM
10422001-08-31 Gerd Moellmann <gerd@gnu.org>
1043
1044 * composite.c (update_compositions): Do nothing if
1045 inhibit-modification-hooks is set.
1046
9584e63a
GM
10472001-08-30 Gerd Moellmann <gerd@gnu.org>
1048
986ec8f2 1049 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1050 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1051 glyph matrices etc. in a core dump.
1052
92a25631
GM
1053 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1054 (syms_of_xdisp): Initialize them.
1055 (handle_single_display_prop): Don't change point, bind `object',
1056 `position', and `buffer-position' instead to the object having the
2ee1aa00 1057 `display' property, position in the object and position in the buffer.
92a25631 1058
9584e63a
GM
1059 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1060 of the buffer if REPLACE is non-nil.
1061
d38633a3
GM
10622001-08-29 Gerd Moellmann <gerd@gnu.org>
1063
1064 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1065
f4fccc1e
EZ
10662001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1067
1068 * w32term.c (x_set_glyph_string_background_width)
1069 (show_mouse_face): Track the last changes in xterm.c.
1070
eaaa65b0
GM
10712001-08-28 Gerd Moellmann <gerd@gnu.org>
1072
7b0870b2
GM
1073 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1074 string's background width so that multi-line mouse-face is drawn
1075 to the right edge of the window.
1076 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1077 glyphs.
1078
6b6e2422 1079 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1080 before inserting/writing glyphs.
6b6e2422 1081
eaaa65b0
GM
1082 * xdisp.c (display_mode_element): Use string_byte_to_char to
1083 determine character positions in strings, use chars_in_text
1084 instead of strwidth.
1085 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1086 a matrix as parameter; this is easier to use from GDB.
1087
9ad62cf8
MB
10882001-08-28 Miles Bader <miles@gnu.org>
1089
2ee1aa00
SM
1090 * textprop.c (Fprevious_single_char_property_change)
1091 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1092
32171635
GM
10932001-08-27 Gerd Moellmann <gerd@gnu.org>
1094
47d57b22
GM
1095 * fileio.c (Finsert_file_contents): Allocate, restore, and
1096 free composition data in the case of REPLACE not being nil.
1097
1098 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1099 there exist overlay strings with newlines at POS.
1100 (text_outside_line_unchanged_p): Return 0 if changes start at
1101 START and overlays exist at START. Likewise for END.
1102 (try_window_id): Give up if init_to_row_end returns 0.
1103
32171635
GM
1104 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1105 unconditionally.
1106
e1249666
GM
11072001-08-24 Gerd Moellmann <gerd@gnu.org>
1108
33954c45
GM
1109 * keymap.c (access_keymap): Return the cdr of the binding of
1110 a generic character instead of its definition (KEY . BINDING).
1111
e1249666
GM
1112 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1113 to 0 also in the REPLACE case.
1114
fb4c6c96
AC
11152001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1116
1117 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1118 open to determine whether file is readable (as for DOS_NT).
1119
59ecf80b
GM
11202001-08-23 Gerd Moellmann <gerd@gnu.org>
1121
1122 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1123 coding.type is coding_type_no_conversion or coding_type_raw_text,
1124 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1125 non-nil instead of just setting enable_multibyte_characters in the
1126 buffer to nil.
1127
40e33037
GM
11282001-08-22 Gerd Moellmann <gerd@gnu.org>
1129
374388c3
GM
1130 * dispextern.h (struct face_cache): Add member
1131 menu_face_changed_p.
1132
1133 * xfaces.c (menu_face_changed_default): New variable.
1134 (menu_face_changed_count): Variable removed.
1135 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1136 the menu_face_changed_default flag, otherwise set the FRAME's
1137 menu_face_changed_p flag if the `menu' face has been changed.
1138 Prevent calling set_font_frame_param if FRAME is t.
1139 (make_face_cache): Initialize cache's menu_face_changed_p
1140 from menu_face_changed_default.
1141 (realize_basic_faces): Look into the frame's face cache to
1142 determine if the menu appearance needs updating.
1143
40e33037
GM
1144 * keymap.c (access_keymap): Fix last change to not consider
1145 IDX when it has modifiers.
1146
859ea4b8
GM
11472001-08-21 Gerd Moellmann <gerd@gnu.org>
1148
1149 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1150 . BINDING) exists, where GENERIC-CHAR is the generic character of
1151 the charset of IDX, return BINDING unless there exists a binding
1152 for IDX itself.
1153
e8660d73
GM
11542001-08-16 Gerd Moellmann <gerd@gnu.org>
1155
cca1b1d7
GM
1156 * xrdb.c (SYSV): Don't define on Solaris 2.
1157 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1158
e8660d73 1159 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1160 of the screen line, not text line, containing IT's current position.
e8660d73 1161
93aba6fc
GM
11622001-08-15 Gerd Moellmann <gerd@gnu.org>
1163
288d4e06
GM
1164 * window.c (window_scroll_pixel_based): Don't recenter if
1165 PT is partially visible in the window.
1166
3452efc2
SM
1167 * xterm.c (expose_window_tree, expose_window, expose_line):
1168 Return 1 when overwriting mouse-face.
82f053ab
GM
1169 (expose_frame): If mouse-face was overwritten, redo it.
1170
93aba6fc
GM
1171 * xfaces.c (x_update_menu_appearance): Don't call
1172 set_frame_menubar, let the next redisplay do it.
1173
858a55c1
AI
11742001-08-14 Andrew Innes <andrewi@gnu.org>
1175
1176 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1177 drawing glyph string.
1178
3a990b67
EZ
11792001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1180
1181 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1182 running HI-UX/MPP.
1183
04386463
GM
11842001-08-14 Gerd Moellmann <gerd@gnu.org>
1185
1186 * xfaces.c (x_update_menu_appearance): Save and restore value of
1187 interrupt_input_blocked.
1188
3e6385a4
GM
11892001-08-13 Gerd Moellmann <gerd@gnu.org>
1190
b0e619b4
GM
1191 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1192 a line start, move back to the line start.
3452efc2 1193
0de73d5a
GM
1194 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1195 exactly when a mini-buffer is active.
1196
3e6385a4
GM
1197 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1198 in units of 1/8 character on non window-system frames.
1199 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1200
d1b5f629
EZ
12012001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1202
1203 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1204 a doc string.
1205
eaa2319f
GM
12062001-08-09 Gerd Moellmann <gerd@gnu.org>
1207
8e3189f0
GM
1208 * keyboard.c (Vpre_help_message): New variable.
1209 (syms_of_keyboard): Initialize and staticpro it.
1210 (show_help_echo): Record current message before displaying a
1211 help-echo, and restore that message when clearing the help.
1212
eaa2319f
GM
1213 * xfns.c (x_create_im): Remove prototype.
1214
1215 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1216
1217 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1218
eaa2319f
GM
12192001-08-08 Gerd Moellmann <gerd@gnu.org>
1220
1221 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1222 windows whose height has changed, disable partially visible lines.
eaa2319f 1223
17fdcfc8
GM
12242001-08-07 Gerd Moellmann <gerd@gnu.org>
1225
22d01aed 1226 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1227 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1228
17fdcfc8
GM
1229 * xdisp.c (start_display): Don't try to determine the continuation
1230 lines width if lines are truncated. It's superfluous and leads to
1231 incorrect results if POS is not visible in the window after
1232 reseating the iterator at the previous line start.
1233
8e3fe78e
GM
12342001-08-06 Gerd Moellmann <gerd@gnu.org>
1235
1236 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1237
98a8938c
GM
12382001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1239
1240 * alloc.c (init_stack): Remove declaration.
1241
18f9986a
GM
12422001-08-03 Gerd Moellmann <gerd@gnu.org>
1243
5e1f85e0
GM
1244 * keyboard.c (read_key_sequence): Check that key is an integer
1245 before comparing it with quit_char.
1246 (add_command_key): Use larger_vector.
1247 (read_char_x_menu_prompt): Instead of converting symbol and
1248 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1249 which cannot be confused with valid events.
5e1f85e0
GM
1250 (read_char): When reading from Vunread_command_events, check for
1251 events of the form (EVENT . disabled) instead of
1252 (EVENT . nil).
1253
18f9986a
GM
1254 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1255 a float, determine the max height from the frame's height.
1256
fbc7f2a6
GM
12572001-08-02 Gerd Moellmann <gerd@gnu.org>
1258
1259 * xdisp.c (redisplay_internal): Take message_cleared_p into
1260 account only if minibuf_level == 0.
1261
81b1a79d
GM
12622001-08-01 Gerd Moellmann <gerd@gnu.org>
1263
e5c60873
GM
1264 * xdisp.c (redisplay_internal): Add a check for the last
1265 displayed message.
3452efc2 1266
6e019995
GM
1267 * xdisp.c (message_cleared_p): New variable.
1268 (clear_message): Set message_cleared_p when clearing the current
1269 message.
1270 (redisplay_internal): Look at message_cleared_p to capture
1271 the case that the echo area should be cleared.
1272
308a74d8
GM
1273 * keyboard.c (command_loop_1): Fix spelling of
1274 resize_echo_area_exactly.
1275
3452efc2 1276 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1277
1278 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1279
81b1a79d
GM
1280 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1281 current matrix when the window gets smaller.
1282
ada329e6
EZ
12832001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1284
1285 * print.c (strout): Cast the character passed to insert_char to
1286 unsigned char, to avoid sign extension when it is promoted to int.
1287
ed86208c
GM
12882001-07-31 Gerd Moellmann <gerd@gnu.org>
1289
1290 * fileio.c (Finsert_file_contents): Don't treat a return value
1291 of 0 from emacs_read as an IO error.
1292
6594ac22
GM
12932001-07-30 Gerd Moellmann <gerd@gnu.org>
1294
cef68af5
GM
1295 * keyboard.c (abs): New macro.
1296 (double_click_fuzz): New variable.
1297 (make_lispy_event): Use it to determine what makes a double-click.
1298 (syms_of_keyboard): DEFVAR_INT it.
1299
6594ac22
GM
1300 * xmenu.c (set_frame_menubar): Take into account that
1301 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1302 <raeburn@gnu.org>.
1303
75c5350a
GM
13042001-07-27 Gerd Moellmann <gerd@gnu.org>
1305
1306 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1307
1308 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1309 of row's visible height.
1310
1311 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1312 deal with the first overlay string having an image `display' property.
1313 (try_window_reusing_current_matrix, compute_line_metrics):
1314 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1315 row is invisible above and part of the row is at the same time
1316 invisible below the window.
1317
ac49effe
GM
13182001-07-26 Gerd Moellmann <gerd@gnu.org>
1319
1320 * xfns.c (x-show-tip): Doc fix.
3452efc2 1321
ac49effe
GM
1322 * xfns.c (Vx_max_tooltip_size): New variable.
1323 (syms_of_xfns): DEFVAR_LISP it.
1324 (Fx_show_tip): Set frame's window_width to the width of the
1325 window. Use a maximum tooltip size specified by
1326 Vx_max_tooltip_size, if that has valid contents.
1327 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1328
8c3b00cb
AI
13292001-07-26 Andrew Innes <andrewi@gnu.org>
1330
1331 * w32term.c (x_display_list): New variable.
1332 (w32_term_init): Set it.
1333
1334 * w32term.h (x_display_list): New extern.
1335
16098288
GM
13362001-07-26 Gerd Moellmann <gerd@gnu.org>
1337
1338 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1339 is non-nil, instead of when redisplaying_p is non-zero.
1340 See comment there.
16098288
GM
1341 (mark_window_display_accurate_1): Add an assertion.
1342
64c5be50
GM
13432001-07-25 Gerd Moellmann <gerd@gnu.org>
1344
e743f599
GM
1345 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1346
563b384d
GM
1347 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1348 events so that we get a chance of processing expose events.
1349
64c5be50
GM
1350 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1351
296808a5
GM
13522001-07-24 Gerd Moellmann <gerd@gnu.org>
1353
1354 * xfns.c (valid_image_p): Protect better against invalid image
1355 specifications. Previous code could signal an error.
1356
5247262a
GM
13572001-07-23 Gerd Moellmann <gerd@gnu.org>
1358
3452efc2 1359 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1360 presence of display table entries.
1361 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1362
dd42b31a
GM
1363 * dispnew.c (adjust_glyph_matrix): In the optimization for
1364 windows whose height has changed, use the new window height
1365 to compute which rows to invalidate.
1366
9e5a7f2a
GM
1367 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1368 (MAX_10_EXP): New macro.
1369 (Fformat): Use it.
1370
5247262a
GM
1371 * coding.c (code_convert_region): Handle the multibyte case if
1372 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1373
177ab8ce
GM
13742001-07-20 Gerd Moellmann <gerd@gnu.org>
1375
6e07c0a5
GM
1376 * dispextern.h (struct face): Change type of `stipple' to
1377 int; it's an ID.
1378
177ab8ce
GM
1379 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1380
b5b80599
GM
13812001-07-19 Gerd Moellmann <gerd@gnu.org>
1382
4e2a256b
GM
1383 * dispnew.c (update_window): Don't set the cursor at the end
1384 of the update if display update has been paused.
1385
3452efc2 1386 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1387
c1fd9232
KR
13882001-07-18 Ken Raeburn <raeburn@gnu.org>
1389
1390 * fns.c (Fset_char_table_default): Check that a charset is defined
1391 before checking its dimension.
1392
928a85c1
KR
13932001-07-17 Ken Raeburn <raeburn@gnu.org>
1394
1395 * coding.c (setup_coding_system): Don't do any designation based
1396 on reg_bits if charset is not yet defined.
1397
fb4c6c96 1398 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1399 pointer, using eassert.
1400
de11c1ea
GM
14012001-07-17 Gerd Moellmann <gerd@gnu.org>
1402
3452efc2
SM
1403 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1404 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1405
467f1209
GM
14062001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1407
1408 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1409
c3d6be34
GM
14102001-07-16 Gerd Moellmann <gerd@gnu.org>
1411
c1d61a7d
GM
1412 * fileio.c (unwind_read): Function removed.
1413 (read_non_regular, read_non_regular_quit): New functions.
1414 (Finsert_file_contents): When reading from non-regular files,
1415 arrange to catch a `quit' and terminate the loop. Rearrange
1416 code so that a `quit' when reading from a regular file doesn't
1417 insert text in the buffer.
1418
c3d6be34
GM
1419 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1420 Clear faces afterwards.
1421 (clear_font_table): Take a x_display_info parameter. Don't free
1422 fonts being the default font of any frame on the given display.
1423
e06aa1f9
GM
14242001-07-13 Gerd Moellmann <gerd@gnu.org>
1425
1426 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1427 instead of CHAR_STRING which can signal an error.
1428
1429 * charset.c (char_to_string_1): Extracted from char_to_string.
1430 Return -1 instead of signaling an error.
1431 (char_to_string): Use it.
1432
1433 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1434
176c92e6
SM
14352001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1436
1437 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1438 is t, don't try to append anything to it.
1439
1c56232f
EZ
14402001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1441
1442 * dired.c (file_name_completion): Pass dp->d_name to
1443 Fstring_match, not elt, which is always nil here.
1444
1d2b2268
GM
14452001-07-12 Gerd Moellmann <gerd@gnu.org>
1446
1447 * xselect.c (x_decline_selection_request): Handle errors
1448 caused by receivers that have vanished.
1449
1450 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1451 ignoring events on foreign windows in #if 0. Always dispatch
1452 the event after checking it with x_handle_property_notify.
1453
1454 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1455 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1456 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1457 (toplevel): Add prototypes for file-local functions.
1458 (x_atom_to_symbol): Remove DPYINFO parameter.
1459
fe5a0162
SM
14602001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1461
1462 * w32menu.c (menubar_selection_callback, w32_menu_show):
1463 Initialize `entry' to nil.
1464 (w32_dialog_show): Remove unused `save_wv' variable.
1465 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1466
a777242c
GM
14672001-07-11 Gerd Moellmann <gerd@gnu.org>
1468
8ee5b6a3
GM
1469 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1470
d0e2444e
GM
1471 * fileio.c (unwind_read): Print a message when discarding inserted
1472 text or switching the buffer to unibyte. Change parameter.
1473 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1474
a777242c
GM
1475 * fileio.c (unwind_read): New function.
1476 (Finsert_file_contents): Record it as unwind-function for
1477 the case that reading is interrupted by C-g.
1478
ae794295
GM
14792001-07-10 Gerd Moellmann <gerd@gnu.org>
1480
fe5a0162 1481 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1482 update when scrolling_window returns 0.
1483
6b05fae3
GM
1484 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1485
1486 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1487 for the case that x_decode_color signals an error.
6b05fae3 1488
ae794295
GM
1489 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1490
bb6e8cee
GM
14912001-07-09 Gerd Moellmann <gerd@gnu.org>
1492
1493 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1494 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1495 around ioctls.
1496
36b40a8a
EZ
14972001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1498
24b97d4b
EZ
1499 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1500 doc string line for dos-timezone-offset.
1501
36b40a8a
EZ
1502 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1503 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1504 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1505 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1506
1507 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1508
0967b4b0
GM
15092001-07-05 Gerd Moellmann <gerd@gnu.org>
1510
f25cfe53
GM
1511 * sound.c: Include Emacs' header files with #include "...".
1512
0967b4b0
GM
1513 * eval.c (specbind): Additionally record the buffer that was
1514 current when a buffer-local or frame-local variable was bound.
1515
c347a1c3
GM
15162001-07-04 Gerd Moellmann <gerd@gnu.org>
1517
1518 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1519 to unibyte characters in unibyte buffers.
1520
6332ca8a
GM
15212001-07-03 Gerd Moellmann <gerd@gnu.org>
1522
38472d44
GM
1523 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1524 the frame on the binding stack. Change format of entries for
1525 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1526 (unbind_to): Handle unbinding a frame-local variable.
1527
6332ca8a 1528 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1529 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1530 (dump_glyph_row): Print row's continuation_lines_width.
1531 (try_window_id): Take the shortcut if ZV is visible in the
1532 window, but there are actually no changes at ZV.
1533
63d1b174
GM
15342001-07-02 Gerd Moellmann <gerd@gnu.org>
1535
4c175203
GM
1536 * xterm.h (x_free_dpy_colors): Add prototype.
1537
1538 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1539 right number of arguments.
1540
0b54ce28
GM
1541 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1542 ($(lwlibdir)TAGS): New target.
4c175203 1543 (TAGS): Fix dependency list.
0b54ce28 1544
63d1b174
GM
1545 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1546 with input blocked.
1547
d827466c
GM
15482001-06-30 Gerd Moellmann <gerd@gnu.org>
1549
1550 * emacs.c (main): Remove extern declaration for sys_nerr, which
1551 isn't used and causes a compilation error with GCC 3.0 on
1552 FreeBSD 4.3.
1553
b5cb1ada
GM
15542001-06-27 Gerd Moellmann <gerd@gnu.org>
1555
a5d3ec3f 1556 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1557 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1558 (toplevel): Include <signal.h> and syssignal.h.
1559
b5cb1ada
GM
1560 * sound.c (vox_configure, vox_close): Turn off atimers
1561 around ioctls.
1562
d9bad487
GM
15632001-06-26 Gerd Moellmann <gerd@gnu.org>
1564
fdbb67fe
GM
1565 * keyboard.c (read_char) <non_reread>: Record the previous idle
1566 start time before calling timer_stop_idle.
1567 (read_char) <reread_first>: After processing a help-echo event,
1568 restore the previous idle start time.
1569
d9bad487
GM
1570 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1571 the start of invisible text.
1572 (setup_for_ellipsis): New function.
1573 (next_overlay_string): After all overlay strings have been
1574 processed, display an ellipsis if necessary.
1575 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1576 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1577
1578 * dispextern.h (struct iterator_stack_entry): Add member
1579 display_ellipsis_p.
1580
2b9c25e0
GM
15812001-06-25 Gerd Moellmann <gerd@gnu.org>
1582
80de57df
GM
1583 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1584 on the value of the wait-for-wm frame parameter.
1585
1586 * xterm.h (struct x_output): Add member wait_for_wm.
1587
1588 * xfns.c (Qwait_for_wm): New variable.
1589 (x_frame_parms): Add entry for `wait-for-wm".
1590 (x_set_wait_for_wm): New function.
1591 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1592 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1593
2b9c25e0
GM
1594 * xdisp.c (try_window_id) <all changes below window end>: Don't
1595 take this shortcut if ZV is visible in the window.
1596 (try_window_id): When checking for window start being in changed
1597 text, don't check that the buffer's size has changed.
1598
f772775c
RS
15992001-06-23 Richard M. Stallman <rms@gnu.org>
1600
1601 * minibuf.c (Fcompleting_read): Doc fix.
1602
fa9090b8
GM
16032001-06-19 Gerd Moellmann <gerd@gnu.org>
1604
1605 * composite.c (Ffind_composition_internal): Accept ZV
1606 and a string's end position as POS.
1607
f6f1beba
GM
16082001-06-18 Gerd Moellmann <gerd@gnu.org>
1609
1610 * composite.c (Ffind_composition_internal): Check POS
1611 for validity.
1612
0ae83348
EZ
16132001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1614
1615 * editfns.c (Fmessage_box): If the frame is not under a window
1616 system, output the message in the echo area.
1617
e4cdc335
RS
16182001-06-14 Richard M. Stallman <rms@gnu.org>
1619
1620 * xdisp.c (try_window_id): When EOB is visible, don't treat
1621 insertion at EOB as if it were "off the bottom of the screen."
1622
a55a5f3c
AI
16232001-06-11 Andrew Innes <andrewi@gnu.org>
1624
1625 * w32proc.c (create_child): Add new parameter is_gui_app.
1626 (w32_executable_type): Add new parameter is_gui_app.
1627 (sys_spawnve): Use it.
1628 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1629 SIGQUIT. This matches better how the signals are interpreted by
1630 MSVC compiled programs.
1631 (syms_of_ntproc): Update docstring.
1632
1b85dc1c
SM
16332001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1634
1635 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1636 well otherwise note_mouse_highlight might optimize away highlighting
1637 if we pass over that same overlay again.
1638
b75f8eab
EZ
16392001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1640
1641 * lread.c (Fload): Document that the argument is run via
1642 substitute-in-file-name.
1643
94843cc1
GM
16442001-05-31 Gerd Moellmann <gerd@gnu.org>
1645
b14659e6
GM
1646 * Makefile.in (bootstrap-doc): New target.
1647 (bootstrap-emacs): Depend on it.
1648
0894672f
GM
1649 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1650 auto-save-list-file-name when shutting down Emacs, because
1651 creating the directory might signal an error, and leaves
1652 Emacs in a strange state.
1653
94843cc1
GM
1654 * term.c: (tty_cursor_hidden): New variable.
1655 (update_begin): Don't call tty_hide_cursor. Clean up.
1656 (update_end, set_terminal_window, set_scroll_region): Clean up.
1657 (ring_bell, reset_terminal_modes): Clean up.
1658 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1659 on tty_cursor_hidden.
1660 (write_glyphs): Call tty_hide_cursor.
1661
db3a49a6
SM
16622001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1663
1664 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1665
8bd189fb
GM
16662001-05-30 Gerd Moellmann <gerd@gnu.org>
1667
6f1be3b9
GM
1668 * xfns.c (enum image_value_type): New enumerator
1669 IMAGE_STRING_OR_NIL_VALUE.
1670 (parse_image_spec): Handle it.
1671 (xbm_format, pbm_format): Use it for :foreground and :background.
1672 (xbm_load, pbm_load): Check for nil color names.
1673
8bd189fb
GM
1674 * xterm.c (note_mouse_highlight): If an overlapping overlay
1675 exists, but we find that we highlight the same overlay as before,
1676 don't do the highlighting again.
1677
7bdba03c
GM
16782001-05-29 Gerd Moellmann <gerd@gnu.org>
1679
4c329aa8
GM
1680 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1681 Protect unibyte strings created by replacing their multibyte
1682 equivalents in menu_items.
1683
e15e2828
GM
1684 * keymap.c (Fsingle_key_description): NUL-terminate the string
1685 buffer before calling build_string.
1686
7bdba03c
GM
1687 * callproc.c (Fcall_process): Deal with decode_coding returning
1688 CODING_FINISH_INCONSISTENT_EOL.
1689
89c8dc6c
GM
16902001-05-28 Gerd Moellmann <gerd@gnu.org>
1691
db3a49a6 1692 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1693 an item's name with its key description in case the description
1694 is a multibyte string.
1695
1696 * keymap.c (Fsingle_key_description): Create a multibyte string
1697 only if necessary.
1698
eb04d6cd
GM
1699 * macros.c (Fstart_kbd_macro): Doc fix.
1700
8bd6307f
GM
1701 * xterm.c (cursor_in_mouse_face_p): New function.
1702 (x_draw_stretch_glyph_string): Use it to choose a different GC
1703 when drawing a cursor within highlighted text.
1704
e26c4089
GM
1705 * editfns.c (char_property_eq): Put in #if 0.
1706
1707 * indent.c (string_display_width): Put in #if 0.
1708
1709 * lread.c (Fload): Remove unused label.
1710
89c8dc6c
GM
1711 * termcap.c (speeds): Put in #if 0.
1712
9a1211f2
GM
17132001-05-18 Gerd Moellmann <gerd@gnu.org>
1714
29148a3f
GM
1715 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1716
9a1211f2
GM
1717 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1718 transformation matrix by 10.
1719
09393d07
GM
17202001-05-16 Gerd Moellmann <gerd@gnu.org>
1721
1722 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1723 only if it's equal to the former foreground pixel color.
db3a49a6 1724 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1725 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1726
460e6bae
GM
17272001-05-16 Dave Love <fx@gnu.org>
1728
1729 * insdel.c (signal_before_change, signal_after_change): Consider a
1730 local change hook which changes the buffer.
99c78ce8
GM
1731
1732 * process.c (read_process_output): Don't call signal_after_change
1733 and update_compositions after insert_from_string_before_markers.
1734
dbcf3c03
GM
17352001-05-16 Gerd Moellmann <gerd@gnu.org>
1736
a90b3d3c
GM
1737 * xfaces.c (split_font_name): Use the right field when
1738 checking for `[...]' syntax.
1739
1b7818b4
GM
1740 * buffer.c (copy_overlays): New function.
1741 (clone_per_buffer_values): Use it.
1742
1743 * buffer.h (OVERLAY_PLIST): New macro.
1744
9bae8781
GM
1745 * keymap.c (Fsingle_key_description): Replace a build_string with
1746 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1747
dbcf3c03
GM
1748 * fontset.c (Ffontset_info): Check that face is non-null
1749 before accessing its fields.
1750
8a1ae4dd
GM
17512001-05-15 Gerd Moellmann <gerd@gnu.org>
1752
18a0a39e
GM
1753 * keyboard.c (read_key_sequence): Prevent generating a fake
1754 prefix key twice.
1755
e335b66a
GM
1756 * xfaces.c (split_font_name): Handle `[...]' for the right
1757 font name fields.
1758
8a1ae4dd
GM
1759 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1760 of CCL_STAT_INVALID_CMD.
1761
3cf80731
SM
17622001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1763
33568849
SM
1764 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1765 in <var> has no default value yet.
1766
3cf80731
SM
1767 * xfaces.c (try_alternative_families): First try the FAMILY.
1768 And if nothing is found in the end, try again with scalable fonts.
1769 (try_font_list): Let try_alternative_families do a bit more of
1770 the work. Only use FAMILY if it is not nil.
1771 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1772
933b0249
GM
17732001-05-14 Gerd Moellmann <gerd@gnu.org>
1774
58e5af83
GM
1775 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1776 pointer shape when show_mouse_face has already done it.
33568849 1777
58e5af83 1778 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1779 full-width rows.
1780
7b16a6bf
GM
1781 * xfaces.c (split_font_name): Make sure to leave the loop
1782 with the right value of `i'.
3cf80731 1783
933b0249
GM
1784 * xfaces.c (split_font_name): Handle matrix transformations
1785 in the pixel and point size fields of XLFD font names.
1786 (xlfd_point_size): Likewise.
1787
dddcbf00
EZ
17882001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1789
3cf80731 1790 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1791 (x_to_w32_font): Add prototype.
1792
7689ef0b
EZ
1793 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1794 redefining, to avoid compiler warnings.
1795
e7c15bba
EZ
1796 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1797
dddcbf00
EZ
1798 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1799 (w32_get_bdf_glyph): Cast between unsigned char and char when
1800 passing arguments to subroutines, to shut up compiler warnings.
1801 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1802 GET_HEX_VAL.
1803
1804 * xfaces.c: Include keyboard.h before frame.h, not after it.
1805
1806 * widget.c: Include keyboard.h before frame.h.
1807
1808 * w32term.h (struct image, struct face): Forward declaration, to
1809 avoid compiler warnings.
1810
7bd2d083
GM
18112001-05-11 Gerd Moellmann <gerd@gnu.org>
1812
47e72862
GM
1813 * keyboard.c (read_key_sequence): Don't modify events when
1814 generating fake prefix keys (mode-line, scroll-bar, ...) since
1815 this prevents proper processing of such events when pushed back
1816 into unread-command-events.
1817
dd5f324b
GM
1818 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1819 actually redrawn. Make the function static.
1820 (note_mouse_highlight): Fix a case where the mouse cursor
1821 was changed back to the text cursor.
1822
1823 * xterm.h (clear_mouse_face): Remove prototype.
1824
d88a79d4
GM
1825 * xdisp.c (try_window_id): Fix the fix and set the right
1826 window_end_vpos.
1827
1828 * xdisp.c (try_window_id): Fix computation of window end in the
1829 case that lines were deleted at the end of the window. Add some
1830 more debug_method_adds.
0416532f 1831
7bd2d083
GM
1832 * xfaces.c (try_alternative_families): New function.
1833 (try_font_list): Use it. If ATTRS specifies a family, check
1834 fonts from that family first.
1835 (choose_face_font): Remove code setting the family part of
1836 the pattern to nil.
1837
23fca891
GM
18382001-05-10 Gerd Moellmann <gerd@gnu.org>
1839
ff9aa2ca
GM
1840 * xdisp.c (try_window_id): Fix case of all changes before
1841 the window start.
7b2654b5 1842
23fca891
GM
1843 * xdisp.c (try_window_id): Add some xasserts.
1844
e9726794
GM
18452001-05-09 Gerd Moellmann <gerd@gnu.org>
1846
1847 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1848
9e53a675
GM
18492001-05-09 Dave Love <fx@gnu.org>
1850
1851 * xdisp.c (GIVE_UP): Fix for K&R C.
1852
0d487c52
GM
18532001-05-09 Gerd Moellmann <gerd@gnu.org>
1854
fe88d421
GM
1855 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1856
0d487c52
GM
1857 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1858 back to the text cursor shape without need.
1859
1e9fc92e
GM
18602001-05-07 Gerd Moellmann <gerd@gnu.org>
1861
a2a6232e
GM
1862 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1863
1864 * dispextern.h (inverse_video): Declare extern.
1865
1e9fc92e
GM
1866 * keyboard.c (delete_kboard): Handle the case that selected_frame
1867 has been deleted in the course of x_connection_closed.
1868
12949a7f
EZ
18692001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1870
7b2654b5
SM
1871 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1872 Fix the change from 2001-04-30.
12949a7f 1873
2fa2f461
GM
18742001-05-03 Gerd Moellmann <gerd@gnu.org>
1875
a779d213
GM
1876 * xfns.c (file_dialog_unmap_cb): New function.
1877 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1878 where a dialog is closed via the window manager.
1879
7b2654b5 1880 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1881 the window start or all below the window end mostly rewritten.
1882 (redisplay_window): Move the tests if try_window_id is
1883 applicable to try_window_id.
1884 (GIVE_UP): New macro.
1885
3356df63
GM
18862001-05-02 Gerd Moellmann <gerd@gnu.org>
1887
a39202f6 1888 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1889 currently being updated, mark the frame garbaged.
1890 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1891 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1892
3356df63
GM
1893 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1894 again if it has already been drawn.
1895
a9d2fd1d
SM
18962001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1897
1898 * syntax.c (update_syntax_table): Check that oldi has the same
1899 properties as old_prop before deciding not to invalidate.
1900
c95fc5f1
GM
19012001-04-30 Gerd Moellmann <gerd@gnu.org>
1902
a9793e45
GM
1903 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1904 read-only text that is so because of text properties.
1905
c95fc5f1 1906 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1907 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1908 windows that are components of a Lucid menu bar.
1909
5a5d9185
GM
19102001-04-27 Gerd Moellmann <gerd@gnu.org>
1911
1912 * term.c (turn_on_face): Fix reverse video handling on terminals
1913 that don't support colors.
1914
ba973f7a
GM
19152001-04-26 Gerd Moellmann <gerd@gnu.org>
1916
1917 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1918 a non-buffer.
1919
8c56a983
GM
19202001-04-25 Gerd Moellmann <gerd@gnu.org>
1921
a728644c
GM
1922 * term.c (toggle_highlight): New function.
1923 (turn_on_face): Change handling of reverse video.
1924
7b2654b5
SM
1925 * process.c (wait_reading_process_input):
1926 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1927
bfd8410f
GM
1928 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1929 of the number of overlays to check.
1930
be2488ca
GM
1931 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1932
8c56a983
GM
1933 * xdisp.c (try_window_id): Fix a case where window_end_pos
1934 and window_end_bytepos were not adjusted.
1935
522d42f7
GM
19362001-04-23 Gerd Moellmann <gerd@gnu.org>
1937
1938 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1939 zero instead of -1.
1940
78c1afb6
EZ
19412001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1942
a9d2fd1d
SM
1943 * process.c (wait_reading_process_input) [!subprocesses]:
1944 Don't reference waiting_for_user_input_p, it's not defined in the
1945 branch without async subprocesses support.
78c1afb6 1946
a2fab450
GM
19472001-04-19 Gerd Moellmann <gerd@gnu.org>
1948
a122a38e
GM
1949 * keyboard.c (delete_kboard): Prevent a dangling reference
1950 from current_kboard to KB, which is freed.
1951
a9d2fd1d
SM
1952 * process.c (wait_reading_process_input):
1953 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1954 read_key_sequence aware of buffer changes from under it.
1955
0f8d6dc7
GM
19562001-04-18 Gerd Moellmann <gerd@gnu.org>
1957
eeffb293
GM
1958 * xfaces.c (Qscalable_fonts_allowed): New variable.
1959 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1960 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1961 removed.
eeffb293 1962 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1963 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1964 for scalable-fonts-allowed to t.
eeffb293 1965
0f8d6dc7
GM
1966 * fileio.c (Finsert_file_contents): If the file size returned from
1967 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1968 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1969
eec2d1de
EZ
19702001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1971
1972 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1973 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1974 (__memalign_hook): Make the two prototypes consistent.
1975
f4f480bd
GM
19762001-04-17 Gerd Moellmann <gerd@gnu.org>
1977
1978 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1979 matrix of mini-windows.
1980
52283633
SM
19812001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1982
1983 * intervals.c (find_interval): Don't rebalance during signal handling.
1984
ec2423c9
GM
19852001-04-11 Gerd Moellmann <gerd@gnu.org>
1986
30cb0001 1987 * fns.c: Include blockinput.h.
52283633 1988
ec2423c9
GM
1989 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1990
719d83ad
GM
19912001-04-10 Gerd Moellmann <gerd@gnu.org>
1992
60f8d735
GM
1993 * fns.c (Fcompare_strings): Fix return values.
1994
afffeb57
GM
1995 * window.c (window_scroll): Change the meaning of N to mean
1996 N screen-fulls or N lines.
1997 (window_scroll_pixel_based, window_scroll_line_based)
1998 (scroll_command, Fscroll_other_window): Change accordingly.
1999
52283633
SM
2000 * window.c (window_scroll_pixel_based, Frecenter):
2001 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2002 height of the window.
2003
2004 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2005 instead of using it.last_visible_y for the height of the window.
52283633 2006
719d83ad 2007 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2008 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2009
2010 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2011 able to write to hidden and system files. From Dan Holmsand
2012 <dan@eyebee.com>.
719d83ad 2013
8ddf3ee1
GM
2014 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2015 Holmsand <dan@eyebee.com>.
719d83ad 2016
522ed7fb
GM
20172001-04-09 Gerd Moellmann <gerd@gnu.org>
2018
9170e5d4
GM
2019 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2020
522ed7fb
GM
2021 * window.c (window_internal_height): Return 1 less if the
2022 window has a header line.
2023
2024 * xdisp.c (try_window_id): When scrolling on a terminal, take
2025 the change of window_internal_height into account.
2026
ceeb3d7d
EZ
20272001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2028
2029 * gmalloc.c (align): If the argument SIZE would overflow
2030 __malloc_ptrdiff_t, fail right away.
2031
63685b9d
GM
20322001-04-06 Gerd Moellmann <gerd@gnu.org>
2033
2034 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2035 Make sure the tooltip is completely visible.
2036 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2037
2038 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2039
2040 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2041
3ffb33bb
DL
20422001-04-06 Dave Love <fx@gnu.org>
2043
52283633
SM
2044 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2045 Fix test of `from'.
3ffb33bb 2046
869fb12c
GM
20472001-04-06 Gerd Moellmann <gerd@gnu.org>
2048
52283633 2049 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2050
869fb12c
GM
2051 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2052
441bf856
GM
20532001-04-05 Gerd Moellmann <gerd@gnu.org>
2054
4d664b04
GM
2055 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2056
52283633 2057 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2058
30ca89f5
GM
2059 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2060 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2061
2062 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2063 shell widget's position only if it is non-null.
2064
52283633
SM
2065 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2066 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2067
81a81c0f
GM
2068 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2069 FILENAME to bring it in synch with the documentation.
2070
441bf856
GM
2071 * xfaces.c (realizing_basic_faces_p): Renamed from
2072 realize_default_face_p.
2073 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2074 (realize_default_face): Don't set the flag.
2075
702a1e8e
GM
20762001-04-04 Gerd Moellmann <gerd@gnu.org>
2077
1013f4e3
GM
2078 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2079
52283633
SM
2080 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2081
1013f4e3
GM
2082 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2083 the buffer that was used for echoing.
2084
702a1e8e
GM
2085 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2086 (first_font_matching): Removed unused function.
2087 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2088 (may_use_scalable_font_p): Remove parameter FONT; rename
2089 parameter NAME to FONT.
2090 (x_face_list_fonts): Fix missing bounds check.
2091 (realizing_default_face_p): New variable.
2092 (realize_default_face): Set and clear that flag.
2093 (x_face_list_fonts): When called during the realization of the
2094 default face, and no matching fonts are found when ignoring
2095 scalable fonts and fonts matching a regexp from
2096 face-ignored-fonts, try without ignoring fonts.
2097
f9dbcda4
GM
20982001-04-03 Gerd Moellmann <gerd@gnu.org>
2099
ad18ffb1
GM
2100 * xfns.c (postprocess_image): New function.
2101 (lookup_image): Call it for all image types except PostScript.
2102 (x_kill_gs_process): Call postprocess_image.
2103
f9dbcda4
GM
2104 * xterm.c (x_use_underline_position_properties): New variable.
2105 (x_draw_glyph_string): Use it.
2106 (syms_of_xterm): DEFVAR_BOOL it.
2107
651f03b6
GM
21082001-04-02 Gerd Moellmann <gerd@gnu.org>
2109
2110 * xterm.c (x_alloc_nearest_color_1): New function.
2111 (x_alloc_nearest_color): Use it.
2112 (x_color_cells): Take a Display as argument, instead of a frame.
2113 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2114 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2115 (x_initialize): Register cvt_string_to_pixel as resource converter
2116 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2117
73d75a62
GM
21182001-03-30 Gerd Moellmann <gerd@gnu.org>
2119
b2046df8
GM
2120 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2121 (set_iterator_to_next): If a string from a display property ends,
2122 consider the case that this might also be the end of an
2123 overlay string having the display property.
2124
52283633 2125 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2126
87d8eba4
GM
2127 * xdisp.c (reseat_to_string): Undo last change.
2128
73d75a62
GM
2129 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2130 matrix of a window when the header line changes, when
2131 new rows are allocated, or when the width changes.
2132
911a2406
EZ
21332001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2134
52283633 2135 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2136
aea51abe
EZ
21372001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2138
2139 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2140 deprecated.
2141
176bc847
GM
21422001-03-29 Gerd Moellmann <gerd@gnu.org>
2143
ed31fabf
GM
2144 * data.c (Fsubr_interactive_form): New function.
2145 (syms_of_data): Defsubr it.
2146
176bc847
GM
2147 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2148 (live_float_p, live_misc_p): Return 1 only if the offset of the
2149 pointer in its block is >= 0.
2150
e59d0e9d
GM
21512001-03-28 Paul Eggert <eggert@twinsun.com>
2152
2153 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2154 microseconds calcuation. Avoid double-rounding problem.
2155 In doc string, warn that the result is approximate.
2156
f827b862
GM
21572001-03-28 Gerd Moellmann <gerd@gnu.org>
2158
30a3f61c
GM
2159 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2160 bind `inhibit-eval-during-redisplay' to t.
2161
2162 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2163
2164 * xdisp.c (inhibit_eval_during_redisplay)
2165 (Qinhibit_eval_during_redisplay): New variables.
2166 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2167 don't eval, return nil instead.
2168 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2169 Initialize Qinhibit_eval_during_redisplay.
2170
e719f5ae
GM
2171 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2172 the iterator's multibyte_p flag.
2173
deb2613a
GM
2174 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2175 instead of setting it to zero; it's incremented for each frame
2176 where the menu face is changed.
2177
52283633
SM
2178 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2179 change bottom shadow accordingly.
2180
2181 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2182 intersections here.
2183 (expose_window): Do it here instead.
52283633 2184 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2185
f827b862
GM
2186 * bytecode.c (BYTE_CODE_QUIT): New macro.
2187 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2188
4bde0ebb
GM
21892001-03-27 Gerd Moellmann <gerd@gnu.org>
2190
607ec83c
GM
2191 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2192 Give up if matrix starts in an ellipsis.
2193 (init_from_display_pos): Do nothing if POS doesn't specify
2194 a dpvec_index but the iterator has such a position.
2195
0245398f
GM
2196 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2197
aba25348
GM
2198 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2199 x/y position is (0, 0) after destroying the menu bar, restore
2200 its original position.
2201
4bde0ebb
GM
2202 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2203 (init_from_display_pos): Use it.
2204 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2205
8cdb267e
GM
22062001-03-26 Gerd Moellmann <gerd@gnu.org>
2207
2208 * xdisp.c (try_window_id): Undo last change.
2209
9948db79
EZ
22102001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2211
2212 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2213
2214 * buffer.c (syms_of_buffer): Doc fix.
2215
2eddf899
GM
22162001-03-26 Gerd Moellmann <gerd@gnu.org>
2217
2218 * xfaces.c (x_update_menu_appearance): Use local variable
2219 popup_path for setting font resources.
2220
6c145d35
EZ
22212001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2222
6a65b1b5
EZ
2223 * frame.c (Fframe_list): Don't reference tip_frame if
2224 HAVE_WINDOW_SYSTEM is not defined.
2225
6c145d35
EZ
2226 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2227 <wl@gnu.org>.
2228
d74c1900
GM
22292001-03-25 Gerd Moellmann <gerd@gnu.org>
2230
20fbd925
GM
2231 * xdisp.c (init_from_display_pos): Test invisible property
2232 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2233
927c5b3b
GM
2234 * xdisp.c (redisplay_internal) <update one window>: Make sure
2235 last_arrow_position and last_arrow_string are set.
2236
d74c1900
GM
2237 * frame.c (Fframe_list): Don't return a tooltip frame.
2238
091f8878
GM
22392001-03-23 Gerd Moellmann <gerd@gnu.org>
2240
52283633
SM
2241 * xdisp.c (mark_window_display_accurate_1): New function,
2242 extracted from mark_window_display_accurate.
2243 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2244 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2245 (mark_window_display_accurate): Use it.
2246 (redisplay_internal): Use it for the selected window.
2247 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2248 for the selected frame.
2249
ac90c44f
GM
2250 * xdisp.c Use make_number, for readability.
2251 (try_window_id): Disable rows below the window end.
2252 (try_window_reusing_current_matrix): Use cursor_row_p.
2253 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2254 of rows.
2255 (init_from_display_pos): If POS specifies a position in a display
2256 vector, maybe get the iterator set up for that ellipsis.
43c09969 2257
091f8878
GM
2258 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2259
991786dd
EZ
22602001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2261
2262 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2263
6c29b43c
GM
22642001-03-23 Gerd Moellmann <gerd@gnu.org>
2265
2266 * xfaces.c (x_update_menu_appearance): Use a different path
2267 for Lucid popup menus.
2268
d8731202
SM
22692001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2270
2271 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2272
2273 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2274 (string_buffer_position): Use `make_number'.
2275
f61a541b
GM
22762001-03-22 Gerd Moellmann <gerd@gnu.org>
2277
3c9e997b
GM
2278 * xfaces.c (x_update_menu_appearance): Renamed from
2279 x_set_menu_face_resources. Use different resources for popups.
2280
2281 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2282 (GC_CHECK_STRING_BYTES): Don't define.
2283
364cd450
GM
2284 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2285 Removed, together with subroutines.
2286 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2287 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2288
d8731202
SM
2289 * dispextern.h (x_set_menu_resources_from_menu_face):
2290 Remove prototype.
364cd450 2291
d8731202 2292 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2293 Remove calls to x_set_menu_resources_from_menu_face.
2294
d8731202
SM
2295 * xfaces.c (xm_set_menu_resources_from_menu_face):
2296 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2297
2298 * xmenu.c: Include widget.h.
2299 (single_submenu): Return int. Some cleanup.
2300 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2301
140330de
GM
23022001-03-21 Gerd Moellmann <gerd@gnu.org>
2303
2304 * xterm.c (x_update_window_end): Handle overwritten mouse face
2305 also for tool bar windows.
2306 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2307 DRAW is DRAW_IMAGE_RAISED.
2308
1741905c
GM
23092001-03-20 Gerd Moellmann <gerd@gnu.org>
2310
fa88947e
GM
2311 * print.c (syms_of_print): Doc fixes.
2312
1741905c
GM
2313 * fns.c (Fmd5): Doc fix.
2314
ade0bee1
GM
23152001-03-19 Gerd Moellmann <gerd@gnu.org>
2316
357e7376
GM
2317 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2318 Clear area of the frame not occupied by the scroll bar.
2319
c2c097cc
GM
2320 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2321 tip frame's root window buffer to *tip* right after creating
2322 the frame.
2323
ade0bee1
GM
2324 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2325 is an integer don't have to be for space characters.
2326
88c6e37e
GM
23272001-03-16 Gerd Moellmann <gerd@gnu.org>
2328
52283633
SM
2329 * indent.c (current_column, current_column_1, Fmove_to_column)
2330 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2331
c62eed76
KH
23322001-03-15 Kenichi Handa <handa@etl.go.jp>
2333
2334 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2335 drawing glyph string.
2336
c899e7e6
GM
23372001-03-15 Gerd Moellmann <gerd@gnu.org>
2338
d0bbfc99
GM
2339 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2340 (command_loop_1): Undo last change.
2341
03d1a189
GM
2342 * xterm.c (fast_find_position): Return the correct vpos.
2343
c899e7e6 2344 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2345 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2346 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2347 Call store_symval_forwarding with BUF null.
2348 (set_internal): Call store_symval_forwarding with the BUF
2349 parameter passed to set_internal. Formerly, the value was always
2350 set in the current buffer; the buffer recorded in specbind for
2351 this case wasn't used.
2352 (arith_driver): Reindent.
2353
52283633
SM
2354 * buffer.c (swap_out_buffer_local_variables):
2355 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2356
2357 * lisp.h (store_symval_forwarding): Change prototype.
2358
2359 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2360
57ac7c81
GM
23612001-03-14 Gerd Moellmann <gerd@gnu.org>
2362
697617d9
GM
2363 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2364 FOR_DELETION. Avoid resizing the mini-window of the selected
2365 frame if FOR_DELETION is set.
2366 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2367 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2368 signature.
2369
2370 * window.c (Fset_window_configuration): Change call to
2371 do_switch_frame to new format.
2372
2373 * keyboard.c (quit_throw_to_read_char): Change call to
2374 do_switch_frame to new format.
2375
2376 * lisp.h (do_switch_frame): Change prototype.
2377
819dce0f
GM
2378 * frame.c (Fframe_parameters): In the `buffer-list' frame
2379 parameter, store the buffer list of FRAME, not the list of the
2380 selected frame.
2381
57ac7c81
GM
2382 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2383 box just because the glyph row's full_width_p flag is set.
2384
65008712
GM
23852001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2386
2387 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2388 skip the padding blanks inserted in extend_face_to_end_of_line,
2389 before checking for trailing whitespace.
2390
159cf431
GM
23912001-03-13 Gerd Moellmann <gerd@gnu.org>
2392
52283633 2393 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2394 Remove special handling for LessTif/Motif.
2395 (toplevel): Don't include Xm/Xm.h.
2396
52283633
SM
2397 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2398 Remove workaround code for LessTif; it doesn't work anymore.
2399
2564ea1b 2400 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2401 Xm/ScrollBarP.h.
afcdc0a1 2402
52283633
SM
2403 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2404 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2405 contemporary LessTif.
2406
52283633
SM
2407 * xfaces.c (xm_set_menu_resources_from_menu_face):
2408 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2409
159cf431
GM
2410 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2411 removing button grabs.
2412
c6f7429a
KH
24132001-03-13 Kenichi Handa <handa@etl.go.jp>
2414
cb82d767
KH
2415 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2416 and clip-large-size-font as obsolete.
2417
c6f7429a
KH
2418 * lread.c (read_multibyte): Check the validity of multibyte
2419 sequence. If invalid, return the first byte.
2420
760cefb5
GM
24212001-03-12 Gerd Moellmann <gerd@gnu.org>
2422
2423 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2424 before running the command; timer functions or process
2425 filters may have set it.
2426
5141f9d0
EZ
24272001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2428
2429 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2430 Doc fix.
2431
b6a15240
GM
24322001-03-12 Gerd Moellmann <gerd@gnu.org>
2433
2434 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2435 to sprintf.
2436
95522746
GM
24372001-03-09 Gerd Moellmann <gerd@gnu.org>
2438
db14cfc5
GM
2439 * dispextern.h (string_buffer_position): Add prototype.
2440
52283633 2441 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2442 (single_display_prop_string_p): New functions.
2443
2444 * xterm.c (note_mouse_highlight): If there's no help-echo on
2445 a string, look at the buffer text ``under'' it.
2446
2447 * keyboard.c (make_lispy_event): Add string info to the event,
2448 analogous to what's done on mode lines.
2449 (read_key_sequence): For a click on a string, consider `local-map'
2450 and `keymap' of that string.
2451
52283633
SM
2452 * keyboard.c (make_lispy_event, make_lispy_movement):
2453 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2454
2455 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2456
2457 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2458 POS; return void.
2459
95522746
GM
2460 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2461 flags argument to emacs_open; it seems to conflict with O_EXCL.
2462
898a399d
KH
24632001-03-09 Kenichi Handa <handa@etl.go.jp>
2464
28cd4910
KH
2465 * composite.h (struct composition): Change types of members;
2466 glyph_len to unsigned, width to unsigned short.
898a399d 2467
4cdf6a6c
AI
24682001-03-08 Andrew Innes <andrewi@gnu.org>
2469
2470 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2471 menu titles.
2472
129004d3
GM
24732001-03-08 Gerd Moellmann <gerd@gnu.org>
2474
221dd3e7
GM
2475 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2476 instead of nil.
2477
52283633 2478 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2479 help-echo in strings.
2480 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2481 (fast_find_string_pos): New function.
2482
52283633
SM
2483 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2484 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2485
2486 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2487 Handle `mouse-face'.
2488
2489 * dispextern.h (face_at_string_position): Change prototype.
2490
52283633 2491 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2492
129004d3
GM
2493 * keyboard.c (make_lispy_event): Avoid generating drag events
2494 if the mouse hasn't actually moved to another buffer position.
52283633 2495
80c8ab8c
DL
24962001-03-08 Dave Love <fx@gnu.org>
2497
129004d3 2498 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2499
989521fd
GM
25002001-03-08 Gerd Moellmann <gerd@gnu.org>
2501
2502 * process.c (Fset_process_window_size): Fix a typo.
2503
bb5c338d
KH
25042001-03-08 Kenichi Handa <handa@etl.go.jp>
2505
2506 * coding.c (detect_coding_sjis): Do more rigid check.
2507 (detect_coding_big5): Likewise.
2508 (decode_coding_sjis_big5): Likewise.
2509 (Fdetect_coding_region): Call detect_coding_system with tailing
2510 anchor byte `\0' for more rigid detection.
52283633 2511 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2512 (Fdetect_coding_string): Likewise.
2513
8b8f9197
SM
25142001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2515
2516 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2517 a string before extracting its data.
2518
3bdf2660
GM
25192001-03-07 Gerd Moellmann <gerd@gnu.org>
2520
2521 * window.c (Frecenter): Rewrite code handling negative values
2522 of ARG on graphical frames.
2523
25242001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2525
2526 * window.c (displayed_window_lines): If W->start is outside the
2527 accessible portion of the buffer, call start_display with BEGV or
2528 ZV instead of W->start.
2529
471f86b9
GM
25302001-03-07 Gerd Moellmann <gerd@gnu.org>
2531
2ab62c6c
GM
2532 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2533
471f86b9
GM
2534 * process.c (Fset_process_filter): Don't crash if the input
2535 file descriptor of PROCESS is closed.
2536 (Fset_process_window_size): Likewise.
2537
101922c3
GM
25382001-03-06 Kenichi Handa <handa@etl.go.jp>
2539
2540 * xterm.c (XTflash): Make the timeout of select shorter, and call
2541 select repeatedly until the desired time expires.
2542
45d051a7
GM
25432001-03-06 Gerd Moellmann <gerd@gnu.org>
2544
2545 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2546
2547 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2548
2549 * lisp.h (Vwindow_list): Declare extern.
2550
8f372c46
EZ
25512001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2552
2553 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2554
f16a7aa5
GM
25552001-03-06 Gerd Moellmann <gerd@gnu.org>
2556
157ae273
GM
2557 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2558 to detect a case where we have to highlight a different region
2559 despite not having left the currently highlighted region.
2560 Set mouse_face_overlay in the x_display_info.
45d051a7 2561 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2562
2563 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2564
2565 * buffer.c (mouse_face_overlay_overlaps): New function.
2566
2567 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2568 (Qmouse_face): Declare extern.
2569
f16a7aa5
GM
2570 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2571 if face_change_count is non-zero.
2572
827afcac
KH
25732001-03-06 Kenichi Handa <handa@etl.go.jp>
2574
2575 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2576 that the source is unibyte.
2577
14c7242e
DL
25782001-03-05 Dave Love <fx@gnu.org>
2579
827afcac 2580 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2581
c28b847b
GM
25822001-03-05 Gerd Moellmann <gerd@gnu.org>
2583
2584 * minibuf.c (read_minibuf): Clean up the binding stack if
2585 called noninteractively.
2586
b86644f2
KH
25872001-03-05 Kenichi Handa <handa@etl.go.jp>
2588
2589 * coding.c (syms_of_coding): Docstring modified.
2590
203682cc 25912001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2592
2593 * charset.c (char_to_string): If a single byte char has modifier
2594 bits that can't be reflected to the character code, ignore them
45d051a7 2595 instead of signaling an error.
b86644f2 2596
e30bd7b7
EZ
25972001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2598
2599 * s/msdos.h: Update copyright notice.
2600
2601 * dosfns.h: Update copyright notice.
2602
2603 * dosfns.c: Update copyright notice.
2604
2605 * msdos.c: Update copyright notice.
2606
b52b65bd
GM
26072001-03-02 Gerd Moellmann <gerd@gnu.org>
2608
2609 * xterm.c (glyph_rect): New function.
2610 (XTmouse_position): Use it to raise the threshold for mouse
2611 movement event generation.
2612
53c4b1e6
EZ
26132001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2614
2615 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2616 specifies (reverse . t), reverse the initial screen colors.
2617 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2618 but we are reversing the colors, set bg_set, not fg_set.
2619 Likewise for setting background-color and reversing: set fg_set.
2620 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2621 in effect.
2622
2623 * xfaces.c (Finternal_set_lisp_face_attribute)
2624 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2625 parameters alist.
2626
f964b4d7
GM
26272001-03-02 Gerd Moellmann <gerd@gnu.org>
2628
ef53d75e
GM
2629 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2630 to a single slash in the middle of file names.
2631
52283633 2632 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2633 Accept only alphanumeric time zone names.
2634
f964b4d7
GM
2635 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2636 or width area.
2637 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2638 a widget to zero height.
52283633 2639
c3c45f65
GM
26402001-03-01 Gerd Moellmann <gerd@gnu.org>
2641
2642 * window.c (Fwindow_end): Call move_it_past_eol only if
2643 ending up on a partially visible line.
2644
028d739a
DL
26452001-03-01 Dave Love <fx@gnu.org>
2646
2647 * ccl.c (Fccl_execute): Doc fix.
2648
57c5889c
GM
26492001-03-01 Gerd Moellmann <gerd@gnu.org>
2650
35f59f6b
GM
2651 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2652 of the tool bar before calling x_figure_window_size.
2653
f84ff02c
GM
2654 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2655 NULL after destroying it, otherwise XTread_socket can access a
2656 destroyed widget when input is unblocked.
2657
8b8f9197 2658 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2659
57c5889c
GM
2660 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2661 same name as before, although there was a change in fontsets.
2662
224227d1
KR
26632001-02-28 Ken Raeburn <raeburn@gnu.org>
2664
4560730a
KR
2665 * lisp.h (Fframe_parameter): Declare.
2666
224227d1 2667 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2668 Lisp_Object.
224227d1 2669
ece93c02
GM
26702001-02-28 Gerd Moellmann <gerd@gnu.org>
2671
11ef99b9
GM
2672 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2673 NULL instead.
2674
2675 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2676 NULL instead.
2677
ece93c02
GM
2678 * alloc.c (toplevel): Include process.h.
2679 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2680 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2681 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2682 (allocate_vector, allocate_hash_table, allocate_window)
2683 (allocate_frame, allocate_process, allocate_other_vector):
2684 New functions.
ece93c02
GM
2685 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2686 (mark_maybe_pointer): New function.
52283633 2687 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2688 remain and not Lisp_Objects.
2689 (min_heap_address, max_heap_address): New variables.
2690 (mem_find): Return MEM_NIL if START is below min_heap_address or
2691 above max_heap_address.
2692 (mem_insert): Compute min_heap_address and max_heap_address.
2693
2694 * process.c (make_process): Use allocate_process.
2695
2696 * frame.c (make_frame): Use allocate_frame.
2697
2698 * window.c (make_window, make_dummy_parent): Use allocate_window.
2699 (Fcurrent_window_configuration): Use allocate_other_vector.
2700
2701 * lisp.h (allocate_vectorlike): Remove prototype.
2702 (allocate_vector, allocate_other_vector, allocate_frame)
2703 (allocate_window, allocate_process, allocate_hash_table):
2704 Add prototypes.
2705
2706 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2707 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2708
063af457
KH
27092001-02-27 Kenichi Handa <handa@etl.go.jp>
2710
2711 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2712 treat the produced bytes as a valid multibyte sequence.
2713
2714 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2715 (ccl_driver) <CCL_WriteMultibyteChar2>:
2716 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2717 <ccl_finish>: Set ccl->eight_bit_control properly.
2718
2719 * ccl.h (struct ccl_program): New member eight_bit_control.
2720
f58c6494
SM
27212001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2722
2723 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2724 accessible_keymaps_char_table.
2725 (accessible_keymaps_char_table): Obey `is_metized'.
2726 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2727 Lisp_Object.
2728
c596c392
GM
27292001-02-26 Gerd Moellmann <gerd@gnu.org>
2730
2731 * dispnew.c: Check HAVE_TERM_H before including term.h.
2732
425de386
AI
27332001-02-24 Andrew Innes <andrewi@gnu.org>
2734
2735 * makefile.w32-in: Update copyright notice.
2736
2ba11bbd
SM
27372001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2738
2739 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2740
66c56ed1
KH
27412001-02-24 Kenichi Handa <handa@etl.go.jp>
2742
4c1593ce
KH
2743 * Makefile.in (lisp): Add international/utf-8.elc.
2744
66c56ed1
KH
2745 * fontset.c (Fnew_fontset): Fix handling of the case that an
2746 element of FONTLIST is a cons of family and registry.
2747
796ead7e
JR
27482001-02-23 Jason Rumney <jasonr@gnu.org>
2749
2750 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2751 to height unconditionally.
2752
2753 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2754 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2755 (x_insert_glyphs): Call window_box_left to obtain the left
2756 x-coordinate of the area to shift.
2757
2758 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2759 safe_run_hooks.
2760
f6839838
AI
27612001-02-22 Andrew Innes <andrewi@gnu.org>
2762
52283633 2763 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2764 ($(BLD)\dispnew.obj):
2765 ($(BLD)\editfns.obj):
2766 ($(BLD)\fileio.obj):
2767 ($(BLD)\filelock.obj):
2768 ($(BLD)\keyboard.obj):
2769 ($(BLD)\w32proc.obj):
2770 ($(BLD)\process.obj):
2771 ($(BLD)\sysdep.obj): Ditto.
2772
2773 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2774 header files.
52283633
SM
2775 ($(BLD)/dispnew.$(O)):
2776 ($(BLD)/editfns.$(O)):
2777 ($(BLD)/fileio.$(O)):
2778 ($(BLD)/filelock.$(O)):
2779 ($(BLD)/keyboard.$(O)):
2780 ($(BLD)/w32proc.$(O)):
2781 ($(BLD)/process.$(O)):
f6839838
AI
2782 ($(BLD)/sysdep.$(O)): Ditto.
2783
c224f70b
GM
27842001-02-22 Gerd Moellmann <gerd@gnu.org>
2785
51695746
GM
2786 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2787 at the start of the function, check that the \n in it->c is
2788 from the iterator's current position.
52283633 2789
a61b7058
GM
2790 * xdisp.c (handle_single_display_prop): Add parameter
2791 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2792 properties which replace the display of text with something else.
2793 (handle_display_prop): Call handle_single_display_prop with
2794 additional argument saying if we already replaced text display
2795 with something else. Use AREF.
52283633 2796 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2797 (decode_mode_spec_coding): Use AREF and ASIZE.
2798
3473f362
GM
2799 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2800 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2801 * vmstime.h: Files removed.
52283633 2802
2bb58df3
GM
2803 * unexencap.c, unexfx2800.c: Files removed.
2804
c224f70b
GM
2805 * dispnew.c (direct_output_for_insert): Give up if we are showing
2806 a message or just cleared the message because we might need to
2807 resize the echo area window or display an empty echo area.
2808
ffc9ff0c
GM
28092001-02-21 Gerd Moellmann <gerd@gnu.org>
2810
0528abe1
GM
2811 * xdisp.c (redisplay_internal): Do the
2812 mark_window_display_accurate after all windows have been
2813 redisplayed because this call resets flags in buffers which are
2814 needed for proper redisplay.
2815
52283633
SM
2816 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2817 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2818 the old names.
2819
52283633
SM
2820 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2821 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2822
2823 * msdos.h (struct x_output): Rename busy_window to
2824 hourglass_window, busy_p to hourglass_p.
2825
52283633
SM
2826 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2827 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2828
2829 * xfns.c: Rename everything containing *busy_cursor* and similar
2830 to *hourglass*.
2831 (syms_of_w32fns): Rename x-busy-pointer-shape to
2832 x-hourglass-pointer-shape, display-busy-cursor to
2833 display-hourglass, busy-cursor-delay to hourglass-delay.
2834
2835 * w32fns.c: Rename everything containing *busy_cursor* and similar
2836 to *hourglass*.
2837 (syms_of_w32fns): Rename x-busy-pointer-shape to
2838 x-hourglass-pointer-shape, display-busy-cursor to
2839 display-hourglass, busy-cursor-delay to hourglass-delay.
2840
2841 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2842 of its busy_p flag.
2843
2844 * dispextern.h (start_hourglass, cancel_hourglass)
2845 (display_hourglass_p): Renamed from *busy_cursor*.
2846
ab2c5f0a
GM
28472001-02-20 Gerd Moellmann <gerd@gnu.org>
2848
d17e49a8
GM
2849 * keyboard.c (read_char): When an event from unread-command-events
2850 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2851
fa97adf6
GM
2852 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2853 equal to the current buffer.
2854
ab2c5f0a
GM
2855 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2856 nil, otherwise we're left with truncate_lines t when a message
2857 is printed with message-truncate-lines bound to t.
2858
aeac019e
GM
28592001-02-19 Gerd Moellmann <gerd@gnu.org>
2860
c8bc6f65
GM
2861 * window.c (Fmove_to_window_line): Undo last change.
2862 (displayed_window_lines): Call line_bottom_y to determine
2863 the line's bottom position.
2864
2865 * dispextern.h (line_bottom_y): Add prototype.
2866
52283633 2867 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2868 (pos_visible_p): Use it.
2869
980a2d69
GM
2870 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2871 set redisplaying_p to 0 here instead of in Frecursive_edit.
2872 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2873 set redisplaying_p.
2874
52283633 2875 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2876 New variables.
2877 (syms_of_xdisp): Initialize new variables.
2878 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2879 Specbind `inhibit-menubar-update' when updating the menu bar.
2880
65048e97
GM
2881 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2882 safe_run_hooks.
2883
2884 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2885 safe_run_hooks.
2886
a57c4026
GM
2887 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2888 is null.
2889
aeac019e
GM
2890 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2891 to the start of the file.
2892
76846b31
GM
28932001-02-16 Gerd Moellmann <gerd@gnu.org>
2894
f3f053f3 2895 * window.c (set_window_buffer): Fix last change.
52283633 2896
f3f053f3
GM
2897 * window.c (set_window_buffer): Set window's vscroll to 0.
2898
dad75588
GM
2899 * window.c (coordinates_in_window): Increase width of area
2900 where the vertical line can be dragged.
2901
c220b753
GM
2902 * xterm.c (x_set_glyph_string_background_width): Extend the
2903 background face to the end of the drawing area in the text
2904 area, only.
2905
c56b1c1b
GM
2906 * xdisp.c (handle_single_display_prop): Set iterator's position
2907 to where the `display' property starts, like for images.
2908 (dump_glyph): New function.
2909 (dump_glyph_row): Use it. Dump info about marginal areas.
2910
2911 * dispnew.c (direct_output_for_insert): Recognize more cases where
2912 glyphs can be written instead of being inserted.
2913
2914 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2915 the left x-coordinate of the area to shift.
2916
76846b31
GM
2917 * dired.c (directory_files_internal): Set result list to nil
2918 before retrying.
2919
0fc71a77
KH
29202001-02-15 Kenichi Handa <handa@etl.go.jp>
2921
2922 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2923 invalid multibyte sequence, treat *SRC as a character of
2924 eight-bit-graphic.
2925
25078b54
EZ
29262001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2927
2928 * textprop.c (Fset_text_properties): Doc fix.
2929
8399f8a0
GM
29302001-02-15 Gerd Moellmann <gerd@gnu.org>
2931
2932 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2933
9a2a6f73
DL
29342001-02-14 Dave Love <fx@gnu.org>
2935
2936 * coding.c: Doc and message fixes.
2937
bf853fee
AI
29382001-02-14 Andrew Innes <andrewi@gnu.org>
2939
2940 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2941 Emacs frame above the screen size.
2942
78c663d8
GM
29432001-02-14 Gerd Moellmann <gerd@gnu.org>
2944
2945 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2946
7cc9f69f
GM
29472001-02-13 Gerd Moellmann <gerd@gnu.org>
2948
0a411995
GM
2949 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2950 case that TO ends up beyond ZV after running before-change-functions.
2951
5ddc1b75
GM
2952 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2953 the selected window if it is showing the buffer in question.
2954
7cc9f69f
GM
2955 * dired.c (directory_files_internal): Initialize errno.
2956 (toplevel): Include errno.h.
2957
2e6621ca
GM
29582001-02-13 Kenichi Handa <handa@etl.go.jp>
2959
2960 * xfaces.c (best_matching_font): New parameter width_ratio.
2961 Multiply avgwidth by width_ratio.
2962 (choose_face_font): Call best_matching_font with width_ratio
2963 calculated from the column width of C.
2964
60222d69
AI
29652001-02-12 Andrew Innes <andrewi@gnu.org>
2966
2967 The following changes are to draw box lines inside characters area
2968 if line-width is negative.
52283633 2969
60222d69
AI
2970 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2971 face->box_line_width is negative.
2972 (x_produce_stretch_glyph): Likewise.
2973 (x_produce_glyphs): Likewise.
2974 (x_estimate_mode_line_height): Likewise.
2975 (x_draw_glyph_string_background): Likewise.
2976 (x_draw_glyph_string_foreground): Likewise.
2977 (x_draw_composite_glyph_string_foreground): Likewise.
2978 (x_draw_glyph_string_box): Likewise.
2979 (x_draw_image_foreground): Likewise.
2980 (x_draw_image_relief): Likewise.
2981 (x_draw_image_foreground_1): Likewise.
2982 (x_draw_image_glyph_string): Likewise.
2983
9804b846
KH
29842001-02-09 Kenichi Handa <handa@etl.go.jp>
2985
2986 The following changes are to draw box lines inside characters area
2987 if line-width is negative.
52283633 2988
9804b846
KH
2989 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2990 face->box_line_width is negative.
2991 (x_produce_stretch_glyph): Likewise.
2992 (x_produce_glyphs): Likewise.
2993 (x_estimate_mode_line_height): Likewise.
2994 (x_draw_glyph_string_background): Likewise.
2995 (x_draw_glyph_string_foreground): Likewise.
2996 (x_draw_composite_glyph_string_foreground): Likewise.
2997 (x_draw_glyph_string_box): Likewise.
2998 (x_draw_image_foreground): Likewise.
2999 (x_draw_image_relief): Likewise.
3000 (x_draw_image_foreground_1): Likewise.
3001 (x_draw_image_glyph_string): Likewise.
3002
3003 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3004 and :line-width can be negative.
52283633 3005 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3006
49be9f70
JR
30072001-02-09 Jason Rumney <jasonr@gnu.org>
3008
3009 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3010 characters the same as ASCII and latin-1.
3011 (x_display_and_set_cursor): Check for the focus frame's selected
3012 window instead of selected_window.
3013 (x_after_update_window_line): Don't clear if frame's internal
3014 border width is zero.
3015 (x_new_font): Don't change a tooltip's size.
3016 (w32_initialize): Set char_ins_del_ok to 1.
3017
3018 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3019 (x_set_font): If font hasn't changed, avoid recomputing
3020 faces and other things.
52283633
SM
3021 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3022 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3023 (x_create_tip_frame): Prevent changing the tooltip's
3024 background color by specifying a color for the default font
3025 in .Xdefaults.
3026 (Qcancel_timer): New variable.
3027 (syms_of_w32fns): Initialize and staticpro it.
3028 (Fx_hide_tip, Fx_show_tip): Use it.
3029 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3030 the timer.
3031 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3032
3033 * w32.c (init_environment): Duplicate local string before putenv.
3034
555e35d2
SZ
30352001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3036
3037 * charset.c (Fstring): A typo.
3038
19c92c94
KH
30392001-02-09 Kenichi Handa <handa@etl.go.jp>
3040
e47a1c33
KH
3041 * charset.c (Fstring): If all arguments are less than 256, return
3042 a unibyte string.
3043
3044 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3045 return a unibyte string.
3046
19c92c94
KH
3047 * coding.c (code_convert_region): After detecting a coding, if
3048 nothing found, set coding->composing to COMPOSITION_NO.
3049 (decode_coding_string): Likewise.
3050
d8e675f5
SM
30512001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3052
3053 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3054 to avoid overflow.
3055
bd503487
KH
30562001-02-07 Kenichi Handa <handa@etl.go.jp>
3057
3058 * charset.c (parse_str_to_multibyte): New function.
3059
3060 * charset.h (parse_str_to_multibyte): Extern it.
3061
3062 * print.c (print_string): If we are going to print a unibyte
3063 string into a multibyte buffer, convert the string to multibyte by
3064 str_to_multibyte.
3065
a8370d72
AI
30662001-02-06 Andrew Innes <andrewi@gnu.org>
3067
3068 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3069 been created. It seems we can get sent window messages such as
3070 WM_ERASEBKGND before we properly update a frame.
3071
c363a1d6
GM
30722001-02-06 Gerd Moellmann <gerd@gnu.org>
3073
3074 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3075 Avoid some unnecessary cursor positioning.
3076
a08332c0
GM
30772001-02-05 Gerd Moellmann <gerd@gnu.org>
3078
52283633 3079 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3080 (LFACE_AVGWIDTH): New macro.
3081 (LFACEP): Use AREF.
3082 (check_lface_attrs): Check LFACE_AVGWIDTH.
3083 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3084 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3085 (merge_face_vectors): Check LFACE_AVGWIDTH.
3086 (Finternal_make_lisp_face): Use AREF.
3087 (xm_set_menu_resources_from_menu_face)
3088 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3089 (Finternal_lisp_face_empty_p): Use AREF.
3090 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3091 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3092 Compare average widths..
3093 (best_matching_font): Arrange for comparing average widths.
3094
52283633
SM
3095 * dispextern.h (enum lface_attribute_index):
3096 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3097
5cb3c8d4
DL
30982001-02-05 Dave Love <fx@gnu.org>
3099
3100 * puresize.h: Revert last change following loadup.el change.
3101
193fba87
AI
31022001-02-05 Andrew Innes <andrewi@gnu.org>
3103
3104 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3105 invocation of temacs, to work with Windows 2000.
3106 (bootstrap-emacs): Ditto.
3107
e16f52ce
GM
31082001-02-05 Gerd Moellmann <gerd@gnu.org>
3109
7a58ab59
GM
3110 * xterm.c (x_display_and_set_cursor): Check for the focus
3111 frame's selected window instead of selected_window.
3112
e89aaabd
GM
3113 * xdisp.c (try_scrolling): If point is in the line below the
3114 window, make sure to move the iterator at least a canonical
3115 char height down.
3116
52283633 3117 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3118
789ce875
KH
31192001-02-05 Kenichi Handa <handa@etl.go.jp>
3120
52283633
SM
3121 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3122 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3123 (ccl_driver): If the CCL program is terminated because of
3124 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3125 destination instead of throwing them away.
3126
20b28f82
GM
31272001-02-02 Gerd Moellmann <gerd@gnu.org>
3128
79fb38c0
GM
3129 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3130 faces and other things.
3131
20b28f82
GM
3132 * xdisp.c (get_next_display_element): Fix case of empty
3133 display table entry.
3134
5a72551e
EZ
31352001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3136
eb24d0bf
EZ
3137 * editfns.c (Fconstrain_to_field): Doc fix.
3138
6a3f48c7
EZ
3139 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3140 into `thoroughly', to make it consistent with the doc string.
3141
5a72551e
EZ
3142 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3143
01acdb05
GM
31442001-02-01 Gerd Moellmann <gerd@gnu.org>
3145
0353b28f
GM
3146 * search.c (search_buffer): Call set_search_regs with a byte
3147 position, not a character position.
3148
01acdb05
GM
3149 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3150 minibuffer-only,
3151
e86b5133
EZ
31522001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3153
3154 * frame.c (Fmodify_frame_parameters): Doc fix.
3155
7442878f
GM
31562001-01-31 Gerd Moellmann <gerd@gnu.org>
3157
01acdb05
GM
3158 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3159 identifier which is not reserved by Standard C.
52283633 3160
7442878f
GM
3161 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3162
3163 * window.c (enum window_part): New enumeration.
3164 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3165 Qright_bitmap_area.
3166 (coordinates_in_window): Return an enumerator from enum
3167 window_part. Fix handling of right scroll bar.
3168 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3169 `right-fringe' instead of `left-bitmap-area' and
3170 `right-bitmap-area'. Use enumerators from enum window_part
3171 instead of hard-coded integers.
52283633
SM
3172 (check_window_containing, window_from_coordinates):
3173 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3174 (syms_of_window): Replace Qleft_bitmap_area and
3175 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3176
7c132cba
EZ
31772001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3178
3179 * editfns.c (Fformat_time_string): Doc fix.
3180
c359dd9e
SM
31812001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3182
3183 * keymap.c (Fwhere_is_internal): Use the first valid binding
3184 if no ascii binding is found (when firstonly is t).
3185
ce070307
GM
31862001-01-31 Gerd Moellmann <gerd@gnu.org>
3187
b4f30ec5
GM
3188 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3189 instead of Finteractive_p.
3190
3191 * lisp.h (interactive_p): Add prototype.
3192
3193 * eval.c (interactive_p): New function.
3194 (Finteractive_p): Use it.
3195
ce070307
GM
3196 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3197
f57b6e64
DL
31982001-01-31 Dave Love <fx@gnu.org>
3199
d61c7afe
DL
3200 * .gdbinit (hook-run): Define to run xreload.
3201
f57b6e64
DL
3202 * textprop.c (Fset_text_properties): Fix newline in doc string.
3203
eef93f99
GM
32042001-01-30 Gerd Moellmann <gerd@gnu.org>
3205
52283633
SM
3206 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3207 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3208
3209 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3210 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3211 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3212
3213 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3214 height.
3215
d9c1f6f9
DL
32162001-01-30 Dave Love <fx@gnu.org>
3217
3218 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3219 AFTER_POTENTIAL_GC.
3220
e8f044a0
GM
32212001-01-29 Gerd Moellmann <gerd@gnu.org>
3222
52283633
SM
3223 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3224 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3225
8e1db7b3
EZ
32262001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3227
3228 * textprop.c (Fset_text_properties): Doc fix.
3229
4eefd9d2
GM
32302001-01-29 Gerd Moellmann <gerd@gnu.org>
3231
3232 * xdisp.c (forward_to_next_line_start): Remove xassert.
3233
fccb8288
EZ
32342001-01-29 Jason Rumney <jasonr@gnu.org>
3235
4eefd9d2 3236 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3237 returning without releasing it.
3238
76581eab
KH
32392001-01-29 Kenichi Handa <handa@etl.go.jp>
3240
3241 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3242 for '^', '$', and '\0'.
3243
83a96b4d
AC
32442001-01-28 Andrew Choi <akochoi@i-cable.com>
3245
5604ec34
AC
3246 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3247 regex for '^', '$', and '\0'.
3248
83a96b4d
AC
3249 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3250 only if current_sblock has been initialized.
3251
3252 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3253 terminal frame even if it is the only visible frame.
3254
c09a6440
KH
32552001-01-28 Kenichi Handa <handa@etl.go.jp>
3256
3257 * fontset.c (font_family_registry): Even if FONTNAME conform to
3258 XLFD, if it specifies other fields than family and registry,
52283633 3259 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3260 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3261 a signle byte character. Don't set FAMILY part to nil here.
3262 It is handled by the caller choose_face_font.
c09a6440
KH
3263 (Fnew_fontset): Call font_family_registry with FORCE 0.
3264 (Fset_fontset_font): Likewise.
3265
4dcd74e6
GM
32662001-01-27 Gerd Moellmann <gerd@gnu.org>
3267
3268 * xdisp.c (display_line): Don't treat a newline as fitting
3269 on the line.
3270
d2906bf8
GM
32712001-01-26 Gerd Moellmann <gerd@gnu.org>
3272
0130fe1a
GM
3273 * window.c (size_window): Set the window's orig_top to nil when
3274 changing heights, so that a future shrink_mini_window won't
3275 restore a bogus height.
3276
550f0e6a
GM
3277 * frame.c (do_switch_frame): If selected frame has a mini-window,
3278 resize that to exact size.
3279
b7b20fbd
GM
3280 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3281
a47b7816
GM
3282 * xdisp.c (display_line): Simplify check for glyphs fitting
3283 entirely in the line.
3284
d2906bf8
GM
3285 * xfns.c (xic_style): New variable.
3286 (create_frame_xic): Move static variable to global scope for
550f0e6a 3287 the case that `static' gets defined away.
d2906bf8 3288
73df2b1e
KH
32892001-01-26 Kenichi Handa <handa@etl.go.jp>
3290
3291 * coding.c (decode_coding): Set a flag for inhibiting
3292 inconsistent eol.
3293 (code_convert_region): Always set saved_coding_symbol.
3294 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3295 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3296
6613cfc4
GM
32972001-01-25 Gerd Moellmann <gerd@gnu.org>
3298
c5e6e06b
GM
3299 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3300 XClearArea.
3301
3302 * xterm.c (x_after_update_window_line): Don't clear if frame's
3303 internal border width is zero.
3304 (x_clear_area): New function.
3305 (x_after_update_window_line, x_clear_end_of_line)
3306 (x_scroll_bar_create, x_scroll_bar_set_handle)
3307 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3308 instead of XClearArea.
3309
3310 * xterm.h (x_clear_area): Add prototype.
3311
6613cfc4
GM
3312 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3313 which doesn't seem necessary anymore with Lesstif 0.92.
3314
650cc6cc
DL
33152001-01-25 Dave Love <fx@gnu.org>
3316
34ac3367
DL
3317 * puresize.h (BASE_PURESIZE): Up to 720000.
3318
650cc6cc
DL
3319 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3320
5e37dc22
GM
33212001-01-25 Gerd Moellmann <gerd@gnu.org>
3322
e1e441f9
GM
3323 * xdisp.c (echo_area_display): Don't call redisplay_internal
3324 when Emacs is shutting down. We can't run hooks etc. that
3325 would be necessary to do a redisplay.
3326
5e37dc22
GM
3327 * lread.c (read_integer): Use type EMACS_INT instead of int.
3328
0fb94c7f
EZ
33292001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3330
3331 * ccl.c (ccl_driver): Fix last change.
3332
e3778624
KH
33332001-01-25 Kenichi Handa <handa@etl.go.jp>
3334
3335 * ccl.h (sturct ccl_program): New member suppress_error.
3336
bb264518 3337 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3338 insert error message to the output.
3339 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3340
3341 * coding.h (struct coding_system): New member suppress_error.
3342
3343 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3344 (Fset_terminal_coding_system_internal): Set the member
3345 suppress_error to 1.
3346 (Fset_safe_terminal_coding_system_internal): Likewise.
3347
245ed2b1
SM
33482001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3349
3350 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3351 as if it was a `charset'.
3352
f9aaedb6
GM
33532001-01-24 Gerd Moellmann <gerd@gnu.org>
3354
3355 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3356 value in where_is_cache; the next lookup in the cache returns
3357 something bogus if we do.
3358
c3902c3e
EZ
33592001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3360
3361 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3362 if HAVE_WINDOW_SYSTEM isn't defined.
3363
3497f73e
GM
33642001-01-24 Gerd Moellmann <gerd@gnu.org>
3365
e7e41584
GM
3366 * fns.c (sweep_weak_table): Fix code taking items out of
3367 the hash collision chain. Some cleanup.
3368
3497f73e
GM
3369 * xterm.c (x_new_font): Don't change a tooltip's size.
3370
3371 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3372 background color by specifying a color for the default font
3373 in .Xdefaults.
3374
3d48e687
KH
33752001-01-24 Kenichi Handa <handa@etl.go.jp>
3376
96531b20
KH
3377 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3378 a workaround for SunOS 4's cc.
3379 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3380 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3381 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3382 statement.
3d48e687 3383
a30629d2
GM
33842001-01-23 Gerd Moellmann <gerd@gnu.org>
3385
3386 * xterm.c (x_set_window_size_1): New function extracted from
3387 x_set_window_size.
3388 (x_set_window_size): Use it.
3389 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3390 doesn't have a widget, like tooltips.
3391
5a43decf
EZ
33922001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3393
52283633 3394 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3395
b0e98867
KH
33962001-01-23 Kenichi Handa <handa@etl.go.jp>
3397
3398 * fns.c (Fset_char_table_default): Fix to make sub char-table
3399 correctly.
3400
50606b4c
GM
34012001-01-22 Gerd Moellmann <gerd@gnu.org>
3402
cb2ddc53 3403 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3404 a desired tool bar string, even if there are no tool bar items.
3405
57c28064
GM
3406 * xdisp.c (Ftool_bar_lines_needed): New function.
3407 (syms_of_xdisp): Defsubr it.
3408
50606b4c
GM
3409 * editfns.c (Fformat): Don't extend text properties from arguments
3410 to padding chars in the result.
3411
2f169c38
EZ
34122001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3413
3414 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3415
0f32f023
AI
34162001-01-20 Andrew Innes <andrewi@gnu.org>
3417
52283633 3418 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3419 (w32_initialize): Don't set term hooks that aren't actually needed
3420 in windowed mode.
3421
3422 * xfaces.c (realize_default_face):
3423 (realize_face):
3424 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3425
3426 * xdisp.c (handle_single_display_prop): Remove references to
3427 FRAME_W32_CONSOLE_P.
3428
52283633 3429 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3430
3431 * frame.h (output_method): Remove output_w32_console method.
3432 (FRAME_W32_CONSOLE_P): Remove macro.
3433
3434 * frame.c (Qw32_console): Remove variable.
3435 (Fframep): Remove references to it.
3436 (syms_of_frame): Ditto.
3437 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3438
3439 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3440 redefinition.
3441
7173eada
KH
34422001-01-20 Kenichi Handa <handa@etl.go.jp>
3443
3444 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3445
755b45ce
AI
34462001-01-19 Andrew Innes <andrewi@gnu.org>
3447
3448 * w32.c (init_environment): Add a version-independent site-lisp
3449 directory to EMACSLOADPATH, after the version dependent one.
3450
0a949811
GM
34512001-01-19 Gerd Moellmann <gerd@gnu.org>
3452
8501998a
GM
3453 * editfns.c (Fbuffer_substring): Doc fix.
3454
52283633
SM
3455 * xdisp.c (message_dolog, message2, message2_nolog):
3456 Rename parameter LEN to NBYTES.
0a949811 3457
e6ebcbbe
KH
34582001-01-19 Kenichi Handa <handa@etl.go.jp>
3459
200ecca2
KH
3460 * charset.c (strwidth): Use c_string_width.
3461 (c_string_width): New function.
3462 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3463 Caller changed.
3464
3465 * charset.h (c_string_width, lisp_string_width): Extern them.
3466
52283633 3467 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3468
e6ebcbbe
KH
3469 * indent.c (check_composition): Check validity of composition.
3470
200ecca2
KH
3471 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3472 characters by calling c_string_width.
3473 (x_consider_frame_title): Get byte length of frame tile string
3474 correctly.
3475 (display_mode_element): Pay attention to width of non-ASCII
3476 characters by calling strwidth.
3477
8692ca92
GM
34782001-01-18 Gerd Moellmann <gerd@gnu.org>
3479
8962e303
GM
3480 * xfns.c (Qcancel_timer): New variable.
3481 (syms_of_xfns): Initialize and staticpro it.
3482 (Fx_hide_tip, Fx_show_tip): Use it.
3483 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3484 the timer.
3485 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3486
91523be9
GM
3487 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3488
3489 * window.h (WINDOW_LIVE_P): New macro.
3490
b0b7ed0e
GM
3491 * window.c (window_size_fixed): New variable.
3492 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3493 the doc string.
3494
06bccf8e
GM
3495 * eval.c (specbind): If binding a per-buffer variable which
3496 doesn't have a buffer-local value in the current buffer, change
3497 the global value by changing the value of the symbol bound in all
3498 buffers not having their own value, to make it consistent with
3499 what happens with other buffer-local variables.
3500
8692ca92
GM
3501 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3502
3503 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3504 when searching for a newline.
3505
bb3a3b50
KH
35062001-01-18 Kenichi Handa <handa@etl.go.jp>
3507
3508 * xdisp.c (display_string): Fix previous change.
3509
c2cc16fa
JR
35102001-01-18 Jason Rumney <jasonr@gnu.org>
3511
3512 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3513 GLYPH_DEBUG is defined.
3514 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3515 true for images with `:ascent 100'.
3516 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3517 meantime, use face MOUSE_FACE_ID.
3518 If first glyph isn't a character glyph, use the ASCII NUL
3519 character to determine the face.
3520 (expose_area): Do not treat left margin specially.
3521 (note_mode_line_highlight): If no local_map, check global keymap.
3522 (note_mouse_highlight): Initialize overlay.
52283633 3523 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3524 (show_scroll_bars): Remove unused function.
3525 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3526 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3527 Clip to row.
52283633 3528 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3529 (x_free_frame_resources): Unload relief colors.
3530
9c11f79e
GM
35312001-01-17 Gerd Moellmann <gerd@gnu.org>
3532
3aec8722 3533 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3534 get_next_display_element when the newline is already found.
3535 This may change the iterator's position, when its current position is
3aec8722
GM
3536 equal to the iterator's stop_charpos.
3537
f3ffc2c3
GM
3538 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3539 zero, use this method only at the end of a line.
3540
52283633 3541 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3542 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3543 if SCALABLE_FONTS_P is set.
52283633 3544
d26d6fd9
GM
3545 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3546 so that scalable fonts are included.
3547
9c11f79e
GM
3548 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3549 In the cache, use a key containing the information if scalable
3550 fonts are included.
3551 (x_load_font): Adapt to change of keys in the font cache.
3552
35532001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3554
d26d6fd9
GM
3555 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3556 XListFonts to take advantage of font caching.
3557
9c11f79e
GM
3558 * xterm.c (x_list_fonts): Ensure caching font information when
3559 called for a null frame, which is the case frequently when Emacs
3560 starts.
3561
51446987
GM
35622001-01-17 Gerd Moellmann <gerd@gnu.org>
3563
f864120f
GM
3564 * xfns.c (QCconversion): Replaces QCalgorithm.
3565
3566 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3567
3568 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3569 of :algorithm.
52283633 3570
e37d1417
GM
3571 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3572 not everything could be displayed.
3573
51446987
GM
3574 * line.h, x-list-font.c: Files removed because unused.
3575
9ad4f3e5
AI
35762001-01-17 Andrew Innes <andrewi@gnu.org>
3577
3578 * dired.c (directory_files_internal): Convert result from readdir
3579 to a unibyte string initially, to avoid possible misinterpretation
3580 of some bytes as the internal form of Emacs characters.
3581
2eda09b5
KH
35822001-01-17 Kenichi Handa <handa@etl.go.jp>
3583
3584 * fns.c (concat): Be sure to avoid putting the same `composition'
3585 property on the adjacent regions.
3586
826f3788
GM
35872001-01-16 Gerd Moellmann <gerd@gnu.org>
3588
52283633 3589 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3590 (Fscroll_right, Fscroll_left): Set it here instead, if called
3591 interactively.
3592
d57b83b3
GM
3593 * buffer.c (Fset_buffer_modified_p): Set buffer's
3594 prevent_redisplay_optimizations_p flag.
3595
826f3788 3596 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3597 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3598 with additional arg.
3599
3600 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3601 Change prototype.
826f3788 3602
826f3788
GM
3603 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3604 FROM_WHERE, for debugging.
3605
261d788b
KH
36062001-01-16 Kenichi Handa <handa@etl.go.jp>
3607
3608 * ccl.c (Fregister_ccl_program): Handle the return value of
3609 resolve_symbol_ccl_program correctly.
52283633 3610 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3611
bccee4f2
GM
36122001-01-15 Gerd Moellmann <gerd@gnu.org>
3613
e4ded23c
GM
3614 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3615 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3616
3617 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3618 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3619 the display; we didn't open it.
3620
bccee4f2
GM
3621 * dispnew.c (save_or_restore_current_matrices): Function removed.
3622 (save_current_matrix, restore_current_matrix): New functions.
3623 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3624 restore the frame's current matrix. Due to the glyph pointer
3625 setup done in adjust_glyph_matrix, there is no easy way to make
3626 saving the current matrix in the desired matrix generally correct,
3627 so don't try it.
3628
ebeccffa
KH
36292001-01-15 Kenichi Handa <handa@etl.go.jp>
3630
3631 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3632 truncation glyphs.
3633 (display_line): Optimize for wide characters.
e4ded23c 3634 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3635 partially. On ttys, produce more than one truncation glyph for
3636 multi-column characters that don't fit on the line.
3637
64388126
KH
36382001-01-13 Kenichi Handa <handa@etl.go.jp>
3639
52283633
SM
3640 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3641 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3642
8edb0a6f
JR
36432001-01-13 Jason Rumney <jasonr@gnu.org>
3644
3645 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3646 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3647 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3648 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3649
52283633
SM
3650 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3651 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3652 (x_draw_image_glyph_string): Adapt to change of image margins.
3653
3654 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3655 variables.
3656
3657 * w32bdf.c (search_file_line, get_cached_font_char)
3658 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3659
3660 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3661
3662 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3663 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3664 (Fw32_send_sys_command): Remove unused variables.
3665 (w32_msg_pump): Add parentheses.
3666
3667 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3668 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3669 Add parentheses.
3670
4956d1ef
GM
36712001-01-12 Gerd Moellmann <gerd@gnu.org>
3672
b30623be
GM
3673 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3674 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3675 being a pair of margins.
3676 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3677 to DEFVAR_LISP. Extend doc.
3678
3679 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3680 margins.
3681 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3682 pair of integers `(X . Y)', use X for the horizontal and Y for the
3683 vertical margin.
3684 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3685 (parse_image_spec): Check it.
52283633
SM
3686 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3687 (tiff_format, gif_format, gs_format):
3688 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3689
52283633
SM
3690 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3691 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3692 (x_draw_image_glyph_string): Adapt to the change of image margins.
3693
3694 * dispextern.h (struct image): Replace member `margin' with
3695 `hmargin' and `vmargin'.
3696
4554cc79
GM
3697 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3698 and GLYPHS.
3699
3700 * dispnew.c (update_text_area): Put code which decrements the
3701 stop position when the row's face extends to the end of the
3bffc665 3702 line in #if 0.
4554cc79 3703
3cccce8d
GM
3704 * xfns.c (x_set_mouse_color): Fix color allocation.
3705
4956d1ef
GM
3706 * keyboard.c: Call get_local_map with new argument list.
3707
3708 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3709
3710 * intervals.h (enum map_property): Removed.
3711 (get_local_map): Change prototype.
3712
3713 * keymap.c: Call get_local_map with new argument list.
3714 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3715
2c2ff7f2
GM
37162001-01-11 Gerd Moellmann <gerd@gnu.org>
3717
a23887b9
GM
3718 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3719 of the size needed for the tool bar string. For the last image,
3720 use a `display' property that reaches to the end of the string.
3721
a7ee2d2e
GM
3722 * xselect.c (selection_request_dpyinfo): New variable.
3723 (x_handle_selection_request): Set it.
3724 (x_selection_request_lisp_error): Don't call
3725 x_decline_selection_request if selection request's display has
3726 been closed.
3727
52283633
SM
3728 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3729 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3730
457b792c
GM
37312001-01-10 Dave Love <fx@gnu.org>
3732
3733 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3734 ${SOME_MACHINE_LISP}, not ${lisp}.
3735
c1efd260
GM
37362001-01-10 Gerd Moellmann <gerd@gnu.org>
3737
52283633
SM
3738 * xdisp.c (display_line): On ttys, produce more than one truncation
3739 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3740
ac95a621
GM
3741 * xselect.c (x_reply_selection_request): Add a comment.
3742
c1efd260
GM
3743 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3744 XkbGetNames instead of XkbGetKeyboard.
3745
1bfb1345
DL
37462001-01-10 Dave Love <fx@gnu.org>
3747
3748 * sysdep.c (random): Revert the declaration.
3749
38119822
GM
37502001-01-09 Gerd Moellmann <gerd@gnu.org>
3751
52283633
SM
3752 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3753 Call function string_bytes.
35f464a7
GM
3754 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3755
3756 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3757 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3758 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3759 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3760 the current sblock.
3761 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3762 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3763 after sweeping strings, and at the end.
3764 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3765
38119822
GM
3766 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3767 ensure that pop_message is called.
3768
3769 * keyboard.c (Fexecute_extended_command): Use a
3770 record_unwind_protect to ensure that pop_message is called.
3771
3772 * lisp.h (push_message_unwind): Add prototype.
3773
3774 * xdisp.c (push_message_unwind): New function.
3775
3776 * fileio.c (do_auto_save_unwind): Do the pop_message here
3777 instead of in Fdo_auto_save.
3778 (Fdo_auto_save): Don't call pop_message.
3779
f47a9ec4
KR
37802001-01-08 Ken Raeburn <raeburn@gnu.org>
3781
3782 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3783 in inner block.
3784
a758f97d
GM
37852001-01-08 Gerd Moellmann <gerd@gnu.org>
3786
6d0afc03
GM
3787 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3788 when increasing window's vscroll.
3789
a758f97d
GM
3790 * macros.c (Qkbd_macro_termination_hook): New variable.
3791 (syms_of_macros): Initialize and staticpro it.
3792 (pop_kbd_macro): Run kbd-macro-termination-hook.
3793
3794 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3795
1bfb1345 37962001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3797
3798 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3799 arglist, for documentation's sake.
3800
0dac6924
AI
38012001-01-06 Andrew Innes <andrewi@gnu.org>
3802
3803 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3804 of *.pdb.
3805
8182406a
AI
38062001-01-05 Andrew Innes <andrewi@gnu.org>
3807
3808 * term.c (update_end): Don't check updating_frame; for some reason
3809 this can be 0 sometimes, such as after dismissing a popup menu,
3810 and isn't necessary given the explicit frame argument.
3811
3828218c
GM
38122001-01-05 Gerd Moellmann <gerd@gnu.org>
3813
3814 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3815 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3816
2f5ded21
GM
38172001-01-04 Gerd Moellmann <gerd@gnu.org>
3818
52283633 3819 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3820
3821 * xfns.c (x_create_tip_frame): Preserve the value of
3822 face_change_count around the creation of the tip frame.
52283633 3823
2f5ded21
GM
3824 * xfns.c (last_show_tip_args): New variable.
3825 (compute_tip_xy): New function.
3826 (Fx_show_tip): Reuse an existing tip frame, if possible.
3827 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3828
dfad65fa
DL
38292001-01-04 Dave Love <fx@gnu.org>
3830
64d4ec0f
DL
3831 * editfns.c (Fformat): Doc fix.
3832
dfad65fa
DL
3833 * systime.h (set_file_times): Prototype.
3834
3835 * widget.h (EmacsFrameSetCharSize_): Prototype.
3836
3837 * sysdep.c (random, srandom): Declare explicitly.
3838
3839 * dispextern.h (move_it_vertically_backward): Declare.
3840
85fe3b5e
GM
38412001-01-04 Gerd Moellmann <gerd@gnu.org>
3842
0f2ac578
GM
3843 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3844 like in Fx_create_frame.
3845
482cca61
GM
3846 * xfaces.c (set_font_frame_param): Don't do anything for
3847 non-graphical frames.
3848
85fe3b5e
GM
3849 * window.c (Fdelete_other_windows): Set window's window_end_valid
3850 to nil when changing the window's start. Don't change the
3851 window's start when its top position hasn't changed. If we do,
3852 this will set the window's optional_new_start, which act's like a
3853 force_start during redisplay with C-x 1 M-> under particular
3854 circumstances (see report from Per Starback to emacs-pretest-bug
3855 from 2000-12-13.).
3856
3e99d3b4
GM
38572001-01-03 Gerd Moellmann <gerd@gnu.org>
3858
a77dc1ec
GM
3859 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3860 short cut at the start of the function. Add an assertion.
3861 (reseat_at_next_visible_line_start): Add an assertion.
3862
2f3cad6c
GM
3863 * window.c (Frecenter): When changing the window start, set the
3864 window's window_end_valid to nil.
3865 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3866
3867 * dispextern.h (move_it_past_eol): Add prototype.
3868
3869 * xdisp.c (move_it_past_eol): New function.
3870
3e99d3b4
GM
3871 * window.c (Fwindow_end): Doc fix.
3872
38732001-01-03 Dave Love <fx@gnu.org>
3874
52283633 3875 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3876
bafb434c
GM
38772001-01-03 Gerd Moellmann <gerd@gnu.org>
3878
3879 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3880 the enabled_p flag of the glyph row at window_end_vpos to 0.
3881 (handle_single_display_prop): Fix last change.
3882
5297fb00
RS
38832001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3884
3885 * window.c (Frecenter): Doc fix.
3886
13d6a61c
AI
38872001-01-02 Andrew Innes <andrewi@gnu.org>
3888
3889 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3890
3891 * frame.h (output_method): Add output_w32_console method.
3892 (FRAME_W32_CONSOLE_P): New macro.
3893
3894 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3895 use output_w32_console method.
3896 (Qw32_console): New Lisp_Object.
3897 (Fframep): Return it.
3898 (syms_of_frame): Init it.
52283633 3899 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3900
3901 * xfaces.c (realize_default_face): Set face foreground and
3902 background to unspecified for w32_console frames.
3903 (realize_face): Realize face cache for w32_console frames.
3904 (realize_tty_face): Accept w32_console frames.
3905
52283633 3906 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3907 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3908 necessary, even if running interactively.
3909
3910 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3911 w32_console frames.
3912
52283633
SM
3913 * w32term.c (x_update_begin):
3914 (x_update_end):
3915 (x_clear_frame):
3916 (x_ins_del_lines):
3917 (x_change_line_highlight):
3918 (x_delete_glyphs):
3919 (w32_ring_bell):
3920 (x_update_begin):
3921 (x_update_end):
3922 (w32_reassert_line_highlight):
3923 (w32_frame_rehighlight):
13d6a61c
AI
3924 (w32_frame_raise_lower): Do nothing if not w32 frame.
3925
3926 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3927
3928 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3929 system doesn't tell us directly.
3930 (Fx_display_visual_class): Implement properly.
3931
d6bb0c0d
GM
39322001-01-02 Gerd Moellmann <gerd@gnu.org>
3933
3934 * window.c (Frecenter): Handle centering in graphical frames
3935 specially. Centering on the basis of line counts doesn't work
3936 reliably with variable-height lines.
52283633 3937
315f5865
EZ
39382001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3939
3940 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3941 and al[].
3942
52283633 3943 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3944 (update_compositions): Remove unused variable `hook'.
3945
3946 * intervals.c (get_local_map): Remove unused variable `tem'.
3947
3948 * doprnt.c (doprnt1): Remove unused variable `size'.
3949
3950 * fns.c (Flength): Remove unused variable `tail'.
3951 (Fdelete): Remove unused variable `size'.
3952
3953 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3954 and `gcpro2'.
3955
52283633 3956 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3957
3958 * data.c (find_symbol_value): Remove extra 3rd argument in the
3959 call to swap_in_symval_forwarding.
3960
52283633 3961 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3962
3963 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3964 (trivial_regexp_p): Remove unused variable `c'.
3965 (boyer_moore): Remove unused variable `k'.
3966
3967 * indent.c (current_column): Remove unused variable `stopchar'.
3968 (Fcompute_motion): Remove unused variable `contin'.
3969
3970 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3971
3972 * dired.c (directory_files_internal): Fix a typo in a comment.
3973 Remove an unused variable `handler'.
52283633 3974 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3975 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3976 on BSD4_2.
3977
52283633 3978 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3979
3980 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3981 and `buf'.
3982 (Fmarker_insertion_type): Remove unused variable `buf'.
3983
3984 * insdel.c (make_gap): Remove unused variable `result'.
3985
52283633 3986 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3987 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3988 (menu_bar_items): Remove unused function-scope variable `tem'.
3989
3990 * fontset.c (fontset_ref): Remove unused variable `i'.
3991 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3992 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3993 (make_fontset_for_ascii_face): Remove unused variable `name'.
3994 (fs_load_font): Remove unused variable `font_idx'.
52283633 3995 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3996 (list_fontsets): Remove unused variable `tail'.
3997 (Fnew_fontset): Remove unused variables `family' and `registry'.
3998 (accumulate_font_info): Remove unused variable `tmp'.
3999 (Ffontset_font): Remove unused variable `id'.
4000 (syms_of_fontset): Remove unused variable `i'.
4001
4002 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4003 to x_term_init.
4004 (lookup_image): Remove unused variable `file'.
4005 (xbm_load): Remove unused variables `bitmap_data', `height', and
4006 `width'. Remove function-local variable `i', leave the
4007 block-local one.
4008 (gif_load): Remove unused variable `inc'.
4009
52283633 4010 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4011 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4012 leave only the one in the inner block.
4013
4014 * xfaces.c (face_fontset, realize_default_face): Remove unused
4015 variable `fontset'.
4016 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4017
4018 * term.c (encode_terminal_code): Remove unused variable `c'.
4019
4020 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4021 char *' instead of `char *'.
4022
4023 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4024 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4025 (Fchar_category_set): Remove unused variables `val', `charset',
4026 `c1' and `c2'.
4027
52283633
SM
4028 * coding.c (detect_coding_iso2022, setup_coding_system):
4029 Remove unused variable `i'.
315f5865
EZ
4030 (detect_coding_mask): Remove unused variable `idx'.
4031 (detect_coding): Remove unused variable `i'.
4032 (ccl_coding_driver): Remove unused variable `result'.
4033 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4034 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4035 (encode_coding_string): Remove unused variables `gcpro1' and
4036 `saved_coding_symbol'.
4037 (Ffind_coding_systems_region_internal): Remove function-local
4038 variable args[], leave only the block-local one.
4039 (code_convert_region1): Remove unused variable `len'.
4040
4041 * charset.c (char_printable_p): Remove unused variable `chars'.
4042 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4043 (str_to_multibyte): Remove unused variable `c'.
4044
4045 * window.c (size_window): Remove block-local variable `min_size'.
4046
4047 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4048 `header_line_height'.
4049 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4050 enum display_element_type.
4051
1a8a9daf
GM
40522001-01-02 Gerd Moellmann <gerd@gnu.org>
4053
6dde6abc 4054 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4055 statements that call X. Save away the error message in a local copy.
4056
1883b2c6
GM
4057 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4058 the start.
4059
a13be207
GM
4060 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4061 in or at the start of invisible text.
4062
1a8a9daf
GM
4063 * dispnew.c (update_window): Don't check_current_matrix_flags.
4064
3608c0f9
JR
40652001-01-01 Jason Rumney <jasonr@gnu.org>
4066
4067 * w32fns.c (x_figure_window_size): Do not allow new_height and
4068 new_width of frame to override specified values.
4069
abb1acc4
KH
40702000-12-30 Kenichi Handa <handa@etl.go.jp>
4071
52283633 4072 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4073
762a68ec
GM
40742000-12-29 Gerd Moellmann <gerd@gnu.org>
4075
52283633 4076 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4077 (update_window) [GLYPH_DEBUG]: Call it.
4078 (scrolling_window): Prevent including current rows which are below
4079 what's displayed in the window.
4080
4081 * xdisp.c (try_window_reusing_current_matrix)
4082 <new start <= old start>: Disable rows in the current matrix
4083 which are below the window after scrolling.
52283633 4084
762a68ec
GM
4085 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4086 is zero. It's not worth the complexity.
4087 (invisible_text_between_p): Put in #if 0 because unused.
4088
2d5912c1
GM
40892000-12-28 Gerd Moellmann <gerd@gnu.org>
4090
46f6a258
GM
4091 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4092 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4093
89f93679
GM
4094 * keyboard.c (echo_char): If C is an integer, always call
4095 push_key_description. Former code could signal an invalid
4096 character error.
4097
4098 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4099 If set, print multibyte text.
4100 (Fsingle_key_description): Call push_key_description with
4101 FORCE_MULTIBYTE set.
4102 (describe_buffer_bindings): Likewise.
4103
4104 * lisp.h (push_key_description): Add prototype.
4105
c06017fb
GM
4106 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4107 around the call to redisplay_internal.
4108
f1d2ce7f
GM
4109 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4110
2d5912c1
GM
4111 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4112
9371f831
KH
41132000-12-28 Kenichi Handa <handa@etl.go.jp>
4114
4115 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4116 (ccl_driver): New local variable `extra_bytes'.
4117
4118 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4119
52283633
SM
4120 * coding.c (setup_coding_system):
4121 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4122 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4123
0c80628a
KH
41242000-12-28 Kenichi Handa <handa@etl.go.jp>
4125
4126 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4127 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4128 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4129 (decode_composition_emacs_mule): New function.
4130 (decode_coding_emacs_mule): Decode composition sequence by calling
4131 decode_composition_emacs_mule.
4132 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4133 (encode_coding_emacs_mule): Changed from macro to function.
4134 If a text contains compositions, encode them correctly.
0c80628a
KH
4135 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4136 that decoding and encoding are required.
4137
3e32cc27
GM
41382000-12-27 Gerd Moellmann <gerd@gnu.org>
4139
5e25feee
GM
4140 * xfaces.c (PT_PER_INCH): New macro.
4141 (xlfd_point_size): Compute real point size from font's pixel size.
4142 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4143 instead of 72.
4144
892d8fcd
GM
4145 * .gdbinit: Comment out the line pointing to the Lesstif source
4146 directory.
4147
12c8b416
GM
4148 * window.c (Frecenter): Use displayed_window_lines instead
4149 of window_internal_height.
4150
6061fbf0
GM
4151 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4152 instead of x-toolkit-scroll-bars-p.
4153 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4154
4155 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4156 instead of x-toolkit-scroll-bars-p.
4157 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4158
3e32cc27
GM
4159 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4160 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4161 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4162 New variables.
4163 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4164 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4165 (build_frame_matrix_from_leaf_window): Remove unused code.
4166 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4167 redisplay history.
4168 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4169 (update_window) [GLYPH_DEBUG]: Likewise.
4170 (syms_of_display): Defsubr dump-redisplay-history.
4171
31798cfe
GM
41722000-12-23 Gerd Moellmann <gerd@gnu.org>
4173
f717c2ba
GM
4174 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4175 the end of the prompt. Set echo_after_prompt to the offset
4176 of echoptr in echobuf.
4177
aeb2b8fc
GM
4178 * xdisp.c (init_from_display_pos): Pop until the iterator's
4179 stack is empty; there may be frames for stretch or images
4180 on the stack.
4181
31798cfe
GM
4182 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4183 (save_or_restore_current_matrix): New function for the same
4184 purpose, but more efficient.
4185 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4186
f8156156
EZ
41872000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4188
4189 * xdisp.c (syms_of_xdisp): Fix last change.
4190
bdd6d4e8
GM
41912000-12-23 Gerd Moellmann <gerd@gnu.org>
4192
4193 * xdisp.c (syms_of_xdisp): Doc fix.
4194
4195 * xdisp.c (redisplay_window): Remove label restore_buffers;
4196 use finish_scroll_bars instead to make sure that scroll bars
4197 are redeemed. If we don't do this, flickering can result from
4198 scroll bars being destroyed and recreated.
4199
9436cdf9
JR
42002000-12-22 Jason Rumney <jasonr@gnu.org>
4201
4202 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4203 in the wrong colors when the foreground is not black.
4204 (expose_window): Don't redraw the window that's currently being
4205 updated.
4206
951f9df5
GM
42072000-12-22 Gerd Moellmann <gerd@gnu.org>
4208
856ff7a7
GM
4209 * window.c (size_window): When setting the window's too_small_ok
4210 flag, compare old size with minimum size depending on WIDTH_P,
4211 don't compare with window_min_width.
52283633 4212
951f9df5
GM
4213 * window.c (delete_window): Simplify somewhat.
4214 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4215 freeing window matrices. The flag windows_or_buffers_changed is
4216 set, so the next redisplay will consider all windows; this should
4217 suffice.
4218
886bc933
KH
42192000-12-22 Kenichi Handa <handa@etl.go.jp>
4220
4221 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4222
4223 * ccl.h (struct ccl_program): New member cr_consumed.
4224
4225 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4226 (CCL_READ_CHAR): Handle EOL conversion here.
4227 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4228
177f4e88
GM
42292000-12-21 Gerd Moellmann <gerd@gnu.org>
4230
52283633 4231 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4232
4233 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4234 otherwise tabs of different size compare equal.
4235
4236 * callint.c (Fcall_interactively): Prevent a compiler warning.
4237
4238 * print.c (print_unwind): Return nil.
4239 (PRINTDECLARE): Initialize all local variables.
4240 (print_preprocess): Add a default case.
4241
8e15274f
GM
4242 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4243
4244 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4245
52283633 4246 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4247 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4248
4249 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4250
4251 * dispnew.c (ensure_frame_matrix): Removed.
4252 (save_frame_matrix, restore_frame_matrix): New functions.
4253 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4254
4255 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4256 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4257
99012074
AI
42582000-12-21 Andrew Innes <andrewi@gnu.org>
4259
4260 * w32term.c (x_update_begin): Regenerate the palette here, rather
4261 than for each window.
4262
4263 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4264 palette is NULL, since this corrupts memory! Also get
4265 display_info reference from frame.
4266
29ef7d2d
JR
42672000-12-21 Jason Rumney <jasonr@gnu.org>
4268
4269 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4270
4271 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4272 to avoid returning without releasing it.
3e27fa1f 4273
3f9d67a6
KH
42742000-12-21 Kenichi Handa <handa@etl.go.jp>
4275
587fc3f9
KH
4276 * keymap.c (push_key_description): Don't convert eight-bit-control
4277 and eight-bit-graphic to multibyte character.
4278
3f9d67a6
KH
4279 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4280 generic character and CODE1 is nil, return the smallest character
4281 in CHARSET.
4282
774ba8c9
DL
42832000-12-20 Dave Love <fx@gnu.org>
4284
4285 * s/osf5-0.h (NSIG): Don't redefine.
4286
88416888
SM
42872000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4288
4289 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4290 excluding menu-bar and tool-bar.
4291 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4292 (menu_item_p): Remove.
4293 (where_is_internal_1): Don't ignore menu-items.
4294
a6426c6f
GM
42952000-12-20 Gerd Moellmann <gerd@gnu.org>
4296
03ff8aab
GM
4297 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4298 into account.
4299
4300 * window.c (make_window): Initialize window's min_hscroll.
4301 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4302 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4303 to zero.
4304 (struct saved_window): New member min_hscroll.
4305 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4306 (Fset_window_configuration): Set window's min_hscroll.
4307 (save_window_save): Save window's min_hscroll.
4308 (compare_window_configurations): Compare min_hscroll values.
4309
4310 * window.h (struct window): New member min_hscroll.
4311
4312 * keyboard.c (echo_prompt): Prevent a compiler warning.
4313
8de4aaf8
GM
4314 * xdisp.c (try_cursor_movement): Fix last change. The real
4315 condition is that PT is at the end of the row, and should
4316 be displayed at the start of the next row.
52283633 4317
3f7e3031
GM
4318 * xdisp.c (try_cursor_movement): If we end on a partially
4319 visible line, end we already decided to scroll, return -1.
4320
a6426c6f
GM
4321 * dispextern.h (ensure_frame_matrix): Add prototype.
4322
4323 * window.c (delete_window, Fsplit_window)
4324 (Fset_window_configuration): Call ensure_frame_matrix.
4325
52283633
SM
4326 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4327 New functions.
a6426c6f
GM
4328 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4329 completed, call fake_current_matrices instead of marking frame
4330 garbaged.
4331
57fa2774
JR
43322000-12-20 Jason Rumney <jasonr@gnu.org>
4333
4334 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4335
d925df90
EZ
43362000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4337
4338 * fns.c (Frequire): Doc fix.
4339
7b93a85b
GM
43402000-12-19 Gerd Moellmann <gerd@gnu.org>
4341
52283633 4342 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4343
c74e645b
GM
4344 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4345 currently displaying a message.
4346
7b93a85b
GM
4347 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4348 xterm.h.
4349 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4350
90d97e64
AI
43512000-12-18 Andrew Innes <andrewi@gnu.org>
4352
4353 * w32.c (w32_strerror): New function.
4354
4355 * w32.h (w32_strerror): New extern.
4356
4357 * w32fns.c (Fw32_shell_execute): Use it.
4358
91c9e6ce
GM
43592000-12-18 Gerd Moellmann <gerd@gnu.org>
4360
4361 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4362
6f4745e2
EZ
43632000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4364
4365 * msdos.c (IT_set_face): Obey inverse_video.
4366
c9e088ce
KH
43672000-12-18 Kenichi Handa <handa@etl.go.jp>
4368
4369 * dired.c (directory_files_internal): Always return decoded filenames.
4370
c3695f5f
GM
43712000-12-18 Gerd Moellmann <gerd@gnu.org>
4372
52d8e4ff
GM
4373 * xterm.c (x_connection_closed): Prevent being called recursively
4374 because of an error condition in XtCloseDisplay.
52283633 4375
62be9979
GM
4376 * xdisp.c (init_iterator): If noninteractive, and the frame's
4377 face cache is null, make one.
4378
52283633 4379 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4380
c3695f5f
GM
4381 * process.c (wait_reading_process_input): Check for pending
4382 input when running timers.
4383
78555fbe
EZ
43842000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4385
52283633 4386 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4387
b2b36264
KH
43882000-12-18 Kenichi Handa <handa@etl.go.jp>
4389
4390 * process.c (read_process_output): Don't run a filter if the code
4391 decoder produces nothing but carryover.
4392
9c543fbf
AI
43932000-12-17 Andrew Innes <andrewi@gnu.org>
4394
4395 * w32.c (sys_rename): Only check errno against EEXIST, and not
4396 EACCES, when determining whether rename failed because the target
4397 exists. This was resulting in indefinite looping on Windows 9x if
4398 the source file was locked by another process.
4399
4400 * w32fns.c (Ffile_system_info): New function.
4401 (syms_of_w32fns): Defsubr it.
4402
10c2b5a8
GM
44032000-12-17 Gerd Moellmann <gerd@gnu.org>
4404
b0228ace
GM
4405 * window.c (coordinates_in_window): Fix computation for
4406 position on vertical line between mode lines.
4407
10c2b5a8
GM
4408 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4409 Don't alter tip_frame or tip_window.
4410 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4411 was deleted.
4412
c844a81a
GM
4413 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4414 Don't alter tip_frame or tip_window.
4415 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4416 was deleted.
4417
6c825f8e
EZ
44182000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4419
4420 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4421 be consistent with the doc string. Reported by NAKAJIMA Mikio
4422 <minakaji@osaka.email.ne.jp>.
4423
af4bb4c8
KH
44242000-12-16 Kenichi Handa <handa@etl.go.jp>
4425
4426 * xfaces.c (Vface_ignored_fonts): New variable.
4427 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4428 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4429
8062e53a
GM
44302000-12-15 Gerd Moellmann <gerd@gnu.org>
4431
e87b8809
GM
4432 * dispnew.c (update_window): Detect pending input every nth line
4433 updated, i.e. do it depending on real work done, and not on the
4434 vpos of the line.
4435
4436 * xterm.c (expose_window): Don't redraw the window that's
4437 currently being updated.
4438
a6768cc5
GM
4439 * window.c (Fset_window_point): Remove test for
4440 cursor_in_non_selected_windows.
4441
4ea7fdca
GM
4442 * lread.c (read1): Recognize end of file after `\\'.
4443
8062e53a
GM
4444 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4445 not unwind_create_frame.
4446
bb7959c1
GM
44472000-12-15 Dave Love <fx@gnu.org>
4448
4449 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4450 bcopy & al.
4451
4452 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4453
ced04c42
KH
44542000-12-15 Kenichi Handa <handa@etl.go.jp>
4455
c5443913
KH
4456 * coding.c (setup_coding_system): Clear all members of the struct
4457 coding_system at first.
bc137305
KH
4458 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4459 argument.
4460 (code_convert_region): Don't override coding->src_multibyte and
4461 coding->dst_multibyte.
c5443913 4462
ced04c42
KH
4463 * fns.c (Fmd5): Docstring improved.
4464
c2d7f289
MB
44652000-12-15 Miles Bader <miles@gnu.org>
4466
4467 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4468 are actually marked as mode-lines; otherwise use
4469 estimate_mode_line_height.
4470
9d7d9263
GM
44712000-12-14 Gerd Moellmann <gerd@gnu.org>
4472
4473 * editfns.c (Fformat): Prevent a buffer overrun when the format
4474 specifies a precision.
4475
7cf0153a
EZ
44762000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4477
4478 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4479 argument is outside the range [2..3].
4480
1de0f662
AI
44812000-12-14 Andrew Innes <andrewi@gnu.org>
4482
4483 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4484 nothing to do. Bind inhibit-quit.
4485 (tip_frame): Make it a Lisp_Object.
4486 (x_create_tip_frame): Set tip_frame after it has been added to
4487 Vframe_list.
4488 (Fx_show_tip): Don't set tip_frame here.
52283633 4489 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4490 (unwind_create_frame, unwind_create_tip_frame): New functions.
4491 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4492 while a frame is only partially constructed.
4493
4494 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4495 (x_free_frame_resources): New function.
4496 (x_destroy_window): Use it.
4497
02387dcc
GM
44982000-12-14 Gerd Moellmann <gerd@gnu.org>
4499
4500 * xfns.c (Fx_backspace_delete_keys_p): New function.
4501 (syms_of_xfns): Defsubr it.
4502
4503 * config.in (HAVE_XKBGETKEYBOARD): Add.
4504
0544ef49
KH
45052000-12-14 Kenichi Handa <handa@etl.go.jp>
4506
98d62747
KH
4507 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4508 Always store string in multibyte representation in echobuf.
4509 (echo_char): Always store string in multibyte representation in
4510 echobuf.
4511 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4512 (read_key_sequence): Adjusted for the change of echo_prompt.
4513
a20193cd
KH
4514 * fns.c (Fmd5): Docstring improved.
4515
191b83b6
KH
4516 * lisp.h (detect_coding_system): Prototype adjusted.
4517
0544ef49
KH
4518 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4519 (detect_coding_emacs_mule, detect_coding_iso2022,)
4520 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4521 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4522 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4523 (detect_coding_mask, detect_coding_system): New argument
4524 MULTIBYTEP. Callers changed.
1da1bb05
KH
4525 (decode_coding_string): Set coding->src_multibyte and
4526 coding->dst_multibyte before calling detect_coding and detect_eol.
4527 Update them after some coding system is detected.
52283633 4528
d5b3eb1b
SM
45292000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4530
4531 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4532
4533 * keyboard.c (menu_bar_items, tool_bar_items):
4534 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4535
f7f8bb69
GM
45362000-12-13 Gerd Moellmann <gerd@gnu.org>
4537
52283633 4538 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4539 New variables.
4540 (unwind_create_frame, unwind_create_tip_frame): New functions.
4541 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4542 while a frame is only partially constructed.
4543
4544 * xterm.h (x_free_frame_resources): Declare.
4545
4546 * xterm.c (x_free_frame_resources): New function.
4547 (x_destroy_window): Use it.
4548
e10da507
GM
4549 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4550 don't interrupt the update for pending input initially, i.e.
4551 update at least some lines.
4552
4553 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4554
d5b3eb1b 4555 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4556
4557 * xfns.c (gray_bitmap_bits): Declare `char *'.
4558
90aa2856
GM
45592000-12-12 Gerd Moellmann <gerd@gnu.org>
4560
4561 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4562 lines start with a relief line.
4563
a308c9cd
DL
45642000-12-12 Dave Love <fx@gnu.org>
4565
4566 * window.c (Fdisplay_buffer): Doc fix.
4567 (Fwindow_list): Remove unused var.
4568
4569 * buffer.h (mmap_set_vars): Declare.
4570
4571 * window.h (Fset_window_point): Declare.
4572
d575011f
EZ
45732000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4574
bf6282d2 4575 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4576 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4577 variable `area'. When looking for a row under (X,Y), give up if some
4578 of the previous rows is not enabled.
d575011f 4579
ecf4d726
GM
45802000-12-12 Gerd Moellmann <gerd@gnu.org>
4581
2ebf6139
GM
4582 * window.c (Fset_window_point): If displaying cursors in windows
4583 other than the selected window, make sure redisplay updates
4584 other windows to show the new value of point in the window.
4585
4586 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4587
bfdb75ee
GM
4588 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4589 the buffer is the sole visible buffer when in the mini-buffer.
4590
52283633 4591 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4592 Bind `inhibit-read-only' to t.
4593 (unwind_with_echo_area_buffer): Use AREF.
4594
c0006262
GM
4595 * xfns.c (Fx_hide_tip): Simplified.
4596
52283633
SM
4597 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4598 instead of `1'.
e9a59cad 4599
ecf4d726
GM
4600 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4601
e5959a9a
GM
46022000-12-11 Gerd Moellmann <gerd@gnu.org>
4603
a3642e49 4604 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4605
44b5a125
GM
4606 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4607 nothing to do. Bind inhibit-quit.
4608 (tip_frame): Make it a Lisp_Object.
4609 (x_create_tip_frame): Set tip_frame after it has been added to
4610 Vframe_list.
4611 (Fx_show_tip): Don't set tip_frame here.
4612
4613 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4614
4615 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4616 Lisp_Object.
4617
4618 * dispextern.h: Change external declaration of tip_frame.
4619
d990421f
GM
4620 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4621 return an empty string.
4622
4db87380
GM
4623 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4624 of the window's update_mode_line flag, since the former is set by
4625 force-mode-line-update, not the latter. This makes
4626 column-number-mode slightly faster.
52283633 4627
e5959a9a
GM
4628 * xdisp.c (try_window_id) <all changes above window start>:
4629 Set the cursor.
4630
169fe44e
GM
46312000-12-11 Paul Eggert <eggert@twinsun.com>
4632
4633 * config.in (HAVE_FTELLO): Remove.
4634 (HAVE_FSEEKO): Add.
4635 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4636 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4637 HAVE_FTELLO.
4638 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4639 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4640
59ec59ae
MB
46412000-12-11 Miles Bader <miles@gnu.org>
4642
4643 * window.c (displayed_window_lines): Don't round up when
4644 converting empty space at bottom to lines.
ff904dd6
MB
4645 Handle non-newline-terminated final lines properly.
4646 (Fwindow_text_height): New function (used to be in lisp).
4647 (syms_of_window): Initialize it.
59ec59ae 4648
42ebfa31
SM
46492000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4650
4651 * syntax.c (scan_lists): Check that the right quote char has the
4652 right Sstring syntax when jumping over strings.
4653 (init_syntax_once): Use Smax rather than 13.
4654
5cdb3cf3
MB
46552000-12-09 Miles Bader <miles@gnu.org>
4656
4657 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4658 with PARTIALLY, inverting the sense.
4659 (window_scroll_pixel_based): Scroll partially visible lines into
4660 place if we hit the beginning or end of the buffer.
a12167c5
MB
4661 (displayed_window_lines): Don't include partially visible lines.
4662 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4663
842b2a94
GM
46642000-12-08 Gerd Moellmann <gerd@gnu.org>
4665
4666 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4667
4668 * tparam.c (tparam1): Change the way buffers are reallocated to be
4669 portable and less obfuscated.
4670
4671 * termcap.c (tgetent): Change the way buffers are reallocated to
4672 be portable and less obfuscated.
4673
4674 * macros.c (store_kbd_macro_char): Change the way buffers are
4675 reallocated to be portable and less obfuscated.
4676
4677 * lread.c (read1): Change the way buffers are reallocated to be
4678 portable and less obfuscated.
4679
4680 * doc.c (Fsubstitute_command_keys): Change the way buffers
4681 are reallocated so that it is portable.
4682
137cad7c
EZ
46832000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4684
4685 * dosfns.c (Ffile_system_info): New function.
4686 (syms_of_dosfns): Defsubr it.
4687
5c7f629c
SM
46882000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4689
4690 * alloc.c (gc_sweep): Add comment.
4691
959e647d
GM
46922000-12-07 Gerd Moellmann <gerd@gnu.org>
4693
52283633
SM
4694 * sound.c (vox_configure): Change order of ioctls.
4695 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4696 Ignore errors when changing volume.
4697 (vox_close): Don't reset the device.
4698
926b7e5e
GM
4699 * process.c (read_process_output): Make sure the process marker's
4700 position is valid when the process buffer is changed in
4701 after-change functions. W3 does that.
52283633 4702
959e647d
GM
4703 * xfns.c (x_free_gcs): New function.
4704
4705 * xterm.h (x_free_gcs): Add prototype.
4706
4707 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4708 freeing GCs here.
4709
4710 * xterm.c (x_destroy_window): Call x_free_gcs so that
4711 resources of non-toolkit X windows will be freed.
4712
478ea067
AI
47132000-12-07 Andrew Innes <andrewi@gnu.org>
4714
4715 * w32fns.c (xlfd_charset_of_font): Fix last change.
4716
fbee3231
DL
47172000-12-06 Dave Love <fx@gnu.org>
4718
67292061
DL
4719 * md5.h (__P): Don't define -- it comes from config.h.
4720
fbee3231
DL
4721 * strftime.c: Change some #if foo to #ifdef foo.
4722
4ee87dbb
AI
47232000-12-06 Andrew Innes <andrewi@gnu.org>
4724
4725 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4726
52283633 4727 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4728 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4729 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4730
9765b4a4
GM
47312000-12-06 Gerd Moellmann <gerd@gnu.org>
4732
d285b373
GM
4733 * alloc.c (gc_sweep): Prevent symbols read during loadup
4734 from being freed.
4735
384333ee
GM
4736 * xdisp.c (underlying_face_id): New function.
4737 (handle_face_prop, face_before_or_after_it_pos): Use it
4738 to determine the face ``under'' a string. Let strings inherit
4739 the face of the buffer under them.
4740
4741 * xfaces.c (face_at_string_position): Update function comment.
52283633 4742
d4b72d58
GM
4743 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4744 matrix if the window's left position has changed; we need to
4745 redraw it in this case.
4746
4747 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4748
e1d05387
GM
4749 * window.c (coordinates_in_window): Check mouse on mode-line or
4750 header-line first.
4751
eb1b0c74
GM
4752 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4753 advertized by the function documentation.
4754
d94d636f
GM
4755 * window.c (syms_of_window): Doc fix.
4756
3887b449
GM
4757 * sound.c (vox_configure): Set volume for left and right channel.
4758 (sound_cleanup): Return nil.
4759
efc8f57a
GM
4760 * xdisp.c (move_it_by_lines): Fix paren typo.
4761
9765b4a4
GM
4762 * xterm.c (x_load_font): Don't use the font's max_bounds for
4763 computing the height of the font. If max_bounds' ascent or
4764 descent are greater than the font's ascent or descent, this means
4765 glyphs overlap, which should be handled now by redisplay.
4766
6529ed87
GM
4767 * window.c (Veven_window_heights): New variable.
4768 (syms_of_window): DEFVAR_LISP it.
4769 (Fdisplay_buffer): Check Veven_window_heights before evening the
4770 window heights.
52283633 4771
0eb2ecde
MB
47722000-12-06 Miles Bader <miles@gnu.org>
4773
4774 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4775 update `default-frame-alist' instead of setting no frame parameters.
4776
03d7a167
KH
47772000-12-06 Kenichi Handa <handa@etl.go.jp>
4778
4779 * composite.c (update_compositions): Fix typo (use the correct
4780 variable).
4781
5f8803c2
JR
47822000-12-05 Jason Rumney <jasonr@gnu.org>
4783
4784 * md5.h: Remove underscores from function declarations.
4785 (__attribute__, __alignof__) [!__GNUC__]: Define.
4786
4787 * md5.c: Delay include of md5.h until after namespace cleaning.
4788
c28a075b
JR
4789 * makefile.w32-in (fns.o): Depend on md5.h
4790 (md5.o): New target.
4791 (sunfns.o): Remove.
4792
4793 * makefile.nt: Likewise.
4794
ff3c7056
JR
47952000-12-05 Jason Rumney <jasonr@altavista.net>
4796
4797 * w32term.c (expose_area): Complete last change.
4798
0c21eeeb
KR
47992000-12-05 Ken Raeburn <raeburn@gnu.org>
4800
4801 * minibuf.c: Include intervals.h.
4802
f201d732
JR
48032000-12-05 Jason Rumney <jasonr@gnu.org>
4804
4805 * w32term.c (x_produce_glyphs): If a font for a component of
4806 a composition is not found, use 1 pixel dot ascent and 0 dot
4807 descent value to avoid displaying terribly tall empty boxes.
4808 (expose_area): Pass x-coordinate relative to the exposed
4809 area to x_draw_glyphs instead of a window-relative coordinate.
4810
21999ab9
GM
48112000-12-05 Gerd Moellmann <gerd@gnu.org>
4812
4d2036e4
GM
4813 * xdisp.c (next_element_from_ellipsis): Save face before selective
4814 display in saved_face_id, and set face_before_selective_p.
4815 (reseat_1): Reset face_before_selective_p.
4816 (append_space, extend_face_to_end_of_line): If iterator's
4817 face_before_selective_p is set, use the face from saved_face_id.
4818 (extend_face_to_end_of_line): For tty frames, make sure to
4819 use the right face id when producing spaces at the end of
4820 the line.
4821
4822 * dispextern.h (struct it): Add face_before_selective_p.
4823
52be17cc
GM
4824 * keyboard.c (record_char): Don't record identical help-echo
4825 events in recent_keys.
4826
8a4f36cc
GM
4827 * xterm.c [USE_X_TOOLKIT]: Close the display.
4828 (xim_close_dpy): Handle case that the display has been closed.
4829
57d6e381
GM
4830 * xterm.c (x_destroy_window): Reset the frame's X window after
4831 destroying it.
4832
21999ab9
GM
4833 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4834 variable window_width.
4835 (line_draw_cost): Fix code skipping over spaces at the end of the
4836 line when must_write_spaces is not set.
4837 (scrolling_window): Fix code inserting runs in list of all runs.
4838
91372bb7
KH
48392000-12-05 Kenichi Handa <handa@etl.go.jp>
4840
4841 * coding.c (setup_coding_system): Be sure to initialize
4842 coding->category_idx.
4843
6c083b4c
GM
48442000-12-04 Gerd Moellmann <gerd@gnu.org>
4845
0c68ce6f 4846 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4847
6452929e
GM
4848 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4849 area to x_draw_glyphs instead of a window-relative coordinate.
4850
d7f31e22
GM
4851 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4852 error in the message.
4853
ae18aa3b
GM
4854 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4855 timer after having read a key. It's not good for code reading
4856 several keys in a loop, like an input method.
4857
caa15ef7
GM
4858 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4859 record undo information for format-decode.
4860
4861 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4862 current buffer is read-only, not if it isn't.
4863
6c083b4c
GM
4864 * keyboard.c (record_char): Record `help-echo' input events
4865 in recent_keys only if they display some help. Don't record
4866 `help-echo' events as macro char.
4867
caa15ef7
GM
48682000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4869
4870 * editfns.c (save_excursion_restore): Don't move point
4871 in another window if it is showing the wrong buffer.
4872 Avoid the call to Fwindow_live_p, for speed.
4873
5a13529b
KH
48742000-12-04 Kenichi Handa <handa@etl.go.jp>
4875
e225faa7
KH
4876 * xfaces.c (struct font_name): New member registry_priority.
4877 (split_font_name): Initialize the above member to zero.
4878 (concat_font_list): New function.
4879 (font_list): Include fonts of all alternative registries.
4880 (FONT_POINT_SIZE_QUANTUM): New macro.
4881 (better_font_p): Ignore point size difference less than
4882 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4883
e89648b4
KH
4884 * xterm.c (x_produce_glyphs): If a font for a component of
4885 a composition is not found, use 1 pixel dot ascent and 0 dot
4886 descent value to avoid displaying terribly tall empty boxes.
4887
5a13529b
KH
4888 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4889
d7935eb6
KR
48902000-12-03 Ken Raeburn <raeburn@gnu.org>
4891
4892 * coding.h (code_convert_string1): Declare.
4893
4894 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4895
52283633 4896 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4897
0dd5e255
JR
48982000-12-02 Jason Rumney <jasonr@gnu.org>
4899
4900 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4901 correctly for single byte character case.
4902 (w32_per_char_metric): Do not try to make any assumptions about
4903 the metrics of BDF fonts.
250cfece 4904 (x_estimate_mode_line_height): If `mode-line' face
52283633 4905 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4906 (note_mouse_highlight): Change the cursor shape on the vertical
4907 border between windows [not enabled].
4908
4909 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4910
4911 * w32fns.c (Fx_create_frame): Reintroduce the call to
4912 face-set-after-frame-defaults.
4913 (Vx_window_horizontal_drag_shape): New variable.
4914 (syms_of_xfns): DEFVAR_LISP it.
4915 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4916 enabled].
0dd5e255 4917
b5d8d2ca
GM
49182000-12-02 Simon Josefsson <simon@josefsson.org>
4919
4920 * fns.c (Fmd5): Use a different logic to decide the coding system
4921 to use.
4922
4923 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4924
fbb87147
EZ
49252000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4926
52283633 4927 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4928
447e9da0
GM
49292000-12-01 Gerd Moellmann <gerd@gnu.org>
4930
7708ced0
GM
4931 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4932 height for YNegative.
4933 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4934 height; also see comment there.
4935
447e9da0
GM
4936 * window.c (coordinates_in_window): Handle computations for
4937 positions on the vertical bar and fringes differently for
4938 window-system frames. Consider some pixels near the vertical bar
4939 as on the bar if the frame doesn't have vertical scroll bars.
4940 Associate positions between mode or header lines with the
4941 right window, the left one.
4942
86d1db20
JR
49432000-12-01 Jason Rumney <jasonr@gnu.org>
4944
4945 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4946
4947 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4948 invalid frame.
4949
a1d58e5b
GM
49502000-12-01 Gerd Moellmann <gerd@gnu.org>
4951
52283633 4952 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4953 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4954 (save_window_save, Fset_window_configuration): Save/restore
4955 window's orig_top and orig_height.
4956
89c609af
JR
49572000-12-01 Jason Rumney <jasonr@gnu.org>
4958
4d177746 4959 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4960
89c609af
JR
4961 * w32fns.c (x_set_cursor_color): Fix last change.
4962
eccc05db
GM
49632000-11-30 Gerd Moellmann <gerd@gnu.org>
4964
31b6671b
GM
4965 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4966 sure that the next redisplay displays the minibuffer, so that
4967 the cursor will be replaced with what the minibuffer wants.
4968
eccc05db
GM
4969 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4970 #ifndef instead of using #if.
4971 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4972 USE_TOOLKIT_SCROLL_BARS is defined.
4973
162de750
JR
49742000-11-30 Jason Rumney <jasonr@gnu.org>
4975
4976 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4977 x_display_cursor.
4978
693c4692
GM
49792000-11-30 Gerd Moellmann <gerd@gnu.org>
4980
4981 * fns.c (Fmd5): Doc fix.
4982
b5d8d2ca 49832000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4984
4985 * fns.c (Fmd5): New function.
4986 (syms_of_fns): Defsubr md5.
4987
4988 * Makefile.in (obj): Add md5.o
4989
b02cd40b
GM
49902000-11-30 Gerd Moellmann <gerd@gnu.org>
4991
edfb795e
GM
4992 * md5.h, md5.c: New files, taken from glibc.
4993
df3aedcf
GM
4994 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4995
b02cd40b 4996 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4997 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4998
8b5176cd
SM
49992000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5000
5001 * eval.c (Frun_hooks): Allow 0 arguments.
5002
346598f1
GM
50032000-11-29 Gerd Moellmann <gerd@gnu.org>
5004
f9396e03
GM
5005 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5006 is over the menu bar widget, say it's not on the frame.
5007
4a967a9b
GM
5008 * xfns.c (Fx_create_frame): Reintroduce the call to
5009 face-set-after-frame-defaults.
5010
346598f1
GM
5011 * eval.c (Fsignal): Reset handling_signal.
5012
222456a1
JR
50132000-11-28 Jason Rumney <jasonr@gnu.org>
5014
5015 * w32menu.c (add_menu_item): Reset menu item text when changing
5016 type to radio button.
5017
8049ddc0
GM
50182000-11-28 Gerd Moellmann <gerd@gnu.org>
5019
346598f1 5020 * xselect.c: Update copyright.
f4f4ee4d 5021
bebe4a2c
GM
5022 * window.c (coordinates_in_window): If on a mode or header line,
5023 but sufficiently close to its start, return ``on vertical
5024 border''. This gives us a way to drag windows horizontally when
5025 using toolkit scroll bars.
5026
5027 * xterm.c (note_mouse_highlight): Change the cursor shape
5028 on the vertical border between windows.
5029
5030 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5031
5032 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5033 (syms_of_xfns): DEFVAR_LISP it.
5034 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5035
8d2c2642
GM
5036 * textprop.c (text_read_only): New function.
5037 (verify_interval_modification): Use it instead of signaling
5038 `text-read-only'. This makes it easier to catch this error
52283633 5039 with a breakpoint.:
8d2c2642 5040
52283633 5041 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5042 not end of line, which includes CR.
5043
5a2bae6c
KH
50442000-11-28 Kenichi Handa <handa@etl.go.jp>
5045
5046 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5047 include no-conversion.
5048
ae31f84d
JR
50492000-11-27 Jason Rumney <jasonr@gnu.org>
5050
5051 * w32fns.c (w32_load_system_font): Always mark font as double byte
5052 if codepage is unicode.
5053
67f1cf4c
GM
50542000-11-27 Gerd Moellmann <gerd@gnu.org>
5055
4a74d071 5056 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5057 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5058
902ae620
GM
5059 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5060 `vertical-line', `mode-line' and `header-line' events.
5061
5062 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5063 of a character, a TAB for instance. This is easier than to set
5064 up the iterator exactly, and it's not a frequent case, so the
5065 additional effort wouldn't really pay off.
5066
c1e279c2
AC
50672000-11-26 Andrew Choi <akochoi@i-cable.com>
5068
67f1cf4c 5069 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5070 init_window_once.
5071
a609568a
JR
50722000-11-25 Jason Rumney <jasonr@gnu.org>
5073
52283633
SM
5074 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5075 Args to window_from_coordinates should be pixel coordinates.
48b21762 5076
a609568a
JR
5077 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5078 redisplay handles them properly.
5079
a658d039
MB
50802000-11-25 Miles Bader <miles@gnu.org>
5081
5082 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5083
d3416cca
JR
50842000-11-24 Jason Rumney <jasonr@gnu.org>
5085
5086 * w32.c (init_environment): Set LANG environment variable based on
5087 locale settings, if not set.
5088
5089 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5090 making tool bar smaller. When clearing the frame, also
5091 clear current matrices. Clear frame when tool bar disappears.
5092 Don't use more lines for the tool-bar than is available.
5093 (x_change_window_heights): New function.
5094
ba193890
GM
50952000-11-24 Gerd Moellmann <gerd@gnu.org>
5096
2be8f184
GM
5097 * xdisp.c (init_from_display_pos): If POS says we're already after
5098 an overlay string ending at POS, make sure to pop the iterator
5099 because it will be in front of that overlay string. When POS is
5100 ZV, we've thereby also ``processed'' overlay strings at ZV.
5101
ba193890
GM
5102 * xfaces.c (lface_from_face_name): Function comment fix.
5103
1862a24e
MB
51042000-11-24 Miles Bader <miles@gnu.org>
5105
5106 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5107 apply `mode-line-inverse-video' -- zero means force display using
5108 the default face, non-zero means display using the specialized face.
5109 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5110
f07fa1b8
KH
51112000-11-23 Kenichi Handa <handa@etl.go.jp>
5112
5113 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5114 hard coded `4'.
5115
2bcdf662
EZ
51162000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5117
5118 * coding.c (decode_coding_emacs_mule): Fix the case of
5119 CODING_EOL_LF, which used uninitialized value of c.
5120
ba8299ff
SM
51212000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5122
5123 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5124
f4117c4d
GM
51252000-11-22 Gerd Moellmann <gerd@gnu.org>
5126
03e757c1
GM
5127 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5128 buffer object.
5129
f4117c4d
GM
5130 * frame.h (struct frame): Replace desired_tool_bar_items,
5131 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5132 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5133
5134 * frame.c (make_frame): Change initialization of tool bar
5135 items accordingly.
5136
5137 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5138 Change references to members deleted from struct frame to use the
f4117c4d
GM
5139 new ones.
5140
5141 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5142 references to members deleted from struct frame to use the new ones.
f4117c4d 5143
52283633 5144 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5145
5146 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5147
5148 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5149 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5150 from struct frame to use the new ones.
5151
f8e2f3f2
MB
51522000-11-23 Miles Bader <miles@gnu.org>
5153
5154 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5155 the face's inverse-video attribute, rather than overriding it.
5156
60e8e0a5
GM
51572000-11-22 Gerd Moellmann <gerd@gnu.org>
5158
5159 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5160 making tool bar smaller.
5161
92dd1b29
DL
51622000-11-22 Dave Love <fx@gnu.org>
5163
5164 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5165
e672fdce
MB
51662000-11-22 Miles Bader <miles@gnu.org>
5167
3a17d6cc
MB
5168 * keyboard.c (Vminibuffer_message_timeout): New variable.
5169 (command_loop_1): Use it to determine message timeout.
5170 (syms_of_keyboard): Initialize it.
5171
60e8e0a5 5172 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5173
e9655d81
KH
51742000-11-22 Kenichi Handa <handa@etl.go.jp>
5175
5176 * sysdep.c: Move the code for declaring h_errno after #include
5177 <netdb.h>.
5178
77270fac
GM
51792000-11-21 Gerd Moellmann <gerd@gnu.org>
5180
cd913aae
GM
5181 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5182 the menu bar when the tooltip is unmapped.
5183
77270fac
GM
5184 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5185 sole visible buffer when we're currently in the mini-buffer, and
5186 give up if so.
52283633 5187
556635d6
JR
51882000-11-21 Jason Rumney <jasonr@gnu.org>
5189
5190 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5191 put on the clipboard.
5192 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5193 copy of what Emacs last put there. If they are the same, do not
52283633 5194 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5195
5b7bde64
MB
51962000-11-22 Miles Bader <miles@gnu.org>
5197
5198 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5199 (syms_of_minibuf): Initialize it.
5200 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5201 to prompt, don't make read-only.
5202
ff23e1dd
GM
52032000-11-21 Gerd Moellmann <gerd@gnu.org>
5204
52283633
SM
5205 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5206 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5207
7aaf4388
GM
5208 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5209
f5f47add 5210 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5211
ff23e1dd
GM
5212 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5213
37c35586
KH
52142000-11-21 Kenichi Handa <handa@etl.go.jp>
5215
5216 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5217 ... #endif scope.
5218
ff9ab414
GM
52192000-11-20 Gerd Moellmann <gerd@gnu.org>
5220
52283633 5221 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5222 screen supports it.
5223
29a01b72
GM
5224 * s/gnu-linux.h: Don't use `#cpu'.
5225
09dfdf85
GM
5226 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5227 not defined in mman.h.
5228
52283633 5229 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5230 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5231 and store an index in the XClientMessageEvent. Storing a
5232 Lisp_Object or pointer can fail on a 64 bit system, since X only
5233 transfers 32 bits.
52283633
SM
5234 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5235
81459ac9
DL
52362000-11-20 Dave Love <fx@gnu.org>
5237
5238 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5239
56c13ae6
GM
52402000-11-20 Gerd Moellmann <gerd@gnu.org>
5241
5242 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5243
495a6df3
KH
52442000-11-20 Kenichi Handa <handa@etl.go.jp>
5245
2bcf3714
KH
5246 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5247 by WIDTH.
5248
495a6df3
KH
5249 * alloc.c (make_string): Fix previous change. Be sure to make
5250 unibyte string correctly.
5251
6d950f4c
GM
52522000-11-19 Gerd Moellmann <gerd@gnu.org>
5253
39b39373
GM
5254 * window.c (Fwindow_list): Change parameter list to be XEmacs
5255 compatible.
5256 (window_list_1): New function.
5257 (window_loop): Use it instead of Fwindow_list.
5258
b95b34e5
GM
5259 * sysdep.c (emacs_ospeed): New variable.
5260 (toplevel): Don't declare ospeed extern.
5261 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5262
5263 * termcap.c (ospeed): Remove.
5264 (tputs) [!emacs]: Remove unused code.
5265 (tgetent): Avoid a compiler warning.
5266
e83dc917
GM
5267 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5268 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5269 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5270
5271 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5272 removed.
5273 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5274 Take the X display as additional argument.
5275 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5276 `Widget' is a pointer type that's not easily stored in Lisp_Object
5277 form in a portable way.
52283633 5278
6d950f4c
GM
5279 * dispnew.c (update_text_area): Fix last change.
5280
e47306e6
GM
52812000-11-18 Gerd Moellmann <gerd@gnu.org>
5282
fb3cd89b
GM
5283 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5284
5285 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5286 clear current matrices.
5287
edaa9aed
GM
5288 * buffer.c (mmap_enlarge): Don't print a message on stderr
5289 if mapping new memory at the end of the existing region fails.
5290
e47306e6
GM
5291 * dispnew.c (update_text_area): Don't skip over equal glyphs
5292 when the last current glyph overlaps the glyph to its right.
5293
509633e3
MB
52942000-11-18 Miles Bader <miles@gnu.org>
5295
5296 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5297 lines that *end* with "..." too (that's the most common case!).
5298
d392e9c5
GM
52992000-11-18 Gerd Moellmann <gerd@gnu.org>
5300
67988445
GM
5301 * xdisp.c (resize_mini_window): Temporarily change to the
5302 mini-window's buffer if necessary.
1bfdbe43 5303
d392e9c5
GM
5304 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5305 the tooltip obscures less text under it.
5306
53072000-11-17 Gerd Moellmann <gerd@gnu.org>
5308
5309 * puresize.h (BASE_PURESIZE): Increase to 700000.
5310
92bb977f
JR
53112000-11-18 Jason Rumney <jasonr@gnu.org>
5312
5313 * w32term.c (w32_draw_bitmap): Use face to set colors.
5314
26fbf20b
DL
53152000-11-17 Dave Love <fx@gnu.org>
5316
5317 * lread.c (Fload): Fix #ifdef for pcc.
5318
100b593b
GM
53192000-11-17 Gerd Moellmann <gerd@gnu.org>
5320
5321 * xdisp.c (pos_visible_p): Compute the default character height
5322 differently.
5323
a288d0d1
GM
53242000-11-16 Gerd Moellmann <gerd@gnu.org>
5325
cac94de6 5326 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5327 knowing the line's height; use the default font's height in that case.
cac94de6 5328
a288d0d1
GM
5329 * xfaces.c (weight_table): Add `demi' with the same meaning as
5330 `demibold'.
5331
981fb6f6
KH
53322000-11-16 Kenichi Handa <handa@etl.go.jp>
5333
2cca872d 5334 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5335 (clear_glyph_row): Delete local static variable null_row.
5336
e5fa381b
JR
53372000-11-15 Jason Rumney <jasonr@gnu.org>
5338
5339 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5340 (w32_alloc_lighter_color): Use new brightness calculations from
5341 xterm.c. Scale delta to be in the range expected by W32.
5342 (w32_draw_relief_rect): Use frame relief colors.
5343
8e42f043
GM
53442000-11-15 Gerd Moellmann <gerd@gnu.org>
5345
6d133d1f
GM
5346 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5347 (Qinhibit_default_face_x_resources): New variable.
5348 (syms_of_frame): Initialize it.
5349 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5350
5351 * xdisp.c (pos_visible_p): Improve function comment.
5352
5353 * lisp.h (BINDING_STACK_SIZE): New macro.
5354
8e42f043
GM
5355 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5356 reading the directory if readdir returns null and errno is EAGAIN
5357 or EINTR.
5358
e8c87124
SM
53592000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5360
5361 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5362 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5363 Set amount_to_scroll to max of dx and scroll_step so that
5364 scroll-conservatively doesn't defeat scroll-step>1.
5365 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5366 scroll-conservatively for line-at-a-time scrolling.
5367
5f0c971d
GM
53682000-11-14 Gerd Moellmann <gerd@gnu.org>
5369
5370 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5371 extra argument.
5372
5373 * xdisp.c (current_mode_line_height, current_header_line_height):
5374 New variables.
5375 (init_xdisp): Initialize them.
5376 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5377 and use exact mode line heights if it is set.
5378
5379 * lisp.h (pos_visible_p): Change prototype.
5380
5381 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5382 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5383 and current_header_line_height first.
52283633
SM
5384 (current_mode_line_height, current_header_line_height):
5385 Declare extern.
5f0c971d 5386
d7361edf
MB
53872000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5388
5389 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5390 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5391 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5392
ee5e440a
MB
53932000-11-14 Miles Bader <miles@gnu.org>
5394
5395 * xterm.c (x_alloc_lighter_color): Include an additive component
5396 too for dark colors, because FACTOR isn't enough.
5397 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5398 New macros.
5399
5ca020fc
GM
54002000-11-13 Gerd Moellmann <gerd@gnu.org>
5401
5402 * keyboard.c (show_help_echo): Call message3_nolog with number of
5403 bytes in the help string as 2nd parameter, instead of the number
5404 of characters.
5405
9d348294
MB
54062000-11-13 Miles Bader <miles@gnu.org>
5407
5408 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5409 (Fload): Use new openp return protocol.
5410 Don't try to use Vload_source_file_function to load .elc files.
5411 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5412 openp return protocol.
5413 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5414
1729bb9a
KH
54152000-11-11 Kenichi Handa <handa@etl.go.jp>
5416
4e677396
KH
5417 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5418
5419 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5420 Defined these macros.
5421 (NLIST_STRUCT): Avoid re-defining it.
5422
1729bb9a
KH
5423 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5424 -I/usr/contrib/X11R6/include.
5425 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5426
a82fe213
JR
54272000-11-10 Jason Rumney <jasonr@gnu.org>
5428
5429 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5430
5431 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5432 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5433
5434 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5435 (Qw32_charset_vietnamese): New symbol.
5436 (xlfd_charset_of_font): New function.
5437 (w32_load_system_font): Use it.
5438 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5439 when Vw32_charset_info_alist is nil to ensure default face always
5440 has font. Use Fcar and Fcdr for safety.
5441 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5442 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5443 pseudo-codepages for special cases.
5444 (w32_to_x_font): New parameter to allow charset portion to be
5445 specified where there is many to one mapping. Callers changed.
5446 (w32_list_fonts): Avoid listing fonts that won't display.
5447
52d89894
GM
54482000-11-10 Gerd Moellmann <gerd@gnu.org>
5449
5450 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5451 (font_list_1): Renamed from font_list.
5452 (font_list): New function, trying alternative registries from
5453 Vface_alternative_font_registry_alist.
5454 (Finternal_set_alternative_font_registry_alist): New function.
5455 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5456 Vface_alternative_font_registry_alist.
5457 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5458
651cd3da
KR
54592000-11-09 Ken Raeburn <raeburn@gnu.org>
5460
5461 * lisp.h (Flooking_at): Declare.
5462
388ac098
GM
54632000-11-09 Gerd Moellmann <gerd@gnu.org>
5464
778fbc46 5465 * dired.c (directory_files_internal): Fix a braino.
52283633 5466
388ac098
GM
5467 * dired.c (directory_files_internal): Add missing GCPRO's.
5468 Some cleanup.
5469
ecaedde1
GM
54702000-11-08 Gerd Moellmann <gerd@gnu.org>
5471
f7eb32aa
GM
5472 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5473 (resize_mini_window): Return quickly if Vresize_mini_window is
5474 nil. Don't return if Vmax_mini_window_height is nil.
5475
5476 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5477 (syms_of_xdisp): Initialize them.
5478 (resize_mini_window): Act according to the setting of
5479 Vresize_mini_window.
5480 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5481
ecaedde1
GM
5482 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5483 scroll bar widget after configuring it, so that it will appear at
5484 the right position from the start.
5485 (XTredeem_scroll_bar): Cleaned up.
5486
3747ef2c
KH
54872000-11-08 Kenichi Handa <handa@etl.go.jp>
5488
5489 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5490 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5491 division by two.
5492
5493 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5494
03391420
DL
54952000-11-07 Dave Love <fx@gnu.org>
5496
7758f1c1 5497 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5498
5499 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5500
b5de343d
GM
55012000-11-07 Gerd Moellmann <gerd@gnu.org>
5502
acad3c0b
GM
5503 * window.c (Fset_window_configuration): Don't try to preserve
5504 point in the current buffer, if that buffer is displayed in more
5505 than one window.
5506
b5de343d
GM
5507 * xfaces.c (lookup_named_face): If default face isn't realized,
5508 try to realize it. Return -1 if not successful.
5509 (Fx_list_fonts): Handle case that face cannot be determined.
5510 (Fface_font): Likewise.
5511
cdb1fe49
GM
55122000-11-06 Gerd Moellmann <gerd@gnu.org>
5513
5514 * window.c (displayed_window_lines): Detect partially
5515 visible lines at the bottom correctly.
5516
d3a67486
SM
55172000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5518
5519 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5520 when ensuring we don't do visit in indirect buffer.
5521
ff8dd5d5
KH
55222000-11-06 Kenichi Handa <handa@etl.go.jp>
5523
5524 * composite.h (compose_chars_in_text): Add prototype.
5525
5526 * composite.c (Vcomposition_function_table): New variable.
5527 (Qcomposition_function_table): New variable.
5528 (run_composition_function): Call
5529 Vcompose_chars_after_function with three arguments.
5530 (compose_chars_in_text): New function.
5531 (syms_of_composite): Modified the doc-string of
5532 Vcompose_chars_after_function. Declare composition-function-table
5533 as a lisp variable, and initialize it.
5534
5535 * xfns.c (x_encode_text): Suppress producing escape sequences for
5536 composition.
5537
5538 * xselect.c: Include composite.h.
5539 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5540
d1145f85
AI
55412000-11-05 Andrew Innes <andrewi@gnu.org>
5542
5543 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5544
5545 * sysdep.c (read_input_waiting): Remove extraneous argument to
5546 read_socket_hook.
5547
5548 * w32fns.c (Fx_server_version): Include w32_build_number in the
5549 return list.
5550
5551 * w32heap.c (w32_build_number): New variable.
5552 (cache_system_info): Set it.
5553
5554 * w32heap.h (w32_build_number): Add extern.
5555
5556 * emacs.c (syms_of_emacs): Update docstring for
5557 system-configuration, to reflect the actual usage on MS-Windows.
5558
e85ee976
GM
55592000-10-31 Gerd Moellmann <gerd@gnu.org>
5560
26dcb81b
GM
5561 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5562 process idle timers while waiting for another event.
5563
52283633 5564 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5565 the default face are colored.
5566
e85ee976
GM
5567 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5568 window height hasn't changed.
5569
01b220b6
JR
55702000-10-31 Jason Rumney <jasonr@gnu.org>
5571
5572 * w32term.c (x_produce_glyphs): Handle composite characters.
5573 (x_draw_glyph_string_foreground)
5574 (x_draw_composite_glyph_string_foreground): Restore old font.
5575
4e6b7204
MB
55762000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5577
5578 * minibuf.c (read_minibuf): Reset the undo history just before
5579 starting the recursive-edit.
5580
d4358b37
GM
55812000-10-30 Gerd Moellmann <gerd@gnu.org>
5582
563f68f1
GM
5583 * xfaces.c (menu_face_change_count): New variable.
5584 (Finternal_set_lisp_face_attribute): Increment it for changes
5585 of the `menu' face.
5586 (realize_basic_faces): Reflect changes in the `menu' faces
5587 in menu bars.
5588
82e274d1
GM
5589 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5590 dy obtained from the iterator's y-position after moving from
5591 scroll_margin_pos to PT; see comment there.
52283633 5592
0dbf9fd2
GM
5593 * xdisp.c (safe_eval_handler): Call add_to_log.
5594
906b3b14
GM
5595 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5596 is not a symbol or string.
5597
d4358b37
GM
5598 * xdisp.c (echo_area_display): Don't perform a display update from
5599 inside redisplay. The update will happen anyway at the end of
5600 redisplay, and it can confuse redisplay (GC messages while
5601 redisplaying, for instance.)
5602
70c825df
SM
56032000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5604
cf9b4b0b
SM
5605 * xrdb.c (x_load_resources): Use the class name in the defaults.
5606
70c825df
SM
5607 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5608 (regex_compile): Catch bogus \(\1\).
5609
a1d34b1e
GM
56102000-10-30 Gerd Moellmann <gerd@gnu.org>
5611
cae71efe
GM
5612 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5613 RGB values.
52283633 5614
35efe0a1
GM
5615 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5616 we have a color cache, check that the cached color equals the
5617 allocated color. If not, clear the color cache.
5618
1d3baf74
GM
5619 * window.c (displayed_window_lines): Change buffers if necessary.
5620 Fix computation of displayed lines.
5621
a1d34b1e
GM
5622 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5623 update_menu_bindings to DEFVAR_BOOL.
5624
70737ea9
KH
56252000-10-30 Kenichi Handa <handa@etl.go.jp>
5626
70c825df 5627 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5628
fa0cb51d
KH
5629 * puresize.h (BASE_PURESIZE): Increase to 680000.
5630
70737ea9
KH
5631 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5632
0e4c08e8
JR
56332000-10-29 Jason Rumney <jasonr@gnu.org>
5634
5635 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5636
5637 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5638 (w32_cache_char_metrics): Handle possibility that 'x' does not
5639 exist in a BDF font.
5640 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5641
5642 * w32bdf.h (bdffont): Add nchars.
5643
5644 * w32bdf.c (set_bdf_font_info): Set it.
5645 (w32_BDF_TextOut): Swap byte order of double byte characters.
5646 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5647
45b84006
EZ
56482000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5649
5650 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5651 don't override the colors in frame's param_alist, unless they are
5652 unspecified.
5653
5654 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5655 reverse the effect of the highlight flag.
5656
caf9deee
KR
56572000-10-27 Ken Raeburn <raeburn@gnu.org>
5658
5659 * window.h (Fwindow_live_p): Declare.
5660
ae0b9b46
KR
5661 * undo.c (record_delete): Check that last_undo_buffer is really a
5662 buffer before applying XBUFFER to it.
5663
5664 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5665 Faref.
5666
02067692
SM
56672000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5668
5669 * lisp.h (KEYMAPP): New macro.
5670 (get_keymap): Remove.
5671 (get_keymap_1): Rename get_keymap.
5672
5673 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5674
5675 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5676
5677 * xmenu.c (single_submenu): Use KEYMAPP.
5678 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5679 Use KEYMAPP rather than Fkeymapp.
5680
5681 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5682
5683 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5684 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5685 Use KEYMAPP rather than Fkeymapp.
5686 (single_submenu): Use KEYMAPP.
5687 (w32_menu_show, w32_dialog_show): Use TRUE.
5688
5689 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5690
5691 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5692 (Fkeymapp): Use KEYMAPP.
5693 (get_keymap): Rename from get_keymap_1. Remove old def.
5694 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5695 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5696 (Fminor_mode_key_binding): Don't raise an error if the binding
5697 is not a keymap.
5698 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5699 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5700
5701 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5702 Allow Vspecial_event_map to be autoloaded.
5703 (menu_bar_items): Fetch the keymap rather than using keymapp.
5704 (menu_bar_one_keymap): No need to follow func-indirect any more.
5705 (parse_menu_item): get_keymap_1 -> get_keymap.
5706 (tool_bar_items): Fetch the keymap rather than using keymapp.
5707 (read_key_sequence): Use KEYMAPP.
5708
5709 * intervals.c (get_local_map): Use get_keymap rather than following
5710 function-indirections explicitly.
5711
5712 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5713
f9d80af3
JR
57142000-10-27 Jason Rumney <jasonr@gnu.org>
5715
5716 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5717 point, as Windows has oversized fonts.
5718
5719 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5720
a3ba27da
GM
57212000-10-27 Gerd Moellmann <gerd@gnu.org>
5722
5723 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5724 (freehook, reallochook): Handle null pointer arguments.
5725 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5726
aa3b80cc
SM
57272000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5728
5729 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5730 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5731 Giving in to popular pressure to shut up the compiler with casts.
5732
e24e84cc
GM
57332000-10-27 Gerd Moellmann <gerd@gnu.org>
5734
5735 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5736 signed value, and use a default value computed from the font's
5737 maximum descent.
5738
05ea7ef2
MB
57392000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5740
5741 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5742 that specify a negative underline position can still use underlines.
5743
5744 * window.c (Fpos_visible_in_window_p): Make POS default to
5745 WINDOW's point, not the current buffer's point.
5746
0b95284b
DL
57472000-10-26 Dave Love <fx@gnu.org>
5748
5749 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5750 when it's necessary.
5751
6c5b90af
GM
57522000-10-26 Gerd Moellmann <gerd@gnu.org>
5753
8b6d9dc9
GM
5754 * window.c (size_window): Compute size difference from sum of old
5755 child window sizes instead of from parent's size.
5756
6bc92b2e
GM
5757 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5758 Handle obscured lines at the top of the window.
5759
5760 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5761 down after the last error condition check.
5762
6c5b90af
GM
5763 * frame.c (Fdelete_frame): Run delete-frame-hook.
5764
42f92d4d
KH
57652000-10-26 Kenichi Handa <handa@etl.go.jp>
5766
5767 * coding.c (decode_coding): Fix previous change (check also
5768 CODING_MODE_LAST_BLOCK).
5769
d97151cb
SM
57702000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5771
e7efc503
SM
5772 * regex.c: More `unsigned char' -> `re_char' changes.
5773 Also change several `int' into `re_wchar_t'.
5774 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5775 (PUSH_FAILURE_POINTER): Don't cast any more.
5776 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5777 We want GCC to complain, since this piece of code makes
5778 re_match non-reentrant, which *should* be fixed.
5779 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5780 (EXTEND_BUFFER): Use RETALLOC.
5781 (SET_LIST_BIT): Don't cast.
5782 (re_wchar_t): New type.
5783 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5784 that those two functions will always properly return.
5785 (IMMEDIATE_QUIT_CHECK): Cast to void.
5786 (analyse_first): Use recursion rather than an explicit stack.
5787 (re_compile_fastmap): Can't fail anymore.
5788 (re_search_2): Don't check re_compile_fastmap for failure.
5789 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5790 Now also sets the new value (passed in a new argument).
5791 (re_match_2_internal): Use it.
5792 Also, use a new var `reg' of type size_t when looping through regs
5793 rather than reuse the inappropriate `mcnt'.
5794
d97151cb
SM
5795 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5796 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5797 (where_is_internal): Renamed from Fwhere_is_internal.
5798 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5799 (Fwhere_is_internal): New function wrapping where_is_internal.
5800 (where_is_internal_1): Handle the case where we're filling the cache.
5801 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5802
d5789b65
MB
58032000-10-25 Miles Bader <miles@gnu.org>
5804
5805 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5806
4ecda532
GM
58072000-10-25 Gerd Moellmann <gerd@gnu.org>
5808
5809 * window.c (pos_fully_visible_p): Removed.
5810 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5811 if position is visible and/or fully visible.
5812
5813 * lisp.h (pos_visible_p): Add prototype.
5814
5815 * xdisp.c (pos_visible_p): New function.
5816
68c3a137
KH
58172000-10-25 Kenichi Handa <handa@etl.go.jp>
5818
5819 * process.c (send_process): If OBJECT is t, it means that the data
5820 is from C string, but we should encode it. Before calling
5821 setup_raw_text_coding_system, be sure to flush out data by the
5822 previous coding system.
5823
7ae1c032
MB
58242000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5825
ff4dcd4b
MB
5826 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5827 assignment of startpos to prev when startpos == pos.
5828
7ae1c032
MB
5829 * editfns.c (find_field): Set the field stickiness correctly from
5830 overlay fields. Use renamed `text_property_stickiness'.
5831 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5832 Only check text properties, not overlays.
7ae1c032
MB
5833 * textprop.c (get_char_property_and_overlay): New function.
5834 (Fget_char_property): Use it.
5835 * intervals.h (get_char_property_and_overlay): Add declaration.
5836
49801145
SM
58372000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5838
5839 * keymap.c: Use AREF, ASET and ASIZE macros.
5840 (Fmake_sparse_keymap): Docstring fix.
5841 (synkey): Remove.
5842 (shadow_lookup): Move up.
5843 Handle the case where lookup-key returns an integer.
5844 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5845 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5846 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5847 Simplify/rewrite the keymap-finding code.
5848 Add check for command shadowing, using shadow_lookup.
5849
39e776cd
SM
58502000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5851
5852 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5853 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5854 a symbol.
5855
2488aba5
AI
58562000-10-24 Andrew Innes <andrewi@gnu.org>
5857
5858 * dired.c (directory_files_internal_unwind): New function.
5859 (directory_files_internal): Use it to ensure closedir is called
5860 even if expand-file-name or file-attributes throw, eg. because of
5861 a user interrupt. Also enable immediate_quit while calling
5862 re_search, so that matching can be interrupted as well.
5863
b94fdf61
AI
58642000-10-24 Andrew Innes <andrewi@gnu.org>
5865
5866 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5867 NT-Emacs only.
5868 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5869 so that re_search functions only quit when callers expect them to.
5870
58712000-10-24 Kenichi Handa <handa@etl.go.jp>
5872
5873 * regex.c (regex_compile): Change the way of handling a range from
5874 a char less than 256 to a char not less than 256.
5875
1946f901
GM
58762000-10-24 Gerd Moellmann <gerd@gnu.org>
5877
7ae2f10f
GM
5878 * window.c (size_window): Prevent setting window's width or
5879 height to a negative value (esp. with XSETFASTINT).
5880
5dcab13e
GM
5881 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5882 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5883 (protect_malloc_state) [GC_MALLOC_CHECK &&
5884 GC_PROTECT_MALLOC_STATE]: New function.
5885 (PROTECT_MALLOC_STATE): New macro.
5886 (__malloc_initialize, morecore, _malloc_internal)
5887 (_free_internal) _realloc_internal): Use it to make _heapinfo
5888 read-only outside of gmalloc.
5889
63e1b552
GM
5890 * keymap.c: Update copyright.
5891
1946f901
GM
5892 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5893 a symbol.
5894
4fa09beb
GM
58952000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5896
5897 * filelock.c (unlock_all_files): Use unlock_file to expand each
5898 buffer's file_truename before trying remove its lock file.
5899
23afac01
EZ
59002000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5901
5902 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5903 or CRLF, decode EOLs.
5904
04448b95
KH
59052000-10-24 Kenichi Handa <handa@etl.go.jp>
5906
5907 * window.c (Fdisplay_buffer): Fix doc.
5908
3090a5a5
JR
59092000-10-23 Jason Rumney <jasonr@gnu.org>
5910
5911 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5912 ASCII font of default fontset on Windows.
5913
5914 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5915 xterm.c comment below).
5916
5917 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5918
a83fee2c
GM
59192000-10-23 Gerd Moellmann <gerd@gnu.org>
5920
5921 * xterm.c (x_connection_closed): Reset handling_signal.
5922
52283633 5923 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5924
6ffdb539
MB
59252000-10-23 Miles Bader <miles@gnu.org>
5926
5927 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5928 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5929 maintain old behavior.
5930 * minibuf.c (Fminibuffer_complete): Likewise.
5931
7f1c969b
MB
59322000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5933
5934 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5935 that when a font can't be exactly centered, it errs up rather than
5936 down.
5937
23afac01 59382000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5939
52283633 5940 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5941
1a578e9b
AC
59422000-10-23 Andrew Choi <akochoi@i-cable.com>
5943
5944 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5945
5946 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5947 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5948
5949 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5950 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5951 syms_of_search, x_term_init, and init_keyboard before calling
5952 init_window_once. Also, call syms_of_xmenu.
5953
5954 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5955 default fontset to Monaco.
5956
5957 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5958 NewMacWindow and DisposeMacWindow.
5959 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5960 instead of calling NewMacWindow and setting fields of
5961 f->output_data.mac directly. Call init_frame_faces.
5962 (Fdelete_frame) [macintosh]: Remove unused code.
5963 (Fmodify_frame_parameters) [macintosh]: Call
5964 x_set_frame_parameters instead of mac_set_frame_parameters.
5965
5966 * frame.h [macintosh]: Define menu_bar_lines field in struct
5967 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5968
5969 * keyboard.c [macintosh]: Include macterm.h.
5970 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5971 and menu_bar_activate_event type events as for X and NT.
5972 (make_lispy_event) [macintosh]: Construct lisp events of type
5973 MENU_BAR_EVENT as for X and NT.
5974
5975 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5976 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5977 (sys_subshell) [macintosh]: Remove definition entirely.
5978 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5979 Vwindow_system_version here. Remove initialization of
5980 Vx_bitmap_file_path.
5981 (read_input_waiting): Correct the number of parameters passed to
5982 read_socket_hook.
5983 Move all Macintosh functions to mac/mac.c.
5984
5985 * term.c [macintosh]: Include macterm.h.
5986
5987 * window.c [macintosh]: Include macterm.h.
5988
5989 * xdisp.c [macintosh]: Include macterm.h. Declare
5990 set_frame_menubar and pending_menu_activation.
5991 (echo_area_display) [macintosh]: Do not return if terminal frame
5992 is the selected frame.
5993 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5994 Allow only the selected frame to set menu bar.
5995 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5996 calling FRAME_EXTERNAL_MENU_BAR (f).
5997 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5998
5999 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6000 and check_x. Declare XCreateGC. Define x_create_gc and
6001 x_free_gc. Initialize font_sort_order.
6002 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6003 but call x_list_fonts instead of w32_list_fonts.
6004 (Finternal_face_x_get_resource) [macintosh]: Do not call
6005 display_x_get_resource.
6006 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6007 (realize_x_face) [macintosh]: Load the font if it is specified in
6008 ATTRS.
52283633 6009 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6010
1ffbabe3
SM
60112000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6012
6013 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6014 is nil: since we go to the end of submap anyway, we'd end up
6015 setting nil to nil.
6016 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6017 doesn't obey autoload.
6018
bed43f1d
EZ
60192000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6020
1ffbabe3 6021 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6022
ea4233a7
JR
60232000-10-21 Jason Rumney <jasonr@gnu.org>
6024
6025 * w32term.c (w32_cache_char_metrics): Double check that font is
6026 really fixed pitch before trusting tmPitchAndFamily.
6027
f3d3c491
AI
60282000-10-21 Andrew Innes <andrewi@gnu.org>
6029
6030 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6031
6032 * w32term.h: Extern decl for w32_cache_char_metrics.
6033
6034 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6035
6036 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6037 (w32_unload_font): Free per_char array if present.
6038
6039 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6040 cached information in emulated XFontStruct to handle common cases
6041 quickly. Do not allocate XCharStruct for return.
6042 (w32_native_per_char_metric): New function.
6043 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6044 allocating one.
6045 (x_produce_glyphs): Don't get an HDC. Change calls to
6046 w32_per_char_metric to match arg change above. Remove calls to
6047 free results.
6048 (w32_get_glyph_overhangs): Ditto.
6049 (w32_cache_char_metrics): New function.
6050
6051 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6052 ($(BLD)/casefiddle.$(O)): Remove compile command.
6053 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6054 ($(BLD)/dispnew.obj):
6055 ($(BLD)/keyboard.obj):
6056 ($(BLD)/w32inevt.obj):
6057 ($(BLD)/w32bdf.obj):
6058 ($(BLD)/alloc.obj):
6059 ($(BLD)/buffer.obj):
6060 ($(BLD)/editfns.obj):
6061 ($(BLD)/emacs.obj):
6062 ($(BLD)/fileio.obj):
6063 ($(BLD)/fns.obj):
6064 ($(BLD)/indent.obj):
6065 ($(BLD)/insdel.obj):
6066 ($(BLD)/intervals.obj):
6067 ($(BLD)/minibuf.obj):
6068 ($(BLD)/print.obj):
6069 ($(BLD)/scroll.obj):
6070 ($(BLD)/sysdep.obj):
6071 ($(BLD)/textprop.obj):
6072 ($(BLD)/widget.obj):
f3d3c491
AI
6073 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6074 ($(BLD)/term.obj): Add dependency on dispextern.h.
6075
52283633
SM
6076 * makefile.nt ($(BLD)\dispnew.obj):
6077 ($(BLD)\keyboard.obj):
6078 ($(BLD)\w32inevt.obj):
6079 ($(BLD)\w32bdf.obj):
6080 ($(BLD)\alloc.obj):
6081 ($(BLD)\buffer.obj):
6082 ($(BLD)\editfns.obj):
6083 ($(BLD)\emacs.obj):
6084 ($(BLD)\fileio.obj):
6085 ($(BLD)\fns.obj):
6086 ($(BLD)\indent.obj):
6087 ($(BLD)\insdel.obj):
6088 ($(BLD)\intervals.obj):
6089 ($(BLD)\minibuf.obj):
6090 ($(BLD)\print.obj):
6091 ($(BLD)\scroll.obj):
6092 ($(BLD)\sysdep.obj):
6093 ($(BLD)\textprop.obj):
6094 ($(BLD)\widget.obj):
f3d3c491
AI
6095 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6096 ($(BLD)\term.obj): Add dependency on dispextern.h
6097
18ad4821
EZ
60982000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6099
6100 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6101 with an additional argument of Qt.
6102
de54681a
MB
61032000-10-21 Miles Bader <miles@gnu.org>
6104
6105 * window.c (pos_fully_visible_in_window_p): New function.
6106 (Fpos_visible_in_window_p): Add FULLY argument.
6107 Use pos_fully_visible_in_window_p.
6108 (window_scroll_pixel_based, window_scroll_line_based): Update
6109 calls to Fpos_visible_in_window_p.
6110 * lisp.h (Fpos_visible_in_window_p): Update prototype
6111
13c844fb
GM
61122000-10-20 Gerd Moellmann <gerd@gnu.org>
6113
6114 * alloc.c (toplevel): Conditionalize compilation of mem_*
6115 functions differently.
52283633 6116
d9506268
JR
61172000-10-20 Jason Rumney <jasonr@gnu.org>
6118
6119 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6120 mem_init where it used to be. mem_z etc not defined otherwise.
6121
8094989b
GM
61222000-10-20 Gerd Moellmann <gerd@gnu.org>
6123
6124 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6125 GC_MALLOC_CHECK.
6126 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6127 structure definition and related variabled to the top of the file.
6128 Include this code when GC_MALLOC_CHECK is defined.
6129 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6130 register/unregister allocated region.
6131 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6132 which isn't allocated.
6133 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6134 something which is already in use.
6135 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6136 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6137 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6138 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6139
6140 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6141 _malloc_internal instead of malloc.
6142 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6143 of free.
6144
ea456eb4
AI
61452000-10-20 Andrew Innes <andrewi@gnu.org>
6146
6147 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6148 Windows.
6149 (my_strftime) <macro>: Don't use macro arg list when redefining as
6150 _strftime_copytm.
6151 (my_strftime) <function>: Supply 0 as ut argument.
6152
e64c3a75
JR
61532000-10-19 Jason Rumney <jasonr@altavista.net>
6154
6155 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6156 including dispextern.h, as it stops faces from working.
6157
6158 * w32fns.c (Fx_create_frame): Don't bother calling
6159 face-set-after-frame-default since the caller does it for us
6160 anyway. Clean up calls to x_get_arg to be consistent with X.
6161
6162 * w32term.c (x_produce_glyphs): Handle
6163 unibyte_display_via_language_environment correctly.
6164 (w32_draw_box_rect): Fix the calculation of width and height.
6165
6166 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6167 as it has stopped working.
6168 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6169 menu-bar.
6170
17401c97
GM
61712000-10-19 Gerd Moellmann <gerd@gnu.org>
6172
6173 * eval.c (skip_debugger): Prevent a compiler warning.
6174 (Fcondition_case): Likewise.
6175 (Fbacktrace_frame): Use a null interactive spec.
6176
773272d8
KH
61772000-10-19 Kenichi Handa <handa@etl.go.jp>
6178
6179 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6180
a42943e9
GM
61812000-10-18 Gerd Moellmann <gerd@gnu.org>
6182
e50517d9
GM
6183 * strftime.c: Sync with glibc, file version 1.78.
6184 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6185 should no longer be used according to ISO 8601.
6186
9035a35a
GM
6187 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6188 no map for meta_prefix_char, don't try to use it as a keymap.
6189 Instead, if T_OK is non-zero, look up a default binding, if any,
6190 otherwise, if T_OK is zero, return nil.
6191
a42943e9
GM
6192 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6193 (x_to_xcolors, png_load): Use x_query_color.
6194
52283633
SM
6195 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6196 New functions.
a42943e9
GM
6197 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6198 which can be slow.
6199 (x_copy_color, x_alloc_lighter_color): Likewise.
6200
6201 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6202 (x_query_color, x_query_colors): Add prototype.
6203
6204 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6205 check_string_bytes only if not noninteractive, increase count to 50.
6206
00de2987
MB
62072000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6208
6209 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6210 markers correctly.
6211
54918e2b
GM
62122000-10-17 Gerd Moellmann <gerd@gnu.org>
6213
1f0b3fd2
GM
6214 * alloc.c (pure_bytes_used): Renamed from pureptr.
6215 (ALIGN): New macro.
6216 (pure_alloc): New function.
6217 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6218 Use it.
6219 (Fpurecopy): Use PURE_POINTER_P.
6220
68c5d1db
GM
6221 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6222 PT has moved backward.
52283633 6223
9a038881
GM
6224 * xdisp.c (cursor_row_p): Take continued lines into account.
6225
361b097f
GM
6226 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6227 string's size_byte.
6228 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6229 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6230 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6231 string allocated.
6232
54918e2b
GM
6233 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6234 of selective display off while searching for the next line start.
6235
03ed0806
KH
62362000-10-17 Kenichi Handa <handa@etl.go.jp>
6237
6238 * Makefile.in (term.o): Depend on dispextern.h.
6239
7e05cdaf
SM
62402000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6241
6242 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6243
a6801fd1
GM
62442000-10-16 Gerd Moellmann <gerd@gnu.org>
6245
483de32b
GM
6246 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6247 the iterator at the beginning, so that they can be set later on,
6248 for instance in reseat_at_next_visible_line_start, without being
6249 overwritten.
6250
a6801fd1
GM
6251 * xfns.c (pbm_format): Add :foreground and :background keywords.
6252 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6253 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6254
dbf1fcc1
EZ
62552000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6256
6257 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6258
52283633 6259 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6260
6261 * msdos.c (IT_set_face): Compare highlighted face with the default
6262 face, and invert colors if these faces' colors are identical.
6263 (Fmsdos_remember_default_colors): Don't swap foreground and
6264 background colors in initial_colors[].
6265 (IT_set_frame_parameters): Don't swap frame's foreground and
6266 background pixels. If ALIST includes "(reverse . t)", swap
6267 foreground-color and background-color properties in frame's
6268 param_alist. If the original frame's param_alist doesn't specify
6269 the colors, store unspecified-fg and unspecified-bg, reversed if
6270 required.
6271
6272 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6273 the colors are unspecified and reversed, reverse fore- and back-
6274 ground in the returned value.
6275 (Fframe_parameter): Ditto.
6276
b41fe2c3 62772000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6278
3a6b59d9
GM
6279 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6280 get_last_unchanged_at_beg_row.
6281 (find_first_unchanged_at_end_row): Renamed from
6282 get_first_unchanged_at_end_row.
6283 (find_first_unchanged_at_end_row): Convert assertions to
6284 unconditional tests which abort. When looking for a row in
6285 unchanged text, don't go further back than first_text_row.
6286
b41fe2c3
GM
6287 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6288 Don't add in the last line's height when deciding if the new
6289 position is below the scroll margin.
9d1af64f 6290
b41fe2c3 62912000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6292
6293 * editfns.c (Fconstrain_to_field): Check carefully for field
6294 boundaries if either OLD_POS or NEW_POS has a non-nil field
6295 property, even if they're the same.
6296
c412cb7b
KH
62972000-10-16 Kenichi Handa <handa@etl.go.jp>
6298
6299 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6300 height for XFillRectangle.
6301
5586f3eb
SM
63022000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6303
6304 * syntax.c (Fstring_to_syntax): New function extracted from
6305 Fmodify_syntax_entry.
6306 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6307 (skip_chars, Fforward_comment): Remove unused variables.
6308 (syms_of_syntax): Add defsubr for string-to-syntax.
6309 (describe_syntax): Add code for comment and string fences.
6310
db785038
SM
63112000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6312
6313 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6314 Do the meta->esc mapping. Call get_keyelt before returning.
6315 Start scanning from the second element (the first is always `keymap')
6316 to make it easier to detect when we reach a parent map.
6317 Handle the case of inheriting from a symbol whose function is a map.
6318 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6319 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6320 (get_keyelt, Flookup_key): Update call to access_keymap.
6321 Remove the meta->esc mappings.
6322 (define_as_prefix): Delete old disabled code.
6323 (menu_item_p): New function.
6324 (where_is_internal_1): Skip over the few remaining menu items.
6325 * lisp.h (access_keymap): Update prototype.
6326 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6327 Update call to access_keymap.
6328 (follow_key, read_key_sequence): Update calls to access_keymap.
6329 Remove the meta->esc mappings.
6330
cafafe0b
GM
63312000-10-13 Gerd Moellmann <gerd@gnu.org>
6332
a2e2a7f6
GM
6333 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6334 with additional argument.
6335
cafafe0b
GM
6336 * xdisp.c (cursor_row_p): New function.
6337 (try_cursor_movement, display_line): Use it.
52283633 6338
cafafe0b
GM
6339 * xdisp.c (append_space): Also save/restore iterator's current
6340 character and its length.
6341
6342 * xdisp.c (init_from_display_pos): Add an assertion.
6343 (handle_stop): Don't set iterator's add_overlay_start.
6344 (handle_invisible_prop): Likewise.
6345 (load_overlay_strings): If text under an overlay is invisible,
6346 take both before- and after-strings into account when the iterator
6347 is positioned either at the start or at the end of the overlay.
6348 (forward_to_next_line_start): Rewritten.
6349 (reseat_at_next_visible_line_start): Rewritten.
6350 (set_iterator_to_next): Add parameter RESEAT_P.
6351
6352 * dispextern.h (struct it): Remove member add_overlay_start.
6353 (set_iterator_to_next): Change prototype.
6354
c744452b
KH
63552000-10-13 Kenichi Handa <handa@etl.go.jp>
6356
6357 * coding.c (code_convert_region): Be sure to initialize
6358 coding->category_idx.
e4a3f4e1
KH
6359 (decode_coding_string): Set coding->src_multibyte and
6360 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6361 (encode_coding_string): Set coding->src_multibyte and
6362 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6363
321fd26f
SM
63642000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6365
6366 * xfns.c (Fx_create_frame): Don't bother calling
6367 face-set-after-frame-default since the caller does it for us anyway.
6368
76832439
EZ
63692000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6370
6371 * window.c (coordinates_in_window): Fix detection of vertical line
6372 on character terminals.
6373
2483cf58
GM
63742000-10-12 Gerd Moellmann <gerd@gnu.org>
6375
6376 * editfns.c (save_excursion_save): Additionally record the
6377 selected window.
6378 (save_excursion_restore): If buffer was visible in a window, and a
6379 different window was selected, and the old selected window is
6380 still live, restore point in that window.
6381
eb991b25
KH
63822000-10-12 Kenichi Handa <handa@etl.go.jp>
6383
8a0eba09
KH
6384 * xterm.c (x_produce_glyphs): Handle
6385 unibyte_display_via_language_environment correctly.
6386
20401fcc
KH
6387 * regex.c (regex_compile): Change the way of handling a range from
6388 unibyte char to multibyte char.
6389
6390 * syntax.c (skip_chars): Change the way of handling a range from
6391 unibyte char to multibyte char.
6392
eb991b25
KH
6393 * process.c (read_process_output): Cancel previous change.
6394
365dd325
EZ
63952000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6396
c1b096cb
EZ
6397 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6398
365dd325
EZ
6399 * charset.c (Ffind_charset_string): Doc fix.
6400 (Ffind_charset_region): Doc fix.
6401
eb483c2b
KH
64022000-10-11 Kenichi Handa <handa@mule.m17n.org>
6403
6404 * process.c (read_process_output): Fix previous change. Adjust
6405 multibyteness of text to insert in a buffer by
52283633 6406 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6407
b40bfb99
AS
64082000-10-10 Andreas Schwab <schwab@suse.de>
6409
6410 * alloc.c (mark_object): Remove all workarounds installed on
6411 1993-08-08.
6412
caff31d4
KH
64132000-10-10 Kenichi Handa <handa@etl.go.jp>
6414
52283633 6415 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6416 (base64_encode_1): Make it work for a text of multibyte form.
6417 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6418 case. Don't call str_to_multibyte because base64_decode_1
6419 produces correct multibyte form for eight-bit codes.
52283633 6420 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6421 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6422 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6423 codes.
6424
6425 * charset.h (CHAR_STRING): Optimized for single byte characters.
6426
cba026ef
AS
64272000-10-09 Andreas Schwab <schwab@suse.de>
6428
6429 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6430 -1 after socket is closed, to fall through to error processing.
6431
1e21fe48
EZ
64322000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6433
6434 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6435 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6436 background-color, change also the colors of the default face for
6437 this frame.
6438
a640322e
EZ
64392000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6440
6441 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6442 them extern (they are defined on xfaces.c).
6443 (syms_of_msdos): Don't intern and don't staticpro
6444 Qbackground_color and Qforeground_color.
6445
a115794c
EZ
64462000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6447
6448 * frame.c (Fframe_parameter): For non-windowed frames, if
6449 f->param_alist says foreground or background color is unspecified,
6450 call tty_color_name to return the color name computed from the
6451 frame's current colors.
6452
f5533b63
DL
64532000-10-06 Dave Love <fx@gnu.org>
6454
6455 * terminfo.c (ospeed): Don't declare.
6456
6457 * sysdep.c: Don't include string.h.
6458 (h_errno): Declare conditional also on TRY_AGAIN.
6459
6460 * charset.c (Ffind_charset_string): Doc fix.
6461
52283633 6462 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6463 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6464 error messages.
6465
2b06561a
DL
64662000-10-05 Dave Love <fx@gnu.org>
6467
6468 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6469 position like menu-bar.
6470
ca839c85
GM
64712000-10-05 Gerd Moellmann <gerd@gnu.org>
6472
6473 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6474
6475 * xdisp.c (handle_single_display_prop): Use safe_call1.
6476 (safe_call): Renamed from call_function.
6477 (safe_call1): New function.
6478 (handle_fontified_prop): Use safe_call1 instead of call1.
6479 (safe_eval): Renamed from eval_form.
6480 (safe_eval_handler): Renamed from eval_handler.
6481 (handle_single_display_prop, display_mode_element): Use safe_eval
6482 instead of eval_form.
6483
6484 * xfaces.c (merge_face_heights): Use safe_call instead of
6485 call_function.
6486
6487 * keyboard.c (show_help_echo): Use safe_call instead of
6488 call_function; use safe_eval instead of eval_form.
6489
6490 * lisp.h (safe_call): Renamed from call_function.
6491 (safe_eval): Renamed from eval_form.
6492 (safe_call1): Add prototype.
6493
a3489ece
MB
64942000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6495
6496 * xfns.c (image_ascent): Rearrange ascent calculation for the
6497 has-a-font case.
6498
35810b6f
SM
64992000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6500
6501 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6502 (where_is_internal_1): Don't bother ignoring menu-items any more.
6503
3dc78168
GM
65042000-10-04 Gerd Moellmann <gerd@gnu.org>
6505
6506 * keyboard.c (update_menu_bindings): New variable.
6507 (parse_menu_item): Use AREF. If update_menu_bindings
6508 is 0, don't update menu bindings.
6509 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6510
1efc2bb9
EZ
65112000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6512
6513 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6514 to `mark_object'.
6515
3f679f55
SM
65162000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6517
6518 * syntax.c (forw_comment): Match nestedness of ender/starter.
6519 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6520 (prev_char_comstart_first): Remove.
6521 (back_comment): Check two-char comment markers more carefully
6522 to better handle overlapping cases like *//* or /* */* */ ...
6523 Match nestedness of ender/starter.
6524
2021ab61
DL
65252000-10-02 Dave Love <fx@gnu.org>
6526
6527 * config.in (HAVE_GAI_STRERROR): Add undef.
6528
6529 * process.c (Fopen_network_stream): Use it.
6530
6531 * m/alpha.h (NO_REMAP): Don't define.
6532
64e6cc18
GM
65332000-10-02 Gerd Moellmann <gerd@gnu.org>
6534
6535 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6536 return with a string converted to an integer or vice versa when
6537 Vmocklisp_arguments is t.
6538 (Fsignal): Likewise. The function can return for `quit'.
6539 (struct gcpro): Declare member `var' to point to a volatile
6540 Lisp_Object.
6541
6542 * eval.c (error): Prevent compiler warning.
6543
b1904cd9
SM
65442000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6545
6546 * keymap.c (keymap_memberp): New function.
6547 (Fset_keymap_parent): Use it.
6548 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6549 Use keymap_memberp to avoid creating cycles.
6550 (access_keymap): Use KEYMAPP.
6551
71c9ec51
GM
65522000-09-30 Gerd Moellmann <gerd@gnu.org>
6553
6554 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6555 gai_strerror. Make sure xerrno is set if connect fails. Improve
6556 error recovery.
71c9ec51 6557
c70c6b58
JR
65582000-09-29 Jason Rumney <jasonr@gnu.org>
6559
6560 * w32term.c (w32_char_font_type, w32_encode_char)
6561 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6562 (w32_bdf_per_char_metric): New function.
6563 (w32_per_char_metric): Use it.
6564 (x_draw_glyph_string_background): Always draw background for BDF
6565 glyphs.
6566
6567 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6568 GDI object which is a scarce resource.
6569
6570 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6571 (get_quoted_string): Fix limit on memchr search.
6572 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6573 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6574 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6575 (get_cached_font_char, cache_char_offset): Use macro
6576 BDF_CODEPOINT_RANGE_COVER_P.
6577 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6578 (clear_cached_bitmap_slots): New function.
6579 (GET_HEX_VALUE): G-Z, g-z are not hex.
6580 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6581 (get_bitmap_with_cache): Use new cache implementation.
6582 (create_offscreen_bitmap): New function.
6583 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6584
6585 * w32term.c (x_produce_glyphs): If the distance from the current
6586 position to the next tab stop is less than a canonical character
6587 width, use the tab stop after that.
6588 (x_draw_glyphs): Handle case START and END are out of bounds more
6589 carefully.
6590 (x_clear_mouse_face): Block/unblock input.
6591 (x_display_and_set_cursor): Don't show a hollow box cursor for
6592 buffers whose cursor_type is nil.
6593
fe01239f
GM
65942000-09-29 Gerd Moellmann <gerd@gnu.org>
6595
52283633 6596 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6597
6598 * dispextern.h (updating_frame): Declare extern.
6599
e7c52f1f
AS
66002000-09-29 Andreas Schwab <schwab@suse.de>
6601
6602 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6603
de6e1f7c
GM
66042000-09-29 Gerd Moellmann <gerd@gnu.org>
6605
25126faa
GM
6606 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6607 use its function definition.
6608 (tool_bar_items): Likewise.
6609
de6e1f7c 6610 * lisp.h (fatal): Declare NO_RETURN.
52283633 6611
454ee39b
KH
66122000-09-29 Kenichi Handa <handa@etl.go.jp>
6613
6614 * keymap.c: Remove the line "#undef NULL".
6615
96301c5f
GM
66162000-09-28 Gerd Moellmann <gerd@gnu.org>
6617
52283633 6618 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6619
efffeeb4
DL
66202000-09-28 Dave Love <fx@gnu.org>
6621
ecb8b666
DL
6622 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6623
dc3cd20f
DL
6624 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6625
6626 * .gdbinit (xreload): Note its need on GNU/Linux.
6627
efffeeb4
DL
6628 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6629 r_alloc, r_alloc_free.
6630
8610d903
KH
66312000-09-28 Kenichi Handa <handa@etl.go.jp>
6632
6633 * syntax.c (skip_chars): Handle negation correctly.
6634
8901d1ac
GM
66352000-09-27 Gerd Moellmann <gerd@gnu.org>
6636
6f22f1ad
GM
6637 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6638 with non-zero FORCE_P argument.
6639
52283633 6640 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6641 Add assertions.
6642
6643 * xdisp.c (window_box_height): Add an assertion.
6644
6645 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6646 tool-bar than is available.
6647 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6648
36f1966f
DL
66492000-09-27 Dave Love <fx@gnu.org>
6650
efffeeb4 6651 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6652
31d929e5
GM
66532000-09-26 Gerd Moellmann <gerd@gnu.org>
6654
c98863bf
GM
6655 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6656 instead of BITS_PER_INT.
6657 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6658 EMACS_UINT, respectively.
6659 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6660
6661 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6662
6663 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6664
77072ab1
GM
6665 * window.c (freeze_window_starts): Construct last argument for
6666 foreach_window differently.
6667
6668 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6669
6670 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6671 EMACS_UINT instead of `int' and `unsigned int'.
6672 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6673
6674 * frame.h (struct frame): Make the `nothing' member of union
6675 output_data an EMACS_INT.
6676
52283633 6677 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6678 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6679 size in the sdata structure.
6680 (SDATA_NBYTES, SDATA_DATA): New macros.
6681 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6682 differently for the different layout of the sdata structure.
6683 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6684 in sdata.
6685 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6686 Check that size recorded in the string size and size recorded in
6687 the sdata structure agree.
6688
3e60b029
DL
66892000-09-25 Dave Love <fx@gnu.org>
6690
6691 * buffer.c: Include stdio.h.
6692
6693 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6694
3e60b029
DL
6695 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6696
6697 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6698 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6699 (__malloc_extra_blocks): Declare as __malloc_size_t.
6700
8ff16b4e
GM
67012000-09-25 Gerd Moellmann <gerd@gnu.org>
6702
755a2ccd
GM
6703 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6704
d8b4516f
GM
6705 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6706 (read_char): If help-echo is showing, preserve the echo area
6707 when redisplaying.
6708
6709 * xdisp.c (help_echo_showing_p): New variable.
6710 (set_message): Reset it to 0.
6711 (init_xdisp): Initialize help_echo_showing_p.
6712
6713 * dispextern.h (help_echo_showing_p): Declare extern.
6714
6715 * config.in: Fix typo in __GNUC_MINOR__.
6716
6717 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6718
b11af2dd
GM
6719 * s/freebsd.h (POSIX_SIGNALS): Define.
6720
8ff16b4e
GM
6721 * xterm.c (x_clear_mouse_face): Block/unblock input.
6722
844eb643
DL
67232000-09-24 Dave Love <fx@gnu.org>
6724
6725 * fns.c (base64_encode_1): Fix last change.
6726
b30ab1b3
GM
67272000-09-22 Gerd Moellmann <gerd@gnu.org>
6728
6729 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6730
6731 * xdisp.c (try_window_reusing_current_matrix): More fixes
6732 for the case window has a header-line.
6733
c6cbe5f0
DL
67342000-09-22 Dave Love <fx@gnu.org>
6735
4c7c1f3f
DL
6736 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6737 a doc string.
6738
6739 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6740
c6cbe5f0
DL
6741 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6742
550a625e
GM
67432000-09-21 Gerd Moellmann <gerd@gnu.org>
6744
4c7c1f3f 6745 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6746 for GCC >= 2.5.
6747
52283633
SM
6748 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6749 Declare NO_RETURN.
fca99116 6750
80d26f99
GM
6751 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6752 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6753 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6754 warnings.
52283633 6755
80d26f99
GM
6756 * marker.c (byte_char_debug_check): Return void.
6757
623a0aae
GM
6758 * xfns.c (Fx_create_frame): Set default frame parameter value
6759 for tool-bar-lines to 1.
6760
6761 * dispnew.c (scrolling_window): Compare y-positions of rows
6762 equal at the start. Some simplification.
6763
6764 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6765 reused rows' y-position in the case window has a header-line, and
6766 new window start is greater than old window start.
6767
42ac0ae5
GM
6768 * process.c (process_sent_to): New variable.
6769 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6770 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6771 Declare more parameters volatile.
6772
550a625e
GM
6773 * lread.c (Vrecursive_load_depth_limit): New variable.
6774 (Fload): Check recursive loads whose recursion depth exceeds
6775 Vrecursive_load_depth_limit.
6776 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6777
8320414c
GM
67782000-09-20 Gerd Moellmann <gerd@gnu.org>
6779
f46c275e
GM
6780 * fileio.c (Fread_file_name): Doc fix.
6781
6782 * editfns.c (Fmessage_or_box): Doc fix.
6783
6784 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6785
b7e11c5b 6786 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6787
8320414c
GM
6788 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6789 symbols are specified, add color translations to the cache.
52283633 6790 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6791 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6792 xpm_cache_color.
6793 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6794 structures to xpm_init_color_cache.
6795
da1608d9
GM
67962000-09-19 Gerd Moellmann <gerd@gnu.org>
6797
52283633 6798 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6799
6badfa25
AI
68002000-09-19 Andrew Innes <andrewi@gnu.org>
6801
6802 * makefile.nt (bootstrap-emacs): Don't change directory.
6803
3a5f42bb
KH
68042000-09-19 Kenichi Handa <handa@etl.go.jp>
6805
1b7649bd
KH
6806 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6807
3a5f42bb
KH
6808 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6809 If output buffer is too small, signal an appropriated error.
6810
9f83cf0b
DL
68112000-09-18 Dave Love <fx@gnu.org>
6812
52283633 6813 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6814 (current_active_maps): Remove redundant get_local_map call.
6815
28c7826c
GM
68162000-09-18 Gerd Moellmann <gerd@gnu.org>
6817
5cefa566
GM
6818 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6819 cursor for buffers whose cursor_type is nil.
52283633 6820
6fed3546
GM
6821 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6822 a feature to implement that is already implemented.
6823 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6824 warnings.
6825
6826 * xfns.c (x_clear_image_1): New function.
6827 (x_clear_image): Use it.
52283633 6828 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6829
05b1f851
GM
6830 * dispnew.c (update_window): Move test for invisible lines
6831 at the top to update_window_line.
6832 (update_window_line): Handle invisible lines here.
6833
f4779de9
GM
6834 * xfns.c (clear_image_cache): Clear current matrices of all
6835 frames sharing an image cache. Block input while freeing
6836 images. Fix timestamp comparison.
6837 (x_clear_image): Also free the mask.
6838
28c7826c
GM
6839 * xfns.c (lookup_image): Block input while loading the image so
6840 that we won't get interrupted in a state where the image isn't yet
6841 set up completely.
6842 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6843 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6844 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6845 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6846
b7412313
GM
68472000-09-16 Gerd Moellmann <gerd@gnu.org>
6848
6849 * dispnew.c (update_window): Make sure to make desired rows
6850 current even if they are completely invisible at the top
6851 of a window.
6852
47e351a3
GM
68532000-09-15 Gerd Moellmann <gerd@gnu.org>
6854
7f8f1edc
GM
6855 * xfns.c (lookup_image): Build mask before applying an algorithm.
6856 Recognize algorithm `disabled'.
6857 (cross_disabled_images): New variable.
6858 (COLOR_INTENSITY): New macro.
6859 (x_detect_edges): Use COLOR_INTENSITY.
6860 (x_disable_image): New function.
6861 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6862
6863 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6864 disabled state, don't apply an image transformation algorithm if
6865 the user specified an image for the disabled state. Use
28c7826c 6866 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6867 user hasn't specified an image.
6868
ebb8f116
GM
6869 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6870 allocation functions with the XPM lib.
6871 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6872 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6873 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6874 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6875 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6876 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6877 functions, if possible, because these handle color allocation
6878 failure more gracefully.
6879 (Fimage_mask_p): New function.
6880
47e351a3
GM
6881 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6882 (Qedge_detection, Qheuristic): New symbols.
6883 (syms_of_xfns): Initialize new symbols.
6884 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6885 `algorithm (edge-detection ...)'.
6886 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6887 (tiff_format, gif_format, gs_format): Add `:mask'.
6888 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6889 (GIF_MASK, GS_MASK): New enumerators.
6890 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6891 (emboss_matrix, laplace_matrix): New variables.
6892 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6893 (x_edge_detection): New functions.
6894 (x_laplace): Rewritten in terms of x_detect_edges.
6895 (x_build_heuristic_mask): If image has a mask, free it.
6896
fe83b953
AI
68972000-09-14 Andrew Innes <andrewi@gnu.org>
6898
6899 * makefile.w32-in: Revert to Unix line endings.
6900
3021e816
AI
69012000-09-14 Andrew Innes <andrewi@gnu.org>
6902
6903 * makefile.w32-in: Standardize indentation somewhat.
6904 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6905 cater for differences between shells.
6906
6907 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6908
2a32b5ea
GM
69092000-09-14 Gerd Moellmann <gerd@gnu.org>
6910
6911 * xterm.c (x_produce_glyphs): If the distance from the current
6912 position to the next tab stop is less than a canonical character
6913 width, use the tab stop after that.
6914
b4331e96
DL
69152000-09-14 Dave Love <fx@gnu.org>
6916
6917 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6918
ef9e4345
GM
69192000-09-14 Gerd Moellmann <gerd@gnu.org>
6920
085536c2
GM
6921 * xdisp.c (handle_fontified_prop): While running fontification
6922 functions, bind `fontification-functions' and
6923 `after-change-functions' to nil.
6924
ef9e4345
GM
6925 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6926 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6927
6928 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6929
6930 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6931 USE_MMAP_FOR_BUFFERS.
6932
6933 * insdel.c (make_gap): Use enlarge_buffer_text.
6934
6935 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6936 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6937 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6938 from former r_alloc_* functions in ralloc.c.
52283633 6939 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6940 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6941 (mmap_init) [REL_ALLOC_MMAP]: New function.
6942 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6943 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6944 BUFFER_FREE.
6945
6946 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6947 (enlarge_buffer_text): Add prototype.
6948
6949 * ralloc.c: Remove everything having to do with the use of mmap.
6950
f8608968
GM
69512000-09-13 Gerd Moellmann <gerd@gnu.org>
6952
2a494b2d
GM
6953 * sound.c (Fplay_sound): Doc fix.
6954
8c907a56
GM
6955 * keyboard.c: Avoid some more compiler warnings.
6956 (parse_tool_bar_item): Ignore cached key bindings.
6957
f8608968
GM
6958 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6959 and allocation of Lisp data.
6960
6ab70e9a
GM
69612000-09-12 Gerd Moellmann <gerd@gnu.org>
6962
d12d0a9b
GM
6963 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6964 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6965 defaults first.
6966
6ab70e9a
GM
6967 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6968
63c36c3c
KH
69692000-09-12 Miyashita Hisashi <himi@meadowy.org>
6970
6971 * ccl.c: Comment fixed.
6972 (MAX_MAP_SET_LEVEL): Increased to 30.
6973 (PUSH_MAPPING_STACK): Enclose with do-while block.
6974 (POP_MAPPING_STACK): Likewise.
6975 (stack_idx_of_map_multiple): New variable.
6976 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6977 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6978 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6979 (ccl_driver) <CCL_MapSingle>: Likewise.
6980 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6981 with the case where looking up process reaches to the end of
6982 map-set, and call CCL programs as the above change.
6983
7ee3bd7b
GM
69842000-09-11 Gerd Moellmann <gerd@gnu.org>
6985
8ec8a5ec
GM
6986 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6987 that might be clobbered by longjmp.
6988 (check_x_display_info, x_decode_color, create_frame_xic)
6989 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6990 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6991
f74b0705
GM
6992 * lread.c (init_lread): Set Vloads_in_progress to nil.
6993 (Fload): Show list of recursively loaded files, when signaling an
6994 error.
6995
7ee3bd7b
GM
6996 * lread.c (Vloads_in_progress): New variable.
6997 (record_load_unwind): New function.
6998 (Fload): Check for recursive loads.
6999 (syms_of_lread): Initialize Vloads_in_progress.
7000 (read_integer, read1): Avoid some compiler warnings.
7001
7002 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7003 compiler warnings.
7004
974e1e5b
MB
70052000-09-11 Miles Bader <miles@gnu.org>
7006
7007 * editfns.c (Fbuffer_string): Doc fix.
7008
9824c4e3
GM
70092000-09-10 Gerd Moellmann <gerd@gnu.org>
7010
7011 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7012
6a72fdd1
KR
70132000-09-09 Ken Raeburn <raeburn@gnu.org>
7014
7015 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7016 whether to include other header files.
7017
28e6fb66
GM
70182000-09-09 Gerd Moellmann <gerd@gnu.org>
7019
52283633 7020 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7021 by Fmemq as a boolean.
28e6fb66 7022
7f8b6551
SM
70232000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7024
7025 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7026
a8710abf
GM
70272000-09-08 Gerd Moellmann <gerd@gnu.org>
7028
d1a02881
GM
7029 * ralloc.c (mmap_fd): Remove initializer which can make it
7030 read-only in a dumped Emacs.
7031 (mmap_fd_1): New variable.
7032 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7033 restore it from there.
7034 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7035 unconditionally so that mmap_fd can be initialized there.
7036 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7037 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7038 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7039
c454aac1
GM
7040 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7041
7042 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7043 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7044
fc653ef2
GM
7045 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7046
3015eec0
GM
7047 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7048 inheritance.
7049
bfe0ee88
GM
7050 * xdisp.c (try_window_id): When trying to locate cursor in
7051 unchanged rows at the top, handle the case that we can't find it.
7052
a8710abf
GM
7053 * xterm.c (x_draw_glyphs): Handle case START and END are out
7054 of bounds more carefully.
7055
6b7d4ae4
DL
70562000-09-08 Dave Love <fx@gnu.org>
7057
423193c5
DL
7058 * s/sol2.h (REL_ALLOC_MMAP): Define.
7059 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7060
7061 * ralloc.c: Don't include string.h (redundant).
7062 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7063 [!MAP_ANON]: Include fcntl.h.
7064 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7065 (r_alloc, r_re_alloc, r_alloc_free)
7066 (mmap_enlarge, mmap_set_vars): Use it.
7067 (r_alloc_init_fd): New function.
7068 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7069 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7070 malloc type.
7071
7072 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7073 Remove vm-limit.o.
7074
6b7d4ae4
DL
7075 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7076 change to __NetBSD__.
7077
44d31981
KH
70782000-09-08 Kenichi Handa <handa@etl.go.jp>
7079
7080 * search.c (compile_pattern): Check the multibyteness of cached
7081 string and PATTERN.
7082
aad40737
MB
70832000-09-08 Miles Bader <miles@gnu.org>
7084
7085 * xfaces.c (default_face_vector): Function removed.
7086 (Finternal_merge_in_global_face): Restore old global/local
7087 attribute override order. Use inline loop instead of calling
7088 default_face_vector.
7089
91a211b5
GM
70902000-09-07 Gerd Moellmann <gerd@gnu.org>
7091
7092 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7093 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7094 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7095 where necessary, in case POINTER_TYPE is `void'.
7096
03419440
EZ
70972000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7098
7099 * frame.c (make_terminal_frame): Initialize frame foreground and
7100 background colors to unspecified, for the initial instance of an
7101 MSDOS frame.
7102
f46f845b
GM
71032000-09-07 Gerd Moellmann <gerd@gnu.org>
7104
24f76fbf
GM
7105 * ralloc.c (mmap_find): Fix overlap computation.
7106 (mmap_enlarge): Compute nbytes before trying to find an
7107 overlapping region.
7108
f46f845b
GM
7109 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7110 instead of `!='.
7111
7112 * lread.c (syms_of_lread): Change value of regexp
7113 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7114
7115 * xmenu.c (xdialog_show): When looking up the selection in
7116 menu_items, take `quote' boundaries into account; this corresponds
7117 to a nil ITEM in x-popup-dialog.
7118
3c014385
KH
71192000-09-07 Kenichi Handa <handa@etl.go.jp>
7120
fd6f711b
KH
7121 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7122 not 0x81.
7123 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7124
3c014385 7125 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7126 encoding, not decoding. Fix the handling of latin-jisx0201.
7127 Check for the charset katakana-jisx0201 too.
3c014385 7128 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7129 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7130
0da3ecef
GM
71312000-09-07 Gerd Moellmann <gerd@gnu.org>
7132
ab0ee409
GM
7133 * xfaces.c (Vparam_value_alist): New variable.
7134 (syms_of_xfaces): Initialize it.
7135 (Finternal_set_lisp_face_attribute): Avoid more consing.
7136
7137 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7138 specially.
7139 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7140 (Qbackground_mode): New variable.
7141 (syms_of_frame_1): Initialize Qbackground_mode.
7142
7143 * lisp.h (Qdisplay): Declare extern.
1091dd67 7144
0da3ecef
GM
7145 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7146 change face on all frames, and change the default for new frames.
7147
b14654b9
DL
71482000-09-07 Dave Love <fx@gnu.org>
7149
7150 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7151
d24fd56f
KH
71522000-09-07 Kenichi Handa <handa@etl.go.jp>
7153
794f3670
KH
7154 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7155
0fddd0dc
KH
7156 * charset.c: Include composite.h
7157 (lisp_string_width): New function.
7158 (Fstring_width): Call lisp_string_width instead of strwidth.
7159
7160 * Makefile.in (charset.o): Depends on composite.h.
7161
d24fd56f
KH
7162 * process.c (read_process_output): Before inserting the decoded
7163 text in the buffer, adjust the multibyteness.
7164
fa0b693c
GM
71652000-09-06 Gerd Moellmann <gerd@gnu.org>
7166
52283633 7167 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7168 buffer's text buffer is null, map new memory.
7169
0a58f946
GM
7170 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7171 POINTER_TYPE and size_t.
7172 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7173 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7174 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7175 [REL_ALLOC_MMAP]: New macros.
7176 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7177 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7178 [REL_ALLOC_MMAP]: New functions.
7179
7180 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7181 before and after unexec.
7182
7183 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7184 text buffers if necessary.
7185
7186 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7187 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7188 in prototypes.
7189
fa0b693c
GM
7190 * config.in (HAVE_MMAP): Add #undef.
7191
877055f6
GM
71922000-09-05 Gerd Moellmann <gerd@gnu.org>
7193
08ba3862
GM
7194 * frame.c (Qdisplay_type): New variable.
7195 (syms_of_frame_1): Initialize it.
7196 (Fframe_parameter): New function that avoids consing.
7197 (syms_of_frame): Defsubr it.
7198
66ffe51c
GM
7199 * buffer.c (Fother_buffer): Consider buffers as invisible when
7200 they are displayed in a window on an invisible frame.
7201
877055f6
GM
7202 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7203 get-largest-window always return nil.
7204
bb970e67
GM
72052000-09-04 Gerd Moellmann <gerd@gnu.org>
7206
7207 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7208 variable; recognize Emacs 19 elc files.
7209
7a3d0e0e
MB
72102000-09-04 Miles Bader <miles@gnu.org>
7211
7212 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7213 before initially popping up the menu, so the menu doesn't flash
52283633 7214 when the face settings are significantly different from the defaults.
7a3d0e0e 7215
14473664
SM
72162000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7217
7218 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7219 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7220 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7221 (BIT_UNIBYTE): Remove.
7222 (re_match_2_internal): Delete corresponding code and streamline the
7223 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7224 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7225 (re_wctype_t): New type.
7226 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7227 (regex_compile): Use them and fix handling of overly long char classes.
7228
c1174479
AI
72292000-09-03 Andrew Innes <andrewi@gnu.org>
7230
f8803e97
AI
7231 * makefile.w32-in: Change to DOS line endings.
7232
c1174479
AI
7233 * s/ms-w32.h (ORDINARY_LINK): New define.
7234
7235 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7236 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7237
7238 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7239 (distclean): Delete them here instead.
7240
44ef7cf6
AI
7241 * w32proc.c (compare_env): Convert to uppercase for comparison,
7242 not lowercase, to match how the native Windows shell works.
7243
49b3bd82
JR
72442000-09-03 Jason Rumney <jasonr@gnu.org>
7245
7246 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7247 CVS changes the line-ends when checking in/out on DOS/Windows.
7248
7249 * makefile.nt (emacs): Do not change directory to run temacs, as
7250 the load-path is set relative to current directory.
7251
a3d35a39
MB
72522000-09-03 Miles Bader <miles@gnu.org>
7253
7254 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7255
d276b0cf
GM
72562000-09-02 Gerd Moellmann <gerd@gnu.org>
7257
715e84c9
GM
7258 * xdisp.c (redisplay_mode_lines): New function.
7259 (display_mode_lines): Return number of mode lines displayed.
7260 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7261 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7262
8892f40b
GM
7263 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7264 string.h and strings.h.
7265 (index) [HAVE_INDEX]: Add prototype.
7266
d276b0cf
GM
7267 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7268 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7269
7270 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7271 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7272
38404229
GM
72732000-09-01 Gerd Moellmann <gerd@gnu.org>
7274
7275 * lread.c (read1): Accept `?' as symbol constituent, for
7276 compatiblity with XEmacs.
7277
c0f9ea08
SM
72782000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7279
7280 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7281 (struct re_pattern_buffer): Remove newline_anchor.
7282 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7283 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7284 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7285 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7286 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7287 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7288 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7289 Get rid of references to newline_anchor.
7290 (regcomp): Allocate and precompute a fastmap.
7291
8c0f83fe
GM
72922000-08-31 Gerd Moellmann <gerd@gnu.org>
7293
7294 * lread.c (openp): GCPRO local variable `filename'.
7295
4bb91c68
SM
72962000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7297
7298 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7299
7300 * regex.c: Merge some changes from GNU libc. Add prototypes.
7301 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7302 Use memcmp and memcpy instead of bcopy and bcmp.
7303 (init_syntax_once): Use ISALNUM.
7304 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7305 (REG_UNSET_VALUE): Remove. Use NULL instead.
7306 (REG_UNSET, re_match_2_internal): Use NULL.
7307 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7308 New macros.
7309 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7310 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7311 (regex_compile): In handle_interval, return an error rather than try to
7312 unfetch the interval if we can't find the closing brace.
7313 Obey the RE_NO_GNU_OPS syntax bit.
7314 (TOLOWER): New macro.
7315 (regcomp): Use it.
7316 (regexec): Allocate regs.start and regs.end as one block.
7317
5226a931
GM
73182000-08-30 Gerd Moellmann <gerd@gnu.org>
7319
868dd24b
GM
7320 * xdisp.c (echo_area_display): Check display_completed instead
7321 of calling detect_input_pending.
7322
7323 * dispnew.c (update_frame): Only set display_completed here; move
7324 the update_begin and update_end calls here from update_frame_1.
7325 (update_frame_1): Don't set display_completed here, don't call
7326 update_begin/update_end.
7327
5226a931
GM
7328 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7329 instead of store_frame_param.
7330
2a8bd25f
GM
73312000-08-29 Gerd Moellmann <gerd@gnu.org>
7332
7333 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7334 desired window matrix hasn't been displayed, use the current row
7335 instead. Make sure that only those frame rows are updated for
7336 which there exists a corresponding enabled desired row.
52283633 7337
ba3478d9
MB
73382000-08-29 Miles Bader <miles@gnu.org>
7339
7340 * xfaces.c (default_face_vector): New function.
7341 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7342
87d0f685
GM
73432000-08-29 Gerd Moellmann <gerd@gnu.org>
7344
7345 * lread.c (openp): Prevent temporary string passed to
7346 Ffile_readable_p from being garbage collected.
7347
6fa86045
DL
73482000-08-28 Dave Love <fx@gnu.org>
7349
7350 * keymap.c (store_in_keymap): Add `static' to declaration.
7351
bb17930d
GM
73522000-08-28 Gerd Moellmann <gerd@gnu.org>
7353
7354 * emacs.c, callint.c, doc.c, editfns.c
7355 (toplevel) [HAVE_STRING_H]: Include string.h.
7356 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7357 (index): Remove prototypes which might conflict with non-standard
7358 definitions of index/strchr.
7359
7360 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7361 (rindex): Define only if !HAVE_RINDEX.
7362
7363 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7364
7365 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7366
87188200
MB
73672000-08-28 Miles Bader <miles@gnu.org>
7368
7369 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7370 made inconsistent by a font-related attribute in FROM.
7371 (merge_face_inheritance): Add function comment.
7372
41a68aef
KH
73732000-08-28 Kenichi Handa <handa@etl.go.jp>
7374
7375 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7376 the 4th arg (PREV_EVENT) Qt to suppress input method.
7377
f7c436c1
SM
73782000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7379
0b32bf0e
SM
7380 * regex.c: Indent cpp directives and remove parens after `defined'.
7381 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7382 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7383 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7384 (re_compile_pattern): Use size_t for length.
7385 (init_syntax_once): Move to a better place.
7386 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7387 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7388
f7c436c1
SM
7389 * syntax.c (back_comment): Detect cases where a comment-starter is
7390 actually inside another comment as in: /* a // b */ c // d \n.
7391 Make it clear that `comstart_pos' is unused for nested comments.
7392
7393 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7394 (KEYMAPP): New macro.
7395 (Fkeymap_parent, Fset_keymap_parent): Use it.
7396 (fix_submap_inheritance): Mark it static.
7397 (define_as_prefix, describe_buffer_bindings, describe_command)
7398 (describe_translation, describe_map): Complete prototypes.
7399
7400 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7401
7402 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7403 to better match the key-lookup behavior.
7404
6288c62f
GM
74052000-08-27 Gerd Moellmann <gerd@gnu.org>
7406
7407 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7408 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7409
e931344e
EZ
74102000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7411
7412 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7413 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7414 (xterm.o): Depend on coding.h
7415
d10dfeef
KH
74162000-08-26 Kenichi Handa <handa@etl.go.jp>
7417
7418 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7419 the corresponding '#endif'.
7420
2d73e8d3
MB
74212000-08-26 Miles Bader <miles@gnu.org>
7422
7423 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7424 * xfaces.c (QCinherit): New variable.
7425 (syms_of_xfaces): Initialize it.
7426 (LFACE_INHERIT): New macro.
7427 (Finternal_get_lisp_face_attribute)
52283633 7428 (merge_face_vector_with_property)
2d73e8d3
MB
7429 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7430 (check_lface_attrs): Allow new types of face height. Check
7431 inherit attribute.
7432 (CYCLE_CHECK): New macro.
7433 (merge_face_inheritance): New function.
7434 (merge_face_vectors): Merge inherited faces too. Add F and
7435 CYCLE_CHECK arguments.
7436 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7437 (lookup_named_face, lookup_derived_face, realize_named_face)
7438 (face_at_string_position, face_at_buffer_position): Supply
7439 new F and CYCLE_CHECK arguments to merge_face_vectors.
7440 (merge_face_heights): New function.
52283633 7441 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7442 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7443 handle relative face heights.
7444 (lface_same_font_attributes_p): Compare heights using EQ.
7445
6ce974d4
KH
74462000-08-26 Kenichi Handa <handa@etl.go.jp>
7447
7448 * charset.c (char_to_string): Check the character validity.
52283633 7449 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7450
dc1e502d
SM
74512000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7452
7453 * regex.c (PUSH_FAILURE_COUNT): New macro.
7454 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7455 Handle popping of a register's or a counter's data.
7456 (POP_FAILURE_POINT): Use the new name.
7457 (re_match_2_internal): Push counter data on the stack for succeed_n,
7458 jump_n and set_number_at and remove misleading dead code in succeed_n.
7459
bd9d0f3f
GM
74602000-08-25 Gerd Moellmann <gerd@gnu.org>
7461
7462 * xdisp.c (redisplay_internal): If considering all windows on all
7463 frames, update the display for each frame as soon as possible,
7464 instead of first building all desired matrices for all frames, and
7465 then updating them all.
7466 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7467
aa5b8e15
GM
74682000-08-24 Gerd Moellmann <gerd@gnu.org>
7469
17494071
GM
7470 * bytecode.c (mark_byte_stack): Add a comment.
7471
52283633
SM
7472 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7473 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7474 a graphical frame.
7475
c543db81
KH
74762000-08-24 Kenichi Handa <handa@etl.go.jp>
7477
d246d5f5
KH
7478 * minibuf.c (do_completion): Always use compare-string, not
7479 string-equal because the latter doesn't pay attention to
7480 multibyteness of strings.
7481
c543db81
KH
7482 * process.c (create_process): Don't setup raw-text coding here.
7483 (Fopen_network_stream): Don't set coding->src_multibyte and
7484 coding->dst_multibyte here.
7485 (read_process_output): For process filter, return unibyte string
7486 if default-enable-multibyte-characters is nil.
7487 (send_process): If OBJECT is multibyte text, be sure to encoded it
7488 by the specified coding system for the process. Otherwise, setup
7489 raw-text coding.
52283633 7490 (init_process): Don't initialize default-process-coding-system here.
c543db81 7491
9b47cfe0
EZ
74922000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7493
7494 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7495 <scroll-down-aggressively>: Likewise.
7496
f5a36960
KH
74972000-08-23 Kenichi Handa <handa@etl.go.jp>
7498
7499 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7500 zero. Set coding->produced_char correctly.
7501
69a7ffa7
AI
75022000-08-22 Andrew Innes <andrewi@gnu.org>
7503
7504 * makefile.w32-in: New file.
7505
7506 * unexw32.c (unexec): Ignore old_name, and use the actual location
7507 of the current executable instead. Base new_name on this.
7508
7509 * w32proc.c (create_child): Remove reference to security
7510 descriptor, which isn't needed and doesn't compile with mingw32.
7511
7512 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7513 up dllimport attributes.
7514 (x_update_window_end): Update prototype.
7515
7516 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7517 extern, which screws up dllimport attributes.
7518
7519 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7520 up dllimport attributes.
7521
7522 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7523 screws up dllimport attributes.
7524
7525 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7526 up dllimport attributes.
7527 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7528 screws up dllimport attributes.
7529
7530 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7531 up dllimport attributes.
7532
7533 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7534 screws up dllimport attributes.
7535
7536 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7537 screws up dllimport attributes.
7538
7539 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7540 up dllimport attributes.
7541
7542 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7543 unnecessary extern, which screws up dllimport attributes.
7544 (main): Ditto.
7545
7546 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7547 up dllimport attributes.
7548
7549 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7550 unnecessary extern, which screws up dllimport attributes.
7551
7552 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7553 screws up dllimport attributes.
7554
7555 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7556 up dllimport attributes.
7557
7558 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7559
52283633
SM
7560 * w32bdf.c (search_file_line):
7561 (set_bdf_font_info):
7562 (seek_char):
7563 (w32_get_bdf_glyph):
69a7ffa7
AI
7564 (w32_BDF_to_x_font): Fix compile warnings.
7565
52283633 7566 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7567
7568 * w32select.c: Include keyboard.h before frame.h.
7569
7570 * w32fns.c (max): Define macro.
7571 (JOHAB_CHARSET): Define if not known.
7572 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7573 (Fx_show_tip): Synch with X version.
7574
7575 * w32xfns.c: Include keyboard.h before frame.h.
7576
7577 * w32fns.c: Include keyboard.h before frame.h.
7578
7579 * w32term.c: Include keyboard.h before frame.h.
7580
7581 * fontset.c: Include keyboard.h before frame.h.
7582
7583 * w32inevt.c: Include keyboard.h before frame.h.
7584 (MOUSE_MOVED): Define if not known.
7585
7586 * minibuf.c: Include keyboard.h before frame.h.
7587
7588 * keyboard.c: Include keyboard.h before frame.h.
7589
7590 * indent.c: Include keyboard.h before frame.h.
7591
7592 * dispnew.c: Include keyboard.h before frame.h.
7593
7594 * buffer.c: Include keyboard.h before frame.h.
7595
7596 * alloc.c: Include keyboard.h before frame.h.
7597
7598 * print.c: Include keyboard.h before frame.h.
7599
7600 * process.c: Include keyboard.h before frame.h.
7601
7602 * scroll.c: Include keyboard.h before frame.h.
7603
7604 * sysdep.c: Include keyboard.h before frame.h.
7605
7606 * term.c: Include keyboard.h before frame.h.
7607
7608 * window.c: Include keyboard.h before frame.h.
7609
7610 * xdisp.c: Include keyboard.h before frame.h.
7611 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7612
7613 * frame.c: Include keyboard.h before frame.h.
7614
7615 * w32heap.h: Undefine min, max.
7616
7617 * w32gui.h: Undefine min, max.
7618
7619 * unexw32.c: Change PUCHAR to PCHAR.
7620 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7621 (relocate_offset):
7622 (get_section_info):
69a7ffa7
AI
7623 (copy_executable_and_dump_data): Remove unnecessary static defs.
7624 (copy_executable_and_dump_data): Fix compile warnings.
7625
7626 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7627
7628 * w32console.c (min): Define macro.
7629 (clear_frame, write_glyphs): Fix compile warning.
7630
52283633 7631 * w32proc.c (compare_env):
69a7ffa7
AI
7632 (find_child_console): Fix compile warning.
7633
7634 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7635 sys_errlist instead of _sys_errlist.
7636 (get_emacs_configuration_options): New function.
7637
7638 * s/ms-w32.h (sys_nerr): Provide default definition.
7639 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7640 name with _ prepended.
7641 (NSIG): Define if not known.
7642 (get_emacs_configuration): Provide extern declaration.
7643 (get_emacs_configuration_options): Provide extern declaration.
7644 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7645
7646 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7647 (map_w32_filename):
69a7ffa7
AI
7648 (read_unc_volume): Fix compile warning.
7649
7650 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7651 definitions from being used.
7652
7653 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7654
52283633 7655 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7656 (open_unc_volume): Make arg const.
7657
7658 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7659 (read_input_waiting): Remove excess parameter.
7660
7661 * w32.c (init_environment): Call _access.
7662 (check_windows_init_file): Call _close.
7663 (init_user_info): Call _putenv.
7664 (init_environment): Call _putenv and _strdup.
7665 (init_ntproc): Reset volume info cache on startup.
7666
7667 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7668 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7669 cannot override the CRT malloc.
7670
7671 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7672 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7673
7674 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7675 unless we are linking with a static CRT.
7676 (RVA_TO_PTR): Cast result to unsigned char*.
7677
7678 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7679 (add_volume_info): Use xstrdup.
7680
25060080
SM
76812000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7682
7683 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7684 (do_completion, Fminibuffer_complete_word): Use it.
7685 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7686 var so it can take non-boolean values.
7687
6917e6bb
GM
76882000-08-21 Gerd Moellmann <gerd@gnu.org>
7689
acb7cc89 7690 * editfns.c (find_field): Formatting changes.
52283633 7691 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7692 changed to prototypes, some new protypes added, some functions
7693 made static.
7694
7695 * lisp.h (set_time_zone_rule): Add prototype.
7696 (use_dialog_box): External declaration.
7697
0bbfdc25
GM
7698 * keyboard.c (gen_help_event): Add parameter SIZE.
7699 (kbd_buffer_events_waiting): Slightly rewritten.
7700 (clear_event): New function.
7701 (kbd_buffer_get_event): Use it, and clear the input_events of
7702 HELP_EVENTs.
7703 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7704 don't fill the newly created array with nils.
7705 (toplevel): Convert some old-style function forward declarations
7706 to prototypes.
7707
7708 * keyboard.h (gen_help_event): Change prototype.
7709
7710 * xterm.c (XTread_socket): Change calls to gen_help_event.
7711
7712 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7713
6917e6bb
GM
7714 * eval.c (Fmacroexpand): Doc fix.
7715
e5cd3d11
JR
77162000-08-20 Jason Rumney <jasonr@gnu.org>
7717
7718 * w32term.h (x_display_info_for_display): Remove as this function
7719 does not exist on W32.
7720
7721 * w32term.c (help_echo_window): New variable.
7722 (syms_of_w32term): staticpro it.
7723 (note_mode_line_highlight): Set it.
7724 (XTextExtents16): Removed as there is no equivalent on W32.
7725 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7726 the X way of doing this will not work for W32.
7727 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7728 (x_draw_image_foreground): Avoid drawing outside of the clip area
7729 when image doesn't have a mask.
7730 (note_mouse_highlight): Process overlays in the right order of
7731 priority. Set help_echo_window.
7732 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7733 because that's more visible for large images.
7734
7735 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7736 name to single_keymap_panes.
7737 (w32_menu_show): Set wv->title when dealing with titles.
7738 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7739
6e69ab8c
MB
77402000-08-21 Miles Bader <miles@gnu.org>
7741
7742 * minibuf.c (do_completion): Try again if we rewrite the input
7743 string, but no completion was done, so that any completion message
7744 will be correct.
7745
511bd4eb
GM
77462000-08-20 Gerd Moellmann <gerd@gnu.org>
7747
7748 * xfaces.c (lface_equal_p): Compare strings differently.
7749 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7750 (realize_tty_face): Use them.
7751 (syms_of_xfaces): Initialize new variables.
7752 (map_tty_color): New function, extracted from realize_tty_face.
7753 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7754 foreground or background color, store the new color name in the
7755 realized face; previous code trying to do this had no effect.
7756 (realize_tty_face): Use map_tty_color.
7757 (Fclear_face_cache): Set face_change_count and ensure thorough
7758 redisplay.
7759
1433385f
GM
77602000-08-19 Gerd Moellmann <gerd@gnu.org>
7761
511bd4eb
GM
7762 * undo.c (record_first_change, record_marker_adjustment): Don't
7763 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7764
419ac0a2
KH
77652000-08-18 Kenichi Handa <handa@etl.go.jp>
7766
7767 * coding.c (decode_coding_string): Set members consumed,
7768 consumed_char, produced, produced_char of *coding correctly. If
7769 decode_coding doesn't consume any byte, don't try anymore.
7770 (encode_coding_string): Likewise.
7771
7eb9e30d
GM
77722000-08-18 Gerd Moellmann <gerd@gnu.org>
7773
511bd4eb
GM
7774 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7775 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7776
7777 * xdisp.c (redisplay_internal): Compare windows for equality with
7778 EQ, instead of applying XWINDOW to something that might not
7779 be a window.
52283633 7780
dd34a735
KH
77812000-08-18 Kenichi Handa <handa@etl.go.jp>
7782
7783 * fontset.c (Finternal_char_font): Search only the selected frame
7784 for a window of the current buffer.
7785
385ff9e3
GM
77862000-08-18 Gerd Moellmann <gerd@gnu.org>
7787
511bd4eb 7788 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7789 Lisp_Objects.
7790
385ff9e3
GM
7791 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7792 second half of a HELP_EVENT is found at the start of kbd_buffer.
7793
d6abb4c7
MB
77942000-08-18 Miles Bader <miles@gnu.org>
7795
4618074a
MB
7796 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7797
d6abb4c7
MB
7798 * editfns.c (save_restriction_save): Rewrite to use markers.
7799 (save_restriction_restore): Rewrite to understand new form of data
7800 saved by save_restriction_save.
7801 (Fsave_restriction): Remove cautionary note in doc-string.
7802
a7b28523
GM
78032000-08-17 Gerd Moellmann <gerd@gnu.org>
7804
7805 * fileio.c (build_annotations): Add a comment explaining the
7806 return value of format-annotate-function. Replace a spurious call
7807 to Flength with a CONSP test. Call format-annotate-function with
7808 a fifth arg specifying how many times the function is been called
7809 in a row, to let it choose temporary buffers appropriately.
7810
03c9ed77
DL
78112000-08-17 Dave Love <fx@gnu.org>
7812
7813 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7814 declare make_temp_name twice.
7815
52283633 7816 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7817 (unreadpure): Give it an arg.
7818
7819 * unexalpha.c: Prototype fatal_unexec, mark_x,
7820 update_dynamic_symbols. Declare unexec as void.
7821
7822 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7823 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7824
7825 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7826 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7827
7828 * alloca.c: Use #error.
7829 [POINTER_TYPE]: Use it.
7830
7831 * eval.c (Fdefvar): Doc fix.
7832
7833 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7834 INITIALIZE_INTERVAL.
7835
7836 * buffer.h: Avoid DECLARE_INTERVALS.
7837
7838 * config.in: Add size_t.
7839
aae41d97
EZ
78402000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7841
7842 * w16select.c (set_clipboard_data): If there's not enough memory
7843 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7844 expects. In case of other failures, return 3.
7845 (system_error_msg): New error message.
7846 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7847 system_error_msg.
7848
65aa5e85
GM
78492000-08-16 Gerd Moellmann <gerd@gnu.org>
7850
7851 * term.c (write_glyphs): Also turn off inverse video after turning
7852 off other appearances in case TS_exit_attribute_mode is not equal
7853 to TS_end_standout_mode.
7854 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7855 with the same face.
7856 (turn_off_face): Reset standout_mode only if
7857 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7858 is equal to TS_end_standout_mode.
7859
ece23901
KH
78602000-08-16 Kenichi Handa <handa@etl.go.jp>
7861
9d7bcb2e
KH
7862 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7863 sequence at the end of the source block.
7864
ece23901
KH
7865 * ccl.c (Fccl_program_p): Docstring modified.
7866 (Fccl_execute): Likewise.
7867 (Fccl_execute_on_string): Likewise.
7868
5e30eaa2
EZ
78692000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7870
7871 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7872
290602fd
KH
78732000-08-16 Kenichi Handa <handa@etl.go.jp>
7874
7875 The following changes are mainly to fix bugs of
7876 encode/decode-coding-string failing if encoding/decoding return
7877 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7878 variable conversion_buffer.
7879
7880 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7881 decrement dst_end to avoid buffer overflow in the later call of
7882 string_as_multibyte
7883
7884 * coding.h (conversion_buffer_size, conversion_buffer)
7885 (get_conversion_buffer): Extern deleted.
7886
7887 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7888 (conversion_buffer, conversion_buffer_size): Variables deleted.
7889 (get_conversion_buffer): Function deleted.
7890 (struct conversion_buffer): New structure.
7891 (MAX_ALLOCA): New macro.
7892 (allocate_conversion_buffer): New macro.
7893 (extend_conversion_buffer, free_conversion_buffer): New functions.
7894 (ccl_coding_driver): Set coding->result.
7895 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7896 this is the last block of source.
7897 (encode_coding): Likewise. Handle the source block as the last
7898 one only when the whole source text is consumed.
7899 (decode_coding_string): Handle the case that the output buffer is
7900 too small to decode the whole source text. Use
7901 allocate_conversion_buffer, extend_conversion_buffer and
7902 free_conversion_buffer, not get_conversion_buffer.
7903 (encode_coding_string): Likewise.
7904 (init_coding): Function deleted.
52283633 7905 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7906
7907 * emacs.c (main): Don't call init_coding.
7908
52283633 7909 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7910
7911 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7912 (insert_glyphs): Likewise.
7913
7914 * w32console.c (write_glyphs): Use a locally declared
7915 conversion_buffer.
7916
b9f80d41
EZ
79172000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7918
7919 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7920 member of display_info is NULL.
7921
32dc52f7
GM
79222000-08-15 Gerd Moellmann <gerd@gnu.org>
7923
52283633 7924 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7925
32dc52f7 7926 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7927 appearances with capability `me'.
32dc52f7
GM
7928 (write_glyphs): Switch on inverse video before each face change.
7929
4eb22d33
DL
79302000-08-14 Dave Love <fx@gnu.org>
7931
7932 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7933 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7934 (lisp_free): Declare and make static.
7935
7936 * window.c: Fix embedded comment.
7937 (syms_of_window): Fix doc string.
7938
90cbf47e
GM
79392000-08-14 Gerd Moellmann <gerd@gnu.org>
7940
52283633 7941 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7942 make sure to print `C-' before `M-', like in the manual.
7943
440fc135
GM
79442000-08-11 Gerd Moellmann <gerd@gnu.org>
7945
7946 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7947 since they aren't relocated anymore.
52283633 7948 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7949
7950 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7951 partially visible line which is smaller than the window's height.
440fc135 7952
6e264fad
KH
79532000-08-11 Kenichi Handa <handa@etl.go.jp>
7954
7955 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7956 the multibyte form of eight-bit-control characters.
6e264fad
KH
7957 (Fccl_execute_on_string): Initialize ccl->multibyte.
7958
7959 * ccl.h (struct ccl_program): New member multibyte.
7960
7961 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7962
c371f69a
KH
79632000-08-11 Kenichi Handa <handa@etl.go.jp>
7964
7965 * regex.c (regex_compile) <normal_char>: Pay attention to
7966 multibyteness.
7967 (analyse_first) <exactn>: Setup fastmap correctly for
7968 eight-bit-control characters.
7969
79702000-08-11 Kenichi Handa <handa@etl.go.jp>
7971
52283633 7972 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7973
7974 * keyboard.c (make_lispy_event): Handle the new event type
7975 multibyte_char_keystroke.
7976
7977 * xterm.c: Include coding.h.
7978 (XTread_socket): Work around a bug of XmbLookupString. If the
7979 input is from XIM, decode it according to the current locale. In
7980 that case, generate multibyte_char_keystroke events.
7981
b8ddbe71
KH
79822000-08-11 Kenichi Handa <handa@etl.go.jp>
7983
7984 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7985 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7986
47589c8c
GM
79872000-08-10 Gerd Moellmann <gerd@gnu.org>
7988
7989 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7990 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7991 (move_it_in_display_line_to): Record iterator's ascent and descent
7992 before producing glyphs, and restore them when we know the glyph
7993 doesn't fit on the line.
7994 (move_it_to): Restructured so that it's easier to debug. If
7995 moving to a vpos, and not moving to an x or character position,
7996 stop as soon as the specified vpos is reached; don't move further
7997 into that line because that might change the computed line height.
7998 (try_cursor_movement): New function, extracted from the cursor
7999 movement branch of redisplay_window. If ending on a partially
8000 visible line, don't try to scroll if the cursor line is taller
8001 than the window.
8002 (redisplay_window): Use try_cursor_movement.
8003
8004 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8005 because that function doesn't cope with variable-height lines.
8006
8007 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8008 box cursor because that's better visible for large images.
52283633 8009
c51bacd6
MB
80102000-08-10 Miles Bader <miles@gnu.org>
8011
8012 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8013
bea56df7
GM
80142000-08-10 Gerd Moellmann <gerd@gnu.org>
8015
8016 * xdisp.c (Vmessages_buffer_name): New variable.
8017 (message_dolog): Use it.
8018 (syms_of_xdisp): Initialize it.
8019
99cd7364
EZ
80202000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8021
52283633 8022 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8023 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8024 redundant now that keyboard.h is included.
8025
7d093d56
EZ
80262000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8027
8028 * keyboard.c (kbd_buffer_events_waiting): New function.
8029
8030 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8031
8032 * msdos.c: Include keyboard.h.
8033 (XMenuActivate): Empty no_event events from the event buffer. If
8034 no events are left after that, call clear_input_pending.
8035 (mouse_clear_clicks): New function, code moved from mouse_init.
8036 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8037 mouse driver to ``forget'' any past clicks.
8038
8039 * Makefile.in (msdos.o): Depend on keyboard.h.
8040
41e757a6
GM
80412000-08-09 Gerd Moellmann <gerd@gnu.org>
8042
8e7bd231
GM
8043 * lisp.h (input_pending): External declaration.
8044
8045 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8046
8e7bd231
GM
8047 * xdisp.c (echo_area_display): Display thoroughly if input is
8048 pending. Bind redisplay-dont-pause to t during the redisplay.
8049 in case input is pending.
8050
8051 * dispnew.c (Qredisplay_dont_pause): New variable.
8052 (syms_of_display): Initialize and staticpro it.
8053 (update_frame_1): Don't interrupt the display for pending input if
8054 redisplay_dont_pause is set.
52283633 8055
43028b7e
GM
8056 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8057
41e757a6
GM
8058 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8059
2f2174fa
KH
80602000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8061
8062 * callproc.c (Fcall_process): Terminate the unwind-protect around
8063 the post-read-conversion of coding system.
8064
0a6fd67e
MB
8065 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8066 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8067 * buffer.h (overlays_at): Update prototype.
8068 * xdisp.c (next_overlay_change): Update call to overlays_at.
8069 * xfaces.c (face_at_buffer_position): Likewise.
8070 * textprop.c (Fget_char_property): Likewise.
8071 * xterm.c (note_mouse_highlight): Likewise.
8072
0c80756e
MB
8073 * minibuf.c (do_completion): Don't consider a simple change of
8074 case as `completion'.
8075
975f250a
KR
80762000-08-08 Ken Raeburn <raeburn@gnu.org>
8077
52283633 8078 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8079 * undo.c (record_delete): Make sure last_point_position_buffer is
8080 a buffer before comparing pointers.
8081
8082 * coding.h (decode_coding_string): Declare.
8083
8084 * intervals.h (Fprevious_single_char_property_change): Declare.
8085
8086 * textprop.c (Fprevious_single_char_property_change): Don't do
8087 arithmetic directly on lisp objects.
8088
52283633 8089 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8090
8091 * keyboard.h (menu_item_eval_property): Declare.
8092
8093 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8094 reuse as buffer name, instead of recreating (and discarding) every
8095 time a message is logged.
8096 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8097 (current_message_1, truncate_message_1, set_message_1)
8098 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8099 (current_message, truncate_echo_area, display_echo_area)
8100 (resize_echo_area_axactly): Changed calls.
b347b3fd 8101
975f250a 8102 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8103 Lisp object.
975f250a 8104 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8105 must be an integer, not a Lisp object.
975f250a 8106
46dc9912
KH
81072000-08-08 Kenichi Handa <handa@etl.go.jp>
8108
8109 * charset.c (Fchar_width): Doc fix.
8110
9f6d1a6c
GM
81112000-08-08 Gerd Moellmann <gerd@gnu.org>
8112
8113 * charset.c (Fstring_width): Doc fix.
8114
ff3d9573
GM
81152000-08-07 Gerd Moellmann <gerd@gnu.org>
8116
41e757a6 8117 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8118 line, clear ascent and descent members of the iterator structure;
8119 the height of the continued line does not affect the height of the
8120 continuation line.
8121 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8122 line taller than the window.
8123 (redisplay_window) <forced window start>: Handle case that the
8124 middle of the window is not found in any row.
8125 (dump_glyph_row): Show more information.
8126 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8127 first text line in a glyph matrix.
8128
8129 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8130 of the clip area when image doesn't have a mask.
8131
70fc58b3
GM
8132 * fns.c (sweep_weak_table): Fix survival conditions for
8133 key-or-value and key-and-value weakness.
8134
8135 * .gdbinit (xhashtable): New command.
8136
ac0e96ee
GM
8137 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8138 tables out of the list of all weak hash tables.
8139
ff3d9573
GM
8140 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8141 a new buffer is created, make sure echo_area_buffer[] references
8142 the new buffer.
8143
e0d8827b
EZ
81442000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8145
8146 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8147 the doc string.
8148
c6f35378
KH
81492000-08-07 Kenichi Handa <handa@etl.go.jp>
8150
8151 * syntax.c (skip_chars): Fix previous change. Make the handling
8152 of unibyte string consistent with that of regex search.
8153
1fd4c450
GM
81542000-08-05 Gerd Moellmann <gerd@gnu.org>
8155
e49aa397
GM
8156 * xmenu.c (popup_get_selection): Use xfree instead of free.
8157
8158 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8159
8160 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8161
8162 * callproc.c (child_setup): Use xfree instead of free.
8163
8164 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8165 instead of malloc.
8166 (run_mac_command, closedir): Use `xfree' instead of `free'.
8167
8168 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8169
8170 * eval.c (error): Use xfree instead of free.
8171
1fd4c450
GM
8172 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8173
8174 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8175 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8176
82d497fc
KH
81772000-08-05 Kenichi Handa <handa@etl.go.jp>
8178
8179 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8180 conversion.
8181
59f953a2
NF
81822000-08-04 Noah Friedman <friedman@splode.com>
8183
8184 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8185 docstring.
8186
688351f2
GM
81872000-08-04 Gerd Moellmann <gerd@gnu.org>
8188
8189 * syntax.c (skip_chars): Fix typo in error message.
8190
2dad51cc
AS
81912000-08-04 Andreas Schwab <schwab@suse.de>
8192
8193 * m/ia64.h: Moved from s/ia64.h.
8194
99bb2c60
KH
81952000-08-04 Kenichi Handa <handa@etl.go.jp>
8196
082a1df2
KH
8197 * process.c (read_process_output): Big simplification. Handle
8198 composition and post-read-conversion of coding system correctly.
8199 (send_process): Handle composition correctly.
8200
8201 * callproc.c (Fcall_process): Handle post-read-conversion of
8202 coding system if any.
8203
99bb2c60
KH
8204 * coding.c (decode_coding_iso2022): More strict check for handling
8205 single shifting.
082a1df2
KH
8206 (coding_restore_composition): Pay attention to the case that
8207 cmp_data is not set properly (because of invalid code in the
8208 source text).
8209 (run_pre_post_conversion_on_str): Include text properties in the
8210 resulting string.
8211 (decode_coding_string): Set members of coding correctly.
99bb2c60 8212
f4988be7
GM
82132000-08-03 Gerd Moellmann <gerd@gnu.org>
8214
8215 * s/ia64.h: New file.
8216
8217 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8218 Use NULL instead of 0 at the end of variable argument list of
8219 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8220 sizeof (int) < sizeof (void *).
8221
8222 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8223 of variable argument lists of XtVaGetValues and XtVaSetValues.
8224
8225 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8226 variable argument lists of XtVaGetValues and XtVaSetValues.
8227
ead53494
GM
82282000-08-02 Gerd Moellmann <gerd@gnu.org>
8229
8230 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8231 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8232
8233 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8234 prototype.
8235
8236 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8237 in call to Fsingle_key_description.
8238
8239 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8240 Callers changed.
8241
82422000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8243
8244 * window.c (display_buffer_reuse_frames): New variable.
8245 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8246 frames displaying BUFFER.
52283633 8247 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8248
10b0f752
MB
82492000-08-01 Miles Bader <miles@gnu.org>
8250
8251 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8252 when to constrain NEW_POS (they were pretty screwed up before).
8253
16425c4a
EZ
82542000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8255
8256 * msdos.c (run_msdos_command): Save and restore the master
8257 environment, for the case that child_setup signals an error.
8258 When mirroring slashes in DOS shell commands, don't fail when
8259 argv[2] has embedded blanks.
da288c14
EZ
8260 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8261 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8262 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8263
8264 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8265 using alloca; free it after run_msdos_command returns.
8266
27f73852
DL
82672000-07-27 Dave Love <fx@gnu.org>
8268
52283633
SM
8269 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8270 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8271
8272 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8273
c0261b5e
EZ
82742000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8275
8276 * editfns.c (lisp_time_argument): Fix last change.
8277
b548072f
GM
82782000-07-27 Gerd Moellmann <gerd@gnu.org>
8279
3ab82477
GM
8280 * fns.c (Fdelete): Make it work on vectors and strings in addition
8281 to lists.
8282
b548072f
GM
8283 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8284 (syms_of_fns): Initialize new variables.
52283633 8285 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8286 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8287 weakness, with t meaning the same as `key-and-value'.
8288
91ae8751
KH
82892000-07-27 Kenichi Handa <handa@etl.go.jp>
8290
8291 * coding.h (struct coding_system): Member safe_charset deleted.
8292
8293 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8294 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8295 New variables.
91ae8751
KH
8296 (coding_safe_chars): New function.
8297 (CODING_SAFE_CHAR_P): New macro.
8298 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8299 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8300 (detect_coding_iso2022): New local variable safe_chars.
8301 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8302 safe_charsets member of the coding system.
8303 (decode_coding_iso2022): New local variable safe_chars.
8304 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8305 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8306 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8307 (ENCODE_UNSAFE_CHARACTER): New macro.
8308 (encode_coding_iso2022): New local variable safe_chars. Check
8309 unsafe chars.
8310 (setup_coding_system): Delete the code to initialize
8311 coding->safe_charses
8312 (intersection, find_safe_codings): New functions.
8313 (Ffind_coding_systems_region_internal): New function.
8314 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8315 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8316 variable and initialize it.
8317
8318 * fns.c (char_table_ref_and_index): New function.
8319
8320 * lisp.h (char_table_ref_and_index): Add prototype.
8321
34a7a267
SS
83222000-07-26 Sam Steingold <sds@gnu.org>
8323
8324 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8325 (Ffloat_time): New built-in Lisp function.
34a7a267 8326
a95cb10a
GM
83272000-07-26 Gerd Moellmann <gerd@gnu.org>
8328
3353ef5a
GM
8329 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8330 for the character code.
8331
8332 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8333 GNU/Linux.
8334
a95cb10a
GM
8335 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8336 if called for a popup menu.
8337 (xmenu_show): Store help string in widget values.
8338
b4a12321
DL
83392000-07-26 Dave Love <fx@gnu.org>
8340
8341 * syswait.h: Move some definitions.
8342 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8343 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8344 perspicuous definitions.
8345 (WTERMSIG): Fix bit pattern used.
8346
13f5ad37
KH
83472000-07-26 Kenichi Handa <handa@etl.go.jp>
8348
8349 * print.c (print_object): If vector printing is truncated, print
8350 "..." to indicate it as well as the case of list printing.
8351
070fe99c
GM
83522000-07-25 Gerd Moellmann <gerd@gnu.org>
8353
969065c3
GM
8354 * xdisp.c (next_element_from_display_vector): Improve comments.
8355
8356 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8357 for the character code, and the rest for the face id as in 20.x.
8358 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8359
8360 * window.c (window_display_table): Cleaned up.
8361
070fe99c
GM
8362 * syntax.c (Fforward_word): Add last arg nil in call of
8363 Fconstrain_to_field.
8364
bad77ef7
EZ
83652000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8366
969065c3 8367 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8368 identical but for the letter-case, don't call
8369 barf_or_query_if_file_exists.
bad77ef7 8370
c28da489
MB
83712000-07-25 Miles Bader <miles@gnu.org>
8372
8373 * editfns.c (find_field): Honor special `boundary' fields.
8374 (Qboundary): New variables.
8375 (syms_of_editfns): Initialize Qboundary.
8376 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8377 Use scan_buffer instead of find_before_next_newline, because it
8378 allows us to detect the boundary case where there's a newline at
8379 the search limit.
8380 * lisp.h (Fconstrain_to_field): Update external declaration.
8381
e3c31fd5
GM
83822000-07-24 Gerd Moellmann <gerd@gnu.org>
8383
8384 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8385 if that is nil.
c28da489 8386
c66c29a2
DL
83872000-07-24 Dave Love <fx@gnu.org>
8388
8389 * s/sunos4-0.h, s/sol2.h:
8390 (LIBS_TERMCAP): Move from m/sparc.h.
8391
8392 * m/sparc.h (TERMINFO): Moved to system files (probably only
8393 relevant for sunos4 judging by its vintage).
8394 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8395 __arch64__.
8396
fbe0a958
EZ
83972000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8398
8399 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8400 name to single_keymap_panes.
8401
7d88e5c9
AS
84022000-07-24 Andreas Schwab <schwab@suse.de>
8403
8404 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8405
e024b101
GM
84062000-07-24 Gerd Moellmann <gerd@gnu.org>
8407
8408 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8409 parameters instead of using int parameters. Expect FN to accept
8410 EMACS_INT parameters.
8411 (display_echo_area, resize_echo_area_axactly, current_message)
8412 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8413 with new argument list.
8414 (resize_mini_window_1): New callback function.
8415 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8416 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8417
25c1a9ce
KH
84182000-07-24 Kenichi Handa <handa@etl.go.jp>
8419
8420 * fontset.c (fontset_ref): Remove INLINE declaration.
8421 (fontset_ref_via_base): Likewise.
8422 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8423 to downcase.
8424
7f987ac0
EZ
84252000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8426
8427 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8428 correct order of priority. If help echo was found in an overlay,
8429 use that overlay as the object in which the help echo was found.
8430
e2db3069
MB
84312000-07-22 Miles Bader <miles@gnu.org>
8432
8433 * textprop.c (Fprevious_single_char_property_change): The initial
8434 property value should be from the position preceding POSITION, not
8435 following it.
8436
5e3203e4
EZ
84372000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8438
8439 * coding.c (syms_of_coding): Doc fix for
8440 inhibit-iso-escape-detection.
8441
62145073
GM
84422000-07-21 Gerd Moellmann <gerd@gnu.org>
8443
c20aeb83
GM
8444 * xterm.c (note_mouse_highlight): Process overlays in the right
8445 order of priority.
34a7a267 8446
743934db
GM
8447 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8448
8449 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8450 overlay, use that overlay as the object in which the help was found.
743934db 8451
d1dc7e43 8452 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8453
62145073
GM
8454 * window.c (foreach_window): Instead of a fake variable argument
8455 list, take one USER_DATA argument.
8456 (foreach_window_1): Likewise, and call callback functions with two
8457 args, the window and USER_DATA.
8458 (struct check_window_data): New struct.
8459 (check_window_containing): Use it.
8460 (window_from_coordinates): Set up a struct check_window_data for
8461 foreach_window.
8462 (add_window_to_list, freeze_window_start): Change parameters
8463 according to new calling convention.
8464
8465 * window.h (foreach_window): Change prototype.
8466
8467 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8468
84692000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8470
8471 * xmenu.c (menu_help_callback): Call show_help_echo with
8472 additional arguments OBJECT and POS.
8473
11270583
KH
84742000-07-21 Kenichi Handa <handa@etl.go.jp>
8475
07b14857
KH
8476 * data.c (Faset): Allow storing any multibyte character in a
8477 string. Convert unibyte string to multibyte if necessary.
8478
11270583
KH
8479 * xfns.c (x_encode_text): New function.
8480 (x_set_name): Use x_encode_text.
8481 (x_set_title): Likewise.
8482
8483 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8484
8485 * xterm.h (x_encode_text): Add prototype.
8486
bc75b4fd
DL
84872000-07-20 Dave Love <fx@gnu.org>
8488
8489 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8490 xfree, not free.
8491
48c14970
EZ
84922000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8493
8494 * msdos.c (help_echo_window): New variable.
8495 (syms_of_msdos): Initialize and staticpro it.
8496 (IT_note_mode_line_highlight): Set help_echo_window.
8497 (IT_note_mouse_highlight): Ditto.
8498 (dos_rawgetc): Store help_echo_window in the second event produced
8499 for HELP_EVENTs.
8500
8501 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8502 Record the object that generated the help echo and the position of
8503 that object in help_echo_object and help_echo_pos. Record that
8504 some glyphs in a row are displayed in mouse-face.
8505 (IT_update_begin): Don't clear mouse highlight unless one of the
8506 enabled glyph rows is marked as being displayed in mouse-face.
8507 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8508 and position recorded in help_echo_object and help_echo_pos to the
8509 event queue.
8510 (IT_menu_display): Accept a new argument PN: the pane number of
8511 the current menu pane. Record the pane number and the item
8512 number of the item which has associated help string.
8513 (XMenuActivate): Update the prototype for help_callback in
8514 function declaration. Call IT_menu_display with the current menu
8515 pane number as an additional argument. Call help_callback with
8516 two additional arguments: the pane number and the item number of
8517 the menu item associated with the help text.
8518 (help_echo_object, help_echo_pos): New variables.
8519 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8520
8521 * msdos.h (XMenuActivate): Update prototype.
8522
4279296d
GM
85232000-07-19 Gerd Moellmann <gerd@gnu.org>
8524
47db06aa
GM
8525 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8526 Add some more prototypes.
8527
8528 * xterm.c, xterm.h: Add some more prototypes.
8529
8530 * lisp.h (Fnext_single_char_property_change): Add prototype.
8531
8532 * dispnew.c (direct_output_for_insert): Remove confusing
8533 outer local variable mouse_face_overwritten_p.
8534 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8535
4279296d
GM
8536 * alloc.c (allocate_string_data): Don't copy old string contents.
8537
670acd62
KH
85382000-07-19 Kenichi Handa <handa@etl.go.jp>
8539
8540 * coding.c (code_convert_region): Delete text properties before
8541 shrinking the conversion region.
8542
7cea38bc
GM
85432000-07-18 Gerd Moellmann <gerd@gnu.org>
8544
dc1cac59
GM
8545 * dispnew.c (update_text_area): Write the whole row if it
8546 has mouse-face in it.
8547
85a8aca9
GM
8548 * xfaces.c (face-alternative-font-family-alist): Remove
8549 DEFVAR_LISP; staticpro instead.
8550
34a7a267 8551 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8552 new arguments.
8553
8554 * keyboard.c (show_help_echo): Add parameter WINDOW.
8555 (read_char): Call show_help_echo with window extracted from Lisp
8556 help event.
8557 (gen_help_event): Add parameter WINDOW.
8558
8559 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8560
8561 * xterm.c (help_echo_window): New variable.
52283633 8562 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8563 (XTread_socket): Pass help_echo_window to gen_help_event.
8564 (syms_of_xterm): Initialize and staticpro help_echo_window.
8565
f8276b77
DL
85662000-07-18 Dave Love <fx@gnu.org>
8567
52283633 8568 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8569
088831a6
GM
85702000-07-18 Gerd Moellmann <gerd@gnu.org>
8571
3d6cd763
GM
8572 * alloc.c (allocate_string_data): If string had already data
8573 assigned, copy old contents to new string data.
8574
8575 * coding.c (syms_of_coding): Fix typo in spelling of variable
8576 `inhibit-iso-escape-detection'.
8577
088831a6
GM
8578 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8579
8580 * Makefile.in: Add dependencies on dispextern.h.
8581 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8582 `free'; both can conflict with system header files.
8583
bc8a8d55
KH
85842000-07-18 Kenichi Handa <handa@etl.go.jp>
8585
8586 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8587 undefined.
8588
069f5950
DL
85892000-07-18 Dave Love <fx@gnu.org>
8590
8591 * window.c (Fwindow_list): Declare arg `window'.
8592
aa96c820
KH
85932000-07-18 Kenichi Handa <handa@etl.go.jp>
8594
8595 * coding.c (setup_coding_system): Don't override the explicitly
8596 specified designations.
8597
06be8d32
MB
85982000-07-15 Miles Bader <miles@gnu.org>
8599
8600 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8601 from `text_property_eq' and `text_property_stickiness', respectively.
8602 (find_field, Fconstrain_to_field, char_property_eq)
8603 (char_property_stickiness): Changed to call char-property functions
8604 instead of text-property-only ones.
8605
8606 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8607 `next_single_char_property_change'). Do more error checking, and
8608 cleanup limit behavior.
8609 (Fprevious_single_char_property_change): New function.
8610 (syms_of_textprop): Initialize new subrs.
8611
8612 * xdisp.c (display_prop_end, invisible_text_between_p):
8613 Call Fnext_single_char_property_change instead of
8614 next_single_char_property_change.
8615
3fddcdc3
JR
86162000-07-15 Jason Rumney <jasonr@gnu.org>
8617
8618 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8619 after menu is finished with.
8620 (add_menu_item): Only consider wv->title as a menu title.
8621 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8622
8623 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8624 null title.
8625 (FONT_REGEXP): Remove unused macro, and its sub-components.
8626 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8627
8628 * w32term.c (help_echo_object, help_echo_pos): New variables.
8629 (note_mode_line_highlight): Store additional information about the
8630 help-echo in help_echo_object and help_echo_pos. Check both
8631 `local-map' and `keymap' properties for changing the cursor
8632 (note_mouse_highlight): Store additional information about the
8633 help-echo in help_echo_object and help_echo_pos.
8634 (note_tool_bar_highlight): Set help_echo_object to nil and
8635 help_echo_pos to -1.
8636 (w32_read_socket): Use gen_help_event instead of filling
8637 input_events manually.
8638 (syms_of_w32term): Staticpro help_echo_object.
8639 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8640 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8641 (x_clear_mouse_face): New function.
8642 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8643 (x_update_window_begin): No need to turn off the mouse
8644 highlight here.
8645 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8646 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8647 (x_fill_stretch_glyph_string): Consume runs of stretch
8648 glyphs instead of a single one.
8649 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8650 with new argument list.
8651 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8652 (x_append_glyph, x_append_composite_glyph)
8653 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8654 changes in struct glyph starting 1999-12-27. See comments for
8655 xterm.c on 2000-07-05.
8656
178c5d9c
SS
86572000-07-14 Sam Steingold <sds@gnu.org>
8658
8659 * xfaces.c (realize_x_face): Fix the last patch:
8660 check `default_face' before dereferencing.
8661
6fe533f6
DL
86622000-07-14 Dave Love <fx@gnu.org>
8663
069f5950 8664 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8665
dd7b81cf
KH
86662000-07-14 Kenichi Handa <handa@etl.go.jp>
8667
0693904a 8668 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8669 default_face's fontset, not using the default fontset.
0693904a 8670
dd7b81cf
KH
8671 * coding.c (inhibit_iso_escape_detection): New variable.
8672 (syms_of_coding): Make it a Lisp variable.
8673 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8674 nonzero, ignore ISO2022's escape sequence.
8675
d5aa31d8
GM
86762000-07-14 Gerd Moellmann <gerd@gnu.org>
8677
e5acf0ca
GM
8678 * alloca.c (malloc) [emacs]: Define as xmalloc.
8679
bd23a692
GM
8680 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8681 use that instead of the mouse position. Add parameters DX and DY.
8682
8683 * dispextern.h (Fx_show_tip): Adjust number of parameters
8684 in prototype.
8685
9662da0b
GM
8686 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8687 if HELP is a function, call it with OBJECT and POS as parameters
8688 to get the help to display.
8689 (gen_help_event, kbd_buffer_store_help_event): New functions.
8690 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8691 (read_char): Call show_help_echo with new parameters.
8692
178c5d9c 8693 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8694 Add prototypes.
8695
8696 * xterm.c (help_echo_object, help_echo_pos): New variables.
8697 (note_mode_line_highlight): Store additional information about the
8698 help-echo in help_echo_object and help_echo_pos. Check both
8699 `local-map' and `keymap' properties for changing the cursor
8700 (note_mouse_highlight): Store additional information about the
8701 help-echo in help_echo_object and help_echo_pos.
8702 (note_tool_bar_highlight): Set help_echo_object to nil and
8703 help_echo_pos to -1.
8704 (XTread_socket): Use gen_help_event instead of filling
8705 input_events manually.
8706 (syms_of_xterm): Staticpro help_echo_object.
8707
8708 * xmenu.c (menu_highlight_callback): Use
8709 kbd_buffer_store_help_event instead of setting up and input_event
8710 structure manually.
8711
8712 * xdisp.c (eval_form): GCPRO argument sexpr.
8713 (call_function): New function.
8714 (handle_single_display_prop): Use call_function and FUNCTIONP
8715 instead of checking whether if font_height is a symbol and
8716 using eval_form.
8717
8718 * eval.c (internal_condition_case_2): New function.
8719
8720 * lisp.h (FUNCTIONP): New macro.
8721 (internal_condition_case_2, call_function): Add prototypes.
8722
d5aa31d8
GM
8723 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8724 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8725 Always set `arg' member of input_events.
8726 (construct_menu_click): Unused function removed.
8727
8728 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8729
8730 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8731 (construct_drag_n_drop, x_scroll_bar_handle_click)
8732 (w32_read_socket): Always set `arg' member of input_events.
8733
8734 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8735
8736 * lisp.h (eval_form): Add prototype.
8737
8738 * xdisp.c (eval_form): Make it externally visible.
8739
0f1a9b23
GM
87402000-07-13 Gerd Moellmann <gerd@gnu.org>
8741
8742 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8743 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8744 consing. For prefix events, store the frame in the `arg' slot of
8745 the event, otherwise store the key there.
8746 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8747 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8748
8749 * xmenu.c (menu_highlight_callback): Store help string in the
8750 `arg' member of the input event; don't cons.
8751 (menubar_selection_callback): Use the `arg' slot of input events
8752 to queue additional information, instead of consing.
8753
8754 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8755
8756 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8757 TOOL_BAR_EVENTs.
8758 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8759
8760 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8761 input events to queue additional information, instead of consing.
8762
8763 * keyboard.c (kbd_buffer_gcpro): Renamed from
8764 kbd_buffer_frame_or_window. Now used for all Lisp objects
8765 referenced from the input queue.
8766 (kbd_buffer_store_event): Always use structure assignment for
8767 copying input events. Record all Lisp objects referenced from
8768 events in kbd_buffer_gcpro.
8769 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8770 differently from input events. Test for prefix menu_bar_events
8771 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8772 event in kbd_buffer_gcpro to nil.
8773 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8774 frame_or_window is equal to its arg member as prefix events.
8775 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8776 used by an input event to nil.
8777 (init_keyboard): Use two times the size of the input queue
8778 for kbd_buffer_gcpro.
8779 (syms_of_keyboard): Likewise.
8780
52283633
SM
8781 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8782 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8783
8784 * termhooks.h (struct input_event): Add member `arg'.
8785 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8786 (USER_SIGNAL_EVENT): Renamed from user_signal.
8787
8788 * xfaces.c (ASET): Remove definition.
8789
8790 * lisp.h (AREF, ASET, ASIZE): New macros.
8791
8792 * fontset.c (AREF, ASIZE): Remove definitions.
8793
8794 * fns.c (AREF): Remove definition.
178c5d9c 8795
0f1a9b23
GM
8796 * composite.c (AREF): Remove definition.
8797
712eaef2
GM
87982000-07-12 Gerd Moellmann <gerd@gnu.org>
8799
d8ee7803
GM
8800 * dispnew.c (redraw_overlapped_rows): Add missing local.
8801 (scrolling_window): Remove debug code.
8802
712eaef2
GM
8803 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8804 Before scrolling, turn off a mouse-highlight in the window
8805 being scrolled.
8806
8807 * xterm.c (x_update_window_end): Add parameter
8808 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8809 redisplay in XTframe_up_to_date.
8810 (x_clear_mouse_face): New function.
8811 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8812
8813 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8814 current glyph row.
8815 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8816 it when any row is written to that contains glyphs highlighted in
8817 mouse-face.
8818 (update_window): Call the window update end hook with new
8819 parameter MOUSE_FACE_OVERWRITTEN_P.
8820 (direct_output_for_insert): Give up if row contains mouse-face.
8821
8822 * dispextern.h (struct redisplay_interface): Add parameter
8823 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8824 (clear_mouse_face): New function pointer member.
8825
02010917
SM
88262000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8827
8828 * syntax.c (back_comment): Use one switch rather than a few `if's.
8829 Obey open_paren_in_column_0_is_defun_start.
8830 When reverting to the `slow' method, try to nicely handle the case
8831 of nested comments by checking that the comment-starter we found
8832 does indeed match the comment-ender.
8833 (scan_sexps_forward, scan_sexps_forward):
8834 Ignore excessive opening parenthesis rather than throwing an error.
8835
d76c03ea
GM
88362000-07-11 Gerd Moellmann <gerd@gnu.org>
8837
8838 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8839 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8840
8841 * dispnew.c (direct_output_forward_char): Give up if currently
8842 displaying a message instead of the minibuffer contents.
8843
8844 * xterm.c (x_update_window_begin): No need to turn off the mouse
8845 highlight here.
8846 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8847 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8848
8849 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8850 compare the mouse_face_p flags of both rows.
8851
8852 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8853
d55ead18
EZ
88542000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8855
8856 * keyboard.c (show_help_echo): Accept additional parameter
8857 ok_to_overwrite_keystroke_echo.
8858 (read_char): Call show_help_echo with a zero
8859 ok_to_overwrite_keystroke_echo argument.
52283633 8860 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8861 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8862 ok_to_overwrite_keystroke_echo argument.
8863 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8864 non-zero ok_to_overwrite_keystroke_echo argument.
8865
df75b1a3
GM
88662000-07-10 Gerd Moellmann <gerd@gnu.org>
8867
4b92c49a
GM
8868 * xdisp.c (try_window_id): If changes are all below what is
8869 displayed in the window, and point is in the window, we still
8870 might have to find point on the display.
8871
8872 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8873 glyphs instead of a single one.
8874 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8875 with new argument list.
8876 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8877
df75b1a3
GM
8878 * keymap.c (get_keymap_1): Add comment that this function can GC.
8879 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8880 comment that functions can GC.
8881 (Fset_keymap_parent): GCPRO arg KEYMAP.
8882
4314cf3e
EZ
88832000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8884
8885 * msdos.c (XMenuActivate): After exiting the menu, restore the
8886 echo area message and erase it.
8887
ab49ce15
KH
88882000-07-10 Kenichi Handa <handa@etl.go.jp>
8889
8890 * fontset.c (Ffontset_info): Make the return value more compatible
8891 with that of Emacs 20.
8892
090a072f
GM
88932000-07-07 Gerd Moellmann <gerd@gnu.org>
8894
8895 * eval.c (Fsignal): Handle case that backtrace_list is null.
8896
f92de4a6
KH
88972000-07-07 Kenichi Handa <handa@etl.go.jp>
8898
8899 * ccl.c (Fccl_execute): Typo fixed.
8900
dd8888a1
GM
89012000-07-06 Gerd Moellmann <gerd@gnu.org>
8902
e5c81191 8903 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8904
dd8888a1
GM
8905 * window.c (Fwindow_list): Reverse list at the end.
8906 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8907 means allow windows on OWINDOW's frame, only.
8908 (window_loop): Simplified; use Fwindow_list.
8909
8910 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8911
485266d0
GM
89122000-07-05 Gerd Moellmann <gerd@gnu.org>
8913
8914 * xterm.c (XTread_socket): Increment handling_signal at the start,
8915 decrement it at the end.
8916
8917 * eval.c (handling_signal): New variable.
8918 (Fsignal): Abort if handling_signal is non-zero.
8919
8920 * lisp.h (handling_signal): External declaration.
178c5d9c 8921
485266d0
GM
8922 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8923
80fcd514
KR
89242000-07-05 Ken Raeburn <raeburn@gnu.org>
8925
8926 Sound support for NetBSD through "Linux emulation" support:
8927 * config.in (HAVE_SOUNDCARD_H): Undef.
8928 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8929 * Makefile.in (LIBSOUND): New variable.
8930 (LIBES): Include it.
52283633
SM
8931 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8932 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8933 (vox_open): Use DEFAULT_SOUND_DEVICE.
8934 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8935
d5c5cddd
GM
89362000-07-05 Gerd Moellmann <gerd@gnu.org>
8937
8938 * print.c (print_error_message): If Vsignaling_function is set,
8939 show it in *Messages*.
8940
8941 * lisp.h (Vsignaling_function): External declaration.
8942
8943 * eval.c (Vsignaling_function): New variable.
8944 (Fsignal): Compute it.
8945 (syms_of_eval): Staticpro it.
8946
65171e3a
DL
89472000-07-05 Dave Love <fx@gnu.org>
8948
8949 * syswait.h: Use the autoconf recommended approach. Old code
8950 #if'd out in case we need to revert.
8951
178c5d9c 8952 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8953
e2c46326
AI
89542000-07-05 Andrew Innes <andrewi@gnu.org>
8955
8956 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8957 when non-NULL instead of __morecore, to take account of buffer
8958 memory. This also solves a problem with spurious memory warnings
8959 on Windows.
8960
8961 * ralloc.c: Make real_morecore non-static.
8962
8963 * eval.c (internal_condition_case): Comment out abort if
8964 interrupt_input_blocked is not zero.
8965
8966 * makefile.nt: Add support for `bootstrap' and related targets.
8967 Include minimal debug info in emacs.exe in release build.
8968 Remove all dependencies on lisp.h, and fixup some others.
8969
8970 * w32.c (init_environment): Install code from 20.7 for providing
8971 default values for environment variables, based on the
8972 executable's own location.
52283633 8973 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8974 (sys_socket): Install socket inheritance bug fix from 20.7.
8975
8976 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8977 here via blockinput.h).
8978
a027a91b
SM
89792000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8980
e4b31601
SM
8981 * w32menu.c (w32_menu_display_help):
8982 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8983
8984 * keyboard.h (show_help_echo): Declare.
8985
8986 * keyboard.c (show_help_echo): New function, extracted from read_char.
8987 Feval its `msg' argument if it's a cons cell.
8988 (read_char): Use it.
4cf8d9d5 8989 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8990
178c5d9c 8991 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8992 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8993 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8994 (dos_rawgetc):
8995 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8996 (note_tool_bar_highlight, w32_read_socket):
8997 Do not gratuitously ignore non-string `help-echo' properties.
8998
88d75730
GM
89992000-07-05 Gerd Moellmann <gerd@gnu.org>
9000
969f7e79
GM
9001 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9002
71201b00
GM
9003 * window.c (delete_all_subwindows): Reset Vwindow_list.
9004
88d75730
GM
9005 * xterm.c (x_append_glyph, x_append_composite_glyph)
9006 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9007 changes in struct glyph starting 1999-12-27. Some bit-fields of
9008 struct glyph were not set, which made glyphs unequal when compared
9009 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9010 effects were the result. This also depended on the contents of
9011 memory returned by xmalloc. If flickering happens again, activate
9012 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9013 gone with that, chances are that it is caused by something similar.
88d75730
GM
9014
9015 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9016
88d75730
GM
9017 * dispextern.h: Add some comments.
9018
9019 * window.c (add_window_to_list): Add parameter LIST.
9020 (window_list): Order list so that, for each frame, windows are
9021 in canonical order, and so that frames appear in the list in
9022 the order given by Vframe_list.
9023 (next_window): Reverse the handling of NEXT_P.
9024
53654733
GM
90252000-07-04 Gerd Moellmann <gerd@gnu.org>
9026
87efd256
GM
9027 * window.c (Vwindow_list): New variable.
9028 (make_window, delete_window): Set Vwindow_list to nil.
9029 (check_window_containing): New function.
9030 (window_from_coordinates): Rewritten.
9031 (add_window_to_list, window_list, candidate_window_p)
9032 (decode_next_window_args, next_window): New functions.
52283633 9033 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9034 (Fwindow_list): New function.
9035 (Fother_window): Cleaned up.
9036 (foreach_window): Add a longer "variable argument list". Let
9037 callback function return 0 to indicate that cycling over windows
9038 should stop.
9039 (foreach_window_1): Likewise.
9040 (freeze_window_start): Return int.
9041 (init_window): New function.
9042 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9043
9044 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9045 input_event with bzero.
9046 (main): Call init_window.
9047
53654733
GM
9048 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9049 a menu filter.
9050
4a8c194f
KH
90512000-07-04 Kenichi Handa <handa@etl.go.jp>
9052
9053 * composite.h (make_composition_value_copy): Extern it.
9054
9055 * composite.c (make_composition_value_copy): New function.
9056
9057 * editfns.c (Fformat): While copying text properties, make each
9058 composition property value a copy.
9059
9060 * fns.c (concat): While copying text properties, make each
9061 composition property value a copy.
9062
831a6cb0
GM
90632000-07-03 Gerd Moellmann <gerd@gnu.org>
9064
2f516940
GM
9065 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9066
178c5d9c 9067 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9068 marked already.
9069
831a6cb0
GM
9070 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9071 include those frames as candidates which have their focus
9072 redirected to the minibuffer frame.
9073
d9c4f922
SM
90742000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9075
9076 * fns.c (Fputhash): Return `value' rather than nil.
9077
3780bc22
GM
90782000-06-30 Gerd Moellmann <gerd@gnu.org>
9079
97d176db
GM
9080 * frame.c (next_frame): Don't check focus redirection in case
9081 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9082 unless their focus is redirected, which contradicts the
9083 specification of next-frame, and leads to infinite loops in
9084 certain situations when cycling through windows with next-window.
9085
dca9961d
KH
90862000-06-30 Kenichi Handa <handa@etl.go.jp>
9087
9088 * coding.c (code_convert_region): Even if the length of text is
9089 zero, try to convert it if coding->type is coding_type_ccl.
9090 (decode_coding_string, encode_coding_string): Likewise.
9091
d5483ab1
GM
90922000-06-28 Gerd Moellmann <gerd@gnu.org>
9093
af5c25e1 9094 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9095 the display if windows_or_buffers_changed.
af5c25e1
GM
9096
9097 * dispnew.c (struct row_entry): New structure.
9098 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9099 (row_table_size, old_lines, new_lines, old_lines_size)
9100 (new_lines_size, run_pool, runs_size, runs): New variables.
9101 (add_row_entry): New function.
9102 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9103 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9104 holding them in local variables. Use a larger hash table whose
9105 size depends on glyph matrix sizes. Don't use bzero to clear the
9106 hash table; instead, clear used slots only.
9107
9108 * fns.c (next_almost_prime): Make it externally visible.
9109
9110 * lisp.h (next_almost_prime): Add prototype.
9111
d5483ab1
GM
9112 * s/isc4-0.h (sigunblock): Define.
9113
9114 * s/sco5.h (sigunblock): Define.
9115
93e40f40
DL
91162000-06-27 Dave Love <fx@gnu.org>
9117
9118 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9119 (moved to osf5-0.h).
9120 [!NOT_C_CODE]: Protect string.h stuff.
9121
9122 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9123 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9124
3c4b7685
GM
91252000-06-27 Gerd Moellmann <gerd@gnu.org>
9126
97d176db 9127 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9128 below the last line from the needed window height.
9129
32cad0aa
SM
91302000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9131
9132 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9133 (Fwidget_get): Use it.
9134 (syms_of_fns): Defsubr it.
9135
2c69ced2
GM
91362000-06-26 Gerd Moellmann <gerd@gnu.org>
9137
178c5d9c 9138 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9139 display info for XIM.
9140 (xim_open_dpy): Likewise.
9141 (xim_close_dpy): Don't free the display info's XIM.
9142
9143 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9144
9145 * config.in (USE_XIM): New define.
9146
3fc720e4
GM
9147 * keymap.c (get_keyelt): For menu-items containing a `:filter
9148 FILTER', apply FILTER to the menu-item's definition to get the
9149 real definition to use.
9150
9151 * lisp.h (QCfilter): External declaration.
9152
2c69ced2
GM
9153 * xfns.c (Fimage_size): New function.
9154 (syms_of_xfns): Defsubr it.
9155
f978b2a2
AS
91562000-06-26 Andreas Schwab <schwab@suse.de>
9157
9158 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9159 Fstring_as_unibyte.
9160
94cc7892
DL
91612000-06-25 Dave Love <fx@gnu.org>
9162
52283633 9163 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9164
9165 * Makefile.in (blockinput.h): Depend on atimer.h.
9166 (atimer.h): Depend on systime.h.
9167
52283633 9168 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9169
52283633 9170 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9171
9172 * lisp.h (swap_in_global_binding): Declare.
9173
b8c24556
KR
91742000-06-24 Ken Raeburn <raeburn@gnu.org>
9175
9176 * process.c (Fopen_network_stream): Turn off atimers for duration
9177 of call to connect. (Patch from Gerd.)
9178
8cf8560b
DL
91792000-06-23 Dave Love <fx@gnu.org>
9180
511c7541
DL
9181 * ralloc.c: Maybe include unistd.h
9182
8cf8560b
DL
9183 * emacs.c (setgrp): Undefine before defining.
9184 (malloc_warning, set_time_zone_rule, index): Prototype.
9185
9186 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9187 HAVE_STRUCT_TIMEZONE.
9188
9189 * s/osf1.h: Move string.h hack here from alpha.h and make it
9190 conditional.
9191 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9192 _XOPEN_SOURCE.
9193 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9194 (SOCKLEN_TYPE): Don't define.
9195
9196 * m/alpha.h: Remove string.h hack.
9197
9198 * s/osf5-0.h: New file.
9199
9200 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9201 include time.h, done by systime.h.
9202 [__FreeBSD__]: Remove redundant includes.
9203
3fc720e4 9204 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9205 (delete_temp_file): Return Qnil to avoid warning.
9206
9207 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9208
9209 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9210 HAVE_X_WINDOWS.
9211
9212 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9213
9214 * composite.h (compose_text): Declare.
9215
9216 * xterm.c: Don't include sys/types.h unconditionally. Don't
9217 protect its inclusion with !USG (following xmenu.c).
9218
ea055732
GM
92192000-06-23 Gerd Moellmann <gerd@gnu.org>
9220
9221 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9222 in x_create_frame.
9223
74b01b80
EZ
92242000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9225
9226 * coding.c (decode_eol_post_ccl): Special handling for undecided
9227 and inconsistent EOL types.
9228
64f3a166
GM
92292000-06-22 Gerd Moellmann <gerd@gnu.org>
9230
16cf31f7
GM
9231 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9232 trough color and main window's background color.
9233
52283633 9234 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9235
9236 * xterm.h (Xt_app_con): External declaration.
9237
9238 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9239
486a103d
GM
9240 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9241
64f3a166
GM
9242 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9243 (handle_invisible_prop): Record the start of invisible text in
9244 it->add_overlay_start.
9245 (struct overlay_entry): Add member `overlay'.
9246 (handle_overlay_change): Simplify.
9247 (next_overlay_string): After having processed overlay strings at the
9248 end of the buffer, record that fact in
9249 it->overlay_strings_at_end_processed_p.
9250 (compare_overlay_entries): If before- and after-strings come
9251 from the same overlay, let before-strings come first.
9252 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9253 (load_overlay_strings): Take it->add_overlay_start into account
9254 when adding overlay strings.
9255
9256 * dispextern.h (struct it): Add member add_overlay_start.
9257
bb746ea6
DL
92582000-06-22 Dave Love <fx@gnu.org>
9259
9260 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9261
9262 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9263
a8f573f3
KH
92642000-06-22 Kenichi Handa <handa@etl.go.jp>
9265
9266 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9267 is greater than 0.
9268
9f2bbc92
DL
92692000-06-21 Dave Love <fx@gnu.org>
9270
178c5d9c 9271 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9272
3ee5041c
SM
92732000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9274
9275 * syntax.c (back_comment): Simplify string-parity counting (with
9276 the added benefit of handling multiple string-styles as long as
9277 they are not intertwined).
9278 Jump to the slow code as soon as a comment starter is found in
9279 a "string_lossage" position. Fixes the case: " /* " /* " */.
9280
4c343001
DL
92812000-06-21 Dave Love <fx@gnu.org>
9282
9283 * Makefile.in: Use GETLOADAVG_LIBS.
9284
9285 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9286 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9287
e6365855
SM
92882000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9289
9290 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9291 (Fforward_comment, scan_lists):
9292 Check the comstyle of single-char comment-starters.
9293 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9294 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9295 Check the comstyle of single-char comment-starters.
9296 Clarify control-flow around the Scomment case.
e6365855 9297
5700d2cc
DL
92982000-06-20 Dave Love <fx@gnu.org>
9299
d355bd8a
SM
9300 * fns.c (make_hash_table, maybe_resize_hash_table):
9301 Cast arg of next_almost_prime.
5700d2cc 9302
178c5d9c 9303 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9304
9305 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9306 and unistd.h.
9307
4a27bdfb
GM
93082000-06-20 Gerd Moellmann <gerd@gnu.org>
9309
a61d762c 9310 * keyboard.c (adjust_point_for_property): Check if display
52283633 9311 property should be treated as intangible by looking at its value.
a61d762c 9312
178c5d9c 9313 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9314 (display_prop_intangible_p): New functions.
9315
9316 * dispextern.h (display_prop_intangible_p): Add prototype.
9317
9318 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9319
4a27bdfb
GM
9320 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9321 argument to sigprocmask.
9322
9323 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9324 argument to sigprocmask.
9325
9326 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9327 sigprocmask_set, and pass a pointer to it to sigprocmask.
9328
9329 * sysdep.c (sigprocmask_set): New variable.
9330
9331 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9332 report_file_error.
9333
427ec082
SS
93342000-06-20 Sam Steingold <sds@gnu.org>
9335
9336 * xrdb.c: Don't declare xmalloc, xrealloc.
9337
8972fe79 93382000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9339
9340 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9341 (re_comp): Cast gettext return value to avoid complaints when
9342 !HAVE_LIBINTL.
9343
074b6efe
DL
93442000-06-20 Dave Love <fx@gnu.org>
9345
52283633 9346 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9347
5700d2cc 9348 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9349
d355bd8a 9350 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9351
9352 * m/alpha.h: Don't declare xmalloc, xrealloc.
9353
0af4f205
DL
9354 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9355
9356 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9357
9358 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9359
9360 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9361 HAVE_GETWD.
9362
074b6efe
DL
9363 * keyboard.h (poll_for_input_1): Declare.
9364
9365 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9366
9367 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9368
9369 * doprnt.c: Don't declare xmalloc, xrealloc.
9370
9371 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9372 (getenv, ctime, getwd): Removed.
9373 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9374
9375 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9376 x_set_tool_bar_lines.
9377
9378 * config.in: Add HAVE_GETWD. Move some definitions above
9379 machine/system includes.
9380
68a5e97b
KH
93812000-06-20 Kenichi Handa <handa@etl.go.jp>
9382
95417e1e
KH
9383 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9384
68a5e97b
KH
9385 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9386 contain information about ENCODING.
9387
9388 * fontset.c (FONTSET_ASCII): Use the first element of char table
9389 for an ASCII font, not defalt slot.
9390 (fontset_ref_via_base): If FONTSET doesn't contain information for
9391 C, try the default fontset.
9392 (make_fontset): Don't copy the default fontset.
9393 (fontset_font_pattern): Likewise.
9394 (accumulate_font_info): If ELT is nil, use the corresponding
9395 element in the default fontset.
9396
3b4fa1b2
DL
93972000-06-19 Dave Love <fx@gnu.org>
9398
943e731c
DL
9399 * syntax.c (Fparse_partial_sexp): Doc fix.
9400
9401 * regex.h: Test PROTOTYPES as well as __STDC__.
9402
3b4fa1b2
DL
9403 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9404 errno, strerror. Put text after #endif in comment.
9405
52283633 9406 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9407
9408 * xterm.c (x_frame_of_widget): Likewise.
9409
cdf0357b
GM
94102000-06-19 Gerd Moellmann <gerd@gnu.org>
9411
9412 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9413 to Vfundamental_mode_abbrev_table.
9414
9415 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9416 bogus objects are marked. This slows down GC by ~80 percent, but
9417 it might be worth trying when debugging GC-related problems.
9418 This feature requires conservative stack marking to be enabled.
9419
9420 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9421 returns XLookupChars, reset `modifiers' to zero.
9422
998e9f8c
DL
94232000-06-19 Dave Love <fx@gnu.org>
9424
9425 * mktime.c: Unprotoized.
9426
18e21ce8 94272000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9428
9429 * data.c (set_internal): If variable is frame-local,
9430 store the new value immediately into the frame parameter alist.
9431
140c4ac6
KR
94322000-06-19 Ken Raeburn <raeburn@gnu.org>
9433
14358466
KR
9434 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9435 in the custom handler pointer.
9436
140c4ac6
KR
9437 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9438 value, or checks for CHAR_META can fail when Lisp_Object is a
9439 union type.
9440 * keymap.c (get_keyelt): Likewise.
9441
10d7bf84
KH
94422000-06-19 Kenichi Handa <handa@etl.go.jp>
9443
9444 * ccl.h (struct ccl_program): New member eol_type.
9445 (struct ccl_spec): New member cr_carryover.
9446
9447 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9448 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9449
9450 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9451 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9452 (decode_eol_post_ccl): New function.
9453 (decode_coding): Don't detect EOL format here for CCL based coding
9454 systems.
9455 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9456 decode_eol_post_ccl after running the CCL program.
9457 (code_convert_region): Don't detect EOL format here for CCL based
9458 coding systems.
9459 (decode_coding_string): Likewise.
9460
52e386c2
KR
94612000-06-18 Ken Raeburn <raeburn@gnu.org>
9462
9463 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9464 when treating it as an integer.
9465
9466 * coding.h (encode_coding_string): Declare.
9467
9468 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9469 it as an integer.
9470
9471 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9472 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9473 to be passed to get_local_map.
9474
9475 * sound.c (Fplay_sound): Don't call make_number on
9476 Frun_hook_with_args count argument.
9477
9478 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9479 for lisp objects in X event structure data field, when lisp
9480 objects are represented with unions.
9481 (x_scroll_bar_to_input_event): Ditto.
9482
b357b9d4
KR
94832000-06-16 Ken Raeburn <raeburn@gnu.org>
9484
9485 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9486 termination of string. Fix sense of test whether
9487 Vline_number_display_limit is an integer.
b357b9d4 9488
a871441d
GM
94892000-06-16 Gerd Moellmann <gerd@gnu.org>
9490
a9021acd
GM
9491 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9492 only if HAVE_X_WINDOWS.
9493
6344985d
GM
9494 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9495 of titles.
9496
427ec082 9497 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9498 out of bounds.
9499
228b083e
EZ
95002000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9501
9502 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9503 of its headers.
9504
c25b53a2
KH
95052000-06-15 Kenichi Handa <handa@etl.go.jp>
9506
9507 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9508 start of the while loop.
9509
a6981b11
GM
95102000-06-15 Gerd Moellmann <gerd@gnu.org>
9511
e9924e52
GM
9512 * atimer.c (alarm_signal_handler): Add forward declaration.
9513
a6981b11
GM
9514 * data.c (set_internal): Remove debug code.
9515
25fa6deb
GM
95162000-06-14 Gerd Moellmann <gerd@gnu.org>
9517
dce6b995
GM
9518 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9519
9f817ea4
GM
9520 * unexec.c (toplevel) [COFF]: Include coff.h.
9521
9522 * s/lynxos.h: New file.
9523
9524 * keymap.c (Fsingle_key_description): Enclose function key and
9525 event symbol names in angle brackets.
9526
8a4e3c0c
GM
9527 * xdisp.c (setup_echo_area_for_printing): Call
9528 message_log_maybe_newline if message_buf_print is not set.
9529
9530 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9531 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9532 function does something useful even when message_buf_print is
9533 already set.
9534
52283633
SM
9535 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9536 New variables.
25fa6deb
GM
9537 (ensure_echo_area_buffers): Initialize echo buffer's
9538 truncate lines setting to nil.
9539 (with_echo_area_buffer): Don't set the echo buffer's truncate
9540 lines setting here.
8a4e3c0c 9541 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9542 of message_truncate_lines.
9543 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9544 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9545 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9546
9547 * keyboard.c (read_char): Bind message-truncate-lines to t
9548 while displaying a help-echo.
9549
9550 * lisp.h (Qmessage_truncate_lines): External declaration.
9551
163dcff3
GM
95522000-06-13 Gerd Moellmann <gerd@gnu.org>
9553
1681ead6
GM
9554 * xdisp.c (Vline_number_display_limit): Renamed from
9555 line_number_display_limit.
9556 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9557 Extend documentation string. Initialize
9558 Vline_number_display_limit to nil meaning no limit.
9559 (decode_mode_spec): Use Vline_number_display_limit with its new
9560 meaning.
9561
163dcff3
GM
9562 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9563
18e21ce8 95642000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9565
9566 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9567
163dcff3
GM
9568 * xfns.c (x_set_frame_parameters): Comment fix.
9569
9570 * frame.c (store_frame_param): Call swap_in_global_binding if the
9571 variable's current binding was chosen based on this frame.
9572
9573 * data.c (swap_in_global_binding): New function.
9574
a704139d
EZ
95752000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9576
9577 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9578 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9579
9b6610db
EZ
95802000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9581
9582 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9583
c68833d2
JR
95842000-06-12 Jason Rumney <jasonr@gnu.org>
9585
9586 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9587
9588 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9589
9590 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9591
9592 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9593
ed1056b3
GM
95942000-06-12 Gerd Moellmann <gerd@gnu.org>
9595
9596 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9597 (syms_of_xfaces): Defsubr Sdump_colors.
9598 (x_free_colors): Don't treat b&w specially on default visual.
9599 (x_free_dpy_colors): New function.
9600 (free_face_colors): Don't check visual class; it's done
9601 in x_free_colors.
9602
9603 * xterm.c (x_frame_of_widget): New function.
9604 (x_alloc_nearest_color_for_widget): Use it.
9605 (x_copy_dpy_color): New function.
9606 (x_destroy_window): Free various colors.
9607
5050a2ef
KH
96082000-06-12 Kenichi Handa <handa@etl.go.jp>
9609
9610 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9611
9612 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9613
9614 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9615
9616 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9617
9618 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9619
fb1b041d
DL
96202000-06-11 Dave Love <fx@gnu.org>
9621
9622 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9623
ff96b5f4
EZ
96242000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9625
9626 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9627
db8eeecd
GM
96282000-06-11 Gerd Moellmann <gerd@gnu.org>
9629
ed1056b3 9630 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9631 to `XEvent *'.
9632
49b71c5f
KH
96332000-06-10 Kenichi Handa <handa@etl.go.jp>
9634
c479bd55
KH
9635 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9636 (regex_compile): Fix the code for handling the case of single byte
9637 char and multibyte char being mixed in a range within [...].
9638
ff6a65c2
KH
9639 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9640 and dst_multibyte members of coding.
9641
49b71c5f
KH
9642 * charset.c (update_charset_table): Update the table
9643 bytes_by_char_head.
9644 (init_charset_once): Initialize elements of bytes_by_char_head to
9645 1 except for leading codes for private charases.
9646
9647 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9648 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9649
9e80b57d
KR
96502000-06-09 Ken Raeburn <raeburn@gnu.org>
9651
9652 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9653 access the data it doesn't point to.
9654
f83fe4b4
GM
96552000-06-08 Gerd Moellmann <gerd@gnu.org>
9656
9657 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9658 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9659 event queue. This is necessary because Emacs otherwise won't
9660 perform a switch-frame to a new frame until some other event, for
9661 example a keystroke event, forces it to do so. This has various
9662 effects, one visible being that the cursor of a frame created with
9663 C-x 5 2 or switched to with a window manager key binding like
9664 A-TAB stays hollow because selected_window isn't on the newly
9665 focused frame until the switch-frame is performed.
9666
9667 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9668 generating a switch-frame event if necessary.
9669
9670 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9671
9672 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9673 it's an integer.
9674
0890801b
KH
96752000-06-08 Kenichi Handa <handa@etl.go.jp>
9676
52283633 9677 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9678
173cbca8
GM
96792000-06-07 Gerd Moellmann <gerd@gnu.org>
9680
3091c2a6
GM
9681 * window.c (displayed_window_lines): Take empty lines at
9682 the bottom of a window into account.
427ec082 9683
f38952fe
GM
9684 * window.c (displayed_window_lines): New function.
9685 (Fmove_to_window_line): Use displayed_window_lines to determine
9686 the number of lines to move, instead of using the window's height.
9687
9688 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9689 to stop reading, even if the form read sets point to a different
9690 value when evaluated.
9691
427ec082 9692 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9693 put the cursor.
9694
6ba6c818
KH
96952000-06-07 Kenichi Handa <handa@etl.go.jp>
9696
9697 * fileio.c (e_write): Free composition data if stored in
9698 coding->cmp_data.
9699
5f1aea9a
GM
97002000-06-06 Gerd Moellmann <gerd@gnu.org>
9701
666852af
GM
9702 * xdisp.c (display_line): Set row's and iterator's
9703 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9704 Set cursor even if row ends in the middle of a character.
9705 (dump_glyph_row): Print values of new flags.
9706 (redisplay_window) <cursor movement in unchanged window>: When
9707 point has been moved forward, and PT is at the end of the cursor
9708 row, don't place the cursor in the next row if the cursor row ends
9709 in the middle of a character or at ZV.
9710
9711 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9712 (struct glyph_row): Add starts_in_middle_of_char_p and
9713 ends_in_middle_of_char_p.
9714 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9715 ends_in_middle_of_char_p flag.
9716 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9717
d13f3e2e
GM
9718 * term.c (append_glyph): Revert change of 2000-06-06.
9719
9720 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9721 padding glyph not fitting on line as whole character not
9722 fitting on line.
9723
5f1aea9a
GM
9724 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9725 this isn't true for images with `:ascent 100'.
9726
10cda9b0
KH
97272000-06-06 Kenichi Handa <handa@etl.go.jp>
9728
ed00559d
KH
9729 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9730 as modified if it is originally unmodified.
9731
10cda9b0
KH
9732 * term.c (encode_terminal_code): Change the way to check if
9733 terminal coding does any conversion.
9734 (append_glyph): Set glyph->pixel_width correctly.
9735
9736 * xdisp.c (display_line): While checking line continuation, pay
9737 attention to a padding glyph.
9738
1969fae2
GM
97392000-06-05 Gerd Moellmann <gerd@gnu.org>
9740
9741 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9742
162ccef4
DL
97432000-06-05 Dave Love <fx@gnu.org>
9744
f19f32dd
DL
9745 * xdisp.c: Include fontset.h.
9746
9747 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9748
9749 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9750
9751 * dispnew.c: Conditionally include term.h.
9752
9753 * coding.h: Declare code_convert_string_norecord.
9754
9755 * frame.h (struct frame): Use volatile unconditionally.
9756
9757 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9758
9759 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9760
9761 * systime.h: Protect against multiple inclusion.
9762 (timezone) [USG5_4]: Define as time_t.
9763
9764 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9765 (Foptimize_char_table, make_temp_name): Declare.
9766
9767 * Makefile.in (xdisp.o): Depend on fontset.h.
9768
9769 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9770
9771 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9772 (Foptimize_char_table, make_temp_name): Declare.
9773
427ec082 9774 * s/irix4-0.h:
162ccef4
DL
9775 * s/irix5-0.h:
9776 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9777
2082fe81
DL
97782000-06-02 Dave Love <fx@gnu.org>
9779
9780 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9781
dcf671d2
GM
97822000-06-02 Gerd Moellmann <gerd@gnu.org>
9783
9784 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9785 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9786 be freed.
9787
9788 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9789 glyph, use the ASCII NUL character to determine the face.
9790
d42122a3
DL
97912000-06-02 Dave Love <fx@gnu.org>
9792
9793 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9794 (VFORK_RETURN_TYPE): Remove.
427ec082 9795
d42122a3
DL
9796 * config.in: Add NO_MATHERR.
9797
dd432f16
DL
97982000-06-01 Dave Love <fx@gnu.org>
9799
90aa4ea8
DL
9800 * cmds.c (internal_self_insert): Don't check
9801 Vbefore_change_function, Vafter_change_function.
9802
9803 * insdel.c (signal_before_change, signal_after_change): Likewise.
9804
9805 * buffer.c (Vbefore_change_function, Vafter_change_function):
9806 Variables and their initializations deleted.
9807
2330c9d4
DL
9808 * callint.c (Fcall_interactively): Doc fix.
9809
dd432f16
DL
9810 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9811
bf9e8804
DL
98122000-05-31 Dave Love <fx@gnu.org>
9813
9814 * textprop.c: Revert last change -- duplicated.
9815
3694b4ab
GM
98162000-05-31 Gerd Moellmann <gerd@gnu.org>
9817
9818 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9819 in #if 0.
9820
9821 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9822
f14156cd
JR
98232000-05-31 Jason Rumney <jasonr@gnu.org>
9824
8119aab8
JR
9825 * search.c (Fre_search_forward, Fre_search_backward)
9826 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9827
f14156cd
JR
9828 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9829
4aab9be3
JR
98302000-05-30 Jason Rumney <jasonr@gnu.org>
9831
9832 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9833 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9834
52283633 9835 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9836
9837 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9838 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9839 expand a nil default_filename.
9840
9841 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9842 pointer to glyph_to_pixel_coords, not a frame.
9843
9844 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9845 coding.h to dependencies.
9846
9847 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9848
9849 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9850 window pointer to be consistent with w32term.c and xterm.c.
9851
9852 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9853 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9854 (Qline_spacing, Qcenter): New variables.
9855 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9856 (x_set_line_spacing): New function.
52283633 9857 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9858 (x_specified_cursor_type): New function.
9859 (x_set_cursor_type): Use it.
9860 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9861 and icon strings.
9862 (validate_x_resource_name, x_get_resource_string): Measure lengths
9863 of external strings in bytes.
9864 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9865 GetTextExtentPoint32 with NULL title.
9866 (Fx_create_frame): Initialize Qline_spacing.
9867 (w32_load_system_font): Initialize font->double_byte_p.
9868 (x_to_w32_charset): Use Vw32_charset_info_alist.
9869 (Image, busy cursor, tooltip functions): Merged changes from
9870 xfns.c. Not yet functional on Windows.
9871
9872 * w32gui.h (W32FontStruct): Add double_byte_p member.
9873
9874 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9875 (emacs_button_translation): Use it.
9876 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9877 in `mask' to be set.
9878
9879 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9880 menu strings.
9881
9882 * w32term.c: Format and doc changes to bring closer to xterm.c.
9883 (w32_char_font_type): New enum.
9884 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9885 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9886 (w32_encode_char): New function.
9887 (x_encode_char): Removed.
9888 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9889 x_encode_char and w32_font_is_double_byte.
9890 (x_produce_image_glyph): Use image_ascent.
9891 (x_produce_glyphs): Use new version of w32_per_char_metric and
9892 handle NULL return value. Allow extra line spacing.
9893 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9894 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9895 w32_font_type member of glyph instead.
9896 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9897 (fast_find_position): Make sure not to consider rows not visible
9898 in the window.
9899 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9900 w32_menu_display_help with input blocked, as it can abort.
9901 (x_display_and_set_cursor): Choose cursor depending
9902 on buffer-local value of cursor_type.
9903 (x_draw_bar_cursor): Add parameter WIDTH.
9904
9905 * w32term.h (CP_DEFAULT): Define.
9906 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9907
10fc3187
GM
99082000-05-30 Gerd Moellmann <gerd@gnu.org>
9909
9910 * search.c (Fre_search_forward, Fre_search_backward)
9911 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9912
d0555360
KH
99132000-05-30 Kenichi Handa <handa@etl.go.jp>
9914
9915 * coding.c (detect_coding_iso2022): Fix code for checking
9916 CODING_CATEGORY_MASK_ISO_8_2.
9917
f1ad044f
SM
99182000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9919
9920 * regex.c (PREFETCH_NOLIMIT): New function.
9921 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9922
84ec3b4b
GM
99232000-05-29 Gerd Moellmann <gerd@gnu.org>
9924
66254a13
GM
9925 * syntax.c (find_defun_start): Move test for
9926 open_paren_in_column_0_is_defun_start outside of the loop.
9927
49e70dec
GM
9928 * xdisp.c (redisplay_window): Really switch buffers when
9929 displaying mode lines, and temporarily set selected_frame to the
9930 frame of the window that's redisplayed.
9931
84ec3b4b
GM
9932 * xfaces.c (free_realized_faces): Block/unblock input.
9933 (free_realized_multibyte_face): Ditto.
9934
869a3a14
DL
99352000-05-29 Dave Love <fx@gnu.org>
9936
9937 * textprop.c (Qkeymap): New variable.
9938 (syms_of_textprop): Intern it.
9939
9940 * keymap.c: Include intervals.h.
9941 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9942
9943 * Makefile.in (keymap.o): Depend on intervals.h.
9944
9945 * keyboard.c (menu_bar_items, tool_bar_items)
9946 (Fexecute_extended_command): Deal with `keymap' property.
9947 (read_key_sequence): Track map from `keymap' property as well as
9948 `local_map'.
9949
9950 * intervals.c (get_local_map): Extra arg to allow looking for
9951 `keymap' too.
9952
9953 * intervals.h (map_property): New enum.
9954 (get_local_map): Extra arg using it.
9955 (Qkeymap): Declare.
9956
84ec3b4b 9957 * lisp.h (get_local_map): Don't declare here.
869a3a14 9958
89d0c844
KH
99592000-05-29 Kenichi Handa <handa@etl.go.jp>
9960
9961 * Makefile.in (callproc.o): Depend on composite.h.
9962
9963 * callproc.c: Include composite.h.
9964 (Fcall_process): Handle composition correctly.
9965
9966 * coding.h (coding_allocate_composition_data): Extern it.
9967 (coding_restore_composition): Likewise.
9968
9969 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9970 yet allocated, finish decoding with result
9971 CODING_FINISH_INSUFFICIENT_CMP.
9972 (coding_allocate_composition_data): Make it non-static.
9973 (coding_restore_composition): Likewise.
9974
797a084a
EZ
99752000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9976
9977 * charset.c (syms_of_charset): Revert last change.
9978
cf872af5
EZ
99792000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9980
9981 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9982 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9983 Handa.
cf872af5 9984
5b1ae051
EZ
99852000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9986
9987 * charset.c (syms_of_charset): Set width of character sets
9988 eight-bit-control and eight-bit-graphic to 1 column.
9989
34ec9ebe
GM
99902000-05-26 Gerd Moellmann <gerd@gnu.org>
9991
9992 * config.in (HAVE_SPEED_T): New define.
9993
9994 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9995 `extern speed_t'.
9996
dd854dc2
DL
99972000-05-26 Dave Love <fx@gnu.org>
9998
9999 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10000
10001 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10002 (Fsubr_arity): New function.
10003 (syms_of_data): Install them.
10004
ba9f8f95
KH
100052000-05-26 Kenichi Handa <handa@etl.go.jp>
10006
0f3e0672
KH
10007 * charset.c (init_charset_once): Set the table bytes_by_char_head
10008 correctly.
10009
cebefb44
KH
10010 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10011 the default fontset to what Emacs uses by default.
0f3e0672
KH
10012 (check_registry_encoding): This function deleted.
10013 (Fset_fontset_font): Remove the adhoc condition for the default
10014 fontset. Allow cons in FONTNAME.
cebefb44 10015
0f3e0672
KH
10016 * fns.c (map_char_table): Ignore char-table entries for
10017 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10018
7a18af49
KR
100192000-05-25 Ken Raeburn <raeburn@gnu.org>
10020
10021 * emacs.c (main): Initialize keyboard syms before initializing
10022 window code, so face names are available.
10023
d2af47df
SM
100242000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10025
10026 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10027 of an anchor at the beginning of a shy-group.
10028
fc6a6a4e
GM
100292000-05-25 Gerd Moellmann <gerd@gnu.org>
10030
10031 * xdisp.c (handle_invisible_prop): Don't try to skip over
10032 invisible text if end of text is already reached.
10033
005f0d35
DL
100342000-05-25 Dave Love <fx@gnu.org>
10035
02513cdd
DL
10036 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10037
005f0d35
DL
10038 * coding.c (encode_eol): Add null statement after label.
10039
89f6ca4e
EZ
100402000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10041
10042 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10043 2000-05-20.
10044
a4e1759e
KH
100452000-05-25 Kenichi Handa <handa@etl.go.jp>
10046
10047 * ccl.c (ccl_driver): Fix previous change.
10048
eacfd7fe
KH
100492000-05-25 Kenichi Handa <handa@etl.go.jp>
10050
46ab33a9
KH
10051 * coding.c (run_pre_post_conversion_on_str): Set point to the
10052 beginning of buffer before calling coding->post_read_conversion.
10053 (decode_coding_string): Give correct args to
10054 run_pre_post_conversion_on_str.
10055 (encode_coding_string): Likewise.
10056
eacfd7fe
KH
10057 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10058 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10059 eight-bit-graphic correctly.
10060
f8569325
DL
100612000-05-24 Kenichi HANDA <handa@etl.go.jp>
10062
10063 * fileio.c (Finsert_file_contents): Even if a file is not found,
10064 execute codes for setting up coding system. Call
10065 after-insert-file-functions unconditionally.
10066
04545643
GM
100672000-05-24 Gerd Moellmann <gerd@gnu.org>
10068
10069 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10070 BSD_PGRPS are not defined.
10071
747d90ea
KH
100722000-05-24 Kenichi Handa <handa@etl.go.jp>
10073
10074 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10075 DESCRIPTION.
10076 (syms_of_charset): Avoid building same strings.
10077
716e3b88
GM
100782000-05-23 Gerd Moellmann <gerd@gnu.org>
10079
10080 * lread.c (Fload): Add a comment about the meaning of
10081 Vuser_init_file being t.
10082
10083 * puresize.h (BASE_PURESIZE): Increase to 675000.
10084
10085 * s/gnu-linux.h (setpgrp): Don't define it here because this
10086 prevents compilation on GNU/Linux systems with glib 2.2.
10087
10088 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10089 as setpgid.
427ec082 10090
9aeb39fa
EZ
100912000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10092
10093 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10094 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10095 version.
10096 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10097
29ced61b
KH
100982000-05-23 Kenichi Handa <handa@etl.go.jp>
10099
52283633 10100 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10101
3d80f24d
KH
10102 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10103
52283633 10104 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10105
29ced61b
KH
10106 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10107
d7e00792
KH
101082000-05-22 Kenichi Handa <handa@etl.go.jp>
10109
c9d80d38
KH
10110 * keyboard.c (read_char): Allow character codes 128..255 to be
10111 handled by input-method-function.
10112
d7e00792
KH
10113 * insdel.c (adjust_markers_for_replace): Fix previous change.
10114 (adjust_after_replace): If PREV_TEXT is nil, call
10115 adjust_markers_for_insert, not adjust_markers_for_replace.
10116
087121cc 101172000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10118
087121cc
GM
10119 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10120 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10121 [HAVE_GRANDPT]: Define.
10122 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10123
10124 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10125 like SYSV_PTYS.
10126
10127 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10128
10129 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10130
c9671f81
KH
101312000-05-20 Kenichi Handa <handa@etl.go.jp>
10132
10133 The following changes are to handle 8-bit characters in a
10134 multibyte buffer/string without facing with byte combining
10135 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10136 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10137
10138 * Makefile.in (fns.o): Depend on charset.h.
10139
10140 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10141 convert it to unibyte.
10142 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10143
10144 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10145 apparent char boundary.
10146 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10147 0x80..0x9F to/from multibyte form.
10148
10149 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10150 to unibyte.
10151
10152 * callproc.c (Fcall_process): Always encode an argument string if
10153 it is multibyte. Setup src_multibyte and dst_multibyte members of
10154 process_coding properly.
ce75fd23 10155
c9671f81
KH
10156 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10157 SPLIT_NON_ASCII_CHAR.
10158
10159 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10160 as is.
10161 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10162
52283633 10163 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10164 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10165 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10166 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10167 and eight-bit-graphic.
10168 (char_to_string): Likewise. Signal an error for too large
10169 character code.
10170 (char_printable_p): Return 0 for 8-bit characters.
10171 (update_charset_table): Update iso_charset_table only when a final
10172 character is non-negative.
10173 (find_charset_in_text): Renamed from find_charset_in_str.
10174 Arguments and return value changed. Callers changed.
10175 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10176 be -1 if CHARSET is used only internally.
10177 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10178 eight-bit-graphic.
10179 (Fcharset_after): Simplified.
10180 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10181 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10182 (multibyte_chars_in_text): Simplified by assuming there's no
10183 invalid multibyte sequence.
52283633
SM
10184 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10185 (str_as_unibyte): New functions.
10186 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10187 (init_charset_once): Initialization for
10188 LEADING_CODE_8_BIT_CONTROL.
10189 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10190 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10191 eight-bit-control and eight-bit-graphic.
10192
52283633
SM
10193 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10194 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10195 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10196 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10197 (CHARSET_REVERSE_CHARSET): Likewise.
10198 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10199 eight-bit-graphic.
10200 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10201 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10202 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10203 encounter an invalid multibyte sequence.
10204 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10205 sequence is always valid.
10206 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10207 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10208 (CHAR_STRING): For 8-bit characters, call char_to_string.
10209 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10210 multibyte sequence is always valid.
10211 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10212 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10213 (str_as_unibyte): Extern them.
c9671f81 10214 (BCOPY_SHORT): Fix a bug.
52283633 10215 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10216 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10217 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10218 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10219
bd4bde7f 10220 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10221 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10222 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10223 (EMIT_BYTES): New macros.
10224 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10225 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10226 macros deleted.
10227 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10228 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10229 check the validity of multibyte sequence.
10230 (decode_coding_emacs_mule): New function.
10231 (encode_coding_emacs_mule): New macro.
10232 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10233 the source.
10234 (DECODE_ISO_CHARACTER): Just return a character code.
10235 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10236 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10237 EMIT_CHAR to produced decoded characters. Exit the loop only by
10238 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10239 block here.
10240 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10241 only position codes for an invalid character.
10242 (encode_designation_at_bol): Return new destination pointer. 5th
10243 arg DSTP is changed to DST.
10244 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10245 from the source by ONE_MORE_CHAR. Don't handle the case of last
10246 block here.
10247 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10248 macros deleted.
52283633
SM
10249 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10250 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10251 TWO_MORE_BYTES to fetch a byte from the source.
10252 (encode_eol): Pay attention to coding->src_multibyte.
10253 (detect_coding, detect_eol): Preserve members src_multibyte and
10254 dst_multibyte.
10255 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10256 (encoding_buffer_size): Set magnification to 3 for all coding
10257 systems that require encoding.
10258 (ccl_coding_driver): For decoding, be sure that the result is
10259 valid multibyte sequence.
10260 (decode_coding): Initialize coding->errors and coding->result.
10261 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10262 and raw-text, always call decode_eol. Handle the case of last
10263 block here. If not coding->dst_multibyte, convert the resulting
10264 sequence to unibyte.
10265 (encode_coding): Initialize coding->errors and coding->result.
10266 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10267 and raw-text, always call encode_eol. Handle the case of last
10268 block here.
10269 (shrink_decoding_region, shrink_encoding_region): Detect cases
10270 that we can't skip data more rigidly.
10271 (code_convert_region): Setup src_multibyte and dst_multibyte
10272 members of coding. For decoding, if the buffer is multibyte,
10273 convert the source sequence to unibyte in advance. For encoding,
10274 if the buffer is multibyte, convert the resulting sequence to
10275 multibyte afterward.
10276 (run_pre_post_conversion_on_str): New function.
10277 (code_convert_string): Deleted and divided into the following two.
10278 (decode_coding_string, encode_coding_string): New functions.
10279 (code_convert_string1, code_convert_string_norecord): Call one of
10280 above.
10281 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10282 MAKE_NON_ASCII_CHAR.
52283633
SM
10283 (Fset_terminal_coding_system_internal)
10284 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10285 and dst_multibyte members.
10286 (init_coding_once): Initialize iso_code_class with new enum
10287 ISO_control_0 and ISO_control_1.
10288
10289 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10290 devided into ISO_control_0 and ISO_control_1.
10291 (struct coding_system): New members src_multibyte, dst_multibyte,
10292 errors, and result. Delete member fake_multibyte.
10293 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10294 nonzero.
10295 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10296 nonzero.
10297
10298 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10299 (Faset): Likewise.
10300
10301 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10302 multibyte form.
10303 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10304 combining occurs.
10305 (Ftranspose_region): Delete codes for handling byte combining.
10306
10307 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10308 dst_multibyte members of coding. On handling REPLACE on unibyte
10309 buffer, convert the result of decode_coding to unibyte. On
10310 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10311 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10312 multibyteness of the source (buffer or string).
10313
10314 * fns.c (concat): Handle 8-bit characters correctly.
10315 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10316 unibyte in the result.
10317 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10318 valid multibyte form in the result.
10319 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10320 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10321 return -1, signal an error.
10322 (base64_encode_1): New arg MULTIBYTE. Get each character by
10323 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10324 character is found, return -1.
10325 (Fbase64_decode_region): Delete codes for handling byte-combining.
10326 Treat each decoded byte as a unibyte character.
10327 (Fbase64_decode_string): Return unibyte string.
10328 (Fcompare_strings, concat, string_byte_to_char): Use
10329 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10330 FETCH_STRING_CHAR_ADVANCE.
10331 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10332 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10333
10334 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10335 SPLIT_NON_ASCII_CHAR.
10336 (fontset_ref_via_base, fontset_set): Likewise
10337
10338 * insdel.c (adjust_markers_for_record_delete): Deleted.
10339 (adjust_markers_for_insert): Argument changed. Caller changed.
10340 (adjust_markers_for_replace): Likewise.
52283633
SM
10341 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10342 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10343 (copy_text): Delete unused local varialbe c_save. For converting
10344 to multibyte, be sure to make all 8-bit characters in valid
10345 multibyte form.
10346 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10347 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10348 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10349 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10350 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10351 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10352 handling byte combining.
10353 (adjust_before_replace): Deleted.
427ec082 10354
c9671f81
KH
10355 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10356 SPLIT_NON_ASCII_CHAR.
10357 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10358 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10359 (Fkey_description): Likewise.
10360
10361 * lread.c (read1): On reading multibyte string, be sure to make
10362 all 8-bit chararacters in valid multibyte form.
10363 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10364
10365 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10366 unconditionally.
10367
10368 * process.c (Fstart_process): GCPRO current_dir before calling
10369 Ffind_operation_coding_system. Encode arguments here.
10370 (create_process): Don't encode arguments here. Setup
10371 src_multibyte and dst_multibyte members of struct coding.
10372 (read_process_output): Setup src_multibyte and dst_multibyte
10373 members of struct coding. If the output is to multibyte buffer,
10374 always decode the output of the process. Adjust the
52283633 10375 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10376 (send_process): Setup coding->src_multibyte according to the
10377 multibyteness of the source.
10378
52283633 10379 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10380 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10381 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10382
52283633 10383 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10384
10385 * w16select.c (Fw16_set_clipboard_data): Setup members
10386 src_multibyte and dst_multibyte of coding. Adjusted for the
10387 change for find_charset_in_str.
10388 (Fw16_get_clipboard_data): Likewise.
10389
10390 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10391 dst_multibyte of coding.
10392 (x_to_w32_font): Likewise.
10393
10394 * w32select.c (Fw32_set_clipboard_data): Setup members
10395 src_multibyte and dst_multibyte of coding. Adjusted for the
10396 change for find_charset_in_str.
10397 (Fw32_get_clipboard_data): Likewise.
10398
10399 * xdisp.c (get_next_display_element): Handle 8-bit characters
10400 correctly.
52283633
SM
10401 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10402 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10403
10404 * xselect.c (selection_data_to_lisp_data): Setup members
10405 src_multibyte and dst_multibyte of coding. Adjusted for the
10406 change for find_charset_in_str.
10407 (lisp_data_to_selection_data): Likewise.
10408
5f64c9e0
GM
104092000-05-19 Gerd Moellmann <gerd@gnu.org>
10410
52283633 10411 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10412
5f64c9e0
GM
10413 * dispextern.h (Vimage_types): Add extern declaration.
10414
10415 * xdisp.c (Vimage_types): Moved here from xfns.c.
10416 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10417
10418 * xfns.c (Vimages_types): Moved to xdisp.c.
10419 (syms_of_xfns): Move `image-types' to xdisp.c.
10420
10421 * w32fns.c (Vimage_types): Removed.
10422 (syms_of_w32fns): Remove `image-types'.
10423
813086ea
KH
104242000-05-18 Kenichi Handa <handa@etl.go.jp>
10425
10426 * fns.c (map_char_table): Pay attention to character number of
10427 charset. Check the validity of charset at the first level. For
10428 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10429 the default value.
10430
10431 * fontset.c: Include "buffer.h".
10432 (fs_load_font): If the face has fontset, record the face ID in
10433 that fontset.
10434 (Finternal_char_font): New function.
10435 (accumulate_font_info): New function.
10436 (Ffontset_info): Rewritten for the new fontset implementation.
10437 (syms_of_fontset): Register Vdefault_fontset in the first element
10438 of Vfontset_table. Include Vdefault_fontset in
10439 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10440 function.
10441
bdaebbf0
DL
104422000-05-16 Dave Love <fx@gnu.org>
10443
10444 * m/iris5d.h: Deleted -- unused.
10445
cb613bb8
GM
104462000-05-16 Gerd Moellmann <gerd@gnu.org>
10447
b15f3b77
GM
10448 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10449 `invalid' instead of `illegal'.
10450
10451 * indent.c (Fmove_to_column): When ending within a tab, insert
10452 spaces first so that markers at the end of the tab get adjusted.
10453
835c1b36
GM
10454 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10455 buffer list that wasn't selected in that frame.
10456
cb613bb8
GM
10457 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10458 is needed on mescaline, use a 2 char prefix, and call
10459 make_temp_name with second arg non-zero.
10460
10461 * fileio.c (make_temp_name): New function, extracted from
10462 Fmake_temp_name.
10463 (Fmake_temp_name): Use it.
10464
f685bea9
EZ
104652000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10466
52283633 10467 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10468
a1b8d58b
GM
104692000-05-15 Gerd Moellmann <gerd@gnu.org>
10470
10471 * Makefile.in (lisp): Add env.elc.
10472
10473 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10474
a265079f
GM
104752000-05-12 Gerd Moellmann <gerd@gnu.org>
10476
10477 * search.c (Freplace_match): Handle case of `\N' in the
10478 replacement when there's no group N.
10479
da4496b6
GM
104802000-05-11 Gerd Moellmann <gerd@gnu.org>
10481
0ace421a
GM
10482 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10483 of the message to message_dolog.
10484
1172eb8d
GM
10485 * keyboard.c (read_char): Don't clear current message for help
10486 events; let the code handling help events handle this. Change
10487 code detecting help events that should be ignored.
10488
da4496b6
GM
10489 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10490 we're interating over a string.
10491
0623e40f
DL
104922000-05-09 Dave Love <fx@gnu.org>
10493
10494 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10495 that offset before writing. Move gcpro region past call of
10496 Ffile_regular_p.
10497
bae2503b
DL
104982000-05-04 Dave Love <fx@gnu.org>
10499
10500 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10501
ec82fb2f
GM
105022000-05-04 Gerd Moellmann <gerd@gnu.org>
10503
10504 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10505 of inserted characters when BUF equals the current buffer, and PT
10506 is in front of or equal to FROM.
10507
cbf18892
GM
105082000-05-03 Gerd Moellmann <gerd@gnu.org>
10509
4ff40dd0
GM
10510 * xdisp.c (handle_single_display_prop): If display property value
10511 is invalid, or something not supported on the frame, restore
10512 iterator's position to what it was initially. Make sure to return
10513 0 for invalid and unsupported property values.
10514
cbf18892
GM
10515 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10516 that x_per_char_metric returns null.
10517
1b0672c3
GM
105182000-05-02 Gerd Moellmann <gerd@gnu.org>
10519
576da55d
GM
10520 * xterm.h (struct face): Add forward declaration.
10521 (struct image): Ditto.
10522 (image_ascent): Add prototype.
10523
10524 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10525 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10526 image_ascent instead of using IMAGE_ASCENT.
10527
10528 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10529 (IMAGE_ASCENT): Removed.
10530
10531 * xfns.c (Qcenter): New variable.
10532 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10533 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10534 (image_ascent): New function.
10535 (lookup_image): Recognize `:ascent center'.
10536 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10537 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10538 (xbm_load): Don't set image's ascent here.
10539 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10540 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10541 check ascent values here.
10542 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10543 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10544 (syms_of_xfns): Initialize Qcenter.
10545
1b0672c3
GM
10546 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10547 to the limits, increase the limits.
10548
0d7811ed
KH
105492000-05-01 Kenichi Handa <handa@etl.go.jp>
10550
10551 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10552 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10553
a943a5ca
GM
105542000-04-28 Gerd Moellmann <gerd@gnu.org>
10555
10556 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10557 taller than the window.
10558
5dba1e29
KH
105592000-04-28 Kenichi Handa <handa@etl.go.jp>
10560
10561 * xfaces.c (realize_x_face): Fix the argument of the second
10562 xassert. BASE_FACE may not be a face for ASCII.
10563
353964e3
GM
105642000-04-27 Gerd Moellmann <gerd@gnu.org>
10565
c76e04a8
GM
10566 * print.c (print_object): Treat print-length < 0 as nil.
10567
10568 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10569
10570 * s/freebsd.h (TERMCAP_OBJ): Removed.
10571 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10572
10573 * lread.c (read1): Don't treat period followed by certain
10574 characters as symbol start.
10575
10576 * xfns.c (slurp_file): New function.
10577 (xbm_image_p): Handle case of in-memory XBM files.
10578 (xbm_scan): Rewritten to work on memory buffers instead of files.
10579 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10580 Work on memory buffers instead of files. If DATA is null test
10581 if buffer looks like an in-memory XBM file.
10582 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10583 memory buffers instead of files.
10584 (xbm_file_p): New function.
10585 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10586
353964e3
GM
10587 * lread.c (end_of_file_error): New function.
10588 (read1): Call it instead of signaling `end-of-file' directly.
10589
427ec082 10590 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10591 with Fprinc instead of Fprin1.
10592
24d744ac
KR
105932000-04-26 Ken Raeburn <raeburn@gnu.org>
10594
10595 * window.c (freeze_window_start): Check that minibuffer scroll
10596 window isn't nil before extracting the window structure pointer
10597 from it.
10598
10599 * undo.c (record_delete): If we hit the end of the undo list, stop
10600 picking elements apart.
10601
7464346d
GM
106022000-04-26 Gerd Moellmann <gerd@gnu.org>
10603
10604 * xdisp.c (display_line): If lines are continued, restore
10605 iterator's ascent/descent information to the values before the
10606 first glyph not fitting on the line.
10607
612839b6
GM
106082000-04-25 Gerd Moellmann <gerd@gnu.org>
10609
10610 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10611 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10612
10613 * dispnew.c (increment_matrix_positions): Renamed from
10614 increment_glyph_matrix_buffer_positions.
10615 (increment_row_positions): Renamed from
10616 increment_glyph_row_buffer_positions.
10617
10618 * dispextern.h: Change names of renamed functions from dispnew.c
10619 in prototypes.
10620
cc181e95
GM
106212000-04-24 Gerd Moellmann <gerd@gnu.org>
10622
abfcc168
GM
10623 * fileio.c (Fdo_auto_save): Create directories for auto-save
10624 list file if necessary.
10625
cc181e95
GM
10626 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10627 from buffer or frame.
10628 (automatic_hscrolling_p): New variable.
10629 (hscroll_windows): Scroll windows horizontally only if automatic
10630 hscrolling is allowed.
10631 (syms_of_xdisp): New variable `automatic-hscrolling'.
10632
10633 * frame.h (struct frame): Add member extra_line_spacing.
10634
10635 * xfns.c (x_set_line_spacing): New function.
10636 (Fx_create_frame): Set line spacing from resources.
10637 (Qline_spacing): New variable.
10638 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10639
cc181e95
GM
10640 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10641
10642 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10643 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10644 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10645 extra_line_spacing from default value.
10646 (init_buffer_once): Initialize default value of extra_line_spacing.
10647
10648 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10649 and extra3.
10650
10651 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10652 prompt_width. Add extra line spacing.
10653
10654 * term.c (produce_glyphs): Remove reference to struct it's
10655 prompt_width.
10656
10657 * dispextern.h (struct it): Remove member prompt_width, add
10658 extra_line_spacing.
10659
58827478
GM
106602000-04-22 Gerd Moellmann <gerd@gnu.org>
10661
10662 * dispnew.c (update_frame_line): When writing a whole line, make
10663 sure cursor is in the right row afterwards, otherwise a use of
10664 capability `ch' in cmgoto might leave the cursor in the row below.
10665
25a87f42
GM
106662000-04-21 Gerd Moellmann <gerd@gnu.org>
10667
10668 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10669
10670 * keyboard.c (timer_check): Fix typo in comment.
10671
54edf5c2
KH
106722000-04-21 Kenichi Handa <handa@etl.go.jp>
10673
10674 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10675 name change: ch -> character.
10676
3a64eef5
GM
106772000-04-20 Gerd Moellmann <gerd@gnu.org>
10678
10679 * keyboard.c (echo_message_buffer): New variable.
10680 (echo_now): Set echo_message_buffer to the echo area buffer used
10681 to display the echo.
10682 (cancel_echoing): Reset echo_message_buffer to nil.
10683 (read_char): Code rewritten that handles canceling an echo or
10684 echoing a dash, respectively.
10685
10686 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10687 directory doesn't exist.
10688
6142fdcb
DL
106892000-04-19 Dave Love <fx@gnu.org>
10690
10691 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10692 (concat): Don't allow numeric args.
10693 (Fconcat): Doc change.
6142fdcb 10694
ac6b5352
SM
106952000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10696
10697 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10698 instead define end_match(1|2) more carefully.
10699 Use GET_CHAR_BEFORE_2 for `begline'.
10700
cb9215e4
GM
107012000-04-19 Gerd Moellmann <gerd@gnu.org>
10702
5e3dac3f
GM
10703 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10704 on 64-bit systems where NULL is defined as `0'.
10705
10706 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10707 the `variable argument list' to make it work on Alpha.
10708
cb9215e4
GM
10709 * m/alpha.h (_LP64) [!_LP64]: Define.
10710 (ORDINARY_LINK): Define for NetBSD.
10711
10712 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10713
f532dca0
DL
107142000-04-19 Dave Love <fx@gnu.org>
10715
c750667e
DL
10716 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10717 change.
10718
10719 * Makefile.in (LIBS): Don't use.
10720 (GETLOADAVG_OBJ): Define again.
10721 (otherobj): Add GETLOADAVG_OBJ.
10722
f532dca0
DL
10723 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10724
1c7e22fd
GM
107252000-04-18 Gerd Moellmann <gerd@gnu.org>
10726
f6d3257b
GM
10727 * lread.c (read_filtered_event): Cancel and start busy cursor.
10728
427ec082 10729 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10730 that the per-character metrics may be null.
10731
e10f64e7
GM
107322000-04-17 Gerd Moellmann <gerd@gnu.org>
10733
0daee095
GM
10734 * buffer.c (clone_per_buffer_values): New function.
10735 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10736 clone_per_buffer_values if CLONE is not nil.
10737
e10f64e7
GM
10738 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10739
38687d43
DL
107402000-04-16 Dave Love <fx@gnu.org>
10741
10742 * Makefile.in: Remove obsolete localcpp stuff.
10743 (GETLOADAVG_OBJ): Don't define.
10744 (obj): Move LIBOBJS...
10745 (otherobj): ... to here.
10746 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10747 whitespace-only lines after the continuation (Irix).
10748
c21c7262
GM
107492000-04-14 Gerd Moellmann <gerd@gnu.org>
10750
10751 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10752
10753 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10754
314767c0
DL
107552000-04-14 Dave Love <fx@gnu.org>
10756
10757 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10758 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10759 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10760 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10761 NLIST_STRUCT.
10762
10763 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10764 autoconfiscated HAVE_GETLOADAVG.
10765
10766 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10767 BROKEN_MKTIME.
10768
a2522dca
GM
107692000-04-14 Gerd Moellmann <gerd@gnu.org>
10770
10771 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10772 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10773
33744b5d
DL
107742000-04-14 Dave Love <fx@gnu.org>
10775
c21c7262 10776 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10777 (INTERVAL_SRC): Convert to make variable.
10778 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10779 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10780 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10781 add LIBOBJS.
10782 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10783 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10784 (shortlisp): Add facemenu, float-sup, frame.
10785 (SOME_MACHINE_LISP): Remove them from here.
10786 (LIBES): Change unused LDLIBS to autoconf LIBS.
10787
10788 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10789
9d3d5916
KH
107902000-04-14 Kenichi Handa <handa@etl.go.jp>
10791
10792 * composite.c (update_compositions): If FROM and TO are not in a
10793 valid range, do nothing.
10794
198e3c7a
GM
107952000-04-13 Gerd Moellmann <gerd@gnu.org>
10796
52283633 10797 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10798
52283633 10799 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10800
10801 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10802 as TERMCAP_OBJ.
10803
055a28c9
EZ
108042000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10805
10806 * fileio.c (a_write): Remove redundant semi-colons.
10807 (e_write): Return -1 if failed to write all the data.
10808 This fixes the changes made at 1999-12-15.
10809
f5c75033
DL
108102000-04-12 Dave Love <fx@gnu.org>
10811
10812 * fns.c (mapcar1): Test for null vals to support mapc.
10813 (Fmapc): New function.
10814
0c3cfc51
EZ
108152000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10816
10817 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10818 (IT_frame_up_to_date): Support the buffer local value of
10819 cursor-type, if defined.
10820
33465a31
DL
108212000-04-10 Dave Love <fx@gnu.org>
10822
10823 * editfns.c (preceding-char, following-char): Doc fix.
10824
6ed56568
KR
108252000-04-10 Ken Raeburn <raeburn@gnu.org>
10826
10827 * Makefile.in (temacs): Revert 2000-03-12 change.
10828
7cf80d4e
JR
108292000-04-10 Jason Rumney <jasonr@gnu.org>
10830
10831 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10832
34f3f342
GM
108332000-04-10 Gerd Moellmann <gerd@gnu.org>
10834
1a1b1895
GM
10835 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10836 area buffer, if it's not set up yet.
10837
34f3f342
GM
10838 * indent.c (compute_motion): Set immediate_quit.
10839
be0dbdab
GM
108402000-04-09 Gerd Moellmann <gerd@gnu.org>
10841
52283633 10842 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10843 (realize_tty_face): Suppress boldness if colors are the inverse of
10844 the default colors, and tty_suppress_bold_inverse_default_colors_p
10845 is set.
10846 (Ftty_suppress_bold_inverse_default_colors): New function.
10847 (syms_of_xfaces): Defsubr it.
10848
be0dbdab
GM
10849 * buffer.c (Frestore_buffer_modified_p): New function.
10850 (syms_of_buffer): Defsubr it.
10851
e8413c3b
KR
108522000-04-08 Ken Raeburn <raeburn@gnu.org>
10853
87f67317
KR
10854 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10855 charset id (int) argument, not a charset (Lisp_Object).
10856
e8413c3b
KR
10857 * coding.h (code_convert_string): Declare.
10858 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10859 object, as the fourth argument to code_convert_string.
10860
52283633 10861 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10862 (Fset_fontset_font): Use EQ to compare lisp objects.
10863
7c752c80
KR
108642000-04-05 Ken Raeburn <raeburn@gnu.org>
10865
c0333abc
KR
10866 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10867 a pointer that looks like a lisp object.
10868 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10869 zero, instead see whether it's an integer object, since they can't
10870 have intervals.
10871 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10872
52283633
SM
10873 * dispnew.c (allocate_matrices_for_frame_redisplay)
10874 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10875 to convert between (unsigned) int values and lisp integers.
10876 * keyboard.c (read_key_sequence): Likewise.
10877 * lread.c (substitute_object_recurse): Likewise.
10878 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10879 * minibuf.c (do_completion, Fminibuffer_complete_word)
10880 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10881 * term.c (produce_special_glyphs): Likewise.
10882
10883 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10884 * print.c (print_preprocess, print_object): Likewise.
10885
10886 * search.c (compile_pattern): Use NILP when checking for nil.
10887
74e49b38
KR
10888 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10889 __OPTIMIZE__]: Provide a GNU C macro version that handles
10890 lisp-object unions.
10891 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10892 field, to better cope with ENABLE_CHECKING and calls that modify a
10893 Lisp_Object using its old value.
10894
685e5ed2
GM
108952000-04-04 Gerd Moellmann <gerd@gnu.org>
10896
c407c570
GM
10897 * window.c (compare_window_configurations): Signal an error
10898 if parameters C1 or C2 aren't window configurations.
10899
685e5ed2
GM
10900 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10901 AFTER_POTENTIAL_GC calls around calls to functions that can
10902 signal an error and thus invoke the debugger.
10903
587a49ab
GM
109042000-04-03 Gerd Moellmann <gerd@gnu.org>
10905
62f20204
GM
10906 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10907 an error if decoding fails.
10908
587a49ab
GM
10909 * keyboard.c (lispy_mouse_names): Variable removed.
10910 (Vlispy_mouse_stem): New variable.
10911 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10912 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10913 for any mouse button number. Increase size of mouse_syms and
10914 button_down_location as needed. Call modify_event_symbol with
10915 different arguments.
10916 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10917 Call modify_event_symbol with different arguments.
10918 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10919 for any button number. Call modify_event_symbol with different
10920 arguments.
10921 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10922 Accept a string for NAME_ALIST_OR_STEM.
10923
10924 * lisp.h (larger_vector): Add prototype.
10925
10926 * fns.c (larger_vector): Make externally visible.
10927
10928 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10929
2d1675e4
SM
109302000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10931
10932 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10933 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10934 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10935 we are between str1 and str2.
10936 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10937 (PATFETCH): Use `TRANSLATE'.
10938 (PATFETCH_RAW): Fetch multibyte char if applicable.
10939 (PATUNFETCH): Remove.
10940 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10941 When writing a char, write it directly into the pattern buffer rather
10942 than going needlessly through a temp char-array.
10943 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10944 multibyte magic and remove the useless `#ifdef emacs'.
10945 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10946 buffer.
10947
10948 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10949 conditional on `emacs'.
10950
10951 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10952
cc2d8c6b
KR
109532000-04-01 Ken Raeburn <raeburn@gnu.org>
10954
10955 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10956 non-union-type versions of XMARK and friends here, because XMARK
10957 and friends won't work on an integer field if NO_UNION_TYPE is not
10958 defined.
52283633 10959 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10960
52283633 10961 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10962 (syms_of_composite): Delete local var NARGS, pass an int as first
10963 argument to Fmake_hash_table.
10964
2387b382
KR
10965 * editfns.c (text_property_stickiness): Use NILP to test
10966 Lisp_Object boolean value.
10967 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10968 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10969 problems reading from and changing the same lisp value in an
10970 XSETSTRING call.
10971
27660e89
GM
109722000-04-01 Gerd Moellmann <gerd@gnu.org>
10973
10974 * term.c (TN_no_color_video): New variable.
10975 (term_init): Intitialize TN_no_color_video.
10976 (enum no_color_bit): New enumeration.
10977 (MAY_USE_WITH_COLORS_P): New macro.
10978 (turn_on_face): Use it to determine if attributes may be used
10979 combined with colors.
10980
3578db3c
KR
109812000-04-01 Ken Raeburn <raeburn@gnu.org>
10982
10983 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10984 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10985 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10986 proper accessor macros.
10987 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10988 (grow_mini_window): Fix typo getting int value of root->height.
10989
6fc556fd
KR
10990 * xdisp.c (compute_string_pos): Fix order of arguments to
10991 string_pos_nchars_ahead.
10992 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10993 count arg to variable-arg routines like Frun_hook_with_args and
10994 Fformat.
587a49ab
GM
10995 (back_to_previous_visible_line_start)
10996 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10997 fixed-arg routines like Fget_char_property and Fmake_string.
10998 (reconsider_clip_changes): Use XINT when comparing integer lisp
10999 objects, or passing them as int arguments.
587a49ab
GM
11000 (mark_window_display_accurate, insert_left_trunc_glyphs)
11001 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11002 storing or passing integer values as lisp objects.
11003 (set_cursor_from_row, highlight_trailing_whitespace): Use
11004 INTEGERP, not implicit test against zero, for glyph object.
11005 (try_window_id): Don't use make_number when we want an int value.
11006
11007 * xfaces.c (xlfd_symbolic_value): Make last argument a
11008 Lisp_Object, to be consistent with callers.
11009 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11010 (lface_hash): Apply XFASTINT to lisp values before folding in.
11011
11012 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11013 fill in window width and height. Pass an int, not a lisp object,
11014 as first arg to Finsert.
11015
6e7b2457
GM
110162000-04-01 Gerd Moellmann <gerd@gnu.org>
11017
610d841e
GM
11018 * xfaces.c (realize_basic_faces): Block input while realizing
11019 the faces.
11020
6e7b2457
GM
11021 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11022
11023 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11024
aa110c0c
GM
110252000-03-31 Gerd Moellmann <gerd@gnu.org>
11026
11027 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11028 or ASCII, handle case that per-char metric is null.
aa110c0c 11029
8801a864
KR
110302000-03-30 Ken Raeburn <raeburn@gnu.org>
11031
c6129d7e
KR
11032 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11033
52283633
SM
11034 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11035 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11036 pointer, using eassert.
11037 * frame.h (XFRAME): Likewise.
11038
52283633
SM
11039 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11040 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11041 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11042 * data.c (set_internal): Likewise.
52283633
SM
11043 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11044 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11045 * fileio.c (auto_save_1): Likewise.
11046 * insdel.c (check_markers): Likewise.
11047 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11048 * undo.c (record_insert): Likewise.
11049 * vmsproc.c (child_sig): Likewise.
11050 * window.c (unshow_buffer, window_loop): Likewise.
11051 * xterm.c (x_erase_phys_cursor): Likewise.
11052
8e7af858
GM
110532000-03-30 Gerd Moellmann <gerd@gnu.org>
11054
11055 * xfns.c (free_image_cache): Free the cache structure itself
11056 last, after all its members have been freed.
11057
11058 * lisp.h (xstrdup): Add prototype.
11059
11060 * alloc.c (xstrdup): Moved here from xfaces.c.
11061 (allocating_for_lisp): Variable removed.
52283633 11062 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11063
11064 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11065 of Fsymbol_value.
11066 (xstrdup): Moved to alloc.c.
11067
e0b8c689
KR
110682000-03-29 Ken Raeburn <raeburn@gnu.org>
11069
b96f9fb7
KR
11070 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11071
11072 * emacs.c (main): Fix sense of no-loadup test.
11073
e0b8c689
KR
11074 * config.in (ENABLE_CHECKING): Undef.
11075
11076 * lisp.h (struct interval): Replace "parent" field with a union of
11077 interval pointer and Lisp_Object; add new bitfield to use as
11078 discriminant. Change other flag fields to bitfields.
11079 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11080 is defined and the supplied test fails, print a message and abort.
11081 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11082
11083 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11084 pointers; abort if the value looks like a lisp object.
52283633
SM
11085 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11086 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11087 Modify for new interval parent definition.
11088
52283633
SM
11089 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11090 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11091 addressable lisp object in the interval structure.
11092 (die): New function.
11093 (suppress_checking): New variable.
11094
11095 * intervals.c (interval_start_pos): Just return 0 if there's no
11096 parent object.
11097
f83c5440
GM
110982000-03-29 Gerd Moellmann <gerd@gnu.org>
11099
11100 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11101 and earlier Emacs versions.
11102
11103 * keyboard.c (Ftop_level): Cancel busy-cursor.
11104
11105 * eval.c (call_debugger): Cancel busy-cursor.
11106
fdce64ff
KH
111072000-03-29 Kenichi Handa <handa@etl.go.jp>
11108
11109 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11110 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11111
f6a3f532
SM
111122000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11113
11114 * regex.c (analyse_first): New function obtained by ripping out most
11115 of re_compile_fastmap and generalizing it a little bit so that it
11116 can also just return whether a given (sub)pattern can match the empty
11117 string or not.
11118 (regex_compile): Use `analyse_first' to decide whether the loop-check
11119 needs to be done or not for *, +, *? and +? (the loop check is costly
11120 for non-greedy repetition).
11121 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11122
e9b309ac
DL
111232000-03-28 Dave Love <fx@gnu.org>
11124
52283633 11125 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11126
e9b309ac
DL
11127 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11128
ed0767d8
SM
111292000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11130
11131 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11132 an expression.
11133 (enum re_opcode_t): Update description of succeed_n.
11134 (PATFETCH): Always define.
11135 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11136 operators, char classes, shy-groups and intervals).
11137 Optimize special cases of intervals so as to only use succeed_n and
11138 jump_n when really needed.
11139 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11140 that we don't have to handle the special cases any more.
11141 Simplify on_failure_jump handling as well.
11142
e11e7e46
JR
111432000-03-28 Jason Rumney <jasonr@gnu.org>
11144
11145 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11146
88faab89
GM
111472000-03-27 Gerd Moellmann <gerd@gnu.org>
11148
182ff242
GM
11149 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11150
11151 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11152
182ff242
GM
11153 * alloc.c (mark_maybe_object): New function.
11154 (mark_memory): Use it.
11155 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11156 (setjmp_tested_p, longjmp_done): New variables.
11157 (test_setjmp): New function.
11158 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11159 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11160
c1005d06
GM
11161 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11162 to DEC_TEXT_POS and INC_TEXT_POS.
11163
11164 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11165 with parameter MULTIBYTE_P.
11166
52283633 11167 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11168
7439e5b9 11169 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11170 buffers because it looks for multibyte character byte sequences
11171 which don't exist in unibyte text.
7439e5b9 11172
d9c545da
GM
11173 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11174
11fd416e 11175 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11176 [DEBUG_X_COLORS]: New functions.
11177 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11178
11179 * xfns.c (x_set_cursor_color): Get color reference counts right.
11180
11181 * xterm.c (x_copy_color): New function.
11182 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11183
11184 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11185 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11186 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11187 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11188 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11189 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11190 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11191 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11192 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11193 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11194
11fd416e
GM
11195 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11196 names for handling per-buffer variables.
d9c545da
GM
11197
11198 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11199 instead of MAX_BUFFER_LOCAL_VARS.
11200 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11201
11202 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11203
88faab89
GM
11204 * xfns.c (x_specified_cursor_type): New function.
11205 (x_set_cursor_type): Use it.
11206
11207 * buffer.h (struct buffer): Add cursor_type.
11208
d80f42b7
SM
112092000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11210
11211 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11212 (print_partial_compiled_pattern, re_compile_fastmap):
11213 Handle new opcode.
d80f42b7
SM
11214 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11215 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11216 executing it as well as when popping it off the stack to find infinite
11217 loops in non-greedy repetition operators.
11218
89e80928
GM
112192000-03-26 Gerd Moellmann <gerd@gnu.org>
11220
3d4ff2dd
GM
11221 * doc.c (Qfunction_documentation): New variable.
11222 (syms_of_doc): Initialize Qfunction_documentation.
11223 (Fdocumentation): If FUNCTION is a symbol with non-nil
11224 `function-documentation' property, return a documentation derived
11225 from that.
11226
bd96bd79
GM
11227 * buffer.c (syms_of_buffer): Add default-cursor-type.
11228 (init_buffer_once): Don't let cursor_type have a local value
11229 in every buffer.
11230
19d1bc27
GM
11231 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11232 on buffer-local value of cursor_type.
11233 (x_draw_bar_cursor): Add parameter WIDTH.
11234
11235 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11236 (init_buffer_once): Set default cursor_type value to t.
11237 Mark cursor_type as local everywhere.
11238 (syms_of_buffer): New per-buffer variable cursor-type.
11239
89e80928
GM
11240 * buffer.h (struct buffer): Remove member local_var_flags,
11241 add local_flags.
11242 (MAX_BUFFER_LOCAL_VARS): New macro.
11243 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11244 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11245 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11246 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11247
52283633 11248 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11249
11250 * category.c (Fset_category_table): Use new macros for per-buffer
11251 variables.
11252
11253 * buffer.c (buffer_permanent_local_flags): Make a char array.
11254 (max_buffer_local_idx): New variable.
11255 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11256 for new handling of per-buffer variables.
11257 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11258 (init_buffer_once): Initialize per-buffer vars differently.
11259 Set max_buffer_local_idx.
11260
11261 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11262 variables.
11263
52283633 11264 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11265
11266 * data.c (do_symval_forwarding, store_symval_forwarding)
11267 (find_symbol_value, set_internal, default_value, Fset_default)
11268 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11269 per-buffer variables.
11270
11271 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11272
9a0dd3dc
GM
112732000-03-24 Gerd Moellmann <gerd@gnu.org>
11274
b68c375f
GM
11275 * xterm.c (x_term_init): Unblock input around call1 of
11276 Qvendor_specific_keysyms.
11277
9a0dd3dc
GM
11278 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11279 (find_defun_start): Consider an open parenthesis in column 0
11280 a defun start only if open_paren_in_column_0_is_defun_start is set.
11281 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11282
7973e637
SM
112832000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11284
11285 * eval.c (Fautoload): Add entry in load-history (if after dump).
11286 * lread.c (load-history): Update docstring.
11287
39210e90
GM
112882000-03-24 Gerd Moellmann <gerd@gnu.org>
11289
11290 * indent.c (Fvertical_motion): Always use the current buffer.
11291 Temporarily change the window's buffer, if necessary.
11292
72db3ab5
GM
112932000-03-23 Gerd Moellmann <gerd@gnu.org>
11294
11295 * xterm.c (fast_find_position): Make sure not to consider rows
11296 not visible in the window.
11297
990b2375
SM
112982000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11299
11300 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11301 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11302
ff4df011
JR
113032000-03-22 Jason Rumney <jasonr@gnu.org>
11304
11305 * w32menu.c (single_submenu): Set help string to NULL if none.
11306 (w32_menu_show): Set help string correctly.
11307 (add-menu-item): Set help string in MIIM_DATA for menu item.
11308 Load SetMenuItemInfoA explicitly.
11309 (w32_menu_display_help): New function.
427ec082 11310
ff4df011
JR
11311 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11312 (QCdata): Moved to xdisp.c.
11313
11314 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11315 (Vw32_charset_to_codepage_alist): Removed.
11316 (Vw32_charset_info_alist): New variable.
52283633
SM
11317 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11318 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11319 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11320 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11321 with TODO comment.
11322 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11323 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11324 Define Vw32_charset_info_alist and w32_charset symbols.
11325
113262000-03-22 Jason Rumney <jasonr@gnu.org>
11327
11328 * makefile.nt (w32bdf.obj): Update dependencies.
11329
11330 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11331
11332 * w32fns.c: Include fontset.h after dispextern.h.
11333 (Fx_create_frame): Do not create fontset.
11334 (w32_load_system_font): Doc fix.
11335 (Fx_close_connection): Free full_name if it is not shared.
11336
11337 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11338 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11339 Callers updated.
ff4df011
JR
11340 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11341 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11342 (w32_font_is_double_byte): New function, needs body.
11343 (x_append_glyph): Set glyph->glyph_not_available_p.
11344 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11345 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11346 character, convert it to a unibyte character.
11347 (struct glyph_string): Delete member `charset'.
11348 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11349 calculating it is found.
11350 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11351 the case that per char metric is not available correctly.
11352 (x_fill_glyph_string): Handle the case that the specific glyph is
11353 not available correctly.
11354 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11355 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11356 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11357 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11358 fontset. Don't call FS_LOAD_FONT.
11359
439d5cb4
KR
113602000-03-22 Ken Raeburn <raeburn@gnu.org>
11361
11362 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11363 (INT_LISPLIKE): New macro.
11364 (NULL_INTERVAL_P): Use it.
52283633
SM
11365 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11366 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11367 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11368
11369 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11370 explicit references to "parent" field of struct interval and
11371 associated unclean type conversions.
52283633
SM
11372 * intervals.c (create_root_interval, root_interval, rotate_right)
11373 (rotate_left, balance_possible_root_interval, split_interval_right)
11374 (split_interval_left, interval_start_pos, find_interval)
11375 (next_interval, previous_interval, update_interval)
11376 (adjust_intervals_for_insertion, delete_node, delete_interval)
11377 (adjust_intervals_for_deletion, merge_interval_right)
11378 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11379 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11380 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11381 Likewise.
11382 * syntax.c (update_syntax_table): Likewise.
11383
11384 * intervals.c (reproduce_tree_obj): New function, like
11385 reproduce_tree but takes a Lisp_Object for the parent. Declare
11386 with prototype.
11387 (graft_intervals_into_buffer): Use it when appropriate.
11388 (reproduce_tree): Declare with prototype.
11389 (balance_possible_root_interval): Check that the parent is a lisp
11390 object before trying to examine its type.
11391
ee1c5b21
GM
113922000-03-22 Gerd Moellmann <gerd@gnu.org>
11393
11394 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11395 as strings only if both are known to be strings.
11396
11397 * s/openbsd.h (LIBS_TERMCAP): Undef.
11398
1fb352e0
SM
113992000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11400
11401 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11402 definitions for non-Emacs compilation.
11403 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11404 outside of `#ifdef emacs'.
11405 (print_partial_compiled_pattern): Update.
11406 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11407 (re_compile_fastmap): Merge handling of charset and charset_not (for
11408 emacs and non-emacs compilation as well).
11409 Similarly for (not)categoryspec and (not)syntaxspec.
11410 Don't use the fastmap when reaching `anychar' since the added
11411 complexity is not justified.
11412 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11413 and (not)syntaxspec. Merge (not)categoryspec.
11414
fdaa1f77
KH
114152000-03-22 Kenichi Handa <handa@etl.go.jp>
11416
52283633
SM
11417 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11418 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11419 --without-x.
fdaa1f77 11420
d152fb46
DL
114212000-03-21 Dave Love <fx@gnu.org>
11422
11423 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11424 doc string.
11425
d2cafc8c
GM
114262000-03-21 Gerd Moellmann <gerd@gnu.org>
11427
11428 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11429 (lface_fully_specified_p): Don't check contents of
11430 LFACE_FONT_INDEX because that attribute is optional.
11431 (realize_x_face): Remove now unwarranted xassert.
11432
9111d4b5
KH
114332000-03-21 Kenichi HANDA <handa@etl.go.jp>
11434
11435 The following changes are to make font selection based on
11436 characters, not charset. In addition, they recover fontset
11437 facilities while utilizing the new font selection mechanism.
11438
6c4bfdc0
KH
11439 * Makefile.in (fontset.o): Depend on dispextern.h.
11440
11441 * alloc.c (mark_face_cache): Don't mark face->registry.
11442
9111d4b5
KH
11443 * dispextern.h (struct glyph): New member glyph_not_available_p.
11444 Use 22 bits for face_id.
11445 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11446 (struct face): Delete member registry, new member ascii_face.
11447 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11448 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11449 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11450 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11451
11452 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11453 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11454 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11455 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11456 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11457 (fs_free_face_fontset, fontset_font_pattern)
11458 (face_suitable_for_char_p, face_for_char)
11459 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11460 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11461 (FS_LOAD_FACE_FONT): New macro.
11462
11463 * fontset.c: All codes rewritten or adjusted for the change of
11464 fontset implementation. Now fontset is represented by char table.
52283633
SM
11465 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11466 Variables removed.
9111d4b5 11467 (my_strcasecmp): Function removed.
52283633 11468 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11469 (AREF, ASIZE): New macros.
52283633
SM
11470 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11471 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11472 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11473 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11474 (fontset_id_valid_p, font_family_registry, fontset_name)
11475 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11476 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11477 New functions.
11478 (fs_load_font): New arg FACE. Caller changed.
11479 (fs_query_fontset): Argument changed. Caller changed.
11480 (Fquery_fontset): call fs_query_fontset.
11481 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11482 Functions removed.
52283633
SM
11483 (clear_fontset_elements, check_registry_encoding)
11484 (check_fontset_name): New functions.
9111d4b5
KH
11485 (syms_of_fontset): Set char-table-extra-slots property of fontset
11486 to 3. Staticpro and initialize Vfontset_table and
11487 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11488
11489 * frame.h (struct frame): Member `fontset_data' removed.
11490 (FRAME_FONTSET_DATA): Macro removed.
11491
11492 * frame.c (make_frame): Don't allocate f->fontset_data.
11493 (Fdelete_frame): Don't free f->fontset_data.
11494
6c4bfdc0
KH
11495 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11496
9111d4b5
KH
11497 * xdisp.c (charset_at_position): Function removed.
11498 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11499 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11500 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11501 Likewise.
11502 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11503 FACE_FOR_CHARSET.
52283633
SM
11504 (get_next_display_element, append_space)
11505 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11506
11507 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11508 Variables removed.
11509 (clear_font_table, frame_update_line_height, load_face_font):
11510 Adjusted for the change of fontset implementation.
11511 (load_face_fontset_font): Function removed.
11512 (pixel_point_size): New function.
11513 (font_list): Argument type changed. Caller changed.
11514 (LFACE_FONT): New macro.
11515 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11516 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11517 Lisp_Object. Determine the font name by actually loading a font
11518 by the specified pattern. Set LFACE_FONT (lface) to the specified
11519 pattern. Even if a font is not found, don't try alternatives.
11520 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11521 (set_font_frame_param): If `font' is specified in lface, use it.
11522 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11523 (lface_same_font_attributes_p): Likewise.
11524 (make_realized_face): Arguent changed. Caller changed. Set
11525 face->ascii_face to face itself.
11526 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11527 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11528 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11529 (free_realized_multibyte_face): New function.
11530 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11531 changed. Caller changed.
11532 (try_font_list): Argument type changed.
11533 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11534 (choose_face_font): Argument changed. Handle fontset properly.
11535 (choose_face_fontset_font): Function removed.
11536 (realize_default_face, realize_named_face): Don't remove the
11537 former face here.
11538 (realize_face): Argument changed. Caller changed. Remove face
52283633 11539 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11540 (realize_x_face): Argument changed. Caller changed. For a
11541 multibyte character, share fontset with base_face. For a single
52283633 11542 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11543 (realize_tty_face): Argument changed. Caller changed.
11544 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11545 (face_at_buffer_position): Don't check multibyte_p for returning
11546 DEFAULT_FACE_ID.
11547 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11548 FACE_SUITABLE_FOR_CHARSET_P.
11549 (syms_of_xfaces): Remove code for Qx_charset_registry and
11550 Vface_default_registry.
11551
6c4bfdc0
KH
11552 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11553 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11554 (x_per_char_metric): Don't try FONT->default_char. Even if
11555 pcm->width is zero, glyph bits may exist.
11556 (x_encode_char): Always initialize char2b->byte1.
11557 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11558 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11559 (x_append_glyph): Set glyph->glyph_not_available_p.
11560 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11561 it->charset. Handle the case that per char metric is not
11562 available. If it->multibyte_p is zero and it->c is a multibyte
11563 character, convert it to a unibyte character.
11564 (struct glyph_string): Delete member `charset'.
11565 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11566 the case that per char metric is not available correctly.
11567 (x_fill_glyph_string): Handle the case that the specific glyph is
11568 not available correctly.
11569 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11570 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11571 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11572 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11573 fontset. Don't call FS_LOAD_FONT.
11574
11575 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11576 (x_create_tip_frame): Likewise.
11577 (Fx_close_connection): Free full_name of font_info.
11578
11579 * fns.c (optimize_sub_char_table): New function.
11580 (Foptimize_char_table): New function.
11581 (syms_of_fns): Defsubr Soptimize_char_table.
11582
b33dd3b0
GM
115832000-03-20 Gerd Moellmann <gerd@gnu.org>
11584
11585 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11586 only if buffer is displayed in some window.
11587
11588 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11589 (try_window_reusing_current_matrix): Don't call scroll run
11590 function if run's current and desired position are the same;
11591 this prevents cursor flickering.
11592
4e8a9132
SM
115932000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11594
11595 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11596
11597 * regex.c (RE_STRING_CHAR): New macro.
11598 (GET_CHAR_AFER_2): Remove.
11599 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11600 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11601 (print_partial_compiled_pattern, re_compile_fastmap)
11602 (re_match_2_internal): Remove on_failure_jump_exclusive.
11603 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11604 optimization only need to work for * (ie. can use of_keep_string_jump).
11605 Remove the special case for .*\n since it is now covered by the general
11606 optimization.
11607 (re_search_2): Don't bother with `room'.
11608 (skip_one_char): New function.
11609 (skip_noops): Simplify since `memory' is not needed any more.
11610 (mutually_exclusive_p): Restructure slightly to use `switch' and
11611 add handling for "all" remaining cases.
11612 (re_match_2_internal): Change on_failure_jump_smart to use
11613 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11614 rather than on_failure_jump_exclusive.
11615
2136fdd4
GM
116162000-03-19 Gerd Moellmann <gerd@gnu.org>
11617
11618 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11619 number of bits per RGB because it's everywhere used as the depth
11620 of the visual.
11621
11622 * term.c (calculate_costs): Remove code dealing with X frames.
11623
18e21ce8 116242000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11625
11626 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11627
d7b511c4
GM
116282000-03-18 Gerd Moellmann <gerd@gnu.org>
11629
11630 * lread.c (read_integer): Unread the last char not consumed.
11631
16b5d424
GM
116322000-03-17 Gerd Moellmann <gerd@gnu.org>
11633
11634 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11635 which are in the process of being deleted.
16b5d424 11636
1fa28578
GM
116372000-03-16 Gerd Moellmann <gerd@gnu.org>
11638
83488cce
GM
11639 * Makefile.in (mostlyclean): Add `*.core'.
11640 (clean): Add `bootstrap-emacs'.
11641
1fa28578
GM
11642 * lread.c (read_integer): New function.
11643 (read1): Support read syntax #o, #x, #b, #r.
11644
99633e97
SM
116452000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11646
1fa28578
GM
11647 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11648 make sure POINTER_TO_OFFSET gives the same value before and after
11649 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11650 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11651 (debug): Now only active if > 0 rather than if != 0.
11652 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11653 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11654 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11655 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11656 (store_op1, store_op2, insert_op1, insert_op2)
11657 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11658 (group_in_compile_stack): Move to after its arg's types are
11659 declared and add a prototype.
99633e97 11660 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11661 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11662 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11663 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11664 indentation of the greedy-op and shy-group code.
99633e97
SM
11665 (at_(beg|end)line_loc_p): Fix argument's types.
11666 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11667 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11668 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11669 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11670 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11671 QUIT unconditionally.
99633e97 11672
699238d9
GM
116732000-03-15 Gerd Moellmann <gerd@gnu.org>
11674
11675 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11676 a sole completion.
11677
11678 * process.c (send_process): Add a hint that the function
11679 can call Lisp code to its comment.
11680
11681 * lread.c (load_dangerous_libraries): New variable.
11682 (Vbytecomp_version_regexp): New variable.
11683 (safe_to_load_p): New function.
11684 (Fload): Handle files not compiled with Emacs specially.
11685 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11686
34e23e5a
GM
116872000-03-14 Gerd Moellmann <gerd@gnu.org>
11688
9c763cca
GM
11689 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11690
11691 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11692 support functions only if HAVE_X11R6_XIM is defined.
11693 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11694
11695 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11696
11697 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11698 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11699 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11700
11701 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11702 (HAVE_X11R6_XIM): Define.
11703
11704 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11705
34e23e5a
GM
11706 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11707 If set, call XSynchronize.
11708
66f0296e
SM
117092000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11710
34e23e5a
GM
11711 * regex.c: Declare a new type `re_char' used throughout the code
11712 for the string char type. It's `const unsigned char' to match the
11713 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11714 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11715 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11716 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11717 code duplication.
66f0296e
SM
11718
11719 * charset.h (GET_CHAR_AFTER_2): Remove.
11720 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11721
854a025c
KR
117222000-03-12 Ken Raeburn <raeburn@gnu.org>
11723
11724 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11725 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11726 of them try to use backquotes.
11727
b9d2c7e2
DL
117282000-03-12 Dave Love <fx@gnu.org>
11729
11730 * unexelf.c: Restore changes of 1999-10-19.
11731 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11732 fix its type and alignment; copy it from current process.
11733
5e5dff44
GM
117342000-03-12 Gerd Moellmann <gerd@gnu.org>
11735
9b2f3c38
GM
11736 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11737 has been found. Fix bug not computing timer's predecessor.
11738
427ec082 11739 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11740 file name.
11741
e1cff360
GM
11742 * window.c (Fsave_window_excursion): Doc fix.
11743
52283633 11744 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11745
e411ce4b
EZ
117462000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11747
11748 * msdos.c (vga_installed): New function, code moved from
11749 dos_set_window_size.
11750 (Qbar, Qcursor_type, outside_cursor): New variables.
11751 (syms_of_msdos): Intern and staticpro them.
11752 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11753 shape used outside Emacs when called for the first time.
11754 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11755 cursor shape used outside Emacs.
11756 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11757 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11758 type has changed.
11759 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11760 parameters specify the cursor. Make qreverse a global
11761 variable (renamed to Qreverse).
11762
80460654
GM
117632000-03-09 Gerd Moellmann <gerd@gnu.org>
11764
11765 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11766
95cd4c40
SM
117672000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11768
11769 This is a big redesign of failure-stack and register handling, prompted
11770 by bugs revealed when trying to add shy-groups. Overall, what happened
11771 is that loops are now structured a little differently, groups can be
11772 shy and the code is a little simpler.
11773
11774 * regex.h: Update the copyright.
11775 (RE_SHY_GROUPS): New value.
11776 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11777 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11778
80460654
GM
11779 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11780 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11781 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11782 for (start|stop)_memory since they now only take one argument (the
11783 second has becomes unnecessary).
52283633 11784 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11785 (print_compiled_pattern): Use %ld to printf long ints and flush to
11786 make debugging a little easier.
95cd4c40
SM
11787 (union fail_stack_elt): Make the integer unsigned.
11788 (struct fail_stack_type): Add a `frame' element.
11789 (INIT_FAIL_STACK): Init `frame' as well.
11790 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11791 (DEBUG_PUSH, DEBUG_POP): Remove.
11792 (NUM_REG_ITEMS): Remove.
11793 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11794 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11795 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11796 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11797 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11798 New macros.
80460654
GM
11799 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11800 address pushed is not the destination of the jump but the source
11801 of it instead.
95cd4c40
SM
11802 (NUM_FAILURE_ITEMS): Remove.
11803 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11804 registers before the actual failure point). Don't hardcode any
11805 meaning for str==NULL anymore.
95cd4c40 11806 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11807 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11808 Remove.
95cd4c40
SM
11809 (REG_UNSET_VALUE): Use NULL (why not?).
11810 (compile_range): Remove declaration since it doesn't exist.
11811 (struct compile_stack_elt_t): Remove inner_group_offset.
11812 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11813 (regex_grow_registers): Remove dead code.
11814 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11815 (regex_compile): Add shy-groups Change loops to use
11816 on_failure_jump_smart&jump instead of
11817 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11818 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11819 variable to me). Use `jump' instead of `jump_past_alt' and don't
11820 bother with push_dummy_failure in alternatives since it is now
11821 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11822 emacs' for (re)allocating the stack.
11823 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11824 from loop when bufp->can_be_null rather than jumping to `done'.
11825 Avoid jumping backwards so as to ensure termination. Use
11826 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11827 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11828 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11829 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11830 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11831 (lowest_active_reg, highest_active_reg)
11832 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11833 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11834 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11835 variables. Push register (in `start_memory') on the stack rather
11836 than storing it in old_reg(start|end). Remove the cycle detection
11837 from `stop_memory', replaced by the use of on_failure_jump_loop
11838 for greedy loops. Add code for the new on_failure_jump_<foo>.
11839 Remove ad-hoc code in `on_failure_jump' to push more registers in
11840 the case of a loop. Take out code from `maybe_pop_jump' into
11841 separate functions and adapt it to the semantics of
11842 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11843 and push_dummy_failure. Remove dummy_failure handling and
11844 handling of `failures to jump to on_failure_jump' (this last one
11845 was already dead code, it seems).
11846 (group_match_null_string_p, alt_match_null_string_p)
11847 (common_op_match_null_string_p): Remove.
95cd4c40 11848
7397acc4
DL
118492000-03-08 Dave Love <fx@gnu.org>
11850
11851 * config.in: Don't depend on __STDC__ for volatile.
11852 Add POINTER_TYPE, PTR, PROTOTYPES.
11853
11854 * hftctl.c, strftime.c: Use PROTOTYPES.
11855 * eval.c (find_handler_clause): Likewise.
11856
11857 * mem-limits.h: Use POINTER_TYPE.
11858
11859 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11860 (memory_warnings): Declare using POINTER_TYPE.
11861
5e91ff9e
GM
118622000-03-08 Gerd Moellmann <gerd@gnu.org>
11863
feab4fba
GM
11864 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11865
52283633 11866 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11867
5e91ff9e
GM
11868 * xfns.c: Remove obsolete code in #if 0.
11869 (Fx_focus_frame): New function.
11870
a735b7e1
KH
118712000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11872
11873 * coding.c (coding_category_name): Add coding-category-utf-8,
11874 coding-category-utf-16-be, coding-category-utf-16-le.
11875 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11876 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11877 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11878 (detect_coding_utf_8): New function.
11879 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11880 UTF_16_LOW_SURROGATE_P): New macros.
11881 (detect_coding_utf_16): New function
11882 (detect_coding_mask): When priorities are specified, skip any
11883 categories that have `nil' coding-system. Fix bug of returning
11884 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11885 returns a mask not set in PRIORITIES.
11886 (detect_eol_type_in_2_octet_form): New function.
11887 (detect_eol): selects detect_eol_type_XXX to call according to
11888 cooding->category_idx.
11889 (detect_coding_system): Remove `nil' coding-system in the result.
11890 (Fupdate_coding_systems_internal): Update all coding-categories.
11891
52283633
SM
11892 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11893 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11894 New macros.
11895 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11896 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11897 (CODING_CATEGORY_IDX_UTF_16_LE)
11898 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11899 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11900 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11901 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11902
9994cc69
GM
119032000-03-07 Gerd Moellmann <gerd@gnu.org>
11904
e9b4e5ff
GM
11905 * doc.c (Fdocumentation_property): If value is not a string,
11906 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11907
f7daf1e1
GM
11908 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11909 close the display with XtCloseDisplay. This caused a bus error
11910 on OpenWindows.
11911
9994cc69
GM
11912 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11913 complete but not unique.
11914
4336c705
GM
119152000-03-06 Gerd Moellmann <gerd@gnu.org>
11916
18bb0684
GM
11917 * process.c (send_process): Remove local variable `procname' that
11918 might become invalid when a GC happens. Instead, access the
11919 process name slot directly.
11920
4336c705
GM
11921 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11922 orig_height if set.
11923
11924 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11925 orig_height if set.
11926
515d0d0e
EZ
119272000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11928
11929 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11930 glyph matrices have been freed.
11931
100b3cbb
GM
119322000-03-05 Gerd Moellmann <gerd@gnu.org>
11933
50df5e5a 11934 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11935 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11936
11937 * xfns.c (QCdata): Moved to xdisp.c.
11938
11939 * xdisp.c (QCdata): Moved here from xfns.c.
11940 (syms_of_xdisp): Initialize QCdata.
11941
11942 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11943
11944 * window.c (coordinates_in_window): Use
11945 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11946 FRAME_INTERNAL_BORDER_WIDTH.
11947
100b3cbb 11948 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11949 it is obviously invalid.
100b3cbb
GM
11950
11951 * xterm.c (x_term_init): Create a colormap if not using the
11952 default visual.
11953
11954 * xterm.h (select_visual): Change prototype.
11955
11956 * xfns.c (select_visual): Rewritten. Recognize user-specified
11957 visual classes.
11958 (visual_classes): New variable.
11959
64d739c4
GM
119602000-03-04 Gerd Moellmann <gerd@gnu.org>
11961
11962 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11963 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11964 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11965 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11966 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11967 XtNcolormap resources.
11968 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11969 (Fx_create_frame): Initialize color members of x_output structure.
11970 (xpm_load): Pass colormap to XPM lib.
11971
11972 * xfaces.c (x_free_colors): Access colormap of frame using
11973 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11974 when default colormap is used.
11975
11976 * xterm.c (x_term_init): Set Colormap member of x_display_info
11977 structure. Copy colormap if resource `privateColormap' is
11978 specified (PseudoColor only).
11979 (x_setup_relief_color): Access colormap of frame using
11980 FRAME_X_COLORMAP.
11981
11982 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11983 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11984
c3cee013
JR
119852000-03-04 Jason Rumney <jasonr@gnu.org>
11986
11987 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11988 other non-platform-specific equivalents.
64d739c4 11989 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11990 specific functions and macros as their w32 equivalents where
11991 non-platform-specifics are not available.
11992 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11993 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11994 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11995 (frame_update_line_height): Use macros to access f->output_data.
11996 (defined_color): Remove FIXME comments; fixed.
11997 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11998 into #ifdef blocks. Add WINDOWSNT blocks.
11999 (Fx_list_fonts): Use macros for accessing font data.
12000 (set_lface_from_font_name): Different default fonts for X and
12001 WINDOWSNT.
12002 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12003 scalable for backward compatibility.
64d739c4 12004 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12005 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12006
64d739c4 12007 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12008 syms_of_w32faces.
12009
12010 * makefile.nt (w32faces.obj): Remove.
12011 (xfaces.obj): Add.
12012
807cc41c
JR
120132000-03-03 Jason Rumney <jasonr@gnu.org>
12014
12015 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12016 correct parameters.
12017
0007072a
KR
120182000-03-03 Ken Raeburn <raeburn@gnu.org>
12019
12020 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12021 standard ELF definitions here if the system header does not.
12022
71a6ba55
GM
120232000-03-03 Gerd Moellmann <gerd@gnu.org>
12024
12025 * xterm.c (PER_CHAR_METRIC): Removed.
12026 (x_per_char_metric_1, x_default_char): New functions.
12027 (x_per_char_metric): If font's default char is invalid, return
12028 metrics of a suitably chosen usable default char.
12029 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12030 char, replace occurrences of unprintable chars with a suitably
12031 chosen usable default char.
71a6ba55 12032
900fa1f1
GM
120332000-03-02 Gerd Moellmann <gerd@gnu.org>
12034
42f55fe0
GM
12035 * xterm.c (note_mouse_highlight): Return quickly if frame's
12036 glyph matrices have been freed.
12037
12038 * dispnew.c (free_glyphs): Block input while freeing matrices.
12039
900fa1f1
GM
12040 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12041
52283633
SM
12042 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12043 Use x_free_colors.
900fa1f1
GM
12044
12045 * dispextern.h (x_free_colors): Add prototype.
12046
12047 * xfaces.c (x_free_colors): New function.
12048 (unload_color, free_face_colors): Use it.
12049
2f950292
EZ
120502000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12051
12052 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12053
12054 * window.c [MSDOS]: Include msdos.h.
12055
54d04320
DL
120562000-03-02 Dave Love <fx@gnu.org>
12057
12058 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12059
12060 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12061 set C_OPTIMIZE_SWITCH for gcc.
12062
0ba93ac4
KH
120632000-03-02 Kenichi Handa <handa@etl.go.jp>
12064
12065 * coding.c (coding_save_composition): Be sure to allocate
12066 composition data area in coding even if there's no composition in
12067 the current run.
12068
a2bc11d4
JR
120692000-03-01 Jason Rumney <jasonr@gnu.org>
12070
12071 * w32term.c: Equivalent changes to those made to xterm.c on
12072 2000-02-25 and 2000-02-24.
12073
12074 * w32fns.c: Equivalent changes to those made to xfns.c on
12075 2000-02-25 and 2000-02-21.
12076
12077 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12078 correct line-end convention is followed.
12079
12080 * w32menu.c [HAVE_BOXES]: Remove #undef.
12081 (single_keymap_panes): Remove code for simulating checkmarks.
12082 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12083 Remove code for drawing simulated checkmarks.
12084 (w32_menu_show): make unibyte help string correctly.
12085 (add_menu_item): draw standard Windows checkmarks. Draw radio
12086 buttons as radio buttons if possible.
12087
72d19d75
GM
120882000-03-01 Gerd Moellmann <gerd@gnu.org>
12089
2df636f4
GM
12090 * sysdep.c (start_of_text): Don't define this function for NetBSD
12091 with ELF.
12092
427ec082 12093 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12094 Don't define.
12095 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12096 (LINKER): Don't undef if __NetBSD__ is defined.
12097
12098 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12099
12100 * fileio.c [__NetBSD__]: Define `unix'.
12101
72d19d75
GM
12102 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12103
ed4d0512
GM
121042000-02-29 Gerd Moellmann <gerd@gnu.org>
12105
50b1039f
GM
12106 * atimer.c (start_atimer): Don't abort when timers are stopped.
12107 (append_atimer_lists): New function.
12108 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12109 arbitrary lists of stopped and running atimers.
12110
ed4d0512
GM
12111 * atimer.c (cancel_atimer): Handle canceling an atimer when
12112 some timers are stopped.
12113
12114 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12115 after canceling it.
12116
12117 * fns.c (maybe_resize_hash_table): Handle case of new size
12118 coming out as being the same as old size.
12119
387023ee
JR
121202000-02-27 Jason Rumney <jasonr@gnu.org>
12121
12122 * makefile.nt: Add atimer.h to dependencies.
12123 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12124 * w32console.c: Only disable window system features for dispextern.h
12125 (initialize_w32_display): Build a display info for the console.
12126 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12127 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12128 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12129 as 2 button mice.
12130 * w32gui.h (struct W32FontStruct): Revert last change after change
12131 to xdisp.c.
12132 * w32menu.c (single_submenu): Set up help string.
12133 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12134 (w32_dialog_show): Set up help string.
12135 * w32term.c (w32_display_info_for_display): Remove unused function.
12136 (w32_draw_bitmap): Use pre-built bitmaps.
12137 (w32_initialize_display_info): New function to initialize parts of
12138 display info that are common to both GUI and console frames.
12139 (w32_term_init): Use w32_initialize_display_info. Do not set
12140 Vw32_num_mouse_buttons here, as it is not called for console
12141 frames. Build bitmaps for indicating truncated lines etc.
12142 (x_delete_display): Destroy pre-built bitmaps.
12143 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12144 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12145
4516715a
DL
121462000-02-27 Dave Love <fx@gnu.org>
12147
12148 * lisp.h: Add a bunch of prototypes.
12149
171ca836
KH
121502000-02-26 Kenichi Handa <handa@etl.go.jp>
12151
12152 * keyboard.c (read_char): Set `usec' correctly.
12153
4013921d
KH
121542000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12155
12156 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12157 `lambda', set reg[RRR] to the map index.
12158 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12159 reg[RRR] to 0. Otherwise, set it to -1.
12160
9244a058
GM
121612000-02-25 Gerd Moellmann <gerd@gnu.org>
12162
2df636f4 12163 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12164
18e21ce8 121652000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12166
f43d79c1
GM
12167 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12168 and contains a `:', prepend `/:'.
12169
12170 * window.c (select_window_1): If selected_window is nil,
12171 don't "swap out" the buffer's point.
12172 (Fset_window_configuration): Set selected_window to nil
12173 before calling Fselect_window.
12174 (unshow_buffer): Don't set point in buffer from window's point
12175 if another more recently selected window also shows the buffer.
12176
bed0c171
GM
121772000-02-25 Gerd Moellmann <gerd@gnu.org>
12178
449c3c52
GM
12179 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12180
f5b58615
GM
12181 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12182 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12183 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12184 New variables.
f5b58615
GM
12185 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12186 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12187 (hide_busy_cursor): New functions.
12188 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12189
12190 * minibuf.c (read_minibuf): Cancel busy-cursor.
12191
12192 * keyboard.c (command_loop_1): Call start_busy_cursor before
12193 Fcommand_execute and cancel_busy_cursor after it.
12194 (timer_check): Remove busy-cursor code.
12195 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12196 cursor timer.
12197
12198 * process.c (wait_reading_process_input): Remove busy-cursor code.
12199
12200 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12201 Fx_hide_busy_cursor.
12202
12203 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12204 Remove prototyoes.
12205 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12206
12207 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12208
12209 * xterm.c (XTread_socket): Remove busy-cursor code.
12210
4eb8436f
GM
12211 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12212 (build_frame_matrix_from_leaf_window): Put code handling
12213 glyph row's not being a slice of a frame row in #if 0.
12214 (sync_window_with_frame_matrix_rows): New function.
12215 (frame_row_to_window): New function.
12216 (mirror_line_dance): Handle copies between windows.
12217
3cb65b0e
GM
12218 * lread.c (Fload): Use `xfree' instead of `free'.
12219 (init_obarray): Use `xmalloc' instead of `malloc'.
12220
bed0c171
GM
12221 * window.c (Fset_window_buffer): Set WINDOW to the window
12222 after decoding.
2add4349
GM
12223 (coordinates_in_window): Take frame's internal border width
12224 into account.
bed0c171 12225
42088c12
GM
122262000-02-24 Gerd Moellmann <gerd@gnu.org>
12227
12228 * xterm.c (x_display_and_set_cursor): Display cursor of
12229 non-selected windows depending on the setting of
12230 cursor_in_non_selected_windows.
12231
12232 * xdisp.c (cursor_in_non_selected_windows): New variable.
12233 (syms_of_xdisp): DEFVAR_BOOL it.
12234
d1e103b2
GM
122352000-02-23 Gerd Moellmann <gerd@gnu.org>
12236
723e779c
GM
12237 * data.c (Fstring_to_number): If number is greater than what
12238 fits into an integer, return a float.
12239
d1e103b2
GM
12240 * eval.c (specbind): Remove references to
12241 keyword_symbols_constant_flag.
12242
12243 * data.c (keyword_symbols_constant_flag): Removed.
12244 (Fmakunbound, set_internal, syms_of_data): Remove references to
12245 keyword_symbols_constant_flag.
12246
12247 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12248
214f877f
KH
122492000-02-23 Kenichi Handa <handa@etl.go.jp>
12250
12251 * syntax.c (multibyte_syntax_as_symbol): New variable.
12252 (syms_of_syntax): Declare it as a Lisp variable.
12253 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12254 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12255 nonzero, treat all multibyte characters as symbol.
52283633 12256 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12257
130adcb7
EZ
122582000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12259
3cb65b0e 12260 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12261 a deleted frame.
130adcb7 12262
17cbbf95
GM
122632000-02-21 Gerd Moellmann <gerd@gnu.org>
12264
12265 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12266
12267 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12268 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12269
beb0bc36
DL
122702000-02-21 Dave Love <fx@gnu.org>
12271
12272 * frame.c (Vmouse_position_function): New variable.
12273 (Fmouse_position): Use it.
12274 (syms_of_frame): Install it.
12275
12276 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12277
1d92afcd
GM
122782000-02-20 Gerd Moellmann <gerd@gnu.org>
12279
12280 * fileio.c (Finsert_file_contents): Unbind the binding of
12281 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12282
12283 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12284 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12285 (specbind, unbind_to): Handle most common case of non-constant
12286 symbol with trivial value specially.
12287
12288 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12289
18e21ce8 122902000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12291
12292 * data.c (Fmake_variable_buffer_local): Doc fix.
12293 Init found_for_buffer to 0.
12294 (Fmake_variable_frame_local): If the variable has already
12295 been buffer-local, set the check_frame field.
12296
1d4311c3
EZ
122972000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12298
12299 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12300 produced for CODING_MODE_LAST_BLOCK requires.
12301
2dc95ddd
DL
123022000-02-18 Dave Love <fx@gnu.org>
12303
12304 * keyboard.c (echo_keystrokes): Remove declaration.
12305 (Vecho_keystrokes) New variable.
12306 (read_char, record_menu_key, read_key_sequence): Use it to allow
12307 use of float value.
12308 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12309
12310 * lread.c: Undef feature selection macros before defining.
12311
f0930f35
GM
123122000-02-18 Gerd Moellmann <gerd@gnu.org>
12313
12314 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12315 for symbols other than the symbol in question.
12316
e3d4de90
DL
123172000-02-17 Dave Love <fx@gnu.org>
12318
12319 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12320
0b378936
GM
123212000-02-17 Gerd Moellmann <gerd@gnu.org>
12322
d621caf7
GM
12323 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12324
0b378936
GM
12325 * alloc.c (enum mem_type): Compile unconditionally.
12326
3b451f74
EZ
123272000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12328
12329 * xfaces.c (tty_defined_color): Don't return faulire indication
12330 for unspecified-fg and unspecified-bg pseudo-colors.
12331
10689a01
GM
123322000-02-17 Gerd Moellmann <gerd@gnu.org>
12333
1216f5e4
GM
12334 * alloc.c (mark_object): Don't mark symbol names in pure space.
12335 (gc_sweep): Don't unmark symbol names in pure space.
12336
12337 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12338 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12339 [GC_MARK_STACK]: New defines.
427ec082 12340 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12341 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12342
12343 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12344
12345 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12346 allocate_buffer instead of xmalloc.
12347
12348 * alloc.c (toplevel): Include setjmp.h.
12349 (PURE_POINTER_P): New define.
12350 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12351 (Vdead) [GC_MARK_STACK]: New variable.
12352 (lisp_malloc): Add parameter TYPE, call mem_insert if
12353 GC_MARK_STACK is defined.
12354 (allocate_buffer): New function.
427ec082 12355 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12356 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12357 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12358 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12359 (MEM_NIL) [GC_MARK_STACK]: New define.
12360 (struct mem_node) [GC_MARK_STACK]: New structure.
12361 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12362 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12363 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12364 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12365 (mark_stack) [GC_MARK_STACK]: New functions.
12366 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12367 (clear_marks): Removed.
12368 (gc_sweep): Set free conses' car, free floats' type, free
12369 symbols' function to Vdead. Use lisp_free to free buffers.
12370 (init_alloc_once): Initialize Vdead.
12371 (survives_gc_p): Return non-zero for pure objects.
12372
12373 * alloc.c: Add comments throughout the file.
12374
2503c8b1
GM
12375 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12376 that unblocks alarms.
12377
8389e1e2
GM
12378 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12379 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12380 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12381
10689a01 12382 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12383
bfc17d18
KH
123842000-02-17 Kenichi Handa <handa@etl.go.jp>
12385
4a09dee0
KH
12386 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12387 avoid infinite error signaling. Allocate sufficient memory for
12388 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12389
2b927d02
SM
123902000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12391
12392 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12393 depends on the previous behavior.
12394
b49cb764
GM
123952000-02-16 Gerd Moellmann <gerd@gnu.org>
12396
12397 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12398
99e95407
GM
123992000-02-15 Gerd Moellmann <gerd@gnu.org>
12400
12401 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12402
12403 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12404 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12405 write(2).
12406
6ffd3cf7
RS
124072000-02-15 Richard M. Stallman <rms@gnu.org>
12408
12409 * data.c (set_internal): Don't make variable buffer-local
12410 if within a let-binding for the same buffer.
12411 (let_shadows_buffer_binding_p): New function.
12412
12413 * eval.c (specbind): For buffer-local value,
12414 record the current buffer also.
12415 (unbind_to): Cope with that change.
12416
cad53475
GM
124172000-02-15 Gerd Moellmann <gerd@gnu.org>
12418
12419 * window.c (Fsave_window_excursion): Doc fix.
12420
1aa963c8
SM
124212000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12422
12423 * syntax.c (back_comment): Make sure we only consider comment-starters
12424 of the relevant style and return -1 in case of a failure to find the
12425 beginning of the comment.
12426 (Fforward_comment): If back_comment fails, go back to the position just
12427 after the comment-end.
12428 (scan_lists): Add comment describing a very minor bug.
12429
b9b84fd3
SM
124302000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12431
12432 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12433 `completion-regexp-list' in the docstring.
12434
3a28db80
DL
124352000-02-14 Dave Love <fx@gnu.org>
12436
12437 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12438
fb4a568d
SM
124392000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12440
12441 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12442 to Emacs' syntax. Also fix the comment about set/not-set meanings
12443 since Emacs syntax is not the value 0 any more.
12444 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12445 since it's now part of RE_SYNTAX_EMACS.
12446
1063ebb5
DL
124472000-02-12 Dave Love <fx@gnu.org>
12448
52283633 12449 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12450
fb07a302
GM
124512000-02-12 Gerd Moellmann <gerd@gnu.org>
12452
12453 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12454
aaf2320c
DL
124552000-02-12 Dave Love <fx@gnu.org>
12456
12457 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12458
12459 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12460 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12461 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12462
12463 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12464
12465 * s/nextstep.h: Don't define HAVE_ALLOCA.
12466
12467 * config.in: Add vfork bits.
12468
eedf8bde
GM
124692000-02-12 Gerd Moellmann <gerd@gnu.org>
12470
12471 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12472 unwind function to undo the effect of stopping atimers.
12473
52283633 12474 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12475
12476 * atimer.c (stopped_atimers): New variable.
12477 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12478 New functions.
12479
12480 * atimer.h (stop_other_atimers, run_all_atimers)
12481 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12482
eedf8bde
GM
12483 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12484
8476c2f8
KR
124852000-02-11 Ken Raeburn <raeburn@gnu.org>
12486
12487 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12488 library may depend on jpeg.
12489 (atimer.o): Depends on atimer.c.
12490
0e85e4a3
KH
124912000-02-11 Kenichi Handa <handa@etl.go.jp>
12492
12493 * insdel.c (del_range_1): Call update_compositions.
12494 (del_range_both): Call update_compositions just once..
12495
97fa0cc8
DL
124962000-02-10 Dave Love <fx@gnu.org>
12497
12498 * xfns.c (create_frame_xic): Fix initialization of automatic
12499 aggregates for pcc.
12500
25566a3c
KH
125012000-02-09 Kenichi Handa <handa@etl.go.jp>
12502
12503 * ccl.c (CCL_MAKE_CHAR): New macro.
12504 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12505 registers by CCL_MAKE_CHAR before calling translate_char.
12506 <CCL_TranslateCharacterConstTbl> Likewise.
12507
69da54ba
DL
125082000-02-08 Dave Love <fx@gnu.org>
12509
12510 * lread.c (__EXTENSIONS__): Define.
12511
f7136ee8
GM
125122000-02-08 Gerd Moellmann <gerd@gnu.org>
12513
12514 * puresize.h (BASE_PURESIZE): Increase to 650000.
12515
7768790b
EZ
125162000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12517
12518 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12519 the help message.
12520
38fd211b
EZ
125212000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12522
12523 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12524 md, mh, mb, mr, and me to the fake termcap entry.
12525
66e4690f
KR
125262000-02-06 Ken Raeburn <raeburn@gnu.org>
12527
12528 * sound.c (sound_cleanup): Don't call device close routine if the
12529 function pointer is null.
12530
a75dfea0
AI
125312000-02-06 Andrew Innes <andrewi@gnu.org>
12532
12533 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12534 around image definitions and prototypes.
12535 (gamma_correct) [WINDOWSNT]: New prototype.
12536
12537 * w32term.c (x_make_frame_visible): Replace call to
12538 input_poll_signal with poll_for_input.
12539
12540 * window.c [WINDOWSNT]: Include w32term.h.
12541
12542 * xdisp.c [WINDOWSNT]: Include w32term.h.
12543
12544 * makefile.nt: Add dependencies on w32gui.h.
12545 (OBJ1): Include atimer.obj.
12546 ($(BLD)\atimer.obj): New dependency rule.
12547
12548 * w32.c (sigmask): New function (does nothing).
12549 (sigunblock): Ditto.
12550
12551 * frame.c [WINDOWSNT]: Include w32term.h.
12552
12553 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12554
12555 * lread.c (syms_of_lread): Fix literal newlines.
12556
12557 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12558 the string constant limit (2048 bytes) in MSVC.
12559 (main): Ditto.
12560
59ddecde
GM
125612000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12562
52283633 12563 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12564 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12565 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12566 dispatch the event.
12567
07590973
DL
125682000-02-04 Dave Love <fx@gnu.org>
12569
12570 * fileio.c: Remove some unused vars.
12571 (_GNU_SOURCE): Define (for euidaccess).
12572
12573 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12574
12575 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12576 gcpro1, gcpro2.
12577 (read_minibuf): Deal with allow_props correctly.
12578
649351f9
EZ
125792000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12580
12581 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12582
66e4690f 125832000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12584
12585 * search.c (compile_pattern): If a cache entry has a nil regexp,
12586 fill in that entry instead of clobbering a previously cached
12587 string regexp.
12588
66e4690f 125892000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12590
12591 * puresize.h (BASE_PURESIZE): Increase to 610000.
12592
d240a249
GM
125932000-02-02 Gerd Moellmann <gerd@gnu.org>
12594
12595 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12596 can GC.
12597
ca91fb26
KH
125982000-02-02 Kenichi Handa <handa@etl.go.jp>
12599
25660570
KH
12600 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12601 instead of incrementing ic directly.
12602 <CCL_WriteExprConst> Likewise.
12603 <ccl_set_expr>: Set ic to jump_address.
12604
ca91fb26
KH
12605 * fileio.c (e_write): Fix the handling of
12606 CODING_FINISH_INSUFFICIENT_SRC.
12607
2ede9689
DL
126082000-02-01 Dave Love <fx@gnu.org>
12609
12610 * editfns.c (Fpropertize): Doc fix.
12611
12612 * process.c (Fstart_process): Doc fix.
12613
12614 * eval.c: Fix various doc strings not to duplicate information
12615 from help-manyarg-func-alist.
12616
52283633 12617 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12618
12619 * doc.c (Vhelp_manyarg_func_alist): New variable.
12620 (Fdocumentation): Use it.
12621 (syms_of_doc): Define it.
12622
b6680a0e
GM
126232000-01-31 Gerd Moellmann <gerd@gnu.org>
12624
2cb750ba
GM
12625 * xterm.c (xim_open_dpy): Remove unused local variable.
12626
52283633 12627 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12628
12629 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12630 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12631
b6680a0e
GM
12632 * fns.c (sweep_weak_table): New function.
12633 (sweep_weak_hash_tables): Use it. Keep on marking until there
12634 is no more change.
12635
994c5afe
GM
126362000-01-30 Gerd Moellmann <gerd@gnu.org>
12637
12638 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12639 that XTread_socket does not crash by trying to call XNoOp on a
12640 closed display.
427ec082 12641
f00276e3
JR
126422000-01-30 Jason Rumney <jasonr@gnu.org>
12643
12644 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12645 Change selected_frame to SELECTED_FRAME ().
12646 (w32_console_mouse_position): Remove #ifndef MULE from around
12647 `insist' parameter.
12648
12649 * makefile.nt: Remove dosfns.obj.
12650
12651 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12652
12653 * w32fns.c (w32_defined_color): Check for valid frame before
12654 applying gamma correction. Eliminate dependency on frame elsewhere.
12655 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12656 (w32_to_x_font): Use resx and resy not height_in and width_in.
12657 (x_to_w32_font): Doc fix.
12658 (xlfd_strip_height): New function to strip and return font height.
12659 (w32_font_match): Compare height separately from rest of xlfd
12660 spec, using xlfd_strip_height.
12661
12662 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12663 width_in. Use w32_defined_color in place of defined_color.
12664
12665 * w32faces.c: Merge more of DOS and X specifics in preparation for
12666 merge with xfaces.c.
12667 (defined_color): Remove FIXME comment.
12668 (tty_color_name): Provide w32-specific function.
12669 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12670
12671 * w32console.c (turn_on_face, turn_off_face): Removed.
12672 (w32_face_attributes): New function.
12673 (Global_variables): Reduce scope where possible.
12674 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12675 fill attribute.
12676 (hl_mode): Don't modify text attributes.
12677 (write_glyphs): Don't do anything if len <= 0. Use
12678 w32_face_attributes to get attributes for drawing. Write
12679 terminating codes using char_attr_normal.
12680 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12681 (update_begin, update_end): Likewise.
12682 (vga_stdcolor_name): New function.
12683 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12684 (Fset_screen_color): Remove char_attr_reverse.
12685
b08e8bb2
GM
126862000-01-29 Gerd Moellmann <gerd@gnu.org>
12687
12688 * xfns.c (xic_set_preeditarea): Take window parameter and
12689 window-relative pixel-positions.
12690
12691 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12692 is its frame's selected window.
12693 (xim_instantiate_callback): Likewise.
12694
12695 * xfns.c (x_create_im): Removed.
12696 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12697 (supported_xim_styles): Renamed from supported_styles.
12698 (best_xim_style): Renamed from best_style.
12699 (create_frame_xic): Renamed from xic_create_frame.
12700 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12701
b08e8bb2
GM
127022000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12703
12704 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12705 our frames, call XFilterEvent with 2nd parameter `None'.
12706 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12707 returning XBufferOverflow.
52283633 12708 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12709 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12710 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12711 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12712 (xim_initialize, xim_close)
12713 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12714 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12715 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12716 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12717
12718 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12719 and `xim_styles'.
12720 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12721 `xic_style' and `xic_xfs'.
12722 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12723 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12724 (FRAME_XIM): Removed.
12725
12726 * xfns.c (supported_styles): New variable.
12727 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12728 (xic_create_xfontset, best_style, xic_create_frame)
12729 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12730 (xic_set_xfontset): New functions.
12731
142e109c
DL
127322000-01-28 Dave Love <fx@gnu.org>
12733
12734 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12735
12736 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12737
b02786f9
GM
127382000-01-28 Gerd Moellmann <gerd@gnu.org>
12739
d060bc9f
GM
12740 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12741 for *scratch* if it already existed.
12742
b02786f9
GM
12743 * emacs.c (USAGE): New macro.
12744 (main): Use it to display usage information.
12745
2c52d7e4
EZ
127462000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12747
12748 Support for the menu-help feature:
12749
52283633 12750 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12751
12752 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12753 part of the line to the termscript file.
12754 (IT_clear_to_end): Clear the entire line, not just its beginning.
12755 (menu_help_message, prev_menu_help_message): New variables.
12756 (IT_menu_make_room): Make room for the help_text member.
12757 (IT_menu_display): New argument disp_help; all callers changed.
12758 If disp_help is non-zero, store the help text of the active menu
12759 item in menu_help_message.
12760 (XMenuAddPane): Initialize the help_text member to NULL.
12761 (XMenuAddSelection): New argument help_text. Store it in the
12762 XMenu structure.
12763 (XMenuActivate): New argument help_callback. If the value of
12764 menu_help_message has changed since the last time, display the
12765 menu help message text while waiting for the mouse to move. Clear
12766 the echo area before exiting.
12767 (XMenuDestroy): Free the help_text member.
12768
ffe0bcd1
GM
127692000-01-27 Gerd Moellmann <gerd@gnu.org>
12770
12771 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12772 XMenuAddSelection. Pass help callback to XMenuActivate.
12773 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12774
50dbd23f
EZ
127752000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12776
12777 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12778 and EMACS_SET_USECS.
12779
f5941bf8
GM
127802000-01-26 Dave Love <fx@gnu.org>
12781
6c67ddee
DL
12782 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12783
f5941bf8
GM
12784 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12785 an error may be signalled.
12786
9e49c990
GM
127872000-01-26 Gerd Moellmann <gerd@gnu.org>
12788
fc3cb460
GM
12789 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12790 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12791
9e49c990
GM
12792 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12793
d0c037d8
GM
127942000-01-25 Gerd Moellmann <gerd@gnu.org>
12795
12796 * charset.c (Fstring): If there is a multibyte char among
12797 the args, always return a multibyte string.
12798
e12489f9
GM
127992000-01-25 Gerd Moellmann <gerd@gnu.org>
12800
12801 * sysdep.c (sys_select): Turn atimers off and on instead of
12802 recording and restoring old alarm handler
12803
12804 * process.c (toplevel): Include atimer.h.
12805 (create_process_1): Rewritten.
12806 (create_process): Use atimers instead of alarm.
12807 (wait_reading_process_input) [hpux]: Turn atimers off instead
12808 of turning off SIGALRM.
12809 (wait_reading_process_input): Turn off atimers instead off
12810 calling stop_polling.
12811
12812 * emacs.c (main): Call init_atimer.
12813
12814 * keyboard.c (toplevel): Include systime.h and atimer.h.
12815 (polling_for_input): Removed because unused.
12816 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12817 (poll_timer): New variable.
12818 (poll_for_input, poll_for_input_1): New functions.
12819 (start_polling, stop_polling): Rewritten.
12820
12821 * keyboard.h (polling_for_input): Removed.
427ec082 12822
e12489f9
GM
12823 * atimer.h, atimer.c: New files.
12824
12825 * Makefile.in (obj): Add atimer.o.
12826 (atimer.o): New target.
12827
12828 * blockinput.h (pending_atimers): Add extern declaration.
12829 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12830
12831 * lisp.h (popup_activated_flag): Add extern declaration.
12832
12833 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12834 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12835 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12836
12837 * xterm.c (toplevel): Include atimer.h.
12838 (toolkit_scroll_bar_interaction): New variable.
12839 (Fxt_process_timeouts): Removed.
12840 (x_process_timeouts): New function.
12841 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12842 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12843 (x_make_frame_visible): Call poll_for_input_1 instead of
12844 input_poll_signal. Don't call alarm.
12845 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12846
1e5279b9
DL
128472000-01-24 Dave Love <fx@gnu.org>
12848
6c67ddee 12849 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12850 Don't use -cckr -- apparently not now necessary.
12851
edf6aeb8
EZ
128522000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12853
12854 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12855 screen boundary.
12856
9badad41
JR
128572000-01-23 Jason Rumney <jasonr@gnu.org>
12858
12859 * w32fns.c (w32_defined_color): Apply gamma correction before
12860 trying to map to the palette.
12861 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12862 to w32_clear_rect.
12863
12864 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12865 here. Callers changed to always pass real device context.
12866 (w32_draw_bitmap): Likewise.
12867 (w32_get_glyph_overhangs): Likewise.
52283633 12868 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12869 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12870 pfnSetScrollInfo and SetScrollRange.
12871 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12872 back into MULE characters after decoding them.
12873 (x_get_glyph_face_and_encoding): Likewise.
12874 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12875 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12876 (x_produce_glyphs): Calculate per char metrics for a character
12877 that we know exists in default font when font_not_found_p is true.
12878
63bd786b
JR
128792000-01-22 Jason Rumney <jasonr@gnu.org>
12880
12881 * makefile.nt (intervals.obj, composite.obj): New modules.
12882 (composite.h): Added as dependency where appropriate.
12883
12884 * w32gui.h (XGCValue): New struct for emulating X GCs.
12885
12886 * w32term.h (XCharStruct): New struct for emulating X.
12887
12888 * w32console.c (turn_on_face, turn_off_face): New functions.
12889 (change_line_highlight): New prototype for new redisplay.
12890 (write_glyphs): Support multibyte text. Support faces.
12891
52283633 12892 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12893
12894 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12895 throughout. struct frame * in place of FRAME_PTR.
12896 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12897 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12898 (w32_get_arg): Renamed from x_get_arg.
12899 (Fx_file_dialog): New function.
12900 (w32_list_fonts): Check cache before asking system.
12901 (Vw32_enable_synthesized_fonts): New variable.
12902 (Vw32_enable_italics): Obsolete, removed.
12903
12904 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12905 Use SELECTED_FRAME macro.
12906
12907 * w32menu.c: Add skeleton support for help strings on menus.
12908 (add_menu_item): Native checkbox and radio support added, but not
12909 yet enabled due to bugs.
12910 (push_menu_item): Add parameters type, selection and help.
12911 Callers updated.
12912 Formatting changes to reduce unnecessary diffs with xmenu.c.
12913
12914 * w32select.c (Fw32_set_clipboard_data): Update call to
12915 find_charset_in_str.
12916
12917 * w32term.c: Complete rewrite for new redisplay based on new
12918 xterm.c with necessary sections merged back in from old w32term.c.
12919
6ffd3cf7 129202000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12921
12922 * data.c (set_internal): Further fix in same criterion.
12923
6ffd3cf7 129242000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12925
12926 * data.c (set_internal): Fix the criteria for whether
12927 to swap out the old cached binding.
12928
60af03f1
DL
129292000-01-19 Dave Love <fx@gnu.org>
12930
12931 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12932
f9be074f
KH
129332000-01-18 Kenichi Handa <handa@etl.go.jp>
12934
12935 * regex.c (re_compile_fastmap): While checking a range table for
12936 `charset', skip flag bits for a character class correctly.
12937
52b8dbf9
GM
129382000-01-17 Gerd Moellmann <gerd@gnu.org>
12939
d36100c9
GM
12940 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12941
52283633 12942 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12943
12944 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12945 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12946
12947 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12948 MENU_ITEMS_ITEM_.*.
12949 (MENU_ITEMS_ITEM_HELP): New enumerator.
12950 (push_menu_item): Add parameter HELP. Record help in menu_items.
12951 (single_menu_item, single_submenu, list_of_items): Call
12952 push_menu_item with new parameter.
12953 (single_submenu): Set help string in widget value.
12954 (menu_highlight_callback): New function.
12955 (set_frame_menubar): Call lw_create_widget with new
12956 parameter list.
12957 (xmenu_show, xdialog_show): Ditto.
12958
3139018f
GM
129592000-01-13 Gerd Moellmann <gerd@gnu.org>
12960
12961 * sound.c (Fplay_sound): Improve doc string.
12962
83c8f461
RS
129632000-01-11 Richard M. Stallman <rms@gnu.org>
12964
12965 * lisp.h (set_internal): Enter the new arg.
12966
12967 * eval.c (specbind): Record buffer-local variables specially,
12968 indicating which buffer's binding was saved.
12969 (unbind_to): Restore buffer-local variables specially
12970 in the proper buffer.
12971
12972 * data.c (set_internal): New arg BUF.
427ec082 12973
83c8f461
RS
12974 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12975 * data.c (Fset): Pass new arg to set_internal.
12976 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12977
1fab1775
GM
129782000-01-11 Gerd Moellmann <gerd@gnu.org>
12979
52283633 12980 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12981
83c8f461 129822000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12983
12984 * minibuf.c (Ftry_completion): Doc fix.
12985
7a85e4df
GM
129862000-01-11 Gerd Moellmann <gerd@gnu.org>
12987
12988 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12989 vector, too.
12990
a970dae4
AS
129912000-01-11 Andreas Schwab <schwab@suse.de>
12992
12993 * coding.c (code_convert_region): Initialize total_skip.
12994
c65d14ee
DL
129952000-01-08 Dave Love <fx@gnu.org>
12996
12997 * eval.c (Fuser_variable_p): Check customizability too.
12998
834938d2
GM
129992000-01-07 Gerd Moellmann <gerd@gnu.org>
13000
13001 * minibuf.c (Fcompleting_read): Doc fix.
13002
e0303cd6
GM
130032000-01-05 Gerd Moellmann <gerd@gnu.org>
13004
8a26744b
GM
13005 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13006 -L /usr/local/lib.
13007
e0303cd6
GM
13008 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13009 Check that input style is supported before trying to create an
13010 IC for it.
13011 (x_window): Call x_create_im.
427ec082 13012
2e471eb5
GM
130132000-01-04 Gerd Moellmann <gerd@gnu.org>
13014
560a7bd2
GM
13015 * xfns.c (current_gif_memory_src): New variable.
13016 (gif_load): Record the address of the current memory source
13017 in current_gif_memory_src.
13018 (gif_read_from_memory): Use current_gif_memory_src.
13019
f9ee84a3
GM
13020 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13021 macros statement form.
13022
d1299cde
GM
13023 * sound.c (struct sound): Renamed from struct sound_file.
13024 (struct sound): Add members `data' and `header_size'.
13025 (enum sound_attr): Add SOUND_DATA.
13026 (current_sound, current_sound_device): Variables renamed from
13027 sound_file and sound_device.
13028 (parse_sound): Parse :data.
13029 (parse_sound): Handle sound data in strings.
13030 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13031 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13032 needed header size.
13033 (wav_play, au_play): Play sounds from string data.
13034
2e471eb5
GM
13035 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13036
13037 * lisp.h: Add prototype for allocate_string_data.
13038
52283633 13039 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13040
13041 * alloc.c (mark_buffer): Remove code in #if 0.
13042 (gc_sweep): Ditto.
13043 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13044 (strings_consed): New variable.
13045 (allocate_string): Set it.
13046 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13047 (Fmemory_use_counts): Return strings_consed. Use Flist.
13048
13049 * alloc.c: General cleanup in comments etc. Remove conditional
13050 compilation for `standalone'.
13051
13052 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13053
13054 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13055 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13056 (DONT_COPY_FLAG): Removed.
13057 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13058 (struct sdata, struct sblock): New
13059 (struct string_block): Rewritten.
13060 (STRINGS_IN_STRING_BLOCK): New macro.
13061 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13062 (large_sblocks, string_blocks, string_free_list): New variables.
13063 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13064 (init_strings): Rewritten.
13065 (allocate_string, allocate_string_data, compact_small_strings)
13066 (free_large_strings, sweep_strings): New functions.
13067 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13068 (struct string_block_head, current_string_block)
13069 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13070 (STRING_PAD): Removed.
13071 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13072 (Fgarbage_collect): Don't set mark bit in large strings.
13073 (mark_object): Mark strings differently. Mark symbol names
13074 differently.
13075 (survives_gc_p): Test marked strings differently.
427ec082 13076 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13077 symbol names.
13078 (compact_strings): Removed.
13079
42608ba8
EZ
130802000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13081
13082 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13083 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13084
e0a09e1a
KH
130852000-01-04 Kenichi Handa <handa@etl.go.jp>
13086
dd9f0750 13087 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13088 in a non-empty buffer.
dd9f0750 13089
3c0f3b15 13090 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13091
44cd3ae5
GM
130922000-01-03 Gerd Moellmann <gerd@gnu.org>
13093
13094 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13095 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13096
13097 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13098
c182a70f
EZ
130992000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13100
13101 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13102 need to test for MSDOS frames.
13103
24480d5b
EZ
131042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13105
13106 * dosfns.c (unspecified_colors): Remove.
13107 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13108 unspecified_bg.
13109 (msdos_stdcolor_name): Return strings for unspecified fore- and
13110 back-ground colors.
13111
13112 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13113 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13114 (tty_color_name): Return Lisp strings for unspecified fore- and
13115 back-ground colors.
13116 (Finternal_set_lisp_face_attribute): Remove the special treatment
13117 for Qunspecified_{f,b}g.
52283633 13118 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13119
047f434a
GM
131202000-01-03 Gerd Moellmann <gerd@gnu.org>
13121
13122 * xdisp.c (reseat_at_next_visible_line_start): Position before
13123 newline only if ending up on a newline.
13124 (next_element_from_ellipsis): Return success. Handle case of
52283633 13125 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13126 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13127 returns 0.
13128
d684c676
EZ
131292000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13130
13131 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13132 (Fcolor_supported_p): Renamed from face-color-supported-p.
13133
5fe1d139
EZ
131342000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13135
13136 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13137 list of colors renamed to tty-defined-color-alist.
13138 (tty_color_name): Pass the frame to tty-color-by-index.
13139 (realize_tty_face): tty-color-alist is now a function which
13140 accepts the frame as argument.
13141
52283633 13142 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13143
816be8b8
EZ
131442000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13145
13146 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13147 encode_terminal_code.
13148
b635321e
EZ
131492000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13150
13151 * dispnew.c (mode_line_string): Support termcap frames as well.
13152
9b784e96
GM
131532000-01-01 Gerd Moellmann <gerd@gnu.org>
13154
27189709
GM
13155 * syntax.c (Fforward_word): Undo previous change.
13156
13157 * editfns.c (Fconstrain_to_field): Don't constrain if
13158 inhibit-field-text-motion is non-nil.
13159 (Fline_beginning_position): Undo previous change.
13160 (Fline_end_position): Ditto.
13161
13162 * syntax.c (Fforward_word): Notice field boundaries only if
13163 inhibit-field-text-motion is nil.
13164
13165 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13166
13167 * editfns.c (Vinhibit_field_text_motion): New variable.
13168 (inhibit-field-text-motion): New DEFVAR_LISP.
13169 (Fline_beginning_position, Fline_end_position): Notice field
13170 boundaries only if inhibit-field-text-motion is nil.
13171
45158a91
GM
13172 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13173 All calls adjusted.
13174 (x_build_heuristic_mask): Likewise.
13175 (xbm_load_image_from_file): Change error output.
13176 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13177 (gif_load, gs_load, x_kill_gs_process): Ditto.
13178
9b784e96
GM
13179 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13180 color indices when accessing raster pixels.
63cec32f
GM
13181 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13182 one of :file or :data.
13183 (enum pbm_keyword_index): Add PBM_DATA.
13184 (pbm_format): Add :data.
13185 (pbm_image_p): Allow either :file or :data.
13186 (pbm_read_file): New function.
13187 (pbm_scan_number): Rewritten to read from string.
13188 (pbm_load): Support :data.
9b784e96 13189
2cb085db 13190See ChangeLog.8 for earlier changes.
6922b018
KH
13191
13192;; Local Variables:
49b3bd82 13193;; coding: iso-2022-7bit
6922b018 13194;; End:
2a34a036
GM
13195
13196 Copyright (C) 2001 Free Software Foundation, Inc.
13197 Copying and distribution of this file, with or without modification,
13198 are permitted provided the copyright notice and this notice are preserved.