Add --help option. Add support for building
[bpt/emacs.git] / src / ChangeLog
CommitLineData
79f1f96c
MB
12001-10-19 Miles Bader <miles@gnu.org>
2
b57c2708
MB
3 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
4 doesn't take precedence if the affected property's value is nil.
5
6 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
7
79f1f96c
MB
8 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
9 with fields and suggest using `forward-line' to avoid them.
10 * editfns.c (Fline_beginning_position, Fline_end_position):
11 Clarify documentation.
12
ef879104
SM
132001-10-18 Stefan Monnier <monnier@cs.yale.edu>
14
15 * keymap.c (current_minor_maps): `override' only shadows its
16 correspondent in minor-mode-map-alist, not the whole tail.
17
97f4db8c
AI
182001-10-18 Andrew Innes <andrewi@gnu.org>
19
20 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
21 optimization. The fontp->encoding array was not being initialized
22 correctly when compiled with optimizations by MSVC.
23
e6b70fd8
GM
242001-10-18 Gerd Moellmann <gerd@gnu.org>
25
30903479 26 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 27
0e804d38
AI
282001-10-17 Andrew Innes <andrewi@gnu.org>
29
30 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
31
32 * w32fns.c (w32_load_system_font): Cache codepage for font, in
33 font_info.charset field.
34
35 * w32term.c (w32_encode_char): Get cached codepage from font_info,
36 rather than working it out by calling w32_codepage_for_font for
37 every glyph.
38
66e5868a
AI
392001-10-17 Andrew Innes <andrewi@gnu.org>
40
41 * w32term.c (w32_read_socket): Determine clipping rectangle for
42 the entire frame, including areas covered by scrollbars and the
43 menubar. This avoids internal arguments about whether a frame is
44 fully obscured or not.
45
15b00083
GM
462001-10-17 Gerd Moellmann <gerd@gnu.org>
47
23e8bd86
GM
48 * xdisp.c (try_window_id): Undo last change. Give up if
49 window ends in strings.
30903479 50
9c6ba6d1 51 * xdisp.c (try_window_id): Don't display lines after the window
30903479 52 end if the rest of the window after the window end was already blank.
23e8bd86 53
30903479 54 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
55 for the release of 21.1.
56
30903479 57 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 58
945220bd
MB
592001-10-17 Miles Bader <miles@gnu.org>
60
61 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
62 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
63 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
64 Change doc-string comments to `new style' [w/`doc:' keyword].
65 (DOC_STRINGS_IN_COMMENTS): Macro removed.
66 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
67 out make-docfile.
68
14242528
MB
692001-10-16 Miles Bader <miles@gnu.org>
70
71 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
72
3ddf952f
GM
732001-10-16 Gerd Moellmann <gerd@gnu.org>
74
75 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
76 *scratch*.
77
f3fbd155
KR
782001-10-16 Ken Raeburn <raeburn@gnu.org>
79
80 Avoid the assumption that car and cdr slots of cons cells are
81 addressable lvalues; this allows for easier experimentation with
82 other lisp implementations that may not permit such accesses for
83 various reasons. Not quite complete -- buffer.c still needs some
84 work, and w32/mac files need rechecking -- so compile-time
85 enforcement is left disabled for now.
86
87 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 88 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
89 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
90 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
91 (XSETCAR, XSETCDR): New macros.
92 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
93 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
94 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
95 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
96 XSETCDR.
97 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
98 * buffer.c (record_buffer, Fbury_buffer)
99 (swap_out_buffer_local_variables, recenter_overlay_lists)
100 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
101 fields of a cons cell respectively.
102 * callint.c (quotify_args, Fcall_interactively): Likewise.
103 * ccl.c (Fregister_code_conversion_map): Likewise.
104 * coding.c (detect_coding_system): Likewise.
105 * composite.c (get_composition_id, make_composition_value_copy):
106 Likewise.
30903479
SM
107 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
108 (swap_in_symval_forwarding, set_internal, Fset_default)
109 (Fmake_variable_buffer_local, Fmake_local_variable)
110 (Fmake_variable_frame_local): Likewise.
f3fbd155 111 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479
SM
112 * keymap.c (Fset_keymap_parent, store_in_keymap)
113 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
f3fbd155
KR
114 Likewise.
115 * minibuf.c (get_minibuffer): Likewise.
116 * search.c (Fmatch_data): Likewise.
117 * textprop.c (extend_property_ranges): Likewise.
118 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
119 Likewise.
120 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
121 Likewise.
122 * w32term.c (x_delete_display): Likewise.
123 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
124 Likewise.
125 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
126 Likewise.
127 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 128 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
129 (Fread_file_name): Use XSETCAR.
130 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
131 CHECK_NUMBER_CDR.
132 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
133 * frame.c (Fmake_terminal_frame): Use XSETCDR.
134 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
135 CHECK_NUMBER_CDR.
136 * keyboard.c (read_char): Alter list traversal to avoid taking the
137 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
138 (parse_menu_item): Use XSETCAR and XSETCDR.
139 (reach_char_x_menu_prompt): Use XSETCAR.
140 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
141 (Fcommand_execute): Use XSETCDR.
142 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
143 (openp): Change list traversal to avoid using XCAR as lvalue.
144 (read_list): Use XSETCDR.
145 * process.c (wait_reading_process_input): Change wait_for_cell
146 handling to avoid taking addresses of cons cell slots.
30903479
SM
147 * xselect.c (x_own_selection, x_handle_selection_clear)
148 (x_clear_frame_selections): Use XSETCDR.
149 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
150 (x_handle_property_notify, x_get_foreign_selection)
151 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 152
502150e5
PJ
1532001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
154
018ba359
PJ
155 * buffer.c: Put doc strings in comments.
156
30903479 157 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 158
b56ba8de
SS
1592001-10-15 Sam Steingold <sds@gnu.org>
160
161 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
162
6a0b793a
PJ
1632001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
164
30903479
SM
165 * process.c (process-inherit-coding-system-flag)
166 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
167 in comment.
168
a1f17501 169 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 170 arguments. Put doc strings in comments.
a65da641
PJ
171
172 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 173
aa601ad0
GM
1742001-10-15 Gerd Moellmann <gerd@gnu.org>
175
30903479 176 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 177
aa601ad0
GM
178 * window.c (select_window_1): Unfreeze window start. Remove a
179 doubled test for WINDOW being live.
180
288148a1
PJ
1812001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
182
dd8d1e71
PJ
183 * fns.c (Fmapconcat): Fix typo in a doc string.
184
288148a1
PJ
185 * dispnew.c (Fsleep_for): Fix typo in a doc string.
186
9f5eb4a3
GM
1872001-10-15 Gerd Moellmann <gerd@gnu.org>
188
189 * xterm.c (x_draw_glyph_string): Restore clipping after
190 drawing box.
191
dbae44c8
PJ
1922001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
193
30903479 194 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 195
0c88c937
SM
1962001-10-14 Stefan Monnier <monnier@cs.yale.edu>
197
56378db4
GM
198 * indent.c (skip_invisible): Use new retval of
199 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 200
845e4cf4
SM
201 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
202 If a parent is reached and noinherit is set, exit immediately.
203 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
204
0c88c937
SM
205 * s/ms-w32.h (EXEC_SUFFIXES):
206 * s/msdos.h (EXEC_SUFFIXES):
207 * process.h (EXEC_SUFFIXES): Remove.
208
209 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
210 (decode_suffixes): Remove.
211
212 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
213 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
214 (invisible_ellipsis_p): Remove.
0c88c937
SM
215
216 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
217 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
218 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
219 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
220 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 221
d19be8a9
PJ
2222001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
223
04d7d066
PJ
224 * lisp.h (Ftop_level): Add prototype.
225
d624284c
PJ
226 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
227 (XTread_socket): Improve style of comments to follow other
228 comments.
229
a87414f9
PJ
230 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
231 is already prototyped in included lisp.h).
232
d19be8a9
PJ
233 * frame.c (Fset_mouse_position): Improve style of comment to
234 follow other comments.
235 (Fset_mouse_pixel_position): Improve style of comment to follow
236 other comments.
237 (Fmake_frame_visible): Doc fix and typo in comment.
238 (Fmake_frame_invisible): Doc fix and typo in comment.
239 (Ficonify_frame): Fix typo in comment.
240
c061c855
GM
2412001-10-14 Gerd Moellmann <gerd@gnu.org>
242
37f6b5b6 243 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 244 * term.c, alloc.c: Put doc strings in comments.
c061c855 245
e641b454
GM
2462001-10-13 Gerd Moellmann <gerd@gnu.org>
247
248 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
249 Provide definitions for doc strings in comments.
250
251 * fns.c: Put doc strings in comments.
252
51724e26
EZ
2532001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
254
255 * dired.c (file_name_completion): Ignore a candidate directory if
256 it matches an element in completion-ignored-extensions that ends
257 in a slash.
258 (syms_of_dired) <completion-ignored-extensions>: Mention the above
259 feature in the doc string.
260 (Ffile_name_completion): Ditto.
261
be5fc59b
SM
2622001-10-12 Stefan Monnier <monnier@cs.yale.edu>
263
5a1373f3
SM
264 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
265
266 * xfns.c (syms_of_xfns): Update calls to Fprovide.
267
268 * lisp.h (Fprovide): Update prototype.
269 (Ffeaturep, invisible_p): Remove.
270
bbc4a3d3 271 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
272 (DOLIST, LOOP_PROPVAL): New macros.
273 (invisible_p, invisible_ellipsis_p): Use them.
274 (invisible_noellipsis_p): New function.
275 (syms_of_xdisp): Use empty_string.
276
277 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
278
279 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
280 (syms_of_lread) <Vafter_load_alist>: Update docstring.
281
282 * print.c (Fwith_output_to_temp_buffer): Align with
283 internal_with_output_to_temp_buffer.
284 (print_preprocess): Use traverse_intervals_noorder.
285 (print_object): Update call to traverse_intervals.
286
287 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
288 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
289
290 * intervals.c (traverse_intervals_noorder): New function.
291 (search_for_interval, count_intervals): Use it.
292 (traverse_intervals): Use less stack space and drop `depth' arg.
293
294 * fns.c (Ffeaturep): Add new `subfeature' arg.
295 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
296 (Qsubfeatures): New var.
297 (syms_of_fns): Initialize it.
298
026f408d
SM
299 * keymap.c (Fkey_description): Use empty_string.
300 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
301 (syms_of_keymap): Setup inheritance between maps.
302 Don't export Sdescribe_bindings_internal any more.
303
be5fc59b
SM
304 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
305
3365175e
GM
3062001-10-12 Gerd Moellmann <gerd@gnu.org>
307
308 * xterm.c (notice_overwritten_cursor): Renamed from
309 note_overwritten_text_cursor. Rewritten to take glyph widths into
310 account.
311
2ab7765c
EZ
3122001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
313
314 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
315 multi-line strings without a trailing "\n\".
316
311346bb
PJ
3172001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
318
319 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
320 defined.
321
2168e04d
SM
3222001-10-11 Stefan Monnier <monnier@cs.yale.edu>
323
026f408d
SM
324 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
325
c0ec53ad
SM
326 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
327 * w32proc.c (sys_spawnve):
328 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
329 * w32.c (check_windows_init_file):
330 * sound.c (Fplay_sound):
026f408d 331 * emacs.c (init_cmdargs):
c0ec53ad
SM
332 * process.c (Fstart_process): Update calls to openp.
333
334 * callproc.c (Vexec_suffixes): New var.
335 (Fcall_process): Update call to openp.
336 (decode_suffixes): New function.
337 (syms_of_callproc): Init exec-suffixes.
338
339 * lread.c (Vload_suffixes, default_suffixes): New vars.
340 (openp): Take a lisp list of suffixes.
341 Check for file-name-handlers even if the file was absolute already.
342 (syms_of_lread): Declare load-suffixes.
343 (Fload): Fix up call to openp.
344 Don't bother checking for file-name-handler at the very beginning.
345
f6333468
SM
346 * keymap.h (Fcopy_keymap): Don't export.
347
348 * lisp.h (empty_string): Declare.
c0ec53ad
SM
349 (Vload_suffixes, Vexec_suffixes): Declare.
350 (openp): Update prototype.
f6333468
SM
351
352 * emacs.c (empty_string): New var.
353 (syms_of_emacs): Initialize it.
354
355 * search.c (wordify): Use it.
356
357 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
358 selected window if it's not displayed there. Handle the case
359 when the window is dedicated.
360 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
361
362 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
363
2168e04d
SM
364 * syntax.h (struct gl_state_s): Change the meaning of b_property.
365 Remove left_ok and right_ok.
366 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
367 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
368 new meaning of b_property.
369
370 * syntax.c (update_syntax_table): Simplify.
371 (Fforward_comment): Don't skip quoted chars when going backward.
372
13d95cc0
GM
3732001-10-11 Gerd Moellmann <gerd@gnu.org>
374
beb0990f
GM
375 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
376 in case I is of some unsigned type, in which case
377 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
378 comparison becomes bogus.
379
cb938d46
GM
380 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
381 (Fuser_full_name): Fix bug treating a float as a fixnum.
382
383 * data.c (Fstring_to_number): Use make_fixnum_or_float.
384
385 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 386
13d95cc0
GM
387 * lisp.h (circular_list_error): Add prototype.
388
389 * data.c (Qcircular_list): New variable.
390 (circular_list_error): New function.
391 (syms_of_data): Initialize it Qcircular_list.
392
e35f6ff7
SM
3932001-10-10 Stefan Monnier <monnier@cs.yale.edu>
394
395 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
396 casefiddle.c, buffer.c: Include keymap.h.
397
619632ac
GM
3982001-10-10 Gerd Moellmann <gerd@gnu.org>
399
400 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
401 options. From Dave Love <d.love@dl.ac.uk>.
402
5e5388f6
GM
4032001-10-09 Gerd Moellmann <gerd@gnu.org>
404
405 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
406 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
407
14a3dff7
GM
408 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
409 unsigned char.
410 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 411
76ba8daf
AI
4122001-10-08 Andrew Innes <andrewi@gnu.org>
413
414 * lisp.h [max]: Undef min and max before redefining them.
415
416 * w32gui.h: Do not undef min and max.
417
418 * w32heap.h: Do not undef min and max.
419
420 * s/ms-w32.h: Do not undef min and max.
421
166253cb
SM
4222001-10-08 Stefan Monnier <monnier@cs.yale.edu>
423
424 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
425
0c4d9527
SS
4262001-10-08 Sam Steingold <sds@gnu.org>
427
428 * keymap.c (current-active-maps): Quote newlines (compilation error).
429
14bfa771
EZ
4302001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
431
432 * Makefile.in (lisp, shortlisp): Replace bindings.el with
433 bindings.elc, since otherwise doc strings in bindings.el get wrong
434 offsets in etc/DOC.
435
bdb7aa47
SM
4362001-10-08 Stefan Monnier <monnier@cs.yale.edu>
437
9985827f
SM
438 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
439
440 * keyboard.h (map_prompt): Remove.
441
442 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 443 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 444
bdb7aa47
SM
445 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
446
447 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
448
449 * keyboard.c (map_prompt): Remove.
450 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
451 Use Fkeymap_prompt.
452
453 * keymap.h: New file. Extracted from lisp.h.
454
9985827f
SM
455 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
456 (accessible_keymaps_1): New function.
457 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
458 (Fwhere_is_internal): Use Fcurrent_active_maps.
459 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
460 Insert in current buffer rather than standard-output.
461 Don't call `help-mode'. Export to elisp.
462 (describe_buffer_bindings): New wrapper.
463 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
464 and Sdescribe_buffer_bindings.
465
402c9a51
GM
4662001-10-08 Gerd Moellmann <gerd@gnu.org>
467
9985827f 468 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
469 Remove code setting signal handler.
470
9985827f 471 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
472 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
473
3fe81fdf
PJ
4742001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
475
476 * keyboard.c: Don't define min/max.
477
55fa7820
GM
4782001-10-08 Gerd Moellmann <gerd@gnu.org>
479
9985827f 480 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 481 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 482 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 483 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 484 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
485 Don't define min/max.
486
487 * lisp.h (min, max): New macros.
488
55fa7820
GM
489 * puresize.h (BASE_PURESIZE): Increase to 725000.
490
1aad31e4
PJ
4912001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
492
9180dc8c
PJ
493 * xfaces.c (free_frame_menubar): Add prototype.
494
01f67d2c
PJ
495 * lisp.h (init_window): Add prototype.
496
497 * editfns.c: Include ctype.h.
498
499 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 500 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
501 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
502 variable `sb'.
503
5f351ff1
PJ
504 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
505 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
506 `popup_activated_flag' and `title'.
507
479dfe87
PJ
508 * doc.c (Fdocumentation_property): Fix typo in a doc string.
509
dff49fc8
PJ
510 * emacs.c (main): Remove extra `;'.
511
248ac615
PJ
512 * atimer.h (struct atimer): Fix typos in a comment.
513
514 * atimer.c: Fix typo.
515
af232c7d
PJ
516 * Makefile.in: Fix typo.
517
518 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 519
d876f455
MB
5202001-10-07 Miles Bader <miles@gnu.org>
521
522 * Makefile.in (lisp, shortlisp): Add `button.elc'.
523
0037e2f2
KR
5242001-10-07 Ken Raeburn <raeburn@gnu.org>
525
b056f36d
KR
526 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
527 Lisp_Object.
528
0037e2f2
KR
529 * lisp.h (Ffield_end): Declare.
530
1a4372ef
GM
5312001-10-07 Gerd Moellmann <gerd@gnu.org>
532
a4a74e8c
GM
533 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
534
535 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
536
537 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
538
539 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
540
1a4372ef
GM
541 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
542 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
543
544 * alloc.c (inhibit_garbage_collection): Simplify.
545 (Fmemory_use_counts): Ditto.
546
9985827f 547 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
548 (syms_of_data): DEFVAR_INT most-positive-fixnum and
549 most-negative-fixnum.
550
9985827f 551 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
552 (FIXNUM_OVERFLOW_P): New macros.
553
4650e362
MB
5542001-10-06 Miles Bader <miles@gnu.org>
555
556 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
557 scroll_bar_bottom_shadow_pixel fields.
558 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
559 for the shadows, and tell the toolkit about them if we succeed.
560 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
561 Free scroll-bar shadow colors.
562 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
563 Free scroll-bar shadow colors when the background color changes.
564 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
565 Initialize scroll-bar shadow-color fields.
566
ace64e0a
GM
5672001-10-05 Gerd Moellmann <gerd@gnu.org>
568
569 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
570
ec66bdc7
MB
5712001-10-05 Miles Bader <miles@gnu.org>
572
9985827f
SM
573 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
574 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 575 New functions (were in simple.el).
9985827f 576 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
577 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
578 (syms_of_minibuf): Initialize them.
579
a0fb4492
GM
5802001-10-05 Gerd Moellmann <gerd@gnu.org>
581
582 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
583 (tiff_load): Install them as error and warning handler.
584
0bcf87c1
AI
5852001-10-04 Andrew Innes <andrewi@gnu.org>
586
587 * w32fns.c (x_to_w32_color): Fix argument to alloca.
588 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 589 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
590 (x_to_w32_charset): Handle private format for unknown charsets.
591 Handle wildcards in charset spec, by ignoring them.
592 (w32_codepage_for_font): Fix argument to alloca. Don't remove
593 "*-" prefix from charset.
594 (x_to_w32_font): Enlarge remainder array for safety. Specifically
595 handle the truncated font spec form constructed by font_list_1, so
596 that we correctly identify the charset fields. Don't remove "*-"
597 prefix from charset.
598 (w32_list_synthesized_fonts): Fix argument to alloca.
599
c89e4bc5
GM
6002001-10-04 Stefan Monnier <monnier@cs.yale.edu>
601
602 * window.h (MINI_WINDOW_P): Use NILP.
603
604 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
605
606 * termhooks.h (struct input_event): Use proper type for `kind'.
607
6082001-10-04 Gerd Moellmann <gerd@gnu.org>
609
610 This handles unknown keysyms better than before. For example,
611 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
612 Emacs formerly completely ignored F5. With the change, it derives
613 a key symbol from the name of the X keysym, `ccaron' in this case.
614 Reported by Martin Buchholz.
615
616 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
617 unknown keysyms.
618
619 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
620 that EVENT->code isn't a function key, use the keysym's name.
621
6222001-10-04 Gerd Moellmann <gerd@gnu.org>
623
624 FOREACH is a macro that should make it easier to loop over Lisp
625 lists with checks for cycles and proper lists.
626
627 * lisp.h (LIST_END_P, FOREACH): New macros.
628
6292001-10-04 Gerd Moellmann <gerd@gnu.org>
630
631 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
632 called for a lost connection. Prevent dumping core in this case.
633 Instead print the X error, and exit. On user request.
634
635 * xterm.c (error_msg): New variable.
636 (x_fatal_error_signal): New function.
637 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
638 as fatal_error_signal_hook around the call to XtCloseDisplay.
639
640 * emacs.c (fatal_error_signal_hook): New variable.
641 (fatal_error_signal): Call that function.
642
6432001-10-04 Gerd Moellmann <gerd@gnu.org>
644
645 With this, Emacs prints how much pure storage it will
646 approximately need in case pure storage overflows while dumping.
647
648 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
649 New variables.
650 (init_alloc_once): Initialize new variables.
651 (PURE_POINTER_P): Use new variables.
652 (pure_alloc): If pure storage overflows, allocate from the heap.
653 (check_pure_size): New function.
654 (Fgarbage_collect): Don't GC if pure storage has overflowed.
655
656 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
657 (check_pure_size): Add prototype.
658
659 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
660
6612001-10-04 Gerd Moellmann <gerd@gnu.org>
662
663 This adds a post-gc-hook that's run with GC inhibited.
664 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
665
666 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
667 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
668 (Fgarbage_collect): Run post-gc-hook.
669
6702001-10-04 Gerd Moellmann <gerd@gnu.org>
671
672 This adds `defvaralias' and `indirect-variable'. Changes not
673 directly related to this feature are there to gain the same
674 performance again as before variable aliases.
675
676 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
677 code to get and set symbol values, to take defvaralias into account.
678
679 (Note: the new `constant' bit-flag in symbols would make it
680 possible to define arbitrary read-only variables, e.g. with
681 `defconst'.)
682
683 Documentation is in lispref/variables.texi. Added to NEWS.
684
685 * lisp.h (enum symbol_interned): New enumeration.
686 (struct Lisp_Symbol): Remove member `obarray', add
687 `indirect_variable', `constant', and `interned'.
688 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
689 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
690 (indirect_variable): Add prototype.
691
692 * print.c (print_preprocess, print_object): Test internedness of
693 symbols differently.
694
695 * lread.c (Fintern, Funintern): Set symbol's interned and constant
696 bit-fields.
697 (init_obarray): Likewise for t and nil.
698
699 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
700 (Fdefvaralias): New function.
701 (specbind): Simplify the test if symbol is a constant.
702 (syms_of_eval): Defsubr Fdefvaralias.
703
704 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
705 (Qcyclic_variable_indirection): New variable.
706 (Fkeywordp): Check for internedness differently.
707 (Fmakunbound): Simplify the test if symbol is a constant.
708 (indirect_variable, Findirect_variable): New functions.
709 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
710 aliased symbol.
711 (let_shadows_buffer_binding_p): Check for variable aliases.
712 (set_internal): Simplify the test if SYMBOL is a constant.
713 If SYMBOL has a buffer-local value and is an alias, use the aliased
714 symbol instead.
715 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
716 Sindirect_variable.
717
718 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
719 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
720 set directly.
721
722 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
723
724 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
725 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
726 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
727
ab952a4f
GM
7282001-10-04 Gerd Moellmann <gerd@gnu.org>
729
730 * Branch for 21.1.
b56ba8de 731
ba88ff28
MB
7322001-10-03 Miles Bader <miles@gnu.org>
733
734 * callproc.c (syms_of_callproc): Explicitly state in the
735 documentation for `process-environment' that earlier entries take
736 precedence over later ones.
737
ae1a9581
MB
7382001-10-02 Miles Bader <miles@gnu.org>
739
740 * textprop.c (Fnext_char_property_change)
741 (Fprevious_char_property_change): Remove reference to non-existant
742 argument OBJECT from doc-string.
743
257e3f57
GM
7442001-10-01 Gerd Moellmann <gerd@gnu.org>
745
746 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
747 (try_window_id): Skip back over lines ending in a newline from a
748 string.
749
750 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
751 New bit flag
752
c1f29759
RS
7532001-10-01 Richard M. Stallman <rms@gnu.org>
754
755 * search.c (Freplace_match): Doc fix.
756
c30dce3d
AI
7572001-09-28 Andrew Innes <andrewi@gnu.org>
758
759 * w32menu.c (set_frame_menubar): Take into account that
760 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
761 <raeburn@gnu.org>.
762
03be5931
EZ
7632001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
764
765 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
766
75bec752
PJ
7672001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
768
769 * s/gnu-linux.h: Fix a typo in comment.
770
83100e0a
AS
7712001-09-28 Andreas Schwab <schwab@suse.de>
772
773 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
774 nocombreloc, in case -z combreloc is the default.
775
a74b48cf
GM
7762001-09-28 Gerd Moellmann <gerd@gnu.org>
777
778 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
779 really going on here.
780
09c4719e
SM
7812001-09-27 Stefan Monnier <monnier@cs.yale.edu>
782
783 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
784
f7d5d963
EZ
7852001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
786
787 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
788 utf-8, menu-bar, and latin-N.
789 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
790 unconditionally now.
791 (lisp): Add latin-N, since they are preloaded.
792
9240e746
GM
7932001-09-27 Gerd Moellmann <gerd@gnu.org>
794
14531065
GM
795 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
796 to the left. Some cleanup.
797
9240e746
GM
798 * xdisp.c (display_mode_element): One more case where a string's
799 multibyteness should be used for display.
800
edd1e654
GM
8012001-09-26 Gerd Moellmann <gerd@gnu.org>
802
b02439c8
GM
803 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
804 reading at EOF.
805
032906b1 806 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 807 of the only temporarily set echoing flag for deciding when
032906b1
GM
808 the cancel echoing.
809
810 * keyboard.c (echo_kboard): Make externally visible.
811
812 * lisp.h (echo_kboard): Declare extern.
813
cb617e7c 814 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 815 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
816 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
817 this round of redisplay if make_cursor_line_fully_visible fails.
818 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 819 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
820
821 * dispextern.h (required_matrix_width, required_matrix_height):
822 Add prototypes.
823
09c4719e
SM
824 * dispnew.c (required_matrix_width, required_matrix_height):
825 New functions.
cb617e7c 826 (allocate_matrices_for_window_redisplay)
09c4719e
SM
827 (allocate_matrices_for_frame_redisplay: Use them.
828 Remove parameters CH_DIM.
cb617e7c 829
edd1e654
GM
830 * xdisp.c (display_mode_lines): Temporarily set selected_frame
831 and selected_window to the frame of the window whose mode-lines
832 are displayed, and to the window itself.
833 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 834 here.
edd1e654 835
924b604c
GM
8362001-09-25 Gerd Moellmann <gerd@gnu.org>
837
daba7643
GM
838 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
839 the image cache under us.
840
b7a22712 841 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 842 with a string value, use that string's multibyteness for displaying.
b7a22712 843
ad648212
GM
844 * keyboard.c (read_char): Don't clear a message for a switch-frame
845 event. From Stefan Monnier <monnier@cs.yale.edu>.
846
9f8531e5
GM
847 * xterm.c (fast_find_position) [0]: Add a presumably more correct
848 version for after 21.1.
849
850 * xdisp.c (row_containing_pos): Make externally visible.
851
852 * dispextern.h (row_containing_pos): Add prototype.
853
924b604c
GM
854 * process.c (send_process): Disable composition if from_byte < 0.
855 From Kenichi Handa <handa@etl.go.jp>.
856
6f3f0db4
GM
8572001-09-24 Gerd Moellmann <gerd@gnu.org>
858
c69c0ebc
GM
859 * xterm.c (refreshicon): Function removed.
860
d1182bc4
GM
861 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
862
863 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
864
865 * xterm.c (toplevel): Remove includes in #if 0.
866
6f3f0db4
GM
867 * process.c (sigchld_handler) [LINUX]: Don't return from
868 the signal handler at the end of the loop.
869
59957f85
GM
8702001-09-21 Gerd Moellmann <gerd@gnu.org>
871
09c4719e
SM
872 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
873 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 874
a0528984
EZ
8752001-09-21 Markus Rost <rost@math.ohio-state.edu>
876
877 * Makefile.in (shortlisp): Add ../lisp/env.elc.
878
db92b288
GM
8792001-09-20 Gerd Moellmann <gerd@gnu.org>
880
3fed8ad5
GM
881 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
882 since this function can be called during GC.
883
db92b288
GM
884 * callproc.c (Fcall_process): Handle errors from pipe(2).
885 (child_setup): Delete code in #ifdef vipc.
886
7121b85a
GM
8872001-09-19 Gerd Moellmann <gerd@gnu.org>
888
72f62cb5
GM
889 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
890 (display_mode_element): Display the string from decode_mode_spec
891 depending on its multibyteness.
892
a2697022
GM
893 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
894
7121b85a
GM
895 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
896
bfc97351
GM
8972001-09-18 Gerd Moellmann <gerd@gnu.org>
898
c9063433
GM
899 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
900 recursive_edit_unwind.
901 (recursive_edit_unwind): Set kboard state according to
902 SINGLE-KBOARD.
903
3fbdba3e
GM
904 * buffer.c (modify_overlay): Don't do nothing if START == END;
905 This can still be a modification, for example when an overlay has
906 a before-string or after-string.
907 (Fdelete_overlay): Prevent redisplay optimizations when deleting
908 an overlay with before-string or after-string.
909
1270031d
GM
910 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
911 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
912
bfc97351
GM
913 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
914 first_unchanged_at_end_row is in front of
915 last_unchanged_at_beg_row. This code should be removed after the
916 release of 21.1.
917
d8a973aa
GM
9182001-09-17 Gerd Moellmann <gerd@gnu.org>
919
e18c8b8d
GM
920 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
921 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
922
d8a973aa
GM
923 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
924 versions >= 2.95.
925
ed7d6ba4
EZ
9262001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
927
928 * dired.c (Ffile_attributes): Doc fix.
929
551629f9
GM
9302001-09-14 Gerd Moellmann <gerd@gnu.org>
931
932 * fileio.c (Ffile_symlink_p): Fix last change.
933
934 * filelock.c (current_lock_owner): Fix last change.
935
4c8c7926
GM
9362001-09-13 Gerd Moellmann <gerd@gnu.org>
937
620c4704
GM
938 * filelock.c (current_lock_owner): If readlink returns ERANGE,
939 take that to mean that the buffer is too small.
940
81c3310d
GM
941 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
942 that to mean that the buffer is too small.
943
06fd3792
GM
944 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
945 current buffer's multibyteness when discarding the iterator's
946 stack.
947
4c8c7926
GM
948 * xfns.c (Fx_window_property): Handle case that property gets
949 deleted between the two calls to XGetWindowProperty.
950
9a72e4c1
GM
9512001-09-11 Gerd Moellmann <gerd@gnu.org>
952
bd819d14 953 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 954
a41edd99
GM
955 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
956 in addition to read-only.
957
958 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
959 to t in addition to read-only.
960
961 * lisp.h (Qinhibit_modification_hooks): Declare.
962
963 * insdel.c (Qinhibit_modification_hooks): New variable.
964 (syms_of_insdel): Initialize and staticpro it.
965
d4881c6a
GM
966 * textprop.c (verify_interval_modification): Don't run
967 modification-hooks if inhibit_modification_hooks.
968
969 * dispnew.c (set_window_cursor_after_update): Fix code
970 finding glyph row containing cursor when cursor_in_echo_area
971 is >= 0.
972
9a72e4c1
GM
973 * xdisp.c (init_from_display_pos): Put some code in #if 0.
974 (add_to_log): Use bcopy instead of strcpy.
975 (init_from_display_pos): Use an explicit loop over bytes in
976 overlay strings instead of calling index.
977
f4a374a1
GM
9782001-09-10 Gerd Moellmann <gerd@gnu.org>
979
300e57bd
GM
980 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
981
982 * dispnew.c (direct_output_for_insert): Don't change IT's
983 stop_charpos to something in front of its current position.
984
f4a374a1
GM
985 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
986 `format'.
987
7e4cbc91
RS
9882001-09-10 Richard M. Stallman <rms@gnu.org>
989
990 * frame.c (Fmouse_position): Doc fix.
991
6afad91e
GM
9922001-09-07 Gerd Moellmann <gerd@gnu.org>
993
994 * xdisp.c (init_from_display_pos): Don't compare the result
995 of calling index with NULL.
996
f76e0368
GM
9972001-09-06 Gerd Moellmann <gerd@gnu.org>
998
999 * xfns.c (x_set_background_color): Don't change the colors
1000 of the X window of scroll bar widgets.
1001
9ead1b60
AI
10022001-09-05 Andrew Innes <andrewi@gnu.org>
1003
1004 * w32fns.c (w32_createwindow): Undo last change.
1005
c3b497b3
GM
10062001-09-05 Gerd Moellmann <gerd@gnu.org>
1007
08e1d6df
GM
1008 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
1009
c3b497b3
GM
1010 * xdisp.c (string_buffer_position): Use *single_char_property*
1011 functions instead of the *single_property* functions.
b56ba8de 1012
8f860180
AI
10132001-09-04 Andrew Innes <andrewi@gnu.org>
1014
9a72e4c1
GM
1015 * w32term.c (w32_read_socket): Add more information to debugging
1016 output.
8f860180
AI
1017
1018 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
1019 from Emacs frames, so that calls to GetClipBox in w32term.c
1020 correctly report when part of a frame is visible (including
1021 scrollbars, etc). This prevents repeated redrawing of frames when
1022 only a scrollbar is visible.
1023 (w32_wnd_proc): Add more frame information to debugging output.
1024
2ee1aa00
SM
10252001-09-03 Stefan Monnier <monnier@cs.yale.edu>
1026
1027 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
1028
e3b22517
GM
10292001-09-03 Gerd Moellmann <gerd@gnu.org>
1030
7e376260
GM
1031 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
1032 help-echo for a string which doesn't have help-echo itself, use
1033 get-char-property to obtain the help-echo from the string's buffer
1034 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
1035 have mouse-face, look ``under'' the string for mouse-face from an
1036 overlay.
1037 (fast_find_position): Add parameter STOP. In the final row, stop
1038 before glyphs having STOP as object. Don't consider glyphs that
1039 are not from a buffer.
1040
e3b22517
GM
1041 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
1042
9a249bba
EZ
10432001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
1044
1045 * fns.c (Fmd5): Doc fix.
1046
c9979669
GM
10472001-08-31 Gerd Moellmann <gerd@gnu.org>
1048
1049 * composite.c (update_compositions): Do nothing if
1050 inhibit-modification-hooks is set.
1051
9584e63a
GM
10522001-08-30 Gerd Moellmann <gerd@gnu.org>
1053
986ec8f2 1054 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1055 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1056 glyph matrices etc. in a core dump.
1057
92a25631
GM
1058 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1059 (syms_of_xdisp): Initialize them.
1060 (handle_single_display_prop): Don't change point, bind `object',
1061 `position', and `buffer-position' instead to the object having the
2ee1aa00 1062 `display' property, position in the object and position in the buffer.
92a25631 1063
9584e63a
GM
1064 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1065 of the buffer if REPLACE is non-nil.
1066
d38633a3
GM
10672001-08-29 Gerd Moellmann <gerd@gnu.org>
1068
1069 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1070
f4fccc1e
EZ
10712001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1072
1073 * w32term.c (x_set_glyph_string_background_width)
1074 (show_mouse_face): Track the last changes in xterm.c.
1075
eaaa65b0
GM
10762001-08-28 Gerd Moellmann <gerd@gnu.org>
1077
7b0870b2
GM
1078 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1079 string's background width so that multi-line mouse-face is drawn
1080 to the right edge of the window.
1081 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1082 glyphs.
1083
6b6e2422 1084 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1085 before inserting/writing glyphs.
6b6e2422 1086
eaaa65b0
GM
1087 * xdisp.c (display_mode_element): Use string_byte_to_char to
1088 determine character positions in strings, use chars_in_text
1089 instead of strwidth.
1090 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1091 a matrix as parameter; this is easier to use from GDB.
1092
9ad62cf8
MB
10932001-08-28 Miles Bader <miles@gnu.org>
1094
2ee1aa00
SM
1095 * textprop.c (Fprevious_single_char_property_change)
1096 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1097
32171635
GM
10982001-08-27 Gerd Moellmann <gerd@gnu.org>
1099
47d57b22
GM
1100 * fileio.c (Finsert_file_contents): Allocate, restore, and
1101 free composition data in the case of REPLACE not being nil.
1102
1103 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1104 there exist overlay strings with newlines at POS.
1105 (text_outside_line_unchanged_p): Return 0 if changes start at
1106 START and overlays exist at START. Likewise for END.
1107 (try_window_id): Give up if init_to_row_end returns 0.
1108
32171635
GM
1109 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1110 unconditionally.
1111
e1249666
GM
11122001-08-24 Gerd Moellmann <gerd@gnu.org>
1113
33954c45
GM
1114 * keymap.c (access_keymap): Return the cdr of the binding of
1115 a generic character instead of its definition (KEY . BINDING).
1116
e1249666
GM
1117 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1118 to 0 also in the REPLACE case.
1119
fb4c6c96
AC
11202001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1121
1122 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1123 open to determine whether file is readable (as for DOS_NT).
1124
59ecf80b
GM
11252001-08-23 Gerd Moellmann <gerd@gnu.org>
1126
1127 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1128 coding.type is coding_type_no_conversion or coding_type_raw_text,
1129 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1130 non-nil instead of just setting enable_multibyte_characters in the
1131 buffer to nil.
1132
40e33037
GM
11332001-08-22 Gerd Moellmann <gerd@gnu.org>
1134
374388c3
GM
1135 * dispextern.h (struct face_cache): Add member
1136 menu_face_changed_p.
1137
1138 * xfaces.c (menu_face_changed_default): New variable.
1139 (menu_face_changed_count): Variable removed.
1140 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1141 the menu_face_changed_default flag, otherwise set the FRAME's
1142 menu_face_changed_p flag if the `menu' face has been changed.
1143 Prevent calling set_font_frame_param if FRAME is t.
1144 (make_face_cache): Initialize cache's menu_face_changed_p
1145 from menu_face_changed_default.
1146 (realize_basic_faces): Look into the frame's face cache to
1147 determine if the menu appearance needs updating.
1148
40e33037
GM
1149 * keymap.c (access_keymap): Fix last change to not consider
1150 IDX when it has modifiers.
1151
859ea4b8
GM
11522001-08-21 Gerd Moellmann <gerd@gnu.org>
1153
1154 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1155 . BINDING) exists, where GENERIC-CHAR is the generic character of
1156 the charset of IDX, return BINDING unless there exists a binding
1157 for IDX itself.
1158
e8660d73
GM
11592001-08-16 Gerd Moellmann <gerd@gnu.org>
1160
cca1b1d7
GM
1161 * xrdb.c (SYSV): Don't define on Solaris 2.
1162 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1163
e8660d73 1164 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1165 of the screen line, not text line, containing IT's current position.
e8660d73 1166
93aba6fc
GM
11672001-08-15 Gerd Moellmann <gerd@gnu.org>
1168
288d4e06
GM
1169 * window.c (window_scroll_pixel_based): Don't recenter if
1170 PT is partially visible in the window.
1171
3452efc2
SM
1172 * xterm.c (expose_window_tree, expose_window, expose_line):
1173 Return 1 when overwriting mouse-face.
82f053ab
GM
1174 (expose_frame): If mouse-face was overwritten, redo it.
1175
93aba6fc
GM
1176 * xfaces.c (x_update_menu_appearance): Don't call
1177 set_frame_menubar, let the next redisplay do it.
1178
858a55c1
AI
11792001-08-14 Andrew Innes <andrewi@gnu.org>
1180
1181 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1182 drawing glyph string.
1183
3a990b67
EZ
11842001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1185
1186 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1187 running HI-UX/MPP.
1188
04386463
GM
11892001-08-14 Gerd Moellmann <gerd@gnu.org>
1190
1191 * xfaces.c (x_update_menu_appearance): Save and restore value of
1192 interrupt_input_blocked.
1193
3e6385a4
GM
11942001-08-13 Gerd Moellmann <gerd@gnu.org>
1195
b0e619b4
GM
1196 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1197 a line start, move back to the line start.
3452efc2 1198
0de73d5a
GM
1199 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1200 exactly when a mini-buffer is active.
1201
3e6385a4
GM
1202 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1203 in units of 1/8 character on non window-system frames.
1204 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1205
d1b5f629
EZ
12062001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1207
1208 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1209 a doc string.
1210
eaa2319f
GM
12112001-08-09 Gerd Moellmann <gerd@gnu.org>
1212
8e3189f0
GM
1213 * keyboard.c (Vpre_help_message): New variable.
1214 (syms_of_keyboard): Initialize and staticpro it.
1215 (show_help_echo): Record current message before displaying a
1216 help-echo, and restore that message when clearing the help.
1217
eaa2319f
GM
1218 * xfns.c (x_create_im): Remove prototype.
1219
1220 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1221
1222 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1223
eaa2319f
GM
12242001-08-08 Gerd Moellmann <gerd@gnu.org>
1225
1226 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1227 windows whose height has changed, disable partially visible lines.
eaa2319f 1228
17fdcfc8
GM
12292001-08-07 Gerd Moellmann <gerd@gnu.org>
1230
22d01aed 1231 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1232 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1233
17fdcfc8
GM
1234 * xdisp.c (start_display): Don't try to determine the continuation
1235 lines width if lines are truncated. It's superfluous and leads to
1236 incorrect results if POS is not visible in the window after
1237 reseating the iterator at the previous line start.
1238
8e3fe78e
GM
12392001-08-06 Gerd Moellmann <gerd@gnu.org>
1240
1241 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1242
98a8938c
GM
12432001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1244
1245 * alloc.c (init_stack): Remove declaration.
1246
18f9986a
GM
12472001-08-03 Gerd Moellmann <gerd@gnu.org>
1248
5e1f85e0
GM
1249 * keyboard.c (read_key_sequence): Check that key is an integer
1250 before comparing it with quit_char.
1251 (add_command_key): Use larger_vector.
1252 (read_char_x_menu_prompt): Instead of converting symbol and
1253 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1254 which cannot be confused with valid events.
5e1f85e0
GM
1255 (read_char): When reading from Vunread_command_events, check for
1256 events of the form (EVENT . disabled) instead of
1257 (EVENT . nil).
1258
18f9986a
GM
1259 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1260 a float, determine the max height from the frame's height.
1261
fbc7f2a6
GM
12622001-08-02 Gerd Moellmann <gerd@gnu.org>
1263
1264 * xdisp.c (redisplay_internal): Take message_cleared_p into
1265 account only if minibuf_level == 0.
1266
81b1a79d
GM
12672001-08-01 Gerd Moellmann <gerd@gnu.org>
1268
e5c60873
GM
1269 * xdisp.c (redisplay_internal): Add a check for the last
1270 displayed message.
3452efc2 1271
6e019995
GM
1272 * xdisp.c (message_cleared_p): New variable.
1273 (clear_message): Set message_cleared_p when clearing the current
1274 message.
1275 (redisplay_internal): Look at message_cleared_p to capture
1276 the case that the echo area should be cleared.
1277
308a74d8
GM
1278 * keyboard.c (command_loop_1): Fix spelling of
1279 resize_echo_area_exactly.
1280
3452efc2 1281 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1282
1283 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1284
81b1a79d
GM
1285 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1286 current matrix when the window gets smaller.
1287
ada329e6
EZ
12882001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1289
1290 * print.c (strout): Cast the character passed to insert_char to
1291 unsigned char, to avoid sign extension when it is promoted to int.
1292
ed86208c
GM
12932001-07-31 Gerd Moellmann <gerd@gnu.org>
1294
1295 * fileio.c (Finsert_file_contents): Don't treat a return value
1296 of 0 from emacs_read as an IO error.
1297
6594ac22
GM
12982001-07-30 Gerd Moellmann <gerd@gnu.org>
1299
cef68af5
GM
1300 * keyboard.c (abs): New macro.
1301 (double_click_fuzz): New variable.
1302 (make_lispy_event): Use it to determine what makes a double-click.
1303 (syms_of_keyboard): DEFVAR_INT it.
1304
6594ac22
GM
1305 * xmenu.c (set_frame_menubar): Take into account that
1306 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1307 <raeburn@gnu.org>.
1308
75c5350a
GM
13092001-07-27 Gerd Moellmann <gerd@gnu.org>
1310
1311 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1312
1313 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1314 of row's visible height.
1315
1316 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1317 deal with the first overlay string having an image `display' property.
1318 (try_window_reusing_current_matrix, compute_line_metrics):
1319 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1320 row is invisible above and part of the row is at the same time
1321 invisible below the window.
1322
ac49effe
GM
13232001-07-26 Gerd Moellmann <gerd@gnu.org>
1324
1325 * xfns.c (x-show-tip): Doc fix.
3452efc2 1326
ac49effe
GM
1327 * xfns.c (Vx_max_tooltip_size): New variable.
1328 (syms_of_xfns): DEFVAR_LISP it.
1329 (Fx_show_tip): Set frame's window_width to the width of the
1330 window. Use a maximum tooltip size specified by
1331 Vx_max_tooltip_size, if that has valid contents.
1332 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1333
8c3b00cb
AI
13342001-07-26 Andrew Innes <andrewi@gnu.org>
1335
1336 * w32term.c (x_display_list): New variable.
1337 (w32_term_init): Set it.
1338
1339 * w32term.h (x_display_list): New extern.
1340
16098288
GM
13412001-07-26 Gerd Moellmann <gerd@gnu.org>
1342
1343 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1344 is non-nil, instead of when redisplaying_p is non-zero.
1345 See comment there.
16098288
GM
1346 (mark_window_display_accurate_1): Add an assertion.
1347
64c5be50
GM
13482001-07-25 Gerd Moellmann <gerd@gnu.org>
1349
e743f599
GM
1350 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1351
563b384d
GM
1352 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1353 events so that we get a chance of processing expose events.
1354
64c5be50
GM
1355 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1356
296808a5
GM
13572001-07-24 Gerd Moellmann <gerd@gnu.org>
1358
1359 * xfns.c (valid_image_p): Protect better against invalid image
1360 specifications. Previous code could signal an error.
1361
5247262a
GM
13622001-07-23 Gerd Moellmann <gerd@gnu.org>
1363
3452efc2 1364 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1365 presence of display table entries.
1366 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1367
dd42b31a
GM
1368 * dispnew.c (adjust_glyph_matrix): In the optimization for
1369 windows whose height has changed, use the new window height
1370 to compute which rows to invalidate.
1371
9e5a7f2a
GM
1372 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1373 (MAX_10_EXP): New macro.
1374 (Fformat): Use it.
1375
5247262a
GM
1376 * coding.c (code_convert_region): Handle the multibyte case if
1377 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1378
177ab8ce
GM
13792001-07-20 Gerd Moellmann <gerd@gnu.org>
1380
6e07c0a5
GM
1381 * dispextern.h (struct face): Change type of `stipple' to
1382 int; it's an ID.
1383
177ab8ce
GM
1384 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1385
b5b80599
GM
13862001-07-19 Gerd Moellmann <gerd@gnu.org>
1387
4e2a256b
GM
1388 * dispnew.c (update_window): Don't set the cursor at the end
1389 of the update if display update has been paused.
1390
3452efc2 1391 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1392
c1fd9232
KR
13932001-07-18 Ken Raeburn <raeburn@gnu.org>
1394
1395 * fns.c (Fset_char_table_default): Check that a charset is defined
1396 before checking its dimension.
1397
928a85c1
KR
13982001-07-17 Ken Raeburn <raeburn@gnu.org>
1399
1400 * coding.c (setup_coding_system): Don't do any designation based
1401 on reg_bits if charset is not yet defined.
1402
fb4c6c96 1403 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1404 pointer, using eassert.
1405
de11c1ea
GM
14062001-07-17 Gerd Moellmann <gerd@gnu.org>
1407
3452efc2
SM
1408 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1409 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1410
467f1209
GM
14112001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1412
1413 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1414
c3d6be34
GM
14152001-07-16 Gerd Moellmann <gerd@gnu.org>
1416
c1d61a7d
GM
1417 * fileio.c (unwind_read): Function removed.
1418 (read_non_regular, read_non_regular_quit): New functions.
1419 (Finsert_file_contents): When reading from non-regular files,
1420 arrange to catch a `quit' and terminate the loop. Rearrange
1421 code so that a `quit' when reading from a regular file doesn't
1422 insert text in the buffer.
1423
c3d6be34
GM
1424 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1425 Clear faces afterwards.
1426 (clear_font_table): Take a x_display_info parameter. Don't free
1427 fonts being the default font of any frame on the given display.
1428
e06aa1f9
GM
14292001-07-13 Gerd Moellmann <gerd@gnu.org>
1430
1431 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1432 instead of CHAR_STRING which can signal an error.
1433
1434 * charset.c (char_to_string_1): Extracted from char_to_string.
1435 Return -1 instead of signaling an error.
1436 (char_to_string): Use it.
1437
1438 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1439
176c92e6
SM
14402001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1441
1442 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1443 is t, don't try to append anything to it.
1444
1c56232f
EZ
14452001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1446
1447 * dired.c (file_name_completion): Pass dp->d_name to
1448 Fstring_match, not elt, which is always nil here.
1449
1d2b2268
GM
14502001-07-12 Gerd Moellmann <gerd@gnu.org>
1451
1452 * xselect.c (x_decline_selection_request): Handle errors
1453 caused by receivers that have vanished.
1454
1455 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1456 ignoring events on foreign windows in #if 0. Always dispatch
1457 the event after checking it with x_handle_property_notify.
1458
1459 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1460 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1461 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1462 (toplevel): Add prototypes for file-local functions.
1463 (x_atom_to_symbol): Remove DPYINFO parameter.
1464
fe5a0162
SM
14652001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1466
1467 * w32menu.c (menubar_selection_callback, w32_menu_show):
1468 Initialize `entry' to nil.
1469 (w32_dialog_show): Remove unused `save_wv' variable.
1470 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1471
a777242c
GM
14722001-07-11 Gerd Moellmann <gerd@gnu.org>
1473
8ee5b6a3
GM
1474 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1475
d0e2444e
GM
1476 * fileio.c (unwind_read): Print a message when discarding inserted
1477 text or switching the buffer to unibyte. Change parameter.
1478 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1479
a777242c
GM
1480 * fileio.c (unwind_read): New function.
1481 (Finsert_file_contents): Record it as unwind-function for
1482 the case that reading is interrupted by C-g.
1483
ae794295
GM
14842001-07-10 Gerd Moellmann <gerd@gnu.org>
1485
fe5a0162 1486 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1487 update when scrolling_window returns 0.
1488
6b05fae3
GM
1489 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1490
1491 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1492 for the case that x_decode_color signals an error.
6b05fae3 1493
ae794295
GM
1494 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1495
bb6e8cee
GM
14962001-07-09 Gerd Moellmann <gerd@gnu.org>
1497
1498 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1499 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1500 around ioctls.
1501
36b40a8a
EZ
15022001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1503
24b97d4b
EZ
1504 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1505 doc string line for dos-timezone-offset.
1506
36b40a8a
EZ
1507 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1508 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1509 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1510 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1511
1512 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1513
0967b4b0
GM
15142001-07-05 Gerd Moellmann <gerd@gnu.org>
1515
f25cfe53
GM
1516 * sound.c: Include Emacs' header files with #include "...".
1517
0967b4b0
GM
1518 * eval.c (specbind): Additionally record the buffer that was
1519 current when a buffer-local or frame-local variable was bound.
1520
c347a1c3
GM
15212001-07-04 Gerd Moellmann <gerd@gnu.org>
1522
1523 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1524 to unibyte characters in unibyte buffers.
1525
6332ca8a
GM
15262001-07-03 Gerd Moellmann <gerd@gnu.org>
1527
38472d44
GM
1528 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1529 the frame on the binding stack. Change format of entries for
1530 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1531 (unbind_to): Handle unbinding a frame-local variable.
1532
6332ca8a 1533 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1534 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1535 (dump_glyph_row): Print row's continuation_lines_width.
1536 (try_window_id): Take the shortcut if ZV is visible in the
1537 window, but there are actually no changes at ZV.
1538
63d1b174
GM
15392001-07-02 Gerd Moellmann <gerd@gnu.org>
1540
4c175203
GM
1541 * xterm.h (x_free_dpy_colors): Add prototype.
1542
1543 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1544 right number of arguments.
1545
0b54ce28
GM
1546 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1547 ($(lwlibdir)TAGS): New target.
4c175203 1548 (TAGS): Fix dependency list.
0b54ce28 1549
63d1b174
GM
1550 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1551 with input blocked.
1552
d827466c
GM
15532001-06-30 Gerd Moellmann <gerd@gnu.org>
1554
1555 * emacs.c (main): Remove extern declaration for sys_nerr, which
1556 isn't used and causes a compilation error with GCC 3.0 on
1557 FreeBSD 4.3.
1558
b5cb1ada
GM
15592001-06-27 Gerd Moellmann <gerd@gnu.org>
1560
a5d3ec3f 1561 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1562 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1563 (toplevel): Include <signal.h> and syssignal.h.
1564
b5cb1ada
GM
1565 * sound.c (vox_configure, vox_close): Turn off atimers
1566 around ioctls.
1567
d9bad487
GM
15682001-06-26 Gerd Moellmann <gerd@gnu.org>
1569
fdbb67fe
GM
1570 * keyboard.c (read_char) <non_reread>: Record the previous idle
1571 start time before calling timer_stop_idle.
1572 (read_char) <reread_first>: After processing a help-echo event,
1573 restore the previous idle start time.
1574
d9bad487
GM
1575 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1576 the start of invisible text.
1577 (setup_for_ellipsis): New function.
1578 (next_overlay_string): After all overlay strings have been
1579 processed, display an ellipsis if necessary.
1580 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1581 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1582
1583 * dispextern.h (struct iterator_stack_entry): Add member
1584 display_ellipsis_p.
1585
2b9c25e0
GM
15862001-06-25 Gerd Moellmann <gerd@gnu.org>
1587
80de57df
GM
1588 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1589 on the value of the wait-for-wm frame parameter.
1590
1591 * xterm.h (struct x_output): Add member wait_for_wm.
1592
1593 * xfns.c (Qwait_for_wm): New variable.
1594 (x_frame_parms): Add entry for `wait-for-wm".
1595 (x_set_wait_for_wm): New function.
1596 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1597 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1598
2b9c25e0
GM
1599 * xdisp.c (try_window_id) <all changes below window end>: Don't
1600 take this shortcut if ZV is visible in the window.
1601 (try_window_id): When checking for window start being in changed
1602 text, don't check that the buffer's size has changed.
1603
f772775c
RS
16042001-06-23 Richard M. Stallman <rms@gnu.org>
1605
1606 * minibuf.c (Fcompleting_read): Doc fix.
1607
fa9090b8
GM
16082001-06-19 Gerd Moellmann <gerd@gnu.org>
1609
1610 * composite.c (Ffind_composition_internal): Accept ZV
1611 and a string's end position as POS.
1612
f6f1beba
GM
16132001-06-18 Gerd Moellmann <gerd@gnu.org>
1614
1615 * composite.c (Ffind_composition_internal): Check POS
1616 for validity.
1617
0ae83348
EZ
16182001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1619
1620 * editfns.c (Fmessage_box): If the frame is not under a window
1621 system, output the message in the echo area.
1622
e4cdc335
RS
16232001-06-14 Richard M. Stallman <rms@gnu.org>
1624
1625 * xdisp.c (try_window_id): When EOB is visible, don't treat
1626 insertion at EOB as if it were "off the bottom of the screen."
1627
a55a5f3c
AI
16282001-06-11 Andrew Innes <andrewi@gnu.org>
1629
1630 * w32proc.c (create_child): Add new parameter is_gui_app.
1631 (w32_executable_type): Add new parameter is_gui_app.
1632 (sys_spawnve): Use it.
1633 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1634 SIGQUIT. This matches better how the signals are interpreted by
1635 MSVC compiled programs.
1636 (syms_of_ntproc): Update docstring.
1637
1b85dc1c
SM
16382001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1639
1640 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1641 well otherwise note_mouse_highlight might optimize away highlighting
1642 if we pass over that same overlay again.
1643
b75f8eab
EZ
16442001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1645
1646 * lread.c (Fload): Document that the argument is run via
1647 substitute-in-file-name.
1648
94843cc1
GM
16492001-05-31 Gerd Moellmann <gerd@gnu.org>
1650
b14659e6
GM
1651 * Makefile.in (bootstrap-doc): New target.
1652 (bootstrap-emacs): Depend on it.
1653
0894672f
GM
1654 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1655 auto-save-list-file-name when shutting down Emacs, because
1656 creating the directory might signal an error, and leaves
1657 Emacs in a strange state.
1658
94843cc1
GM
1659 * term.c: (tty_cursor_hidden): New variable.
1660 (update_begin): Don't call tty_hide_cursor. Clean up.
1661 (update_end, set_terminal_window, set_scroll_region): Clean up.
1662 (ring_bell, reset_terminal_modes): Clean up.
1663 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1664 on tty_cursor_hidden.
1665 (write_glyphs): Call tty_hide_cursor.
1666
db3a49a6
SM
16672001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1668
1669 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1670
8bd189fb
GM
16712001-05-30 Gerd Moellmann <gerd@gnu.org>
1672
6f1be3b9
GM
1673 * xfns.c (enum image_value_type): New enumerator
1674 IMAGE_STRING_OR_NIL_VALUE.
1675 (parse_image_spec): Handle it.
1676 (xbm_format, pbm_format): Use it for :foreground and :background.
1677 (xbm_load, pbm_load): Check for nil color names.
1678
8bd189fb
GM
1679 * xterm.c (note_mouse_highlight): If an overlapping overlay
1680 exists, but we find that we highlight the same overlay as before,
1681 don't do the highlighting again.
1682
7bdba03c
GM
16832001-05-29 Gerd Moellmann <gerd@gnu.org>
1684
4c329aa8
GM
1685 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1686 Protect unibyte strings created by replacing their multibyte
1687 equivalents in menu_items.
1688
e15e2828
GM
1689 * keymap.c (Fsingle_key_description): NUL-terminate the string
1690 buffer before calling build_string.
1691
7bdba03c
GM
1692 * callproc.c (Fcall_process): Deal with decode_coding returning
1693 CODING_FINISH_INCONSISTENT_EOL.
1694
89c8dc6c
GM
16952001-05-28 Gerd Moellmann <gerd@gnu.org>
1696
db3a49a6 1697 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1698 an item's name with its key description in case the description
1699 is a multibyte string.
1700
1701 * keymap.c (Fsingle_key_description): Create a multibyte string
1702 only if necessary.
1703
eb04d6cd
GM
1704 * macros.c (Fstart_kbd_macro): Doc fix.
1705
8bd6307f
GM
1706 * xterm.c (cursor_in_mouse_face_p): New function.
1707 (x_draw_stretch_glyph_string): Use it to choose a different GC
1708 when drawing a cursor within highlighted text.
1709
e26c4089
GM
1710 * editfns.c (char_property_eq): Put in #if 0.
1711
1712 * indent.c (string_display_width): Put in #if 0.
1713
1714 * lread.c (Fload): Remove unused label.
1715
89c8dc6c
GM
1716 * termcap.c (speeds): Put in #if 0.
1717
9a1211f2
GM
17182001-05-18 Gerd Moellmann <gerd@gnu.org>
1719
29148a3f
GM
1720 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1721
9a1211f2
GM
1722 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1723 transformation matrix by 10.
1724
09393d07
GM
17252001-05-16 Gerd Moellmann <gerd@gnu.org>
1726
1727 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1728 only if it's equal to the former foreground pixel color.
db3a49a6 1729 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1730 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1731
460e6bae
GM
17322001-05-16 Dave Love <fx@gnu.org>
1733
1734 * insdel.c (signal_before_change, signal_after_change): Consider a
1735 local change hook which changes the buffer.
99c78ce8
GM
1736
1737 * process.c (read_process_output): Don't call signal_after_change
1738 and update_compositions after insert_from_string_before_markers.
1739
dbcf3c03
GM
17402001-05-16 Gerd Moellmann <gerd@gnu.org>
1741
a90b3d3c
GM
1742 * xfaces.c (split_font_name): Use the right field when
1743 checking for `[...]' syntax.
1744
1b7818b4
GM
1745 * buffer.c (copy_overlays): New function.
1746 (clone_per_buffer_values): Use it.
1747
1748 * buffer.h (OVERLAY_PLIST): New macro.
1749
9bae8781
GM
1750 * keymap.c (Fsingle_key_description): Replace a build_string with
1751 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1752
dbcf3c03
GM
1753 * fontset.c (Ffontset_info): Check that face is non-null
1754 before accessing its fields.
1755
8a1ae4dd
GM
17562001-05-15 Gerd Moellmann <gerd@gnu.org>
1757
18a0a39e
GM
1758 * keyboard.c (read_key_sequence): Prevent generating a fake
1759 prefix key twice.
1760
e335b66a
GM
1761 * xfaces.c (split_font_name): Handle `[...]' for the right
1762 font name fields.
1763
8a1ae4dd
GM
1764 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1765 of CCL_STAT_INVALID_CMD.
1766
3cf80731
SM
17672001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1768
33568849
SM
1769 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1770 in <var> has no default value yet.
1771
3cf80731
SM
1772 * xfaces.c (try_alternative_families): First try the FAMILY.
1773 And if nothing is found in the end, try again with scalable fonts.
1774 (try_font_list): Let try_alternative_families do a bit more of
1775 the work. Only use FAMILY if it is not nil.
1776 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1777
933b0249
GM
17782001-05-14 Gerd Moellmann <gerd@gnu.org>
1779
58e5af83
GM
1780 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1781 pointer shape when show_mouse_face has already done it.
33568849 1782
58e5af83 1783 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1784 full-width rows.
1785
7b16a6bf
GM
1786 * xfaces.c (split_font_name): Make sure to leave the loop
1787 with the right value of `i'.
3cf80731 1788
933b0249
GM
1789 * xfaces.c (split_font_name): Handle matrix transformations
1790 in the pixel and point size fields of XLFD font names.
1791 (xlfd_point_size): Likewise.
1792
dddcbf00
EZ
17932001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1794
3cf80731 1795 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1796 (x_to_w32_font): Add prototype.
1797
7689ef0b
EZ
1798 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1799 redefining, to avoid compiler warnings.
1800
e7c15bba
EZ
1801 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1802
dddcbf00
EZ
1803 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1804 (w32_get_bdf_glyph): Cast between unsigned char and char when
1805 passing arguments to subroutines, to shut up compiler warnings.
1806 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1807 GET_HEX_VAL.
1808
1809 * xfaces.c: Include keyboard.h before frame.h, not after it.
1810
1811 * widget.c: Include keyboard.h before frame.h.
1812
1813 * w32term.h (struct image, struct face): Forward declaration, to
1814 avoid compiler warnings.
1815
7bd2d083
GM
18162001-05-11 Gerd Moellmann <gerd@gnu.org>
1817
47e72862
GM
1818 * keyboard.c (read_key_sequence): Don't modify events when
1819 generating fake prefix keys (mode-line, scroll-bar, ...) since
1820 this prevents proper processing of such events when pushed back
1821 into unread-command-events.
1822
dd5f324b
GM
1823 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1824 actually redrawn. Make the function static.
1825 (note_mouse_highlight): Fix a case where the mouse cursor
1826 was changed back to the text cursor.
1827
1828 * xterm.h (clear_mouse_face): Remove prototype.
1829
d88a79d4
GM
1830 * xdisp.c (try_window_id): Fix the fix and set the right
1831 window_end_vpos.
1832
1833 * xdisp.c (try_window_id): Fix computation of window end in the
1834 case that lines were deleted at the end of the window. Add some
1835 more debug_method_adds.
0416532f 1836
7bd2d083
GM
1837 * xfaces.c (try_alternative_families): New function.
1838 (try_font_list): Use it. If ATTRS specifies a family, check
1839 fonts from that family first.
1840 (choose_face_font): Remove code setting the family part of
1841 the pattern to nil.
1842
23fca891
GM
18432001-05-10 Gerd Moellmann <gerd@gnu.org>
1844
ff9aa2ca
GM
1845 * xdisp.c (try_window_id): Fix case of all changes before
1846 the window start.
7b2654b5 1847
23fca891
GM
1848 * xdisp.c (try_window_id): Add some xasserts.
1849
e9726794
GM
18502001-05-09 Gerd Moellmann <gerd@gnu.org>
1851
1852 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1853
9e53a675
GM
18542001-05-09 Dave Love <fx@gnu.org>
1855
1856 * xdisp.c (GIVE_UP): Fix for K&R C.
1857
0d487c52
GM
18582001-05-09 Gerd Moellmann <gerd@gnu.org>
1859
fe88d421
GM
1860 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1861
0d487c52
GM
1862 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1863 back to the text cursor shape without need.
1864
1e9fc92e
GM
18652001-05-07 Gerd Moellmann <gerd@gnu.org>
1866
a2a6232e
GM
1867 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1868
1869 * dispextern.h (inverse_video): Declare extern.
1870
1e9fc92e
GM
1871 * keyboard.c (delete_kboard): Handle the case that selected_frame
1872 has been deleted in the course of x_connection_closed.
1873
12949a7f
EZ
18742001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1875
7b2654b5
SM
1876 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1877 Fix the change from 2001-04-30.
12949a7f 1878
2fa2f461
GM
18792001-05-03 Gerd Moellmann <gerd@gnu.org>
1880
a779d213
GM
1881 * xfns.c (file_dialog_unmap_cb): New function.
1882 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1883 where a dialog is closed via the window manager.
1884
7b2654b5 1885 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1886 the window start or all below the window end mostly rewritten.
1887 (redisplay_window): Move the tests if try_window_id is
1888 applicable to try_window_id.
1889 (GIVE_UP): New macro.
1890
3356df63
GM
18912001-05-02 Gerd Moellmann <gerd@gnu.org>
1892
a39202f6 1893 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1894 currently being updated, mark the frame garbaged.
1895 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1896 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1897
3356df63
GM
1898 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1899 again if it has already been drawn.
1900
a9d2fd1d
SM
19012001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1902
1903 * syntax.c (update_syntax_table): Check that oldi has the same
1904 properties as old_prop before deciding not to invalidate.
1905
c95fc5f1
GM
19062001-04-30 Gerd Moellmann <gerd@gnu.org>
1907
a9793e45
GM
1908 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1909 read-only text that is so because of text properties.
1910
c95fc5f1 1911 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1912 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1913 windows that are components of a Lucid menu bar.
1914
5a5d9185
GM
19152001-04-27 Gerd Moellmann <gerd@gnu.org>
1916
1917 * term.c (turn_on_face): Fix reverse video handling on terminals
1918 that don't support colors.
1919
ba973f7a
GM
19202001-04-26 Gerd Moellmann <gerd@gnu.org>
1921
1922 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1923 a non-buffer.
1924
8c56a983
GM
19252001-04-25 Gerd Moellmann <gerd@gnu.org>
1926
a728644c
GM
1927 * term.c (toggle_highlight): New function.
1928 (turn_on_face): Change handling of reverse video.
1929
7b2654b5
SM
1930 * process.c (wait_reading_process_input):
1931 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1932
bfd8410f
GM
1933 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1934 of the number of overlays to check.
1935
be2488ca
GM
1936 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1937
8c56a983
GM
1938 * xdisp.c (try_window_id): Fix a case where window_end_pos
1939 and window_end_bytepos were not adjusted.
1940
522d42f7
GM
19412001-04-23 Gerd Moellmann <gerd@gnu.org>
1942
1943 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1944 zero instead of -1.
1945
78c1afb6
EZ
19462001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1947
a9d2fd1d
SM
1948 * process.c (wait_reading_process_input) [!subprocesses]:
1949 Don't reference waiting_for_user_input_p, it's not defined in the
1950 branch without async subprocesses support.
78c1afb6 1951
a2fab450
GM
19522001-04-19 Gerd Moellmann <gerd@gnu.org>
1953
a122a38e
GM
1954 * keyboard.c (delete_kboard): Prevent a dangling reference
1955 from current_kboard to KB, which is freed.
1956
a9d2fd1d
SM
1957 * process.c (wait_reading_process_input):
1958 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1959 read_key_sequence aware of buffer changes from under it.
1960
0f8d6dc7
GM
19612001-04-18 Gerd Moellmann <gerd@gnu.org>
1962
eeffb293
GM
1963 * xfaces.c (Qscalable_fonts_allowed): New variable.
1964 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1965 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1966 removed.
eeffb293 1967 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1968 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1969 for scalable-fonts-allowed to t.
eeffb293 1970
0f8d6dc7
GM
1971 * fileio.c (Finsert_file_contents): If the file size returned from
1972 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1973 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1974
eec2d1de
EZ
19752001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1976
1977 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1978 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1979 (__memalign_hook): Make the two prototypes consistent.
1980
f4f480bd
GM
19812001-04-17 Gerd Moellmann <gerd@gnu.org>
1982
1983 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1984 matrix of mini-windows.
1985
52283633
SM
19862001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1987
1988 * intervals.c (find_interval): Don't rebalance during signal handling.
1989
ec2423c9
GM
19902001-04-11 Gerd Moellmann <gerd@gnu.org>
1991
30cb0001 1992 * fns.c: Include blockinput.h.
52283633 1993
ec2423c9
GM
1994 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1995
719d83ad
GM
19962001-04-10 Gerd Moellmann <gerd@gnu.org>
1997
60f8d735
GM
1998 * fns.c (Fcompare_strings): Fix return values.
1999
afffeb57
GM
2000 * window.c (window_scroll): Change the meaning of N to mean
2001 N screen-fulls or N lines.
2002 (window_scroll_pixel_based, window_scroll_line_based)
2003 (scroll_command, Fscroll_other_window): Change accordingly.
2004
52283633
SM
2005 * window.c (window_scroll_pixel_based, Frecenter):
2006 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
2007 height of the window.
2008
2009 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
2010 instead of using it.last_visible_y for the height of the window.
52283633 2011
719d83ad 2012 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 2013 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
2014
2015 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
2016 able to write to hidden and system files. From Dan Holmsand
2017 <dan@eyebee.com>.
719d83ad 2018
8ddf3ee1
GM
2019 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
2020 Holmsand <dan@eyebee.com>.
719d83ad 2021
522ed7fb
GM
20222001-04-09 Gerd Moellmann <gerd@gnu.org>
2023
9170e5d4
GM
2024 * fns.c (Fplist_get, Fplist_put): Add QUITs.
2025
522ed7fb
GM
2026 * window.c (window_internal_height): Return 1 less if the
2027 window has a header line.
2028
2029 * xdisp.c (try_window_id): When scrolling on a terminal, take
2030 the change of window_internal_height into account.
2031
ceeb3d7d
EZ
20322001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
2033
2034 * gmalloc.c (align): If the argument SIZE would overflow
2035 __malloc_ptrdiff_t, fail right away.
2036
63685b9d
GM
20372001-04-06 Gerd Moellmann <gerd@gnu.org>
2038
2039 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
2040 Make sure the tooltip is completely visible.
2041 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
2042
2043 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
2044
2045 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
2046
3ffb33bb
DL
20472001-04-06 Dave Love <fx@gnu.org>
2048
52283633
SM
2049 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
2050 Fix test of `from'.
3ffb33bb 2051
869fb12c
GM
20522001-04-06 Gerd Moellmann <gerd@gnu.org>
2053
52283633 2054 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2055
869fb12c
GM
2056 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2057
441bf856
GM
20582001-04-05 Gerd Moellmann <gerd@gnu.org>
2059
4d664b04
GM
2060 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2061
52283633 2062 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2063
30ca89f5
GM
2064 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2065 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2066
2067 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2068 shell widget's position only if it is non-null.
2069
52283633
SM
2070 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2071 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2072
81a81c0f
GM
2073 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2074 FILENAME to bring it in synch with the documentation.
2075
441bf856
GM
2076 * xfaces.c (realizing_basic_faces_p): Renamed from
2077 realize_default_face_p.
2078 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2079 (realize_default_face): Don't set the flag.
2080
702a1e8e
GM
20812001-04-04 Gerd Moellmann <gerd@gnu.org>
2082
1013f4e3
GM
2083 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2084
52283633
SM
2085 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2086
1013f4e3
GM
2087 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2088 the buffer that was used for echoing.
2089
702a1e8e
GM
2090 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2091 (first_font_matching): Removed unused function.
2092 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2093 (may_use_scalable_font_p): Remove parameter FONT; rename
2094 parameter NAME to FONT.
2095 (x_face_list_fonts): Fix missing bounds check.
2096 (realizing_default_face_p): New variable.
2097 (realize_default_face): Set and clear that flag.
2098 (x_face_list_fonts): When called during the realization of the
2099 default face, and no matching fonts are found when ignoring
2100 scalable fonts and fonts matching a regexp from
2101 face-ignored-fonts, try without ignoring fonts.
2102
f9dbcda4
GM
21032001-04-03 Gerd Moellmann <gerd@gnu.org>
2104
ad18ffb1
GM
2105 * xfns.c (postprocess_image): New function.
2106 (lookup_image): Call it for all image types except PostScript.
2107 (x_kill_gs_process): Call postprocess_image.
2108
f9dbcda4
GM
2109 * xterm.c (x_use_underline_position_properties): New variable.
2110 (x_draw_glyph_string): Use it.
2111 (syms_of_xterm): DEFVAR_BOOL it.
2112
651f03b6
GM
21132001-04-02 Gerd Moellmann <gerd@gnu.org>
2114
2115 * xterm.c (x_alloc_nearest_color_1): New function.
2116 (x_alloc_nearest_color): Use it.
2117 (x_color_cells): Take a Display as argument, instead of a frame.
2118 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2119 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2120 (x_initialize): Register cvt_string_to_pixel as resource converter
2121 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2122
73d75a62
GM
21232001-03-30 Gerd Moellmann <gerd@gnu.org>
2124
b2046df8
GM
2125 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2126 (set_iterator_to_next): If a string from a display property ends,
2127 consider the case that this might also be the end of an
2128 overlay string having the display property.
2129
52283633 2130 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2131
87d8eba4
GM
2132 * xdisp.c (reseat_to_string): Undo last change.
2133
73d75a62
GM
2134 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2135 matrix of a window when the header line changes, when
2136 new rows are allocated, or when the width changes.
2137
911a2406
EZ
21382001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2139
52283633 2140 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2141
aea51abe
EZ
21422001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2143
2144 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2145 deprecated.
2146
176bc847
GM
21472001-03-29 Gerd Moellmann <gerd@gnu.org>
2148
ed31fabf
GM
2149 * data.c (Fsubr_interactive_form): New function.
2150 (syms_of_data): Defsubr it.
2151
176bc847
GM
2152 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2153 (live_float_p, live_misc_p): Return 1 only if the offset of the
2154 pointer in its block is >= 0.
2155
e59d0e9d
GM
21562001-03-28 Paul Eggert <eggert@twinsun.com>
2157
2158 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2159 microseconds calcuation. Avoid double-rounding problem.
2160 In doc string, warn that the result is approximate.
2161
f827b862
GM
21622001-03-28 Gerd Moellmann <gerd@gnu.org>
2163
30a3f61c
GM
2164 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2165 bind `inhibit-eval-during-redisplay' to t.
2166
2167 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2168
2169 * xdisp.c (inhibit_eval_during_redisplay)
2170 (Qinhibit_eval_during_redisplay): New variables.
2171 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2172 don't eval, return nil instead.
2173 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2174 Initialize Qinhibit_eval_during_redisplay.
2175
e719f5ae
GM
2176 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2177 the iterator's multibyte_p flag.
2178
deb2613a
GM
2179 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2180 instead of setting it to zero; it's incremented for each frame
2181 where the menu face is changed.
2182
52283633
SM
2183 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2184 change bottom shadow accordingly.
2185
2186 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2187 intersections here.
2188 (expose_window): Do it here instead.
52283633 2189 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2190
f827b862
GM
2191 * bytecode.c (BYTE_CODE_QUIT): New macro.
2192 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2193
4bde0ebb
GM
21942001-03-27 Gerd Moellmann <gerd@gnu.org>
2195
607ec83c
GM
2196 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2197 Give up if matrix starts in an ellipsis.
2198 (init_from_display_pos): Do nothing if POS doesn't specify
2199 a dpvec_index but the iterator has such a position.
2200
0245398f
GM
2201 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2202
aba25348
GM
2203 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2204 x/y position is (0, 0) after destroying the menu bar, restore
2205 its original position.
2206
4bde0ebb
GM
2207 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2208 (init_from_display_pos): Use it.
2209 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2210
8cdb267e
GM
22112001-03-26 Gerd Moellmann <gerd@gnu.org>
2212
2213 * xdisp.c (try_window_id): Undo last change.
2214
9948db79
EZ
22152001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2216
2217 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2218
2219 * buffer.c (syms_of_buffer): Doc fix.
2220
2eddf899
GM
22212001-03-26 Gerd Moellmann <gerd@gnu.org>
2222
2223 * xfaces.c (x_update_menu_appearance): Use local variable
2224 popup_path for setting font resources.
2225
6c145d35
EZ
22262001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2227
6a65b1b5
EZ
2228 * frame.c (Fframe_list): Don't reference tip_frame if
2229 HAVE_WINDOW_SYSTEM is not defined.
2230
6c145d35
EZ
2231 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2232 <wl@gnu.org>.
2233
d74c1900
GM
22342001-03-25 Gerd Moellmann <gerd@gnu.org>
2235
20fbd925
GM
2236 * xdisp.c (init_from_display_pos): Test invisible property
2237 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2238
927c5b3b
GM
2239 * xdisp.c (redisplay_internal) <update one window>: Make sure
2240 last_arrow_position and last_arrow_string are set.
2241
d74c1900
GM
2242 * frame.c (Fframe_list): Don't return a tooltip frame.
2243
091f8878
GM
22442001-03-23 Gerd Moellmann <gerd@gnu.org>
2245
52283633
SM
2246 * xdisp.c (mark_window_display_accurate_1): New function,
2247 extracted from mark_window_display_accurate.
2248 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2249 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2250 (mark_window_display_accurate): Use it.
2251 (redisplay_internal): Use it for the selected window.
2252 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2253 for the selected frame.
2254
ac90c44f
GM
2255 * xdisp.c Use make_number, for readability.
2256 (try_window_id): Disable rows below the window end.
2257 (try_window_reusing_current_matrix): Use cursor_row_p.
2258 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2259 of rows.
2260 (init_from_display_pos): If POS specifies a position in a display
2261 vector, maybe get the iterator set up for that ellipsis.
43c09969 2262
091f8878
GM
2263 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2264
991786dd
EZ
22652001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2266
2267 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2268
6c29b43c
GM
22692001-03-23 Gerd Moellmann <gerd@gnu.org>
2270
2271 * xfaces.c (x_update_menu_appearance): Use a different path
2272 for Lucid popup menus.
2273
d8731202
SM
22742001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2275
2276 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2277
2278 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2279 (string_buffer_position): Use `make_number'.
2280
f61a541b
GM
22812001-03-22 Gerd Moellmann <gerd@gnu.org>
2282
3c9e997b
GM
2283 * xfaces.c (x_update_menu_appearance): Renamed from
2284 x_set_menu_face_resources. Use different resources for popups.
2285
2286 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2287 (GC_CHECK_STRING_BYTES): Don't define.
2288
364cd450
GM
2289 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2290 Removed, together with subroutines.
2291 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2292 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2293
d8731202
SM
2294 * dispextern.h (x_set_menu_resources_from_menu_face):
2295 Remove prototype.
364cd450 2296
d8731202 2297 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2298 Remove calls to x_set_menu_resources_from_menu_face.
2299
d8731202
SM
2300 * xfaces.c (xm_set_menu_resources_from_menu_face):
2301 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2302
2303 * xmenu.c: Include widget.h.
2304 (single_submenu): Return int. Some cleanup.
2305 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2306
140330de
GM
23072001-03-21 Gerd Moellmann <gerd@gnu.org>
2308
2309 * xterm.c (x_update_window_end): Handle overwritten mouse face
2310 also for tool bar windows.
2311 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2312 DRAW is DRAW_IMAGE_RAISED.
2313
1741905c
GM
23142001-03-20 Gerd Moellmann <gerd@gnu.org>
2315
fa88947e
GM
2316 * print.c (syms_of_print): Doc fixes.
2317
1741905c
GM
2318 * fns.c (Fmd5): Doc fix.
2319
ade0bee1
GM
23202001-03-19 Gerd Moellmann <gerd@gnu.org>
2321
357e7376
GM
2322 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2323 Clear area of the frame not occupied by the scroll bar.
2324
c2c097cc
GM
2325 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2326 tip frame's root window buffer to *tip* right after creating
2327 the frame.
2328
ade0bee1
GM
2329 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2330 is an integer don't have to be for space characters.
2331
88c6e37e
GM
23322001-03-16 Gerd Moellmann <gerd@gnu.org>
2333
52283633
SM
2334 * indent.c (current_column, current_column_1, Fmove_to_column)
2335 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2336
c62eed76
KH
23372001-03-15 Kenichi Handa <handa@etl.go.jp>
2338
2339 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2340 drawing glyph string.
2341
c899e7e6
GM
23422001-03-15 Gerd Moellmann <gerd@gnu.org>
2343
d0bbfc99
GM
2344 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2345 (command_loop_1): Undo last change.
2346
03d1a189
GM
2347 * xterm.c (fast_find_position): Return the correct vpos.
2348
c899e7e6 2349 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2350 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2351 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2352 Call store_symval_forwarding with BUF null.
2353 (set_internal): Call store_symval_forwarding with the BUF
2354 parameter passed to set_internal. Formerly, the value was always
2355 set in the current buffer; the buffer recorded in specbind for
2356 this case wasn't used.
2357 (arith_driver): Reindent.
2358
52283633
SM
2359 * buffer.c (swap_out_buffer_local_variables):
2360 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2361
2362 * lisp.h (store_symval_forwarding): Change prototype.
2363
2364 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2365
57ac7c81
GM
23662001-03-14 Gerd Moellmann <gerd@gnu.org>
2367
697617d9
GM
2368 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2369 FOR_DELETION. Avoid resizing the mini-window of the selected
2370 frame if FOR_DELETION is set.
2371 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2372 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2373 signature.
2374
2375 * window.c (Fset_window_configuration): Change call to
2376 do_switch_frame to new format.
2377
2378 * keyboard.c (quit_throw_to_read_char): Change call to
2379 do_switch_frame to new format.
2380
2381 * lisp.h (do_switch_frame): Change prototype.
2382
819dce0f
GM
2383 * frame.c (Fframe_parameters): In the `buffer-list' frame
2384 parameter, store the buffer list of FRAME, not the list of the
2385 selected frame.
2386
57ac7c81
GM
2387 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2388 box just because the glyph row's full_width_p flag is set.
2389
65008712
GM
23902001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2391
2392 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2393 skip the padding blanks inserted in extend_face_to_end_of_line,
2394 before checking for trailing whitespace.
2395
159cf431
GM
23962001-03-13 Gerd Moellmann <gerd@gnu.org>
2397
52283633 2398 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2399 Remove special handling for LessTif/Motif.
2400 (toplevel): Don't include Xm/Xm.h.
2401
52283633
SM
2402 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2403 Remove workaround code for LessTif; it doesn't work anymore.
2404
2564ea1b 2405 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2406 Xm/ScrollBarP.h.
afcdc0a1 2407
52283633
SM
2408 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2409 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2410 contemporary LessTif.
2411
52283633
SM
2412 * xfaces.c (xm_set_menu_resources_from_menu_face):
2413 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2414
159cf431
GM
2415 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2416 removing button grabs.
2417
c6f7429a
KH
24182001-03-13 Kenichi Handa <handa@etl.go.jp>
2419
cb82d767
KH
2420 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2421 and clip-large-size-font as obsolete.
2422
c6f7429a
KH
2423 * lread.c (read_multibyte): Check the validity of multibyte
2424 sequence. If invalid, return the first byte.
2425
760cefb5
GM
24262001-03-12 Gerd Moellmann <gerd@gnu.org>
2427
2428 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2429 before running the command; timer functions or process
2430 filters may have set it.
2431
5141f9d0
EZ
24322001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2433
2434 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2435 Doc fix.
2436
b6a15240
GM
24372001-03-12 Gerd Moellmann <gerd@gnu.org>
2438
2439 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2440 to sprintf.
2441
95522746
GM
24422001-03-09 Gerd Moellmann <gerd@gnu.org>
2443
db14cfc5
GM
2444 * dispextern.h (string_buffer_position): Add prototype.
2445
52283633 2446 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2447 (single_display_prop_string_p): New functions.
2448
2449 * xterm.c (note_mouse_highlight): If there's no help-echo on
2450 a string, look at the buffer text ``under'' it.
2451
2452 * keyboard.c (make_lispy_event): Add string info to the event,
2453 analogous to what's done on mode lines.
2454 (read_key_sequence): For a click on a string, consider `local-map'
2455 and `keymap' of that string.
2456
52283633
SM
2457 * keyboard.c (make_lispy_event, make_lispy_movement):
2458 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2459
2460 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2461
2462 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2463 POS; return void.
2464
95522746
GM
2465 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2466 flags argument to emacs_open; it seems to conflict with O_EXCL.
2467
898a399d
KH
24682001-03-09 Kenichi Handa <handa@etl.go.jp>
2469
28cd4910
KH
2470 * composite.h (struct composition): Change types of members;
2471 glyph_len to unsigned, width to unsigned short.
898a399d 2472
4cdf6a6c
AI
24732001-03-08 Andrew Innes <andrewi@gnu.org>
2474
2475 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2476 menu titles.
2477
129004d3
GM
24782001-03-08 Gerd Moellmann <gerd@gnu.org>
2479
221dd3e7
GM
2480 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2481 instead of nil.
2482
52283633 2483 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2484 help-echo in strings.
2485 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2486 (fast_find_string_pos): New function.
2487
52283633
SM
2488 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2489 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2490
2491 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2492 Handle `mouse-face'.
2493
2494 * dispextern.h (face_at_string_position): Change prototype.
2495
52283633 2496 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2497
129004d3
GM
2498 * keyboard.c (make_lispy_event): Avoid generating drag events
2499 if the mouse hasn't actually moved to another buffer position.
52283633 2500
80c8ab8c
DL
25012001-03-08 Dave Love <fx@gnu.org>
2502
129004d3 2503 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2504
989521fd
GM
25052001-03-08 Gerd Moellmann <gerd@gnu.org>
2506
2507 * process.c (Fset_process_window_size): Fix a typo.
2508
bb5c338d
KH
25092001-03-08 Kenichi Handa <handa@etl.go.jp>
2510
2511 * coding.c (detect_coding_sjis): Do more rigid check.
2512 (detect_coding_big5): Likewise.
2513 (decode_coding_sjis_big5): Likewise.
2514 (Fdetect_coding_region): Call detect_coding_system with tailing
2515 anchor byte `\0' for more rigid detection.
52283633 2516 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2517 (Fdetect_coding_string): Likewise.
2518
8b8f9197
SM
25192001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2520
2521 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2522 a string before extracting its data.
2523
3bdf2660
GM
25242001-03-07 Gerd Moellmann <gerd@gnu.org>
2525
2526 * window.c (Frecenter): Rewrite code handling negative values
2527 of ARG on graphical frames.
2528
25292001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2530
2531 * window.c (displayed_window_lines): If W->start is outside the
2532 accessible portion of the buffer, call start_display with BEGV or
2533 ZV instead of W->start.
2534
471f86b9
GM
25352001-03-07 Gerd Moellmann <gerd@gnu.org>
2536
2ab62c6c
GM
2537 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2538
471f86b9
GM
2539 * process.c (Fset_process_filter): Don't crash if the input
2540 file descriptor of PROCESS is closed.
2541 (Fset_process_window_size): Likewise.
2542
101922c3
GM
25432001-03-06 Kenichi Handa <handa@etl.go.jp>
2544
2545 * xterm.c (XTflash): Make the timeout of select shorter, and call
2546 select repeatedly until the desired time expires.
2547
45d051a7
GM
25482001-03-06 Gerd Moellmann <gerd@gnu.org>
2549
2550 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2551
2552 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2553
2554 * lisp.h (Vwindow_list): Declare extern.
2555
8f372c46
EZ
25562001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2557
2558 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2559
f16a7aa5
GM
25602001-03-06 Gerd Moellmann <gerd@gnu.org>
2561
157ae273
GM
2562 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2563 to detect a case where we have to highlight a different region
2564 despite not having left the currently highlighted region.
2565 Set mouse_face_overlay in the x_display_info.
45d051a7 2566 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2567
2568 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2569
2570 * buffer.c (mouse_face_overlay_overlaps): New function.
2571
2572 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2573 (Qmouse_face): Declare extern.
2574
f16a7aa5
GM
2575 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2576 if face_change_count is non-zero.
2577
827afcac
KH
25782001-03-06 Kenichi Handa <handa@etl.go.jp>
2579
2580 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2581 that the source is unibyte.
2582
14c7242e
DL
25832001-03-05 Dave Love <fx@gnu.org>
2584
827afcac 2585 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2586
c28b847b
GM
25872001-03-05 Gerd Moellmann <gerd@gnu.org>
2588
2589 * minibuf.c (read_minibuf): Clean up the binding stack if
2590 called noninteractively.
2591
b86644f2
KH
25922001-03-05 Kenichi Handa <handa@etl.go.jp>
2593
2594 * coding.c (syms_of_coding): Docstring modified.
2595
203682cc 25962001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2597
2598 * charset.c (char_to_string): If a single byte char has modifier
2599 bits that can't be reflected to the character code, ignore them
45d051a7 2600 instead of signaling an error.
b86644f2 2601
e30bd7b7
EZ
26022001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2603
2604 * s/msdos.h: Update copyright notice.
2605
2606 * dosfns.h: Update copyright notice.
2607
2608 * dosfns.c: Update copyright notice.
2609
2610 * msdos.c: Update copyright notice.
2611
b52b65bd
GM
26122001-03-02 Gerd Moellmann <gerd@gnu.org>
2613
2614 * xterm.c (glyph_rect): New function.
2615 (XTmouse_position): Use it to raise the threshold for mouse
2616 movement event generation.
2617
53c4b1e6
EZ
26182001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2619
2620 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2621 specifies (reverse . t), reverse the initial screen colors.
2622 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2623 but we are reversing the colors, set bg_set, not fg_set.
2624 Likewise for setting background-color and reversing: set fg_set.
2625 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2626 in effect.
2627
2628 * xfaces.c (Finternal_set_lisp_face_attribute)
2629 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2630 parameters alist.
2631
f964b4d7
GM
26322001-03-02 Gerd Moellmann <gerd@gnu.org>
2633
ef53d75e
GM
2634 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2635 to a single slash in the middle of file names.
2636
52283633 2637 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2638 Accept only alphanumeric time zone names.
2639
f964b4d7
GM
2640 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2641 or width area.
2642 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2643 a widget to zero height.
52283633 2644
c3c45f65
GM
26452001-03-01 Gerd Moellmann <gerd@gnu.org>
2646
2647 * window.c (Fwindow_end): Call move_it_past_eol only if
2648 ending up on a partially visible line.
2649
028d739a
DL
26502001-03-01 Dave Love <fx@gnu.org>
2651
2652 * ccl.c (Fccl_execute): Doc fix.
2653
57c5889c
GM
26542001-03-01 Gerd Moellmann <gerd@gnu.org>
2655
35f59f6b
GM
2656 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2657 of the tool bar before calling x_figure_window_size.
2658
f84ff02c
GM
2659 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2660 NULL after destroying it, otherwise XTread_socket can access a
2661 destroyed widget when input is unblocked.
2662
8b8f9197 2663 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2664
57c5889c
GM
2665 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2666 same name as before, although there was a change in fontsets.
2667
224227d1
KR
26682001-02-28 Ken Raeburn <raeburn@gnu.org>
2669
4560730a
KR
2670 * lisp.h (Fframe_parameter): Declare.
2671
224227d1 2672 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2673 Lisp_Object.
224227d1 2674
ece93c02
GM
26752001-02-28 Gerd Moellmann <gerd@gnu.org>
2676
11ef99b9
GM
2677 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2678 NULL instead.
2679
2680 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2681 NULL instead.
2682
ece93c02
GM
2683 * alloc.c (toplevel): Include process.h.
2684 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2685 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2686 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2687 (allocate_vector, allocate_hash_table, allocate_window)
2688 (allocate_frame, allocate_process, allocate_other_vector):
2689 New functions.
ece93c02
GM
2690 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2691 (mark_maybe_pointer): New function.
52283633 2692 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2693 remain and not Lisp_Objects.
2694 (min_heap_address, max_heap_address): New variables.
2695 (mem_find): Return MEM_NIL if START is below min_heap_address or
2696 above max_heap_address.
2697 (mem_insert): Compute min_heap_address and max_heap_address.
2698
2699 * process.c (make_process): Use allocate_process.
2700
2701 * frame.c (make_frame): Use allocate_frame.
2702
2703 * window.c (make_window, make_dummy_parent): Use allocate_window.
2704 (Fcurrent_window_configuration): Use allocate_other_vector.
2705
2706 * lisp.h (allocate_vectorlike): Remove prototype.
2707 (allocate_vector, allocate_other_vector, allocate_frame)
2708 (allocate_window, allocate_process, allocate_hash_table):
2709 Add prototypes.
2710
2711 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2712 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2713
063af457
KH
27142001-02-27 Kenichi Handa <handa@etl.go.jp>
2715
2716 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2717 treat the produced bytes as a valid multibyte sequence.
2718
2719 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2720 (ccl_driver) <CCL_WriteMultibyteChar2>:
2721 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2722 <ccl_finish>: Set ccl->eight_bit_control properly.
2723
2724 * ccl.h (struct ccl_program): New member eight_bit_control.
2725
f58c6494
SM
27262001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2727
2728 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2729 accessible_keymaps_char_table.
2730 (accessible_keymaps_char_table): Obey `is_metized'.
2731 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2732 Lisp_Object.
2733
c596c392
GM
27342001-02-26 Gerd Moellmann <gerd@gnu.org>
2735
2736 * dispnew.c: Check HAVE_TERM_H before including term.h.
2737
425de386
AI
27382001-02-24 Andrew Innes <andrewi@gnu.org>
2739
2740 * makefile.w32-in: Update copyright notice.
2741
2ba11bbd
SM
27422001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2743
2744 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2745
66c56ed1
KH
27462001-02-24 Kenichi Handa <handa@etl.go.jp>
2747
4c1593ce
KH
2748 * Makefile.in (lisp): Add international/utf-8.elc.
2749
66c56ed1
KH
2750 * fontset.c (Fnew_fontset): Fix handling of the case that an
2751 element of FONTLIST is a cons of family and registry.
2752
796ead7e
JR
27532001-02-23 Jason Rumney <jasonr@gnu.org>
2754
2755 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2756 to height unconditionally.
2757
2758 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2759 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2760 (x_insert_glyphs): Call window_box_left to obtain the left
2761 x-coordinate of the area to shift.
2762
2763 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2764 safe_run_hooks.
2765
f6839838
AI
27662001-02-22 Andrew Innes <andrewi@gnu.org>
2767
52283633 2768 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2769 ($(BLD)\dispnew.obj):
2770 ($(BLD)\editfns.obj):
2771 ($(BLD)\fileio.obj):
2772 ($(BLD)\filelock.obj):
2773 ($(BLD)\keyboard.obj):
2774 ($(BLD)\w32proc.obj):
2775 ($(BLD)\process.obj):
2776 ($(BLD)\sysdep.obj): Ditto.
2777
2778 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2779 header files.
52283633
SM
2780 ($(BLD)/dispnew.$(O)):
2781 ($(BLD)/editfns.$(O)):
2782 ($(BLD)/fileio.$(O)):
2783 ($(BLD)/filelock.$(O)):
2784 ($(BLD)/keyboard.$(O)):
2785 ($(BLD)/w32proc.$(O)):
2786 ($(BLD)/process.$(O)):
f6839838
AI
2787 ($(BLD)/sysdep.$(O)): Ditto.
2788
c224f70b
GM
27892001-02-22 Gerd Moellmann <gerd@gnu.org>
2790
51695746
GM
2791 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2792 at the start of the function, check that the \n in it->c is
2793 from the iterator's current position.
52283633 2794
a61b7058
GM
2795 * xdisp.c (handle_single_display_prop): Add parameter
2796 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2797 properties which replace the display of text with something else.
2798 (handle_display_prop): Call handle_single_display_prop with
2799 additional argument saying if we already replaced text display
2800 with something else. Use AREF.
52283633 2801 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2802 (decode_mode_spec_coding): Use AREF and ASIZE.
2803
3473f362
GM
2804 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2805 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2806 * vmstime.h: Files removed.
52283633 2807
2bb58df3
GM
2808 * unexencap.c, unexfx2800.c: Files removed.
2809
c224f70b
GM
2810 * dispnew.c (direct_output_for_insert): Give up if we are showing
2811 a message or just cleared the message because we might need to
2812 resize the echo area window or display an empty echo area.
2813
ffc9ff0c
GM
28142001-02-21 Gerd Moellmann <gerd@gnu.org>
2815
0528abe1
GM
2816 * xdisp.c (redisplay_internal): Do the
2817 mark_window_display_accurate after all windows have been
2818 redisplayed because this call resets flags in buffers which are
2819 needed for proper redisplay.
2820
52283633
SM
2821 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2822 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2823 the old names.
2824
52283633
SM
2825 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2826 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2827
2828 * msdos.h (struct x_output): Rename busy_window to
2829 hourglass_window, busy_p to hourglass_p.
2830
52283633
SM
2831 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2832 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2833
2834 * xfns.c: Rename everything containing *busy_cursor* and similar
2835 to *hourglass*.
2836 (syms_of_w32fns): Rename x-busy-pointer-shape to
2837 x-hourglass-pointer-shape, display-busy-cursor to
2838 display-hourglass, busy-cursor-delay to hourglass-delay.
2839
2840 * w32fns.c: Rename everything containing *busy_cursor* and similar
2841 to *hourglass*.
2842 (syms_of_w32fns): Rename x-busy-pointer-shape to
2843 x-hourglass-pointer-shape, display-busy-cursor to
2844 display-hourglass, busy-cursor-delay to hourglass-delay.
2845
2846 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2847 of its busy_p flag.
2848
2849 * dispextern.h (start_hourglass, cancel_hourglass)
2850 (display_hourglass_p): Renamed from *busy_cursor*.
2851
ab2c5f0a
GM
28522001-02-20 Gerd Moellmann <gerd@gnu.org>
2853
d17e49a8
GM
2854 * keyboard.c (read_char): When an event from unread-command-events
2855 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2856
fa97adf6
GM
2857 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2858 equal to the current buffer.
2859
ab2c5f0a
GM
2860 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2861 nil, otherwise we're left with truncate_lines t when a message
2862 is printed with message-truncate-lines bound to t.
2863
aeac019e
GM
28642001-02-19 Gerd Moellmann <gerd@gnu.org>
2865
c8bc6f65
GM
2866 * window.c (Fmove_to_window_line): Undo last change.
2867 (displayed_window_lines): Call line_bottom_y to determine
2868 the line's bottom position.
2869
2870 * dispextern.h (line_bottom_y): Add prototype.
2871
52283633 2872 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2873 (pos_visible_p): Use it.
2874
980a2d69
GM
2875 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2876 set redisplaying_p to 0 here instead of in Frecursive_edit.
2877 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2878 set redisplaying_p.
2879
52283633 2880 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2881 New variables.
2882 (syms_of_xdisp): Initialize new variables.
2883 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2884 Specbind `inhibit-menubar-update' when updating the menu bar.
2885
65048e97
GM
2886 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2887 safe_run_hooks.
2888
2889 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2890 safe_run_hooks.
2891
a57c4026
GM
2892 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2893 is null.
2894
aeac019e
GM
2895 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2896 to the start of the file.
2897
76846b31
GM
28982001-02-16 Gerd Moellmann <gerd@gnu.org>
2899
f3f053f3 2900 * window.c (set_window_buffer): Fix last change.
52283633 2901
f3f053f3
GM
2902 * window.c (set_window_buffer): Set window's vscroll to 0.
2903
dad75588
GM
2904 * window.c (coordinates_in_window): Increase width of area
2905 where the vertical line can be dragged.
2906
c220b753
GM
2907 * xterm.c (x_set_glyph_string_background_width): Extend the
2908 background face to the end of the drawing area in the text
2909 area, only.
2910
c56b1c1b
GM
2911 * xdisp.c (handle_single_display_prop): Set iterator's position
2912 to where the `display' property starts, like for images.
2913 (dump_glyph): New function.
2914 (dump_glyph_row): Use it. Dump info about marginal areas.
2915
2916 * dispnew.c (direct_output_for_insert): Recognize more cases where
2917 glyphs can be written instead of being inserted.
2918
2919 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2920 the left x-coordinate of the area to shift.
2921
76846b31
GM
2922 * dired.c (directory_files_internal): Set result list to nil
2923 before retrying.
2924
0fc71a77
KH
29252001-02-15 Kenichi Handa <handa@etl.go.jp>
2926
2927 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2928 invalid multibyte sequence, treat *SRC as a character of
2929 eight-bit-graphic.
2930
25078b54
EZ
29312001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2932
2933 * textprop.c (Fset_text_properties): Doc fix.
2934
8399f8a0
GM
29352001-02-15 Gerd Moellmann <gerd@gnu.org>
2936
2937 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2938
9a2a6f73
DL
29392001-02-14 Dave Love <fx@gnu.org>
2940
2941 * coding.c: Doc and message fixes.
2942
bf853fee
AI
29432001-02-14 Andrew Innes <andrewi@gnu.org>
2944
2945 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2946 Emacs frame above the screen size.
2947
78c663d8
GM
29482001-02-14 Gerd Moellmann <gerd@gnu.org>
2949
2950 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2951
7cc9f69f
GM
29522001-02-13 Gerd Moellmann <gerd@gnu.org>
2953
0a411995
GM
2954 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2955 case that TO ends up beyond ZV after running before-change-functions.
2956
5ddc1b75
GM
2957 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2958 the selected window if it is showing the buffer in question.
2959
7cc9f69f
GM
2960 * dired.c (directory_files_internal): Initialize errno.
2961 (toplevel): Include errno.h.
2962
2e6621ca
GM
29632001-02-13 Kenichi Handa <handa@etl.go.jp>
2964
2965 * xfaces.c (best_matching_font): New parameter width_ratio.
2966 Multiply avgwidth by width_ratio.
2967 (choose_face_font): Call best_matching_font with width_ratio
2968 calculated from the column width of C.
2969
60222d69
AI
29702001-02-12 Andrew Innes <andrewi@gnu.org>
2971
2972 The following changes are to draw box lines inside characters area
2973 if line-width is negative.
52283633 2974
60222d69
AI
2975 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2976 face->box_line_width is negative.
2977 (x_produce_stretch_glyph): Likewise.
2978 (x_produce_glyphs): Likewise.
2979 (x_estimate_mode_line_height): Likewise.
2980 (x_draw_glyph_string_background): Likewise.
2981 (x_draw_glyph_string_foreground): Likewise.
2982 (x_draw_composite_glyph_string_foreground): Likewise.
2983 (x_draw_glyph_string_box): Likewise.
2984 (x_draw_image_foreground): Likewise.
2985 (x_draw_image_relief): Likewise.
2986 (x_draw_image_foreground_1): Likewise.
2987 (x_draw_image_glyph_string): Likewise.
2988
9804b846
KH
29892001-02-09 Kenichi Handa <handa@etl.go.jp>
2990
2991 The following changes are to draw box lines inside characters area
2992 if line-width is negative.
52283633 2993
9804b846
KH
2994 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2995 face->box_line_width is negative.
2996 (x_produce_stretch_glyph): Likewise.
2997 (x_produce_glyphs): Likewise.
2998 (x_estimate_mode_line_height): Likewise.
2999 (x_draw_glyph_string_background): Likewise.
3000 (x_draw_glyph_string_foreground): Likewise.
3001 (x_draw_composite_glyph_string_foreground): Likewise.
3002 (x_draw_glyph_string_box): Likewise.
3003 (x_draw_image_foreground): Likewise.
3004 (x_draw_image_relief): Likewise.
3005 (x_draw_image_foreground_1): Likewise.
3006 (x_draw_image_glyph_string): Likewise.
3007
3008 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
3009 and :line-width can be negative.
52283633 3010 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 3011
49be9f70
JR
30122001-02-09 Jason Rumney <jasonr@gnu.org>
3013
3014 * w32term.c (w32_encode_char): Treat eight bit graphic and control
3015 characters the same as ASCII and latin-1.
3016 (x_display_and_set_cursor): Check for the focus frame's selected
3017 window instead of selected_window.
3018 (x_after_update_window_line): Don't clear if frame's internal
3019 border width is zero.
3020 (x_new_font): Don't change a tooltip's size.
3021 (w32_initialize): Set char_ins_del_ok to 1.
3022
3023 * w32fns.c (Fx_show_tip): Fix calls to make_number.
3024 (x_set_font): If font hasn't changed, avoid recomputing
3025 faces and other things.
52283633
SM
3026 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
3027 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
3028 (x_create_tip_frame): Prevent changing the tooltip's
3029 background color by specifying a color for the default font
3030 in .Xdefaults.
3031 (Qcancel_timer): New variable.
3032 (syms_of_w32fns): Initialize and staticpro it.
3033 (Fx_hide_tip, Fx_show_tip): Use it.
3034 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3035 the timer.
3036 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
3037
3038 * w32.c (init_environment): Duplicate local string before putenv.
3039
555e35d2
SZ
30402001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
3041
3042 * charset.c (Fstring): A typo.
3043
19c92c94
KH
30442001-02-09 Kenichi Handa <handa@etl.go.jp>
3045
e47a1c33
KH
3046 * charset.c (Fstring): If all arguments are less than 256, return
3047 a unibyte string.
3048
3049 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
3050 return a unibyte string.
3051
19c92c94
KH
3052 * coding.c (code_convert_region): After detecting a coding, if
3053 nothing found, set coding->composing to COMPOSITION_NO.
3054 (decode_coding_string): Likewise.
3055
d8e675f5
SM
30562001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3057
3058 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3059 to avoid overflow.
3060
bd503487
KH
30612001-02-07 Kenichi Handa <handa@etl.go.jp>
3062
3063 * charset.c (parse_str_to_multibyte): New function.
3064
3065 * charset.h (parse_str_to_multibyte): Extern it.
3066
3067 * print.c (print_string): If we are going to print a unibyte
3068 string into a multibyte buffer, convert the string to multibyte by
3069 str_to_multibyte.
3070
a8370d72
AI
30712001-02-06 Andrew Innes <andrewi@gnu.org>
3072
3073 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3074 been created. It seems we can get sent window messages such as
3075 WM_ERASEBKGND before we properly update a frame.
3076
c363a1d6
GM
30772001-02-06 Gerd Moellmann <gerd@gnu.org>
3078
3079 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3080 Avoid some unnecessary cursor positioning.
3081
a08332c0
GM
30822001-02-05 Gerd Moellmann <gerd@gnu.org>
3083
52283633 3084 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3085 (LFACE_AVGWIDTH): New macro.
3086 (LFACEP): Use AREF.
3087 (check_lface_attrs): Check LFACE_AVGWIDTH.
3088 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3089 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3090 (merge_face_vectors): Check LFACE_AVGWIDTH.
3091 (Finternal_make_lisp_face): Use AREF.
3092 (xm_set_menu_resources_from_menu_face)
3093 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3094 (Finternal_lisp_face_empty_p): Use AREF.
3095 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3096 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3097 Compare average widths..
3098 (best_matching_font): Arrange for comparing average widths.
3099
52283633
SM
3100 * dispextern.h (enum lface_attribute_index):
3101 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3102
5cb3c8d4
DL
31032001-02-05 Dave Love <fx@gnu.org>
3104
3105 * puresize.h: Revert last change following loadup.el change.
3106
193fba87
AI
31072001-02-05 Andrew Innes <andrewi@gnu.org>
3108
3109 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3110 invocation of temacs, to work with Windows 2000.
3111 (bootstrap-emacs): Ditto.
3112
e16f52ce
GM
31132001-02-05 Gerd Moellmann <gerd@gnu.org>
3114
7a58ab59
GM
3115 * xterm.c (x_display_and_set_cursor): Check for the focus
3116 frame's selected window instead of selected_window.
3117
e89aaabd
GM
3118 * xdisp.c (try_scrolling): If point is in the line below the
3119 window, make sure to move the iterator at least a canonical
3120 char height down.
3121
52283633 3122 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3123
789ce875
KH
31242001-02-05 Kenichi Handa <handa@etl.go.jp>
3125
52283633
SM
3126 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3127 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3128 (ccl_driver): If the CCL program is terminated because of
3129 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3130 destination instead of throwing them away.
3131
20b28f82
GM
31322001-02-02 Gerd Moellmann <gerd@gnu.org>
3133
79fb38c0
GM
3134 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3135 faces and other things.
3136
20b28f82
GM
3137 * xdisp.c (get_next_display_element): Fix case of empty
3138 display table entry.
3139
5a72551e
EZ
31402001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3141
eb24d0bf
EZ
3142 * editfns.c (Fconstrain_to_field): Doc fix.
3143
6a3f48c7
EZ
3144 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3145 into `thoroughly', to make it consistent with the doc string.
3146
5a72551e
EZ
3147 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3148
01acdb05
GM
31492001-02-01 Gerd Moellmann <gerd@gnu.org>
3150
0353b28f
GM
3151 * search.c (search_buffer): Call set_search_regs with a byte
3152 position, not a character position.
3153
01acdb05
GM
3154 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3155 minibuffer-only,
3156
e86b5133
EZ
31572001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3158
3159 * frame.c (Fmodify_frame_parameters): Doc fix.
3160
7442878f
GM
31612001-01-31 Gerd Moellmann <gerd@gnu.org>
3162
01acdb05
GM
3163 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3164 identifier which is not reserved by Standard C.
52283633 3165
7442878f
GM
3166 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3167
3168 * window.c (enum window_part): New enumeration.
3169 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3170 Qright_bitmap_area.
3171 (coordinates_in_window): Return an enumerator from enum
3172 window_part. Fix handling of right scroll bar.
3173 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3174 `right-fringe' instead of `left-bitmap-area' and
3175 `right-bitmap-area'. Use enumerators from enum window_part
3176 instead of hard-coded integers.
52283633
SM
3177 (check_window_containing, window_from_coordinates):
3178 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3179 (syms_of_window): Replace Qleft_bitmap_area and
3180 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3181
7c132cba
EZ
31822001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3183
3184 * editfns.c (Fformat_time_string): Doc fix.
3185
c359dd9e
SM
31862001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3187
3188 * keymap.c (Fwhere_is_internal): Use the first valid binding
3189 if no ascii binding is found (when firstonly is t).
3190
ce070307
GM
31912001-01-31 Gerd Moellmann <gerd@gnu.org>
3192
b4f30ec5
GM
3193 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3194 instead of Finteractive_p.
3195
3196 * lisp.h (interactive_p): Add prototype.
3197
3198 * eval.c (interactive_p): New function.
3199 (Finteractive_p): Use it.
3200
ce070307
GM
3201 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3202
f57b6e64
DL
32032001-01-31 Dave Love <fx@gnu.org>
3204
d61c7afe
DL
3205 * .gdbinit (hook-run): Define to run xreload.
3206
f57b6e64
DL
3207 * textprop.c (Fset_text_properties): Fix newline in doc string.
3208
eef93f99
GM
32092001-01-30 Gerd Moellmann <gerd@gnu.org>
3210
52283633
SM
3211 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3212 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3213
3214 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3215 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3216 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3217
3218 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3219 height.
3220
d9c1f6f9
DL
32212001-01-30 Dave Love <fx@gnu.org>
3222
3223 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3224 AFTER_POTENTIAL_GC.
3225
e8f044a0
GM
32262001-01-29 Gerd Moellmann <gerd@gnu.org>
3227
52283633
SM
3228 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3229 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3230
8e1db7b3
EZ
32312001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3232
3233 * textprop.c (Fset_text_properties): Doc fix.
3234
4eefd9d2
GM
32352001-01-29 Gerd Moellmann <gerd@gnu.org>
3236
3237 * xdisp.c (forward_to_next_line_start): Remove xassert.
3238
fccb8288
EZ
32392001-01-29 Jason Rumney <jasonr@gnu.org>
3240
4eefd9d2 3241 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3242 returning without releasing it.
3243
76581eab
KH
32442001-01-29 Kenichi Handa <handa@etl.go.jp>
3245
3246 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3247 for '^', '$', and '\0'.
3248
83a96b4d
AC
32492001-01-28 Andrew Choi <akochoi@i-cable.com>
3250
5604ec34
AC
3251 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3252 regex for '^', '$', and '\0'.
3253
83a96b4d
AC
3254 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3255 only if current_sblock has been initialized.
3256
3257 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3258 terminal frame even if it is the only visible frame.
3259
c09a6440
KH
32602001-01-28 Kenichi Handa <handa@etl.go.jp>
3261
3262 * fontset.c (font_family_registry): Even if FONTNAME conform to
3263 XLFD, if it specifies other fields than family and registry,
52283633 3264 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3265 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3266 a signle byte character. Don't set FAMILY part to nil here.
3267 It is handled by the caller choose_face_font.
c09a6440
KH
3268 (Fnew_fontset): Call font_family_registry with FORCE 0.
3269 (Fset_fontset_font): Likewise.
3270
4dcd74e6
GM
32712001-01-27 Gerd Moellmann <gerd@gnu.org>
3272
3273 * xdisp.c (display_line): Don't treat a newline as fitting
3274 on the line.
3275
d2906bf8
GM
32762001-01-26 Gerd Moellmann <gerd@gnu.org>
3277
0130fe1a
GM
3278 * window.c (size_window): Set the window's orig_top to nil when
3279 changing heights, so that a future shrink_mini_window won't
3280 restore a bogus height.
3281
550f0e6a
GM
3282 * frame.c (do_switch_frame): If selected frame has a mini-window,
3283 resize that to exact size.
3284
b7b20fbd
GM
3285 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3286
a47b7816
GM
3287 * xdisp.c (display_line): Simplify check for glyphs fitting
3288 entirely in the line.
3289
d2906bf8
GM
3290 * xfns.c (xic_style): New variable.
3291 (create_frame_xic): Move static variable to global scope for
550f0e6a 3292 the case that `static' gets defined away.
d2906bf8 3293
73df2b1e
KH
32942001-01-26 Kenichi Handa <handa@etl.go.jp>
3295
3296 * coding.c (decode_coding): Set a flag for inhibiting
3297 inconsistent eol.
3298 (code_convert_region): Always set saved_coding_symbol.
3299 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3300 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3301
6613cfc4
GM
33022001-01-25 Gerd Moellmann <gerd@gnu.org>
3303
c5e6e06b
GM
3304 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3305 XClearArea.
3306
3307 * xterm.c (x_after_update_window_line): Don't clear if frame's
3308 internal border width is zero.
3309 (x_clear_area): New function.
3310 (x_after_update_window_line, x_clear_end_of_line)
3311 (x_scroll_bar_create, x_scroll_bar_set_handle)
3312 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3313 instead of XClearArea.
3314
3315 * xterm.h (x_clear_area): Add prototype.
3316
6613cfc4
GM
3317 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3318 which doesn't seem necessary anymore with Lesstif 0.92.
3319
650cc6cc
DL
33202001-01-25 Dave Love <fx@gnu.org>
3321
34ac3367
DL
3322 * puresize.h (BASE_PURESIZE): Up to 720000.
3323
650cc6cc
DL
3324 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3325
5e37dc22
GM
33262001-01-25 Gerd Moellmann <gerd@gnu.org>
3327
e1e441f9
GM
3328 * xdisp.c (echo_area_display): Don't call redisplay_internal
3329 when Emacs is shutting down. We can't run hooks etc. that
3330 would be necessary to do a redisplay.
3331
5e37dc22
GM
3332 * lread.c (read_integer): Use type EMACS_INT instead of int.
3333
0fb94c7f
EZ
33342001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3335
3336 * ccl.c (ccl_driver): Fix last change.
3337
e3778624
KH
33382001-01-25 Kenichi Handa <handa@etl.go.jp>
3339
3340 * ccl.h (sturct ccl_program): New member suppress_error.
3341
bb264518 3342 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3343 insert error message to the output.
3344 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3345
3346 * coding.h (struct coding_system): New member suppress_error.
3347
3348 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3349 (Fset_terminal_coding_system_internal): Set the member
3350 suppress_error to 1.
3351 (Fset_safe_terminal_coding_system_internal): Likewise.
3352
245ed2b1
SM
33532001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3354
3355 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3356 as if it was a `charset'.
3357
f9aaedb6
GM
33582001-01-24 Gerd Moellmann <gerd@gnu.org>
3359
3360 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3361 value in where_is_cache; the next lookup in the cache returns
3362 something bogus if we do.
3363
c3902c3e
EZ
33642001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3365
3366 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3367 if HAVE_WINDOW_SYSTEM isn't defined.
3368
3497f73e
GM
33692001-01-24 Gerd Moellmann <gerd@gnu.org>
3370
e7e41584
GM
3371 * fns.c (sweep_weak_table): Fix code taking items out of
3372 the hash collision chain. Some cleanup.
3373
3497f73e
GM
3374 * xterm.c (x_new_font): Don't change a tooltip's size.
3375
3376 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3377 background color by specifying a color for the default font
3378 in .Xdefaults.
3379
3d48e687
KH
33802001-01-24 Kenichi Handa <handa@etl.go.jp>
3381
96531b20
KH
3382 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3383 a workaround for SunOS 4's cc.
3384 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3385 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3386 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3387 statement.
3d48e687 3388
a30629d2
GM
33892001-01-23 Gerd Moellmann <gerd@gnu.org>
3390
3391 * xterm.c (x_set_window_size_1): New function extracted from
3392 x_set_window_size.
3393 (x_set_window_size): Use it.
3394 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3395 doesn't have a widget, like tooltips.
3396
5a43decf
EZ
33972001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3398
52283633 3399 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3400
b0e98867
KH
34012001-01-23 Kenichi Handa <handa@etl.go.jp>
3402
3403 * fns.c (Fset_char_table_default): Fix to make sub char-table
3404 correctly.
3405
50606b4c
GM
34062001-01-22 Gerd Moellmann <gerd@gnu.org>
3407
cb2ddc53 3408 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3409 a desired tool bar string, even if there are no tool bar items.
3410
57c28064
GM
3411 * xdisp.c (Ftool_bar_lines_needed): New function.
3412 (syms_of_xdisp): Defsubr it.
3413
50606b4c
GM
3414 * editfns.c (Fformat): Don't extend text properties from arguments
3415 to padding chars in the result.
3416
2f169c38
EZ
34172001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3418
3419 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3420
0f32f023
AI
34212001-01-20 Andrew Innes <andrewi@gnu.org>
3422
52283633 3423 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3424 (w32_initialize): Don't set term hooks that aren't actually needed
3425 in windowed mode.
3426
3427 * xfaces.c (realize_default_face):
3428 (realize_face):
3429 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3430
3431 * xdisp.c (handle_single_display_prop): Remove references to
3432 FRAME_W32_CONSOLE_P.
3433
52283633 3434 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3435
3436 * frame.h (output_method): Remove output_w32_console method.
3437 (FRAME_W32_CONSOLE_P): Remove macro.
3438
3439 * frame.c (Qw32_console): Remove variable.
3440 (Fframep): Remove references to it.
3441 (syms_of_frame): Ditto.
3442 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3443
3444 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3445 redefinition.
3446
7173eada
KH
34472001-01-20 Kenichi Handa <handa@etl.go.jp>
3448
3449 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3450
755b45ce
AI
34512001-01-19 Andrew Innes <andrewi@gnu.org>
3452
3453 * w32.c (init_environment): Add a version-independent site-lisp
3454 directory to EMACSLOADPATH, after the version dependent one.
3455
0a949811
GM
34562001-01-19 Gerd Moellmann <gerd@gnu.org>
3457
8501998a
GM
3458 * editfns.c (Fbuffer_substring): Doc fix.
3459
52283633
SM
3460 * xdisp.c (message_dolog, message2, message2_nolog):
3461 Rename parameter LEN to NBYTES.
0a949811 3462
e6ebcbbe
KH
34632001-01-19 Kenichi Handa <handa@etl.go.jp>
3464
200ecca2
KH
3465 * charset.c (strwidth): Use c_string_width.
3466 (c_string_width): New function.
3467 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3468 Caller changed.
3469
3470 * charset.h (c_string_width, lisp_string_width): Extern them.
3471
52283633 3472 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3473
e6ebcbbe
KH
3474 * indent.c (check_composition): Check validity of composition.
3475
200ecca2
KH
3476 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3477 characters by calling c_string_width.
3478 (x_consider_frame_title): Get byte length of frame tile string
3479 correctly.
3480 (display_mode_element): Pay attention to width of non-ASCII
3481 characters by calling strwidth.
3482
8692ca92
GM
34832001-01-18 Gerd Moellmann <gerd@gnu.org>
3484
8962e303
GM
3485 * xfns.c (Qcancel_timer): New variable.
3486 (syms_of_xfns): Initialize and staticpro it.
3487 (Fx_hide_tip, Fx_show_tip): Use it.
3488 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3489 the timer.
3490 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3491
91523be9
GM
3492 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3493
3494 * window.h (WINDOW_LIVE_P): New macro.
3495
b0b7ed0e
GM
3496 * window.c (window_size_fixed): New variable.
3497 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3498 the doc string.
3499
06bccf8e
GM
3500 * eval.c (specbind): If binding a per-buffer variable which
3501 doesn't have a buffer-local value in the current buffer, change
3502 the global value by changing the value of the symbol bound in all
3503 buffers not having their own value, to make it consistent with
3504 what happens with other buffer-local variables.
3505
8692ca92
GM
3506 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3507
3508 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3509 when searching for a newline.
3510
bb3a3b50
KH
35112001-01-18 Kenichi Handa <handa@etl.go.jp>
3512
3513 * xdisp.c (display_string): Fix previous change.
3514
c2cc16fa
JR
35152001-01-18 Jason Rumney <jasonr@gnu.org>
3516
3517 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3518 GLYPH_DEBUG is defined.
3519 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3520 true for images with `:ascent 100'.
3521 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3522 meantime, use face MOUSE_FACE_ID.
3523 If first glyph isn't a character glyph, use the ASCII NUL
3524 character to determine the face.
3525 (expose_area): Do not treat left margin specially.
3526 (note_mode_line_highlight): If no local_map, check global keymap.
3527 (note_mouse_highlight): Initialize overlay.
52283633 3528 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3529 (show_scroll_bars): Remove unused function.
3530 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3531 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3532 Clip to row.
52283633 3533 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3534 (x_free_frame_resources): Unload relief colors.
3535
9c11f79e
GM
35362001-01-17 Gerd Moellmann <gerd@gnu.org>
3537
3aec8722 3538 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3539 get_next_display_element when the newline is already found.
3540 This may change the iterator's position, when its current position is
3aec8722
GM
3541 equal to the iterator's stop_charpos.
3542
f3ffc2c3
GM
3543 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3544 zero, use this method only at the end of a line.
3545
52283633 3546 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3547 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3548 if SCALABLE_FONTS_P is set.
52283633 3549
d26d6fd9
GM
3550 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3551 so that scalable fonts are included.
3552
9c11f79e
GM
3553 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3554 In the cache, use a key containing the information if scalable
3555 fonts are included.
3556 (x_load_font): Adapt to change of keys in the font cache.
3557
35582001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3559
d26d6fd9
GM
3560 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3561 XListFonts to take advantage of font caching.
3562
9c11f79e
GM
3563 * xterm.c (x_list_fonts): Ensure caching font information when
3564 called for a null frame, which is the case frequently when Emacs
3565 starts.
3566
51446987
GM
35672001-01-17 Gerd Moellmann <gerd@gnu.org>
3568
f864120f
GM
3569 * xfns.c (QCconversion): Replaces QCalgorithm.
3570
3571 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3572
3573 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3574 of :algorithm.
52283633 3575
e37d1417
GM
3576 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3577 not everything could be displayed.
3578
51446987
GM
3579 * line.h, x-list-font.c: Files removed because unused.
3580
9ad4f3e5
AI
35812001-01-17 Andrew Innes <andrewi@gnu.org>
3582
3583 * dired.c (directory_files_internal): Convert result from readdir
3584 to a unibyte string initially, to avoid possible misinterpretation
3585 of some bytes as the internal form of Emacs characters.
3586
2eda09b5
KH
35872001-01-17 Kenichi Handa <handa@etl.go.jp>
3588
3589 * fns.c (concat): Be sure to avoid putting the same `composition'
3590 property on the adjacent regions.
3591
826f3788
GM
35922001-01-16 Gerd Moellmann <gerd@gnu.org>
3593
52283633 3594 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3595 (Fscroll_right, Fscroll_left): Set it here instead, if called
3596 interactively.
3597
d57b83b3
GM
3598 * buffer.c (Fset_buffer_modified_p): Set buffer's
3599 prevent_redisplay_optimizations_p flag.
3600
826f3788 3601 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3602 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3603 with additional arg.
3604
3605 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3606 Change prototype.
826f3788 3607
826f3788
GM
3608 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3609 FROM_WHERE, for debugging.
3610
261d788b
KH
36112001-01-16 Kenichi Handa <handa@etl.go.jp>
3612
3613 * ccl.c (Fregister_ccl_program): Handle the return value of
3614 resolve_symbol_ccl_program correctly.
52283633 3615 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3616
bccee4f2
GM
36172001-01-15 Gerd Moellmann <gerd@gnu.org>
3618
e4ded23c
GM
3619 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3620 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3621
3622 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3623 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3624 the display; we didn't open it.
3625
bccee4f2
GM
3626 * dispnew.c (save_or_restore_current_matrices): Function removed.
3627 (save_current_matrix, restore_current_matrix): New functions.
3628 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3629 restore the frame's current matrix. Due to the glyph pointer
3630 setup done in adjust_glyph_matrix, there is no easy way to make
3631 saving the current matrix in the desired matrix generally correct,
3632 so don't try it.
3633
ebeccffa
KH
36342001-01-15 Kenichi Handa <handa@etl.go.jp>
3635
3636 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3637 truncation glyphs.
3638 (display_line): Optimize for wide characters.
e4ded23c 3639 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3640 partially. On ttys, produce more than one truncation glyph for
3641 multi-column characters that don't fit on the line.
3642
64388126
KH
36432001-01-13 Kenichi Handa <handa@etl.go.jp>
3644
52283633
SM
3645 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3646 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3647
8edb0a6f
JR
36482001-01-13 Jason Rumney <jasonr@gnu.org>
3649
3650 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3651 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3652 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3653 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3654
52283633
SM
3655 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3656 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3657 (x_draw_image_glyph_string): Adapt to change of image margins.
3658
3659 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3660 variables.
3661
3662 * w32bdf.c (search_file_line, get_cached_font_char)
3663 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3664
3665 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3666
3667 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3668 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3669 (Fw32_send_sys_command): Remove unused variables.
3670 (w32_msg_pump): Add parentheses.
3671
3672 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3673 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3674 Add parentheses.
3675
4956d1ef
GM
36762001-01-12 Gerd Moellmann <gerd@gnu.org>
3677
b30623be
GM
3678 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3679 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3680 being a pair of margins.
3681 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3682 to DEFVAR_LISP. Extend doc.
3683
3684 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3685 margins.
3686 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3687 pair of integers `(X . Y)', use X for the horizontal and Y for the
3688 vertical margin.
3689 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3690 (parse_image_spec): Check it.
52283633
SM
3691 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3692 (tiff_format, gif_format, gs_format):
3693 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3694
52283633
SM
3695 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3696 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3697 (x_draw_image_glyph_string): Adapt to the change of image margins.
3698
3699 * dispextern.h (struct image): Replace member `margin' with
3700 `hmargin' and `vmargin'.
3701
4554cc79
GM
3702 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3703 and GLYPHS.
3704
3705 * dispnew.c (update_text_area): Put code which decrements the
3706 stop position when the row's face extends to the end of the
3bffc665 3707 line in #if 0.
4554cc79 3708
3cccce8d
GM
3709 * xfns.c (x_set_mouse_color): Fix color allocation.
3710
4956d1ef
GM
3711 * keyboard.c: Call get_local_map with new argument list.
3712
3713 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3714
3715 * intervals.h (enum map_property): Removed.
3716 (get_local_map): Change prototype.
3717
3718 * keymap.c: Call get_local_map with new argument list.
3719 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3720
2c2ff7f2
GM
37212001-01-11 Gerd Moellmann <gerd@gnu.org>
3722
a23887b9
GM
3723 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3724 of the size needed for the tool bar string. For the last image,
3725 use a `display' property that reaches to the end of the string.
3726
a7ee2d2e
GM
3727 * xselect.c (selection_request_dpyinfo): New variable.
3728 (x_handle_selection_request): Set it.
3729 (x_selection_request_lisp_error): Don't call
3730 x_decline_selection_request if selection request's display has
3731 been closed.
3732
52283633
SM
3733 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3734 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3735
457b792c
GM
37362001-01-10 Dave Love <fx@gnu.org>
3737
3738 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3739 ${SOME_MACHINE_LISP}, not ${lisp}.
3740
c1efd260
GM
37412001-01-10 Gerd Moellmann <gerd@gnu.org>
3742
52283633
SM
3743 * xdisp.c (display_line): On ttys, produce more than one truncation
3744 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3745
ac95a621
GM
3746 * xselect.c (x_reply_selection_request): Add a comment.
3747
c1efd260
GM
3748 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3749 XkbGetNames instead of XkbGetKeyboard.
3750
1bfb1345
DL
37512001-01-10 Dave Love <fx@gnu.org>
3752
3753 * sysdep.c (random): Revert the declaration.
3754
38119822
GM
37552001-01-09 Gerd Moellmann <gerd@gnu.org>
3756
52283633
SM
3757 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3758 Call function string_bytes.
35f464a7
GM
3759 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3760
3761 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3762 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3763 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3764 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3765 the current sblock.
3766 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3767 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3768 after sweeping strings, and at the end.
3769 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3770
38119822
GM
3771 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3772 ensure that pop_message is called.
3773
3774 * keyboard.c (Fexecute_extended_command): Use a
3775 record_unwind_protect to ensure that pop_message is called.
3776
3777 * lisp.h (push_message_unwind): Add prototype.
3778
3779 * xdisp.c (push_message_unwind): New function.
3780
3781 * fileio.c (do_auto_save_unwind): Do the pop_message here
3782 instead of in Fdo_auto_save.
3783 (Fdo_auto_save): Don't call pop_message.
3784
f47a9ec4
KR
37852001-01-08 Ken Raeburn <raeburn@gnu.org>
3786
3787 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3788 in inner block.
3789
a758f97d
GM
37902001-01-08 Gerd Moellmann <gerd@gnu.org>
3791
6d0afc03
GM
3792 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3793 when increasing window's vscroll.
3794
a758f97d
GM
3795 * macros.c (Qkbd_macro_termination_hook): New variable.
3796 (syms_of_macros): Initialize and staticpro it.
3797 (pop_kbd_macro): Run kbd-macro-termination-hook.
3798
3799 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3800
1bfb1345 38012001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3802
3803 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3804 arglist, for documentation's sake.
3805
0dac6924
AI
38062001-01-06 Andrew Innes <andrewi@gnu.org>
3807
3808 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3809 of *.pdb.
3810
8182406a
AI
38112001-01-05 Andrew Innes <andrewi@gnu.org>
3812
3813 * term.c (update_end): Don't check updating_frame; for some reason
3814 this can be 0 sometimes, such as after dismissing a popup menu,
3815 and isn't necessary given the explicit frame argument.
3816
3828218c
GM
38172001-01-05 Gerd Moellmann <gerd@gnu.org>
3818
3819 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3820 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3821
2f5ded21
GM
38222001-01-04 Gerd Moellmann <gerd@gnu.org>
3823
52283633 3824 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3825
3826 * xfns.c (x_create_tip_frame): Preserve the value of
3827 face_change_count around the creation of the tip frame.
52283633 3828
2f5ded21
GM
3829 * xfns.c (last_show_tip_args): New variable.
3830 (compute_tip_xy): New function.
3831 (Fx_show_tip): Reuse an existing tip frame, if possible.
3832 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3833
dfad65fa
DL
38342001-01-04 Dave Love <fx@gnu.org>
3835
64d4ec0f
DL
3836 * editfns.c (Fformat): Doc fix.
3837
dfad65fa
DL
3838 * systime.h (set_file_times): Prototype.
3839
3840 * widget.h (EmacsFrameSetCharSize_): Prototype.
3841
3842 * sysdep.c (random, srandom): Declare explicitly.
3843
3844 * dispextern.h (move_it_vertically_backward): Declare.
3845
85fe3b5e
GM
38462001-01-04 Gerd Moellmann <gerd@gnu.org>
3847
0f2ac578
GM
3848 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3849 like in Fx_create_frame.
3850
482cca61
GM
3851 * xfaces.c (set_font_frame_param): Don't do anything for
3852 non-graphical frames.
3853
85fe3b5e
GM
3854 * window.c (Fdelete_other_windows): Set window's window_end_valid
3855 to nil when changing the window's start. Don't change the
3856 window's start when its top position hasn't changed. If we do,
3857 this will set the window's optional_new_start, which act's like a
3858 force_start during redisplay with C-x 1 M-> under particular
3859 circumstances (see report from Per Starback to emacs-pretest-bug
3860 from 2000-12-13.).
3861
3e99d3b4
GM
38622001-01-03 Gerd Moellmann <gerd@gnu.org>
3863
a77dc1ec
GM
3864 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3865 short cut at the start of the function. Add an assertion.
3866 (reseat_at_next_visible_line_start): Add an assertion.
3867
2f3cad6c
GM
3868 * window.c (Frecenter): When changing the window start, set the
3869 window's window_end_valid to nil.
3870 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3871
3872 * dispextern.h (move_it_past_eol): Add prototype.
3873
3874 * xdisp.c (move_it_past_eol): New function.
3875
3e99d3b4
GM
3876 * window.c (Fwindow_end): Doc fix.
3877
38782001-01-03 Dave Love <fx@gnu.org>
3879
52283633 3880 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3881
bafb434c
GM
38822001-01-03 Gerd Moellmann <gerd@gnu.org>
3883
3884 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3885 the enabled_p flag of the glyph row at window_end_vpos to 0.
3886 (handle_single_display_prop): Fix last change.
3887
5297fb00
RS
38882001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3889
3890 * window.c (Frecenter): Doc fix.
3891
13d6a61c
AI
38922001-01-02 Andrew Innes <andrewi@gnu.org>
3893
3894 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3895
3896 * frame.h (output_method): Add output_w32_console method.
3897 (FRAME_W32_CONSOLE_P): New macro.
3898
3899 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3900 use output_w32_console method.
3901 (Qw32_console): New Lisp_Object.
3902 (Fframep): Return it.
3903 (syms_of_frame): Init it.
52283633 3904 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3905
3906 * xfaces.c (realize_default_face): Set face foreground and
3907 background to unspecified for w32_console frames.
3908 (realize_face): Realize face cache for w32_console frames.
3909 (realize_tty_face): Accept w32_console frames.
3910
52283633 3911 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3912 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3913 necessary, even if running interactively.
3914
3915 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3916 w32_console frames.
3917
52283633
SM
3918 * w32term.c (x_update_begin):
3919 (x_update_end):
3920 (x_clear_frame):
3921 (x_ins_del_lines):
3922 (x_change_line_highlight):
3923 (x_delete_glyphs):
3924 (w32_ring_bell):
3925 (x_update_begin):
3926 (x_update_end):
3927 (w32_reassert_line_highlight):
3928 (w32_frame_rehighlight):
13d6a61c
AI
3929 (w32_frame_raise_lower): Do nothing if not w32 frame.
3930
3931 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3932
3933 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3934 system doesn't tell us directly.
3935 (Fx_display_visual_class): Implement properly.
3936
d6bb0c0d
GM
39372001-01-02 Gerd Moellmann <gerd@gnu.org>
3938
3939 * window.c (Frecenter): Handle centering in graphical frames
3940 specially. Centering on the basis of line counts doesn't work
3941 reliably with variable-height lines.
52283633 3942
315f5865
EZ
39432001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3944
3945 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3946 and al[].
3947
52283633 3948 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3949 (update_compositions): Remove unused variable `hook'.
3950
3951 * intervals.c (get_local_map): Remove unused variable `tem'.
3952
3953 * doprnt.c (doprnt1): Remove unused variable `size'.
3954
3955 * fns.c (Flength): Remove unused variable `tail'.
3956 (Fdelete): Remove unused variable `size'.
3957
3958 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3959 and `gcpro2'.
3960
52283633 3961 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3962
3963 * data.c (find_symbol_value): Remove extra 3rd argument in the
3964 call to swap_in_symval_forwarding.
3965
52283633 3966 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3967
3968 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3969 (trivial_regexp_p): Remove unused variable `c'.
3970 (boyer_moore): Remove unused variable `k'.
3971
3972 * indent.c (current_column): Remove unused variable `stopchar'.
3973 (Fcompute_motion): Remove unused variable `contin'.
3974
3975 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3976
3977 * dired.c (directory_files_internal): Fix a typo in a comment.
3978 Remove an unused variable `handler'.
52283633 3979 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3980 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3981 on BSD4_2.
3982
52283633 3983 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3984
3985 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3986 and `buf'.
3987 (Fmarker_insertion_type): Remove unused variable `buf'.
3988
3989 * insdel.c (make_gap): Remove unused variable `result'.
3990
52283633 3991 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3992 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3993 (menu_bar_items): Remove unused function-scope variable `tem'.
3994
3995 * fontset.c (fontset_ref): Remove unused variable `i'.
3996 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3997 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3998 (make_fontset_for_ascii_face): Remove unused variable `name'.
3999 (fs_load_font): Remove unused variable `font_idx'.
52283633 4000 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
4001 (list_fontsets): Remove unused variable `tail'.
4002 (Fnew_fontset): Remove unused variables `family' and `registry'.
4003 (accumulate_font_info): Remove unused variable `tmp'.
4004 (Ffontset_font): Remove unused variable `id'.
4005 (syms_of_fontset): Remove unused variable `i'.
4006
4007 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
4008 to x_term_init.
4009 (lookup_image): Remove unused variable `file'.
4010 (xbm_load): Remove unused variables `bitmap_data', `height', and
4011 `width'. Remove function-local variable `i', leave the
4012 block-local one.
4013 (gif_load): Remove unused variable `inc'.
4014
52283633 4015 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
4016 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
4017 leave only the one in the inner block.
4018
4019 * xfaces.c (face_fontset, realize_default_face): Remove unused
4020 variable `fontset'.
4021 (face_at_buffer_position): Remove unused variable `multibyte_p'.
4022
4023 * term.c (encode_terminal_code): Remove unused variable `c'.
4024
4025 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
4026 char *' instead of `char *'.
4027
4028 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 4029 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
4030 (Fchar_category_set): Remove unused variables `val', `charset',
4031 `c1' and `c2'.
4032
52283633
SM
4033 * coding.c (detect_coding_iso2022, setup_coding_system):
4034 Remove unused variable `i'.
315f5865
EZ
4035 (detect_coding_mask): Remove unused variable `idx'.
4036 (detect_coding): Remove unused variable `i'.
4037 (ccl_coding_driver): Remove unused variable `result'.
4038 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 4039 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
4040 (encode_coding_string): Remove unused variables `gcpro1' and
4041 `saved_coding_symbol'.
4042 (Ffind_coding_systems_region_internal): Remove function-local
4043 variable args[], leave only the block-local one.
4044 (code_convert_region1): Remove unused variable `len'.
4045
4046 * charset.c (char_printable_p): Remove unused variable `chars'.
4047 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
4048 (str_to_multibyte): Remove unused variable `c'.
4049
4050 * window.c (size_window): Remove block-local variable `min_size'.
4051
4052 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4053 `header_line_height'.
4054 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4055 enum display_element_type.
4056
1a8a9daf
GM
40572001-01-02 Gerd Moellmann <gerd@gnu.org>
4058
6dde6abc 4059 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4060 statements that call X. Save away the error message in a local copy.
4061
1883b2c6
GM
4062 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4063 the start.
4064
a13be207
GM
4065 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4066 in or at the start of invisible text.
4067
1a8a9daf
GM
4068 * dispnew.c (update_window): Don't check_current_matrix_flags.
4069
3608c0f9
JR
40702001-01-01 Jason Rumney <jasonr@gnu.org>
4071
4072 * w32fns.c (x_figure_window_size): Do not allow new_height and
4073 new_width of frame to override specified values.
4074
abb1acc4
KH
40752000-12-30 Kenichi Handa <handa@etl.go.jp>
4076
52283633 4077 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4078
762a68ec
GM
40792000-12-29 Gerd Moellmann <gerd@gnu.org>
4080
52283633 4081 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4082 (update_window) [GLYPH_DEBUG]: Call it.
4083 (scrolling_window): Prevent including current rows which are below
4084 what's displayed in the window.
4085
4086 * xdisp.c (try_window_reusing_current_matrix)
4087 <new start <= old start>: Disable rows in the current matrix
4088 which are below the window after scrolling.
52283633 4089
762a68ec
GM
4090 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4091 is zero. It's not worth the complexity.
4092 (invisible_text_between_p): Put in #if 0 because unused.
4093
2d5912c1
GM
40942000-12-28 Gerd Moellmann <gerd@gnu.org>
4095
46f6a258
GM
4096 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4097 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4098
89f93679
GM
4099 * keyboard.c (echo_char): If C is an integer, always call
4100 push_key_description. Former code could signal an invalid
4101 character error.
4102
4103 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4104 If set, print multibyte text.
4105 (Fsingle_key_description): Call push_key_description with
4106 FORCE_MULTIBYTE set.
4107 (describe_buffer_bindings): Likewise.
4108
4109 * lisp.h (push_key_description): Add prototype.
4110
c06017fb
GM
4111 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4112 around the call to redisplay_internal.
4113
f1d2ce7f
GM
4114 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4115
2d5912c1
GM
4116 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4117
9371f831
KH
41182000-12-28 Kenichi Handa <handa@etl.go.jp>
4119
4120 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4121 (ccl_driver): New local variable `extra_bytes'.
4122
4123 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4124
52283633
SM
4125 * coding.c (setup_coding_system):
4126 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4127 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4128
0c80628a
KH
41292000-12-28 Kenichi Handa <handa@etl.go.jp>
4130
4131 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4132 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4133 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4134 (decode_composition_emacs_mule): New function.
4135 (decode_coding_emacs_mule): Decode composition sequence by calling
4136 decode_composition_emacs_mule.
4137 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4138 (encode_coding_emacs_mule): Changed from macro to function.
4139 If a text contains compositions, encode them correctly.
0c80628a
KH
4140 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4141 that decoding and encoding are required.
4142
3e32cc27
GM
41432000-12-27 Gerd Moellmann <gerd@gnu.org>
4144
5e25feee
GM
4145 * xfaces.c (PT_PER_INCH): New macro.
4146 (xlfd_point_size): Compute real point size from font's pixel size.
4147 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4148 instead of 72.
4149
892d8fcd
GM
4150 * .gdbinit: Comment out the line pointing to the Lesstif source
4151 directory.
4152
12c8b416
GM
4153 * window.c (Frecenter): Use displayed_window_lines instead
4154 of window_internal_height.
4155
6061fbf0
GM
4156 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4157 instead of x-toolkit-scroll-bars-p.
4158 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4159
4160 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4161 instead of x-toolkit-scroll-bars-p.
4162 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4163
3e32cc27
GM
4164 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4165 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4166 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4167 New variables.
4168 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4169 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4170 (build_frame_matrix_from_leaf_window): Remove unused code.
4171 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4172 redisplay history.
4173 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4174 (update_window) [GLYPH_DEBUG]: Likewise.
4175 (syms_of_display): Defsubr dump-redisplay-history.
4176
31798cfe
GM
41772000-12-23 Gerd Moellmann <gerd@gnu.org>
4178
f717c2ba
GM
4179 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4180 the end of the prompt. Set echo_after_prompt to the offset
4181 of echoptr in echobuf.
4182
aeb2b8fc
GM
4183 * xdisp.c (init_from_display_pos): Pop until the iterator's
4184 stack is empty; there may be frames for stretch or images
4185 on the stack.
4186
31798cfe
GM
4187 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4188 (save_or_restore_current_matrix): New function for the same
4189 purpose, but more efficient.
4190 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4191
f8156156
EZ
41922000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4193
4194 * xdisp.c (syms_of_xdisp): Fix last change.
4195
bdd6d4e8
GM
41962000-12-23 Gerd Moellmann <gerd@gnu.org>
4197
4198 * xdisp.c (syms_of_xdisp): Doc fix.
4199
4200 * xdisp.c (redisplay_window): Remove label restore_buffers;
4201 use finish_scroll_bars instead to make sure that scroll bars
4202 are redeemed. If we don't do this, flickering can result from
4203 scroll bars being destroyed and recreated.
4204
9436cdf9
JR
42052000-12-22 Jason Rumney <jasonr@gnu.org>
4206
4207 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4208 in the wrong colors when the foreground is not black.
4209 (expose_window): Don't redraw the window that's currently being
4210 updated.
4211
951f9df5
GM
42122000-12-22 Gerd Moellmann <gerd@gnu.org>
4213
856ff7a7
GM
4214 * window.c (size_window): When setting the window's too_small_ok
4215 flag, compare old size with minimum size depending on WIDTH_P,
4216 don't compare with window_min_width.
52283633 4217
951f9df5
GM
4218 * window.c (delete_window): Simplify somewhat.
4219 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4220 freeing window matrices. The flag windows_or_buffers_changed is
4221 set, so the next redisplay will consider all windows; this should
4222 suffice.
4223
886bc933
KH
42242000-12-22 Kenichi Handa <handa@etl.go.jp>
4225
4226 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4227
4228 * ccl.h (struct ccl_program): New member cr_consumed.
4229
4230 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4231 (CCL_READ_CHAR): Handle EOL conversion here.
4232 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4233
177f4e88
GM
42342000-12-21 Gerd Moellmann <gerd@gnu.org>
4235
52283633 4236 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4237
4238 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4239 otherwise tabs of different size compare equal.
4240
4241 * callint.c (Fcall_interactively): Prevent a compiler warning.
4242
4243 * print.c (print_unwind): Return nil.
4244 (PRINTDECLARE): Initialize all local variables.
4245 (print_preprocess): Add a default case.
4246
8e15274f
GM
4247 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4248
4249 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4250
52283633 4251 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4252 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4253
4254 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4255
4256 * dispnew.c (ensure_frame_matrix): Removed.
4257 (save_frame_matrix, restore_frame_matrix): New functions.
4258 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4259
4260 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4261 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4262
99012074
AI
42632000-12-21 Andrew Innes <andrewi@gnu.org>
4264
4265 * w32term.c (x_update_begin): Regenerate the palette here, rather
4266 than for each window.
4267
4268 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4269 palette is NULL, since this corrupts memory! Also get
4270 display_info reference from frame.
4271
29ef7d2d
JR
42722000-12-21 Jason Rumney <jasonr@gnu.org>
4273
4274 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4275
4276 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4277 to avoid returning without releasing it.
3e27fa1f 4278
3f9d67a6
KH
42792000-12-21 Kenichi Handa <handa@etl.go.jp>
4280
587fc3f9
KH
4281 * keymap.c (push_key_description): Don't convert eight-bit-control
4282 and eight-bit-graphic to multibyte character.
4283
3f9d67a6
KH
4284 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4285 generic character and CODE1 is nil, return the smallest character
4286 in CHARSET.
4287
774ba8c9
DL
42882000-12-20 Dave Love <fx@gnu.org>
4289
4290 * s/osf5-0.h (NSIG): Don't redefine.
4291
88416888
SM
42922000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4293
4294 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4295 excluding menu-bar and tool-bar.
4296 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4297 (menu_item_p): Remove.
4298 (where_is_internal_1): Don't ignore menu-items.
4299
a6426c6f
GM
43002000-12-20 Gerd Moellmann <gerd@gnu.org>
4301
03ff8aab
GM
4302 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4303 into account.
4304
4305 * window.c (make_window): Initialize window's min_hscroll.
4306 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4307 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4308 to zero.
4309 (struct saved_window): New member min_hscroll.
4310 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4311 (Fset_window_configuration): Set window's min_hscroll.
4312 (save_window_save): Save window's min_hscroll.
4313 (compare_window_configurations): Compare min_hscroll values.
4314
4315 * window.h (struct window): New member min_hscroll.
4316
4317 * keyboard.c (echo_prompt): Prevent a compiler warning.
4318
8de4aaf8
GM
4319 * xdisp.c (try_cursor_movement): Fix last change. The real
4320 condition is that PT is at the end of the row, and should
4321 be displayed at the start of the next row.
52283633 4322
3f7e3031
GM
4323 * xdisp.c (try_cursor_movement): If we end on a partially
4324 visible line, end we already decided to scroll, return -1.
4325
a6426c6f
GM
4326 * dispextern.h (ensure_frame_matrix): Add prototype.
4327
4328 * window.c (delete_window, Fsplit_window)
4329 (Fset_window_configuration): Call ensure_frame_matrix.
4330
52283633
SM
4331 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4332 New functions.
a6426c6f
GM
4333 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4334 completed, call fake_current_matrices instead of marking frame
4335 garbaged.
4336
57fa2774
JR
43372000-12-20 Jason Rumney <jasonr@gnu.org>
4338
4339 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4340
d925df90
EZ
43412000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4342
4343 * fns.c (Frequire): Doc fix.
4344
7b93a85b
GM
43452000-12-19 Gerd Moellmann <gerd@gnu.org>
4346
52283633 4347 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4348
c74e645b
GM
4349 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4350 currently displaying a message.
4351
7b93a85b
GM
4352 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4353 xterm.h.
4354 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4355
90d97e64
AI
43562000-12-18 Andrew Innes <andrewi@gnu.org>
4357
4358 * w32.c (w32_strerror): New function.
4359
4360 * w32.h (w32_strerror): New extern.
4361
4362 * w32fns.c (Fw32_shell_execute): Use it.
4363
91c9e6ce
GM
43642000-12-18 Gerd Moellmann <gerd@gnu.org>
4365
4366 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4367
6f4745e2
EZ
43682000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4369
4370 * msdos.c (IT_set_face): Obey inverse_video.
4371
c9e088ce
KH
43722000-12-18 Kenichi Handa <handa@etl.go.jp>
4373
4374 * dired.c (directory_files_internal): Always return decoded filenames.
4375
c3695f5f
GM
43762000-12-18 Gerd Moellmann <gerd@gnu.org>
4377
52d8e4ff
GM
4378 * xterm.c (x_connection_closed): Prevent being called recursively
4379 because of an error condition in XtCloseDisplay.
52283633 4380
62be9979
GM
4381 * xdisp.c (init_iterator): If noninteractive, and the frame's
4382 face cache is null, make one.
4383
52283633 4384 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4385
c3695f5f
GM
4386 * process.c (wait_reading_process_input): Check for pending
4387 input when running timers.
4388
78555fbe
EZ
43892000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4390
52283633 4391 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4392
b2b36264
KH
43932000-12-18 Kenichi Handa <handa@etl.go.jp>
4394
4395 * process.c (read_process_output): Don't run a filter if the code
4396 decoder produces nothing but carryover.
4397
9c543fbf
AI
43982000-12-17 Andrew Innes <andrewi@gnu.org>
4399
4400 * w32.c (sys_rename): Only check errno against EEXIST, and not
4401 EACCES, when determining whether rename failed because the target
4402 exists. This was resulting in indefinite looping on Windows 9x if
4403 the source file was locked by another process.
4404
4405 * w32fns.c (Ffile_system_info): New function.
4406 (syms_of_w32fns): Defsubr it.
4407
10c2b5a8
GM
44082000-12-17 Gerd Moellmann <gerd@gnu.org>
4409
b0228ace
GM
4410 * window.c (coordinates_in_window): Fix computation for
4411 position on vertical line between mode lines.
4412
10c2b5a8
GM
4413 * xfns.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
c844a81a
GM
4418 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4419 Don't alter tip_frame or tip_window.
4420 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4421 was deleted.
4422
6c825f8e
EZ
44232000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4424
4425 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4426 be consistent with the doc string. Reported by NAKAJIMA Mikio
4427 <minakaji@osaka.email.ne.jp>.
4428
af4bb4c8
KH
44292000-12-16 Kenichi Handa <handa@etl.go.jp>
4430
4431 * xfaces.c (Vface_ignored_fonts): New variable.
4432 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4433 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4434
8062e53a
GM
44352000-12-15 Gerd Moellmann <gerd@gnu.org>
4436
e87b8809
GM
4437 * dispnew.c (update_window): Detect pending input every nth line
4438 updated, i.e. do it depending on real work done, and not on the
4439 vpos of the line.
4440
4441 * xterm.c (expose_window): Don't redraw the window that's
4442 currently being updated.
4443
a6768cc5
GM
4444 * window.c (Fset_window_point): Remove test for
4445 cursor_in_non_selected_windows.
4446
4ea7fdca
GM
4447 * lread.c (read1): Recognize end of file after `\\'.
4448
8062e53a
GM
4449 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4450 not unwind_create_frame.
4451
bb7959c1
GM
44522000-12-15 Dave Love <fx@gnu.org>
4453
4454 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4455 bcopy & al.
4456
4457 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4458
ced04c42
KH
44592000-12-15 Kenichi Handa <handa@etl.go.jp>
4460
c5443913
KH
4461 * coding.c (setup_coding_system): Clear all members of the struct
4462 coding_system at first.
bc137305
KH
4463 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4464 argument.
4465 (code_convert_region): Don't override coding->src_multibyte and
4466 coding->dst_multibyte.
c5443913 4467
ced04c42
KH
4468 * fns.c (Fmd5): Docstring improved.
4469
c2d7f289
MB
44702000-12-15 Miles Bader <miles@gnu.org>
4471
4472 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4473 are actually marked as mode-lines; otherwise use
4474 estimate_mode_line_height.
4475
9d7d9263
GM
44762000-12-14 Gerd Moellmann <gerd@gnu.org>
4477
4478 * editfns.c (Fformat): Prevent a buffer overrun when the format
4479 specifies a precision.
4480
7cf0153a
EZ
44812000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4482
4483 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4484 argument is outside the range [2..3].
4485
1de0f662
AI
44862000-12-14 Andrew Innes <andrewi@gnu.org>
4487
4488 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4489 nothing to do. Bind inhibit-quit.
4490 (tip_frame): Make it a Lisp_Object.
4491 (x_create_tip_frame): Set tip_frame after it has been added to
4492 Vframe_list.
4493 (Fx_show_tip): Don't set tip_frame here.
52283633 4494 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4495 (unwind_create_frame, unwind_create_tip_frame): New functions.
4496 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4497 while a frame is only partially constructed.
4498
4499 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4500 (x_free_frame_resources): New function.
4501 (x_destroy_window): Use it.
4502
02387dcc
GM
45032000-12-14 Gerd Moellmann <gerd@gnu.org>
4504
4505 * xfns.c (Fx_backspace_delete_keys_p): New function.
4506 (syms_of_xfns): Defsubr it.
4507
4508 * config.in (HAVE_XKBGETKEYBOARD): Add.
4509
0544ef49
KH
45102000-12-14 Kenichi Handa <handa@etl.go.jp>
4511
98d62747
KH
4512 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4513 Always store string in multibyte representation in echobuf.
4514 (echo_char): Always store string in multibyte representation in
4515 echobuf.
4516 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4517 (read_key_sequence): Adjusted for the change of echo_prompt.
4518
a20193cd
KH
4519 * fns.c (Fmd5): Docstring improved.
4520
191b83b6
KH
4521 * lisp.h (detect_coding_system): Prototype adjusted.
4522
0544ef49
KH
4523 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4524 (detect_coding_emacs_mule, detect_coding_iso2022,)
4525 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4526 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4527 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4528 (detect_coding_mask, detect_coding_system): New argument
4529 MULTIBYTEP. Callers changed.
1da1bb05
KH
4530 (decode_coding_string): Set coding->src_multibyte and
4531 coding->dst_multibyte before calling detect_coding and detect_eol.
4532 Update them after some coding system is detected.
52283633 4533
d5b3eb1b
SM
45342000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4535
4536 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4537
4538 * keyboard.c (menu_bar_items, tool_bar_items):
4539 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4540
f7f8bb69
GM
45412000-12-13 Gerd Moellmann <gerd@gnu.org>
4542
52283633 4543 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4544 New variables.
4545 (unwind_create_frame, unwind_create_tip_frame): New functions.
4546 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4547 while a frame is only partially constructed.
4548
4549 * xterm.h (x_free_frame_resources): Declare.
4550
4551 * xterm.c (x_free_frame_resources): New function.
4552 (x_destroy_window): Use it.
4553
e10da507
GM
4554 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4555 don't interrupt the update for pending input initially, i.e.
4556 update at least some lines.
4557
4558 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4559
d5b3eb1b 4560 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4561
4562 * xfns.c (gray_bitmap_bits): Declare `char *'.
4563
90aa2856
GM
45642000-12-12 Gerd Moellmann <gerd@gnu.org>
4565
4566 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4567 lines start with a relief line.
4568
a308c9cd
DL
45692000-12-12 Dave Love <fx@gnu.org>
4570
4571 * window.c (Fdisplay_buffer): Doc fix.
4572 (Fwindow_list): Remove unused var.
4573
4574 * buffer.h (mmap_set_vars): Declare.
4575
4576 * window.h (Fset_window_point): Declare.
4577
d575011f
EZ
45782000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4579
bf6282d2 4580 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4581 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4582 variable `area'. When looking for a row under (X,Y), give up if some
4583 of the previous rows is not enabled.
d575011f 4584
ecf4d726
GM
45852000-12-12 Gerd Moellmann <gerd@gnu.org>
4586
2ebf6139
GM
4587 * window.c (Fset_window_point): If displaying cursors in windows
4588 other than the selected window, make sure redisplay updates
4589 other windows to show the new value of point in the window.
4590
4591 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4592
bfdb75ee
GM
4593 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4594 the buffer is the sole visible buffer when in the mini-buffer.
4595
52283633 4596 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4597 Bind `inhibit-read-only' to t.
4598 (unwind_with_echo_area_buffer): Use AREF.
4599
c0006262
GM
4600 * xfns.c (Fx_hide_tip): Simplified.
4601
52283633
SM
4602 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4603 instead of `1'.
e9a59cad 4604
ecf4d726
GM
4605 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4606
e5959a9a
GM
46072000-12-11 Gerd Moellmann <gerd@gnu.org>
4608
a3642e49 4609 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4610
44b5a125
GM
4611 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4612 nothing to do. Bind inhibit-quit.
4613 (tip_frame): Make it a Lisp_Object.
4614 (x_create_tip_frame): Set tip_frame after it has been added to
4615 Vframe_list.
4616 (Fx_show_tip): Don't set tip_frame here.
4617
4618 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4619
4620 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4621 Lisp_Object.
4622
4623 * dispextern.h: Change external declaration of tip_frame.
4624
d990421f
GM
4625 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4626 return an empty string.
4627
4db87380
GM
4628 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4629 of the window's update_mode_line flag, since the former is set by
4630 force-mode-line-update, not the latter. This makes
4631 column-number-mode slightly faster.
52283633 4632
e5959a9a
GM
4633 * xdisp.c (try_window_id) <all changes above window start>:
4634 Set the cursor.
4635
169fe44e
GM
46362000-12-11 Paul Eggert <eggert@twinsun.com>
4637
4638 * config.in (HAVE_FTELLO): Remove.
4639 (HAVE_FSEEKO): Add.
4640 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4641 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4642 HAVE_FTELLO.
4643 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4644 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4645
59ec59ae
MB
46462000-12-11 Miles Bader <miles@gnu.org>
4647
4648 * window.c (displayed_window_lines): Don't round up when
4649 converting empty space at bottom to lines.
ff904dd6
MB
4650 Handle non-newline-terminated final lines properly.
4651 (Fwindow_text_height): New function (used to be in lisp).
4652 (syms_of_window): Initialize it.
59ec59ae 4653
42ebfa31
SM
46542000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4655
4656 * syntax.c (scan_lists): Check that the right quote char has the
4657 right Sstring syntax when jumping over strings.
4658 (init_syntax_once): Use Smax rather than 13.
4659
5cdb3cf3
MB
46602000-12-09 Miles Bader <miles@gnu.org>
4661
4662 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4663 with PARTIALLY, inverting the sense.
4664 (window_scroll_pixel_based): Scroll partially visible lines into
4665 place if we hit the beginning or end of the buffer.
a12167c5
MB
4666 (displayed_window_lines): Don't include partially visible lines.
4667 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4668
842b2a94
GM
46692000-12-08 Gerd Moellmann <gerd@gnu.org>
4670
4671 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4672
4673 * tparam.c (tparam1): Change the way buffers are reallocated to be
4674 portable and less obfuscated.
4675
4676 * termcap.c (tgetent): Change the way buffers are reallocated to
4677 be portable and less obfuscated.
4678
4679 * macros.c (store_kbd_macro_char): Change the way buffers are
4680 reallocated to be portable and less obfuscated.
4681
4682 * lread.c (read1): Change the way buffers are reallocated to be
4683 portable and less obfuscated.
4684
4685 * doc.c (Fsubstitute_command_keys): Change the way buffers
4686 are reallocated so that it is portable.
4687
137cad7c
EZ
46882000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4689
4690 * dosfns.c (Ffile_system_info): New function.
4691 (syms_of_dosfns): Defsubr it.
4692
5c7f629c
SM
46932000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4694
4695 * alloc.c (gc_sweep): Add comment.
4696
959e647d
GM
46972000-12-07 Gerd Moellmann <gerd@gnu.org>
4698
52283633
SM
4699 * sound.c (vox_configure): Change order of ioctls.
4700 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4701 Ignore errors when changing volume.
4702 (vox_close): Don't reset the device.
4703
926b7e5e
GM
4704 * process.c (read_process_output): Make sure the process marker's
4705 position is valid when the process buffer is changed in
4706 after-change functions. W3 does that.
52283633 4707
959e647d
GM
4708 * xfns.c (x_free_gcs): New function.
4709
4710 * xterm.h (x_free_gcs): Add prototype.
4711
4712 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4713 freeing GCs here.
4714
4715 * xterm.c (x_destroy_window): Call x_free_gcs so that
4716 resources of non-toolkit X windows will be freed.
4717
478ea067
AI
47182000-12-07 Andrew Innes <andrewi@gnu.org>
4719
4720 * w32fns.c (xlfd_charset_of_font): Fix last change.
4721
fbee3231
DL
47222000-12-06 Dave Love <fx@gnu.org>
4723
67292061
DL
4724 * md5.h (__P): Don't define -- it comes from config.h.
4725
fbee3231
DL
4726 * strftime.c: Change some #if foo to #ifdef foo.
4727
4ee87dbb
AI
47282000-12-06 Andrew Innes <andrewi@gnu.org>
4729
4730 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4731
52283633 4732 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4733 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4734 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4735
9765b4a4
GM
47362000-12-06 Gerd Moellmann <gerd@gnu.org>
4737
d285b373
GM
4738 * alloc.c (gc_sweep): Prevent symbols read during loadup
4739 from being freed.
4740
384333ee
GM
4741 * xdisp.c (underlying_face_id): New function.
4742 (handle_face_prop, face_before_or_after_it_pos): Use it
4743 to determine the face ``under'' a string. Let strings inherit
4744 the face of the buffer under them.
4745
4746 * xfaces.c (face_at_string_position): Update function comment.
52283633 4747
d4b72d58
GM
4748 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4749 matrix if the window's left position has changed; we need to
4750 redraw it in this case.
4751
4752 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4753
e1d05387
GM
4754 * window.c (coordinates_in_window): Check mouse on mode-line or
4755 header-line first.
4756
eb1b0c74
GM
4757 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4758 advertized by the function documentation.
4759
d94d636f
GM
4760 * window.c (syms_of_window): Doc fix.
4761
3887b449
GM
4762 * sound.c (vox_configure): Set volume for left and right channel.
4763 (sound_cleanup): Return nil.
4764
efc8f57a
GM
4765 * xdisp.c (move_it_by_lines): Fix paren typo.
4766
9765b4a4
GM
4767 * xterm.c (x_load_font): Don't use the font's max_bounds for
4768 computing the height of the font. If max_bounds' ascent or
4769 descent are greater than the font's ascent or descent, this means
4770 glyphs overlap, which should be handled now by redisplay.
4771
6529ed87
GM
4772 * window.c (Veven_window_heights): New variable.
4773 (syms_of_window): DEFVAR_LISP it.
4774 (Fdisplay_buffer): Check Veven_window_heights before evening the
4775 window heights.
52283633 4776
0eb2ecde
MB
47772000-12-06 Miles Bader <miles@gnu.org>
4778
4779 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4780 update `default-frame-alist' instead of setting no frame parameters.
4781
03d7a167
KH
47822000-12-06 Kenichi Handa <handa@etl.go.jp>
4783
4784 * composite.c (update_compositions): Fix typo (use the correct
4785 variable).
4786
5f8803c2
JR
47872000-12-05 Jason Rumney <jasonr@gnu.org>
4788
4789 * md5.h: Remove underscores from function declarations.
4790 (__attribute__, __alignof__) [!__GNUC__]: Define.
4791
4792 * md5.c: Delay include of md5.h until after namespace cleaning.
4793
c28a075b
JR
4794 * makefile.w32-in (fns.o): Depend on md5.h
4795 (md5.o): New target.
4796 (sunfns.o): Remove.
4797
4798 * makefile.nt: Likewise.
4799
ff3c7056
JR
48002000-12-05 Jason Rumney <jasonr@altavista.net>
4801
4802 * w32term.c (expose_area): Complete last change.
4803
0c21eeeb
KR
48042000-12-05 Ken Raeburn <raeburn@gnu.org>
4805
4806 * minibuf.c: Include intervals.h.
4807
f201d732
JR
48082000-12-05 Jason Rumney <jasonr@gnu.org>
4809
4810 * w32term.c (x_produce_glyphs): If a font for a component of
4811 a composition is not found, use 1 pixel dot ascent and 0 dot
4812 descent value to avoid displaying terribly tall empty boxes.
4813 (expose_area): Pass x-coordinate relative to the exposed
4814 area to x_draw_glyphs instead of a window-relative coordinate.
4815
21999ab9
GM
48162000-12-05 Gerd Moellmann <gerd@gnu.org>
4817
4d2036e4
GM
4818 * xdisp.c (next_element_from_ellipsis): Save face before selective
4819 display in saved_face_id, and set face_before_selective_p.
4820 (reseat_1): Reset face_before_selective_p.
4821 (append_space, extend_face_to_end_of_line): If iterator's
4822 face_before_selective_p is set, use the face from saved_face_id.
4823 (extend_face_to_end_of_line): For tty frames, make sure to
4824 use the right face id when producing spaces at the end of
4825 the line.
4826
4827 * dispextern.h (struct it): Add face_before_selective_p.
4828
52be17cc
GM
4829 * keyboard.c (record_char): Don't record identical help-echo
4830 events in recent_keys.
4831
8a4f36cc
GM
4832 * xterm.c [USE_X_TOOLKIT]: Close the display.
4833 (xim_close_dpy): Handle case that the display has been closed.
4834
57d6e381
GM
4835 * xterm.c (x_destroy_window): Reset the frame's X window after
4836 destroying it.
4837
21999ab9
GM
4838 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4839 variable window_width.
4840 (line_draw_cost): Fix code skipping over spaces at the end of the
4841 line when must_write_spaces is not set.
4842 (scrolling_window): Fix code inserting runs in list of all runs.
4843
91372bb7
KH
48442000-12-05 Kenichi Handa <handa@etl.go.jp>
4845
4846 * coding.c (setup_coding_system): Be sure to initialize
4847 coding->category_idx.
4848
6c083b4c
GM
48492000-12-04 Gerd Moellmann <gerd@gnu.org>
4850
0c68ce6f 4851 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4852
6452929e
GM
4853 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4854 area to x_draw_glyphs instead of a window-relative coordinate.
4855
d7f31e22
GM
4856 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4857 error in the message.
4858
ae18aa3b
GM
4859 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4860 timer after having read a key. It's not good for code reading
4861 several keys in a loop, like an input method.
4862
caa15ef7
GM
4863 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4864 record undo information for format-decode.
4865
4866 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4867 current buffer is read-only, not if it isn't.
4868
6c083b4c
GM
4869 * keyboard.c (record_char): Record `help-echo' input events
4870 in recent_keys only if they display some help. Don't record
4871 `help-echo' events as macro char.
4872
caa15ef7
GM
48732000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4874
4875 * editfns.c (save_excursion_restore): Don't move point
4876 in another window if it is showing the wrong buffer.
4877 Avoid the call to Fwindow_live_p, for speed.
4878
5a13529b
KH
48792000-12-04 Kenichi Handa <handa@etl.go.jp>
4880
e225faa7
KH
4881 * xfaces.c (struct font_name): New member registry_priority.
4882 (split_font_name): Initialize the above member to zero.
4883 (concat_font_list): New function.
4884 (font_list): Include fonts of all alternative registries.
4885 (FONT_POINT_SIZE_QUANTUM): New macro.
4886 (better_font_p): Ignore point size difference less than
4887 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4888
e89648b4
KH
4889 * xterm.c (x_produce_glyphs): If a font for a component of
4890 a composition is not found, use 1 pixel dot ascent and 0 dot
4891 descent value to avoid displaying terribly tall empty boxes.
4892
5a13529b
KH
4893 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4894
d7935eb6
KR
48952000-12-03 Ken Raeburn <raeburn@gnu.org>
4896
4897 * coding.h (code_convert_string1): Declare.
4898
4899 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4900
52283633 4901 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4902
0dd5e255
JR
49032000-12-02 Jason Rumney <jasonr@gnu.org>
4904
4905 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4906 correctly for single byte character case.
4907 (w32_per_char_metric): Do not try to make any assumptions about
4908 the metrics of BDF fonts.
250cfece 4909 (x_estimate_mode_line_height): If `mode-line' face
52283633 4910 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4911 (note_mouse_highlight): Change the cursor shape on the vertical
4912 border between windows [not enabled].
4913
4914 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4915
4916 * w32fns.c (Fx_create_frame): Reintroduce the call to
4917 face-set-after-frame-defaults.
4918 (Vx_window_horizontal_drag_shape): New variable.
4919 (syms_of_xfns): DEFVAR_LISP it.
4920 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4921 enabled].
0dd5e255 4922
b5d8d2ca
GM
49232000-12-02 Simon Josefsson <simon@josefsson.org>
4924
4925 * fns.c (Fmd5): Use a different logic to decide the coding system
4926 to use.
4927
4928 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4929
fbb87147
EZ
49302000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4931
52283633 4932 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4933
447e9da0
GM
49342000-12-01 Gerd Moellmann <gerd@gnu.org>
4935
7708ced0
GM
4936 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4937 height for YNegative.
4938 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4939 height; also see comment there.
4940
447e9da0
GM
4941 * window.c (coordinates_in_window): Handle computations for
4942 positions on the vertical bar and fringes differently for
4943 window-system frames. Consider some pixels near the vertical bar
4944 as on the bar if the frame doesn't have vertical scroll bars.
4945 Associate positions between mode or header lines with the
4946 right window, the left one.
4947
86d1db20
JR
49482000-12-01 Jason Rumney <jasonr@gnu.org>
4949
4950 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4951
4952 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4953 invalid frame.
4954
a1d58e5b
GM
49552000-12-01 Gerd Moellmann <gerd@gnu.org>
4956
52283633 4957 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4958 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4959 (save_window_save, Fset_window_configuration): Save/restore
4960 window's orig_top and orig_height.
4961
89c609af
JR
49622000-12-01 Jason Rumney <jasonr@gnu.org>
4963
4d177746 4964 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4965
89c609af
JR
4966 * w32fns.c (x_set_cursor_color): Fix last change.
4967
eccc05db
GM
49682000-11-30 Gerd Moellmann <gerd@gnu.org>
4969
31b6671b
GM
4970 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4971 sure that the next redisplay displays the minibuffer, so that
4972 the cursor will be replaced with what the minibuffer wants.
4973
eccc05db
GM
4974 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4975 #ifndef instead of using #if.
4976 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4977 USE_TOOLKIT_SCROLL_BARS is defined.
4978
162de750
JR
49792000-11-30 Jason Rumney <jasonr@gnu.org>
4980
4981 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4982 x_display_cursor.
4983
693c4692
GM
49842000-11-30 Gerd Moellmann <gerd@gnu.org>
4985
4986 * fns.c (Fmd5): Doc fix.
4987
b5d8d2ca 49882000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4989
4990 * fns.c (Fmd5): New function.
4991 (syms_of_fns): Defsubr md5.
4992
4993 * Makefile.in (obj): Add md5.o
4994
b02cd40b
GM
49952000-11-30 Gerd Moellmann <gerd@gnu.org>
4996
edfb795e
GM
4997 * md5.h, md5.c: New files, taken from glibc.
4998
df3aedcf
GM
4999 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
5000
b02cd40b 5001 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 5002 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 5003
8b5176cd
SM
50042000-11-29 Stefan Monnier <monnier@cs.yale.edu>
5005
5006 * eval.c (Frun_hooks): Allow 0 arguments.
5007
346598f1
GM
50082000-11-29 Gerd Moellmann <gerd@gnu.org>
5009
f9396e03
GM
5010 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
5011 is over the menu bar widget, say it's not on the frame.
5012
4a967a9b
GM
5013 * xfns.c (Fx_create_frame): Reintroduce the call to
5014 face-set-after-frame-defaults.
5015
346598f1
GM
5016 * eval.c (Fsignal): Reset handling_signal.
5017
222456a1
JR
50182000-11-28 Jason Rumney <jasonr@gnu.org>
5019
5020 * w32menu.c (add_menu_item): Reset menu item text when changing
5021 type to radio button.
5022
8049ddc0
GM
50232000-11-28 Gerd Moellmann <gerd@gnu.org>
5024
346598f1 5025 * xselect.c: Update copyright.
f4f4ee4d 5026
bebe4a2c
GM
5027 * window.c (coordinates_in_window): If on a mode or header line,
5028 but sufficiently close to its start, return ``on vertical
5029 border''. This gives us a way to drag windows horizontally when
5030 using toolkit scroll bars.
5031
5032 * xterm.c (note_mouse_highlight): Change the cursor shape
5033 on the vertical border between windows.
5034
5035 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
5036
5037 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
5038 (syms_of_xfns): DEFVAR_LISP it.
5039 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
5040
8d2c2642
GM
5041 * textprop.c (text_read_only): New function.
5042 (verify_interval_modification): Use it instead of signaling
5043 `text-read-only'. This makes it easier to catch this error
52283633 5044 with a breakpoint.:
8d2c2642 5045
52283633 5046 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
5047 not end of line, which includes CR.
5048
5a2bae6c
KH
50492000-11-28 Kenichi Handa <handa@etl.go.jp>
5050
5051 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5052 include no-conversion.
5053
ae31f84d
JR
50542000-11-27 Jason Rumney <jasonr@gnu.org>
5055
5056 * w32fns.c (w32_load_system_font): Always mark font as double byte
5057 if codepage is unicode.
5058
67f1cf4c
GM
50592000-11-27 Gerd Moellmann <gerd@gnu.org>
5060
4a74d071 5061 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5062 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5063
902ae620
GM
5064 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5065 `vertical-line', `mode-line' and `header-line' events.
5066
5067 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5068 of a character, a TAB for instance. This is easier than to set
5069 up the iterator exactly, and it's not a frequent case, so the
5070 additional effort wouldn't really pay off.
5071
c1e279c2
AC
50722000-11-26 Andrew Choi <akochoi@i-cable.com>
5073
67f1cf4c 5074 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5075 init_window_once.
5076
a609568a
JR
50772000-11-25 Jason Rumney <jasonr@gnu.org>
5078
52283633
SM
5079 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5080 Args to window_from_coordinates should be pixel coordinates.
48b21762 5081
a609568a
JR
5082 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5083 redisplay handles them properly.
5084
a658d039
MB
50852000-11-25 Miles Bader <miles@gnu.org>
5086
5087 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5088
d3416cca
JR
50892000-11-24 Jason Rumney <jasonr@gnu.org>
5090
5091 * w32.c (init_environment): Set LANG environment variable based on
5092 locale settings, if not set.
5093
5094 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5095 making tool bar smaller. When clearing the frame, also
5096 clear current matrices. Clear frame when tool bar disappears.
5097 Don't use more lines for the tool-bar than is available.
5098 (x_change_window_heights): New function.
5099
ba193890
GM
51002000-11-24 Gerd Moellmann <gerd@gnu.org>
5101
2be8f184
GM
5102 * xdisp.c (init_from_display_pos): If POS says we're already after
5103 an overlay string ending at POS, make sure to pop the iterator
5104 because it will be in front of that overlay string. When POS is
5105 ZV, we've thereby also ``processed'' overlay strings at ZV.
5106
ba193890
GM
5107 * xfaces.c (lface_from_face_name): Function comment fix.
5108
1862a24e
MB
51092000-11-24 Miles Bader <miles@gnu.org>
5110
5111 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5112 apply `mode-line-inverse-video' -- zero means force display using
5113 the default face, non-zero means display using the specialized face.
5114 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5115
f07fa1b8
KH
51162000-11-23 Kenichi Handa <handa@etl.go.jp>
5117
5118 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5119 hard coded `4'.
5120
2bcdf662
EZ
51212000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5122
5123 * coding.c (decode_coding_emacs_mule): Fix the case of
5124 CODING_EOL_LF, which used uninitialized value of c.
5125
ba8299ff
SM
51262000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5127
5128 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5129
f4117c4d
GM
51302000-11-22 Gerd Moellmann <gerd@gnu.org>
5131
03e757c1
GM
5132 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5133 buffer object.
5134
f4117c4d
GM
5135 * frame.h (struct frame): Replace desired_tool_bar_items,
5136 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5137 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5138
5139 * frame.c (make_frame): Change initialization of tool bar
5140 items accordingly.
5141
5142 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5143 Change references to members deleted from struct frame to use the
f4117c4d
GM
5144 new ones.
5145
5146 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5147 references to members deleted from struct frame to use the new ones.
f4117c4d 5148
52283633 5149 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5150
5151 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5152
5153 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5154 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5155 from struct frame to use the new ones.
5156
f8e2f3f2
MB
51572000-11-23 Miles Bader <miles@gnu.org>
5158
5159 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5160 the face's inverse-video attribute, rather than overriding it.
5161
60e8e0a5
GM
51622000-11-22 Gerd Moellmann <gerd@gnu.org>
5163
5164 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5165 making tool bar smaller.
5166
92dd1b29
DL
51672000-11-22 Dave Love <fx@gnu.org>
5168
5169 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5170
e672fdce
MB
51712000-11-22 Miles Bader <miles@gnu.org>
5172
3a17d6cc
MB
5173 * keyboard.c (Vminibuffer_message_timeout): New variable.
5174 (command_loop_1): Use it to determine message timeout.
5175 (syms_of_keyboard): Initialize it.
5176
60e8e0a5 5177 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5178
e9655d81
KH
51792000-11-22 Kenichi Handa <handa@etl.go.jp>
5180
5181 * sysdep.c: Move the code for declaring h_errno after #include
5182 <netdb.h>.
5183
77270fac
GM
51842000-11-21 Gerd Moellmann <gerd@gnu.org>
5185
cd913aae
GM
5186 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5187 the menu bar when the tooltip is unmapped.
5188
77270fac
GM
5189 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5190 sole visible buffer when we're currently in the mini-buffer, and
5191 give up if so.
52283633 5192
556635d6
JR
51932000-11-21 Jason Rumney <jasonr@gnu.org>
5194
5195 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5196 put on the clipboard.
5197 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5198 copy of what Emacs last put there. If they are the same, do not
52283633 5199 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5200
5b7bde64
MB
52012000-11-22 Miles Bader <miles@gnu.org>
5202
5203 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5204 (syms_of_minibuf): Initialize it.
5205 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5206 to prompt, don't make read-only.
5207
ff23e1dd
GM
52082000-11-21 Gerd Moellmann <gerd@gnu.org>
5209
52283633
SM
5210 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5211 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5212
7aaf4388
GM
5213 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5214
f5f47add 5215 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5216
ff23e1dd
GM
5217 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5218
37c35586
KH
52192000-11-21 Kenichi Handa <handa@etl.go.jp>
5220
5221 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5222 ... #endif scope.
5223
ff9ab414
GM
52242000-11-20 Gerd Moellmann <gerd@gnu.org>
5225
52283633 5226 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5227 screen supports it.
5228
29a01b72
GM
5229 * s/gnu-linux.h: Don't use `#cpu'.
5230
09dfdf85
GM
5231 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5232 not defined in mman.h.
5233
52283633 5234 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5235 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5236 and store an index in the XClientMessageEvent. Storing a
5237 Lisp_Object or pointer can fail on a 64 bit system, since X only
5238 transfers 32 bits.
52283633
SM
5239 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5240
81459ac9
DL
52412000-11-20 Dave Love <fx@gnu.org>
5242
5243 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5244
56c13ae6
GM
52452000-11-20 Gerd Moellmann <gerd@gnu.org>
5246
5247 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5248
495a6df3
KH
52492000-11-20 Kenichi Handa <handa@etl.go.jp>
5250
2bcf3714
KH
5251 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5252 by WIDTH.
5253
495a6df3
KH
5254 * alloc.c (make_string): Fix previous change. Be sure to make
5255 unibyte string correctly.
5256
6d950f4c
GM
52572000-11-19 Gerd Moellmann <gerd@gnu.org>
5258
39b39373
GM
5259 * window.c (Fwindow_list): Change parameter list to be XEmacs
5260 compatible.
5261 (window_list_1): New function.
5262 (window_loop): Use it instead of Fwindow_list.
5263
b95b34e5
GM
5264 * sysdep.c (emacs_ospeed): New variable.
5265 (toplevel): Don't declare ospeed extern.
5266 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5267
5268 * termcap.c (ospeed): Remove.
5269 (tputs) [!emacs]: Remove unused code.
5270 (tgetent): Avoid a compiler warning.
5271
e83dc917
GM
5272 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5273 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5274 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5275
5276 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5277 removed.
5278 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5279 Take the X display as additional argument.
5280 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5281 `Widget' is a pointer type that's not easily stored in Lisp_Object
5282 form in a portable way.
52283633 5283
6d950f4c
GM
5284 * dispnew.c (update_text_area): Fix last change.
5285
e47306e6
GM
52862000-11-18 Gerd Moellmann <gerd@gnu.org>
5287
fb3cd89b
GM
5288 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5289
5290 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5291 clear current matrices.
5292
edaa9aed
GM
5293 * buffer.c (mmap_enlarge): Don't print a message on stderr
5294 if mapping new memory at the end of the existing region fails.
5295
e47306e6
GM
5296 * dispnew.c (update_text_area): Don't skip over equal glyphs
5297 when the last current glyph overlaps the glyph to its right.
5298
509633e3
MB
52992000-11-18 Miles Bader <miles@gnu.org>
5300
5301 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5302 lines that *end* with "..." too (that's the most common case!).
5303
d392e9c5
GM
53042000-11-18 Gerd Moellmann <gerd@gnu.org>
5305
67988445
GM
5306 * xdisp.c (resize_mini_window): Temporarily change to the
5307 mini-window's buffer if necessary.
1bfdbe43 5308
d392e9c5
GM
5309 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5310 the tooltip obscures less text under it.
5311
53122000-11-17 Gerd Moellmann <gerd@gnu.org>
5313
5314 * puresize.h (BASE_PURESIZE): Increase to 700000.
5315
92bb977f
JR
53162000-11-18 Jason Rumney <jasonr@gnu.org>
5317
5318 * w32term.c (w32_draw_bitmap): Use face to set colors.
5319
26fbf20b
DL
53202000-11-17 Dave Love <fx@gnu.org>
5321
5322 * lread.c (Fload): Fix #ifdef for pcc.
5323
100b593b
GM
53242000-11-17 Gerd Moellmann <gerd@gnu.org>
5325
5326 * xdisp.c (pos_visible_p): Compute the default character height
5327 differently.
5328
a288d0d1
GM
53292000-11-16 Gerd Moellmann <gerd@gnu.org>
5330
cac94de6 5331 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5332 knowing the line's height; use the default font's height in that case.
cac94de6 5333
a288d0d1
GM
5334 * xfaces.c (weight_table): Add `demi' with the same meaning as
5335 `demibold'.
5336
981fb6f6
KH
53372000-11-16 Kenichi Handa <handa@etl.go.jp>
5338
2cca872d 5339 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5340 (clear_glyph_row): Delete local static variable null_row.
5341
e5fa381b
JR
53422000-11-15 Jason Rumney <jasonr@gnu.org>
5343
5344 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5345 (w32_alloc_lighter_color): Use new brightness calculations from
5346 xterm.c. Scale delta to be in the range expected by W32.
5347 (w32_draw_relief_rect): Use frame relief colors.
5348
8e42f043
GM
53492000-11-15 Gerd Moellmann <gerd@gnu.org>
5350
6d133d1f
GM
5351 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5352 (Qinhibit_default_face_x_resources): New variable.
5353 (syms_of_frame): Initialize it.
5354 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5355
5356 * xdisp.c (pos_visible_p): Improve function comment.
5357
5358 * lisp.h (BINDING_STACK_SIZE): New macro.
5359
8e42f043
GM
5360 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5361 reading the directory if readdir returns null and errno is EAGAIN
5362 or EINTR.
5363
e8c87124
SM
53642000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5365
5366 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5367 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5368 Set amount_to_scroll to max of dx and scroll_step so that
5369 scroll-conservatively doesn't defeat scroll-step>1.
5370 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5371 scroll-conservatively for line-at-a-time scrolling.
5372
5f0c971d
GM
53732000-11-14 Gerd Moellmann <gerd@gnu.org>
5374
5375 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5376 extra argument.
5377
5378 * xdisp.c (current_mode_line_height, current_header_line_height):
5379 New variables.
5380 (init_xdisp): Initialize them.
5381 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5382 and use exact mode line heights if it is set.
5383
5384 * lisp.h (pos_visible_p): Change prototype.
5385
5386 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5387 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5388 and current_header_line_height first.
52283633
SM
5389 (current_mode_line_height, current_header_line_height):
5390 Declare extern.
5f0c971d 5391
d7361edf
MB
53922000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5393
5394 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5395 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5396 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5397
ee5e440a
MB
53982000-11-14 Miles Bader <miles@gnu.org>
5399
5400 * xterm.c (x_alloc_lighter_color): Include an additive component
5401 too for dark colors, because FACTOR isn't enough.
5402 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5403 New macros.
5404
5ca020fc
GM
54052000-11-13 Gerd Moellmann <gerd@gnu.org>
5406
5407 * keyboard.c (show_help_echo): Call message3_nolog with number of
5408 bytes in the help string as 2nd parameter, instead of the number
5409 of characters.
5410
9d348294
MB
54112000-11-13 Miles Bader <miles@gnu.org>
5412
5413 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5414 (Fload): Use new openp return protocol.
5415 Don't try to use Vload_source_file_function to load .elc files.
5416 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5417 openp return protocol.
5418 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5419
1729bb9a
KH
54202000-11-11 Kenichi Handa <handa@etl.go.jp>
5421
4e677396
KH
5422 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5423
5424 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5425 Defined these macros.
5426 (NLIST_STRUCT): Avoid re-defining it.
5427
1729bb9a
KH
5428 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5429 -I/usr/contrib/X11R6/include.
5430 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5431
a82fe213
JR
54322000-11-10 Jason Rumney <jasonr@gnu.org>
5433
5434 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5435
5436 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5437 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5438
5439 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5440 (Qw32_charset_vietnamese): New symbol.
5441 (xlfd_charset_of_font): New function.
5442 (w32_load_system_font): Use it.
5443 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5444 when Vw32_charset_info_alist is nil to ensure default face always
5445 has font. Use Fcar and Fcdr for safety.
5446 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5447 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5448 pseudo-codepages for special cases.
5449 (w32_to_x_font): New parameter to allow charset portion to be
5450 specified where there is many to one mapping. Callers changed.
5451 (w32_list_fonts): Avoid listing fonts that won't display.
5452
52d89894
GM
54532000-11-10 Gerd Moellmann <gerd@gnu.org>
5454
5455 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5456 (font_list_1): Renamed from font_list.
5457 (font_list): New function, trying alternative registries from
5458 Vface_alternative_font_registry_alist.
5459 (Finternal_set_alternative_font_registry_alist): New function.
5460 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5461 Vface_alternative_font_registry_alist.
5462 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5463
651cd3da
KR
54642000-11-09 Ken Raeburn <raeburn@gnu.org>
5465
5466 * lisp.h (Flooking_at): Declare.
5467
388ac098
GM
54682000-11-09 Gerd Moellmann <gerd@gnu.org>
5469
778fbc46 5470 * dired.c (directory_files_internal): Fix a braino.
52283633 5471
388ac098
GM
5472 * dired.c (directory_files_internal): Add missing GCPRO's.
5473 Some cleanup.
5474
ecaedde1
GM
54752000-11-08 Gerd Moellmann <gerd@gnu.org>
5476
f7eb32aa
GM
5477 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5478 (resize_mini_window): Return quickly if Vresize_mini_window is
5479 nil. Don't return if Vmax_mini_window_height is nil.
5480
5481 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5482 (syms_of_xdisp): Initialize them.
5483 (resize_mini_window): Act according to the setting of
5484 Vresize_mini_window.
5485 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5486
ecaedde1
GM
5487 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5488 scroll bar widget after configuring it, so that it will appear at
5489 the right position from the start.
5490 (XTredeem_scroll_bar): Cleaned up.
5491
3747ef2c
KH
54922000-11-08 Kenichi Handa <handa@etl.go.jp>
5493
5494 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5495 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5496 division by two.
5497
5498 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5499
03391420
DL
55002000-11-07 Dave Love <fx@gnu.org>
5501
7758f1c1 5502 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5503
5504 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5505
b5de343d
GM
55062000-11-07 Gerd Moellmann <gerd@gnu.org>
5507
acad3c0b
GM
5508 * window.c (Fset_window_configuration): Don't try to preserve
5509 point in the current buffer, if that buffer is displayed in more
5510 than one window.
5511
b5de343d
GM
5512 * xfaces.c (lookup_named_face): If default face isn't realized,
5513 try to realize it. Return -1 if not successful.
5514 (Fx_list_fonts): Handle case that face cannot be determined.
5515 (Fface_font): Likewise.
5516
cdb1fe49
GM
55172000-11-06 Gerd Moellmann <gerd@gnu.org>
5518
5519 * window.c (displayed_window_lines): Detect partially
5520 visible lines at the bottom correctly.
5521
d3a67486
SM
55222000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5523
5524 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5525 when ensuring we don't do visit in indirect buffer.
5526
ff8dd5d5
KH
55272000-11-06 Kenichi Handa <handa@etl.go.jp>
5528
5529 * composite.h (compose_chars_in_text): Add prototype.
5530
5531 * composite.c (Vcomposition_function_table): New variable.
5532 (Qcomposition_function_table): New variable.
5533 (run_composition_function): Call
5534 Vcompose_chars_after_function with three arguments.
5535 (compose_chars_in_text): New function.
5536 (syms_of_composite): Modified the doc-string of
5537 Vcompose_chars_after_function. Declare composition-function-table
5538 as a lisp variable, and initialize it.
5539
5540 * xfns.c (x_encode_text): Suppress producing escape sequences for
5541 composition.
5542
5543 * xselect.c: Include composite.h.
5544 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5545
d1145f85
AI
55462000-11-05 Andrew Innes <andrewi@gnu.org>
5547
5548 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5549
5550 * sysdep.c (read_input_waiting): Remove extraneous argument to
5551 read_socket_hook.
5552
5553 * w32fns.c (Fx_server_version): Include w32_build_number in the
5554 return list.
5555
5556 * w32heap.c (w32_build_number): New variable.
5557 (cache_system_info): Set it.
5558
5559 * w32heap.h (w32_build_number): Add extern.
5560
5561 * emacs.c (syms_of_emacs): Update docstring for
5562 system-configuration, to reflect the actual usage on MS-Windows.
5563
e85ee976
GM
55642000-10-31 Gerd Moellmann <gerd@gnu.org>
5565
26dcb81b
GM
5566 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5567 process idle timers while waiting for another event.
5568
52283633 5569 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5570 the default face are colored.
5571
e85ee976
GM
5572 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5573 window height hasn't changed.
5574
01b220b6
JR
55752000-10-31 Jason Rumney <jasonr@gnu.org>
5576
5577 * w32term.c (x_produce_glyphs): Handle composite characters.
5578 (x_draw_glyph_string_foreground)
5579 (x_draw_composite_glyph_string_foreground): Restore old font.
5580
4e6b7204
MB
55812000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5582
5583 * minibuf.c (read_minibuf): Reset the undo history just before
5584 starting the recursive-edit.
5585
d4358b37
GM
55862000-10-30 Gerd Moellmann <gerd@gnu.org>
5587
563f68f1
GM
5588 * xfaces.c (menu_face_change_count): New variable.
5589 (Finternal_set_lisp_face_attribute): Increment it for changes
5590 of the `menu' face.
5591 (realize_basic_faces): Reflect changes in the `menu' faces
5592 in menu bars.
5593
82e274d1
GM
5594 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5595 dy obtained from the iterator's y-position after moving from
5596 scroll_margin_pos to PT; see comment there.
52283633 5597
0dbf9fd2
GM
5598 * xdisp.c (safe_eval_handler): Call add_to_log.
5599
906b3b14
GM
5600 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5601 is not a symbol or string.
5602
d4358b37
GM
5603 * xdisp.c (echo_area_display): Don't perform a display update from
5604 inside redisplay. The update will happen anyway at the end of
5605 redisplay, and it can confuse redisplay (GC messages while
5606 redisplaying, for instance.)
5607
70c825df
SM
56082000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5609
cf9b4b0b
SM
5610 * xrdb.c (x_load_resources): Use the class name in the defaults.
5611
70c825df
SM
5612 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5613 (regex_compile): Catch bogus \(\1\).
5614
a1d34b1e
GM
56152000-10-30 Gerd Moellmann <gerd@gnu.org>
5616
cae71efe
GM
5617 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5618 RGB values.
52283633 5619
35efe0a1
GM
5620 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5621 we have a color cache, check that the cached color equals the
5622 allocated color. If not, clear the color cache.
5623
1d3baf74
GM
5624 * window.c (displayed_window_lines): Change buffers if necessary.
5625 Fix computation of displayed lines.
5626
a1d34b1e
GM
5627 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5628 update_menu_bindings to DEFVAR_BOOL.
5629
70737ea9
KH
56302000-10-30 Kenichi Handa <handa@etl.go.jp>
5631
70c825df 5632 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5633
fa0cb51d
KH
5634 * puresize.h (BASE_PURESIZE): Increase to 680000.
5635
70737ea9
KH
5636 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5637
0e4c08e8
JR
56382000-10-29 Jason Rumney <jasonr@gnu.org>
5639
5640 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5641
5642 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5643 (w32_cache_char_metrics): Handle possibility that 'x' does not
5644 exist in a BDF font.
5645 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5646
5647 * w32bdf.h (bdffont): Add nchars.
5648
5649 * w32bdf.c (set_bdf_font_info): Set it.
5650 (w32_BDF_TextOut): Swap byte order of double byte characters.
5651 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5652
45b84006
EZ
56532000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5654
5655 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5656 don't override the colors in frame's param_alist, unless they are
5657 unspecified.
5658
5659 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5660 reverse the effect of the highlight flag.
5661
caf9deee
KR
56622000-10-27 Ken Raeburn <raeburn@gnu.org>
5663
5664 * window.h (Fwindow_live_p): Declare.
5665
ae0b9b46
KR
5666 * undo.c (record_delete): Check that last_undo_buffer is really a
5667 buffer before applying XBUFFER to it.
5668
5669 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5670 Faref.
5671
02067692
SM
56722000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5673
5674 * lisp.h (KEYMAPP): New macro.
5675 (get_keymap): Remove.
5676 (get_keymap_1): Rename get_keymap.
5677
5678 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5679
5680 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5681
5682 * xmenu.c (single_submenu): Use KEYMAPP.
5683 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5684 Use KEYMAPP rather than Fkeymapp.
5685
5686 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5687
5688 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5689 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5690 Use KEYMAPP rather than Fkeymapp.
5691 (single_submenu): Use KEYMAPP.
5692 (w32_menu_show, w32_dialog_show): Use TRUE.
5693
5694 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5695
5696 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5697 (Fkeymapp): Use KEYMAPP.
5698 (get_keymap): Rename from get_keymap_1. Remove old def.
5699 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5700 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5701 (Fminor_mode_key_binding): Don't raise an error if the binding
5702 is not a keymap.
5703 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5704 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5705
5706 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5707 Allow Vspecial_event_map to be autoloaded.
5708 (menu_bar_items): Fetch the keymap rather than using keymapp.
5709 (menu_bar_one_keymap): No need to follow func-indirect any more.
5710 (parse_menu_item): get_keymap_1 -> get_keymap.
5711 (tool_bar_items): Fetch the keymap rather than using keymapp.
5712 (read_key_sequence): Use KEYMAPP.
5713
5714 * intervals.c (get_local_map): Use get_keymap rather than following
5715 function-indirections explicitly.
5716
5717 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5718
f9d80af3
JR
57192000-10-27 Jason Rumney <jasonr@gnu.org>
5720
5721 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5722 point, as Windows has oversized fonts.
5723
5724 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5725
a3ba27da
GM
57262000-10-27 Gerd Moellmann <gerd@gnu.org>
5727
5728 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5729 (freehook, reallochook): Handle null pointer arguments.
5730 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5731
aa3b80cc
SM
57322000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5733
5734 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5735 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5736 Giving in to popular pressure to shut up the compiler with casts.
5737
e24e84cc
GM
57382000-10-27 Gerd Moellmann <gerd@gnu.org>
5739
5740 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5741 signed value, and use a default value computed from the font's
5742 maximum descent.
5743
05ea7ef2
MB
57442000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5745
5746 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5747 that specify a negative underline position can still use underlines.
5748
5749 * window.c (Fpos_visible_in_window_p): Make POS default to
5750 WINDOW's point, not the current buffer's point.
5751
0b95284b
DL
57522000-10-26 Dave Love <fx@gnu.org>
5753
5754 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5755 when it's necessary.
5756
6c5b90af
GM
57572000-10-26 Gerd Moellmann <gerd@gnu.org>
5758
8b6d9dc9
GM
5759 * window.c (size_window): Compute size difference from sum of old
5760 child window sizes instead of from parent's size.
5761
6bc92b2e
GM
5762 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5763 Handle obscured lines at the top of the window.
5764
5765 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5766 down after the last error condition check.
5767
6c5b90af
GM
5768 * frame.c (Fdelete_frame): Run delete-frame-hook.
5769
42f92d4d
KH
57702000-10-26 Kenichi Handa <handa@etl.go.jp>
5771
5772 * coding.c (decode_coding): Fix previous change (check also
5773 CODING_MODE_LAST_BLOCK).
5774
d97151cb
SM
57752000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5776
e7efc503
SM
5777 * regex.c: More `unsigned char' -> `re_char' changes.
5778 Also change several `int' into `re_wchar_t'.
5779 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5780 (PUSH_FAILURE_POINTER): Don't cast any more.
5781 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5782 We want GCC to complain, since this piece of code makes
5783 re_match non-reentrant, which *should* be fixed.
5784 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5785 (EXTEND_BUFFER): Use RETALLOC.
5786 (SET_LIST_BIT): Don't cast.
5787 (re_wchar_t): New type.
5788 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5789 that those two functions will always properly return.
5790 (IMMEDIATE_QUIT_CHECK): Cast to void.
5791 (analyse_first): Use recursion rather than an explicit stack.
5792 (re_compile_fastmap): Can't fail anymore.
5793 (re_search_2): Don't check re_compile_fastmap for failure.
5794 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5795 Now also sets the new value (passed in a new argument).
5796 (re_match_2_internal): Use it.
5797 Also, use a new var `reg' of type size_t when looping through regs
5798 rather than reuse the inappropriate `mcnt'.
5799
d97151cb
SM
5800 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5801 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5802 (where_is_internal): Renamed from Fwhere_is_internal.
5803 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5804 (Fwhere_is_internal): New function wrapping where_is_internal.
5805 (where_is_internal_1): Handle the case where we're filling the cache.
5806 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5807
d5789b65
MB
58082000-10-25 Miles Bader <miles@gnu.org>
5809
5810 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5811
4ecda532
GM
58122000-10-25 Gerd Moellmann <gerd@gnu.org>
5813
5814 * window.c (pos_fully_visible_p): Removed.
5815 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5816 if position is visible and/or fully visible.
5817
5818 * lisp.h (pos_visible_p): Add prototype.
5819
5820 * xdisp.c (pos_visible_p): New function.
5821
68c3a137
KH
58222000-10-25 Kenichi Handa <handa@etl.go.jp>
5823
5824 * process.c (send_process): If OBJECT is t, it means that the data
5825 is from C string, but we should encode it. Before calling
5826 setup_raw_text_coding_system, be sure to flush out data by the
5827 previous coding system.
5828
7ae1c032
MB
58292000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5830
ff4dcd4b
MB
5831 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5832 assignment of startpos to prev when startpos == pos.
5833
7ae1c032
MB
5834 * editfns.c (find_field): Set the field stickiness correctly from
5835 overlay fields. Use renamed `text_property_stickiness'.
5836 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5837 Only check text properties, not overlays.
7ae1c032
MB
5838 * textprop.c (get_char_property_and_overlay): New function.
5839 (Fget_char_property): Use it.
5840 * intervals.h (get_char_property_and_overlay): Add declaration.
5841
49801145
SM
58422000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5843
5844 * keymap.c: Use AREF, ASET and ASIZE macros.
5845 (Fmake_sparse_keymap): Docstring fix.
5846 (synkey): Remove.
5847 (shadow_lookup): Move up.
5848 Handle the case where lookup-key returns an integer.
5849 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5850 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5851 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5852 Simplify/rewrite the keymap-finding code.
5853 Add check for command shadowing, using shadow_lookup.
5854
39e776cd
SM
58552000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5856
5857 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5858 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5859 a symbol.
5860
2488aba5
AI
58612000-10-24 Andrew Innes <andrewi@gnu.org>
5862
5863 * dired.c (directory_files_internal_unwind): New function.
5864 (directory_files_internal): Use it to ensure closedir is called
5865 even if expand-file-name or file-attributes throw, eg. because of
5866 a user interrupt. Also enable immediate_quit while calling
5867 re_search, so that matching can be interrupted as well.
5868
b94fdf61
AI
58692000-10-24 Andrew Innes <andrewi@gnu.org>
5870
5871 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5872 NT-Emacs only.
5873 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5874 so that re_search functions only quit when callers expect them to.
5875
58762000-10-24 Kenichi Handa <handa@etl.go.jp>
5877
5878 * regex.c (regex_compile): Change the way of handling a range from
5879 a char less than 256 to a char not less than 256.
5880
1946f901
GM
58812000-10-24 Gerd Moellmann <gerd@gnu.org>
5882
7ae2f10f
GM
5883 * window.c (size_window): Prevent setting window's width or
5884 height to a negative value (esp. with XSETFASTINT).
5885
5dcab13e
GM
5886 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5887 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5888 (protect_malloc_state) [GC_MALLOC_CHECK &&
5889 GC_PROTECT_MALLOC_STATE]: New function.
5890 (PROTECT_MALLOC_STATE): New macro.
5891 (__malloc_initialize, morecore, _malloc_internal)
5892 (_free_internal) _realloc_internal): Use it to make _heapinfo
5893 read-only outside of gmalloc.
5894
63e1b552
GM
5895 * keymap.c: Update copyright.
5896
1946f901
GM
5897 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5898 a symbol.
5899
4fa09beb
GM
59002000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5901
5902 * filelock.c (unlock_all_files): Use unlock_file to expand each
5903 buffer's file_truename before trying remove its lock file.
5904
23afac01
EZ
59052000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5906
5907 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5908 or CRLF, decode EOLs.
5909
04448b95
KH
59102000-10-24 Kenichi Handa <handa@etl.go.jp>
5911
5912 * window.c (Fdisplay_buffer): Fix doc.
5913
3090a5a5
JR
59142000-10-23 Jason Rumney <jasonr@gnu.org>
5915
5916 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5917 ASCII font of default fontset on Windows.
5918
5919 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5920 xterm.c comment below).
5921
5922 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5923
a83fee2c
GM
59242000-10-23 Gerd Moellmann <gerd@gnu.org>
5925
5926 * xterm.c (x_connection_closed): Reset handling_signal.
5927
52283633 5928 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5929
6ffdb539
MB
59302000-10-23 Miles Bader <miles@gnu.org>
5931
5932 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5933 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5934 maintain old behavior.
5935 * minibuf.c (Fminibuffer_complete): Likewise.
5936
7f1c969b
MB
59372000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5938
5939 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5940 that when a font can't be exactly centered, it errs up rather than
5941 down.
5942
23afac01 59432000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5944
52283633 5945 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5946
1a578e9b
AC
59472000-10-23 Andrew Choi <akochoi@i-cable.com>
5948
5949 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5950
5951 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5952 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5953
5954 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5955 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5956 syms_of_search, x_term_init, and init_keyboard before calling
5957 init_window_once. Also, call syms_of_xmenu.
5958
5959 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5960 default fontset to Monaco.
5961
5962 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5963 NewMacWindow and DisposeMacWindow.
5964 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5965 instead of calling NewMacWindow and setting fields of
5966 f->output_data.mac directly. Call init_frame_faces.
5967 (Fdelete_frame) [macintosh]: Remove unused code.
5968 (Fmodify_frame_parameters) [macintosh]: Call
5969 x_set_frame_parameters instead of mac_set_frame_parameters.
5970
5971 * frame.h [macintosh]: Define menu_bar_lines field in struct
5972 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5973
5974 * keyboard.c [macintosh]: Include macterm.h.
5975 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5976 and menu_bar_activate_event type events as for X and NT.
5977 (make_lispy_event) [macintosh]: Construct lisp events of type
5978 MENU_BAR_EVENT as for X and NT.
5979
5980 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5981 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5982 (sys_subshell) [macintosh]: Remove definition entirely.
5983 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5984 Vwindow_system_version here. Remove initialization of
5985 Vx_bitmap_file_path.
5986 (read_input_waiting): Correct the number of parameters passed to
5987 read_socket_hook.
5988 Move all Macintosh functions to mac/mac.c.
5989
5990 * term.c [macintosh]: Include macterm.h.
5991
5992 * window.c [macintosh]: Include macterm.h.
5993
5994 * xdisp.c [macintosh]: Include macterm.h. Declare
5995 set_frame_menubar and pending_menu_activation.
5996 (echo_area_display) [macintosh]: Do not return if terminal frame
5997 is the selected frame.
5998 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5999 Allow only the selected frame to set menu bar.
6000 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
6001 calling FRAME_EXTERNAL_MENU_BAR (f).
6002 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
6003
6004 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
6005 and check_x. Declare XCreateGC. Define x_create_gc and
6006 x_free_gc. Initialize font_sort_order.
6007 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
6008 but call x_list_fonts instead of w32_list_fonts.
6009 (Finternal_face_x_get_resource) [macintosh]: Do not call
6010 display_x_get_resource.
6011 (prepare_face_for_display) [macintosh]: Set xgcv.font.
6012 (realize_x_face) [macintosh]: Load the font if it is specified in
6013 ATTRS.
52283633 6014 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 6015
1ffbabe3
SM
60162000-10-22 Stefan Monnier <monnier@cs.yale.edu>
6017
6018 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
6019 is nil: since we go to the end of submap anyway, we'd end up
6020 setting nil to nil.
6021 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
6022 doesn't obey autoload.
6023
bed43f1d
EZ
60242000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6025
1ffbabe3 6026 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 6027
ea4233a7
JR
60282000-10-21 Jason Rumney <jasonr@gnu.org>
6029
6030 * w32term.c (w32_cache_char_metrics): Double check that font is
6031 really fixed pitch before trusting tmPitchAndFamily.
6032
f3d3c491
AI
60332000-10-21 Andrew Innes <andrewi@gnu.org>
6034
6035 * w32gui.h (w32_char_font_type): Move enum from w32term.c
6036
6037 * w32term.h: Extern decl for w32_cache_char_metrics.
6038
6039 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
6040
6041 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
6042 (w32_unload_font): Free per_char array if present.
6043
6044 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
6045 cached information in emulated XFontStruct to handle common cases
6046 quickly. Do not allocate XCharStruct for return.
6047 (w32_native_per_char_metric): New function.
6048 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
6049 allocating one.
6050 (x_produce_glyphs): Don't get an HDC. Change calls to
6051 w32_per_char_metric to match arg change above. Remove calls to
6052 free results.
6053 (w32_get_glyph_overhangs): Ditto.
6054 (w32_cache_char_metrics): New function.
6055
6056 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6057 ($(BLD)/casefiddle.$(O)): Remove compile command.
6058 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6059 ($(BLD)/dispnew.obj):
6060 ($(BLD)/keyboard.obj):
6061 ($(BLD)/w32inevt.obj):
6062 ($(BLD)/w32bdf.obj):
6063 ($(BLD)/alloc.obj):
6064 ($(BLD)/buffer.obj):
6065 ($(BLD)/editfns.obj):
6066 ($(BLD)/emacs.obj):
6067 ($(BLD)/fileio.obj):
6068 ($(BLD)/fns.obj):
6069 ($(BLD)/indent.obj):
6070 ($(BLD)/insdel.obj):
6071 ($(BLD)/intervals.obj):
6072 ($(BLD)/minibuf.obj):
6073 ($(BLD)/print.obj):
6074 ($(BLD)/scroll.obj):
6075 ($(BLD)/sysdep.obj):
6076 ($(BLD)/textprop.obj):
6077 ($(BLD)/widget.obj):
f3d3c491
AI
6078 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6079 ($(BLD)/term.obj): Add dependency on dispextern.h.
6080
52283633
SM
6081 * makefile.nt ($(BLD)\dispnew.obj):
6082 ($(BLD)\keyboard.obj):
6083 ($(BLD)\w32inevt.obj):
6084 ($(BLD)\w32bdf.obj):
6085 ($(BLD)\alloc.obj):
6086 ($(BLD)\buffer.obj):
6087 ($(BLD)\editfns.obj):
6088 ($(BLD)\emacs.obj):
6089 ($(BLD)\fileio.obj):
6090 ($(BLD)\fns.obj):
6091 ($(BLD)\indent.obj):
6092 ($(BLD)\insdel.obj):
6093 ($(BLD)\intervals.obj):
6094 ($(BLD)\minibuf.obj):
6095 ($(BLD)\print.obj):
6096 ($(BLD)\scroll.obj):
6097 ($(BLD)\sysdep.obj):
6098 ($(BLD)\textprop.obj):
6099 ($(BLD)\widget.obj):
f3d3c491
AI
6100 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6101 ($(BLD)\term.obj): Add dependency on dispextern.h
6102
18ad4821
EZ
61032000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6104
6105 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6106 with an additional argument of Qt.
6107
de54681a
MB
61082000-10-21 Miles Bader <miles@gnu.org>
6109
6110 * window.c (pos_fully_visible_in_window_p): New function.
6111 (Fpos_visible_in_window_p): Add FULLY argument.
6112 Use pos_fully_visible_in_window_p.
6113 (window_scroll_pixel_based, window_scroll_line_based): Update
6114 calls to Fpos_visible_in_window_p.
6115 * lisp.h (Fpos_visible_in_window_p): Update prototype
6116
13c844fb
GM
61172000-10-20 Gerd Moellmann <gerd@gnu.org>
6118
6119 * alloc.c (toplevel): Conditionalize compilation of mem_*
6120 functions differently.
52283633 6121
d9506268
JR
61222000-10-20 Jason Rumney <jasonr@gnu.org>
6123
6124 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6125 mem_init where it used to be. mem_z etc not defined otherwise.
6126
8094989b
GM
61272000-10-20 Gerd Moellmann <gerd@gnu.org>
6128
6129 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6130 GC_MALLOC_CHECK.
6131 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6132 structure definition and related variabled to the top of the file.
6133 Include this code when GC_MALLOC_CHECK is defined.
6134 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6135 register/unregister allocated region.
6136 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6137 which isn't allocated.
6138 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6139 something which is already in use.
6140 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6141 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6142 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6143 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6144
6145 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6146 _malloc_internal instead of malloc.
6147 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6148 of free.
6149
ea456eb4
AI
61502000-10-20 Andrew Innes <andrewi@gnu.org>
6151
6152 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6153 Windows.
6154 (my_strftime) <macro>: Don't use macro arg list when redefining as
6155 _strftime_copytm.
6156 (my_strftime) <function>: Supply 0 as ut argument.
6157
e64c3a75
JR
61582000-10-19 Jason Rumney <jasonr@altavista.net>
6159
6160 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6161 including dispextern.h, as it stops faces from working.
6162
6163 * w32fns.c (Fx_create_frame): Don't bother calling
6164 face-set-after-frame-default since the caller does it for us
6165 anyway. Clean up calls to x_get_arg to be consistent with X.
6166
6167 * w32term.c (x_produce_glyphs): Handle
6168 unibyte_display_via_language_environment correctly.
6169 (w32_draw_box_rect): Fix the calculation of width and height.
6170
6171 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6172 as it has stopped working.
6173 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6174 menu-bar.
6175
17401c97
GM
61762000-10-19 Gerd Moellmann <gerd@gnu.org>
6177
6178 * eval.c (skip_debugger): Prevent a compiler warning.
6179 (Fcondition_case): Likewise.
6180 (Fbacktrace_frame): Use a null interactive spec.
6181
773272d8
KH
61822000-10-19 Kenichi Handa <handa@etl.go.jp>
6183
6184 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6185
a42943e9
GM
61862000-10-18 Gerd Moellmann <gerd@gnu.org>
6187
e50517d9
GM
6188 * strftime.c: Sync with glibc, file version 1.78.
6189 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6190 should no longer be used according to ISO 8601.
6191
9035a35a
GM
6192 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6193 no map for meta_prefix_char, don't try to use it as a keymap.
6194 Instead, if T_OK is non-zero, look up a default binding, if any,
6195 otherwise, if T_OK is zero, return nil.
6196
a42943e9
GM
6197 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6198 (x_to_xcolors, png_load): Use x_query_color.
6199
52283633
SM
6200 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6201 New functions.
a42943e9
GM
6202 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6203 which can be slow.
6204 (x_copy_color, x_alloc_lighter_color): Likewise.
6205
6206 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6207 (x_query_color, x_query_colors): Add prototype.
6208
6209 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6210 check_string_bytes only if not noninteractive, increase count to 50.
6211
00de2987
MB
62122000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6213
6214 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6215 markers correctly.
6216
54918e2b
GM
62172000-10-17 Gerd Moellmann <gerd@gnu.org>
6218
1f0b3fd2
GM
6219 * alloc.c (pure_bytes_used): Renamed from pureptr.
6220 (ALIGN): New macro.
6221 (pure_alloc): New function.
6222 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6223 Use it.
6224 (Fpurecopy): Use PURE_POINTER_P.
6225
68c5d1db
GM
6226 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6227 PT has moved backward.
52283633 6228
9a038881
GM
6229 * xdisp.c (cursor_row_p): Take continued lines into account.
6230
361b097f
GM
6231 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6232 string's size_byte.
6233 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6234 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6235 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6236 string allocated.
6237
54918e2b
GM
6238 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6239 of selective display off while searching for the next line start.
6240
03ed0806
KH
62412000-10-17 Kenichi Handa <handa@etl.go.jp>
6242
6243 * Makefile.in (term.o): Depend on dispextern.h.
6244
7e05cdaf
SM
62452000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6246
6247 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6248
a6801fd1
GM
62492000-10-16 Gerd Moellmann <gerd@gnu.org>
6250
483de32b
GM
6251 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6252 the iterator at the beginning, so that they can be set later on,
6253 for instance in reseat_at_next_visible_line_start, without being
6254 overwritten.
6255
a6801fd1
GM
6256 * xfns.c (pbm_format): Add :foreground and :background keywords.
6257 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6258 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6259
dbf1fcc1
EZ
62602000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6261
6262 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6263
52283633 6264 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6265
6266 * msdos.c (IT_set_face): Compare highlighted face with the default
6267 face, and invert colors if these faces' colors are identical.
6268 (Fmsdos_remember_default_colors): Don't swap foreground and
6269 background colors in initial_colors[].
6270 (IT_set_frame_parameters): Don't swap frame's foreground and
6271 background pixels. If ALIST includes "(reverse . t)", swap
6272 foreground-color and background-color properties in frame's
6273 param_alist. If the original frame's param_alist doesn't specify
6274 the colors, store unspecified-fg and unspecified-bg, reversed if
6275 required.
6276
6277 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6278 the colors are unspecified and reversed, reverse fore- and back-
6279 ground in the returned value.
6280 (Fframe_parameter): Ditto.
6281
b41fe2c3 62822000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6283
3a6b59d9
GM
6284 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6285 get_last_unchanged_at_beg_row.
6286 (find_first_unchanged_at_end_row): Renamed from
6287 get_first_unchanged_at_end_row.
6288 (find_first_unchanged_at_end_row): Convert assertions to
6289 unconditional tests which abort. When looking for a row in
6290 unchanged text, don't go further back than first_text_row.
6291
b41fe2c3
GM
6292 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6293 Don't add in the last line's height when deciding if the new
6294 position is below the scroll margin.
9d1af64f 6295
b41fe2c3 62962000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6297
6298 * editfns.c (Fconstrain_to_field): Check carefully for field
6299 boundaries if either OLD_POS or NEW_POS has a non-nil field
6300 property, even if they're the same.
6301
c412cb7b
KH
63022000-10-16 Kenichi Handa <handa@etl.go.jp>
6303
6304 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6305 height for XFillRectangle.
6306
5586f3eb
SM
63072000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6308
6309 * syntax.c (Fstring_to_syntax): New function extracted from
6310 Fmodify_syntax_entry.
6311 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6312 (skip_chars, Fforward_comment): Remove unused variables.
6313 (syms_of_syntax): Add defsubr for string-to-syntax.
6314 (describe_syntax): Add code for comment and string fences.
6315
db785038
SM
63162000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6317
6318 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6319 Do the meta->esc mapping. Call get_keyelt before returning.
6320 Start scanning from the second element (the first is always `keymap')
6321 to make it easier to detect when we reach a parent map.
6322 Handle the case of inheriting from a symbol whose function is a map.
6323 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6324 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6325 (get_keyelt, Flookup_key): Update call to access_keymap.
6326 Remove the meta->esc mappings.
6327 (define_as_prefix): Delete old disabled code.
6328 (menu_item_p): New function.
6329 (where_is_internal_1): Skip over the few remaining menu items.
6330 * lisp.h (access_keymap): Update prototype.
6331 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6332 Update call to access_keymap.
6333 (follow_key, read_key_sequence): Update calls to access_keymap.
6334 Remove the meta->esc mappings.
6335
cafafe0b
GM
63362000-10-13 Gerd Moellmann <gerd@gnu.org>
6337
a2e2a7f6
GM
6338 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6339 with additional argument.
6340
cafafe0b
GM
6341 * xdisp.c (cursor_row_p): New function.
6342 (try_cursor_movement, display_line): Use it.
52283633 6343
cafafe0b
GM
6344 * xdisp.c (append_space): Also save/restore iterator's current
6345 character and its length.
6346
6347 * xdisp.c (init_from_display_pos): Add an assertion.
6348 (handle_stop): Don't set iterator's add_overlay_start.
6349 (handle_invisible_prop): Likewise.
6350 (load_overlay_strings): If text under an overlay is invisible,
6351 take both before- and after-strings into account when the iterator
6352 is positioned either at the start or at the end of the overlay.
6353 (forward_to_next_line_start): Rewritten.
6354 (reseat_at_next_visible_line_start): Rewritten.
6355 (set_iterator_to_next): Add parameter RESEAT_P.
6356
6357 * dispextern.h (struct it): Remove member add_overlay_start.
6358 (set_iterator_to_next): Change prototype.
6359
c744452b
KH
63602000-10-13 Kenichi Handa <handa@etl.go.jp>
6361
6362 * coding.c (code_convert_region): Be sure to initialize
6363 coding->category_idx.
e4a3f4e1
KH
6364 (decode_coding_string): Set coding->src_multibyte and
6365 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6366 (encode_coding_string): Set coding->src_multibyte and
6367 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6368
321fd26f
SM
63692000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6370
6371 * xfns.c (Fx_create_frame): Don't bother calling
6372 face-set-after-frame-default since the caller does it for us anyway.
6373
76832439
EZ
63742000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6375
6376 * window.c (coordinates_in_window): Fix detection of vertical line
6377 on character terminals.
6378
2483cf58
GM
63792000-10-12 Gerd Moellmann <gerd@gnu.org>
6380
6381 * editfns.c (save_excursion_save): Additionally record the
6382 selected window.
6383 (save_excursion_restore): If buffer was visible in a window, and a
6384 different window was selected, and the old selected window is
6385 still live, restore point in that window.
6386
eb991b25
KH
63872000-10-12 Kenichi Handa <handa@etl.go.jp>
6388
8a0eba09
KH
6389 * xterm.c (x_produce_glyphs): Handle
6390 unibyte_display_via_language_environment correctly.
6391
20401fcc
KH
6392 * regex.c (regex_compile): Change the way of handling a range from
6393 unibyte char to multibyte char.
6394
6395 * syntax.c (skip_chars): Change the way of handling a range from
6396 unibyte char to multibyte char.
6397
eb991b25
KH
6398 * process.c (read_process_output): Cancel previous change.
6399
365dd325
EZ
64002000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6401
c1b096cb
EZ
6402 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6403
365dd325
EZ
6404 * charset.c (Ffind_charset_string): Doc fix.
6405 (Ffind_charset_region): Doc fix.
6406
eb483c2b
KH
64072000-10-11 Kenichi Handa <handa@mule.m17n.org>
6408
6409 * process.c (read_process_output): Fix previous change. Adjust
6410 multibyteness of text to insert in a buffer by
52283633 6411 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6412
b40bfb99
AS
64132000-10-10 Andreas Schwab <schwab@suse.de>
6414
6415 * alloc.c (mark_object): Remove all workarounds installed on
6416 1993-08-08.
6417
caff31d4
KH
64182000-10-10 Kenichi Handa <handa@etl.go.jp>
6419
52283633 6420 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6421 (base64_encode_1): Make it work for a text of multibyte form.
6422 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6423 case. Don't call str_to_multibyte because base64_decode_1
6424 produces correct multibyte form for eight-bit codes.
52283633 6425 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6426 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6427 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6428 codes.
6429
6430 * charset.h (CHAR_STRING): Optimized for single byte characters.
6431
cba026ef
AS
64322000-10-09 Andreas Schwab <schwab@suse.de>
6433
6434 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6435 -1 after socket is closed, to fall through to error processing.
6436
1e21fe48
EZ
64372000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6438
6439 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6440 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6441 background-color, change also the colors of the default face for
6442 this frame.
6443
a640322e
EZ
64442000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6445
6446 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6447 them extern (they are defined on xfaces.c).
6448 (syms_of_msdos): Don't intern and don't staticpro
6449 Qbackground_color and Qforeground_color.
6450
a115794c
EZ
64512000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6452
6453 * frame.c (Fframe_parameter): For non-windowed frames, if
6454 f->param_alist says foreground or background color is unspecified,
6455 call tty_color_name to return the color name computed from the
6456 frame's current colors.
6457
f5533b63
DL
64582000-10-06 Dave Love <fx@gnu.org>
6459
6460 * terminfo.c (ospeed): Don't declare.
6461
6462 * sysdep.c: Don't include string.h.
6463 (h_errno): Declare conditional also on TRY_AGAIN.
6464
6465 * charset.c (Ffind_charset_string): Doc fix.
6466
52283633 6467 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6468 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6469 error messages.
6470
2b06561a
DL
64712000-10-05 Dave Love <fx@gnu.org>
6472
6473 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6474 position like menu-bar.
6475
ca839c85
GM
64762000-10-05 Gerd Moellmann <gerd@gnu.org>
6477
6478 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6479
6480 * xdisp.c (handle_single_display_prop): Use safe_call1.
6481 (safe_call): Renamed from call_function.
6482 (safe_call1): New function.
6483 (handle_fontified_prop): Use safe_call1 instead of call1.
6484 (safe_eval): Renamed from eval_form.
6485 (safe_eval_handler): Renamed from eval_handler.
6486 (handle_single_display_prop, display_mode_element): Use safe_eval
6487 instead of eval_form.
6488
6489 * xfaces.c (merge_face_heights): Use safe_call instead of
6490 call_function.
6491
6492 * keyboard.c (show_help_echo): Use safe_call instead of
6493 call_function; use safe_eval instead of eval_form.
6494
6495 * lisp.h (safe_call): Renamed from call_function.
6496 (safe_eval): Renamed from eval_form.
6497 (safe_call1): Add prototype.
6498
a3489ece
MB
64992000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6500
6501 * xfns.c (image_ascent): Rearrange ascent calculation for the
6502 has-a-font case.
6503
35810b6f
SM
65042000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6505
6506 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6507 (where_is_internal_1): Don't bother ignoring menu-items any more.
6508
3dc78168
GM
65092000-10-04 Gerd Moellmann <gerd@gnu.org>
6510
6511 * keyboard.c (update_menu_bindings): New variable.
6512 (parse_menu_item): Use AREF. If update_menu_bindings
6513 is 0, don't update menu bindings.
6514 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6515
1efc2bb9
EZ
65162000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6517
6518 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6519 to `mark_object'.
6520
3f679f55
SM
65212000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6522
6523 * syntax.c (forw_comment): Match nestedness of ender/starter.
6524 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6525 (prev_char_comstart_first): Remove.
6526 (back_comment): Check two-char comment markers more carefully
6527 to better handle overlapping cases like *//* or /* */* */ ...
6528 Match nestedness of ender/starter.
6529
2021ab61
DL
65302000-10-02 Dave Love <fx@gnu.org>
6531
6532 * config.in (HAVE_GAI_STRERROR): Add undef.
6533
6534 * process.c (Fopen_network_stream): Use it.
6535
6536 * m/alpha.h (NO_REMAP): Don't define.
6537
64e6cc18
GM
65382000-10-02 Gerd Moellmann <gerd@gnu.org>
6539
6540 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6541 return with a string converted to an integer or vice versa when
6542 Vmocklisp_arguments is t.
6543 (Fsignal): Likewise. The function can return for `quit'.
6544 (struct gcpro): Declare member `var' to point to a volatile
6545 Lisp_Object.
6546
6547 * eval.c (error): Prevent compiler warning.
6548
b1904cd9
SM
65492000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6550
6551 * keymap.c (keymap_memberp): New function.
6552 (Fset_keymap_parent): Use it.
6553 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6554 Use keymap_memberp to avoid creating cycles.
6555 (access_keymap): Use KEYMAPP.
6556
71c9ec51
GM
65572000-09-30 Gerd Moellmann <gerd@gnu.org>
6558
6559 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6560 gai_strerror. Make sure xerrno is set if connect fails. Improve
6561 error recovery.
71c9ec51 6562
c70c6b58
JR
65632000-09-29 Jason Rumney <jasonr@gnu.org>
6564
6565 * w32term.c (w32_char_font_type, w32_encode_char)
6566 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6567 (w32_bdf_per_char_metric): New function.
6568 (w32_per_char_metric): Use it.
6569 (x_draw_glyph_string_background): Always draw background for BDF
6570 glyphs.
6571
6572 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6573 GDI object which is a scarce resource.
6574
6575 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6576 (get_quoted_string): Fix limit on memchr search.
6577 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6578 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6579 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6580 (get_cached_font_char, cache_char_offset): Use macro
6581 BDF_CODEPOINT_RANGE_COVER_P.
6582 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6583 (clear_cached_bitmap_slots): New function.
6584 (GET_HEX_VALUE): G-Z, g-z are not hex.
6585 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6586 (get_bitmap_with_cache): Use new cache implementation.
6587 (create_offscreen_bitmap): New function.
6588 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6589
6590 * w32term.c (x_produce_glyphs): If the distance from the current
6591 position to the next tab stop is less than a canonical character
6592 width, use the tab stop after that.
6593 (x_draw_glyphs): Handle case START and END are out of bounds more
6594 carefully.
6595 (x_clear_mouse_face): Block/unblock input.
6596 (x_display_and_set_cursor): Don't show a hollow box cursor for
6597 buffers whose cursor_type is nil.
6598
fe01239f
GM
65992000-09-29 Gerd Moellmann <gerd@gnu.org>
6600
52283633 6601 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6602
6603 * dispextern.h (updating_frame): Declare extern.
6604
e7c52f1f
AS
66052000-09-29 Andreas Schwab <schwab@suse.de>
6606
6607 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6608
de6e1f7c
GM
66092000-09-29 Gerd Moellmann <gerd@gnu.org>
6610
25126faa
GM
6611 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6612 use its function definition.
6613 (tool_bar_items): Likewise.
6614
de6e1f7c 6615 * lisp.h (fatal): Declare NO_RETURN.
52283633 6616
454ee39b
KH
66172000-09-29 Kenichi Handa <handa@etl.go.jp>
6618
6619 * keymap.c: Remove the line "#undef NULL".
6620
96301c5f
GM
66212000-09-28 Gerd Moellmann <gerd@gnu.org>
6622
52283633 6623 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6624
efffeeb4
DL
66252000-09-28 Dave Love <fx@gnu.org>
6626
ecb8b666
DL
6627 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6628
dc3cd20f
DL
6629 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6630
6631 * .gdbinit (xreload): Note its need on GNU/Linux.
6632
efffeeb4
DL
6633 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6634 r_alloc, r_alloc_free.
6635
8610d903
KH
66362000-09-28 Kenichi Handa <handa@etl.go.jp>
6637
6638 * syntax.c (skip_chars): Handle negation correctly.
6639
8901d1ac
GM
66402000-09-27 Gerd Moellmann <gerd@gnu.org>
6641
6f22f1ad
GM
6642 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6643 with non-zero FORCE_P argument.
6644
52283633 6645 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6646 Add assertions.
6647
6648 * xdisp.c (window_box_height): Add an assertion.
6649
6650 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6651 tool-bar than is available.
6652 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6653
36f1966f
DL
66542000-09-27 Dave Love <fx@gnu.org>
6655
efffeeb4 6656 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6657
31d929e5
GM
66582000-09-26 Gerd Moellmann <gerd@gnu.org>
6659
c98863bf
GM
6660 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6661 instead of BITS_PER_INT.
6662 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6663 EMACS_UINT, respectively.
6664 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6665
6666 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6667
6668 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6669
77072ab1
GM
6670 * window.c (freeze_window_starts): Construct last argument for
6671 foreach_window differently.
6672
6673 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6674
6675 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6676 EMACS_UINT instead of `int' and `unsigned int'.
6677 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6678
6679 * frame.h (struct frame): Make the `nothing' member of union
6680 output_data an EMACS_INT.
6681
52283633 6682 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6683 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6684 size in the sdata structure.
6685 (SDATA_NBYTES, SDATA_DATA): New macros.
6686 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6687 differently for the different layout of the sdata structure.
6688 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6689 in sdata.
6690 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6691 Check that size recorded in the string size and size recorded in
6692 the sdata structure agree.
6693
3e60b029
DL
66942000-09-25 Dave Love <fx@gnu.org>
6695
6696 * buffer.c: Include stdio.h.
6697
6698 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6699
3e60b029
DL
6700 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6701
6702 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6703 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6704 (__malloc_extra_blocks): Declare as __malloc_size_t.
6705
8ff16b4e
GM
67062000-09-25 Gerd Moellmann <gerd@gnu.org>
6707
755a2ccd
GM
6708 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6709
d8b4516f
GM
6710 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6711 (read_char): If help-echo is showing, preserve the echo area
6712 when redisplaying.
6713
6714 * xdisp.c (help_echo_showing_p): New variable.
6715 (set_message): Reset it to 0.
6716 (init_xdisp): Initialize help_echo_showing_p.
6717
6718 * dispextern.h (help_echo_showing_p): Declare extern.
6719
6720 * config.in: Fix typo in __GNUC_MINOR__.
6721
6722 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6723
b11af2dd
GM
6724 * s/freebsd.h (POSIX_SIGNALS): Define.
6725
8ff16b4e
GM
6726 * xterm.c (x_clear_mouse_face): Block/unblock input.
6727
844eb643
DL
67282000-09-24 Dave Love <fx@gnu.org>
6729
6730 * fns.c (base64_encode_1): Fix last change.
6731
b30ab1b3
GM
67322000-09-22 Gerd Moellmann <gerd@gnu.org>
6733
6734 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6735
6736 * xdisp.c (try_window_reusing_current_matrix): More fixes
6737 for the case window has a header-line.
6738
c6cbe5f0
DL
67392000-09-22 Dave Love <fx@gnu.org>
6740
4c7c1f3f
DL
6741 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6742 a doc string.
6743
6744 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6745
c6cbe5f0
DL
6746 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6747
550a625e
GM
67482000-09-21 Gerd Moellmann <gerd@gnu.org>
6749
4c7c1f3f 6750 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6751 for GCC >= 2.5.
6752
52283633
SM
6753 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6754 Declare NO_RETURN.
fca99116 6755
80d26f99
GM
6756 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6757 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6758 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6759 warnings.
52283633 6760
80d26f99
GM
6761 * marker.c (byte_char_debug_check): Return void.
6762
623a0aae
GM
6763 * xfns.c (Fx_create_frame): Set default frame parameter value
6764 for tool-bar-lines to 1.
6765
6766 * dispnew.c (scrolling_window): Compare y-positions of rows
6767 equal at the start. Some simplification.
6768
6769 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6770 reused rows' y-position in the case window has a header-line, and
6771 new window start is greater than old window start.
6772
42ac0ae5
GM
6773 * process.c (process_sent_to): New variable.
6774 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6775 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6776 Declare more parameters volatile.
6777
550a625e
GM
6778 * lread.c (Vrecursive_load_depth_limit): New variable.
6779 (Fload): Check recursive loads whose recursion depth exceeds
6780 Vrecursive_load_depth_limit.
6781 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6782
8320414c
GM
67832000-09-20 Gerd Moellmann <gerd@gnu.org>
6784
f46c275e
GM
6785 * fileio.c (Fread_file_name): Doc fix.
6786
6787 * editfns.c (Fmessage_or_box): Doc fix.
6788
6789 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6790
b7e11c5b 6791 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6792
8320414c
GM
6793 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6794 symbols are specified, add color translations to the cache.
52283633 6795 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6796 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6797 xpm_cache_color.
6798 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6799 structures to xpm_init_color_cache.
6800
da1608d9
GM
68012000-09-19 Gerd Moellmann <gerd@gnu.org>
6802
52283633 6803 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6804
6badfa25
AI
68052000-09-19 Andrew Innes <andrewi@gnu.org>
6806
6807 * makefile.nt (bootstrap-emacs): Don't change directory.
6808
3a5f42bb
KH
68092000-09-19 Kenichi Handa <handa@etl.go.jp>
6810
1b7649bd
KH
6811 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6812
3a5f42bb
KH
6813 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6814 If output buffer is too small, signal an appropriated error.
6815
9f83cf0b
DL
68162000-09-18 Dave Love <fx@gnu.org>
6817
52283633 6818 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6819 (current_active_maps): Remove redundant get_local_map call.
6820
28c7826c
GM
68212000-09-18 Gerd Moellmann <gerd@gnu.org>
6822
5cefa566
GM
6823 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6824 cursor for buffers whose cursor_type is nil.
52283633 6825
6fed3546
GM
6826 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6827 a feature to implement that is already implemented.
6828 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6829 warnings.
6830
6831 * xfns.c (x_clear_image_1): New function.
6832 (x_clear_image): Use it.
52283633 6833 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6834
05b1f851
GM
6835 * dispnew.c (update_window): Move test for invisible lines
6836 at the top to update_window_line.
6837 (update_window_line): Handle invisible lines here.
6838
f4779de9
GM
6839 * xfns.c (clear_image_cache): Clear current matrices of all
6840 frames sharing an image cache. Block input while freeing
6841 images. Fix timestamp comparison.
6842 (x_clear_image): Also free the mask.
6843
28c7826c
GM
6844 * xfns.c (lookup_image): Block input while loading the image so
6845 that we won't get interrupted in a state where the image isn't yet
6846 set up completely.
6847 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6848 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6849 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6850 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6851
b7412313
GM
68522000-09-16 Gerd Moellmann <gerd@gnu.org>
6853
6854 * dispnew.c (update_window): Make sure to make desired rows
6855 current even if they are completely invisible at the top
6856 of a window.
6857
47e351a3
GM
68582000-09-15 Gerd Moellmann <gerd@gnu.org>
6859
7f8f1edc
GM
6860 * xfns.c (lookup_image): Build mask before applying an algorithm.
6861 Recognize algorithm `disabled'.
6862 (cross_disabled_images): New variable.
6863 (COLOR_INTENSITY): New macro.
6864 (x_detect_edges): Use COLOR_INTENSITY.
6865 (x_disable_image): New function.
6866 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6867
6868 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6869 disabled state, don't apply an image transformation algorithm if
6870 the user specified an image for the disabled state. Use
28c7826c 6871 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6872 user hasn't specified an image.
6873
ebb8f116
GM
6874 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6875 allocation functions with the XPM lib.
6876 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6877 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6878 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6879 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6880 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6881 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6882 functions, if possible, because these handle color allocation
6883 failure more gracefully.
6884 (Fimage_mask_p): New function.
6885
47e351a3
GM
6886 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6887 (Qedge_detection, Qheuristic): New symbols.
6888 (syms_of_xfns): Initialize new symbols.
6889 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6890 `algorithm (edge-detection ...)'.
6891 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6892 (tiff_format, gif_format, gs_format): Add `:mask'.
6893 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6894 (GIF_MASK, GS_MASK): New enumerators.
6895 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6896 (emboss_matrix, laplace_matrix): New variables.
6897 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6898 (x_edge_detection): New functions.
6899 (x_laplace): Rewritten in terms of x_detect_edges.
6900 (x_build_heuristic_mask): If image has a mask, free it.
6901
fe83b953
AI
69022000-09-14 Andrew Innes <andrewi@gnu.org>
6903
6904 * makefile.w32-in: Revert to Unix line endings.
6905
3021e816
AI
69062000-09-14 Andrew Innes <andrewi@gnu.org>
6907
6908 * makefile.w32-in: Standardize indentation somewhat.
6909 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6910 cater for differences between shells.
6911
6912 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6913
2a32b5ea
GM
69142000-09-14 Gerd Moellmann <gerd@gnu.org>
6915
6916 * xterm.c (x_produce_glyphs): If the distance from the current
6917 position to the next tab stop is less than a canonical character
6918 width, use the tab stop after that.
6919
b4331e96
DL
69202000-09-14 Dave Love <fx@gnu.org>
6921
6922 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6923
ef9e4345
GM
69242000-09-14 Gerd Moellmann <gerd@gnu.org>
6925
085536c2
GM
6926 * xdisp.c (handle_fontified_prop): While running fontification
6927 functions, bind `fontification-functions' and
6928 `after-change-functions' to nil.
6929
ef9e4345
GM
6930 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6931 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6932
6933 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6934
6935 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6936 USE_MMAP_FOR_BUFFERS.
6937
6938 * insdel.c (make_gap): Use enlarge_buffer_text.
6939
6940 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6941 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6942 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6943 from former r_alloc_* functions in ralloc.c.
52283633 6944 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6945 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6946 (mmap_init) [REL_ALLOC_MMAP]: New function.
6947 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6948 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6949 BUFFER_FREE.
6950
6951 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6952 (enlarge_buffer_text): Add prototype.
6953
6954 * ralloc.c: Remove everything having to do with the use of mmap.
6955
f8608968
GM
69562000-09-13 Gerd Moellmann <gerd@gnu.org>
6957
2a494b2d
GM
6958 * sound.c (Fplay_sound): Doc fix.
6959
8c907a56
GM
6960 * keyboard.c: Avoid some more compiler warnings.
6961 (parse_tool_bar_item): Ignore cached key bindings.
6962
f8608968
GM
6963 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6964 and allocation of Lisp data.
6965
6ab70e9a
GM
69662000-09-12 Gerd Moellmann <gerd@gnu.org>
6967
d12d0a9b
GM
6968 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6969 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6970 defaults first.
6971
6ab70e9a
GM
6972 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6973
63c36c3c
KH
69742000-09-12 Miyashita Hisashi <himi@meadowy.org>
6975
6976 * ccl.c: Comment fixed.
6977 (MAX_MAP_SET_LEVEL): Increased to 30.
6978 (PUSH_MAPPING_STACK): Enclose with do-while block.
6979 (POP_MAPPING_STACK): Likewise.
6980 (stack_idx_of_map_multiple): New variable.
6981 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6982 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6983 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6984 (ccl_driver) <CCL_MapSingle>: Likewise.
6985 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6986 with the case where looking up process reaches to the end of
6987 map-set, and call CCL programs as the above change.
6988
7ee3bd7b
GM
69892000-09-11 Gerd Moellmann <gerd@gnu.org>
6990
8ec8a5ec
GM
6991 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6992 that might be clobbered by longjmp.
6993 (check_x_display_info, x_decode_color, create_frame_xic)
6994 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6995 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6996
f74b0705
GM
6997 * lread.c (init_lread): Set Vloads_in_progress to nil.
6998 (Fload): Show list of recursively loaded files, when signaling an
6999 error.
7000
7ee3bd7b
GM
7001 * lread.c (Vloads_in_progress): New variable.
7002 (record_load_unwind): New function.
7003 (Fload): Check for recursive loads.
7004 (syms_of_lread): Initialize Vloads_in_progress.
7005 (read_integer, read1): Avoid some compiler warnings.
7006
7007 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
7008 compiler warnings.
7009
974e1e5b
MB
70102000-09-11 Miles Bader <miles@gnu.org>
7011
7012 * editfns.c (Fbuffer_string): Doc fix.
7013
9824c4e3
GM
70142000-09-10 Gerd Moellmann <gerd@gnu.org>
7015
7016 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
7017
6a72fdd1
KR
70182000-09-09 Ken Raeburn <raeburn@gnu.org>
7019
7020 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
7021 whether to include other header files.
7022
28e6fb66
GM
70232000-09-09 Gerd Moellmann <gerd@gnu.org>
7024
52283633 7025 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 7026 by Fmemq as a boolean.
28e6fb66 7027
7f8b6551
SM
70282000-09-08 Stefan Monnier <monnier@cs.yale.edu>
7029
7030 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
7031
a8710abf
GM
70322000-09-08 Gerd Moellmann <gerd@gnu.org>
7033
d1a02881
GM
7034 * ralloc.c (mmap_fd): Remove initializer which can make it
7035 read-only in a dumped Emacs.
7036 (mmap_fd_1): New variable.
7037 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
7038 restore it from there.
7039 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
7040 unconditionally so that mmap_fd can be initialized there.
7041 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
7042 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
7043 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
7044
c454aac1
GM
7045 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
7046
7047 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 7048 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 7049
fc653ef2
GM
7050 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7051
3015eec0
GM
7052 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7053 inheritance.
7054
bfe0ee88
GM
7055 * xdisp.c (try_window_id): When trying to locate cursor in
7056 unchanged rows at the top, handle the case that we can't find it.
7057
a8710abf
GM
7058 * xterm.c (x_draw_glyphs): Handle case START and END are out
7059 of bounds more carefully.
7060
6b7d4ae4
DL
70612000-09-08 Dave Love <fx@gnu.org>
7062
423193c5
DL
7063 * s/sol2.h (REL_ALLOC_MMAP): Define.
7064 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7065
7066 * ralloc.c: Don't include string.h (redundant).
7067 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7068 [!MAP_ANON]: Include fcntl.h.
7069 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7070 (r_alloc, r_re_alloc, r_alloc_free)
7071 (mmap_enlarge, mmap_set_vars): Use it.
7072 (r_alloc_init_fd): New function.
7073 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7074 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7075 malloc type.
7076
7077 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7078 Remove vm-limit.o.
7079
6b7d4ae4
DL
7080 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7081 change to __NetBSD__.
7082
44d31981
KH
70832000-09-08 Kenichi Handa <handa@etl.go.jp>
7084
7085 * search.c (compile_pattern): Check the multibyteness of cached
7086 string and PATTERN.
7087
aad40737
MB
70882000-09-08 Miles Bader <miles@gnu.org>
7089
7090 * xfaces.c (default_face_vector): Function removed.
7091 (Finternal_merge_in_global_face): Restore old global/local
7092 attribute override order. Use inline loop instead of calling
7093 default_face_vector.
7094
91a211b5
GM
70952000-09-07 Gerd Moellmann <gerd@gnu.org>
7096
7097 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7098 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7099 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7100 where necessary, in case POINTER_TYPE is `void'.
7101
03419440
EZ
71022000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7103
7104 * frame.c (make_terminal_frame): Initialize frame foreground and
7105 background colors to unspecified, for the initial instance of an
7106 MSDOS frame.
7107
f46f845b
GM
71082000-09-07 Gerd Moellmann <gerd@gnu.org>
7109
24f76fbf
GM
7110 * ralloc.c (mmap_find): Fix overlap computation.
7111 (mmap_enlarge): Compute nbytes before trying to find an
7112 overlapping region.
7113
f46f845b
GM
7114 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7115 instead of `!='.
7116
7117 * lread.c (syms_of_lread): Change value of regexp
7118 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7119
7120 * xmenu.c (xdialog_show): When looking up the selection in
7121 menu_items, take `quote' boundaries into account; this corresponds
7122 to a nil ITEM in x-popup-dialog.
7123
3c014385
KH
71242000-09-07 Kenichi Handa <handa@etl.go.jp>
7125
fd6f711b
KH
7126 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7127 not 0x81.
7128 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7129
3c014385 7130 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7131 encoding, not decoding. Fix the handling of latin-jisx0201.
7132 Check for the charset katakana-jisx0201 too.
3c014385 7133 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7134 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7135
0da3ecef
GM
71362000-09-07 Gerd Moellmann <gerd@gnu.org>
7137
ab0ee409
GM
7138 * xfaces.c (Vparam_value_alist): New variable.
7139 (syms_of_xfaces): Initialize it.
7140 (Finternal_set_lisp_face_attribute): Avoid more consing.
7141
7142 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7143 specially.
7144 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7145 (Qbackground_mode): New variable.
7146 (syms_of_frame_1): Initialize Qbackground_mode.
7147
7148 * lisp.h (Qdisplay): Declare extern.
1091dd67 7149
0da3ecef
GM
7150 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7151 change face on all frames, and change the default for new frames.
7152
b14654b9
DL
71532000-09-07 Dave Love <fx@gnu.org>
7154
7155 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7156
d24fd56f
KH
71572000-09-07 Kenichi Handa <handa@etl.go.jp>
7158
794f3670
KH
7159 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7160
0fddd0dc
KH
7161 * charset.c: Include composite.h
7162 (lisp_string_width): New function.
7163 (Fstring_width): Call lisp_string_width instead of strwidth.
7164
7165 * Makefile.in (charset.o): Depends on composite.h.
7166
d24fd56f
KH
7167 * process.c (read_process_output): Before inserting the decoded
7168 text in the buffer, adjust the multibyteness.
7169
fa0b693c
GM
71702000-09-06 Gerd Moellmann <gerd@gnu.org>
7171
52283633 7172 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7173 buffer's text buffer is null, map new memory.
7174
0a58f946
GM
7175 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7176 POINTER_TYPE and size_t.
7177 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7178 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7179 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7180 [REL_ALLOC_MMAP]: New macros.
7181 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7182 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7183 [REL_ALLOC_MMAP]: New functions.
7184
7185 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7186 before and after unexec.
7187
7188 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7189 text buffers if necessary.
7190
7191 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7192 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7193 in prototypes.
7194
fa0b693c
GM
7195 * config.in (HAVE_MMAP): Add #undef.
7196
877055f6
GM
71972000-09-05 Gerd Moellmann <gerd@gnu.org>
7198
08ba3862
GM
7199 * frame.c (Qdisplay_type): New variable.
7200 (syms_of_frame_1): Initialize it.
7201 (Fframe_parameter): New function that avoids consing.
7202 (syms_of_frame): Defsubr it.
7203
66ffe51c
GM
7204 * buffer.c (Fother_buffer): Consider buffers as invisible when
7205 they are displayed in a window on an invisible frame.
7206
877055f6
GM
7207 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7208 get-largest-window always return nil.
7209
bb970e67
GM
72102000-09-04 Gerd Moellmann <gerd@gnu.org>
7211
7212 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7213 variable; recognize Emacs 19 elc files.
7214
7a3d0e0e
MB
72152000-09-04 Miles Bader <miles@gnu.org>
7216
7217 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7218 before initially popping up the menu, so the menu doesn't flash
52283633 7219 when the face settings are significantly different from the defaults.
7a3d0e0e 7220
14473664
SM
72212000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7222
7223 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7224 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7225 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7226 (BIT_UNIBYTE): Remove.
7227 (re_match_2_internal): Delete corresponding code and streamline the
7228 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7229 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7230 (re_wctype_t): New type.
7231 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7232 (regex_compile): Use them and fix handling of overly long char classes.
7233
c1174479
AI
72342000-09-03 Andrew Innes <andrewi@gnu.org>
7235
f8803e97
AI
7236 * makefile.w32-in: Change to DOS line endings.
7237
c1174479
AI
7238 * s/ms-w32.h (ORDINARY_LINK): New define.
7239
7240 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7241 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7242
7243 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7244 (distclean): Delete them here instead.
7245
44ef7cf6
AI
7246 * w32proc.c (compare_env): Convert to uppercase for comparison,
7247 not lowercase, to match how the native Windows shell works.
7248
49b3bd82
JR
72492000-09-03 Jason Rumney <jasonr@gnu.org>
7250
7251 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7252 CVS changes the line-ends when checking in/out on DOS/Windows.
7253
7254 * makefile.nt (emacs): Do not change directory to run temacs, as
7255 the load-path is set relative to current directory.
7256
a3d35a39
MB
72572000-09-03 Miles Bader <miles@gnu.org>
7258
7259 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7260
d276b0cf
GM
72612000-09-02 Gerd Moellmann <gerd@gnu.org>
7262
715e84c9
GM
7263 * xdisp.c (redisplay_mode_lines): New function.
7264 (display_mode_lines): Return number of mode lines displayed.
7265 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7266 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7267
8892f40b
GM
7268 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7269 string.h and strings.h.
7270 (index) [HAVE_INDEX]: Add prototype.
7271
d276b0cf
GM
7272 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7273 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7274
7275 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7276 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7277
38404229
GM
72782000-09-01 Gerd Moellmann <gerd@gnu.org>
7279
7280 * lread.c (read1): Accept `?' as symbol constituent, for
7281 compatiblity with XEmacs.
7282
c0f9ea08
SM
72832000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7284
7285 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7286 (struct re_pattern_buffer): Remove newline_anchor.
7287 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7288 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7289 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7290 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7291 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7292 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7293 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7294 Get rid of references to newline_anchor.
7295 (regcomp): Allocate and precompute a fastmap.
7296
8c0f83fe
GM
72972000-08-31 Gerd Moellmann <gerd@gnu.org>
7298
7299 * lread.c (openp): GCPRO local variable `filename'.
7300
4bb91c68
SM
73012000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7302
7303 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7304
7305 * regex.c: Merge some changes from GNU libc. Add prototypes.
7306 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7307 Use memcmp and memcpy instead of bcopy and bcmp.
7308 (init_syntax_once): Use ISALNUM.
7309 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7310 (REG_UNSET_VALUE): Remove. Use NULL instead.
7311 (REG_UNSET, re_match_2_internal): Use NULL.
7312 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7313 New macros.
7314 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7315 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7316 (regex_compile): In handle_interval, return an error rather than try to
7317 unfetch the interval if we can't find the closing brace.
7318 Obey the RE_NO_GNU_OPS syntax bit.
7319 (TOLOWER): New macro.
7320 (regcomp): Use it.
7321 (regexec): Allocate regs.start and regs.end as one block.
7322
5226a931
GM
73232000-08-30 Gerd Moellmann <gerd@gnu.org>
7324
868dd24b
GM
7325 * xdisp.c (echo_area_display): Check display_completed instead
7326 of calling detect_input_pending.
7327
7328 * dispnew.c (update_frame): Only set display_completed here; move
7329 the update_begin and update_end calls here from update_frame_1.
7330 (update_frame_1): Don't set display_completed here, don't call
7331 update_begin/update_end.
7332
5226a931
GM
7333 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7334 instead of store_frame_param.
7335
2a8bd25f
GM
73362000-08-29 Gerd Moellmann <gerd@gnu.org>
7337
7338 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7339 desired window matrix hasn't been displayed, use the current row
7340 instead. Make sure that only those frame rows are updated for
7341 which there exists a corresponding enabled desired row.
52283633 7342
ba3478d9
MB
73432000-08-29 Miles Bader <miles@gnu.org>
7344
7345 * xfaces.c (default_face_vector): New function.
7346 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7347
87d0f685
GM
73482000-08-29 Gerd Moellmann <gerd@gnu.org>
7349
7350 * lread.c (openp): Prevent temporary string passed to
7351 Ffile_readable_p from being garbage collected.
7352
6fa86045
DL
73532000-08-28 Dave Love <fx@gnu.org>
7354
7355 * keymap.c (store_in_keymap): Add `static' to declaration.
7356
bb17930d
GM
73572000-08-28 Gerd Moellmann <gerd@gnu.org>
7358
7359 * emacs.c, callint.c, doc.c, editfns.c
7360 (toplevel) [HAVE_STRING_H]: Include string.h.
7361 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7362 (index): Remove prototypes which might conflict with non-standard
7363 definitions of index/strchr.
7364
7365 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7366 (rindex): Define only if !HAVE_RINDEX.
7367
7368 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7369
7370 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7371
87188200
MB
73722000-08-28 Miles Bader <miles@gnu.org>
7373
7374 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7375 made inconsistent by a font-related attribute in FROM.
7376 (merge_face_inheritance): Add function comment.
7377
41a68aef
KH
73782000-08-28 Kenichi Handa <handa@etl.go.jp>
7379
7380 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7381 the 4th arg (PREV_EVENT) Qt to suppress input method.
7382
f7c436c1
SM
73832000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7384
0b32bf0e
SM
7385 * regex.c: Indent cpp directives and remove parens after `defined'.
7386 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7387 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7388 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7389 (re_compile_pattern): Use size_t for length.
7390 (init_syntax_once): Move to a better place.
7391 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7392 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7393
f7c436c1
SM
7394 * syntax.c (back_comment): Detect cases where a comment-starter is
7395 actually inside another comment as in: /* a // b */ c // d \n.
7396 Make it clear that `comstart_pos' is unused for nested comments.
7397
7398 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7399 (KEYMAPP): New macro.
7400 (Fkeymap_parent, Fset_keymap_parent): Use it.
7401 (fix_submap_inheritance): Mark it static.
7402 (define_as_prefix, describe_buffer_bindings, describe_command)
7403 (describe_translation, describe_map): Complete prototypes.
7404
7405 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7406
7407 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7408 to better match the key-lookup behavior.
7409
6288c62f
GM
74102000-08-27 Gerd Moellmann <gerd@gnu.org>
7411
7412 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7413 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7414
e931344e
EZ
74152000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7416
7417 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7418 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7419 (xterm.o): Depend on coding.h
7420
d10dfeef
KH
74212000-08-26 Kenichi Handa <handa@etl.go.jp>
7422
7423 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7424 the corresponding '#endif'.
7425
2d73e8d3
MB
74262000-08-26 Miles Bader <miles@gnu.org>
7427
7428 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7429 * xfaces.c (QCinherit): New variable.
7430 (syms_of_xfaces): Initialize it.
7431 (LFACE_INHERIT): New macro.
7432 (Finternal_get_lisp_face_attribute)
52283633 7433 (merge_face_vector_with_property)
2d73e8d3
MB
7434 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7435 (check_lface_attrs): Allow new types of face height. Check
7436 inherit attribute.
7437 (CYCLE_CHECK): New macro.
7438 (merge_face_inheritance): New function.
7439 (merge_face_vectors): Merge inherited faces too. Add F and
7440 CYCLE_CHECK arguments.
7441 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7442 (lookup_named_face, lookup_derived_face, realize_named_face)
7443 (face_at_string_position, face_at_buffer_position): Supply
7444 new F and CYCLE_CHECK arguments to merge_face_vectors.
7445 (merge_face_heights): New function.
52283633 7446 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7447 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7448 handle relative face heights.
7449 (lface_same_font_attributes_p): Compare heights using EQ.
7450
6ce974d4
KH
74512000-08-26 Kenichi Handa <handa@etl.go.jp>
7452
7453 * charset.c (char_to_string): Check the character validity.
52283633 7454 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7455
dc1e502d
SM
74562000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7457
7458 * regex.c (PUSH_FAILURE_COUNT): New macro.
7459 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7460 Handle popping of a register's or a counter's data.
7461 (POP_FAILURE_POINT): Use the new name.
7462 (re_match_2_internal): Push counter data on the stack for succeed_n,
7463 jump_n and set_number_at and remove misleading dead code in succeed_n.
7464
bd9d0f3f
GM
74652000-08-25 Gerd Moellmann <gerd@gnu.org>
7466
7467 * xdisp.c (redisplay_internal): If considering all windows on all
7468 frames, update the display for each frame as soon as possible,
7469 instead of first building all desired matrices for all frames, and
7470 then updating them all.
7471 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7472
aa5b8e15
GM
74732000-08-24 Gerd Moellmann <gerd@gnu.org>
7474
17494071
GM
7475 * bytecode.c (mark_byte_stack): Add a comment.
7476
52283633
SM
7477 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7478 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7479 a graphical frame.
7480
c543db81
KH
74812000-08-24 Kenichi Handa <handa@etl.go.jp>
7482
d246d5f5
KH
7483 * minibuf.c (do_completion): Always use compare-string, not
7484 string-equal because the latter doesn't pay attention to
7485 multibyteness of strings.
7486
c543db81
KH
7487 * process.c (create_process): Don't setup raw-text coding here.
7488 (Fopen_network_stream): Don't set coding->src_multibyte and
7489 coding->dst_multibyte here.
7490 (read_process_output): For process filter, return unibyte string
7491 if default-enable-multibyte-characters is nil.
7492 (send_process): If OBJECT is multibyte text, be sure to encoded it
7493 by the specified coding system for the process. Otherwise, setup
7494 raw-text coding.
52283633 7495 (init_process): Don't initialize default-process-coding-system here.
c543db81 7496
9b47cfe0
EZ
74972000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7498
7499 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7500 <scroll-down-aggressively>: Likewise.
7501
f5a36960
KH
75022000-08-23 Kenichi Handa <handa@etl.go.jp>
7503
7504 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7505 zero. Set coding->produced_char correctly.
7506
69a7ffa7
AI
75072000-08-22 Andrew Innes <andrewi@gnu.org>
7508
7509 * makefile.w32-in: New file.
7510
7511 * unexw32.c (unexec): Ignore old_name, and use the actual location
7512 of the current executable instead. Base new_name on this.
7513
7514 * w32proc.c (create_child): Remove reference to security
7515 descriptor, which isn't needed and doesn't compile with mingw32.
7516
7517 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7518 up dllimport attributes.
7519 (x_update_window_end): Update prototype.
7520
7521 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7522 extern, which screws up dllimport attributes.
7523
7524 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7525 up dllimport attributes.
7526
7527 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7528 screws up dllimport attributes.
7529
7530 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7531 up dllimport attributes.
7532 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7533 screws up dllimport attributes.
7534
7535 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7536 up dllimport attributes.
7537
7538 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7539 screws up dllimport attributes.
7540
7541 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7542 screws up dllimport attributes.
7543
7544 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7545 up dllimport attributes.
7546
7547 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7548 unnecessary extern, which screws up dllimport attributes.
7549 (main): Ditto.
7550
7551 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7552 up dllimport attributes.
7553
7554 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7555 unnecessary extern, which screws up dllimport attributes.
7556
7557 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7558 screws up dllimport attributes.
7559
7560 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7561 up dllimport attributes.
7562
7563 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7564
52283633
SM
7565 * w32bdf.c (search_file_line):
7566 (set_bdf_font_info):
7567 (seek_char):
7568 (w32_get_bdf_glyph):
69a7ffa7
AI
7569 (w32_BDF_to_x_font): Fix compile warnings.
7570
52283633 7571 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7572
7573 * w32select.c: Include keyboard.h before frame.h.
7574
7575 * w32fns.c (max): Define macro.
7576 (JOHAB_CHARSET): Define if not known.
7577 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7578 (Fx_show_tip): Synch with X version.
7579
7580 * w32xfns.c: Include keyboard.h before frame.h.
7581
7582 * w32fns.c: Include keyboard.h before frame.h.
7583
7584 * w32term.c: Include keyboard.h before frame.h.
7585
7586 * fontset.c: Include keyboard.h before frame.h.
7587
7588 * w32inevt.c: Include keyboard.h before frame.h.
7589 (MOUSE_MOVED): Define if not known.
7590
7591 * minibuf.c: Include keyboard.h before frame.h.
7592
7593 * keyboard.c: Include keyboard.h before frame.h.
7594
7595 * indent.c: Include keyboard.h before frame.h.
7596
7597 * dispnew.c: Include keyboard.h before frame.h.
7598
7599 * buffer.c: Include keyboard.h before frame.h.
7600
7601 * alloc.c: Include keyboard.h before frame.h.
7602
7603 * print.c: Include keyboard.h before frame.h.
7604
7605 * process.c: Include keyboard.h before frame.h.
7606
7607 * scroll.c: Include keyboard.h before frame.h.
7608
7609 * sysdep.c: Include keyboard.h before frame.h.
7610
7611 * term.c: Include keyboard.h before frame.h.
7612
7613 * window.c: Include keyboard.h before frame.h.
7614
7615 * xdisp.c: Include keyboard.h before frame.h.
7616 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7617
7618 * frame.c: Include keyboard.h before frame.h.
7619
7620 * w32heap.h: Undefine min, max.
7621
7622 * w32gui.h: Undefine min, max.
7623
7624 * unexw32.c: Change PUCHAR to PCHAR.
7625 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7626 (relocate_offset):
7627 (get_section_info):
69a7ffa7
AI
7628 (copy_executable_and_dump_data): Remove unnecessary static defs.
7629 (copy_executable_and_dump_data): Fix compile warnings.
7630
7631 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7632
7633 * w32console.c (min): Define macro.
7634 (clear_frame, write_glyphs): Fix compile warning.
7635
52283633 7636 * w32proc.c (compare_env):
69a7ffa7
AI
7637 (find_child_console): Fix compile warning.
7638
7639 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7640 sys_errlist instead of _sys_errlist.
7641 (get_emacs_configuration_options): New function.
7642
7643 * s/ms-w32.h (sys_nerr): Provide default definition.
7644 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7645 name with _ prepended.
7646 (NSIG): Define if not known.
7647 (get_emacs_configuration): Provide extern declaration.
7648 (get_emacs_configuration_options): Provide extern declaration.
7649 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7650
7651 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7652 (map_w32_filename):
69a7ffa7
AI
7653 (read_unc_volume): Fix compile warning.
7654
7655 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7656 definitions from being used.
7657
7658 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7659
52283633 7660 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7661 (open_unc_volume): Make arg const.
7662
7663 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7664 (read_input_waiting): Remove excess parameter.
7665
7666 * w32.c (init_environment): Call _access.
7667 (check_windows_init_file): Call _close.
7668 (init_user_info): Call _putenv.
7669 (init_environment): Call _putenv and _strdup.
7670 (init_ntproc): Reset volume info cache on startup.
7671
7672 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7673 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7674 cannot override the CRT malloc.
7675
7676 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7677 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7678
7679 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7680 unless we are linking with a static CRT.
7681 (RVA_TO_PTR): Cast result to unsigned char*.
7682
7683 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7684 (add_volume_info): Use xstrdup.
7685
25060080
SM
76862000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7687
7688 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7689 (do_completion, Fminibuffer_complete_word): Use it.
7690 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7691 var so it can take non-boolean values.
7692
6917e6bb
GM
76932000-08-21 Gerd Moellmann <gerd@gnu.org>
7694
acb7cc89 7695 * editfns.c (find_field): Formatting changes.
52283633 7696 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7697 changed to prototypes, some new protypes added, some functions
7698 made static.
7699
7700 * lisp.h (set_time_zone_rule): Add prototype.
7701 (use_dialog_box): External declaration.
7702
0bbfdc25
GM
7703 * keyboard.c (gen_help_event): Add parameter SIZE.
7704 (kbd_buffer_events_waiting): Slightly rewritten.
7705 (clear_event): New function.
7706 (kbd_buffer_get_event): Use it, and clear the input_events of
7707 HELP_EVENTs.
7708 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7709 don't fill the newly created array with nils.
7710 (toplevel): Convert some old-style function forward declarations
7711 to prototypes.
7712
7713 * keyboard.h (gen_help_event): Change prototype.
7714
7715 * xterm.c (XTread_socket): Change calls to gen_help_event.
7716
7717 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7718
6917e6bb
GM
7719 * eval.c (Fmacroexpand): Doc fix.
7720
e5cd3d11
JR
77212000-08-20 Jason Rumney <jasonr@gnu.org>
7722
7723 * w32term.h (x_display_info_for_display): Remove as this function
7724 does not exist on W32.
7725
7726 * w32term.c (help_echo_window): New variable.
7727 (syms_of_w32term): staticpro it.
7728 (note_mode_line_highlight): Set it.
7729 (XTextExtents16): Removed as there is no equivalent on W32.
7730 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7731 the X way of doing this will not work for W32.
7732 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7733 (x_draw_image_foreground): Avoid drawing outside of the clip area
7734 when image doesn't have a mask.
7735 (note_mouse_highlight): Process overlays in the right order of
7736 priority. Set help_echo_window.
7737 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7738 because that's more visible for large images.
7739
7740 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7741 name to single_keymap_panes.
7742 (w32_menu_show): Set wv->title when dealing with titles.
7743 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7744
6e69ab8c
MB
77452000-08-21 Miles Bader <miles@gnu.org>
7746
7747 * minibuf.c (do_completion): Try again if we rewrite the input
7748 string, but no completion was done, so that any completion message
7749 will be correct.
7750
511bd4eb
GM
77512000-08-20 Gerd Moellmann <gerd@gnu.org>
7752
7753 * xfaces.c (lface_equal_p): Compare strings differently.
7754 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7755 (realize_tty_face): Use them.
7756 (syms_of_xfaces): Initialize new variables.
7757 (map_tty_color): New function, extracted from realize_tty_face.
7758 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7759 foreground or background color, store the new color name in the
7760 realized face; previous code trying to do this had no effect.
7761 (realize_tty_face): Use map_tty_color.
7762 (Fclear_face_cache): Set face_change_count and ensure thorough
7763 redisplay.
7764
1433385f
GM
77652000-08-19 Gerd Moellmann <gerd@gnu.org>
7766
511bd4eb
GM
7767 * undo.c (record_first_change, record_marker_adjustment): Don't
7768 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7769
419ac0a2
KH
77702000-08-18 Kenichi Handa <handa@etl.go.jp>
7771
7772 * coding.c (decode_coding_string): Set members consumed,
7773 consumed_char, produced, produced_char of *coding correctly. If
7774 decode_coding doesn't consume any byte, don't try anymore.
7775 (encode_coding_string): Likewise.
7776
7eb9e30d
GM
77772000-08-18 Gerd Moellmann <gerd@gnu.org>
7778
511bd4eb
GM
7779 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7780 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7781
7782 * xdisp.c (redisplay_internal): Compare windows for equality with
7783 EQ, instead of applying XWINDOW to something that might not
7784 be a window.
52283633 7785
dd34a735
KH
77862000-08-18 Kenichi Handa <handa@etl.go.jp>
7787
7788 * fontset.c (Finternal_char_font): Search only the selected frame
7789 for a window of the current buffer.
7790
385ff9e3
GM
77912000-08-18 Gerd Moellmann <gerd@gnu.org>
7792
511bd4eb 7793 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7794 Lisp_Objects.
7795
385ff9e3
GM
7796 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7797 second half of a HELP_EVENT is found at the start of kbd_buffer.
7798
d6abb4c7
MB
77992000-08-18 Miles Bader <miles@gnu.org>
7800
4618074a
MB
7801 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7802
d6abb4c7
MB
7803 * editfns.c (save_restriction_save): Rewrite to use markers.
7804 (save_restriction_restore): Rewrite to understand new form of data
7805 saved by save_restriction_save.
7806 (Fsave_restriction): Remove cautionary note in doc-string.
7807
a7b28523
GM
78082000-08-17 Gerd Moellmann <gerd@gnu.org>
7809
7810 * fileio.c (build_annotations): Add a comment explaining the
7811 return value of format-annotate-function. Replace a spurious call
7812 to Flength with a CONSP test. Call format-annotate-function with
7813 a fifth arg specifying how many times the function is been called
7814 in a row, to let it choose temporary buffers appropriately.
7815
03c9ed77
DL
78162000-08-17 Dave Love <fx@gnu.org>
7817
7818 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7819 declare make_temp_name twice.
7820
52283633 7821 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7822 (unreadpure): Give it an arg.
7823
7824 * unexalpha.c: Prototype fatal_unexec, mark_x,
7825 update_dynamic_symbols. Declare unexec as void.
7826
7827 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7828 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7829
7830 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7831 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7832
7833 * alloca.c: Use #error.
7834 [POINTER_TYPE]: Use it.
7835
7836 * eval.c (Fdefvar): Doc fix.
7837
7838 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7839 INITIALIZE_INTERVAL.
7840
7841 * buffer.h: Avoid DECLARE_INTERVALS.
7842
7843 * config.in: Add size_t.
7844
aae41d97
EZ
78452000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7846
7847 * w16select.c (set_clipboard_data): If there's not enough memory
7848 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7849 expects. In case of other failures, return 3.
7850 (system_error_msg): New error message.
7851 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7852 system_error_msg.
7853
65aa5e85
GM
78542000-08-16 Gerd Moellmann <gerd@gnu.org>
7855
7856 * term.c (write_glyphs): Also turn off inverse video after turning
7857 off other appearances in case TS_exit_attribute_mode is not equal
7858 to TS_end_standout_mode.
7859 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7860 with the same face.
7861 (turn_off_face): Reset standout_mode only if
7862 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7863 is equal to TS_end_standout_mode.
7864
ece23901
KH
78652000-08-16 Kenichi Handa <handa@etl.go.jp>
7866
9d7bcb2e
KH
7867 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7868 sequence at the end of the source block.
7869
ece23901
KH
7870 * ccl.c (Fccl_program_p): Docstring modified.
7871 (Fccl_execute): Likewise.
7872 (Fccl_execute_on_string): Likewise.
7873
5e30eaa2
EZ
78742000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7875
7876 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7877
290602fd
KH
78782000-08-16 Kenichi Handa <handa@etl.go.jp>
7879
7880 The following changes are mainly to fix bugs of
7881 encode/decode-coding-string failing if encoding/decoding return
7882 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7883 variable conversion_buffer.
7884
7885 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7886 decrement dst_end to avoid buffer overflow in the later call of
7887 string_as_multibyte
7888
7889 * coding.h (conversion_buffer_size, conversion_buffer)
7890 (get_conversion_buffer): Extern deleted.
7891
7892 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7893 (conversion_buffer, conversion_buffer_size): Variables deleted.
7894 (get_conversion_buffer): Function deleted.
7895 (struct conversion_buffer): New structure.
7896 (MAX_ALLOCA): New macro.
7897 (allocate_conversion_buffer): New macro.
7898 (extend_conversion_buffer, free_conversion_buffer): New functions.
7899 (ccl_coding_driver): Set coding->result.
7900 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7901 this is the last block of source.
7902 (encode_coding): Likewise. Handle the source block as the last
7903 one only when the whole source text is consumed.
7904 (decode_coding_string): Handle the case that the output buffer is
7905 too small to decode the whole source text. Use
7906 allocate_conversion_buffer, extend_conversion_buffer and
7907 free_conversion_buffer, not get_conversion_buffer.
7908 (encode_coding_string): Likewise.
7909 (init_coding): Function deleted.
52283633 7910 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7911
7912 * emacs.c (main): Don't call init_coding.
7913
52283633 7914 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7915
7916 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7917 (insert_glyphs): Likewise.
7918
7919 * w32console.c (write_glyphs): Use a locally declared
7920 conversion_buffer.
7921
b9f80d41
EZ
79222000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7923
7924 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7925 member of display_info is NULL.
7926
32dc52f7
GM
79272000-08-15 Gerd Moellmann <gerd@gnu.org>
7928
52283633 7929 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7930
32dc52f7 7931 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7932 appearances with capability `me'.
32dc52f7
GM
7933 (write_glyphs): Switch on inverse video before each face change.
7934
4eb22d33
DL
79352000-08-14 Dave Love <fx@gnu.org>
7936
7937 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7938 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7939 (lisp_free): Declare and make static.
7940
7941 * window.c: Fix embedded comment.
7942 (syms_of_window): Fix doc string.
7943
90cbf47e
GM
79442000-08-14 Gerd Moellmann <gerd@gnu.org>
7945
52283633 7946 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7947 make sure to print `C-' before `M-', like in the manual.
7948
440fc135
GM
79492000-08-11 Gerd Moellmann <gerd@gnu.org>
7950
7951 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7952 since they aren't relocated anymore.
52283633 7953 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7954
7955 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7956 partially visible line which is smaller than the window's height.
440fc135 7957
6e264fad
KH
79582000-08-11 Kenichi Handa <handa@etl.go.jp>
7959
7960 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7961 the multibyte form of eight-bit-control characters.
6e264fad
KH
7962 (Fccl_execute_on_string): Initialize ccl->multibyte.
7963
7964 * ccl.h (struct ccl_program): New member multibyte.
7965
7966 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7967
c371f69a
KH
79682000-08-11 Kenichi Handa <handa@etl.go.jp>
7969
7970 * regex.c (regex_compile) <normal_char>: Pay attention to
7971 multibyteness.
7972 (analyse_first) <exactn>: Setup fastmap correctly for
7973 eight-bit-control characters.
7974
79752000-08-11 Kenichi Handa <handa@etl.go.jp>
7976
52283633 7977 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7978
7979 * keyboard.c (make_lispy_event): Handle the new event type
7980 multibyte_char_keystroke.
7981
7982 * xterm.c: Include coding.h.
7983 (XTread_socket): Work around a bug of XmbLookupString. If the
7984 input is from XIM, decode it according to the current locale. In
7985 that case, generate multibyte_char_keystroke events.
7986
b8ddbe71
KH
79872000-08-11 Kenichi Handa <handa@etl.go.jp>
7988
7989 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7990 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7991
47589c8c
GM
79922000-08-10 Gerd Moellmann <gerd@gnu.org>
7993
7994 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7995 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7996 (move_it_in_display_line_to): Record iterator's ascent and descent
7997 before producing glyphs, and restore them when we know the glyph
7998 doesn't fit on the line.
7999 (move_it_to): Restructured so that it's easier to debug. If
8000 moving to a vpos, and not moving to an x or character position,
8001 stop as soon as the specified vpos is reached; don't move further
8002 into that line because that might change the computed line height.
8003 (try_cursor_movement): New function, extracted from the cursor
8004 movement branch of redisplay_window. If ending on a partially
8005 visible line, don't try to scroll if the cursor line is taller
8006 than the window.
8007 (redisplay_window): Use try_cursor_movement.
8008
8009 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
8010 because that function doesn't cope with variable-height lines.
8011
8012 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
8013 box cursor because that's better visible for large images.
52283633 8014
c51bacd6
MB
80152000-08-10 Miles Bader <miles@gnu.org>
8016
8017 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
8018
bea56df7
GM
80192000-08-10 Gerd Moellmann <gerd@gnu.org>
8020
8021 * xdisp.c (Vmessages_buffer_name): New variable.
8022 (message_dolog): Use it.
8023 (syms_of_xdisp): Initialize it.
8024
99cd7364
EZ
80252000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
8026
52283633 8027 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
8028 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
8029 redundant now that keyboard.h is included.
8030
7d093d56
EZ
80312000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
8032
8033 * keyboard.c (kbd_buffer_events_waiting): New function.
8034
8035 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
8036
8037 * msdos.c: Include keyboard.h.
8038 (XMenuActivate): Empty no_event events from the event buffer. If
8039 no events are left after that, call clear_input_pending.
8040 (mouse_clear_clicks): New function, code moved from mouse_init.
8041 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
8042 mouse driver to ``forget'' any past clicks.
8043
8044 * Makefile.in (msdos.o): Depend on keyboard.h.
8045
41e757a6
GM
80462000-08-09 Gerd Moellmann <gerd@gnu.org>
8047
8e7bd231
GM
8048 * lisp.h (input_pending): External declaration.
8049
8050 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8051
8e7bd231
GM
8052 * xdisp.c (echo_area_display): Display thoroughly if input is
8053 pending. Bind redisplay-dont-pause to t during the redisplay.
8054 in case input is pending.
8055
8056 * dispnew.c (Qredisplay_dont_pause): New variable.
8057 (syms_of_display): Initialize and staticpro it.
8058 (update_frame_1): Don't interrupt the display for pending input if
8059 redisplay_dont_pause is set.
52283633 8060
43028b7e
GM
8061 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8062
41e757a6
GM
8063 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8064
2f2174fa
KH
80652000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8066
8067 * callproc.c (Fcall_process): Terminate the unwind-protect around
8068 the post-read-conversion of coding system.
8069
0a6fd67e
MB
8070 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8071 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8072 * buffer.h (overlays_at): Update prototype.
8073 * xdisp.c (next_overlay_change): Update call to overlays_at.
8074 * xfaces.c (face_at_buffer_position): Likewise.
8075 * textprop.c (Fget_char_property): Likewise.
8076 * xterm.c (note_mouse_highlight): Likewise.
8077
0c80756e
MB
8078 * minibuf.c (do_completion): Don't consider a simple change of
8079 case as `completion'.
8080
975f250a
KR
80812000-08-08 Ken Raeburn <raeburn@gnu.org>
8082
52283633 8083 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8084 * undo.c (record_delete): Make sure last_point_position_buffer is
8085 a buffer before comparing pointers.
8086
8087 * coding.h (decode_coding_string): Declare.
8088
8089 * intervals.h (Fprevious_single_char_property_change): Declare.
8090
8091 * textprop.c (Fprevious_single_char_property_change): Don't do
8092 arithmetic directly on lisp objects.
8093
52283633 8094 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8095
8096 * keyboard.h (menu_item_eval_property): Declare.
8097
8098 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8099 reuse as buffer name, instead of recreating (and discarding) every
8100 time a message is logged.
8101 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8102 (current_message_1, truncate_message_1, set_message_1)
8103 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8104 (current_message, truncate_echo_area, display_echo_area)
8105 (resize_echo_area_axactly): Changed calls.
b347b3fd 8106
975f250a 8107 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8108 Lisp object.
975f250a 8109 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8110 must be an integer, not a Lisp object.
975f250a 8111
46dc9912
KH
81122000-08-08 Kenichi Handa <handa@etl.go.jp>
8113
8114 * charset.c (Fchar_width): Doc fix.
8115
9f6d1a6c
GM
81162000-08-08 Gerd Moellmann <gerd@gnu.org>
8117
8118 * charset.c (Fstring_width): Doc fix.
8119
ff3d9573
GM
81202000-08-07 Gerd Moellmann <gerd@gnu.org>
8121
41e757a6 8122 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8123 line, clear ascent and descent members of the iterator structure;
8124 the height of the continued line does not affect the height of the
8125 continuation line.
8126 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8127 line taller than the window.
8128 (redisplay_window) <forced window start>: Handle case that the
8129 middle of the window is not found in any row.
8130 (dump_glyph_row): Show more information.
8131 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8132 first text line in a glyph matrix.
8133
8134 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8135 of the clip area when image doesn't have a mask.
8136
70fc58b3
GM
8137 * fns.c (sweep_weak_table): Fix survival conditions for
8138 key-or-value and key-and-value weakness.
8139
8140 * .gdbinit (xhashtable): New command.
8141
ac0e96ee
GM
8142 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8143 tables out of the list of all weak hash tables.
8144
ff3d9573
GM
8145 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8146 a new buffer is created, make sure echo_area_buffer[] references
8147 the new buffer.
8148
e0d8827b
EZ
81492000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8150
8151 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8152 the doc string.
8153
c6f35378
KH
81542000-08-07 Kenichi Handa <handa@etl.go.jp>
8155
8156 * syntax.c (skip_chars): Fix previous change. Make the handling
8157 of unibyte string consistent with that of regex search.
8158
1fd4c450
GM
81592000-08-05 Gerd Moellmann <gerd@gnu.org>
8160
e49aa397
GM
8161 * xmenu.c (popup_get_selection): Use xfree instead of free.
8162
8163 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8164
8165 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8166
8167 * callproc.c (child_setup): Use xfree instead of free.
8168
8169 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8170 instead of malloc.
8171 (run_mac_command, closedir): Use `xfree' instead of `free'.
8172
8173 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8174
8175 * eval.c (error): Use xfree instead of free.
8176
1fd4c450
GM
8177 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8178
8179 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8180 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8181
82d497fc
KH
81822000-08-05 Kenichi Handa <handa@etl.go.jp>
8183
8184 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8185 conversion.
8186
59f953a2
NF
81872000-08-04 Noah Friedman <friedman@splode.com>
8188
8189 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8190 docstring.
8191
688351f2
GM
81922000-08-04 Gerd Moellmann <gerd@gnu.org>
8193
8194 * syntax.c (skip_chars): Fix typo in error message.
8195
2dad51cc
AS
81962000-08-04 Andreas Schwab <schwab@suse.de>
8197
8198 * m/ia64.h: Moved from s/ia64.h.
8199
99bb2c60
KH
82002000-08-04 Kenichi Handa <handa@etl.go.jp>
8201
082a1df2
KH
8202 * process.c (read_process_output): Big simplification. Handle
8203 composition and post-read-conversion of coding system correctly.
8204 (send_process): Handle composition correctly.
8205
8206 * callproc.c (Fcall_process): Handle post-read-conversion of
8207 coding system if any.
8208
99bb2c60
KH
8209 * coding.c (decode_coding_iso2022): More strict check for handling
8210 single shifting.
082a1df2
KH
8211 (coding_restore_composition): Pay attention to the case that
8212 cmp_data is not set properly (because of invalid code in the
8213 source text).
8214 (run_pre_post_conversion_on_str): Include text properties in the
8215 resulting string.
8216 (decode_coding_string): Set members of coding correctly.
99bb2c60 8217
f4988be7
GM
82182000-08-03 Gerd Moellmann <gerd@gnu.org>
8219
8220 * s/ia64.h: New file.
8221
8222 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8223 Use NULL instead of 0 at the end of variable argument list of
8224 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8225 sizeof (int) < sizeof (void *).
8226
8227 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8228 of variable argument lists of XtVaGetValues and XtVaSetValues.
8229
8230 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8231 variable argument lists of XtVaGetValues and XtVaSetValues.
8232
ead53494
GM
82332000-08-02 Gerd Moellmann <gerd@gnu.org>
8234
8235 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8236 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8237
8238 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8239 prototype.
8240
8241 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8242 in call to Fsingle_key_description.
8243
8244 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8245 Callers changed.
8246
82472000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8248
8249 * window.c (display_buffer_reuse_frames): New variable.
8250 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8251 frames displaying BUFFER.
52283633 8252 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8253
10b0f752
MB
82542000-08-01 Miles Bader <miles@gnu.org>
8255
8256 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8257 when to constrain NEW_POS (they were pretty screwed up before).
8258
16425c4a
EZ
82592000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8260
8261 * msdos.c (run_msdos_command): Save and restore the master
8262 environment, for the case that child_setup signals an error.
8263 When mirroring slashes in DOS shell commands, don't fail when
8264 argv[2] has embedded blanks.
da288c14
EZ
8265 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8266 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8267 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8268
8269 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8270 using alloca; free it after run_msdos_command returns.
8271
27f73852
DL
82722000-07-27 Dave Love <fx@gnu.org>
8273
52283633
SM
8274 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8275 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8276
8277 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8278
c0261b5e
EZ
82792000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8280
8281 * editfns.c (lisp_time_argument): Fix last change.
8282
b548072f
GM
82832000-07-27 Gerd Moellmann <gerd@gnu.org>
8284
3ab82477
GM
8285 * fns.c (Fdelete): Make it work on vectors and strings in addition
8286 to lists.
8287
b548072f
GM
8288 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8289 (syms_of_fns): Initialize new variables.
52283633 8290 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8291 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8292 weakness, with t meaning the same as `key-and-value'.
8293
91ae8751
KH
82942000-07-27 Kenichi Handa <handa@etl.go.jp>
8295
8296 * coding.h (struct coding_system): Member safe_charset deleted.
8297
8298 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8299 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8300 New variables.
91ae8751
KH
8301 (coding_safe_chars): New function.
8302 (CODING_SAFE_CHAR_P): New macro.
8303 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8304 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8305 (detect_coding_iso2022): New local variable safe_chars.
8306 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8307 safe_charsets member of the coding system.
8308 (decode_coding_iso2022): New local variable safe_chars.
8309 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8310 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8311 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8312 (ENCODE_UNSAFE_CHARACTER): New macro.
8313 (encode_coding_iso2022): New local variable safe_chars. Check
8314 unsafe chars.
8315 (setup_coding_system): Delete the code to initialize
8316 coding->safe_charses
8317 (intersection, find_safe_codings): New functions.
8318 (Ffind_coding_systems_region_internal): New function.
8319 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8320 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8321 variable and initialize it.
8322
8323 * fns.c (char_table_ref_and_index): New function.
8324
8325 * lisp.h (char_table_ref_and_index): Add prototype.
8326
34a7a267
SS
83272000-07-26 Sam Steingold <sds@gnu.org>
8328
8329 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8330 (Ffloat_time): New built-in Lisp function.
34a7a267 8331
a95cb10a
GM
83322000-07-26 Gerd Moellmann <gerd@gnu.org>
8333
3353ef5a
GM
8334 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8335 for the character code.
8336
8337 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8338 GNU/Linux.
8339
a95cb10a
GM
8340 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8341 if called for a popup menu.
8342 (xmenu_show): Store help string in widget values.
8343
b4a12321
DL
83442000-07-26 Dave Love <fx@gnu.org>
8345
8346 * syswait.h: Move some definitions.
8347 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8348 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8349 perspicuous definitions.
8350 (WTERMSIG): Fix bit pattern used.
8351
13f5ad37
KH
83522000-07-26 Kenichi Handa <handa@etl.go.jp>
8353
8354 * print.c (print_object): If vector printing is truncated, print
8355 "..." to indicate it as well as the case of list printing.
8356
070fe99c
GM
83572000-07-25 Gerd Moellmann <gerd@gnu.org>
8358
969065c3
GM
8359 * xdisp.c (next_element_from_display_vector): Improve comments.
8360
8361 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8362 for the character code, and the rest for the face id as in 20.x.
8363 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8364
8365 * window.c (window_display_table): Cleaned up.
8366
070fe99c
GM
8367 * syntax.c (Fforward_word): Add last arg nil in call of
8368 Fconstrain_to_field.
8369
bad77ef7
EZ
83702000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8371
969065c3 8372 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8373 identical but for the letter-case, don't call
8374 barf_or_query_if_file_exists.
bad77ef7 8375
c28da489
MB
83762000-07-25 Miles Bader <miles@gnu.org>
8377
8378 * editfns.c (find_field): Honor special `boundary' fields.
8379 (Qboundary): New variables.
8380 (syms_of_editfns): Initialize Qboundary.
8381 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8382 Use scan_buffer instead of find_before_next_newline, because it
8383 allows us to detect the boundary case where there's a newline at
8384 the search limit.
8385 * lisp.h (Fconstrain_to_field): Update external declaration.
8386
e3c31fd5
GM
83872000-07-24 Gerd Moellmann <gerd@gnu.org>
8388
8389 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8390 if that is nil.
c28da489 8391
c66c29a2
DL
83922000-07-24 Dave Love <fx@gnu.org>
8393
8394 * s/sunos4-0.h, s/sol2.h:
8395 (LIBS_TERMCAP): Move from m/sparc.h.
8396
8397 * m/sparc.h (TERMINFO): Moved to system files (probably only
8398 relevant for sunos4 judging by its vintage).
8399 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8400 __arch64__.
8401
fbe0a958
EZ
84022000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8403
8404 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8405 name to single_keymap_panes.
8406
7d88e5c9
AS
84072000-07-24 Andreas Schwab <schwab@suse.de>
8408
8409 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8410
e024b101
GM
84112000-07-24 Gerd Moellmann <gerd@gnu.org>
8412
8413 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8414 parameters instead of using int parameters. Expect FN to accept
8415 EMACS_INT parameters.
8416 (display_echo_area, resize_echo_area_axactly, current_message)
8417 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8418 with new argument list.
8419 (resize_mini_window_1): New callback function.
8420 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8421 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8422
25c1a9ce
KH
84232000-07-24 Kenichi Handa <handa@etl.go.jp>
8424
8425 * fontset.c (fontset_ref): Remove INLINE declaration.
8426 (fontset_ref_via_base): Likewise.
8427 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8428 to downcase.
8429
7f987ac0
EZ
84302000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8431
8432 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8433 correct order of priority. If help echo was found in an overlay,
8434 use that overlay as the object in which the help echo was found.
8435
e2db3069
MB
84362000-07-22 Miles Bader <miles@gnu.org>
8437
8438 * textprop.c (Fprevious_single_char_property_change): The initial
8439 property value should be from the position preceding POSITION, not
8440 following it.
8441
5e3203e4
EZ
84422000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8443
8444 * coding.c (syms_of_coding): Doc fix for
8445 inhibit-iso-escape-detection.
8446
62145073
GM
84472000-07-21 Gerd Moellmann <gerd@gnu.org>
8448
c20aeb83
GM
8449 * xterm.c (note_mouse_highlight): Process overlays in the right
8450 order of priority.
34a7a267 8451
743934db
GM
8452 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8453
8454 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8455 overlay, use that overlay as the object in which the help was found.
743934db 8456
d1dc7e43 8457 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8458
62145073
GM
8459 * window.c (foreach_window): Instead of a fake variable argument
8460 list, take one USER_DATA argument.
8461 (foreach_window_1): Likewise, and call callback functions with two
8462 args, the window and USER_DATA.
8463 (struct check_window_data): New struct.
8464 (check_window_containing): Use it.
8465 (window_from_coordinates): Set up a struct check_window_data for
8466 foreach_window.
8467 (add_window_to_list, freeze_window_start): Change parameters
8468 according to new calling convention.
8469
8470 * window.h (foreach_window): Change prototype.
8471
8472 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8473
84742000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8475
8476 * xmenu.c (menu_help_callback): Call show_help_echo with
8477 additional arguments OBJECT and POS.
8478
11270583
KH
84792000-07-21 Kenichi Handa <handa@etl.go.jp>
8480
07b14857
KH
8481 * data.c (Faset): Allow storing any multibyte character in a
8482 string. Convert unibyte string to multibyte if necessary.
8483
11270583
KH
8484 * xfns.c (x_encode_text): New function.
8485 (x_set_name): Use x_encode_text.
8486 (x_set_title): Likewise.
8487
8488 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8489
8490 * xterm.h (x_encode_text): Add prototype.
8491
bc75b4fd
DL
84922000-07-20 Dave Love <fx@gnu.org>
8493
8494 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8495 xfree, not free.
8496
48c14970
EZ
84972000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8498
8499 * msdos.c (help_echo_window): New variable.
8500 (syms_of_msdos): Initialize and staticpro it.
8501 (IT_note_mode_line_highlight): Set help_echo_window.
8502 (IT_note_mouse_highlight): Ditto.
8503 (dos_rawgetc): Store help_echo_window in the second event produced
8504 for HELP_EVENTs.
8505
8506 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8507 Record the object that generated the help echo and the position of
8508 that object in help_echo_object and help_echo_pos. Record that
8509 some glyphs in a row are displayed in mouse-face.
8510 (IT_update_begin): Don't clear mouse highlight unless one of the
8511 enabled glyph rows is marked as being displayed in mouse-face.
8512 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8513 and position recorded in help_echo_object and help_echo_pos to the
8514 event queue.
8515 (IT_menu_display): Accept a new argument PN: the pane number of
8516 the current menu pane. Record the pane number and the item
8517 number of the item which has associated help string.
8518 (XMenuActivate): Update the prototype for help_callback in
8519 function declaration. Call IT_menu_display with the current menu
8520 pane number as an additional argument. Call help_callback with
8521 two additional arguments: the pane number and the item number of
8522 the menu item associated with the help text.
8523 (help_echo_object, help_echo_pos): New variables.
8524 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8525
8526 * msdos.h (XMenuActivate): Update prototype.
8527
4279296d
GM
85282000-07-19 Gerd Moellmann <gerd@gnu.org>
8529
47db06aa
GM
8530 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8531 Add some more prototypes.
8532
8533 * xterm.c, xterm.h: Add some more prototypes.
8534
8535 * lisp.h (Fnext_single_char_property_change): Add prototype.
8536
8537 * dispnew.c (direct_output_for_insert): Remove confusing
8538 outer local variable mouse_face_overwritten_p.
8539 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8540
4279296d
GM
8541 * alloc.c (allocate_string_data): Don't copy old string contents.
8542
670acd62
KH
85432000-07-19 Kenichi Handa <handa@etl.go.jp>
8544
8545 * coding.c (code_convert_region): Delete text properties before
8546 shrinking the conversion region.
8547
7cea38bc
GM
85482000-07-18 Gerd Moellmann <gerd@gnu.org>
8549
dc1cac59
GM
8550 * dispnew.c (update_text_area): Write the whole row if it
8551 has mouse-face in it.
8552
85a8aca9
GM
8553 * xfaces.c (face-alternative-font-family-alist): Remove
8554 DEFVAR_LISP; staticpro instead.
8555
34a7a267 8556 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8557 new arguments.
8558
8559 * keyboard.c (show_help_echo): Add parameter WINDOW.
8560 (read_char): Call show_help_echo with window extracted from Lisp
8561 help event.
8562 (gen_help_event): Add parameter WINDOW.
8563
8564 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8565
8566 * xterm.c (help_echo_window): New variable.
52283633 8567 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8568 (XTread_socket): Pass help_echo_window to gen_help_event.
8569 (syms_of_xterm): Initialize and staticpro help_echo_window.
8570
f8276b77
DL
85712000-07-18 Dave Love <fx@gnu.org>
8572
52283633 8573 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8574
088831a6
GM
85752000-07-18 Gerd Moellmann <gerd@gnu.org>
8576
3d6cd763
GM
8577 * alloc.c (allocate_string_data): If string had already data
8578 assigned, copy old contents to new string data.
8579
8580 * coding.c (syms_of_coding): Fix typo in spelling of variable
8581 `inhibit-iso-escape-detection'.
8582
088831a6
GM
8583 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8584
8585 * Makefile.in: Add dependencies on dispextern.h.
8586 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8587 `free'; both can conflict with system header files.
8588
bc8a8d55
KH
85892000-07-18 Kenichi Handa <handa@etl.go.jp>
8590
8591 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8592 undefined.
8593
069f5950
DL
85942000-07-18 Dave Love <fx@gnu.org>
8595
8596 * window.c (Fwindow_list): Declare arg `window'.
8597
aa96c820
KH
85982000-07-18 Kenichi Handa <handa@etl.go.jp>
8599
8600 * coding.c (setup_coding_system): Don't override the explicitly
8601 specified designations.
8602
06be8d32
MB
86032000-07-15 Miles Bader <miles@gnu.org>
8604
8605 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8606 from `text_property_eq' and `text_property_stickiness', respectively.
8607 (find_field, Fconstrain_to_field, char_property_eq)
8608 (char_property_stickiness): Changed to call char-property functions
8609 instead of text-property-only ones.
8610
8611 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8612 `next_single_char_property_change'). Do more error checking, and
8613 cleanup limit behavior.
8614 (Fprevious_single_char_property_change): New function.
8615 (syms_of_textprop): Initialize new subrs.
8616
8617 * xdisp.c (display_prop_end, invisible_text_between_p):
8618 Call Fnext_single_char_property_change instead of
8619 next_single_char_property_change.
8620
3fddcdc3
JR
86212000-07-15 Jason Rumney <jasonr@gnu.org>
8622
8623 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8624 after menu is finished with.
8625 (add_menu_item): Only consider wv->title as a menu title.
8626 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8627
8628 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8629 null title.
8630 (FONT_REGEXP): Remove unused macro, and its sub-components.
8631 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8632
8633 * w32term.c (help_echo_object, help_echo_pos): New variables.
8634 (note_mode_line_highlight): Store additional information about the
8635 help-echo in help_echo_object and help_echo_pos. Check both
8636 `local-map' and `keymap' properties for changing the cursor
8637 (note_mouse_highlight): Store additional information about the
8638 help-echo in help_echo_object and help_echo_pos.
8639 (note_tool_bar_highlight): Set help_echo_object to nil and
8640 help_echo_pos to -1.
8641 (w32_read_socket): Use gen_help_event instead of filling
8642 input_events manually.
8643 (syms_of_w32term): Staticpro help_echo_object.
8644 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8645 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8646 (x_clear_mouse_face): New function.
8647 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8648 (x_update_window_begin): No need to turn off the mouse
8649 highlight here.
8650 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8651 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8652 (x_fill_stretch_glyph_string): Consume runs of stretch
8653 glyphs instead of a single one.
8654 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8655 with new argument list.
8656 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8657 (x_append_glyph, x_append_composite_glyph)
8658 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8659 changes in struct glyph starting 1999-12-27. See comments for
8660 xterm.c on 2000-07-05.
8661
178c5d9c
SS
86622000-07-14 Sam Steingold <sds@gnu.org>
8663
8664 * xfaces.c (realize_x_face): Fix the last patch:
8665 check `default_face' before dereferencing.
8666
6fe533f6
DL
86672000-07-14 Dave Love <fx@gnu.org>
8668
069f5950 8669 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8670
dd7b81cf
KH
86712000-07-14 Kenichi Handa <handa@etl.go.jp>
8672
0693904a 8673 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8674 default_face's fontset, not using the default fontset.
0693904a 8675
dd7b81cf
KH
8676 * coding.c (inhibit_iso_escape_detection): New variable.
8677 (syms_of_coding): Make it a Lisp variable.
8678 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8679 nonzero, ignore ISO2022's escape sequence.
8680
d5aa31d8
GM
86812000-07-14 Gerd Moellmann <gerd@gnu.org>
8682
e5acf0ca
GM
8683 * alloca.c (malloc) [emacs]: Define as xmalloc.
8684
bd23a692
GM
8685 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8686 use that instead of the mouse position. Add parameters DX and DY.
8687
8688 * dispextern.h (Fx_show_tip): Adjust number of parameters
8689 in prototype.
8690
9662da0b
GM
8691 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8692 if HELP is a function, call it with OBJECT and POS as parameters
8693 to get the help to display.
8694 (gen_help_event, kbd_buffer_store_help_event): New functions.
8695 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8696 (read_char): Call show_help_echo with new parameters.
8697
178c5d9c 8698 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8699 Add prototypes.
8700
8701 * xterm.c (help_echo_object, help_echo_pos): New variables.
8702 (note_mode_line_highlight): Store additional information about the
8703 help-echo in help_echo_object and help_echo_pos. Check both
8704 `local-map' and `keymap' properties for changing the cursor
8705 (note_mouse_highlight): Store additional information about the
8706 help-echo in help_echo_object and help_echo_pos.
8707 (note_tool_bar_highlight): Set help_echo_object to nil and
8708 help_echo_pos to -1.
8709 (XTread_socket): Use gen_help_event instead of filling
8710 input_events manually.
8711 (syms_of_xterm): Staticpro help_echo_object.
8712
8713 * xmenu.c (menu_highlight_callback): Use
8714 kbd_buffer_store_help_event instead of setting up and input_event
8715 structure manually.
8716
8717 * xdisp.c (eval_form): GCPRO argument sexpr.
8718 (call_function): New function.
8719 (handle_single_display_prop): Use call_function and FUNCTIONP
8720 instead of checking whether if font_height is a symbol and
8721 using eval_form.
8722
8723 * eval.c (internal_condition_case_2): New function.
8724
8725 * lisp.h (FUNCTIONP): New macro.
8726 (internal_condition_case_2, call_function): Add prototypes.
8727
d5aa31d8
GM
8728 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8729 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8730 Always set `arg' member of input_events.
8731 (construct_menu_click): Unused function removed.
8732
8733 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8734
8735 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8736 (construct_drag_n_drop, x_scroll_bar_handle_click)
8737 (w32_read_socket): Always set `arg' member of input_events.
8738
8739 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8740
8741 * lisp.h (eval_form): Add prototype.
8742
8743 * xdisp.c (eval_form): Make it externally visible.
8744
0f1a9b23
GM
87452000-07-13 Gerd Moellmann <gerd@gnu.org>
8746
8747 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8748 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8749 consing. For prefix events, store the frame in the `arg' slot of
8750 the event, otherwise store the key there.
8751 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8752 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8753
8754 * xmenu.c (menu_highlight_callback): Store help string in the
8755 `arg' member of the input event; don't cons.
8756 (menubar_selection_callback): Use the `arg' slot of input events
8757 to queue additional information, instead of consing.
8758
8759 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8760
8761 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8762 TOOL_BAR_EVENTs.
8763 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8764
8765 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8766 input events to queue additional information, instead of consing.
8767
8768 * keyboard.c (kbd_buffer_gcpro): Renamed from
8769 kbd_buffer_frame_or_window. Now used for all Lisp objects
8770 referenced from the input queue.
8771 (kbd_buffer_store_event): Always use structure assignment for
8772 copying input events. Record all Lisp objects referenced from
8773 events in kbd_buffer_gcpro.
8774 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8775 differently from input events. Test for prefix menu_bar_events
8776 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8777 event in kbd_buffer_gcpro to nil.
8778 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8779 frame_or_window is equal to its arg member as prefix events.
8780 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8781 used by an input event to nil.
8782 (init_keyboard): Use two times the size of the input queue
8783 for kbd_buffer_gcpro.
8784 (syms_of_keyboard): Likewise.
8785
52283633
SM
8786 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8787 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8788
8789 * termhooks.h (struct input_event): Add member `arg'.
8790 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8791 (USER_SIGNAL_EVENT): Renamed from user_signal.
8792
8793 * xfaces.c (ASET): Remove definition.
8794
8795 * lisp.h (AREF, ASET, ASIZE): New macros.
8796
8797 * fontset.c (AREF, ASIZE): Remove definitions.
8798
8799 * fns.c (AREF): Remove definition.
178c5d9c 8800
0f1a9b23
GM
8801 * composite.c (AREF): Remove definition.
8802
712eaef2
GM
88032000-07-12 Gerd Moellmann <gerd@gnu.org>
8804
d8ee7803
GM
8805 * dispnew.c (redraw_overlapped_rows): Add missing local.
8806 (scrolling_window): Remove debug code.
8807
712eaef2
GM
8808 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8809 Before scrolling, turn off a mouse-highlight in the window
8810 being scrolled.
8811
8812 * xterm.c (x_update_window_end): Add parameter
8813 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8814 redisplay in XTframe_up_to_date.
8815 (x_clear_mouse_face): New function.
8816 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8817
8818 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8819 current glyph row.
8820 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8821 it when any row is written to that contains glyphs highlighted in
8822 mouse-face.
8823 (update_window): Call the window update end hook with new
8824 parameter MOUSE_FACE_OVERWRITTEN_P.
8825 (direct_output_for_insert): Give up if row contains mouse-face.
8826
8827 * dispextern.h (struct redisplay_interface): Add parameter
8828 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8829 (clear_mouse_face): New function pointer member.
8830
02010917
SM
88312000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8832
8833 * syntax.c (back_comment): Use one switch rather than a few `if's.
8834 Obey open_paren_in_column_0_is_defun_start.
8835 When reverting to the `slow' method, try to nicely handle the case
8836 of nested comments by checking that the comment-starter we found
8837 does indeed match the comment-ender.
8838 (scan_sexps_forward, scan_sexps_forward):
8839 Ignore excessive opening parenthesis rather than throwing an error.
8840
d76c03ea
GM
88412000-07-11 Gerd Moellmann <gerd@gnu.org>
8842
8843 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8844 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8845
8846 * dispnew.c (direct_output_forward_char): Give up if currently
8847 displaying a message instead of the minibuffer contents.
8848
8849 * xterm.c (x_update_window_begin): No need to turn off the mouse
8850 highlight here.
8851 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8852 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8853
8854 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8855 compare the mouse_face_p flags of both rows.
8856
8857 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8858
d55ead18
EZ
88592000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8860
8861 * keyboard.c (show_help_echo): Accept additional parameter
8862 ok_to_overwrite_keystroke_echo.
8863 (read_char): Call show_help_echo with a zero
8864 ok_to_overwrite_keystroke_echo argument.
52283633 8865 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8866 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8867 ok_to_overwrite_keystroke_echo argument.
8868 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8869 non-zero ok_to_overwrite_keystroke_echo argument.
8870
df75b1a3
GM
88712000-07-10 Gerd Moellmann <gerd@gnu.org>
8872
4b92c49a
GM
8873 * xdisp.c (try_window_id): If changes are all below what is
8874 displayed in the window, and point is in the window, we still
8875 might have to find point on the display.
8876
8877 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8878 glyphs instead of a single one.
8879 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8880 with new argument list.
8881 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8882
df75b1a3
GM
8883 * keymap.c (get_keymap_1): Add comment that this function can GC.
8884 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8885 comment that functions can GC.
8886 (Fset_keymap_parent): GCPRO arg KEYMAP.
8887
4314cf3e
EZ
88882000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8889
8890 * msdos.c (XMenuActivate): After exiting the menu, restore the
8891 echo area message and erase it.
8892
ab49ce15
KH
88932000-07-10 Kenichi Handa <handa@etl.go.jp>
8894
8895 * fontset.c (Ffontset_info): Make the return value more compatible
8896 with that of Emacs 20.
8897
090a072f
GM
88982000-07-07 Gerd Moellmann <gerd@gnu.org>
8899
8900 * eval.c (Fsignal): Handle case that backtrace_list is null.
8901
f92de4a6
KH
89022000-07-07 Kenichi Handa <handa@etl.go.jp>
8903
8904 * ccl.c (Fccl_execute): Typo fixed.
8905
dd8888a1
GM
89062000-07-06 Gerd Moellmann <gerd@gnu.org>
8907
e5c81191 8908 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8909
dd8888a1
GM
8910 * window.c (Fwindow_list): Reverse list at the end.
8911 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8912 means allow windows on OWINDOW's frame, only.
8913 (window_loop): Simplified; use Fwindow_list.
8914
8915 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8916
485266d0
GM
89172000-07-05 Gerd Moellmann <gerd@gnu.org>
8918
8919 * xterm.c (XTread_socket): Increment handling_signal at the start,
8920 decrement it at the end.
8921
8922 * eval.c (handling_signal): New variable.
8923 (Fsignal): Abort if handling_signal is non-zero.
8924
8925 * lisp.h (handling_signal): External declaration.
178c5d9c 8926
485266d0
GM
8927 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8928
80fcd514
KR
89292000-07-05 Ken Raeburn <raeburn@gnu.org>
8930
8931 Sound support for NetBSD through "Linux emulation" support:
8932 * config.in (HAVE_SOUNDCARD_H): Undef.
8933 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8934 * Makefile.in (LIBSOUND): New variable.
8935 (LIBES): Include it.
52283633
SM
8936 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8937 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8938 (vox_open): Use DEFAULT_SOUND_DEVICE.
8939 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8940
d5c5cddd
GM
89412000-07-05 Gerd Moellmann <gerd@gnu.org>
8942
8943 * print.c (print_error_message): If Vsignaling_function is set,
8944 show it in *Messages*.
8945
8946 * lisp.h (Vsignaling_function): External declaration.
8947
8948 * eval.c (Vsignaling_function): New variable.
8949 (Fsignal): Compute it.
8950 (syms_of_eval): Staticpro it.
8951
65171e3a
DL
89522000-07-05 Dave Love <fx@gnu.org>
8953
8954 * syswait.h: Use the autoconf recommended approach. Old code
8955 #if'd out in case we need to revert.
8956
178c5d9c 8957 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8958
e2c46326
AI
89592000-07-05 Andrew Innes <andrewi@gnu.org>
8960
8961 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8962 when non-NULL instead of __morecore, to take account of buffer
8963 memory. This also solves a problem with spurious memory warnings
8964 on Windows.
8965
8966 * ralloc.c: Make real_morecore non-static.
8967
8968 * eval.c (internal_condition_case): Comment out abort if
8969 interrupt_input_blocked is not zero.
8970
8971 * makefile.nt: Add support for `bootstrap' and related targets.
8972 Include minimal debug info in emacs.exe in release build.
8973 Remove all dependencies on lisp.h, and fixup some others.
8974
8975 * w32.c (init_environment): Install code from 20.7 for providing
8976 default values for environment variables, based on the
8977 executable's own location.
52283633 8978 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8979 (sys_socket): Install socket inheritance bug fix from 20.7.
8980
8981 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8982 here via blockinput.h).
8983
a027a91b
SM
89842000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8985
e4b31601
SM
8986 * w32menu.c (w32_menu_display_help):
8987 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8988
8989 * keyboard.h (show_help_echo): Declare.
8990
8991 * keyboard.c (show_help_echo): New function, extracted from read_char.
8992 Feval its `msg' argument if it's a cons cell.
8993 (read_char): Use it.
4cf8d9d5 8994 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8995
178c5d9c 8996 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8997 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8998 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8999 (dos_rawgetc):
9000 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
9001 (note_tool_bar_highlight, w32_read_socket):
9002 Do not gratuitously ignore non-string `help-echo' properties.
9003
88d75730
GM
90042000-07-05 Gerd Moellmann <gerd@gnu.org>
9005
969f7e79
GM
9006 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
9007
71201b00
GM
9008 * window.c (delete_all_subwindows): Reset Vwindow_list.
9009
88d75730
GM
9010 * xterm.c (x_append_glyph, x_append_composite_glyph)
9011 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9012 changes in struct glyph starting 1999-12-27. Some bit-fields of
9013 struct glyph were not set, which made glyphs unequal when compared
9014 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
9015 effects were the result. This also depended on the contents of
9016 memory returned by xmalloc. If flickering happens again, activate
9017 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 9018 gone with that, chances are that it is caused by something similar.
88d75730
GM
9019
9020 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 9021
88d75730
GM
9022 * dispextern.h: Add some comments.
9023
9024 * window.c (add_window_to_list): Add parameter LIST.
9025 (window_list): Order list so that, for each frame, windows are
9026 in canonical order, and so that frames appear in the list in
9027 the order given by Vframe_list.
9028 (next_window): Reverse the handling of NEXT_P.
9029
53654733
GM
90302000-07-04 Gerd Moellmann <gerd@gnu.org>
9031
87efd256
GM
9032 * window.c (Vwindow_list): New variable.
9033 (make_window, delete_window): Set Vwindow_list to nil.
9034 (check_window_containing): New function.
9035 (window_from_coordinates): Rewritten.
9036 (add_window_to_list, window_list, candidate_window_p)
9037 (decode_next_window_args, next_window): New functions.
52283633 9038 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
9039 (Fwindow_list): New function.
9040 (Fother_window): Cleaned up.
9041 (foreach_window): Add a longer "variable argument list". Let
9042 callback function return 0 to indicate that cycling over windows
9043 should stop.
9044 (foreach_window_1): Likewise.
9045 (freeze_window_start): Return int.
9046 (init_window): New function.
9047 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
9048
9049 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
9050 input_event with bzero.
9051 (main): Call init_window.
9052
53654733
GM
9053 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9054 a menu filter.
9055
4a8c194f
KH
90562000-07-04 Kenichi Handa <handa@etl.go.jp>
9057
9058 * composite.h (make_composition_value_copy): Extern it.
9059
9060 * composite.c (make_composition_value_copy): New function.
9061
9062 * editfns.c (Fformat): While copying text properties, make each
9063 composition property value a copy.
9064
9065 * fns.c (concat): While copying text properties, make each
9066 composition property value a copy.
9067
831a6cb0
GM
90682000-07-03 Gerd Moellmann <gerd@gnu.org>
9069
2f516940
GM
9070 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9071
178c5d9c 9072 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9073 marked already.
9074
831a6cb0
GM
9075 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9076 include those frames as candidates which have their focus
9077 redirected to the minibuffer frame.
9078
d9c4f922
SM
90792000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9080
9081 * fns.c (Fputhash): Return `value' rather than nil.
9082
3780bc22
GM
90832000-06-30 Gerd Moellmann <gerd@gnu.org>
9084
97d176db
GM
9085 * frame.c (next_frame): Don't check focus redirection in case
9086 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9087 unless their focus is redirected, which contradicts the
9088 specification of next-frame, and leads to infinite loops in
9089 certain situations when cycling through windows with next-window.
9090
dca9961d
KH
90912000-06-30 Kenichi Handa <handa@etl.go.jp>
9092
9093 * coding.c (code_convert_region): Even if the length of text is
9094 zero, try to convert it if coding->type is coding_type_ccl.
9095 (decode_coding_string, encode_coding_string): Likewise.
9096
d5483ab1
GM
90972000-06-28 Gerd Moellmann <gerd@gnu.org>
9098
af5c25e1 9099 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9100 the display if windows_or_buffers_changed.
af5c25e1
GM
9101
9102 * dispnew.c (struct row_entry): New structure.
9103 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9104 (row_table_size, old_lines, new_lines, old_lines_size)
9105 (new_lines_size, run_pool, runs_size, runs): New variables.
9106 (add_row_entry): New function.
9107 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9108 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9109 holding them in local variables. Use a larger hash table whose
9110 size depends on glyph matrix sizes. Don't use bzero to clear the
9111 hash table; instead, clear used slots only.
9112
9113 * fns.c (next_almost_prime): Make it externally visible.
9114
9115 * lisp.h (next_almost_prime): Add prototype.
9116
d5483ab1
GM
9117 * s/isc4-0.h (sigunblock): Define.
9118
9119 * s/sco5.h (sigunblock): Define.
9120
93e40f40
DL
91212000-06-27 Dave Love <fx@gnu.org>
9122
9123 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9124 (moved to osf5-0.h).
9125 [!NOT_C_CODE]: Protect string.h stuff.
9126
9127 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9128 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9129
3c4b7685
GM
91302000-06-27 Gerd Moellmann <gerd@gnu.org>
9131
97d176db 9132 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9133 below the last line from the needed window height.
9134
32cad0aa
SM
91352000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9136
9137 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9138 (Fwidget_get): Use it.
9139 (syms_of_fns): Defsubr it.
9140
2c69ced2
GM
91412000-06-26 Gerd Moellmann <gerd@gnu.org>
9142
178c5d9c 9143 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9144 display info for XIM.
9145 (xim_open_dpy): Likewise.
9146 (xim_close_dpy): Don't free the display info's XIM.
9147
9148 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9149
9150 * config.in (USE_XIM): New define.
9151
3fc720e4
GM
9152 * keymap.c (get_keyelt): For menu-items containing a `:filter
9153 FILTER', apply FILTER to the menu-item's definition to get the
9154 real definition to use.
9155
9156 * lisp.h (QCfilter): External declaration.
9157
2c69ced2
GM
9158 * xfns.c (Fimage_size): New function.
9159 (syms_of_xfns): Defsubr it.
9160
f978b2a2
AS
91612000-06-26 Andreas Schwab <schwab@suse.de>
9162
9163 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9164 Fstring_as_unibyte.
9165
94cc7892
DL
91662000-06-25 Dave Love <fx@gnu.org>
9167
52283633 9168 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9169
9170 * Makefile.in (blockinput.h): Depend on atimer.h.
9171 (atimer.h): Depend on systime.h.
9172
52283633 9173 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9174
52283633 9175 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9176
9177 * lisp.h (swap_in_global_binding): Declare.
9178
b8c24556
KR
91792000-06-24 Ken Raeburn <raeburn@gnu.org>
9180
9181 * process.c (Fopen_network_stream): Turn off atimers for duration
9182 of call to connect. (Patch from Gerd.)
9183
8cf8560b
DL
91842000-06-23 Dave Love <fx@gnu.org>
9185
511c7541
DL
9186 * ralloc.c: Maybe include unistd.h
9187
8cf8560b
DL
9188 * emacs.c (setgrp): Undefine before defining.
9189 (malloc_warning, set_time_zone_rule, index): Prototype.
9190
9191 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9192 HAVE_STRUCT_TIMEZONE.
9193
9194 * s/osf1.h: Move string.h hack here from alpha.h and make it
9195 conditional.
9196 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9197 _XOPEN_SOURCE.
9198 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9199 (SOCKLEN_TYPE): Don't define.
9200
9201 * m/alpha.h: Remove string.h hack.
9202
9203 * s/osf5-0.h: New file.
9204
9205 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9206 include time.h, done by systime.h.
9207 [__FreeBSD__]: Remove redundant includes.
9208
3fc720e4 9209 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9210 (delete_temp_file): Return Qnil to avoid warning.
9211
9212 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9213
9214 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9215 HAVE_X_WINDOWS.
9216
9217 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9218
9219 * composite.h (compose_text): Declare.
9220
9221 * xterm.c: Don't include sys/types.h unconditionally. Don't
9222 protect its inclusion with !USG (following xmenu.c).
9223
ea055732
GM
92242000-06-23 Gerd Moellmann <gerd@gnu.org>
9225
9226 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9227 in x_create_frame.
9228
74b01b80
EZ
92292000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9230
9231 * coding.c (decode_eol_post_ccl): Special handling for undecided
9232 and inconsistent EOL types.
9233
64f3a166
GM
92342000-06-22 Gerd Moellmann <gerd@gnu.org>
9235
16cf31f7
GM
9236 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9237 trough color and main window's background color.
9238
52283633 9239 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9240
9241 * xterm.h (Xt_app_con): External declaration.
9242
9243 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9244
486a103d
GM
9245 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9246
64f3a166
GM
9247 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9248 (handle_invisible_prop): Record the start of invisible text in
9249 it->add_overlay_start.
9250 (struct overlay_entry): Add member `overlay'.
9251 (handle_overlay_change): Simplify.
9252 (next_overlay_string): After having processed overlay strings at the
9253 end of the buffer, record that fact in
9254 it->overlay_strings_at_end_processed_p.
9255 (compare_overlay_entries): If before- and after-strings come
9256 from the same overlay, let before-strings come first.
9257 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9258 (load_overlay_strings): Take it->add_overlay_start into account
9259 when adding overlay strings.
9260
9261 * dispextern.h (struct it): Add member add_overlay_start.
9262
bb746ea6
DL
92632000-06-22 Dave Love <fx@gnu.org>
9264
9265 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9266
9267 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9268
a8f573f3
KH
92692000-06-22 Kenichi Handa <handa@etl.go.jp>
9270
9271 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9272 is greater than 0.
9273
9f2bbc92
DL
92742000-06-21 Dave Love <fx@gnu.org>
9275
178c5d9c 9276 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9277
3ee5041c
SM
92782000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9279
9280 * syntax.c (back_comment): Simplify string-parity counting (with
9281 the added benefit of handling multiple string-styles as long as
9282 they are not intertwined).
9283 Jump to the slow code as soon as a comment starter is found in
9284 a "string_lossage" position. Fixes the case: " /* " /* " */.
9285
4c343001
DL
92862000-06-21 Dave Love <fx@gnu.org>
9287
9288 * Makefile.in: Use GETLOADAVG_LIBS.
9289
9290 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9291 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9292
e6365855
SM
92932000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9294
9295 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9296 (Fforward_comment, scan_lists):
9297 Check the comstyle of single-char comment-starters.
9298 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9299 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9300 Check the comstyle of single-char comment-starters.
9301 Clarify control-flow around the Scomment case.
e6365855 9302
5700d2cc
DL
93032000-06-20 Dave Love <fx@gnu.org>
9304
d355bd8a
SM
9305 * fns.c (make_hash_table, maybe_resize_hash_table):
9306 Cast arg of next_almost_prime.
5700d2cc 9307
178c5d9c 9308 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9309
9310 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9311 and unistd.h.
9312
4a27bdfb
GM
93132000-06-20 Gerd Moellmann <gerd@gnu.org>
9314
a61d762c 9315 * keyboard.c (adjust_point_for_property): Check if display
52283633 9316 property should be treated as intangible by looking at its value.
a61d762c 9317
178c5d9c 9318 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9319 (display_prop_intangible_p): New functions.
9320
9321 * dispextern.h (display_prop_intangible_p): Add prototype.
9322
9323 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9324
4a27bdfb
GM
9325 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9326 argument to sigprocmask.
9327
9328 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9329 argument to sigprocmask.
9330
9331 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9332 sigprocmask_set, and pass a pointer to it to sigprocmask.
9333
9334 * sysdep.c (sigprocmask_set): New variable.
9335
9336 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9337 report_file_error.
9338
427ec082
SS
93392000-06-20 Sam Steingold <sds@gnu.org>
9340
9341 * xrdb.c: Don't declare xmalloc, xrealloc.
9342
8972fe79 93432000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9344
9345 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9346 (re_comp): Cast gettext return value to avoid complaints when
9347 !HAVE_LIBINTL.
9348
074b6efe
DL
93492000-06-20 Dave Love <fx@gnu.org>
9350
52283633 9351 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9352
5700d2cc 9353 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9354
d355bd8a 9355 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9356
9357 * m/alpha.h: Don't declare xmalloc, xrealloc.
9358
0af4f205
DL
9359 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9360
9361 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9362
9363 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9364
9365 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9366 HAVE_GETWD.
9367
074b6efe
DL
9368 * keyboard.h (poll_for_input_1): Declare.
9369
9370 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9371
9372 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9373
9374 * doprnt.c: Don't declare xmalloc, xrealloc.
9375
9376 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9377 (getenv, ctime, getwd): Removed.
9378 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9379
9380 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9381 x_set_tool_bar_lines.
9382
9383 * config.in: Add HAVE_GETWD. Move some definitions above
9384 machine/system includes.
9385
68a5e97b
KH
93862000-06-20 Kenichi Handa <handa@etl.go.jp>
9387
95417e1e
KH
9388 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9389
68a5e97b
KH
9390 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9391 contain information about ENCODING.
9392
9393 * fontset.c (FONTSET_ASCII): Use the first element of char table
9394 for an ASCII font, not defalt slot.
9395 (fontset_ref_via_base): If FONTSET doesn't contain information for
9396 C, try the default fontset.
9397 (make_fontset): Don't copy the default fontset.
9398 (fontset_font_pattern): Likewise.
9399 (accumulate_font_info): If ELT is nil, use the corresponding
9400 element in the default fontset.
9401
3b4fa1b2
DL
94022000-06-19 Dave Love <fx@gnu.org>
9403
943e731c
DL
9404 * syntax.c (Fparse_partial_sexp): Doc fix.
9405
9406 * regex.h: Test PROTOTYPES as well as __STDC__.
9407
3b4fa1b2
DL
9408 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9409 errno, strerror. Put text after #endif in comment.
9410
52283633 9411 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9412
9413 * xterm.c (x_frame_of_widget): Likewise.
9414
cdf0357b
GM
94152000-06-19 Gerd Moellmann <gerd@gnu.org>
9416
9417 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9418 to Vfundamental_mode_abbrev_table.
9419
9420 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9421 bogus objects are marked. This slows down GC by ~80 percent, but
9422 it might be worth trying when debugging GC-related problems.
9423 This feature requires conservative stack marking to be enabled.
9424
9425 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9426 returns XLookupChars, reset `modifiers' to zero.
9427
998e9f8c
DL
94282000-06-19 Dave Love <fx@gnu.org>
9429
9430 * mktime.c: Unprotoized.
9431
18e21ce8 94322000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9433
9434 * data.c (set_internal): If variable is frame-local,
9435 store the new value immediately into the frame parameter alist.
9436
140c4ac6
KR
94372000-06-19 Ken Raeburn <raeburn@gnu.org>
9438
14358466
KR
9439 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9440 in the custom handler pointer.
9441
140c4ac6
KR
9442 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9443 value, or checks for CHAR_META can fail when Lisp_Object is a
9444 union type.
9445 * keymap.c (get_keyelt): Likewise.
9446
10d7bf84
KH
94472000-06-19 Kenichi Handa <handa@etl.go.jp>
9448
9449 * ccl.h (struct ccl_program): New member eol_type.
9450 (struct ccl_spec): New member cr_carryover.
9451
9452 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9453 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9454
9455 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9456 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9457 (decode_eol_post_ccl): New function.
9458 (decode_coding): Don't detect EOL format here for CCL based coding
9459 systems.
9460 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9461 decode_eol_post_ccl after running the CCL program.
9462 (code_convert_region): Don't detect EOL format here for CCL based
9463 coding systems.
9464 (decode_coding_string): Likewise.
9465
52e386c2
KR
94662000-06-18 Ken Raeburn <raeburn@gnu.org>
9467
9468 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9469 when treating it as an integer.
9470
9471 * coding.h (encode_coding_string): Declare.
9472
9473 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9474 it as an integer.
9475
9476 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9477 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9478 to be passed to get_local_map.
9479
9480 * sound.c (Fplay_sound): Don't call make_number on
9481 Frun_hook_with_args count argument.
9482
9483 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9484 for lisp objects in X event structure data field, when lisp
9485 objects are represented with unions.
9486 (x_scroll_bar_to_input_event): Ditto.
9487
b357b9d4
KR
94882000-06-16 Ken Raeburn <raeburn@gnu.org>
9489
9490 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9491 termination of string. Fix sense of test whether
9492 Vline_number_display_limit is an integer.
b357b9d4 9493
a871441d
GM
94942000-06-16 Gerd Moellmann <gerd@gnu.org>
9495
a9021acd
GM
9496 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9497 only if HAVE_X_WINDOWS.
9498
6344985d
GM
9499 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9500 of titles.
9501
427ec082 9502 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9503 out of bounds.
9504
228b083e
EZ
95052000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9506
9507 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9508 of its headers.
9509
c25b53a2
KH
95102000-06-15 Kenichi Handa <handa@etl.go.jp>
9511
9512 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9513 start of the while loop.
9514
a6981b11
GM
95152000-06-15 Gerd Moellmann <gerd@gnu.org>
9516
e9924e52
GM
9517 * atimer.c (alarm_signal_handler): Add forward declaration.
9518
a6981b11
GM
9519 * data.c (set_internal): Remove debug code.
9520
25fa6deb
GM
95212000-06-14 Gerd Moellmann <gerd@gnu.org>
9522
dce6b995
GM
9523 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9524
9f817ea4
GM
9525 * unexec.c (toplevel) [COFF]: Include coff.h.
9526
9527 * s/lynxos.h: New file.
9528
9529 * keymap.c (Fsingle_key_description): Enclose function key and
9530 event symbol names in angle brackets.
9531
8a4e3c0c
GM
9532 * xdisp.c (setup_echo_area_for_printing): Call
9533 message_log_maybe_newline if message_buf_print is not set.
9534
9535 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9536 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9537 function does something useful even when message_buf_print is
9538 already set.
9539
52283633
SM
9540 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9541 New variables.
25fa6deb
GM
9542 (ensure_echo_area_buffers): Initialize echo buffer's
9543 truncate lines setting to nil.
9544 (with_echo_area_buffer): Don't set the echo buffer's truncate
9545 lines setting here.
8a4e3c0c 9546 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9547 of message_truncate_lines.
9548 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9549 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9550 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9551
9552 * keyboard.c (read_char): Bind message-truncate-lines to t
9553 while displaying a help-echo.
9554
9555 * lisp.h (Qmessage_truncate_lines): External declaration.
9556
163dcff3
GM
95572000-06-13 Gerd Moellmann <gerd@gnu.org>
9558
1681ead6
GM
9559 * xdisp.c (Vline_number_display_limit): Renamed from
9560 line_number_display_limit.
9561 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9562 Extend documentation string. Initialize
9563 Vline_number_display_limit to nil meaning no limit.
9564 (decode_mode_spec): Use Vline_number_display_limit with its new
9565 meaning.
9566
163dcff3
GM
9567 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9568
18e21ce8 95692000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9570
9571 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9572
163dcff3
GM
9573 * xfns.c (x_set_frame_parameters): Comment fix.
9574
9575 * frame.c (store_frame_param): Call swap_in_global_binding if the
9576 variable's current binding was chosen based on this frame.
9577
9578 * data.c (swap_in_global_binding): New function.
9579
a704139d
EZ
95802000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9581
9582 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9583 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9584
9b6610db
EZ
95852000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9586
9587 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9588
c68833d2
JR
95892000-06-12 Jason Rumney <jasonr@gnu.org>
9590
9591 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9592
9593 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9594
9595 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9596
9597 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9598
ed1056b3
GM
95992000-06-12 Gerd Moellmann <gerd@gnu.org>
9600
9601 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9602 (syms_of_xfaces): Defsubr Sdump_colors.
9603 (x_free_colors): Don't treat b&w specially on default visual.
9604 (x_free_dpy_colors): New function.
9605 (free_face_colors): Don't check visual class; it's done
9606 in x_free_colors.
9607
9608 * xterm.c (x_frame_of_widget): New function.
9609 (x_alloc_nearest_color_for_widget): Use it.
9610 (x_copy_dpy_color): New function.
9611 (x_destroy_window): Free various colors.
9612
5050a2ef
KH
96132000-06-12 Kenichi Handa <handa@etl.go.jp>
9614
9615 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9616
9617 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9618
9619 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9620
9621 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9622
9623 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9624
fb1b041d
DL
96252000-06-11 Dave Love <fx@gnu.org>
9626
9627 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9628
ff96b5f4
EZ
96292000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9630
9631 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9632
db8eeecd
GM
96332000-06-11 Gerd Moellmann <gerd@gnu.org>
9634
ed1056b3 9635 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9636 to `XEvent *'.
9637
49b71c5f
KH
96382000-06-10 Kenichi Handa <handa@etl.go.jp>
9639
c479bd55
KH
9640 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9641 (regex_compile): Fix the code for handling the case of single byte
9642 char and multibyte char being mixed in a range within [...].
9643
ff6a65c2
KH
9644 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9645 and dst_multibyte members of coding.
9646
49b71c5f
KH
9647 * charset.c (update_charset_table): Update the table
9648 bytes_by_char_head.
9649 (init_charset_once): Initialize elements of bytes_by_char_head to
9650 1 except for leading codes for private charases.
9651
9652 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9653 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9654
9e80b57d
KR
96552000-06-09 Ken Raeburn <raeburn@gnu.org>
9656
9657 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9658 access the data it doesn't point to.
9659
f83fe4b4
GM
96602000-06-08 Gerd Moellmann <gerd@gnu.org>
9661
9662 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9663 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9664 event queue. This is necessary because Emacs otherwise won't
9665 perform a switch-frame to a new frame until some other event, for
9666 example a keystroke event, forces it to do so. This has various
9667 effects, one visible being that the cursor of a frame created with
9668 C-x 5 2 or switched to with a window manager key binding like
9669 A-TAB stays hollow because selected_window isn't on the newly
9670 focused frame until the switch-frame is performed.
9671
9672 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9673 generating a switch-frame event if necessary.
9674
9675 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9676
9677 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9678 it's an integer.
9679
0890801b
KH
96802000-06-08 Kenichi Handa <handa@etl.go.jp>
9681
52283633 9682 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9683
173cbca8
GM
96842000-06-07 Gerd Moellmann <gerd@gnu.org>
9685
3091c2a6
GM
9686 * window.c (displayed_window_lines): Take empty lines at
9687 the bottom of a window into account.
427ec082 9688
f38952fe
GM
9689 * window.c (displayed_window_lines): New function.
9690 (Fmove_to_window_line): Use displayed_window_lines to determine
9691 the number of lines to move, instead of using the window's height.
9692
9693 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9694 to stop reading, even if the form read sets point to a different
9695 value when evaluated.
9696
427ec082 9697 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9698 put the cursor.
9699
6ba6c818
KH
97002000-06-07 Kenichi Handa <handa@etl.go.jp>
9701
9702 * fileio.c (e_write): Free composition data if stored in
9703 coding->cmp_data.
9704
5f1aea9a
GM
97052000-06-06 Gerd Moellmann <gerd@gnu.org>
9706
666852af
GM
9707 * xdisp.c (display_line): Set row's and iterator's
9708 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9709 Set cursor even if row ends in the middle of a character.
9710 (dump_glyph_row): Print values of new flags.
9711 (redisplay_window) <cursor movement in unchanged window>: When
9712 point has been moved forward, and PT is at the end of the cursor
9713 row, don't place the cursor in the next row if the cursor row ends
9714 in the middle of a character or at ZV.
9715
9716 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9717 (struct glyph_row): Add starts_in_middle_of_char_p and
9718 ends_in_middle_of_char_p.
9719 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9720 ends_in_middle_of_char_p flag.
9721 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9722
d13f3e2e
GM
9723 * term.c (append_glyph): Revert change of 2000-06-06.
9724
9725 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9726 padding glyph not fitting on line as whole character not
9727 fitting on line.
9728
5f1aea9a
GM
9729 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9730 this isn't true for images with `:ascent 100'.
9731
10cda9b0
KH
97322000-06-06 Kenichi Handa <handa@etl.go.jp>
9733
ed00559d
KH
9734 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9735 as modified if it is originally unmodified.
9736
10cda9b0
KH
9737 * term.c (encode_terminal_code): Change the way to check if
9738 terminal coding does any conversion.
9739 (append_glyph): Set glyph->pixel_width correctly.
9740
9741 * xdisp.c (display_line): While checking line continuation, pay
9742 attention to a padding glyph.
9743
1969fae2
GM
97442000-06-05 Gerd Moellmann <gerd@gnu.org>
9745
9746 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9747
162ccef4
DL
97482000-06-05 Dave Love <fx@gnu.org>
9749
f19f32dd
DL
9750 * xdisp.c: Include fontset.h.
9751
9752 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9753
9754 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9755
9756 * dispnew.c: Conditionally include term.h.
9757
9758 * coding.h: Declare code_convert_string_norecord.
9759
9760 * frame.h (struct frame): Use volatile unconditionally.
9761
9762 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9763
9764 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9765
9766 * systime.h: Protect against multiple inclusion.
9767 (timezone) [USG5_4]: Define as time_t.
9768
9769 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9770 (Foptimize_char_table, make_temp_name): Declare.
9771
9772 * Makefile.in (xdisp.o): Depend on fontset.h.
9773
9774 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9775
9776 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9777 (Foptimize_char_table, make_temp_name): Declare.
9778
427ec082 9779 * s/irix4-0.h:
162ccef4
DL
9780 * s/irix5-0.h:
9781 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9782
2082fe81
DL
97832000-06-02 Dave Love <fx@gnu.org>
9784
9785 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9786
dcf671d2
GM
97872000-06-02 Gerd Moellmann <gerd@gnu.org>
9788
9789 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9790 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9791 be freed.
9792
9793 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9794 glyph, use the ASCII NUL character to determine the face.
9795
d42122a3
DL
97962000-06-02 Dave Love <fx@gnu.org>
9797
9798 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9799 (VFORK_RETURN_TYPE): Remove.
427ec082 9800
d42122a3
DL
9801 * config.in: Add NO_MATHERR.
9802
dd432f16
DL
98032000-06-01 Dave Love <fx@gnu.org>
9804
90aa4ea8
DL
9805 * cmds.c (internal_self_insert): Don't check
9806 Vbefore_change_function, Vafter_change_function.
9807
9808 * insdel.c (signal_before_change, signal_after_change): Likewise.
9809
9810 * buffer.c (Vbefore_change_function, Vafter_change_function):
9811 Variables and their initializations deleted.
9812
2330c9d4
DL
9813 * callint.c (Fcall_interactively): Doc fix.
9814
dd432f16
DL
9815 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9816
bf9e8804
DL
98172000-05-31 Dave Love <fx@gnu.org>
9818
9819 * textprop.c: Revert last change -- duplicated.
9820
3694b4ab
GM
98212000-05-31 Gerd Moellmann <gerd@gnu.org>
9822
9823 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9824 in #if 0.
9825
9826 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9827
f14156cd
JR
98282000-05-31 Jason Rumney <jasonr@gnu.org>
9829
8119aab8
JR
9830 * search.c (Fre_search_forward, Fre_search_backward)
9831 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9832
f14156cd
JR
9833 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9834
4aab9be3
JR
98352000-05-30 Jason Rumney <jasonr@gnu.org>
9836
9837 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9838 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9839
52283633 9840 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9841
9842 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9843 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9844 expand a nil default_filename.
9845
9846 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9847 pointer to glyph_to_pixel_coords, not a frame.
9848
9849 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9850 coding.h to dependencies.
9851
9852 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9853
9854 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9855 window pointer to be consistent with w32term.c and xterm.c.
9856
9857 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9858 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9859 (Qline_spacing, Qcenter): New variables.
9860 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9861 (x_set_line_spacing): New function.
52283633 9862 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9863 (x_specified_cursor_type): New function.
9864 (x_set_cursor_type): Use it.
9865 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9866 and icon strings.
9867 (validate_x_resource_name, x_get_resource_string): Measure lengths
9868 of external strings in bytes.
9869 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9870 GetTextExtentPoint32 with NULL title.
9871 (Fx_create_frame): Initialize Qline_spacing.
9872 (w32_load_system_font): Initialize font->double_byte_p.
9873 (x_to_w32_charset): Use Vw32_charset_info_alist.
9874 (Image, busy cursor, tooltip functions): Merged changes from
9875 xfns.c. Not yet functional on Windows.
9876
9877 * w32gui.h (W32FontStruct): Add double_byte_p member.
9878
9879 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9880 (emacs_button_translation): Use it.
9881 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9882 in `mask' to be set.
9883
9884 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9885 menu strings.
9886
9887 * w32term.c: Format and doc changes to bring closer to xterm.c.
9888 (w32_char_font_type): New enum.
9889 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9890 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9891 (w32_encode_char): New function.
9892 (x_encode_char): Removed.
9893 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9894 x_encode_char and w32_font_is_double_byte.
9895 (x_produce_image_glyph): Use image_ascent.
9896 (x_produce_glyphs): Use new version of w32_per_char_metric and
9897 handle NULL return value. Allow extra line spacing.
9898 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9899 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9900 w32_font_type member of glyph instead.
9901 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9902 (fast_find_position): Make sure not to consider rows not visible
9903 in the window.
9904 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9905 w32_menu_display_help with input blocked, as it can abort.
9906 (x_display_and_set_cursor): Choose cursor depending
9907 on buffer-local value of cursor_type.
9908 (x_draw_bar_cursor): Add parameter WIDTH.
9909
9910 * w32term.h (CP_DEFAULT): Define.
9911 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9912
10fc3187
GM
99132000-05-30 Gerd Moellmann <gerd@gnu.org>
9914
9915 * search.c (Fre_search_forward, Fre_search_backward)
9916 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9917
d0555360
KH
99182000-05-30 Kenichi Handa <handa@etl.go.jp>
9919
9920 * coding.c (detect_coding_iso2022): Fix code for checking
9921 CODING_CATEGORY_MASK_ISO_8_2.
9922
f1ad044f
SM
99232000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9924
9925 * regex.c (PREFETCH_NOLIMIT): New function.
9926 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9927
84ec3b4b
GM
99282000-05-29 Gerd Moellmann <gerd@gnu.org>
9929
66254a13
GM
9930 * syntax.c (find_defun_start): Move test for
9931 open_paren_in_column_0_is_defun_start outside of the loop.
9932
49e70dec
GM
9933 * xdisp.c (redisplay_window): Really switch buffers when
9934 displaying mode lines, and temporarily set selected_frame to the
9935 frame of the window that's redisplayed.
9936
84ec3b4b
GM
9937 * xfaces.c (free_realized_faces): Block/unblock input.
9938 (free_realized_multibyte_face): Ditto.
9939
869a3a14
DL
99402000-05-29 Dave Love <fx@gnu.org>
9941
9942 * textprop.c (Qkeymap): New variable.
9943 (syms_of_textprop): Intern it.
9944
9945 * keymap.c: Include intervals.h.
9946 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9947
9948 * Makefile.in (keymap.o): Depend on intervals.h.
9949
9950 * keyboard.c (menu_bar_items, tool_bar_items)
9951 (Fexecute_extended_command): Deal with `keymap' property.
9952 (read_key_sequence): Track map from `keymap' property as well as
9953 `local_map'.
9954
9955 * intervals.c (get_local_map): Extra arg to allow looking for
9956 `keymap' too.
9957
9958 * intervals.h (map_property): New enum.
9959 (get_local_map): Extra arg using it.
9960 (Qkeymap): Declare.
9961
84ec3b4b 9962 * lisp.h (get_local_map): Don't declare here.
869a3a14 9963
89d0c844
KH
99642000-05-29 Kenichi Handa <handa@etl.go.jp>
9965
9966 * Makefile.in (callproc.o): Depend on composite.h.
9967
9968 * callproc.c: Include composite.h.
9969 (Fcall_process): Handle composition correctly.
9970
9971 * coding.h (coding_allocate_composition_data): Extern it.
9972 (coding_restore_composition): Likewise.
9973
9974 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9975 yet allocated, finish decoding with result
9976 CODING_FINISH_INSUFFICIENT_CMP.
9977 (coding_allocate_composition_data): Make it non-static.
9978 (coding_restore_composition): Likewise.
9979
797a084a
EZ
99802000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9981
9982 * charset.c (syms_of_charset): Revert last change.
9983
cf872af5
EZ
99842000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9985
9986 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9987 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9988 Handa.
cf872af5 9989
5b1ae051
EZ
99902000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9991
9992 * charset.c (syms_of_charset): Set width of character sets
9993 eight-bit-control and eight-bit-graphic to 1 column.
9994
34ec9ebe
GM
99952000-05-26 Gerd Moellmann <gerd@gnu.org>
9996
9997 * config.in (HAVE_SPEED_T): New define.
9998
9999 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
10000 `extern speed_t'.
10001
dd854dc2
DL
100022000-05-26 Dave Love <fx@gnu.org>
10003
10004 * coding.c (shrink_decoding_region): Initialize eol_conversion.
10005
10006 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
10007 (Fsubr_arity): New function.
10008 (syms_of_data): Install them.
10009
ba9f8f95
KH
100102000-05-26 Kenichi Handa <handa@etl.go.jp>
10011
0f3e0672
KH
10012 * charset.c (init_charset_once): Set the table bytes_by_char_head
10013 correctly.
10014
cebefb44
KH
10015 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
10016 the default fontset to what Emacs uses by default.
0f3e0672
KH
10017 (check_registry_encoding): This function deleted.
10018 (Fset_fontset_font): Remove the adhoc condition for the default
10019 fontset. Allow cons in FONTNAME.
cebefb44 10020
0f3e0672
KH
10021 * fns.c (map_char_table): Ignore char-table entries for
10022 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 10023
7a18af49
KR
100242000-05-25 Ken Raeburn <raeburn@gnu.org>
10025
10026 * emacs.c (main): Initialize keyboard syms before initializing
10027 window code, so face names are available.
10028
d2af47df
SM
100292000-05-25 Stefan Monnier <monnier@cs.yale.edu>
10030
10031 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
10032 of an anchor at the beginning of a shy-group.
10033
fc6a6a4e
GM
100342000-05-25 Gerd Moellmann <gerd@gnu.org>
10035
10036 * xdisp.c (handle_invisible_prop): Don't try to skip over
10037 invisible text if end of text is already reached.
10038
005f0d35
DL
100392000-05-25 Dave Love <fx@gnu.org>
10040
02513cdd
DL
10041 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
10042
005f0d35
DL
10043 * coding.c (encode_eol): Add null statement after label.
10044
89f6ca4e
EZ
100452000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
10046
10047 * w16select.c (Fw16_set_clipboard_data): Fix the change from
10048 2000-05-20.
10049
a4e1759e
KH
100502000-05-25 Kenichi Handa <handa@etl.go.jp>
10051
10052 * ccl.c (ccl_driver): Fix previous change.
10053
eacfd7fe
KH
100542000-05-25 Kenichi Handa <handa@etl.go.jp>
10055
46ab33a9
KH
10056 * coding.c (run_pre_post_conversion_on_str): Set point to the
10057 beginning of buffer before calling coding->post_read_conversion.
10058 (decode_coding_string): Give correct args to
10059 run_pre_post_conversion_on_str.
10060 (encode_coding_string): Likewise.
10061
eacfd7fe
KH
10062 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10063 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10064 eight-bit-graphic correctly.
10065
f8569325
DL
100662000-05-24 Kenichi HANDA <handa@etl.go.jp>
10067
10068 * fileio.c (Finsert_file_contents): Even if a file is not found,
10069 execute codes for setting up coding system. Call
10070 after-insert-file-functions unconditionally.
10071
04545643
GM
100722000-05-24 Gerd Moellmann <gerd@gnu.org>
10073
10074 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10075 BSD_PGRPS are not defined.
10076
747d90ea
KH
100772000-05-24 Kenichi Handa <handa@etl.go.jp>
10078
10079 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10080 DESCRIPTION.
10081 (syms_of_charset): Avoid building same strings.
10082
716e3b88
GM
100832000-05-23 Gerd Moellmann <gerd@gnu.org>
10084
10085 * lread.c (Fload): Add a comment about the meaning of
10086 Vuser_init_file being t.
10087
10088 * puresize.h (BASE_PURESIZE): Increase to 675000.
10089
10090 * s/gnu-linux.h (setpgrp): Don't define it here because this
10091 prevents compilation on GNU/Linux systems with glib 2.2.
10092
10093 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10094 as setpgid.
427ec082 10095
9aeb39fa
EZ
100962000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10097
10098 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10099 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10100 version.
10101 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10102
29ced61b
KH
101032000-05-23 Kenichi Handa <handa@etl.go.jp>
10104
52283633 10105 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10106
3d80f24d
KH
10107 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10108
52283633 10109 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10110
29ced61b
KH
10111 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10112
d7e00792
KH
101132000-05-22 Kenichi Handa <handa@etl.go.jp>
10114
c9d80d38
KH
10115 * keyboard.c (read_char): Allow character codes 128..255 to be
10116 handled by input-method-function.
10117
d7e00792
KH
10118 * insdel.c (adjust_markers_for_replace): Fix previous change.
10119 (adjust_after_replace): If PREV_TEXT is nil, call
10120 adjust_markers_for_insert, not adjust_markers_for_replace.
10121
087121cc 101222000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10123
087121cc
GM
10124 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10125 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10126 [HAVE_GRANDPT]: Define.
10127 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10128
10129 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10130 like SYSV_PTYS.
10131
10132 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10133
10134 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10135
c9671f81
KH
101362000-05-20 Kenichi Handa <handa@etl.go.jp>
10137
10138 The following changes are to handle 8-bit characters in a
10139 multibyte buffer/string without facing with byte combining
10140 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10141 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10142
10143 * Makefile.in (fns.o): Depend on charset.h.
10144
10145 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10146 convert it to unibyte.
10147 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10148
10149 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10150 apparent char boundary.
10151 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10152 0x80..0x9F to/from multibyte form.
10153
10154 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10155 to unibyte.
10156
10157 * callproc.c (Fcall_process): Always encode an argument string if
10158 it is multibyte. Setup src_multibyte and dst_multibyte members of
10159 process_coding properly.
ce75fd23 10160
c9671f81
KH
10161 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10162 SPLIT_NON_ASCII_CHAR.
10163
10164 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10165 as is.
10166 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10167
52283633 10168 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10169 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10170 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10171 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10172 and eight-bit-graphic.
10173 (char_to_string): Likewise. Signal an error for too large
10174 character code.
10175 (char_printable_p): Return 0 for 8-bit characters.
10176 (update_charset_table): Update iso_charset_table only when a final
10177 character is non-negative.
10178 (find_charset_in_text): Renamed from find_charset_in_str.
10179 Arguments and return value changed. Callers changed.
10180 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10181 be -1 if CHARSET is used only internally.
10182 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10183 eight-bit-graphic.
10184 (Fcharset_after): Simplified.
10185 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10186 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10187 (multibyte_chars_in_text): Simplified by assuming there's no
10188 invalid multibyte sequence.
52283633
SM
10189 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10190 (str_as_unibyte): New functions.
10191 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10192 (init_charset_once): Initialization for
10193 LEADING_CODE_8_BIT_CONTROL.
10194 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10195 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10196 eight-bit-control and eight-bit-graphic.
10197
52283633
SM
10198 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10199 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10200 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10201 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10202 (CHARSET_REVERSE_CHARSET): Likewise.
10203 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10204 eight-bit-graphic.
10205 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10206 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10207 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10208 encounter an invalid multibyte sequence.
10209 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10210 sequence is always valid.
10211 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10212 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10213 (CHAR_STRING): For 8-bit characters, call char_to_string.
10214 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10215 multibyte sequence is always valid.
10216 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10217 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10218 (str_as_unibyte): Extern them.
c9671f81 10219 (BCOPY_SHORT): Fix a bug.
52283633 10220 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10221 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10222 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10223 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10224
bd4bde7f 10225 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10226 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10227 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10228 (EMIT_BYTES): New macros.
10229 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10230 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10231 macros deleted.
10232 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10233 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10234 check the validity of multibyte sequence.
10235 (decode_coding_emacs_mule): New function.
10236 (encode_coding_emacs_mule): New macro.
10237 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10238 the source.
10239 (DECODE_ISO_CHARACTER): Just return a character code.
10240 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10241 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10242 EMIT_CHAR to produced decoded characters. Exit the loop only by
10243 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10244 block here.
10245 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10246 only position codes for an invalid character.
10247 (encode_designation_at_bol): Return new destination pointer. 5th
10248 arg DSTP is changed to DST.
10249 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10250 from the source by ONE_MORE_CHAR. Don't handle the case of last
10251 block here.
10252 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10253 macros deleted.
52283633
SM
10254 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10255 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10256 TWO_MORE_BYTES to fetch a byte from the source.
10257 (encode_eol): Pay attention to coding->src_multibyte.
10258 (detect_coding, detect_eol): Preserve members src_multibyte and
10259 dst_multibyte.
10260 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10261 (encoding_buffer_size): Set magnification to 3 for all coding
10262 systems that require encoding.
10263 (ccl_coding_driver): For decoding, be sure that the result is
10264 valid multibyte sequence.
10265 (decode_coding): Initialize coding->errors and coding->result.
10266 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10267 and raw-text, always call decode_eol. Handle the case of last
10268 block here. If not coding->dst_multibyte, convert the resulting
10269 sequence to unibyte.
10270 (encode_coding): Initialize coding->errors and coding->result.
10271 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10272 and raw-text, always call encode_eol. Handle the case of last
10273 block here.
10274 (shrink_decoding_region, shrink_encoding_region): Detect cases
10275 that we can't skip data more rigidly.
10276 (code_convert_region): Setup src_multibyte and dst_multibyte
10277 members of coding. For decoding, if the buffer is multibyte,
10278 convert the source sequence to unibyte in advance. For encoding,
10279 if the buffer is multibyte, convert the resulting sequence to
10280 multibyte afterward.
10281 (run_pre_post_conversion_on_str): New function.
10282 (code_convert_string): Deleted and divided into the following two.
10283 (decode_coding_string, encode_coding_string): New functions.
10284 (code_convert_string1, code_convert_string_norecord): Call one of
10285 above.
10286 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10287 MAKE_NON_ASCII_CHAR.
52283633
SM
10288 (Fset_terminal_coding_system_internal)
10289 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10290 and dst_multibyte members.
10291 (init_coding_once): Initialize iso_code_class with new enum
10292 ISO_control_0 and ISO_control_1.
10293
10294 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10295 devided into ISO_control_0 and ISO_control_1.
10296 (struct coding_system): New members src_multibyte, dst_multibyte,
10297 errors, and result. Delete member fake_multibyte.
10298 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10299 nonzero.
10300 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10301 nonzero.
10302
10303 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10304 (Faset): Likewise.
10305
10306 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10307 multibyte form.
10308 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10309 combining occurs.
10310 (Ftranspose_region): Delete codes for handling byte combining.
10311
10312 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10313 dst_multibyte members of coding. On handling REPLACE on unibyte
10314 buffer, convert the result of decode_coding to unibyte. On
10315 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10316 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10317 multibyteness of the source (buffer or string).
10318
10319 * fns.c (concat): Handle 8-bit characters correctly.
10320 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10321 unibyte in the result.
10322 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10323 valid multibyte form in the result.
10324 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10325 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10326 return -1, signal an error.
10327 (base64_encode_1): New arg MULTIBYTE. Get each character by
10328 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10329 character is found, return -1.
10330 (Fbase64_decode_region): Delete codes for handling byte-combining.
10331 Treat each decoded byte as a unibyte character.
10332 (Fbase64_decode_string): Return unibyte string.
10333 (Fcompare_strings, concat, string_byte_to_char): Use
10334 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10335 FETCH_STRING_CHAR_ADVANCE.
10336 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10337 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10338
10339 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10340 SPLIT_NON_ASCII_CHAR.
10341 (fontset_ref_via_base, fontset_set): Likewise
10342
10343 * insdel.c (adjust_markers_for_record_delete): Deleted.
10344 (adjust_markers_for_insert): Argument changed. Caller changed.
10345 (adjust_markers_for_replace): Likewise.
52283633
SM
10346 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10347 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10348 (copy_text): Delete unused local varialbe c_save. For converting
10349 to multibyte, be sure to make all 8-bit characters in valid
10350 multibyte form.
10351 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10352 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10353 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10354 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10355 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10356 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10357 handling byte combining.
10358 (adjust_before_replace): Deleted.
427ec082 10359
c9671f81
KH
10360 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10361 SPLIT_NON_ASCII_CHAR.
10362 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10363 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10364 (Fkey_description): Likewise.
10365
10366 * lread.c (read1): On reading multibyte string, be sure to make
10367 all 8-bit chararacters in valid multibyte form.
10368 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10369
10370 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10371 unconditionally.
10372
10373 * process.c (Fstart_process): GCPRO current_dir before calling
10374 Ffind_operation_coding_system. Encode arguments here.
10375 (create_process): Don't encode arguments here. Setup
10376 src_multibyte and dst_multibyte members of struct coding.
10377 (read_process_output): Setup src_multibyte and dst_multibyte
10378 members of struct coding. If the output is to multibyte buffer,
10379 always decode the output of the process. Adjust the
52283633 10380 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10381 (send_process): Setup coding->src_multibyte according to the
10382 multibyteness of the source.
10383
52283633 10384 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10385 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10386 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10387
52283633 10388 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10389
10390 * w16select.c (Fw16_set_clipboard_data): Setup members
10391 src_multibyte and dst_multibyte of coding. Adjusted for the
10392 change for find_charset_in_str.
10393 (Fw16_get_clipboard_data): Likewise.
10394
10395 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10396 dst_multibyte of coding.
10397 (x_to_w32_font): Likewise.
10398
10399 * w32select.c (Fw32_set_clipboard_data): Setup members
10400 src_multibyte and dst_multibyte of coding. Adjusted for the
10401 change for find_charset_in_str.
10402 (Fw32_get_clipboard_data): Likewise.
10403
10404 * xdisp.c (get_next_display_element): Handle 8-bit characters
10405 correctly.
52283633
SM
10406 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10407 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10408
10409 * xselect.c (selection_data_to_lisp_data): Setup members
10410 src_multibyte and dst_multibyte of coding. Adjusted for the
10411 change for find_charset_in_str.
10412 (lisp_data_to_selection_data): Likewise.
10413
5f64c9e0
GM
104142000-05-19 Gerd Moellmann <gerd@gnu.org>
10415
52283633 10416 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10417
5f64c9e0
GM
10418 * dispextern.h (Vimage_types): Add extern declaration.
10419
10420 * xdisp.c (Vimage_types): Moved here from xfns.c.
10421 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10422
10423 * xfns.c (Vimages_types): Moved to xdisp.c.
10424 (syms_of_xfns): Move `image-types' to xdisp.c.
10425
10426 * w32fns.c (Vimage_types): Removed.
10427 (syms_of_w32fns): Remove `image-types'.
10428
813086ea
KH
104292000-05-18 Kenichi Handa <handa@etl.go.jp>
10430
10431 * fns.c (map_char_table): Pay attention to character number of
10432 charset. Check the validity of charset at the first level. For
10433 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10434 the default value.
10435
10436 * fontset.c: Include "buffer.h".
10437 (fs_load_font): If the face has fontset, record the face ID in
10438 that fontset.
10439 (Finternal_char_font): New function.
10440 (accumulate_font_info): New function.
10441 (Ffontset_info): Rewritten for the new fontset implementation.
10442 (syms_of_fontset): Register Vdefault_fontset in the first element
10443 of Vfontset_table. Include Vdefault_fontset in
10444 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10445 function.
10446
bdaebbf0
DL
104472000-05-16 Dave Love <fx@gnu.org>
10448
10449 * m/iris5d.h: Deleted -- unused.
10450
cb613bb8
GM
104512000-05-16 Gerd Moellmann <gerd@gnu.org>
10452
b15f3b77
GM
10453 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10454 `invalid' instead of `illegal'.
10455
10456 * indent.c (Fmove_to_column): When ending within a tab, insert
10457 spaces first so that markers at the end of the tab get adjusted.
10458
835c1b36
GM
10459 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10460 buffer list that wasn't selected in that frame.
10461
cb613bb8
GM
10462 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10463 is needed on mescaline, use a 2 char prefix, and call
10464 make_temp_name with second arg non-zero.
10465
10466 * fileio.c (make_temp_name): New function, extracted from
10467 Fmake_temp_name.
10468 (Fmake_temp_name): Use it.
10469
f685bea9
EZ
104702000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10471
52283633 10472 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10473
a1b8d58b
GM
104742000-05-15 Gerd Moellmann <gerd@gnu.org>
10475
10476 * Makefile.in (lisp): Add env.elc.
10477
10478 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10479
a265079f
GM
104802000-05-12 Gerd Moellmann <gerd@gnu.org>
10481
10482 * search.c (Freplace_match): Handle case of `\N' in the
10483 replacement when there's no group N.
10484
da4496b6
GM
104852000-05-11 Gerd Moellmann <gerd@gnu.org>
10486
0ace421a
GM
10487 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10488 of the message to message_dolog.
10489
1172eb8d
GM
10490 * keyboard.c (read_char): Don't clear current message for help
10491 events; let the code handling help events handle this. Change
10492 code detecting help events that should be ignored.
10493
da4496b6
GM
10494 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10495 we're interating over a string.
10496
0623e40f
DL
104972000-05-09 Dave Love <fx@gnu.org>
10498
10499 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10500 that offset before writing. Move gcpro region past call of
10501 Ffile_regular_p.
10502
bae2503b
DL
105032000-05-04 Dave Love <fx@gnu.org>
10504
10505 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10506
ec82fb2f
GM
105072000-05-04 Gerd Moellmann <gerd@gnu.org>
10508
10509 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10510 of inserted characters when BUF equals the current buffer, and PT
10511 is in front of or equal to FROM.
10512
cbf18892
GM
105132000-05-03 Gerd Moellmann <gerd@gnu.org>
10514
4ff40dd0
GM
10515 * xdisp.c (handle_single_display_prop): If display property value
10516 is invalid, or something not supported on the frame, restore
10517 iterator's position to what it was initially. Make sure to return
10518 0 for invalid and unsupported property values.
10519
cbf18892
GM
10520 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10521 that x_per_char_metric returns null.
10522
1b0672c3
GM
105232000-05-02 Gerd Moellmann <gerd@gnu.org>
10524
576da55d
GM
10525 * xterm.h (struct face): Add forward declaration.
10526 (struct image): Ditto.
10527 (image_ascent): Add prototype.
10528
10529 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10530 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10531 image_ascent instead of using IMAGE_ASCENT.
10532
10533 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10534 (IMAGE_ASCENT): Removed.
10535
10536 * xfns.c (Qcenter): New variable.
10537 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10538 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10539 (image_ascent): New function.
10540 (lookup_image): Recognize `:ascent center'.
10541 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10542 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10543 (xbm_load): Don't set image's ascent here.
10544 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10545 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10546 check ascent values here.
10547 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10548 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10549 (syms_of_xfns): Initialize Qcenter.
10550
1b0672c3
GM
10551 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10552 to the limits, increase the limits.
10553
0d7811ed
KH
105542000-05-01 Kenichi Handa <handa@etl.go.jp>
10555
10556 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10557 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10558
a943a5ca
GM
105592000-04-28 Gerd Moellmann <gerd@gnu.org>
10560
10561 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10562 taller than the window.
10563
5dba1e29
KH
105642000-04-28 Kenichi Handa <handa@etl.go.jp>
10565
10566 * xfaces.c (realize_x_face): Fix the argument of the second
10567 xassert. BASE_FACE may not be a face for ASCII.
10568
353964e3
GM
105692000-04-27 Gerd Moellmann <gerd@gnu.org>
10570
c76e04a8
GM
10571 * print.c (print_object): Treat print-length < 0 as nil.
10572
10573 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10574
10575 * s/freebsd.h (TERMCAP_OBJ): Removed.
10576 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10577
10578 * lread.c (read1): Don't treat period followed by certain
10579 characters as symbol start.
10580
10581 * xfns.c (slurp_file): New function.
10582 (xbm_image_p): Handle case of in-memory XBM files.
10583 (xbm_scan): Rewritten to work on memory buffers instead of files.
10584 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10585 Work on memory buffers instead of files. If DATA is null test
10586 if buffer looks like an in-memory XBM file.
10587 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10588 memory buffers instead of files.
10589 (xbm_file_p): New function.
10590 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10591
353964e3
GM
10592 * lread.c (end_of_file_error): New function.
10593 (read1): Call it instead of signaling `end-of-file' directly.
10594
427ec082 10595 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10596 with Fprinc instead of Fprin1.
10597
24d744ac
KR
105982000-04-26 Ken Raeburn <raeburn@gnu.org>
10599
10600 * window.c (freeze_window_start): Check that minibuffer scroll
10601 window isn't nil before extracting the window structure pointer
10602 from it.
10603
10604 * undo.c (record_delete): If we hit the end of the undo list, stop
10605 picking elements apart.
10606
7464346d
GM
106072000-04-26 Gerd Moellmann <gerd@gnu.org>
10608
10609 * xdisp.c (display_line): If lines are continued, restore
10610 iterator's ascent/descent information to the values before the
10611 first glyph not fitting on the line.
10612
612839b6
GM
106132000-04-25 Gerd Moellmann <gerd@gnu.org>
10614
10615 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10616 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10617
10618 * dispnew.c (increment_matrix_positions): Renamed from
10619 increment_glyph_matrix_buffer_positions.
10620 (increment_row_positions): Renamed from
10621 increment_glyph_row_buffer_positions.
10622
10623 * dispextern.h: Change names of renamed functions from dispnew.c
10624 in prototypes.
10625
cc181e95
GM
106262000-04-24 Gerd Moellmann <gerd@gnu.org>
10627
abfcc168
GM
10628 * fileio.c (Fdo_auto_save): Create directories for auto-save
10629 list file if necessary.
10630
cc181e95
GM
10631 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10632 from buffer or frame.
10633 (automatic_hscrolling_p): New variable.
10634 (hscroll_windows): Scroll windows horizontally only if automatic
10635 hscrolling is allowed.
10636 (syms_of_xdisp): New variable `automatic-hscrolling'.
10637
10638 * frame.h (struct frame): Add member extra_line_spacing.
10639
10640 * xfns.c (x_set_line_spacing): New function.
10641 (Fx_create_frame): Set line spacing from resources.
10642 (Qline_spacing): New variable.
10643 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10644
cc181e95
GM
10645 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10646
10647 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10648 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10649 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10650 extra_line_spacing from default value.
10651 (init_buffer_once): Initialize default value of extra_line_spacing.
10652
10653 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10654 and extra3.
10655
10656 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10657 prompt_width. Add extra line spacing.
10658
10659 * term.c (produce_glyphs): Remove reference to struct it's
10660 prompt_width.
10661
10662 * dispextern.h (struct it): Remove member prompt_width, add
10663 extra_line_spacing.
10664
58827478
GM
106652000-04-22 Gerd Moellmann <gerd@gnu.org>
10666
10667 * dispnew.c (update_frame_line): When writing a whole line, make
10668 sure cursor is in the right row afterwards, otherwise a use of
10669 capability `ch' in cmgoto might leave the cursor in the row below.
10670
25a87f42
GM
106712000-04-21 Gerd Moellmann <gerd@gnu.org>
10672
10673 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10674
10675 * keyboard.c (timer_check): Fix typo in comment.
10676
54edf5c2
KH
106772000-04-21 Kenichi Handa <handa@etl.go.jp>
10678
10679 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10680 name change: ch -> character.
10681
3a64eef5
GM
106822000-04-20 Gerd Moellmann <gerd@gnu.org>
10683
10684 * keyboard.c (echo_message_buffer): New variable.
10685 (echo_now): Set echo_message_buffer to the echo area buffer used
10686 to display the echo.
10687 (cancel_echoing): Reset echo_message_buffer to nil.
10688 (read_char): Code rewritten that handles canceling an echo or
10689 echoing a dash, respectively.
10690
10691 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10692 directory doesn't exist.
10693
6142fdcb
DL
106942000-04-19 Dave Love <fx@gnu.org>
10695
10696 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10697 (concat): Don't allow numeric args.
10698 (Fconcat): Doc change.
6142fdcb 10699
ac6b5352
SM
107002000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10701
10702 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10703 instead define end_match(1|2) more carefully.
10704 Use GET_CHAR_BEFORE_2 for `begline'.
10705
cb9215e4
GM
107062000-04-19 Gerd Moellmann <gerd@gnu.org>
10707
5e3dac3f
GM
10708 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10709 on 64-bit systems where NULL is defined as `0'.
10710
10711 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10712 the `variable argument list' to make it work on Alpha.
10713
cb9215e4
GM
10714 * m/alpha.h (_LP64) [!_LP64]: Define.
10715 (ORDINARY_LINK): Define for NetBSD.
10716
10717 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10718
f532dca0
DL
107192000-04-19 Dave Love <fx@gnu.org>
10720
c750667e
DL
10721 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10722 change.
10723
10724 * Makefile.in (LIBS): Don't use.
10725 (GETLOADAVG_OBJ): Define again.
10726 (otherobj): Add GETLOADAVG_OBJ.
10727
f532dca0
DL
10728 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10729
1c7e22fd
GM
107302000-04-18 Gerd Moellmann <gerd@gnu.org>
10731
f6d3257b
GM
10732 * lread.c (read_filtered_event): Cancel and start busy cursor.
10733
427ec082 10734 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10735 that the per-character metrics may be null.
10736
e10f64e7
GM
107372000-04-17 Gerd Moellmann <gerd@gnu.org>
10738
0daee095
GM
10739 * buffer.c (clone_per_buffer_values): New function.
10740 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10741 clone_per_buffer_values if CLONE is not nil.
10742
e10f64e7
GM
10743 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10744
38687d43
DL
107452000-04-16 Dave Love <fx@gnu.org>
10746
10747 * Makefile.in: Remove obsolete localcpp stuff.
10748 (GETLOADAVG_OBJ): Don't define.
10749 (obj): Move LIBOBJS...
10750 (otherobj): ... to here.
10751 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10752 whitespace-only lines after the continuation (Irix).
10753
c21c7262
GM
107542000-04-14 Gerd Moellmann <gerd@gnu.org>
10755
10756 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10757
10758 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10759
314767c0
DL
107602000-04-14 Dave Love <fx@gnu.org>
10761
10762 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10763 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10764 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10765 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10766 NLIST_STRUCT.
10767
10768 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10769 autoconfiscated HAVE_GETLOADAVG.
10770
10771 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10772 BROKEN_MKTIME.
10773
a2522dca
GM
107742000-04-14 Gerd Moellmann <gerd@gnu.org>
10775
10776 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10777 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10778
33744b5d
DL
107792000-04-14 Dave Love <fx@gnu.org>
10780
c21c7262 10781 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10782 (INTERVAL_SRC): Convert to make variable.
10783 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10784 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10785 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10786 add LIBOBJS.
10787 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10788 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10789 (shortlisp): Add facemenu, float-sup, frame.
10790 (SOME_MACHINE_LISP): Remove them from here.
10791 (LIBES): Change unused LDLIBS to autoconf LIBS.
10792
10793 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10794
9d3d5916
KH
107952000-04-14 Kenichi Handa <handa@etl.go.jp>
10796
10797 * composite.c (update_compositions): If FROM and TO are not in a
10798 valid range, do nothing.
10799
198e3c7a
GM
108002000-04-13 Gerd Moellmann <gerd@gnu.org>
10801
52283633 10802 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10803
52283633 10804 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10805
10806 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10807 as TERMCAP_OBJ.
10808
055a28c9
EZ
108092000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10810
10811 * fileio.c (a_write): Remove redundant semi-colons.
10812 (e_write): Return -1 if failed to write all the data.
10813 This fixes the changes made at 1999-12-15.
10814
f5c75033
DL
108152000-04-12 Dave Love <fx@gnu.org>
10816
10817 * fns.c (mapcar1): Test for null vals to support mapc.
10818 (Fmapc): New function.
10819
0c3cfc51
EZ
108202000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10821
10822 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10823 (IT_frame_up_to_date): Support the buffer local value of
10824 cursor-type, if defined.
10825
33465a31
DL
108262000-04-10 Dave Love <fx@gnu.org>
10827
10828 * editfns.c (preceding-char, following-char): Doc fix.
10829
6ed56568
KR
108302000-04-10 Ken Raeburn <raeburn@gnu.org>
10831
10832 * Makefile.in (temacs): Revert 2000-03-12 change.
10833
7cf80d4e
JR
108342000-04-10 Jason Rumney <jasonr@gnu.org>
10835
10836 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10837
34f3f342
GM
108382000-04-10 Gerd Moellmann <gerd@gnu.org>
10839
1a1b1895
GM
10840 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10841 area buffer, if it's not set up yet.
10842
34f3f342
GM
10843 * indent.c (compute_motion): Set immediate_quit.
10844
be0dbdab
GM
108452000-04-09 Gerd Moellmann <gerd@gnu.org>
10846
52283633 10847 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10848 (realize_tty_face): Suppress boldness if colors are the inverse of
10849 the default colors, and tty_suppress_bold_inverse_default_colors_p
10850 is set.
10851 (Ftty_suppress_bold_inverse_default_colors): New function.
10852 (syms_of_xfaces): Defsubr it.
10853
be0dbdab
GM
10854 * buffer.c (Frestore_buffer_modified_p): New function.
10855 (syms_of_buffer): Defsubr it.
10856
e8413c3b
KR
108572000-04-08 Ken Raeburn <raeburn@gnu.org>
10858
87f67317
KR
10859 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10860 charset id (int) argument, not a charset (Lisp_Object).
10861
e8413c3b
KR
10862 * coding.h (code_convert_string): Declare.
10863 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10864 object, as the fourth argument to code_convert_string.
10865
52283633 10866 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10867 (Fset_fontset_font): Use EQ to compare lisp objects.
10868
7c752c80
KR
108692000-04-05 Ken Raeburn <raeburn@gnu.org>
10870
c0333abc
KR
10871 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10872 a pointer that looks like a lisp object.
10873 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10874 zero, instead see whether it's an integer object, since they can't
10875 have intervals.
10876 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10877
52283633
SM
10878 * dispnew.c (allocate_matrices_for_frame_redisplay)
10879 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10880 to convert between (unsigned) int values and lisp integers.
10881 * keyboard.c (read_key_sequence): Likewise.
10882 * lread.c (substitute_object_recurse): Likewise.
10883 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10884 * minibuf.c (do_completion, Fminibuffer_complete_word)
10885 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10886 * term.c (produce_special_glyphs): Likewise.
10887
10888 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10889 * print.c (print_preprocess, print_object): Likewise.
10890
10891 * search.c (compile_pattern): Use NILP when checking for nil.
10892
74e49b38
KR
10893 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10894 __OPTIMIZE__]: Provide a GNU C macro version that handles
10895 lisp-object unions.
10896 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10897 field, to better cope with ENABLE_CHECKING and calls that modify a
10898 Lisp_Object using its old value.
10899
685e5ed2
GM
109002000-04-04 Gerd Moellmann <gerd@gnu.org>
10901
c407c570
GM
10902 * window.c (compare_window_configurations): Signal an error
10903 if parameters C1 or C2 aren't window configurations.
10904
685e5ed2
GM
10905 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10906 AFTER_POTENTIAL_GC calls around calls to functions that can
10907 signal an error and thus invoke the debugger.
10908
587a49ab
GM
109092000-04-03 Gerd Moellmann <gerd@gnu.org>
10910
62f20204
GM
10911 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10912 an error if decoding fails.
10913
587a49ab
GM
10914 * keyboard.c (lispy_mouse_names): Variable removed.
10915 (Vlispy_mouse_stem): New variable.
10916 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10917 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10918 for any mouse button number. Increase size of mouse_syms and
10919 button_down_location as needed. Call modify_event_symbol with
10920 different arguments.
10921 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10922 Call modify_event_symbol with different arguments.
10923 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10924 for any button number. Call modify_event_symbol with different
10925 arguments.
10926 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10927 Accept a string for NAME_ALIST_OR_STEM.
10928
10929 * lisp.h (larger_vector): Add prototype.
10930
10931 * fns.c (larger_vector): Make externally visible.
10932
10933 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10934
2d1675e4
SM
109352000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10936
10937 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10938 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10939 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10940 we are between str1 and str2.
10941 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10942 (PATFETCH): Use `TRANSLATE'.
10943 (PATFETCH_RAW): Fetch multibyte char if applicable.
10944 (PATUNFETCH): Remove.
10945 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10946 When writing a char, write it directly into the pattern buffer rather
10947 than going needlessly through a temp char-array.
10948 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10949 multibyte magic and remove the useless `#ifdef emacs'.
10950 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10951 buffer.
10952
10953 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10954 conditional on `emacs'.
10955
10956 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10957
cc2d8c6b
KR
109582000-04-01 Ken Raeburn <raeburn@gnu.org>
10959
10960 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10961 non-union-type versions of XMARK and friends here, because XMARK
10962 and friends won't work on an integer field if NO_UNION_TYPE is not
10963 defined.
52283633 10964 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10965
52283633 10966 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10967 (syms_of_composite): Delete local var NARGS, pass an int as first
10968 argument to Fmake_hash_table.
10969
2387b382
KR
10970 * editfns.c (text_property_stickiness): Use NILP to test
10971 Lisp_Object boolean value.
10972 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10973 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10974 problems reading from and changing the same lisp value in an
10975 XSETSTRING call.
10976
27660e89
GM
109772000-04-01 Gerd Moellmann <gerd@gnu.org>
10978
10979 * term.c (TN_no_color_video): New variable.
10980 (term_init): Intitialize TN_no_color_video.
10981 (enum no_color_bit): New enumeration.
10982 (MAY_USE_WITH_COLORS_P): New macro.
10983 (turn_on_face): Use it to determine if attributes may be used
10984 combined with colors.
10985
3578db3c
KR
109862000-04-01 Ken Raeburn <raeburn@gnu.org>
10987
10988 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10989 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10990 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10991 proper accessor macros.
10992 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10993 (grow_mini_window): Fix typo getting int value of root->height.
10994
6fc556fd
KR
10995 * xdisp.c (compute_string_pos): Fix order of arguments to
10996 string_pos_nchars_ahead.
10997 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10998 count arg to variable-arg routines like Frun_hook_with_args and
10999 Fformat.
587a49ab
GM
11000 (back_to_previous_visible_line_start)
11001 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
11002 fixed-arg routines like Fget_char_property and Fmake_string.
11003 (reconsider_clip_changes): Use XINT when comparing integer lisp
11004 objects, or passing them as int arguments.
587a49ab
GM
11005 (mark_window_display_accurate, insert_left_trunc_glyphs)
11006 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
11007 storing or passing integer values as lisp objects.
11008 (set_cursor_from_row, highlight_trailing_whitespace): Use
11009 INTEGERP, not implicit test against zero, for glyph object.
11010 (try_window_id): Don't use make_number when we want an int value.
11011
11012 * xfaces.c (xlfd_symbolic_value): Make last argument a
11013 Lisp_Object, to be consistent with callers.
11014 (Fbitmap_spec_p): Use XINT to get numeric value of height.
11015 (lface_hash): Apply XFASTINT to lisp values before folding in.
11016
11017 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
11018 fill in window width and height. Pass an int, not a lisp object,
11019 as first arg to Finsert.
11020
6e7b2457
GM
110212000-04-01 Gerd Moellmann <gerd@gnu.org>
11022
610d841e
GM
11023 * xfaces.c (realize_basic_faces): Block input while realizing
11024 the faces.
11025
6e7b2457
GM
11026 * keyboard.c (lispy_mouse_names): Add additional mouse names.
11027
11028 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
11029
aa110c0c
GM
110302000-03-31 Gerd Moellmann <gerd@gnu.org>
11031
11032 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 11033 or ASCII, handle case that per-char metric is null.
aa110c0c 11034
8801a864
KR
110352000-03-30 Ken Raeburn <raeburn@gnu.org>
11036
c6129d7e
KR
11037 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
11038
52283633
SM
11039 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
11040 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
11041 pointer, using eassert.
11042 * frame.h (XFRAME): Likewise.
11043
52283633
SM
11044 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
11045 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
11046 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 11047 * data.c (set_internal): Likewise.
52283633
SM
11048 * dispextern.h (WINDOW_WANTS_MODELINE_P)
11049 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
11050 * fileio.c (auto_save_1): Likewise.
11051 * insdel.c (check_markers): Likewise.
11052 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11053 * undo.c (record_insert): Likewise.
11054 * vmsproc.c (child_sig): Likewise.
11055 * window.c (unshow_buffer, window_loop): Likewise.
11056 * xterm.c (x_erase_phys_cursor): Likewise.
11057
8e7af858
GM
110582000-03-30 Gerd Moellmann <gerd@gnu.org>
11059
11060 * xfns.c (free_image_cache): Free the cache structure itself
11061 last, after all its members have been freed.
11062
11063 * lisp.h (xstrdup): Add prototype.
11064
11065 * alloc.c (xstrdup): Moved here from xfaces.c.
11066 (allocating_for_lisp): Variable removed.
52283633 11067 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11068
11069 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11070 of Fsymbol_value.
11071 (xstrdup): Moved to alloc.c.
11072
e0b8c689
KR
110732000-03-29 Ken Raeburn <raeburn@gnu.org>
11074
b96f9fb7
KR
11075 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11076
11077 * emacs.c (main): Fix sense of no-loadup test.
11078
e0b8c689
KR
11079 * config.in (ENABLE_CHECKING): Undef.
11080
11081 * lisp.h (struct interval): Replace "parent" field with a union of
11082 interval pointer and Lisp_Object; add new bitfield to use as
11083 discriminant. Change other flag fields to bitfields.
11084 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11085 is defined and the supplied test fails, print a message and abort.
11086 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11087
11088 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11089 pointers; abort if the value looks like a lisp object.
52283633
SM
11090 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11091 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11092 Modify for new interval parent definition.
11093
52283633
SM
11094 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11095 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11096 addressable lisp object in the interval structure.
11097 (die): New function.
11098 (suppress_checking): New variable.
11099
11100 * intervals.c (interval_start_pos): Just return 0 if there's no
11101 parent object.
11102
f83c5440
GM
111032000-03-29 Gerd Moellmann <gerd@gnu.org>
11104
11105 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11106 and earlier Emacs versions.
11107
11108 * keyboard.c (Ftop_level): Cancel busy-cursor.
11109
11110 * eval.c (call_debugger): Cancel busy-cursor.
11111
fdce64ff
KH
111122000-03-29 Kenichi Handa <handa@etl.go.jp>
11113
11114 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11115 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11116
f6a3f532
SM
111172000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11118
11119 * regex.c (analyse_first): New function obtained by ripping out most
11120 of re_compile_fastmap and generalizing it a little bit so that it
11121 can also just return whether a given (sub)pattern can match the empty
11122 string or not.
11123 (regex_compile): Use `analyse_first' to decide whether the loop-check
11124 needs to be done or not for *, +, *? and +? (the loop check is costly
11125 for non-greedy repetition).
11126 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11127
e9b309ac
DL
111282000-03-28 Dave Love <fx@gnu.org>
11129
52283633 11130 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11131
e9b309ac
DL
11132 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11133
ed0767d8
SM
111342000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11135
11136 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11137 an expression.
11138 (enum re_opcode_t): Update description of succeed_n.
11139 (PATFETCH): Always define.
11140 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11141 operators, char classes, shy-groups and intervals).
11142 Optimize special cases of intervals so as to only use succeed_n and
11143 jump_n when really needed.
11144 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11145 that we don't have to handle the special cases any more.
11146 Simplify on_failure_jump handling as well.
11147
e11e7e46
JR
111482000-03-28 Jason Rumney <jasonr@gnu.org>
11149
11150 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11151
88faab89
GM
111522000-03-27 Gerd Moellmann <gerd@gnu.org>
11153
182ff242
GM
11154 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11155
11156 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11157
182ff242
GM
11158 * alloc.c (mark_maybe_object): New function.
11159 (mark_memory): Use it.
11160 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11161 (setjmp_tested_p, longjmp_done): New variables.
11162 (test_setjmp): New function.
11163 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11164 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11165
c1005d06
GM
11166 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11167 to DEC_TEXT_POS and INC_TEXT_POS.
11168
11169 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11170 with parameter MULTIBYTE_P.
11171
52283633 11172 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11173
7439e5b9 11174 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11175 buffers because it looks for multibyte character byte sequences
11176 which don't exist in unibyte text.
7439e5b9 11177
d9c545da
GM
11178 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11179
11fd416e 11180 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11181 [DEBUG_X_COLORS]: New functions.
11182 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11183
11184 * xfns.c (x_set_cursor_color): Get color reference counts right.
11185
11186 * xterm.c (x_copy_color): New function.
11187 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11188
11189 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11190 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11191 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11192 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11193 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11194 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11195 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11196 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11197 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11198 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11199
11fd416e
GM
11200 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11201 names for handling per-buffer variables.
d9c545da
GM
11202
11203 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11204 instead of MAX_BUFFER_LOCAL_VARS.
11205 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11206
11207 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11208
88faab89
GM
11209 * xfns.c (x_specified_cursor_type): New function.
11210 (x_set_cursor_type): Use it.
11211
11212 * buffer.h (struct buffer): Add cursor_type.
11213
d80f42b7
SM
112142000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11215
11216 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11217 (print_partial_compiled_pattern, re_compile_fastmap):
11218 Handle new opcode.
d80f42b7
SM
11219 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11220 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11221 executing it as well as when popping it off the stack to find infinite
11222 loops in non-greedy repetition operators.
11223
89e80928
GM
112242000-03-26 Gerd Moellmann <gerd@gnu.org>
11225
3d4ff2dd
GM
11226 * doc.c (Qfunction_documentation): New variable.
11227 (syms_of_doc): Initialize Qfunction_documentation.
11228 (Fdocumentation): If FUNCTION is a symbol with non-nil
11229 `function-documentation' property, return a documentation derived
11230 from that.
11231
bd96bd79
GM
11232 * buffer.c (syms_of_buffer): Add default-cursor-type.
11233 (init_buffer_once): Don't let cursor_type have a local value
11234 in every buffer.
11235
19d1bc27
GM
11236 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11237 on buffer-local value of cursor_type.
11238 (x_draw_bar_cursor): Add parameter WIDTH.
11239
11240 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11241 (init_buffer_once): Set default cursor_type value to t.
11242 Mark cursor_type as local everywhere.
11243 (syms_of_buffer): New per-buffer variable cursor-type.
11244
89e80928
GM
11245 * buffer.h (struct buffer): Remove member local_var_flags,
11246 add local_flags.
11247 (MAX_BUFFER_LOCAL_VARS): New macro.
11248 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11249 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11250 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11251 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11252
52283633 11253 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11254
11255 * category.c (Fset_category_table): Use new macros for per-buffer
11256 variables.
11257
11258 * buffer.c (buffer_permanent_local_flags): Make a char array.
11259 (max_buffer_local_idx): New variable.
11260 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11261 for new handling of per-buffer variables.
11262 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11263 (init_buffer_once): Initialize per-buffer vars differently.
11264 Set max_buffer_local_idx.
11265
11266 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11267 variables.
11268
52283633 11269 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11270
11271 * data.c (do_symval_forwarding, store_symval_forwarding)
11272 (find_symbol_value, set_internal, default_value, Fset_default)
11273 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11274 per-buffer variables.
11275
11276 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11277
9a0dd3dc
GM
112782000-03-24 Gerd Moellmann <gerd@gnu.org>
11279
b68c375f
GM
11280 * xterm.c (x_term_init): Unblock input around call1 of
11281 Qvendor_specific_keysyms.
11282
9a0dd3dc
GM
11283 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11284 (find_defun_start): Consider an open parenthesis in column 0
11285 a defun start only if open_paren_in_column_0_is_defun_start is set.
11286 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11287
7973e637
SM
112882000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11289
11290 * eval.c (Fautoload): Add entry in load-history (if after dump).
11291 * lread.c (load-history): Update docstring.
11292
39210e90
GM
112932000-03-24 Gerd Moellmann <gerd@gnu.org>
11294
11295 * indent.c (Fvertical_motion): Always use the current buffer.
11296 Temporarily change the window's buffer, if necessary.
11297
72db3ab5
GM
112982000-03-23 Gerd Moellmann <gerd@gnu.org>
11299
11300 * xterm.c (fast_find_position): Make sure not to consider rows
11301 not visible in the window.
11302
990b2375
SM
113032000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11304
11305 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11306 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11307
ff4df011
JR
113082000-03-22 Jason Rumney <jasonr@gnu.org>
11309
11310 * w32menu.c (single_submenu): Set help string to NULL if none.
11311 (w32_menu_show): Set help string correctly.
11312 (add-menu-item): Set help string in MIIM_DATA for menu item.
11313 Load SetMenuItemInfoA explicitly.
11314 (w32_menu_display_help): New function.
427ec082 11315
ff4df011
JR
11316 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11317 (QCdata): Moved to xdisp.c.
11318
11319 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11320 (Vw32_charset_to_codepage_alist): Removed.
11321 (Vw32_charset_info_alist): New variable.
52283633
SM
11322 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11323 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11324 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11325 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11326 with TODO comment.
11327 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11328 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11329 Define Vw32_charset_info_alist and w32_charset symbols.
11330
113312000-03-22 Jason Rumney <jasonr@gnu.org>
11332
11333 * makefile.nt (w32bdf.obj): Update dependencies.
11334
11335 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11336
11337 * w32fns.c: Include fontset.h after dispextern.h.
11338 (Fx_create_frame): Do not create fontset.
11339 (w32_load_system_font): Doc fix.
11340 (Fx_close_connection): Free full_name if it is not shared.
11341
11342 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11343 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11344 Callers updated.
ff4df011
JR
11345 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11346 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11347 (w32_font_is_double_byte): New function, needs body.
11348 (x_append_glyph): Set glyph->glyph_not_available_p.
11349 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11350 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11351 character, convert it to a unibyte character.
11352 (struct glyph_string): Delete member `charset'.
11353 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11354 calculating it is found.
11355 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11356 the case that per char metric is not available correctly.
11357 (x_fill_glyph_string): Handle the case that the specific glyph is
11358 not available correctly.
11359 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11360 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11361 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11362 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11363 fontset. Don't call FS_LOAD_FONT.
11364
439d5cb4
KR
113652000-03-22 Ken Raeburn <raeburn@gnu.org>
11366
11367 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11368 (INT_LISPLIKE): New macro.
11369 (NULL_INTERVAL_P): Use it.
52283633
SM
11370 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11371 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11372 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11373
11374 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11375 explicit references to "parent" field of struct interval and
11376 associated unclean type conversions.
52283633
SM
11377 * intervals.c (create_root_interval, root_interval, rotate_right)
11378 (rotate_left, balance_possible_root_interval, split_interval_right)
11379 (split_interval_left, interval_start_pos, find_interval)
11380 (next_interval, previous_interval, update_interval)
11381 (adjust_intervals_for_insertion, delete_node, delete_interval)
11382 (adjust_intervals_for_deletion, merge_interval_right)
11383 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11384 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11385 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11386 Likewise.
11387 * syntax.c (update_syntax_table): Likewise.
11388
11389 * intervals.c (reproduce_tree_obj): New function, like
11390 reproduce_tree but takes a Lisp_Object for the parent. Declare
11391 with prototype.
11392 (graft_intervals_into_buffer): Use it when appropriate.
11393 (reproduce_tree): Declare with prototype.
11394 (balance_possible_root_interval): Check that the parent is a lisp
11395 object before trying to examine its type.
11396
ee1c5b21
GM
113972000-03-22 Gerd Moellmann <gerd@gnu.org>
11398
11399 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11400 as strings only if both are known to be strings.
11401
11402 * s/openbsd.h (LIBS_TERMCAP): Undef.
11403
1fb352e0
SM
114042000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11405
11406 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11407 definitions for non-Emacs compilation.
11408 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11409 outside of `#ifdef emacs'.
11410 (print_partial_compiled_pattern): Update.
11411 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11412 (re_compile_fastmap): Merge handling of charset and charset_not (for
11413 emacs and non-emacs compilation as well).
11414 Similarly for (not)categoryspec and (not)syntaxspec.
11415 Don't use the fastmap when reaching `anychar' since the added
11416 complexity is not justified.
11417 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11418 and (not)syntaxspec. Merge (not)categoryspec.
11419
fdaa1f77
KH
114202000-03-22 Kenichi Handa <handa@etl.go.jp>
11421
52283633
SM
11422 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11423 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11424 --without-x.
fdaa1f77 11425
d152fb46
DL
114262000-03-21 Dave Love <fx@gnu.org>
11427
11428 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11429 doc string.
11430
d2cafc8c
GM
114312000-03-21 Gerd Moellmann <gerd@gnu.org>
11432
11433 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11434 (lface_fully_specified_p): Don't check contents of
11435 LFACE_FONT_INDEX because that attribute is optional.
11436 (realize_x_face): Remove now unwarranted xassert.
11437
9111d4b5
KH
114382000-03-21 Kenichi HANDA <handa@etl.go.jp>
11439
11440 The following changes are to make font selection based on
11441 characters, not charset. In addition, they recover fontset
11442 facilities while utilizing the new font selection mechanism.
11443
6c4bfdc0
KH
11444 * Makefile.in (fontset.o): Depend on dispextern.h.
11445
11446 * alloc.c (mark_face_cache): Don't mark face->registry.
11447
9111d4b5
KH
11448 * dispextern.h (struct glyph): New member glyph_not_available_p.
11449 Use 22 bits for face_id.
11450 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11451 (struct face): Delete member registry, new member ascii_face.
11452 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11453 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11454 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11455 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11456
11457 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11458 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11459 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11460 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11461 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11462 (fs_free_face_fontset, fontset_font_pattern)
11463 (face_suitable_for_char_p, face_for_char)
11464 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11465 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11466 (FS_LOAD_FACE_FONT): New macro.
11467
11468 * fontset.c: All codes rewritten or adjusted for the change of
11469 fontset implementation. Now fontset is represented by char table.
52283633
SM
11470 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11471 Variables removed.
9111d4b5 11472 (my_strcasecmp): Function removed.
52283633 11473 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11474 (AREF, ASIZE): New macros.
52283633
SM
11475 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11476 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11477 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11478 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11479 (fontset_id_valid_p, font_family_registry, fontset_name)
11480 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11481 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11482 New functions.
11483 (fs_load_font): New arg FACE. Caller changed.
11484 (fs_query_fontset): Argument changed. Caller changed.
11485 (Fquery_fontset): call fs_query_fontset.
11486 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11487 Functions removed.
52283633
SM
11488 (clear_fontset_elements, check_registry_encoding)
11489 (check_fontset_name): New functions.
9111d4b5
KH
11490 (syms_of_fontset): Set char-table-extra-slots property of fontset
11491 to 3. Staticpro and initialize Vfontset_table and
11492 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11493
11494 * frame.h (struct frame): Member `fontset_data' removed.
11495 (FRAME_FONTSET_DATA): Macro removed.
11496
11497 * frame.c (make_frame): Don't allocate f->fontset_data.
11498 (Fdelete_frame): Don't free f->fontset_data.
11499
6c4bfdc0
KH
11500 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11501
9111d4b5
KH
11502 * xdisp.c (charset_at_position): Function removed.
11503 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11504 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11505 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11506 Likewise.
11507 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11508 FACE_FOR_CHARSET.
52283633
SM
11509 (get_next_display_element, append_space)
11510 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11511
11512 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11513 Variables removed.
11514 (clear_font_table, frame_update_line_height, load_face_font):
11515 Adjusted for the change of fontset implementation.
11516 (load_face_fontset_font): Function removed.
11517 (pixel_point_size): New function.
11518 (font_list): Argument type changed. Caller changed.
11519 (LFACE_FONT): New macro.
11520 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11521 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11522 Lisp_Object. Determine the font name by actually loading a font
11523 by the specified pattern. Set LFACE_FONT (lface) to the specified
11524 pattern. Even if a font is not found, don't try alternatives.
11525 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11526 (set_font_frame_param): If `font' is specified in lface, use it.
11527 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11528 (lface_same_font_attributes_p): Likewise.
11529 (make_realized_face): Arguent changed. Caller changed. Set
11530 face->ascii_face to face itself.
11531 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11532 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11533 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11534 (free_realized_multibyte_face): New function.
11535 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11536 changed. Caller changed.
11537 (try_font_list): Argument type changed.
11538 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11539 (choose_face_font): Argument changed. Handle fontset properly.
11540 (choose_face_fontset_font): Function removed.
11541 (realize_default_face, realize_named_face): Don't remove the
11542 former face here.
11543 (realize_face): Argument changed. Caller changed. Remove face
52283633 11544 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11545 (realize_x_face): Argument changed. Caller changed. For a
11546 multibyte character, share fontset with base_face. For a single
52283633 11547 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11548 (realize_tty_face): Argument changed. Caller changed.
11549 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11550 (face_at_buffer_position): Don't check multibyte_p for returning
11551 DEFAULT_FACE_ID.
11552 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11553 FACE_SUITABLE_FOR_CHARSET_P.
11554 (syms_of_xfaces): Remove code for Qx_charset_registry and
11555 Vface_default_registry.
11556
6c4bfdc0
KH
11557 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11558 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11559 (x_per_char_metric): Don't try FONT->default_char. Even if
11560 pcm->width is zero, glyph bits may exist.
11561 (x_encode_char): Always initialize char2b->byte1.
11562 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11563 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11564 (x_append_glyph): Set glyph->glyph_not_available_p.
11565 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11566 it->charset. Handle the case that per char metric is not
11567 available. If it->multibyte_p is zero and it->c is a multibyte
11568 character, convert it to a unibyte character.
11569 (struct glyph_string): Delete member `charset'.
11570 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11571 the case that per char metric is not available correctly.
11572 (x_fill_glyph_string): Handle the case that the specific glyph is
11573 not available correctly.
11574 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11575 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11576 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11577 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11578 fontset. Don't call FS_LOAD_FONT.
11579
11580 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11581 (x_create_tip_frame): Likewise.
11582 (Fx_close_connection): Free full_name of font_info.
11583
11584 * fns.c (optimize_sub_char_table): New function.
11585 (Foptimize_char_table): New function.
11586 (syms_of_fns): Defsubr Soptimize_char_table.
11587
b33dd3b0
GM
115882000-03-20 Gerd Moellmann <gerd@gnu.org>
11589
11590 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11591 only if buffer is displayed in some window.
11592
11593 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11594 (try_window_reusing_current_matrix): Don't call scroll run
11595 function if run's current and desired position are the same;
11596 this prevents cursor flickering.
11597
4e8a9132
SM
115982000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11599
11600 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11601
11602 * regex.c (RE_STRING_CHAR): New macro.
11603 (GET_CHAR_AFER_2): Remove.
11604 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11605 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11606 (print_partial_compiled_pattern, re_compile_fastmap)
11607 (re_match_2_internal): Remove on_failure_jump_exclusive.
11608 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11609 optimization only need to work for * (ie. can use of_keep_string_jump).
11610 Remove the special case for .*\n since it is now covered by the general
11611 optimization.
11612 (re_search_2): Don't bother with `room'.
11613 (skip_one_char): New function.
11614 (skip_noops): Simplify since `memory' is not needed any more.
11615 (mutually_exclusive_p): Restructure slightly to use `switch' and
11616 add handling for "all" remaining cases.
11617 (re_match_2_internal): Change on_failure_jump_smart to use
11618 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11619 rather than on_failure_jump_exclusive.
11620
2136fdd4
GM
116212000-03-19 Gerd Moellmann <gerd@gnu.org>
11622
11623 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11624 number of bits per RGB because it's everywhere used as the depth
11625 of the visual.
11626
11627 * term.c (calculate_costs): Remove code dealing with X frames.
11628
18e21ce8 116292000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11630
11631 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11632
d7b511c4
GM
116332000-03-18 Gerd Moellmann <gerd@gnu.org>
11634
11635 * lread.c (read_integer): Unread the last char not consumed.
11636
16b5d424
GM
116372000-03-17 Gerd Moellmann <gerd@gnu.org>
11638
11639 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11640 which are in the process of being deleted.
16b5d424 11641
1fa28578
GM
116422000-03-16 Gerd Moellmann <gerd@gnu.org>
11643
83488cce
GM
11644 * Makefile.in (mostlyclean): Add `*.core'.
11645 (clean): Add `bootstrap-emacs'.
11646
1fa28578
GM
11647 * lread.c (read_integer): New function.
11648 (read1): Support read syntax #o, #x, #b, #r.
11649
99633e97
SM
116502000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11651
1fa28578
GM
11652 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11653 make sure POINTER_TO_OFFSET gives the same value before and after
11654 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11655 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11656 (debug): Now only active if > 0 rather than if != 0.
11657 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11658 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11659 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11660 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11661 (store_op1, store_op2, insert_op1, insert_op2)
11662 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11663 (group_in_compile_stack): Move to after its arg's types are
11664 declared and add a prototype.
99633e97 11665 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11666 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11667 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11668 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11669 indentation of the greedy-op and shy-group code.
99633e97
SM
11670 (at_(beg|end)line_loc_p): Fix argument's types.
11671 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11672 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11673 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11674 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11675 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11676 QUIT unconditionally.
99633e97 11677
699238d9
GM
116782000-03-15 Gerd Moellmann <gerd@gnu.org>
11679
11680 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11681 a sole completion.
11682
11683 * process.c (send_process): Add a hint that the function
11684 can call Lisp code to its comment.
11685
11686 * lread.c (load_dangerous_libraries): New variable.
11687 (Vbytecomp_version_regexp): New variable.
11688 (safe_to_load_p): New function.
11689 (Fload): Handle files not compiled with Emacs specially.
11690 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11691
34e23e5a
GM
116922000-03-14 Gerd Moellmann <gerd@gnu.org>
11693
9c763cca
GM
11694 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11695
11696 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11697 support functions only if HAVE_X11R6_XIM is defined.
11698 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11699
11700 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11701
11702 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11703 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11704 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11705
11706 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11707 (HAVE_X11R6_XIM): Define.
11708
11709 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11710
34e23e5a
GM
11711 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11712 If set, call XSynchronize.
11713
66f0296e
SM
117142000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11715
34e23e5a
GM
11716 * regex.c: Declare a new type `re_char' used throughout the code
11717 for the string char type. It's `const unsigned char' to match the
11718 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11719 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11720 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11721 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11722 code duplication.
66f0296e
SM
11723
11724 * charset.h (GET_CHAR_AFTER_2): Remove.
11725 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11726
854a025c
KR
117272000-03-12 Ken Raeburn <raeburn@gnu.org>
11728
11729 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11730 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11731 of them try to use backquotes.
11732
b9d2c7e2
DL
117332000-03-12 Dave Love <fx@gnu.org>
11734
11735 * unexelf.c: Restore changes of 1999-10-19.
11736 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11737 fix its type and alignment; copy it from current process.
11738
5e5dff44
GM
117392000-03-12 Gerd Moellmann <gerd@gnu.org>
11740
9b2f3c38
GM
11741 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11742 has been found. Fix bug not computing timer's predecessor.
11743
427ec082 11744 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11745 file name.
11746
e1cff360
GM
11747 * window.c (Fsave_window_excursion): Doc fix.
11748
52283633 11749 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11750
e411ce4b
EZ
117512000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11752
11753 * msdos.c (vga_installed): New function, code moved from
11754 dos_set_window_size.
11755 (Qbar, Qcursor_type, outside_cursor): New variables.
11756 (syms_of_msdos): Intern and staticpro them.
11757 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11758 shape used outside Emacs when called for the first time.
11759 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11760 cursor shape used outside Emacs.
11761 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11762 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11763 type has changed.
11764 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11765 parameters specify the cursor. Make qreverse a global
11766 variable (renamed to Qreverse).
11767
80460654
GM
117682000-03-09 Gerd Moellmann <gerd@gnu.org>
11769
11770 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11771
95cd4c40
SM
117722000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11773
11774 This is a big redesign of failure-stack and register handling, prompted
11775 by bugs revealed when trying to add shy-groups. Overall, what happened
11776 is that loops are now structured a little differently, groups can be
11777 shy and the code is a little simpler.
11778
11779 * regex.h: Update the copyright.
11780 (RE_SHY_GROUPS): New value.
11781 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11782 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11783
80460654
GM
11784 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11785 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11786 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11787 for (start|stop)_memory since they now only take one argument (the
11788 second has becomes unnecessary).
52283633 11789 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11790 (print_compiled_pattern): Use %ld to printf long ints and flush to
11791 make debugging a little easier.
95cd4c40
SM
11792 (union fail_stack_elt): Make the integer unsigned.
11793 (struct fail_stack_type): Add a `frame' element.
11794 (INIT_FAIL_STACK): Init `frame' as well.
11795 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11796 (DEBUG_PUSH, DEBUG_POP): Remove.
11797 (NUM_REG_ITEMS): Remove.
11798 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11799 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11800 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11801 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11802 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11803 New macros.
80460654
GM
11804 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11805 address pushed is not the destination of the jump but the source
11806 of it instead.
95cd4c40
SM
11807 (NUM_FAILURE_ITEMS): Remove.
11808 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11809 registers before the actual failure point). Don't hardcode any
11810 meaning for str==NULL anymore.
95cd4c40 11811 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11812 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11813 Remove.
95cd4c40
SM
11814 (REG_UNSET_VALUE): Use NULL (why not?).
11815 (compile_range): Remove declaration since it doesn't exist.
11816 (struct compile_stack_elt_t): Remove inner_group_offset.
11817 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11818 (regex_grow_registers): Remove dead code.
11819 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11820 (regex_compile): Add shy-groups Change loops to use
11821 on_failure_jump_smart&jump instead of
11822 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11823 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11824 variable to me). Use `jump' instead of `jump_past_alt' and don't
11825 bother with push_dummy_failure in alternatives since it is now
11826 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11827 emacs' for (re)allocating the stack.
11828 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11829 from loop when bufp->can_be_null rather than jumping to `done'.
11830 Avoid jumping backwards so as to ensure termination. Use
11831 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11832 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11833 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11834 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11835 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11836 (lowest_active_reg, highest_active_reg)
11837 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11838 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11839 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11840 variables. Push register (in `start_memory') on the stack rather
11841 than storing it in old_reg(start|end). Remove the cycle detection
11842 from `stop_memory', replaced by the use of on_failure_jump_loop
11843 for greedy loops. Add code for the new on_failure_jump_<foo>.
11844 Remove ad-hoc code in `on_failure_jump' to push more registers in
11845 the case of a loop. Take out code from `maybe_pop_jump' into
11846 separate functions and adapt it to the semantics of
11847 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11848 and push_dummy_failure. Remove dummy_failure handling and
11849 handling of `failures to jump to on_failure_jump' (this last one
11850 was already dead code, it seems).
11851 (group_match_null_string_p, alt_match_null_string_p)
11852 (common_op_match_null_string_p): Remove.
95cd4c40 11853
7397acc4
DL
118542000-03-08 Dave Love <fx@gnu.org>
11855
11856 * config.in: Don't depend on __STDC__ for volatile.
11857 Add POINTER_TYPE, PTR, PROTOTYPES.
11858
11859 * hftctl.c, strftime.c: Use PROTOTYPES.
11860 * eval.c (find_handler_clause): Likewise.
11861
11862 * mem-limits.h: Use POINTER_TYPE.
11863
11864 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11865 (memory_warnings): Declare using POINTER_TYPE.
11866
5e91ff9e
GM
118672000-03-08 Gerd Moellmann <gerd@gnu.org>
11868
feab4fba
GM
11869 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11870
52283633 11871 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11872
5e91ff9e
GM
11873 * xfns.c: Remove obsolete code in #if 0.
11874 (Fx_focus_frame): New function.
11875
a735b7e1
KH
118762000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11877
11878 * coding.c (coding_category_name): Add coding-category-utf-8,
11879 coding-category-utf-16-be, coding-category-utf-16-le.
11880 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11881 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11882 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11883 (detect_coding_utf_8): New function.
11884 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11885 UTF_16_LOW_SURROGATE_P): New macros.
11886 (detect_coding_utf_16): New function
11887 (detect_coding_mask): When priorities are specified, skip any
11888 categories that have `nil' coding-system. Fix bug of returning
11889 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11890 returns a mask not set in PRIORITIES.
11891 (detect_eol_type_in_2_octet_form): New function.
11892 (detect_eol): selects detect_eol_type_XXX to call according to
11893 cooding->category_idx.
11894 (detect_coding_system): Remove `nil' coding-system in the result.
11895 (Fupdate_coding_systems_internal): Update all coding-categories.
11896
52283633
SM
11897 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11898 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11899 New macros.
11900 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11901 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11902 (CODING_CATEGORY_IDX_UTF_16_LE)
11903 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11904 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11905 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11906 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11907
9994cc69
GM
119082000-03-07 Gerd Moellmann <gerd@gnu.org>
11909
e9b4e5ff
GM
11910 * doc.c (Fdocumentation_property): If value is not a string,
11911 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11912
f7daf1e1
GM
11913 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11914 close the display with XtCloseDisplay. This caused a bus error
11915 on OpenWindows.
11916
9994cc69
GM
11917 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11918 complete but not unique.
11919
4336c705
GM
119202000-03-06 Gerd Moellmann <gerd@gnu.org>
11921
18bb0684
GM
11922 * process.c (send_process): Remove local variable `procname' that
11923 might become invalid when a GC happens. Instead, access the
11924 process name slot directly.
11925
4336c705
GM
11926 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11927 orig_height if set.
11928
11929 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11930 orig_height if set.
11931
515d0d0e
EZ
119322000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11933
11934 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11935 glyph matrices have been freed.
11936
100b3cbb
GM
119372000-03-05 Gerd Moellmann <gerd@gnu.org>
11938
50df5e5a 11939 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11940 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11941
11942 * xfns.c (QCdata): Moved to xdisp.c.
11943
11944 * xdisp.c (QCdata): Moved here from xfns.c.
11945 (syms_of_xdisp): Initialize QCdata.
11946
11947 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11948
11949 * window.c (coordinates_in_window): Use
11950 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11951 FRAME_INTERNAL_BORDER_WIDTH.
11952
100b3cbb 11953 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11954 it is obviously invalid.
100b3cbb
GM
11955
11956 * xterm.c (x_term_init): Create a colormap if not using the
11957 default visual.
11958
11959 * xterm.h (select_visual): Change prototype.
11960
11961 * xfns.c (select_visual): Rewritten. Recognize user-specified
11962 visual classes.
11963 (visual_classes): New variable.
11964
64d739c4
GM
119652000-03-04 Gerd Moellmann <gerd@gnu.org>
11966
11967 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11968 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11969 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11970 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11971 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11972 XtNcolormap resources.
11973 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11974 (Fx_create_frame): Initialize color members of x_output structure.
11975 (xpm_load): Pass colormap to XPM lib.
11976
11977 * xfaces.c (x_free_colors): Access colormap of frame using
11978 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11979 when default colormap is used.
11980
11981 * xterm.c (x_term_init): Set Colormap member of x_display_info
11982 structure. Copy colormap if resource `privateColormap' is
11983 specified (PseudoColor only).
11984 (x_setup_relief_color): Access colormap of frame using
11985 FRAME_X_COLORMAP.
11986
11987 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11988 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11989
c3cee013
JR
119902000-03-04 Jason Rumney <jasonr@gnu.org>
11991
11992 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11993 other non-platform-specific equivalents.
64d739c4 11994 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11995 specific functions and macros as their w32 equivalents where
11996 non-platform-specifics are not available.
11997 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11998 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11999 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
12000 (frame_update_line_height): Use macros to access f->output_data.
12001 (defined_color): Remove FIXME comments; fixed.
12002 (x_face_list_fonts, prepare_face_for_display): Put X specifics
12003 into #ifdef blocks. Add WINDOWSNT blocks.
12004 (Fx_list_fonts): Use macros for accessing font data.
12005 (set_lface_from_font_name): Different default fonts for X and
12006 WINDOWSNT.
12007 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
12008 scalable for backward compatibility.
64d739c4 12009 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
12010 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
12011
64d739c4 12012 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
12013 syms_of_w32faces.
12014
12015 * makefile.nt (w32faces.obj): Remove.
12016 (xfaces.obj): Add.
12017
807cc41c
JR
120182000-03-03 Jason Rumney <jasonr@gnu.org>
12019
12020 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
12021 correct parameters.
12022
0007072a
KR
120232000-03-03 Ken Raeburn <raeburn@gnu.org>
12024
12025 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
12026 standard ELF definitions here if the system header does not.
12027
71a6ba55
GM
120282000-03-03 Gerd Moellmann <gerd@gnu.org>
12029
12030 * xterm.c (PER_CHAR_METRIC): Removed.
12031 (x_per_char_metric_1, x_default_char): New functions.
12032 (x_per_char_metric): If font's default char is invalid, return
12033 metrics of a suitably chosen usable default char.
12034 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
12035 char, replace occurrences of unprintable chars with a suitably
12036 chosen usable default char.
71a6ba55 12037
900fa1f1
GM
120382000-03-02 Gerd Moellmann <gerd@gnu.org>
12039
42f55fe0
GM
12040 * xterm.c (note_mouse_highlight): Return quickly if frame's
12041 glyph matrices have been freed.
12042
12043 * dispnew.c (free_glyphs): Block input while freeing matrices.
12044
900fa1f1
GM
12045 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
12046
52283633
SM
12047 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
12048 Use x_free_colors.
900fa1f1
GM
12049
12050 * dispextern.h (x_free_colors): Add prototype.
12051
12052 * xfaces.c (x_free_colors): New function.
12053 (unload_color, free_face_colors): Use it.
12054
2f950292
EZ
120552000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12056
12057 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12058
12059 * window.c [MSDOS]: Include msdos.h.
12060
54d04320
DL
120612000-03-02 Dave Love <fx@gnu.org>
12062
12063 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12064
12065 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12066 set C_OPTIMIZE_SWITCH for gcc.
12067
0ba93ac4
KH
120682000-03-02 Kenichi Handa <handa@etl.go.jp>
12069
12070 * coding.c (coding_save_composition): Be sure to allocate
12071 composition data area in coding even if there's no composition in
12072 the current run.
12073
a2bc11d4
JR
120742000-03-01 Jason Rumney <jasonr@gnu.org>
12075
12076 * w32term.c: Equivalent changes to those made to xterm.c on
12077 2000-02-25 and 2000-02-24.
12078
12079 * w32fns.c: Equivalent changes to those made to xfns.c on
12080 2000-02-25 and 2000-02-21.
12081
12082 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12083 correct line-end convention is followed.
12084
12085 * w32menu.c [HAVE_BOXES]: Remove #undef.
12086 (single_keymap_panes): Remove code for simulating checkmarks.
12087 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12088 Remove code for drawing simulated checkmarks.
12089 (w32_menu_show): make unibyte help string correctly.
12090 (add_menu_item): draw standard Windows checkmarks. Draw radio
12091 buttons as radio buttons if possible.
12092
72d19d75
GM
120932000-03-01 Gerd Moellmann <gerd@gnu.org>
12094
2df636f4
GM
12095 * sysdep.c (start_of_text): Don't define this function for NetBSD
12096 with ELF.
12097
427ec082 12098 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12099 Don't define.
12100 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12101 (LINKER): Don't undef if __NetBSD__ is defined.
12102
12103 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12104
12105 * fileio.c [__NetBSD__]: Define `unix'.
12106
72d19d75
GM
12107 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12108
ed4d0512
GM
121092000-02-29 Gerd Moellmann <gerd@gnu.org>
12110
50b1039f
GM
12111 * atimer.c (start_atimer): Don't abort when timers are stopped.
12112 (append_atimer_lists): New function.
12113 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12114 arbitrary lists of stopped and running atimers.
12115
ed4d0512
GM
12116 * atimer.c (cancel_atimer): Handle canceling an atimer when
12117 some timers are stopped.
12118
12119 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12120 after canceling it.
12121
12122 * fns.c (maybe_resize_hash_table): Handle case of new size
12123 coming out as being the same as old size.
12124
387023ee
JR
121252000-02-27 Jason Rumney <jasonr@gnu.org>
12126
12127 * makefile.nt: Add atimer.h to dependencies.
12128 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12129 * w32console.c: Only disable window system features for dispextern.h
12130 (initialize_w32_display): Build a display info for the console.
12131 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12132 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12133 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12134 as 2 button mice.
12135 * w32gui.h (struct W32FontStruct): Revert last change after change
12136 to xdisp.c.
12137 * w32menu.c (single_submenu): Set up help string.
12138 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12139 (w32_dialog_show): Set up help string.
12140 * w32term.c (w32_display_info_for_display): Remove unused function.
12141 (w32_draw_bitmap): Use pre-built bitmaps.
12142 (w32_initialize_display_info): New function to initialize parts of
12143 display info that are common to both GUI and console frames.
12144 (w32_term_init): Use w32_initialize_display_info. Do not set
12145 Vw32_num_mouse_buttons here, as it is not called for console
12146 frames. Build bitmaps for indicating truncated lines etc.
12147 (x_delete_display): Destroy pre-built bitmaps.
12148 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12149 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12150
4516715a
DL
121512000-02-27 Dave Love <fx@gnu.org>
12152
12153 * lisp.h: Add a bunch of prototypes.
12154
171ca836
KH
121552000-02-26 Kenichi Handa <handa@etl.go.jp>
12156
12157 * keyboard.c (read_char): Set `usec' correctly.
12158
4013921d
KH
121592000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12160
12161 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12162 `lambda', set reg[RRR] to the map index.
12163 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12164 reg[RRR] to 0. Otherwise, set it to -1.
12165
9244a058
GM
121662000-02-25 Gerd Moellmann <gerd@gnu.org>
12167
2df636f4 12168 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12169
18e21ce8 121702000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12171
f43d79c1
GM
12172 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12173 and contains a `:', prepend `/:'.
12174
12175 * window.c (select_window_1): If selected_window is nil,
12176 don't "swap out" the buffer's point.
12177 (Fset_window_configuration): Set selected_window to nil
12178 before calling Fselect_window.
12179 (unshow_buffer): Don't set point in buffer from window's point
12180 if another more recently selected window also shows the buffer.
12181
bed0c171
GM
121822000-02-25 Gerd Moellmann <gerd@gnu.org>
12183
449c3c52
GM
12184 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12185
f5b58615
GM
12186 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12187 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12188 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12189 New variables.
f5b58615
GM
12190 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12191 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12192 (hide_busy_cursor): New functions.
12193 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12194
12195 * minibuf.c (read_minibuf): Cancel busy-cursor.
12196
12197 * keyboard.c (command_loop_1): Call start_busy_cursor before
12198 Fcommand_execute and cancel_busy_cursor after it.
12199 (timer_check): Remove busy-cursor code.
12200 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12201 cursor timer.
12202
12203 * process.c (wait_reading_process_input): Remove busy-cursor code.
12204
12205 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12206 Fx_hide_busy_cursor.
12207
12208 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12209 Remove prototyoes.
12210 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12211
12212 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12213
12214 * xterm.c (XTread_socket): Remove busy-cursor code.
12215
4eb8436f
GM
12216 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12217 (build_frame_matrix_from_leaf_window): Put code handling
12218 glyph row's not being a slice of a frame row in #if 0.
12219 (sync_window_with_frame_matrix_rows): New function.
12220 (frame_row_to_window): New function.
12221 (mirror_line_dance): Handle copies between windows.
12222
3cb65b0e
GM
12223 * lread.c (Fload): Use `xfree' instead of `free'.
12224 (init_obarray): Use `xmalloc' instead of `malloc'.
12225
bed0c171
GM
12226 * window.c (Fset_window_buffer): Set WINDOW to the window
12227 after decoding.
2add4349
GM
12228 (coordinates_in_window): Take frame's internal border width
12229 into account.
bed0c171 12230
42088c12
GM
122312000-02-24 Gerd Moellmann <gerd@gnu.org>
12232
12233 * xterm.c (x_display_and_set_cursor): Display cursor of
12234 non-selected windows depending on the setting of
12235 cursor_in_non_selected_windows.
12236
12237 * xdisp.c (cursor_in_non_selected_windows): New variable.
12238 (syms_of_xdisp): DEFVAR_BOOL it.
12239
d1e103b2
GM
122402000-02-23 Gerd Moellmann <gerd@gnu.org>
12241
723e779c
GM
12242 * data.c (Fstring_to_number): If number is greater than what
12243 fits into an integer, return a float.
12244
d1e103b2
GM
12245 * eval.c (specbind): Remove references to
12246 keyword_symbols_constant_flag.
12247
12248 * data.c (keyword_symbols_constant_flag): Removed.
12249 (Fmakunbound, set_internal, syms_of_data): Remove references to
12250 keyword_symbols_constant_flag.
12251
12252 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12253
214f877f
KH
122542000-02-23 Kenichi Handa <handa@etl.go.jp>
12255
12256 * syntax.c (multibyte_syntax_as_symbol): New variable.
12257 (syms_of_syntax): Declare it as a Lisp variable.
12258 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12259 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12260 nonzero, treat all multibyte characters as symbol.
52283633 12261 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12262
130adcb7
EZ
122632000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12264
3cb65b0e 12265 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12266 a deleted frame.
130adcb7 12267
17cbbf95
GM
122682000-02-21 Gerd Moellmann <gerd@gnu.org>
12269
12270 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12271
12272 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12273 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12274
beb0bc36
DL
122752000-02-21 Dave Love <fx@gnu.org>
12276
12277 * frame.c (Vmouse_position_function): New variable.
12278 (Fmouse_position): Use it.
12279 (syms_of_frame): Install it.
12280
12281 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12282
1d92afcd
GM
122832000-02-20 Gerd Moellmann <gerd@gnu.org>
12284
12285 * fileio.c (Finsert_file_contents): Unbind the binding of
12286 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12287
12288 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12289 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12290 (specbind, unbind_to): Handle most common case of non-constant
12291 symbol with trivial value specially.
12292
12293 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12294
18e21ce8 122952000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12296
12297 * data.c (Fmake_variable_buffer_local): Doc fix.
12298 Init found_for_buffer to 0.
12299 (Fmake_variable_frame_local): If the variable has already
12300 been buffer-local, set the check_frame field.
12301
1d4311c3
EZ
123022000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12303
12304 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12305 produced for CODING_MODE_LAST_BLOCK requires.
12306
2dc95ddd
DL
123072000-02-18 Dave Love <fx@gnu.org>
12308
12309 * keyboard.c (echo_keystrokes): Remove declaration.
12310 (Vecho_keystrokes) New variable.
12311 (read_char, record_menu_key, read_key_sequence): Use it to allow
12312 use of float value.
12313 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12314
12315 * lread.c: Undef feature selection macros before defining.
12316
f0930f35
GM
123172000-02-18 Gerd Moellmann <gerd@gnu.org>
12318
12319 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12320 for symbols other than the symbol in question.
12321
e3d4de90
DL
123222000-02-17 Dave Love <fx@gnu.org>
12323
12324 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12325
0b378936
GM
123262000-02-17 Gerd Moellmann <gerd@gnu.org>
12327
d621caf7
GM
12328 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12329
0b378936
GM
12330 * alloc.c (enum mem_type): Compile unconditionally.
12331
3b451f74
EZ
123322000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12333
12334 * xfaces.c (tty_defined_color): Don't return faulire indication
12335 for unspecified-fg and unspecified-bg pseudo-colors.
12336
10689a01
GM
123372000-02-17 Gerd Moellmann <gerd@gnu.org>
12338
1216f5e4
GM
12339 * alloc.c (mark_object): Don't mark symbol names in pure space.
12340 (gc_sweep): Don't unmark symbol names in pure space.
12341
12342 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12343 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12344 [GC_MARK_STACK]: New defines.
427ec082 12345 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12346 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12347
12348 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12349
12350 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12351 allocate_buffer instead of xmalloc.
12352
12353 * alloc.c (toplevel): Include setjmp.h.
12354 (PURE_POINTER_P): New define.
12355 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12356 (Vdead) [GC_MARK_STACK]: New variable.
12357 (lisp_malloc): Add parameter TYPE, call mem_insert if
12358 GC_MARK_STACK is defined.
12359 (allocate_buffer): New function.
427ec082 12360 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12361 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12362 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12363 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12364 (MEM_NIL) [GC_MARK_STACK]: New define.
12365 (struct mem_node) [GC_MARK_STACK]: New structure.
12366 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12367 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12368 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12369 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12370 (mark_stack) [GC_MARK_STACK]: New functions.
12371 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12372 (clear_marks): Removed.
12373 (gc_sweep): Set free conses' car, free floats' type, free
12374 symbols' function to Vdead. Use lisp_free to free buffers.
12375 (init_alloc_once): Initialize Vdead.
12376 (survives_gc_p): Return non-zero for pure objects.
12377
12378 * alloc.c: Add comments throughout the file.
12379
2503c8b1
GM
12380 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12381 that unblocks alarms.
12382
8389e1e2
GM
12383 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12384 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12385 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12386
10689a01 12387 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12388
bfc17d18
KH
123892000-02-17 Kenichi Handa <handa@etl.go.jp>
12390
4a09dee0
KH
12391 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12392 avoid infinite error signaling. Allocate sufficient memory for
12393 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12394
2b927d02
SM
123952000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12396
12397 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12398 depends on the previous behavior.
12399
b49cb764
GM
124002000-02-16 Gerd Moellmann <gerd@gnu.org>
12401
12402 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12403
99e95407
GM
124042000-02-15 Gerd Moellmann <gerd@gnu.org>
12405
12406 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12407
12408 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12409 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12410 write(2).
12411
6ffd3cf7
RS
124122000-02-15 Richard M. Stallman <rms@gnu.org>
12413
12414 * data.c (set_internal): Don't make variable buffer-local
12415 if within a let-binding for the same buffer.
12416 (let_shadows_buffer_binding_p): New function.
12417
12418 * eval.c (specbind): For buffer-local value,
12419 record the current buffer also.
12420 (unbind_to): Cope with that change.
12421
cad53475
GM
124222000-02-15 Gerd Moellmann <gerd@gnu.org>
12423
12424 * window.c (Fsave_window_excursion): Doc fix.
12425
1aa963c8
SM
124262000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12427
12428 * syntax.c (back_comment): Make sure we only consider comment-starters
12429 of the relevant style and return -1 in case of a failure to find the
12430 beginning of the comment.
12431 (Fforward_comment): If back_comment fails, go back to the position just
12432 after the comment-end.
12433 (scan_lists): Add comment describing a very minor bug.
12434
b9b84fd3
SM
124352000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12436
12437 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12438 `completion-regexp-list' in the docstring.
12439
3a28db80
DL
124402000-02-14 Dave Love <fx@gnu.org>
12441
12442 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12443
fb4a568d
SM
124442000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12445
12446 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12447 to Emacs' syntax. Also fix the comment about set/not-set meanings
12448 since Emacs syntax is not the value 0 any more.
12449 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12450 since it's now part of RE_SYNTAX_EMACS.
12451
1063ebb5
DL
124522000-02-12 Dave Love <fx@gnu.org>
12453
52283633 12454 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12455
fb07a302
GM
124562000-02-12 Gerd Moellmann <gerd@gnu.org>
12457
12458 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12459
aaf2320c
DL
124602000-02-12 Dave Love <fx@gnu.org>
12461
12462 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12463
12464 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12465 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12466 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12467
12468 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12469
12470 * s/nextstep.h: Don't define HAVE_ALLOCA.
12471
12472 * config.in: Add vfork bits.
12473
eedf8bde
GM
124742000-02-12 Gerd Moellmann <gerd@gnu.org>
12475
12476 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12477 unwind function to undo the effect of stopping atimers.
12478
52283633 12479 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12480
12481 * atimer.c (stopped_atimers): New variable.
12482 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12483 New functions.
12484
12485 * atimer.h (stop_other_atimers, run_all_atimers)
12486 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12487
eedf8bde
GM
12488 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12489
8476c2f8
KR
124902000-02-11 Ken Raeburn <raeburn@gnu.org>
12491
12492 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12493 library may depend on jpeg.
12494 (atimer.o): Depends on atimer.c.
12495
0e85e4a3
KH
124962000-02-11 Kenichi Handa <handa@etl.go.jp>
12497
12498 * insdel.c (del_range_1): Call update_compositions.
12499 (del_range_both): Call update_compositions just once..
12500
97fa0cc8
DL
125012000-02-10 Dave Love <fx@gnu.org>
12502
12503 * xfns.c (create_frame_xic): Fix initialization of automatic
12504 aggregates for pcc.
12505
25566a3c
KH
125062000-02-09 Kenichi Handa <handa@etl.go.jp>
12507
12508 * ccl.c (CCL_MAKE_CHAR): New macro.
12509 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12510 registers by CCL_MAKE_CHAR before calling translate_char.
12511 <CCL_TranslateCharacterConstTbl> Likewise.
12512
69da54ba
DL
125132000-02-08 Dave Love <fx@gnu.org>
12514
12515 * lread.c (__EXTENSIONS__): Define.
12516
f7136ee8
GM
125172000-02-08 Gerd Moellmann <gerd@gnu.org>
12518
12519 * puresize.h (BASE_PURESIZE): Increase to 650000.
12520
7768790b
EZ
125212000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12522
12523 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12524 the help message.
12525
38fd211b
EZ
125262000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12527
12528 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12529 md, mh, mb, mr, and me to the fake termcap entry.
12530
66e4690f
KR
125312000-02-06 Ken Raeburn <raeburn@gnu.org>
12532
12533 * sound.c (sound_cleanup): Don't call device close routine if the
12534 function pointer is null.
12535
a75dfea0
AI
125362000-02-06 Andrew Innes <andrewi@gnu.org>
12537
12538 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12539 around image definitions and prototypes.
12540 (gamma_correct) [WINDOWSNT]: New prototype.
12541
12542 * w32term.c (x_make_frame_visible): Replace call to
12543 input_poll_signal with poll_for_input.
12544
12545 * window.c [WINDOWSNT]: Include w32term.h.
12546
12547 * xdisp.c [WINDOWSNT]: Include w32term.h.
12548
12549 * makefile.nt: Add dependencies on w32gui.h.
12550 (OBJ1): Include atimer.obj.
12551 ($(BLD)\atimer.obj): New dependency rule.
12552
12553 * w32.c (sigmask): New function (does nothing).
12554 (sigunblock): Ditto.
12555
12556 * frame.c [WINDOWSNT]: Include w32term.h.
12557
12558 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12559
12560 * lread.c (syms_of_lread): Fix literal newlines.
12561
12562 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12563 the string constant limit (2048 bytes) in MSVC.
12564 (main): Ditto.
12565
59ddecde
GM
125662000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12567
52283633 12568 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12569 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12570 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12571 dispatch the event.
12572
07590973
DL
125732000-02-04 Dave Love <fx@gnu.org>
12574
12575 * fileio.c: Remove some unused vars.
12576 (_GNU_SOURCE): Define (for euidaccess).
12577
12578 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12579
12580 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12581 gcpro1, gcpro2.
12582 (read_minibuf): Deal with allow_props correctly.
12583
649351f9
EZ
125842000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12585
12586 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12587
66e4690f 125882000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12589
12590 * search.c (compile_pattern): If a cache entry has a nil regexp,
12591 fill in that entry instead of clobbering a previously cached
12592 string regexp.
12593
66e4690f 125942000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12595
12596 * puresize.h (BASE_PURESIZE): Increase to 610000.
12597
d240a249
GM
125982000-02-02 Gerd Moellmann <gerd@gnu.org>
12599
12600 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12601 can GC.
12602
ca91fb26
KH
126032000-02-02 Kenichi Handa <handa@etl.go.jp>
12604
25660570
KH
12605 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12606 instead of incrementing ic directly.
12607 <CCL_WriteExprConst> Likewise.
12608 <ccl_set_expr>: Set ic to jump_address.
12609
ca91fb26
KH
12610 * fileio.c (e_write): Fix the handling of
12611 CODING_FINISH_INSUFFICIENT_SRC.
12612
2ede9689
DL
126132000-02-01 Dave Love <fx@gnu.org>
12614
12615 * editfns.c (Fpropertize): Doc fix.
12616
12617 * process.c (Fstart_process): Doc fix.
12618
12619 * eval.c: Fix various doc strings not to duplicate information
12620 from help-manyarg-func-alist.
12621
52283633 12622 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12623
12624 * doc.c (Vhelp_manyarg_func_alist): New variable.
12625 (Fdocumentation): Use it.
12626 (syms_of_doc): Define it.
12627
b6680a0e
GM
126282000-01-31 Gerd Moellmann <gerd@gnu.org>
12629
2cb750ba
GM
12630 * xterm.c (xim_open_dpy): Remove unused local variable.
12631
52283633 12632 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12633
12634 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12635 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12636
b6680a0e
GM
12637 * fns.c (sweep_weak_table): New function.
12638 (sweep_weak_hash_tables): Use it. Keep on marking until there
12639 is no more change.
12640
994c5afe
GM
126412000-01-30 Gerd Moellmann <gerd@gnu.org>
12642
12643 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12644 that XTread_socket does not crash by trying to call XNoOp on a
12645 closed display.
427ec082 12646
f00276e3
JR
126472000-01-30 Jason Rumney <jasonr@gnu.org>
12648
12649 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12650 Change selected_frame to SELECTED_FRAME ().
12651 (w32_console_mouse_position): Remove #ifndef MULE from around
12652 `insist' parameter.
12653
12654 * makefile.nt: Remove dosfns.obj.
12655
12656 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12657
12658 * w32fns.c (w32_defined_color): Check for valid frame before
12659 applying gamma correction. Eliminate dependency on frame elsewhere.
12660 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12661 (w32_to_x_font): Use resx and resy not height_in and width_in.
12662 (x_to_w32_font): Doc fix.
12663 (xlfd_strip_height): New function to strip and return font height.
12664 (w32_font_match): Compare height separately from rest of xlfd
12665 spec, using xlfd_strip_height.
12666
12667 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12668 width_in. Use w32_defined_color in place of defined_color.
12669
12670 * w32faces.c: Merge more of DOS and X specifics in preparation for
12671 merge with xfaces.c.
12672 (defined_color): Remove FIXME comment.
12673 (tty_color_name): Provide w32-specific function.
12674 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12675
12676 * w32console.c (turn_on_face, turn_off_face): Removed.
12677 (w32_face_attributes): New function.
12678 (Global_variables): Reduce scope where possible.
12679 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12680 fill attribute.
12681 (hl_mode): Don't modify text attributes.
12682 (write_glyphs): Don't do anything if len <= 0. Use
12683 w32_face_attributes to get attributes for drawing. Write
12684 terminating codes using char_attr_normal.
12685 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12686 (update_begin, update_end): Likewise.
12687 (vga_stdcolor_name): New function.
12688 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12689 (Fset_screen_color): Remove char_attr_reverse.
12690
b08e8bb2
GM
126912000-01-29 Gerd Moellmann <gerd@gnu.org>
12692
12693 * xfns.c (xic_set_preeditarea): Take window parameter and
12694 window-relative pixel-positions.
12695
12696 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12697 is its frame's selected window.
12698 (xim_instantiate_callback): Likewise.
12699
12700 * xfns.c (x_create_im): Removed.
12701 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12702 (supported_xim_styles): Renamed from supported_styles.
12703 (best_xim_style): Renamed from best_style.
12704 (create_frame_xic): Renamed from xic_create_frame.
12705 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12706
b08e8bb2
GM
127072000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12708
12709 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12710 our frames, call XFilterEvent with 2nd parameter `None'.
12711 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12712 returning XBufferOverflow.
52283633 12713 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12714 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12715 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12716 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12717 (xim_initialize, xim_close)
12718 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12719 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12720 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12721 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12722
12723 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12724 and `xim_styles'.
12725 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12726 `xic_style' and `xic_xfs'.
12727 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12728 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12729 (FRAME_XIM): Removed.
12730
12731 * xfns.c (supported_styles): New variable.
12732 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12733 (xic_create_xfontset, best_style, xic_create_frame)
12734 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12735 (xic_set_xfontset): New functions.
12736
142e109c
DL
127372000-01-28 Dave Love <fx@gnu.org>
12738
12739 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12740
12741 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12742
b02786f9
GM
127432000-01-28 Gerd Moellmann <gerd@gnu.org>
12744
d060bc9f
GM
12745 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12746 for *scratch* if it already existed.
12747
b02786f9
GM
12748 * emacs.c (USAGE): New macro.
12749 (main): Use it to display usage information.
12750
2c52d7e4
EZ
127512000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12752
12753 Support for the menu-help feature:
12754
52283633 12755 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12756
12757 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12758 part of the line to the termscript file.
12759 (IT_clear_to_end): Clear the entire line, not just its beginning.
12760 (menu_help_message, prev_menu_help_message): New variables.
12761 (IT_menu_make_room): Make room for the help_text member.
12762 (IT_menu_display): New argument disp_help; all callers changed.
12763 If disp_help is non-zero, store the help text of the active menu
12764 item in menu_help_message.
12765 (XMenuAddPane): Initialize the help_text member to NULL.
12766 (XMenuAddSelection): New argument help_text. Store it in the
12767 XMenu structure.
12768 (XMenuActivate): New argument help_callback. If the value of
12769 menu_help_message has changed since the last time, display the
12770 menu help message text while waiting for the mouse to move. Clear
12771 the echo area before exiting.
12772 (XMenuDestroy): Free the help_text member.
12773
ffe0bcd1
GM
127742000-01-27 Gerd Moellmann <gerd@gnu.org>
12775
12776 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12777 XMenuAddSelection. Pass help callback to XMenuActivate.
12778 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12779
50dbd23f
EZ
127802000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12781
12782 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12783 and EMACS_SET_USECS.
12784
f5941bf8
GM
127852000-01-26 Dave Love <fx@gnu.org>
12786
6c67ddee
DL
12787 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12788
f5941bf8
GM
12789 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12790 an error may be signalled.
12791
9e49c990
GM
127922000-01-26 Gerd Moellmann <gerd@gnu.org>
12793
fc3cb460
GM
12794 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12795 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12796
9e49c990
GM
12797 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12798
d0c037d8
GM
127992000-01-25 Gerd Moellmann <gerd@gnu.org>
12800
12801 * charset.c (Fstring): If there is a multibyte char among
12802 the args, always return a multibyte string.
12803
e12489f9
GM
128042000-01-25 Gerd Moellmann <gerd@gnu.org>
12805
12806 * sysdep.c (sys_select): Turn atimers off and on instead of
12807 recording and restoring old alarm handler
12808
12809 * process.c (toplevel): Include atimer.h.
12810 (create_process_1): Rewritten.
12811 (create_process): Use atimers instead of alarm.
12812 (wait_reading_process_input) [hpux]: Turn atimers off instead
12813 of turning off SIGALRM.
12814 (wait_reading_process_input): Turn off atimers instead off
12815 calling stop_polling.
12816
12817 * emacs.c (main): Call init_atimer.
12818
12819 * keyboard.c (toplevel): Include systime.h and atimer.h.
12820 (polling_for_input): Removed because unused.
12821 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12822 (poll_timer): New variable.
12823 (poll_for_input, poll_for_input_1): New functions.
12824 (start_polling, stop_polling): Rewritten.
12825
12826 * keyboard.h (polling_for_input): Removed.
427ec082 12827
e12489f9
GM
12828 * atimer.h, atimer.c: New files.
12829
12830 * Makefile.in (obj): Add atimer.o.
12831 (atimer.o): New target.
12832
12833 * blockinput.h (pending_atimers): Add extern declaration.
12834 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12835
12836 * lisp.h (popup_activated_flag): Add extern declaration.
12837
12838 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12839 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12840 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12841
12842 * xterm.c (toplevel): Include atimer.h.
12843 (toolkit_scroll_bar_interaction): New variable.
12844 (Fxt_process_timeouts): Removed.
12845 (x_process_timeouts): New function.
12846 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12847 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12848 (x_make_frame_visible): Call poll_for_input_1 instead of
12849 input_poll_signal. Don't call alarm.
12850 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12851
1e5279b9
DL
128522000-01-24 Dave Love <fx@gnu.org>
12853
6c67ddee 12854 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12855 Don't use -cckr -- apparently not now necessary.
12856
edf6aeb8
EZ
128572000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12858
12859 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12860 screen boundary.
12861
9badad41
JR
128622000-01-23 Jason Rumney <jasonr@gnu.org>
12863
12864 * w32fns.c (w32_defined_color): Apply gamma correction before
12865 trying to map to the palette.
12866 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12867 to w32_clear_rect.
12868
12869 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12870 here. Callers changed to always pass real device context.
12871 (w32_draw_bitmap): Likewise.
12872 (w32_get_glyph_overhangs): Likewise.
52283633 12873 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12874 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12875 pfnSetScrollInfo and SetScrollRange.
12876 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12877 back into MULE characters after decoding them.
12878 (x_get_glyph_face_and_encoding): Likewise.
12879 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12880 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12881 (x_produce_glyphs): Calculate per char metrics for a character
12882 that we know exists in default font when font_not_found_p is true.
12883
63bd786b
JR
128842000-01-22 Jason Rumney <jasonr@gnu.org>
12885
12886 * makefile.nt (intervals.obj, composite.obj): New modules.
12887 (composite.h): Added as dependency where appropriate.
12888
12889 * w32gui.h (XGCValue): New struct for emulating X GCs.
12890
12891 * w32term.h (XCharStruct): New struct for emulating X.
12892
12893 * w32console.c (turn_on_face, turn_off_face): New functions.
12894 (change_line_highlight): New prototype for new redisplay.
12895 (write_glyphs): Support multibyte text. Support faces.
12896
52283633 12897 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12898
12899 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12900 throughout. struct frame * in place of FRAME_PTR.
12901 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12902 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12903 (w32_get_arg): Renamed from x_get_arg.
12904 (Fx_file_dialog): New function.
12905 (w32_list_fonts): Check cache before asking system.
12906 (Vw32_enable_synthesized_fonts): New variable.
12907 (Vw32_enable_italics): Obsolete, removed.
12908
12909 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12910 Use SELECTED_FRAME macro.
12911
12912 * w32menu.c: Add skeleton support for help strings on menus.
12913 (add_menu_item): Native checkbox and radio support added, but not
12914 yet enabled due to bugs.
12915 (push_menu_item): Add parameters type, selection and help.
12916 Callers updated.
12917 Formatting changes to reduce unnecessary diffs with xmenu.c.
12918
12919 * w32select.c (Fw32_set_clipboard_data): Update call to
12920 find_charset_in_str.
12921
12922 * w32term.c: Complete rewrite for new redisplay based on new
12923 xterm.c with necessary sections merged back in from old w32term.c.
12924
6ffd3cf7 129252000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12926
12927 * data.c (set_internal): Further fix in same criterion.
12928
6ffd3cf7 129292000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12930
12931 * data.c (set_internal): Fix the criteria for whether
12932 to swap out the old cached binding.
12933
60af03f1
DL
129342000-01-19 Dave Love <fx@gnu.org>
12935
12936 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12937
f9be074f
KH
129382000-01-18 Kenichi Handa <handa@etl.go.jp>
12939
12940 * regex.c (re_compile_fastmap): While checking a range table for
12941 `charset', skip flag bits for a character class correctly.
12942
52b8dbf9
GM
129432000-01-17 Gerd Moellmann <gerd@gnu.org>
12944
d36100c9
GM
12945 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12946
52283633 12947 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12948
12949 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12950 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12951
12952 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12953 MENU_ITEMS_ITEM_.*.
12954 (MENU_ITEMS_ITEM_HELP): New enumerator.
12955 (push_menu_item): Add parameter HELP. Record help in menu_items.
12956 (single_menu_item, single_submenu, list_of_items): Call
12957 push_menu_item with new parameter.
12958 (single_submenu): Set help string in widget value.
12959 (menu_highlight_callback): New function.
12960 (set_frame_menubar): Call lw_create_widget with new
12961 parameter list.
12962 (xmenu_show, xdialog_show): Ditto.
12963
3139018f
GM
129642000-01-13 Gerd Moellmann <gerd@gnu.org>
12965
12966 * sound.c (Fplay_sound): Improve doc string.
12967
83c8f461
RS
129682000-01-11 Richard M. Stallman <rms@gnu.org>
12969
12970 * lisp.h (set_internal): Enter the new arg.
12971
12972 * eval.c (specbind): Record buffer-local variables specially,
12973 indicating which buffer's binding was saved.
12974 (unbind_to): Restore buffer-local variables specially
12975 in the proper buffer.
12976
12977 * data.c (set_internal): New arg BUF.
427ec082 12978
83c8f461
RS
12979 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12980 * data.c (Fset): Pass new arg to set_internal.
12981 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12982
1fab1775
GM
129832000-01-11 Gerd Moellmann <gerd@gnu.org>
12984
52283633 12985 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12986
83c8f461 129872000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12988
12989 * minibuf.c (Ftry_completion): Doc fix.
12990
7a85e4df
GM
129912000-01-11 Gerd Moellmann <gerd@gnu.org>
12992
12993 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12994 vector, too.
12995
a970dae4
AS
129962000-01-11 Andreas Schwab <schwab@suse.de>
12997
12998 * coding.c (code_convert_region): Initialize total_skip.
12999
c65d14ee
DL
130002000-01-08 Dave Love <fx@gnu.org>
13001
13002 * eval.c (Fuser_variable_p): Check customizability too.
13003
834938d2
GM
130042000-01-07 Gerd Moellmann <gerd@gnu.org>
13005
13006 * minibuf.c (Fcompleting_read): Doc fix.
13007
e0303cd6
GM
130082000-01-05 Gerd Moellmann <gerd@gnu.org>
13009
8a26744b
GM
13010 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
13011 -L /usr/local/lib.
13012
e0303cd6
GM
13013 * xfns.c (x_create_im): New function to set IM and IC of a frame.
13014 Check that input style is supported before trying to create an
13015 IC for it.
13016 (x_window): Call x_create_im.
427ec082 13017
2e471eb5
GM
130182000-01-04 Gerd Moellmann <gerd@gnu.org>
13019
560a7bd2
GM
13020 * xfns.c (current_gif_memory_src): New variable.
13021 (gif_load): Record the address of the current memory source
13022 in current_gif_memory_src.
13023 (gif_read_from_memory): Use current_gif_memory_src.
13024
f9ee84a3
GM
13025 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
13026 macros statement form.
13027
d1299cde
GM
13028 * sound.c (struct sound): Renamed from struct sound_file.
13029 (struct sound): Add members `data' and `header_size'.
13030 (enum sound_attr): Add SOUND_DATA.
13031 (current_sound, current_sound_device): Variables renamed from
13032 sound_file and sound_device.
13033 (parse_sound): Parse :data.
13034 (parse_sound): Handle sound data in strings.
13035 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 13036 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
13037 needed header size.
13038 (wav_play, au_play): Play sounds from string data.
13039
2e471eb5
GM
13040 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
13041
13042 * lisp.h: Add prototype for allocate_string_data.
13043
52283633 13044 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
13045
13046 * alloc.c (mark_buffer): Remove code in #if 0.
13047 (gc_sweep): Ditto.
13048 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
13049 (strings_consed): New variable.
13050 (allocate_string): Set it.
13051 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13052 (Fmemory_use_counts): Return strings_consed. Use Flist.
13053
13054 * alloc.c: General cleanup in comments etc. Remove conditional
13055 compilation for `standalone'.
13056
13057 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13058
13059 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13060 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13061 (DONT_COPY_FLAG): Removed.
13062 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13063 (struct sdata, struct sblock): New
13064 (struct string_block): Rewritten.
13065 (STRINGS_IN_STRING_BLOCK): New macro.
13066 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13067 (large_sblocks, string_blocks, string_free_list): New variables.
13068 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13069 (init_strings): Rewritten.
13070 (allocate_string, allocate_string_data, compact_small_strings)
13071 (free_large_strings, sweep_strings): New functions.
13072 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13073 (struct string_block_head, current_string_block)
13074 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13075 (STRING_PAD): Removed.
13076 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13077 (Fgarbage_collect): Don't set mark bit in large strings.
13078 (mark_object): Mark strings differently. Mark symbol names
13079 differently.
13080 (survives_gc_p): Test marked strings differently.
427ec082 13081 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13082 symbol names.
13083 (compact_strings): Removed.
13084
42608ba8
EZ
130852000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13086
13087 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13088 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13089
e0a09e1a
KH
130902000-01-04 Kenichi Handa <handa@etl.go.jp>
13091
dd9f0750 13092 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13093 in a non-empty buffer.
dd9f0750 13094
3c0f3b15 13095 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13096
44cd3ae5
GM
130972000-01-03 Gerd Moellmann <gerd@gnu.org>
13098
13099 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13100 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13101
13102 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13103
c182a70f
EZ
131042000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13105
13106 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13107 need to test for MSDOS frames.
13108
24480d5b
EZ
131092000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13110
13111 * dosfns.c (unspecified_colors): Remove.
13112 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13113 unspecified_bg.
13114 (msdos_stdcolor_name): Return strings for unspecified fore- and
13115 back-ground colors.
13116
13117 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13118 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13119 (tty_color_name): Return Lisp strings for unspecified fore- and
13120 back-ground colors.
13121 (Finternal_set_lisp_face_attribute): Remove the special treatment
13122 for Qunspecified_{f,b}g.
52283633 13123 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13124
047f434a
GM
131252000-01-03 Gerd Moellmann <gerd@gnu.org>
13126
13127 * xdisp.c (reseat_at_next_visible_line_start): Position before
13128 newline only if ending up on a newline.
13129 (next_element_from_ellipsis): Return success. Handle case of
52283633 13130 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13131 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13132 returns 0.
13133
d684c676
EZ
131342000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13135
13136 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13137 (Fcolor_supported_p): Renamed from face-color-supported-p.
13138
5fe1d139
EZ
131392000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13140
13141 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13142 list of colors renamed to tty-defined-color-alist.
13143 (tty_color_name): Pass the frame to tty-color-by-index.
13144 (realize_tty_face): tty-color-alist is now a function which
13145 accepts the frame as argument.
13146
52283633 13147 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13148
816be8b8
EZ
131492000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13150
13151 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13152 encode_terminal_code.
13153
b635321e
EZ
131542000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13155
13156 * dispnew.c (mode_line_string): Support termcap frames as well.
13157
9b784e96
GM
131582000-01-01 Gerd Moellmann <gerd@gnu.org>
13159
27189709
GM
13160 * syntax.c (Fforward_word): Undo previous change.
13161
13162 * editfns.c (Fconstrain_to_field): Don't constrain if
13163 inhibit-field-text-motion is non-nil.
13164 (Fline_beginning_position): Undo previous change.
13165 (Fline_end_position): Ditto.
13166
13167 * syntax.c (Fforward_word): Notice field boundaries only if
13168 inhibit-field-text-motion is nil.
13169
13170 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13171
13172 * editfns.c (Vinhibit_field_text_motion): New variable.
13173 (inhibit-field-text-motion): New DEFVAR_LISP.
13174 (Fline_beginning_position, Fline_end_position): Notice field
13175 boundaries only if inhibit-field-text-motion is nil.
13176
45158a91
GM
13177 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13178 All calls adjusted.
13179 (x_build_heuristic_mask): Likewise.
13180 (xbm_load_image_from_file): Change error output.
13181 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13182 (gif_load, gs_load, x_kill_gs_process): Ditto.
13183
9b784e96
GM
13184 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13185 color indices when accessing raster pixels.
63cec32f
GM
13186 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13187 one of :file or :data.
13188 (enum pbm_keyword_index): Add PBM_DATA.
13189 (pbm_format): Add :data.
13190 (pbm_image_p): Allow either :file or :data.
13191 (pbm_read_file): New function.
13192 (pbm_scan_number): Rewritten to read from string.
13193 (pbm_load): Support :data.
9b784e96 13194
2cb085db 13195See ChangeLog.8 for earlier changes.
6922b018
KH
13196
13197;; Local Variables:
49b3bd82 13198;; coding: iso-2022-7bit
6922b018 13199;; End:
2a34a036
GM
13200
13201 Copyright (C) 2001 Free Software Foundation, Inc.
13202 Copying and distribution of this file, with or without modification,
13203 are permitted provided the copyright notice and this notice are preserved.