(VERSION): Add and use it where the the version
[bpt/emacs.git] / src / ChangeLog
CommitLineData
945220bd
MB
12001-10-17 Miles Bader <miles@gnu.org>
2
3 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
4 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
5 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
6 Change doc-string comments to `new style' [w/`doc:' keyword].
7 (DOC_STRINGS_IN_COMMENTS): Macro removed.
8 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
9 out make-docfile.
10
14242528
MB
112001-10-16 Miles Bader <miles@gnu.org>
12
13 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
14
3ddf952f
GM
152001-10-16 Gerd Moellmann <gerd@gnu.org>
16
17 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
18 *scratch*.
19
f3fbd155
KR
202001-10-16 Ken Raeburn <raeburn@gnu.org>
21
22 Avoid the assumption that car and cdr slots of cons cells are
23 addressable lvalues; this allows for easier experimentation with
24 other lisp implementations that may not permit such accesses for
25 various reasons. Not quite complete -- buffer.c still needs some
26 work, and w32/mac files need rechecking -- so compile-time
27 enforcement is left disabled for now.
28
29 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30 gcc with a union-based Lisp object rep. Redefine as no-op for
31 now.
32 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
33 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
34 (XSETCAR, XSETCDR): New macros.
35 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
36 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
37 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
38 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
39 XSETCDR.
40 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
41 * buffer.c (record_buffer, Fbury_buffer,
42 swap_out_buffer_local_variables, recenter_overlay_lists,
43 Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
44 fields of a cons cell respectively.
45 * callint.c (quotify_args, Fcall_interactively): Likewise.
46 * ccl.c (Fregister_code_conversion_map): Likewise.
47 * coding.c (detect_coding_system): Likewise.
48 * composite.c (get_composition_id, make_composition_value_copy):
49 Likewise.
50 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding,
51 swap_in_symval_forwarding, set_internal, Fset_default,
52 Fmake_variable_buffer_local, Fmake_local_variable,
53 Fmake_variable_frame_local): Likewise.
54 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
55 * keymap.c (Fset_keymap_parent, store_in_keymap,
56 accessible_keymaps_1, where_is_internal_2, Fcopy_keymap):
57 Likewise.
58 * minibuf.c (get_minibuffer): Likewise.
59 * search.c (Fmatch_data): Likewise.
60 * textprop.c (extend_property_ranges): Likewise.
61 * undo.c (record_insert, Fundo_boundary, truncate_undo_list):
62 Likewise.
63 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
64 Likewise.
65 * w32term.c (x_delete_display): Likewise.
66 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
67 Likewise.
68 * xterm.c (x_list_fonts, x_load_font, x_delete_display):
69 Likewise.
70 * doc.c (store_function_docstring): Use XSETCARFASTINT.
71 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and
72 XSETCDRFASTINT.
73 (Fread_file_name): Use XSETCAR.
74 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
75 CHECK_NUMBER_CDR.
76 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
77 * frame.c (Fmake_terminal_frame): Use XSETCDR.
78 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
79 CHECK_NUMBER_CDR.
80 * keyboard.c (read_char): Alter list traversal to avoid taking the
81 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
82 (parse_menu_item): Use XSETCAR and XSETCDR.
83 (reach_char_x_menu_prompt): Use XSETCAR.
84 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
85 (Fcommand_execute): Use XSETCDR.
86 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
87 (openp): Change list traversal to avoid using XCAR as lvalue.
88 (read_list): Use XSETCDR.
89 * process.c (wait_reading_process_input): Change wait_for_cell
90 handling to avoid taking addresses of cons cell slots.
91 * xselect.c (x_own_selection, x_handle_selection_clear,
92 x_clear_frame_selections): Use XSETCDR.
93 (wait_for_property_change): Use XSETCARFASTINT and
94 XSETCDRFASTINT.
95 (x_handle_property_notify, x_get_foreign_selection,
96 x_handle_selection_notify): Use XSETCAR.
97
502150e5
PJ
982001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
99
018ba359
PJ
100 * buffer.c: Put doc strings in comments.
101
502150e5
PJ
102 * sound.c: Include <sys/ioctl.h> also on systems without
103 <soundcard.h>.
104
b56ba8de
SS
1052001-10-15 Sam Steingold <sds@gnu.org>
106
107 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
108
6a0b793a
PJ
1092001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
110
e2ba787b
PJ
111 * process.c (process-inherit-coding-system-flag,
112 get-buffer-process): Do not confuse make-docfile with doc strings
113 in comment.
114
a1f17501
PJ
115 * editfns.c (Fchar_to_string): Make doc string consistent with
116 arguments.
117 Put doc strings in comments.
a65da641
PJ
118
119 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 120
aa601ad0
GM
1212001-10-15 Gerd Moellmann <gerd@gnu.org>
122
123 * window.c (window_loop): Don't check for Fother_buffer returning
124 nil.
b56ba8de 125
aa601ad0
GM
126 * window.c (select_window_1): Unfreeze window start. Remove a
127 doubled test for WINDOW being live.
128
288148a1
PJ
1292001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
130
dd8d1e71
PJ
131 * fns.c (Fmapconcat): Fix typo in a doc string.
132
288148a1
PJ
133 * dispnew.c (Fsleep_for): Fix typo in a doc string.
134
9f5eb4a3
GM
1352001-10-15 Gerd Moellmann <gerd@gnu.org>
136
137 * xterm.c (x_draw_glyph_string): Restore clipping after
138 drawing box.
139
dbae44c8
PJ
1402001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
141
142 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc
143 string.
144
0c88c937
SM
1452001-10-14 Stefan Monnier <monnier@cs.yale.edu>
146
56378db4
GM
147 * indent.c (skip_invisible): Use new retval of
148 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 149
845e4cf4
SM
150 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
151 If a parent is reached and noinherit is set, exit immediately.
152 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
153
0c88c937
SM
154 * s/ms-w32.h (EXEC_SUFFIXES):
155 * s/msdos.h (EXEC_SUFFIXES):
156 * process.h (EXEC_SUFFIXES): Remove.
157
158 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
159 (decode_suffixes): Remove.
160
161 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
162 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
163 (invisible_ellipsis_p): Remove.
0c88c937
SM
164
165 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
166 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
167 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
168 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
169 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 170
d19be8a9
PJ
1712001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
172
04d7d066
PJ
173 * lisp.h (Ftop_level): Add prototype.
174
d624284c
PJ
175 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
176 (XTread_socket): Improve style of comments to follow other
177 comments.
178
a87414f9
PJ
179 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
180 is already prototyped in included lisp.h).
181
d19be8a9
PJ
182 * frame.c (Fset_mouse_position): Improve style of comment to
183 follow other comments.
184 (Fset_mouse_pixel_position): Improve style of comment to follow
185 other comments.
186 (Fmake_frame_visible): Doc fix and typo in comment.
187 (Fmake_frame_invisible): Doc fix and typo in comment.
188 (Ficonify_frame): Fix typo in comment.
189
c061c855
GM
1902001-10-14 Gerd Moellmann <gerd@gnu.org>
191
37f6b5b6 192 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 193 * term.c, alloc.c: Put doc strings in comments.
c061c855 194
e641b454
GM
1952001-10-13 Gerd Moellmann <gerd@gnu.org>
196
197 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
198 Provide definitions for doc strings in comments.
199
200 * fns.c: Put doc strings in comments.
201
51724e26
EZ
2022001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
203
204 * dired.c (file_name_completion): Ignore a candidate directory if
205 it matches an element in completion-ignored-extensions that ends
206 in a slash.
207 (syms_of_dired) <completion-ignored-extensions>: Mention the above
208 feature in the doc string.
209 (Ffile_name_completion): Ditto.
210
be5fc59b
SM
2112001-10-12 Stefan Monnier <monnier@cs.yale.edu>
212
5a1373f3
SM
213 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
214
215 * xfns.c (syms_of_xfns): Update calls to Fprovide.
216
217 * lisp.h (Fprovide): Update prototype.
218 (Ffeaturep, invisible_p): Remove.
219
bbc4a3d3 220 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
221 (DOLIST, LOOP_PROPVAL): New macros.
222 (invisible_p, invisible_ellipsis_p): Use them.
223 (invisible_noellipsis_p): New function.
224 (syms_of_xdisp): Use empty_string.
225
226 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
227
228 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
229 (syms_of_lread) <Vafter_load_alist>: Update docstring.
230
231 * print.c (Fwith_output_to_temp_buffer): Align with
232 internal_with_output_to_temp_buffer.
233 (print_preprocess): Use traverse_intervals_noorder.
234 (print_object): Update call to traverse_intervals.
235
236 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
237 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
238
239 * intervals.c (traverse_intervals_noorder): New function.
240 (search_for_interval, count_intervals): Use it.
241 (traverse_intervals): Use less stack space and drop `depth' arg.
242
243 * fns.c (Ffeaturep): Add new `subfeature' arg.
244 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
245 (Qsubfeatures): New var.
246 (syms_of_fns): Initialize it.
247
026f408d
SM
248 * keymap.c (Fkey_description): Use empty_string.
249 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
250 (syms_of_keymap): Setup inheritance between maps.
251 Don't export Sdescribe_bindings_internal any more.
252
be5fc59b
SM
253 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
254
3365175e
GM
2552001-10-12 Gerd Moellmann <gerd@gnu.org>
256
257 * xterm.c (notice_overwritten_cursor): Renamed from
258 note_overwritten_text_cursor. Rewritten to take glyph widths into
259 account.
260
2ab7765c
EZ
2612001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
262
263 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
264 multi-line strings without a trailing "\n\".
265
311346bb
PJ
2662001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
267
268 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
269 defined.
270
2168e04d
SM
2712001-10-11 Stefan Monnier <monnier@cs.yale.edu>
272
026f408d
SM
273 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
274
c0ec53ad
SM
275 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
276 * w32proc.c (sys_spawnve):
277 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
278 * w32.c (check_windows_init_file):
279 * sound.c (Fplay_sound):
026f408d 280 * emacs.c (init_cmdargs):
c0ec53ad
SM
281 * process.c (Fstart_process): Update calls to openp.
282
283 * callproc.c (Vexec_suffixes): New var.
284 (Fcall_process): Update call to openp.
285 (decode_suffixes): New function.
286 (syms_of_callproc): Init exec-suffixes.
287
288 * lread.c (Vload_suffixes, default_suffixes): New vars.
289 (openp): Take a lisp list of suffixes.
290 Check for file-name-handlers even if the file was absolute already.
291 (syms_of_lread): Declare load-suffixes.
292 (Fload): Fix up call to openp.
293 Don't bother checking for file-name-handler at the very beginning.
294
f6333468
SM
295 * keymap.h (Fcopy_keymap): Don't export.
296
297 * lisp.h (empty_string): Declare.
c0ec53ad
SM
298 (Vload_suffixes, Vexec_suffixes): Declare.
299 (openp): Update prototype.
f6333468
SM
300
301 * emacs.c (empty_string): New var.
302 (syms_of_emacs): Initialize it.
303
304 * search.c (wordify): Use it.
305
306 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
307 selected window if it's not displayed there. Handle the case
308 when the window is dedicated.
309 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
310
311 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
312
2168e04d
SM
313 * syntax.h (struct gl_state_s): Change the meaning of b_property.
314 Remove left_ok and right_ok.
315 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
316 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
317 new meaning of b_property.
318
319 * syntax.c (update_syntax_table): Simplify.
320 (Fforward_comment): Don't skip quoted chars when going backward.
321
13d95cc0
GM
3222001-10-11 Gerd Moellmann <gerd@gnu.org>
323
beb0990f
GM
324 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
325 in case I is of some unsigned type, in which case
326 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
327 comparison becomes bogus.
328
cb938d46
GM
329 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
330 (Fuser_full_name): Fix bug treating a float as a fixnum.
331
332 * data.c (Fstring_to_number): Use make_fixnum_or_float.
333
334 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 335
13d95cc0
GM
336 * lisp.h (circular_list_error): Add prototype.
337
338 * data.c (Qcircular_list): New variable.
339 (circular_list_error): New function.
340 (syms_of_data): Initialize it Qcircular_list.
341
e35f6ff7
SM
3422001-10-10 Stefan Monnier <monnier@cs.yale.edu>
343
344 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
345 casefiddle.c, buffer.c: Include keymap.h.
346
619632ac
GM
3472001-10-10 Gerd Moellmann <gerd@gnu.org>
348
349 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
350 options. From Dave Love <d.love@dl.ac.uk>.
351
5e5388f6
GM
3522001-10-09 Gerd Moellmann <gerd@gnu.org>
353
354 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
355 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
356
14a3dff7
GM
357 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
358 unsigned char.
359 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 360
76ba8daf
AI
3612001-10-08 Andrew Innes <andrewi@gnu.org>
362
363 * lisp.h [max]: Undef min and max before redefining them.
364
365 * w32gui.h: Do not undef min and max.
366
367 * w32heap.h: Do not undef min and max.
368
369 * s/ms-w32.h: Do not undef min and max.
370
166253cb
SM
3712001-10-08 Stefan Monnier <monnier@cs.yale.edu>
372
373 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
374
0c4d9527
SS
3752001-10-08 Sam Steingold <sds@gnu.org>
376
377 * keymap.c (current-active-maps): Quote newlines (compilation error).
378
14bfa771
EZ
3792001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
380
381 * Makefile.in (lisp, shortlisp): Replace bindings.el with
382 bindings.elc, since otherwise doc strings in bindings.el get wrong
383 offsets in etc/DOC.
384
bdb7aa47
SM
3852001-10-08 Stefan Monnier <monnier@cs.yale.edu>
386
9985827f
SM
387 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
388
389 * keyboard.h (map_prompt): Remove.
390
391 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 392 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 393
bdb7aa47
SM
394 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
395
396 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
397
398 * keyboard.c (map_prompt): Remove.
399 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
400 Use Fkeymap_prompt.
401
402 * keymap.h: New file. Extracted from lisp.h.
403
9985827f
SM
404 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
405 (accessible_keymaps_1): New function.
406 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
407 (Fwhere_is_internal): Use Fcurrent_active_maps.
408 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
409 Insert in current buffer rather than standard-output.
410 Don't call `help-mode'. Export to elisp.
411 (describe_buffer_bindings): New wrapper.
412 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
413 and Sdescribe_buffer_bindings.
414
402c9a51
GM
4152001-10-08 Gerd Moellmann <gerd@gnu.org>
416
9985827f 417 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
418 Remove code setting signal handler.
419
9985827f 420 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
421 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
422
3fe81fdf
PJ
4232001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
424
425 * keyboard.c: Don't define min/max.
426
55fa7820
GM
4272001-10-08 Gerd Moellmann <gerd@gnu.org>
428
9985827f 429 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 430 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 431 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 432 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 433 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
434 Don't define min/max.
435
436 * lisp.h (min, max): New macros.
437
55fa7820
GM
438 * puresize.h (BASE_PURESIZE): Increase to 725000.
439
1aad31e4
PJ
4402001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
441
9180dc8c
PJ
442 * xfaces.c (free_frame_menubar): Add prototype.
443
01f67d2c
PJ
444 * lisp.h (init_window): Add prototype.
445
446 * editfns.c: Include ctype.h.
447
448 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 449 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
450 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
451 variable `sb'.
452
5f351ff1
PJ
453 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
454 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
455 `popup_activated_flag' and `title'.
456
479dfe87
PJ
457 * doc.c (Fdocumentation_property): Fix typo in a doc string.
458
dff49fc8
PJ
459 * emacs.c (main): Remove extra `;'.
460
248ac615
PJ
461 * atimer.h (struct atimer): Fix typos in a comment.
462
463 * atimer.c: Fix typo.
464
af232c7d
PJ
465 * Makefile.in: Fix typo.
466
467 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 468
d876f455
MB
4692001-10-07 Miles Bader <miles@gnu.org>
470
471 * Makefile.in (lisp, shortlisp): Add `button.elc'.
472
0037e2f2
KR
4732001-10-07 Ken Raeburn <raeburn@gnu.org>
474
b056f36d
KR
475 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
476 Lisp_Object.
477
0037e2f2
KR
478 * lisp.h (Ffield_end): Declare.
479
1a4372ef
GM
4802001-10-07 Gerd Moellmann <gerd@gnu.org>
481
a4a74e8c
GM
482 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
483
484 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
485
486 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
487
488 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
489
1a4372ef
GM
490 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
491 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
492
493 * alloc.c (inhibit_garbage_collection): Simplify.
494 (Fmemory_use_counts): Ditto.
495
9985827f 496 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
497 (syms_of_data): DEFVAR_INT most-positive-fixnum and
498 most-negative-fixnum.
499
9985827f 500 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
501 (FIXNUM_OVERFLOW_P): New macros.
502
4650e362
MB
5032001-10-06 Miles Bader <miles@gnu.org>
504
505 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
506 scroll_bar_bottom_shadow_pixel fields.
507 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
508 for the shadows, and tell the toolkit about them if we succeed.
509 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
510 Free scroll-bar shadow colors.
511 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
512 Free scroll-bar shadow colors when the background color changes.
513 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
514 Initialize scroll-bar shadow-color fields.
515
ace64e0a
GM
5162001-10-05 Gerd Moellmann <gerd@gnu.org>
517
518 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
519
ec66bdc7
MB
5202001-10-05 Miles Bader <miles@gnu.org>
521
9985827f
SM
522 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
523 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 524 New functions (were in simple.el).
9985827f 525 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
526 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
527 (syms_of_minibuf): Initialize them.
528
a0fb4492
GM
5292001-10-05 Gerd Moellmann <gerd@gnu.org>
530
531 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
532 (tiff_load): Install them as error and warning handler.
533
0bcf87c1
AI
5342001-10-04 Andrew Innes <andrewi@gnu.org>
535
536 * w32fns.c (x_to_w32_color): Fix argument to alloca.
537 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 538 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
539 (x_to_w32_charset): Handle private format for unknown charsets.
540 Handle wildcards in charset spec, by ignoring them.
541 (w32_codepage_for_font): Fix argument to alloca. Don't remove
542 "*-" prefix from charset.
543 (x_to_w32_font): Enlarge remainder array for safety. Specifically
544 handle the truncated font spec form constructed by font_list_1, so
545 that we correctly identify the charset fields. Don't remove "*-"
546 prefix from charset.
547 (w32_list_synthesized_fonts): Fix argument to alloca.
548
c89e4bc5
GM
5492001-10-04 Stefan Monnier <monnier@cs.yale.edu>
550
551 * window.h (MINI_WINDOW_P): Use NILP.
552
553 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
554
555 * termhooks.h (struct input_event): Use proper type for `kind'.
556
5572001-10-04 Gerd Moellmann <gerd@gnu.org>
558
559 This handles unknown keysyms better than before. For example,
560 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
561 Emacs formerly completely ignored F5. With the change, it derives
562 a key symbol from the name of the X keysym, `ccaron' in this case.
563 Reported by Martin Buchholz.
564
565 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
566 unknown keysyms.
567
568 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
569 that EVENT->code isn't a function key, use the keysym's name.
570
5712001-10-04 Gerd Moellmann <gerd@gnu.org>
572
573 FOREACH is a macro that should make it easier to loop over Lisp
574 lists with checks for cycles and proper lists.
575
576 * lisp.h (LIST_END_P, FOREACH): New macros.
577
5782001-10-04 Gerd Moellmann <gerd@gnu.org>
579
580 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
581 called for a lost connection. Prevent dumping core in this case.
582 Instead print the X error, and exit. On user request.
583
584 * xterm.c (error_msg): New variable.
585 (x_fatal_error_signal): New function.
586 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
587 as fatal_error_signal_hook around the call to XtCloseDisplay.
588
589 * emacs.c (fatal_error_signal_hook): New variable.
590 (fatal_error_signal): Call that function.
591
5922001-10-04 Gerd Moellmann <gerd@gnu.org>
593
594 With this, Emacs prints how much pure storage it will
595 approximately need in case pure storage overflows while dumping.
596
597 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
598 New variables.
599 (init_alloc_once): Initialize new variables.
600 (PURE_POINTER_P): Use new variables.
601 (pure_alloc): If pure storage overflows, allocate from the heap.
602 (check_pure_size): New function.
603 (Fgarbage_collect): Don't GC if pure storage has overflowed.
604
605 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
606 (check_pure_size): Add prototype.
607
608 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
609
6102001-10-04 Gerd Moellmann <gerd@gnu.org>
611
612 This adds a post-gc-hook that's run with GC inhibited.
613 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
614
615 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
616 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
617 (Fgarbage_collect): Run post-gc-hook.
618
6192001-10-04 Gerd Moellmann <gerd@gnu.org>
620
621 This adds `defvaralias' and `indirect-variable'. Changes not
622 directly related to this feature are there to gain the same
623 performance again as before variable aliases.
624
625 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
626 code to get and set symbol values, to take defvaralias into account.
627
628 (Note: the new `constant' bit-flag in symbols would make it
629 possible to define arbitrary read-only variables, e.g. with
630 `defconst'.)
631
632 Documentation is in lispref/variables.texi. Added to NEWS.
633
634 * lisp.h (enum symbol_interned): New enumeration.
635 (struct Lisp_Symbol): Remove member `obarray', add
636 `indirect_variable', `constant', and `interned'.
637 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
638 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
639 (indirect_variable): Add prototype.
640
641 * print.c (print_preprocess, print_object): Test internedness of
642 symbols differently.
643
644 * lread.c (Fintern, Funintern): Set symbol's interned and constant
645 bit-fields.
646 (init_obarray): Likewise for t and nil.
647
648 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
649 (Fdefvaralias): New function.
650 (specbind): Simplify the test if symbol is a constant.
651 (syms_of_eval): Defsubr Fdefvaralias.
652
653 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
654 (Qcyclic_variable_indirection): New variable.
655 (Fkeywordp): Check for internedness differently.
656 (Fmakunbound): Simplify the test if symbol is a constant.
657 (indirect_variable, Findirect_variable): New functions.
658 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
659 aliased symbol.
660 (let_shadows_buffer_binding_p): Check for variable aliases.
661 (set_internal): Simplify the test if SYMBOL is a constant.
662 If SYMBOL has a buffer-local value and is an alias, use the aliased
663 symbol instead.
664 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
665 Sindirect_variable.
666
667 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
668 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
669 set directly.
670
671 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
672
673 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
674 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
675 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
676
ab952a4f
GM
6772001-10-04 Gerd Moellmann <gerd@gnu.org>
678
679 * Branch for 21.1.
b56ba8de 680
ba88ff28
MB
6812001-10-03 Miles Bader <miles@gnu.org>
682
683 * callproc.c (syms_of_callproc): Explicitly state in the
684 documentation for `process-environment' that earlier entries take
685 precedence over later ones.
686
ae1a9581
MB
6872001-10-02 Miles Bader <miles@gnu.org>
688
689 * textprop.c (Fnext_char_property_change)
690 (Fprevious_char_property_change): Remove reference to non-existant
691 argument OBJECT from doc-string.
692
257e3f57
GM
6932001-10-01 Gerd Moellmann <gerd@gnu.org>
694
695 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
696 (try_window_id): Skip back over lines ending in a newline from a
697 string.
698
699 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
700 New bit flag
701
c1f29759
RS
7022001-10-01 Richard M. Stallman <rms@gnu.org>
703
704 * search.c (Freplace_match): Doc fix.
705
c30dce3d
AI
7062001-09-28 Andrew Innes <andrewi@gnu.org>
707
708 * w32menu.c (set_frame_menubar): Take into account that
709 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
710 <raeburn@gnu.org>.
711
03be5931
EZ
7122001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
713
714 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
715
75bec752
PJ
7162001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
717
718 * s/gnu-linux.h: Fix a typo in comment.
719
83100e0a
AS
7202001-09-28 Andreas Schwab <schwab@suse.de>
721
722 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
723 nocombreloc, in case -z combreloc is the default.
724
a74b48cf
GM
7252001-09-28 Gerd Moellmann <gerd@gnu.org>
726
727 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
728 really going on here.
729
09c4719e
SM
7302001-09-27 Stefan Monnier <monnier@cs.yale.edu>
731
732 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
733
f7d5d963
EZ
7342001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
735
736 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
737 utf-8, menu-bar, and latin-N.
738 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
739 unconditionally now.
740 (lisp): Add latin-N, since they are preloaded.
741
9240e746
GM
7422001-09-27 Gerd Moellmann <gerd@gnu.org>
743
14531065
GM
744 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
745 to the left. Some cleanup.
746
9240e746
GM
747 * xdisp.c (display_mode_element): One more case where a string's
748 multibyteness should be used for display.
749
edd1e654
GM
7502001-09-26 Gerd Moellmann <gerd@gnu.org>
751
b02439c8
GM
752 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
753 reading at EOF.
754
032906b1 755 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 756 of the only temporarily set echoing flag for deciding when
032906b1
GM
757 the cancel echoing.
758
759 * keyboard.c (echo_kboard): Make externally visible.
760
761 * lisp.h (echo_kboard): Declare extern.
762
cb617e7c 763 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 764 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
765 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
766 this round of redisplay if make_cursor_line_fully_visible fails.
767 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 768 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
769
770 * dispextern.h (required_matrix_width, required_matrix_height):
771 Add prototypes.
772
09c4719e
SM
773 * dispnew.c (required_matrix_width, required_matrix_height):
774 New functions.
cb617e7c 775 (allocate_matrices_for_window_redisplay)
09c4719e
SM
776 (allocate_matrices_for_frame_redisplay: Use them.
777 Remove parameters CH_DIM.
cb617e7c 778
edd1e654
GM
779 * xdisp.c (display_mode_lines): Temporarily set selected_frame
780 and selected_window to the frame of the window whose mode-lines
781 are displayed, and to the window itself.
782 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 783 here.
edd1e654 784
924b604c
GM
7852001-09-25 Gerd Moellmann <gerd@gnu.org>
786
daba7643
GM
787 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
788 the image cache under us.
789
b7a22712 790 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 791 with a string value, use that string's multibyteness for displaying.
b7a22712 792
ad648212
GM
793 * keyboard.c (read_char): Don't clear a message for a switch-frame
794 event. From Stefan Monnier <monnier@cs.yale.edu>.
795
9f8531e5
GM
796 * xterm.c (fast_find_position) [0]: Add a presumably more correct
797 version for after 21.1.
798
799 * xdisp.c (row_containing_pos): Make externally visible.
800
801 * dispextern.h (row_containing_pos): Add prototype.
802
924b604c
GM
803 * process.c (send_process): Disable composition if from_byte < 0.
804 From Kenichi Handa <handa@etl.go.jp>.
805
6f3f0db4
GM
8062001-09-24 Gerd Moellmann <gerd@gnu.org>
807
c69c0ebc
GM
808 * xterm.c (refreshicon): Function removed.
809
d1182bc4
GM
810 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
811
812 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
813
814 * xterm.c (toplevel): Remove includes in #if 0.
815
6f3f0db4
GM
816 * process.c (sigchld_handler) [LINUX]: Don't return from
817 the signal handler at the end of the loop.
818
59957f85
GM
8192001-09-21 Gerd Moellmann <gerd@gnu.org>
820
09c4719e
SM
821 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
822 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 823
a0528984
EZ
8242001-09-21 Markus Rost <rost@math.ohio-state.edu>
825
826 * Makefile.in (shortlisp): Add ../lisp/env.elc.
827
db92b288
GM
8282001-09-20 Gerd Moellmann <gerd@gnu.org>
829
3fed8ad5
GM
830 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
831 since this function can be called during GC.
832
db92b288
GM
833 * callproc.c (Fcall_process): Handle errors from pipe(2).
834 (child_setup): Delete code in #ifdef vipc.
835
7121b85a
GM
8362001-09-19 Gerd Moellmann <gerd@gnu.org>
837
72f62cb5
GM
838 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
839 (display_mode_element): Display the string from decode_mode_spec
840 depending on its multibyteness.
841
a2697022
GM
842 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
843
7121b85a
GM
844 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
845
bfc97351
GM
8462001-09-18 Gerd Moellmann <gerd@gnu.org>
847
c9063433
GM
848 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
849 recursive_edit_unwind.
850 (recursive_edit_unwind): Set kboard state according to
851 SINGLE-KBOARD.
852
3fbdba3e
GM
853 * buffer.c (modify_overlay): Don't do nothing if START == END;
854 This can still be a modification, for example when an overlay has
855 a before-string or after-string.
856 (Fdelete_overlay): Prevent redisplay optimizations when deleting
857 an overlay with before-string or after-string.
858
1270031d
GM
859 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
860 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
861
bfc97351
GM
862 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
863 first_unchanged_at_end_row is in front of
864 last_unchanged_at_beg_row. This code should be removed after the
865 release of 21.1.
866
d8a973aa
GM
8672001-09-17 Gerd Moellmann <gerd@gnu.org>
868
e18c8b8d
GM
869 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
870 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
871
d8a973aa
GM
872 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
873 versions >= 2.95.
874
ed7d6ba4
EZ
8752001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
876
877 * dired.c (Ffile_attributes): Doc fix.
878
551629f9
GM
8792001-09-14 Gerd Moellmann <gerd@gnu.org>
880
881 * fileio.c (Ffile_symlink_p): Fix last change.
882
883 * filelock.c (current_lock_owner): Fix last change.
884
4c8c7926
GM
8852001-09-13 Gerd Moellmann <gerd@gnu.org>
886
620c4704
GM
887 * filelock.c (current_lock_owner): If readlink returns ERANGE,
888 take that to mean that the buffer is too small.
889
81c3310d
GM
890 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
891 that to mean that the buffer is too small.
892
06fd3792
GM
893 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
894 current buffer's multibyteness when discarding the iterator's
895 stack.
896
4c8c7926
GM
897 * xfns.c (Fx_window_property): Handle case that property gets
898 deleted between the two calls to XGetWindowProperty.
899
9a72e4c1
GM
9002001-09-11 Gerd Moellmann <gerd@gnu.org>
901
bd819d14 902 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 903
a41edd99
GM
904 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
905 in addition to read-only.
906
907 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
908 to t in addition to read-only.
909
910 * lisp.h (Qinhibit_modification_hooks): Declare.
911
912 * insdel.c (Qinhibit_modification_hooks): New variable.
913 (syms_of_insdel): Initialize and staticpro it.
914
d4881c6a
GM
915 * textprop.c (verify_interval_modification): Don't run
916 modification-hooks if inhibit_modification_hooks.
917
918 * dispnew.c (set_window_cursor_after_update): Fix code
919 finding glyph row containing cursor when cursor_in_echo_area
920 is >= 0.
921
9a72e4c1
GM
922 * xdisp.c (init_from_display_pos): Put some code in #if 0.
923 (add_to_log): Use bcopy instead of strcpy.
924 (init_from_display_pos): Use an explicit loop over bytes in
925 overlay strings instead of calling index.
926
f4a374a1
GM
9272001-09-10 Gerd Moellmann <gerd@gnu.org>
928
300e57bd
GM
929 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
930
931 * dispnew.c (direct_output_for_insert): Don't change IT's
932 stop_charpos to something in front of its current position.
933
f4a374a1
GM
934 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
935 `format'.
936
7e4cbc91
RS
9372001-09-10 Richard M. Stallman <rms@gnu.org>
938
939 * frame.c (Fmouse_position): Doc fix.
940
6afad91e
GM
9412001-09-07 Gerd Moellmann <gerd@gnu.org>
942
943 * xdisp.c (init_from_display_pos): Don't compare the result
944 of calling index with NULL.
945
f76e0368
GM
9462001-09-06 Gerd Moellmann <gerd@gnu.org>
947
948 * xfns.c (x_set_background_color): Don't change the colors
949 of the X window of scroll bar widgets.
950
9ead1b60
AI
9512001-09-05 Andrew Innes <andrewi@gnu.org>
952
953 * w32fns.c (w32_createwindow): Undo last change.
954
c3b497b3
GM
9552001-09-05 Gerd Moellmann <gerd@gnu.org>
956
08e1d6df
GM
957 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
958
c3b497b3
GM
959 * xdisp.c (string_buffer_position): Use *single_char_property*
960 functions instead of the *single_property* functions.
b56ba8de 961
8f860180
AI
9622001-09-04 Andrew Innes <andrewi@gnu.org>
963
9a72e4c1
GM
964 * w32term.c (w32_read_socket): Add more information to debugging
965 output.
8f860180
AI
966
967 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
968 from Emacs frames, so that calls to GetClipBox in w32term.c
969 correctly report when part of a frame is visible (including
970 scrollbars, etc). This prevents repeated redrawing of frames when
971 only a scrollbar is visible.
972 (w32_wnd_proc): Add more frame information to debugging output.
973
2ee1aa00
SM
9742001-09-03 Stefan Monnier <monnier@cs.yale.edu>
975
976 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
977
e3b22517
GM
9782001-09-03 Gerd Moellmann <gerd@gnu.org>
979
7e376260
GM
980 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
981 help-echo for a string which doesn't have help-echo itself, use
982 get-char-property to obtain the help-echo from the string's buffer
983 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
984 have mouse-face, look ``under'' the string for mouse-face from an
985 overlay.
986 (fast_find_position): Add parameter STOP. In the final row, stop
987 before glyphs having STOP as object. Don't consider glyphs that
988 are not from a buffer.
989
e3b22517
GM
990 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
991
9a249bba
EZ
9922001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
993
994 * fns.c (Fmd5): Doc fix.
995
c9979669
GM
9962001-08-31 Gerd Moellmann <gerd@gnu.org>
997
998 * composite.c (update_compositions): Do nothing if
999 inhibit-modification-hooks is set.
1000
9584e63a
GM
10012001-08-30 Gerd Moellmann <gerd@gnu.org>
1002
986ec8f2 1003 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 1004 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
1005 glyph matrices etc. in a core dump.
1006
92a25631
GM
1007 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
1008 (syms_of_xdisp): Initialize them.
1009 (handle_single_display_prop): Don't change point, bind `object',
1010 `position', and `buffer-position' instead to the object having the
2ee1aa00 1011 `display' property, position in the object and position in the buffer.
92a25631 1012
9584e63a
GM
1013 * fileio.c (Finsert_file_contents): Don't change the multibyteness
1014 of the buffer if REPLACE is non-nil.
1015
d38633a3
GM
10162001-08-29 Gerd Moellmann <gerd@gnu.org>
1017
1018 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
1019
f4fccc1e
EZ
10202001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
1021
1022 * w32term.c (x_set_glyph_string_background_width)
1023 (show_mouse_face): Track the last changes in xterm.c.
1024
eaaa65b0
GM
10252001-08-28 Gerd Moellmann <gerd@gnu.org>
1026
7b0870b2
GM
1027 * xterm.c (x_set_glyph_string_background_width): Set the glyph
1028 string's background width so that multi-line mouse-face is drawn
1029 to the right edge of the window.
1030 (show_mouse_face): Set the row's mouse_face_p flag after drawing
1031 glyphs.
1032
6b6e2422 1033 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 1034 before inserting/writing glyphs.
6b6e2422 1035
eaaa65b0
GM
1036 * xdisp.c (display_mode_element): Use string_byte_to_char to
1037 determine character positions in strings, use chars_in_text
1038 instead of strwidth.
1039 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
1040 a matrix as parameter; this is easier to use from GDB.
1041
9ad62cf8
MB
10422001-08-28 Miles Bader <miles@gnu.org>
1043
2ee1aa00
SM
1044 * textprop.c (Fprevious_single_char_property_change)
1045 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 1046
32171635
GM
10472001-08-27 Gerd Moellmann <gerd@gnu.org>
1048
47d57b22
GM
1049 * fileio.c (Finsert_file_contents): Allocate, restore, and
1050 free composition data in the case of REPLACE not being nil.
1051
1052 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
1053 there exist overlay strings with newlines at POS.
1054 (text_outside_line_unchanged_p): Return 0 if changes start at
1055 START and overlays exist at START. Likewise for END.
1056 (try_window_id): Give up if init_to_row_end returns 0.
1057
32171635
GM
1058 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
1059 unconditionally.
1060
e1249666
GM
10612001-08-24 Gerd Moellmann <gerd@gnu.org>
1062
33954c45
GM
1063 * keymap.c (access_keymap): Return the cdr of the binding of
1064 a generic character instead of its definition (KEY . BINDING).
1065
e1249666
GM
1066 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
1067 to 0 also in the REPLACE case.
1068
fb4c6c96
AC
10692001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
1070
1071 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
1072 open to determine whether file is readable (as for DOS_NT).
1073
59ecf80b
GM
10742001-08-23 Gerd Moellmann <gerd@gnu.org>
1075
1076 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
1077 coding.type is coding_type_no_conversion or coding_type_raw_text,
1078 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
1079 non-nil instead of just setting enable_multibyte_characters in the
1080 buffer to nil.
1081
40e33037
GM
10822001-08-22 Gerd Moellmann <gerd@gnu.org>
1083
374388c3
GM
1084 * dispextern.h (struct face_cache): Add member
1085 menu_face_changed_p.
1086
1087 * xfaces.c (menu_face_changed_default): New variable.
1088 (menu_face_changed_count): Variable removed.
1089 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
1090 the menu_face_changed_default flag, otherwise set the FRAME's
1091 menu_face_changed_p flag if the `menu' face has been changed.
1092 Prevent calling set_font_frame_param if FRAME is t.
1093 (make_face_cache): Initialize cache's menu_face_changed_p
1094 from menu_face_changed_default.
1095 (realize_basic_faces): Look into the frame's face cache to
1096 determine if the menu appearance needs updating.
1097
40e33037
GM
1098 * keymap.c (access_keymap): Fix last change to not consider
1099 IDX when it has modifiers.
1100
859ea4b8
GM
11012001-08-21 Gerd Moellmann <gerd@gnu.org>
1102
1103 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
1104 . BINDING) exists, where GENERIC-CHAR is the generic character of
1105 the charset of IDX, return BINDING unless there exists a binding
1106 for IDX itself.
1107
e8660d73
GM
11082001-08-16 Gerd Moellmann <gerd@gnu.org>
1109
cca1b1d7
GM
1110 * xrdb.c (SYSV): Don't define on Solaris 2.
1111 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
1112
e8660d73 1113 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 1114 of the screen line, not text line, containing IT's current position.
e8660d73 1115
93aba6fc
GM
11162001-08-15 Gerd Moellmann <gerd@gnu.org>
1117
288d4e06
GM
1118 * window.c (window_scroll_pixel_based): Don't recenter if
1119 PT is partially visible in the window.
1120
3452efc2
SM
1121 * xterm.c (expose_window_tree, expose_window, expose_line):
1122 Return 1 when overwriting mouse-face.
82f053ab
GM
1123 (expose_frame): If mouse-face was overwritten, redo it.
1124
93aba6fc
GM
1125 * xfaces.c (x_update_menu_appearance): Don't call
1126 set_frame_menubar, let the next redisplay do it.
1127
858a55c1
AI
11282001-08-14 Andrew Innes <andrewi@gnu.org>
1129
1130 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
1131 drawing glyph string.
1132
3a990b67
EZ
11332001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
1134
1135 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
1136 running HI-UX/MPP.
1137
04386463
GM
11382001-08-14 Gerd Moellmann <gerd@gnu.org>
1139
1140 * xfaces.c (x_update_menu_appearance): Save and restore value of
1141 interrupt_input_blocked.
1142
3e6385a4
GM
11432001-08-13 Gerd Moellmann <gerd@gnu.org>
1144
b0e619b4
GM
1145 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
1146 a line start, move back to the line start.
3452efc2 1147
0de73d5a
GM
1148 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
1149 exactly when a mini-buffer is active.
1150
3e6385a4
GM
1151 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
1152 in units of 1/8 character on non window-system frames.
1153 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
1154
d1b5f629
EZ
11552001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
1156
1157 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
1158 a doc string.
1159
eaa2319f
GM
11602001-08-09 Gerd Moellmann <gerd@gnu.org>
1161
8e3189f0
GM
1162 * keyboard.c (Vpre_help_message): New variable.
1163 (syms_of_keyboard): Initialize and staticpro it.
1164 (show_help_echo): Record current message before displaying a
1165 help-echo, and restore that message when clearing the help.
1166
eaa2319f
GM
1167 * xfns.c (x_create_im): Remove prototype.
1168
1169 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
1170
1171 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 1172
eaa2319f
GM
11732001-08-08 Gerd Moellmann <gerd@gnu.org>
1174
1175 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 1176 windows whose height has changed, disable partially visible lines.
eaa2319f 1177
17fdcfc8
GM
11782001-08-07 Gerd Moellmann <gerd@gnu.org>
1179
22d01aed 1180 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 1181 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 1182
17fdcfc8
GM
1183 * xdisp.c (start_display): Don't try to determine the continuation
1184 lines width if lines are truncated. It's superfluous and leads to
1185 incorrect results if POS is not visible in the window after
1186 reseating the iterator at the previous line start.
1187
8e3fe78e
GM
11882001-08-06 Gerd Moellmann <gerd@gnu.org>
1189
1190 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1191
98a8938c
GM
11922001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1193
1194 * alloc.c (init_stack): Remove declaration.
1195
18f9986a
GM
11962001-08-03 Gerd Moellmann <gerd@gnu.org>
1197
5e1f85e0
GM
1198 * keyboard.c (read_key_sequence): Check that key is an integer
1199 before comparing it with quit_char.
1200 (add_command_key): Use larger_vector.
1201 (read_char_x_menu_prompt): Instead of converting symbol and
1202 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 1203 which cannot be confused with valid events.
5e1f85e0
GM
1204 (read_char): When reading from Vunread_command_events, check for
1205 events of the form (EVENT . disabled) instead of
1206 (EVENT . nil).
1207
18f9986a
GM
1208 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
1209 a float, determine the max height from the frame's height.
1210
fbc7f2a6
GM
12112001-08-02 Gerd Moellmann <gerd@gnu.org>
1212
1213 * xdisp.c (redisplay_internal): Take message_cleared_p into
1214 account only if minibuf_level == 0.
1215
81b1a79d
GM
12162001-08-01 Gerd Moellmann <gerd@gnu.org>
1217
e5c60873
GM
1218 * xdisp.c (redisplay_internal): Add a check for the last
1219 displayed message.
3452efc2 1220
6e019995
GM
1221 * xdisp.c (message_cleared_p): New variable.
1222 (clear_message): Set message_cleared_p when clearing the current
1223 message.
1224 (redisplay_internal): Look at message_cleared_p to capture
1225 the case that the echo area should be cleared.
1226
308a74d8
GM
1227 * keyboard.c (command_loop_1): Fix spelling of
1228 resize_echo_area_exactly.
1229
3452efc2 1230 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
1231
1232 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
1233
81b1a79d
GM
1234 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
1235 current matrix when the window gets smaller.
1236
ada329e6
EZ
12372001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
1238
1239 * print.c (strout): Cast the character passed to insert_char to
1240 unsigned char, to avoid sign extension when it is promoted to int.
1241
ed86208c
GM
12422001-07-31 Gerd Moellmann <gerd@gnu.org>
1243
1244 * fileio.c (Finsert_file_contents): Don't treat a return value
1245 of 0 from emacs_read as an IO error.
1246
6594ac22
GM
12472001-07-30 Gerd Moellmann <gerd@gnu.org>
1248
cef68af5
GM
1249 * keyboard.c (abs): New macro.
1250 (double_click_fuzz): New variable.
1251 (make_lispy_event): Use it to determine what makes a double-click.
1252 (syms_of_keyboard): DEFVAR_INT it.
1253
6594ac22
GM
1254 * xmenu.c (set_frame_menubar): Take into account that
1255 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1256 <raeburn@gnu.org>.
1257
75c5350a
GM
12582001-07-27 Gerd Moellmann <gerd@gnu.org>
1259
1260 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
1261
1262 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
1263 of row's visible height.
1264
1265 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
1266 deal with the first overlay string having an image `display' property.
1267 (try_window_reusing_current_matrix, compute_line_metrics):
1268 Fix computation of row's visible height for the case that part of the
75c5350a
GM
1269 row is invisible above and part of the row is at the same time
1270 invisible below the window.
1271
ac49effe
GM
12722001-07-26 Gerd Moellmann <gerd@gnu.org>
1273
1274 * xfns.c (x-show-tip): Doc fix.
3452efc2 1275
ac49effe
GM
1276 * xfns.c (Vx_max_tooltip_size): New variable.
1277 (syms_of_xfns): DEFVAR_LISP it.
1278 (Fx_show_tip): Set frame's window_width to the width of the
1279 window. Use a maximum tooltip size specified by
1280 Vx_max_tooltip_size, if that has valid contents.
1281 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 1282
8c3b00cb
AI
12832001-07-26 Andrew Innes <andrewi@gnu.org>
1284
1285 * w32term.c (x_display_list): New variable.
1286 (w32_term_init): Set it.
1287
1288 * w32term.h (x_display_list): New extern.
1289
16098288
GM
12902001-07-26 Gerd Moellmann <gerd@gnu.org>
1291
1292 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
1293 is non-nil, instead of when redisplaying_p is non-zero.
1294 See comment there.
16098288
GM
1295 (mark_window_display_accurate_1): Add an assertion.
1296
64c5be50
GM
12972001-07-25 Gerd Moellmann <gerd@gnu.org>
1298
e743f599
GM
1299 * dispextern.h (struct it): Increase size of ctl_chars to 16.
1300
563b384d
GM
1301 * xfns.c (Fx_file_dialog): Block/unblock input while processing
1302 events so that we get a chance of processing expose events.
1303
64c5be50
GM
1304 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
1305
296808a5
GM
13062001-07-24 Gerd Moellmann <gerd@gnu.org>
1307
1308 * xfns.c (valid_image_p): Protect better against invalid image
1309 specifications. Previous code could signal an error.
1310
5247262a
GM
13112001-07-23 Gerd Moellmann <gerd@gnu.org>
1312
3452efc2 1313 * indent.c (current_column): Fix column computation in the
f1004faf
GM
1314 presence of display table entries.
1315 (current_column_1, Fmove_to_column, compute_motion): Likewise.
1316
dd42b31a
GM
1317 * dispnew.c (adjust_glyph_matrix): In the optimization for
1318 windows whose height has changed, use the new window height
1319 to compute which rows to invalidate.
1320
9e5a7f2a
GM
1321 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
1322 (MAX_10_EXP): New macro.
1323 (Fformat): Use it.
1324
5247262a
GM
1325 * coding.c (code_convert_region): Handle the multibyte case if
1326 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
1327
177ab8ce
GM
13282001-07-20 Gerd Moellmann <gerd@gnu.org>
1329
6e07c0a5
GM
1330 * dispextern.h (struct face): Change type of `stipple' to
1331 int; it's an ID.
1332
177ab8ce
GM
1333 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
1334
b5b80599
GM
13352001-07-19 Gerd Moellmann <gerd@gnu.org>
1336
4e2a256b
GM
1337 * dispnew.c (update_window): Don't set the cursor at the end
1338 of the update if display update has been paused.
1339
3452efc2 1340 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 1341
c1fd9232
KR
13422001-07-18 Ken Raeburn <raeburn@gnu.org>
1343
1344 * fns.c (Fset_char_table_default): Check that a charset is defined
1345 before checking its dimension.
1346
928a85c1
KR
13472001-07-17 Ken Raeburn <raeburn@gnu.org>
1348
1349 * coding.c (setup_coding_system): Don't do any designation based
1350 on reg_bits if charset is not yet defined.
1351
fb4c6c96 1352 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
1353 pointer, using eassert.
1354
de11c1ea
GM
13552001-07-17 Gerd Moellmann <gerd@gnu.org>
1356
3452efc2
SM
1357 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
1358 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 1359
467f1209
GM
13602001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
1361
1362 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
1363
c3d6be34
GM
13642001-07-16 Gerd Moellmann <gerd@gnu.org>
1365
c1d61a7d
GM
1366 * fileio.c (unwind_read): Function removed.
1367 (read_non_regular, read_non_regular_quit): New functions.
1368 (Finsert_file_contents): When reading from non-regular files,
1369 arrange to catch a `quit' and terminate the loop. Rearrange
1370 code so that a `quit' when reading from a regular file doesn't
1371 insert text in the buffer.
1372
c3d6be34
GM
1373 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
1374 Clear faces afterwards.
1375 (clear_font_table): Take a x_display_info parameter. Don't free
1376 fonts being the default font of any frame on the given display.
1377
e06aa1f9
GM
13782001-07-13 Gerd Moellmann <gerd@gnu.org>
1379
1380 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
1381 instead of CHAR_STRING which can signal an error.
1382
1383 * charset.c (char_to_string_1): Extracted from char_to_string.
1384 Return -1 instead of signaling an error.
1385 (char_to_string): Use it.
1386
1387 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
1388
176c92e6
SM
13892001-07-12 Stefan Monnier <monnier@cs.yale.edu>
1390
1391 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
1392 is t, don't try to append anything to it.
1393
1c56232f
EZ
13942001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
1395
1396 * dired.c (file_name_completion): Pass dp->d_name to
1397 Fstring_match, not elt, which is always nil here.
1398
1d2b2268
GM
13992001-07-12 Gerd Moellmann <gerd@gnu.org>
1400
1401 * xselect.c (x_decline_selection_request): Handle errors
1402 caused by receivers that have vanished.
1403
1404 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
1405 ignoring events on foreign windows in #if 0. Always dispatch
1406 the event after checking it with x_handle_property_notify.
1407
1408 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
1409 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
1410 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
1411 (toplevel): Add prototypes for file-local functions.
1412 (x_atom_to_symbol): Remove DPYINFO parameter.
1413
fe5a0162
SM
14142001-07-11 Stefan Monnier <monnier@cs.yale.edu>
1415
1416 * w32menu.c (menubar_selection_callback, w32_menu_show):
1417 Initialize `entry' to nil.
1418 (w32_dialog_show): Remove unused `save_wv' variable.
1419 (name_is_separator): Recognize "--:foo" and "--foo-bar".
1420
a777242c
GM
14212001-07-11 Gerd Moellmann <gerd@gnu.org>
1422
8ee5b6a3
GM
1423 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
1424
d0e2444e
GM
1425 * fileio.c (unwind_read): Print a message when discarding inserted
1426 text or switching the buffer to unibyte. Change parameter.
1427 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 1428
a777242c
GM
1429 * fileio.c (unwind_read): New function.
1430 (Finsert_file_contents): Record it as unwind-function for
1431 the case that reading is interrupted by C-g.
1432
ae794295
GM
14332001-07-10 Gerd Moellmann <gerd@gnu.org>
1434
fe5a0162 1435 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
1436 update when scrolling_window returns 0.
1437
6b05fae3
GM
1438 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
1439
1440 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1441 for the case that x_decode_color signals an error.
6b05fae3 1442
ae794295
GM
1443 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1444
bb6e8cee
GM
14452001-07-09 Gerd Moellmann <gerd@gnu.org>
1446
1447 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1448 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1449 around ioctls.
1450
36b40a8a
EZ
14512001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1452
24b97d4b
EZ
1453 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1454 doc string line for dos-timezone-offset.
1455
36b40a8a
EZ
1456 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1457 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1458 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1459 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1460
1461 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1462
0967b4b0
GM
14632001-07-05 Gerd Moellmann <gerd@gnu.org>
1464
f25cfe53
GM
1465 * sound.c: Include Emacs' header files with #include "...".
1466
0967b4b0
GM
1467 * eval.c (specbind): Additionally record the buffer that was
1468 current when a buffer-local or frame-local variable was bound.
1469
c347a1c3
GM
14702001-07-04 Gerd Moellmann <gerd@gnu.org>
1471
1472 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1473 to unibyte characters in unibyte buffers.
1474
6332ca8a
GM
14752001-07-03 Gerd Moellmann <gerd@gnu.org>
1476
38472d44
GM
1477 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1478 the frame on the binding stack. Change format of entries for
1479 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1480 (unbind_to): Handle unbinding a frame-local variable.
1481
6332ca8a 1482 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1483 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1484 (dump_glyph_row): Print row's continuation_lines_width.
1485 (try_window_id): Take the shortcut if ZV is visible in the
1486 window, but there are actually no changes at ZV.
1487
63d1b174
GM
14882001-07-02 Gerd Moellmann <gerd@gnu.org>
1489
4c175203
GM
1490 * xterm.h (x_free_dpy_colors): Add prototype.
1491
1492 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1493 right number of arguments.
1494
0b54ce28
GM
1495 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1496 ($(lwlibdir)TAGS): New target.
4c175203 1497 (TAGS): Fix dependency list.
0b54ce28 1498
63d1b174
GM
1499 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1500 with input blocked.
1501
d827466c
GM
15022001-06-30 Gerd Moellmann <gerd@gnu.org>
1503
1504 * emacs.c (main): Remove extern declaration for sys_nerr, which
1505 isn't used and causes a compilation error with GCC 3.0 on
1506 FreeBSD 4.3.
1507
b5cb1ada
GM
15082001-06-27 Gerd Moellmann <gerd@gnu.org>
1509
a5d3ec3f 1510 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1511 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1512 (toplevel): Include <signal.h> and syssignal.h.
1513
b5cb1ada
GM
1514 * sound.c (vox_configure, vox_close): Turn off atimers
1515 around ioctls.
1516
d9bad487
GM
15172001-06-26 Gerd Moellmann <gerd@gnu.org>
1518
fdbb67fe
GM
1519 * keyboard.c (read_char) <non_reread>: Record the previous idle
1520 start time before calling timer_stop_idle.
1521 (read_char) <reread_first>: After processing a help-echo event,
1522 restore the previous idle start time.
1523
d9bad487
GM
1524 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1525 the start of invisible text.
1526 (setup_for_ellipsis): New function.
1527 (next_overlay_string): After all overlay strings have been
1528 processed, display an ellipsis if necessary.
1529 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1530 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1531
1532 * dispextern.h (struct iterator_stack_entry): Add member
1533 display_ellipsis_p.
1534
2b9c25e0
GM
15352001-06-25 Gerd Moellmann <gerd@gnu.org>
1536
80de57df
GM
1537 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1538 on the value of the wait-for-wm frame parameter.
1539
1540 * xterm.h (struct x_output): Add member wait_for_wm.
1541
1542 * xfns.c (Qwait_for_wm): New variable.
1543 (x_frame_parms): Add entry for `wait-for-wm".
1544 (x_set_wait_for_wm): New function.
1545 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1546 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1547
2b9c25e0
GM
1548 * xdisp.c (try_window_id) <all changes below window end>: Don't
1549 take this shortcut if ZV is visible in the window.
1550 (try_window_id): When checking for window start being in changed
1551 text, don't check that the buffer's size has changed.
1552
f772775c
RS
15532001-06-23 Richard M. Stallman <rms@gnu.org>
1554
1555 * minibuf.c (Fcompleting_read): Doc fix.
1556
fa9090b8
GM
15572001-06-19 Gerd Moellmann <gerd@gnu.org>
1558
1559 * composite.c (Ffind_composition_internal): Accept ZV
1560 and a string's end position as POS.
1561
f6f1beba
GM
15622001-06-18 Gerd Moellmann <gerd@gnu.org>
1563
1564 * composite.c (Ffind_composition_internal): Check POS
1565 for validity.
1566
0ae83348
EZ
15672001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1568
1569 * editfns.c (Fmessage_box): If the frame is not under a window
1570 system, output the message in the echo area.
1571
e4cdc335
RS
15722001-06-14 Richard M. Stallman <rms@gnu.org>
1573
1574 * xdisp.c (try_window_id): When EOB is visible, don't treat
1575 insertion at EOB as if it were "off the bottom of the screen."
1576
a55a5f3c
AI
15772001-06-11 Andrew Innes <andrewi@gnu.org>
1578
1579 * w32proc.c (create_child): Add new parameter is_gui_app.
1580 (w32_executable_type): Add new parameter is_gui_app.
1581 (sys_spawnve): Use it.
1582 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1583 SIGQUIT. This matches better how the signals are interpreted by
1584 MSVC compiled programs.
1585 (syms_of_ntproc): Update docstring.
1586
1b85dc1c
SM
15872001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1588
1589 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1590 well otherwise note_mouse_highlight might optimize away highlighting
1591 if we pass over that same overlay again.
1592
b75f8eab
EZ
15932001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1594
1595 * lread.c (Fload): Document that the argument is run via
1596 substitute-in-file-name.
1597
94843cc1
GM
15982001-05-31 Gerd Moellmann <gerd@gnu.org>
1599
b14659e6
GM
1600 * Makefile.in (bootstrap-doc): New target.
1601 (bootstrap-emacs): Depend on it.
1602
0894672f
GM
1603 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1604 auto-save-list-file-name when shutting down Emacs, because
1605 creating the directory might signal an error, and leaves
1606 Emacs in a strange state.
1607
94843cc1
GM
1608 * term.c: (tty_cursor_hidden): New variable.
1609 (update_begin): Don't call tty_hide_cursor. Clean up.
1610 (update_end, set_terminal_window, set_scroll_region): Clean up.
1611 (ring_bell, reset_terminal_modes): Clean up.
1612 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1613 on tty_cursor_hidden.
1614 (write_glyphs): Call tty_hide_cursor.
1615
db3a49a6
SM
16162001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1617
1618 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1619
8bd189fb
GM
16202001-05-30 Gerd Moellmann <gerd@gnu.org>
1621
6f1be3b9
GM
1622 * xfns.c (enum image_value_type): New enumerator
1623 IMAGE_STRING_OR_NIL_VALUE.
1624 (parse_image_spec): Handle it.
1625 (xbm_format, pbm_format): Use it for :foreground and :background.
1626 (xbm_load, pbm_load): Check for nil color names.
1627
8bd189fb
GM
1628 * xterm.c (note_mouse_highlight): If an overlapping overlay
1629 exists, but we find that we highlight the same overlay as before,
1630 don't do the highlighting again.
1631
7bdba03c
GM
16322001-05-29 Gerd Moellmann <gerd@gnu.org>
1633
4c329aa8
GM
1634 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1635 Protect unibyte strings created by replacing their multibyte
1636 equivalents in menu_items.
1637
e15e2828
GM
1638 * keymap.c (Fsingle_key_description): NUL-terminate the string
1639 buffer before calling build_string.
1640
7bdba03c
GM
1641 * callproc.c (Fcall_process): Deal with decode_coding returning
1642 CODING_FINISH_INCONSISTENT_EOL.
1643
89c8dc6c
GM
16442001-05-28 Gerd Moellmann <gerd@gnu.org>
1645
db3a49a6 1646 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1647 an item's name with its key description in case the description
1648 is a multibyte string.
1649
1650 * keymap.c (Fsingle_key_description): Create a multibyte string
1651 only if necessary.
1652
eb04d6cd
GM
1653 * macros.c (Fstart_kbd_macro): Doc fix.
1654
8bd6307f
GM
1655 * xterm.c (cursor_in_mouse_face_p): New function.
1656 (x_draw_stretch_glyph_string): Use it to choose a different GC
1657 when drawing a cursor within highlighted text.
1658
e26c4089
GM
1659 * editfns.c (char_property_eq): Put in #if 0.
1660
1661 * indent.c (string_display_width): Put in #if 0.
1662
1663 * lread.c (Fload): Remove unused label.
1664
89c8dc6c
GM
1665 * termcap.c (speeds): Put in #if 0.
1666
9a1211f2
GM
16672001-05-18 Gerd Moellmann <gerd@gnu.org>
1668
29148a3f
GM
1669 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1670
9a1211f2
GM
1671 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1672 transformation matrix by 10.
1673
09393d07
GM
16742001-05-16 Gerd Moellmann <gerd@gnu.org>
1675
1676 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1677 only if it's equal to the former foreground pixel color.
db3a49a6 1678 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1679 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1680
460e6bae
GM
16812001-05-16 Dave Love <fx@gnu.org>
1682
1683 * insdel.c (signal_before_change, signal_after_change): Consider a
1684 local change hook which changes the buffer.
99c78ce8
GM
1685
1686 * process.c (read_process_output): Don't call signal_after_change
1687 and update_compositions after insert_from_string_before_markers.
1688
dbcf3c03
GM
16892001-05-16 Gerd Moellmann <gerd@gnu.org>
1690
a90b3d3c
GM
1691 * xfaces.c (split_font_name): Use the right field when
1692 checking for `[...]' syntax.
1693
1b7818b4
GM
1694 * buffer.c (copy_overlays): New function.
1695 (clone_per_buffer_values): Use it.
1696
1697 * buffer.h (OVERLAY_PLIST): New macro.
1698
9bae8781
GM
1699 * keymap.c (Fsingle_key_description): Replace a build_string with
1700 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1701
dbcf3c03
GM
1702 * fontset.c (Ffontset_info): Check that face is non-null
1703 before accessing its fields.
1704
8a1ae4dd
GM
17052001-05-15 Gerd Moellmann <gerd@gnu.org>
1706
18a0a39e
GM
1707 * keyboard.c (read_key_sequence): Prevent generating a fake
1708 prefix key twice.
1709
e335b66a
GM
1710 * xfaces.c (split_font_name): Handle `[...]' for the right
1711 font name fields.
1712
8a1ae4dd
GM
1713 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1714 of CCL_STAT_INVALID_CMD.
1715
3cf80731
SM
17162001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1717
33568849
SM
1718 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1719 in <var> has no default value yet.
1720
3cf80731
SM
1721 * xfaces.c (try_alternative_families): First try the FAMILY.
1722 And if nothing is found in the end, try again with scalable fonts.
1723 (try_font_list): Let try_alternative_families do a bit more of
1724 the work. Only use FAMILY if it is not nil.
1725 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1726
933b0249
GM
17272001-05-14 Gerd Moellmann <gerd@gnu.org>
1728
58e5af83
GM
1729 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1730 pointer shape when show_mouse_face has already done it.
33568849 1731
58e5af83 1732 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1733 full-width rows.
1734
7b16a6bf
GM
1735 * xfaces.c (split_font_name): Make sure to leave the loop
1736 with the right value of `i'.
3cf80731 1737
933b0249
GM
1738 * xfaces.c (split_font_name): Handle matrix transformations
1739 in the pixel and point size fields of XLFD font names.
1740 (xlfd_point_size): Likewise.
1741
dddcbf00
EZ
17422001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1743
3cf80731 1744 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1745 (x_to_w32_font): Add prototype.
1746
7689ef0b
EZ
1747 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1748 redefining, to avoid compiler warnings.
1749
e7c15bba
EZ
1750 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1751
dddcbf00
EZ
1752 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1753 (w32_get_bdf_glyph): Cast between unsigned char and char when
1754 passing arguments to subroutines, to shut up compiler warnings.
1755 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1756 GET_HEX_VAL.
1757
1758 * xfaces.c: Include keyboard.h before frame.h, not after it.
1759
1760 * widget.c: Include keyboard.h before frame.h.
1761
1762 * w32term.h (struct image, struct face): Forward declaration, to
1763 avoid compiler warnings.
1764
7bd2d083
GM
17652001-05-11 Gerd Moellmann <gerd@gnu.org>
1766
47e72862
GM
1767 * keyboard.c (read_key_sequence): Don't modify events when
1768 generating fake prefix keys (mode-line, scroll-bar, ...) since
1769 this prevents proper processing of such events when pushed back
1770 into unread-command-events.
1771
dd5f324b
GM
1772 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1773 actually redrawn. Make the function static.
1774 (note_mouse_highlight): Fix a case where the mouse cursor
1775 was changed back to the text cursor.
1776
1777 * xterm.h (clear_mouse_face): Remove prototype.
1778
d88a79d4
GM
1779 * xdisp.c (try_window_id): Fix the fix and set the right
1780 window_end_vpos.
1781
1782 * xdisp.c (try_window_id): Fix computation of window end in the
1783 case that lines were deleted at the end of the window. Add some
1784 more debug_method_adds.
0416532f 1785
7bd2d083
GM
1786 * xfaces.c (try_alternative_families): New function.
1787 (try_font_list): Use it. If ATTRS specifies a family, check
1788 fonts from that family first.
1789 (choose_face_font): Remove code setting the family part of
1790 the pattern to nil.
1791
23fca891
GM
17922001-05-10 Gerd Moellmann <gerd@gnu.org>
1793
ff9aa2ca
GM
1794 * xdisp.c (try_window_id): Fix case of all changes before
1795 the window start.
7b2654b5 1796
23fca891
GM
1797 * xdisp.c (try_window_id): Add some xasserts.
1798
e9726794
GM
17992001-05-09 Gerd Moellmann <gerd@gnu.org>
1800
1801 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1802
9e53a675
GM
18032001-05-09 Dave Love <fx@gnu.org>
1804
1805 * xdisp.c (GIVE_UP): Fix for K&R C.
1806
0d487c52
GM
18072001-05-09 Gerd Moellmann <gerd@gnu.org>
1808
fe88d421
GM
1809 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1810
0d487c52
GM
1811 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1812 back to the text cursor shape without need.
1813
1e9fc92e
GM
18142001-05-07 Gerd Moellmann <gerd@gnu.org>
1815
a2a6232e
GM
1816 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1817
1818 * dispextern.h (inverse_video): Declare extern.
1819
1e9fc92e
GM
1820 * keyboard.c (delete_kboard): Handle the case that selected_frame
1821 has been deleted in the course of x_connection_closed.
1822
12949a7f
EZ
18232001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1824
7b2654b5
SM
1825 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1826 Fix the change from 2001-04-30.
12949a7f 1827
2fa2f461
GM
18282001-05-03 Gerd Moellmann <gerd@gnu.org>
1829
a779d213
GM
1830 * xfns.c (file_dialog_unmap_cb): New function.
1831 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1832 where a dialog is closed via the window manager.
1833
7b2654b5 1834 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1835 the window start or all below the window end mostly rewritten.
1836 (redisplay_window): Move the tests if try_window_id is
1837 applicable to try_window_id.
1838 (GIVE_UP): New macro.
1839
3356df63
GM
18402001-05-02 Gerd Moellmann <gerd@gnu.org>
1841
a39202f6 1842 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1843 currently being updated, mark the frame garbaged.
1844 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1845 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1846
3356df63
GM
1847 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1848 again if it has already been drawn.
1849
a9d2fd1d
SM
18502001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1851
1852 * syntax.c (update_syntax_table): Check that oldi has the same
1853 properties as old_prop before deciding not to invalidate.
1854
c95fc5f1
GM
18552001-04-30 Gerd Moellmann <gerd@gnu.org>
1856
a9793e45
GM
1857 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1858 read-only text that is so because of text properties.
1859
c95fc5f1 1860 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1861 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1862 windows that are components of a Lucid menu bar.
1863
5a5d9185
GM
18642001-04-27 Gerd Moellmann <gerd@gnu.org>
1865
1866 * term.c (turn_on_face): Fix reverse video handling on terminals
1867 that don't support colors.
1868
ba973f7a
GM
18692001-04-26 Gerd Moellmann <gerd@gnu.org>
1870
1871 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1872 a non-buffer.
1873
8c56a983
GM
18742001-04-25 Gerd Moellmann <gerd@gnu.org>
1875
a728644c
GM
1876 * term.c (toggle_highlight): New function.
1877 (turn_on_face): Change handling of reverse video.
1878
7b2654b5
SM
1879 * process.c (wait_reading_process_input):
1880 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1881
bfd8410f
GM
1882 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1883 of the number of overlays to check.
1884
be2488ca
GM
1885 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1886
8c56a983
GM
1887 * xdisp.c (try_window_id): Fix a case where window_end_pos
1888 and window_end_bytepos were not adjusted.
1889
522d42f7
GM
18902001-04-23 Gerd Moellmann <gerd@gnu.org>
1891
1892 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1893 zero instead of -1.
1894
78c1afb6
EZ
18952001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1896
a9d2fd1d
SM
1897 * process.c (wait_reading_process_input) [!subprocesses]:
1898 Don't reference waiting_for_user_input_p, it's not defined in the
1899 branch without async subprocesses support.
78c1afb6 1900
a2fab450
GM
19012001-04-19 Gerd Moellmann <gerd@gnu.org>
1902
a122a38e
GM
1903 * keyboard.c (delete_kboard): Prevent a dangling reference
1904 from current_kboard to KB, which is freed.
1905
a9d2fd1d
SM
1906 * process.c (wait_reading_process_input):
1907 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1908 read_key_sequence aware of buffer changes from under it.
1909
0f8d6dc7
GM
19102001-04-18 Gerd Moellmann <gerd@gnu.org>
1911
eeffb293
GM
1912 * xfaces.c (Qscalable_fonts_allowed): New variable.
1913 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1914 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1915 removed.
eeffb293 1916 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1917 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1918 for scalable-fonts-allowed to t.
eeffb293 1919
0f8d6dc7
GM
1920 * fileio.c (Finsert_file_contents): If the file size returned from
1921 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1922 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1923
eec2d1de
EZ
19242001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1925
1926 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1927 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1928 (__memalign_hook): Make the two prototypes consistent.
1929
f4f480bd
GM
19302001-04-17 Gerd Moellmann <gerd@gnu.org>
1931
1932 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1933 matrix of mini-windows.
1934
52283633
SM
19352001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1936
1937 * intervals.c (find_interval): Don't rebalance during signal handling.
1938
ec2423c9
GM
19392001-04-11 Gerd Moellmann <gerd@gnu.org>
1940
30cb0001 1941 * fns.c: Include blockinput.h.
52283633 1942
ec2423c9
GM
1943 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1944
719d83ad
GM
19452001-04-10 Gerd Moellmann <gerd@gnu.org>
1946
60f8d735
GM
1947 * fns.c (Fcompare_strings): Fix return values.
1948
afffeb57
GM
1949 * window.c (window_scroll): Change the meaning of N to mean
1950 N screen-fulls or N lines.
1951 (window_scroll_pixel_based, window_scroll_line_based)
1952 (scroll_command, Fscroll_other_window): Change accordingly.
1953
52283633
SM
1954 * window.c (window_scroll_pixel_based, Frecenter):
1955 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1956 height of the window.
1957
1958 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1959 instead of using it.last_visible_y for the height of the window.
52283633 1960
719d83ad 1961 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1962 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1963
1964 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1965 able to write to hidden and system files. From Dan Holmsand
1966 <dan@eyebee.com>.
719d83ad 1967
8ddf3ee1
GM
1968 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1969 Holmsand <dan@eyebee.com>.
719d83ad 1970
522ed7fb
GM
19712001-04-09 Gerd Moellmann <gerd@gnu.org>
1972
9170e5d4
GM
1973 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1974
522ed7fb
GM
1975 * window.c (window_internal_height): Return 1 less if the
1976 window has a header line.
1977
1978 * xdisp.c (try_window_id): When scrolling on a terminal, take
1979 the change of window_internal_height into account.
1980
ceeb3d7d
EZ
19812001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1982
1983 * gmalloc.c (align): If the argument SIZE would overflow
1984 __malloc_ptrdiff_t, fail right away.
1985
63685b9d
GM
19862001-04-06 Gerd Moellmann <gerd@gnu.org>
1987
1988 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1989 Make sure the tooltip is completely visible.
1990 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1991
1992 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1993
1994 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1995
3ffb33bb
DL
19962001-04-06 Dave Love <fx@gnu.org>
1997
52283633
SM
1998 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1999 Fix test of `from'.
3ffb33bb 2000
869fb12c
GM
20012001-04-06 Gerd Moellmann <gerd@gnu.org>
2002
52283633 2003 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 2004
869fb12c
GM
2005 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
2006
441bf856
GM
20072001-04-05 Gerd Moellmann <gerd@gnu.org>
2008
4d664b04
GM
2009 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
2010
52283633 2011 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 2012
30ca89f5
GM
2013 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
2014 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
2015
2016 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
2017 shell widget's position only if it is non-null.
2018
52283633
SM
2019 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
2020 Set f->output_data.x->widget to null after destroying it.
30ca89f5 2021
81a81c0f
GM
2022 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
2023 FILENAME to bring it in synch with the documentation.
2024
441bf856
GM
2025 * xfaces.c (realizing_basic_faces_p): Renamed from
2026 realize_default_face_p.
2027 (realize_basic_faces): Set/clear realizing_basic_faces_p.
2028 (realize_default_face): Don't set the flag.
2029
702a1e8e
GM
20302001-04-04 Gerd Moellmann <gerd@gnu.org>
2031
1013f4e3
GM
2032 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
2033
52283633
SM
2034 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
2035
1013f4e3
GM
2036 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
2037 the buffer that was used for echoing.
2038
702a1e8e
GM
2039 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
2040 (first_font_matching): Removed unused function.
2041 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
2042 (may_use_scalable_font_p): Remove parameter FONT; rename
2043 parameter NAME to FONT.
2044 (x_face_list_fonts): Fix missing bounds check.
2045 (realizing_default_face_p): New variable.
2046 (realize_default_face): Set and clear that flag.
2047 (x_face_list_fonts): When called during the realization of the
2048 default face, and no matching fonts are found when ignoring
2049 scalable fonts and fonts matching a regexp from
2050 face-ignored-fonts, try without ignoring fonts.
2051
f9dbcda4
GM
20522001-04-03 Gerd Moellmann <gerd@gnu.org>
2053
ad18ffb1
GM
2054 * xfns.c (postprocess_image): New function.
2055 (lookup_image): Call it for all image types except PostScript.
2056 (x_kill_gs_process): Call postprocess_image.
2057
f9dbcda4
GM
2058 * xterm.c (x_use_underline_position_properties): New variable.
2059 (x_draw_glyph_string): Use it.
2060 (syms_of_xterm): DEFVAR_BOOL it.
2061
651f03b6
GM
20622001-04-02 Gerd Moellmann <gerd@gnu.org>
2063
2064 * xterm.c (x_alloc_nearest_color_1): New function.
2065 (x_alloc_nearest_color): Use it.
2066 (x_color_cells): Take a Display as argument, instead of a frame.
2067 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
2068 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
2069 (x_initialize): Register cvt_string_to_pixel as resource converter
2070 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
2071
73d75a62
GM
20722001-03-30 Gerd Moellmann <gerd@gnu.org>
2073
b2046df8
GM
2074 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
2075 (set_iterator_to_next): If a string from a display property ends,
2076 consider the case that this might also be the end of an
2077 overlay string having the display property.
2078
52283633 2079 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 2080
87d8eba4
GM
2081 * xdisp.c (reseat_to_string): Undo last change.
2082
73d75a62
GM
2083 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
2084 matrix of a window when the header line changes, when
2085 new rows are allocated, or when the width changes.
2086
911a2406
EZ
20872001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2088
52283633 2089 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 2090
aea51abe
EZ
20912001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
2092
2093 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
2094 deprecated.
2095
176bc847
GM
20962001-03-29 Gerd Moellmann <gerd@gnu.org>
2097
ed31fabf
GM
2098 * data.c (Fsubr_interactive_form): New function.
2099 (syms_of_data): Defsubr it.
2100
176bc847
GM
2101 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
2102 (live_float_p, live_misc_p): Return 1 only if the offset of the
2103 pointer in its block is >= 0.
2104
e59d0e9d
GM
21052001-03-28 Paul Eggert <eggert@twinsun.com>
2106
2107 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
2108 microseconds calcuation. Avoid double-rounding problem.
2109 In doc string, warn that the result is approximate.
2110
f827b862
GM
21112001-03-28 Gerd Moellmann <gerd@gnu.org>
2112
30a3f61c
GM
2113 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
2114 bind `inhibit-eval-during-redisplay' to t.
2115
2116 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
2117
2118 * xdisp.c (inhibit_eval_during_redisplay)
2119 (Qinhibit_eval_during_redisplay): New variables.
2120 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
2121 don't eval, return nil instead.
2122 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
2123 Initialize Qinhibit_eval_during_redisplay.
2124
e719f5ae
GM
2125 * xdisp.c (reseat_to_string): If STRING is multibyte, set
2126 the iterator's multibyte_p flag.
2127
deb2613a
GM
2128 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
2129 instead of setting it to zero; it's incremented for each frame
2130 where the menu face is changed.
2131
52283633
SM
2132 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
2133 change bottom shadow accordingly.
2134
2135 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
2136 intersections here.
2137 (expose_window): Do it here instead.
52283633 2138 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 2139
f827b862
GM
2140 * bytecode.c (BYTE_CODE_QUIT): New macro.
2141 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
2142
4bde0ebb
GM
21432001-03-27 Gerd Moellmann <gerd@gnu.org>
2144
607ec83c
GM
2145 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
2146 Give up if matrix starts in an ellipsis.
2147 (init_from_display_pos): Do nothing if POS doesn't specify
2148 a dpvec_index but the iterator has such a position.
2149
0245398f
GM
2150 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
2151
aba25348
GM
2152 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
2153 x/y position is (0, 0) after destroying the menu bar, restore
2154 its original position.
2155
4bde0ebb
GM
2156 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
2157 (init_from_display_pos): Use it.
2158 (try_window_reusing_current_matrix): Don't use cursor_row_p.
2159
8cdb267e
GM
21602001-03-26 Gerd Moellmann <gerd@gnu.org>
2161
2162 * xdisp.c (try_window_id): Undo last change.
2163
9948db79
EZ
21642001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
2165
2166 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
2167
2168 * buffer.c (syms_of_buffer): Doc fix.
2169
2eddf899
GM
21702001-03-26 Gerd Moellmann <gerd@gnu.org>
2171
2172 * xfaces.c (x_update_menu_appearance): Use local variable
2173 popup_path for setting font resources.
2174
6c145d35
EZ
21752001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2176
6a65b1b5
EZ
2177 * frame.c (Fframe_list): Don't reference tip_frame if
2178 HAVE_WINDOW_SYSTEM is not defined.
2179
6c145d35
EZ
2180 * emacs.c (main): Update the copyright year. From Werner LEMBERG
2181 <wl@gnu.org>.
2182
d74c1900
GM
21832001-03-25 Gerd Moellmann <gerd@gnu.org>
2184
20fbd925
GM
2185 * xdisp.c (init_from_display_pos): Test invisible property
2186 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 2187
927c5b3b
GM
2188 * xdisp.c (redisplay_internal) <update one window>: Make sure
2189 last_arrow_position and last_arrow_string are set.
2190
d74c1900
GM
2191 * frame.c (Fframe_list): Don't return a tooltip frame.
2192
091f8878
GM
21932001-03-23 Gerd Moellmann <gerd@gnu.org>
2194
52283633
SM
2195 * xdisp.c (mark_window_display_accurate_1): New function,
2196 extracted from mark_window_display_accurate.
2197 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
2198 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
2199 (mark_window_display_accurate): Use it.
2200 (redisplay_internal): Use it for the selected window.
2201 (redisplay_internal): Avoid duplicate mark_window_display_accurate
2202 for the selected frame.
2203
ac90c44f
GM
2204 * xdisp.c Use make_number, for readability.
2205 (try_window_id): Disable rows below the window end.
2206 (try_window_reusing_current_matrix): Use cursor_row_p.
2207 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
2208 of rows.
2209 (init_from_display_pos): If POS specifies a position in a display
2210 vector, maybe get the iterator set up for that ellipsis.
43c09969 2211
091f8878
GM
2212 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
2213
991786dd
EZ
22142001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
2215
2216 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
2217
6c29b43c
GM
22182001-03-23 Gerd Moellmann <gerd@gnu.org>
2219
2220 * xfaces.c (x_update_menu_appearance): Use a different path
2221 for Lucid popup menus.
2222
d8731202
SM
22232001-03-22 Stefan Monnier <monnier@cs.yale.edu>
2224
2225 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
2226
2227 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
2228 (string_buffer_position): Use `make_number'.
2229
f61a541b
GM
22302001-03-22 Gerd Moellmann <gerd@gnu.org>
2231
3c9e997b
GM
2232 * xfaces.c (x_update_menu_appearance): Renamed from
2233 x_set_menu_face_resources. Use different resources for popups.
2234
2235 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
2236 (GC_CHECK_STRING_BYTES): Don't define.
2237
364cd450
GM
2238 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
2239 Removed, together with subroutines.
2240 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 2241 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 2242
d8731202
SM
2243 * dispextern.h (x_set_menu_resources_from_menu_face):
2244 Remove prototype.
364cd450 2245
d8731202 2246 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
2247 Remove calls to x_set_menu_resources_from_menu_face.
2248
d8731202
SM
2249 * xfaces.c (xm_set_menu_resources_from_menu_face):
2250 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
2251
2252 * xmenu.c: Include widget.h.
2253 (single_submenu): Return int. Some cleanup.
2254 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
2255
140330de
GM
22562001-03-21 Gerd Moellmann <gerd@gnu.org>
2257
2258 * xterm.c (x_update_window_end): Handle overwritten mouse face
2259 also for tool bar windows.
2260 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
2261 DRAW is DRAW_IMAGE_RAISED.
2262
1741905c
GM
22632001-03-20 Gerd Moellmann <gerd@gnu.org>
2264
fa88947e
GM
2265 * print.c (syms_of_print): Doc fixes.
2266
1741905c
GM
2267 * fns.c (Fmd5): Doc fix.
2268
ade0bee1
GM
22692001-03-19 Gerd Moellmann <gerd@gnu.org>
2270
357e7376
GM
2271 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
2272 Clear area of the frame not occupied by the scroll bar.
2273
c2c097cc
GM
2274 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
2275 tip frame's root window buffer to *tip* right after creating
2276 the frame.
2277
ade0bee1
GM
2278 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
2279 is an integer don't have to be for space characters.
2280
88c6e37e
GM
22812001-03-16 Gerd Moellmann <gerd@gnu.org>
2282
52283633
SM
2283 * indent.c (current_column, current_column_1, Fmove_to_column)
2284 (compute_motion): Handle characters from display vectors differently.
88c6e37e 2285
c62eed76
KH
22862001-03-15 Kenichi Handa <handa@etl.go.jp>
2287
2288 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
2289 drawing glyph string.
2290
c899e7e6
GM
22912001-03-15 Gerd Moellmann <gerd@gnu.org>
2292
d0bbfc99
GM
2293 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
2294 (command_loop_1): Undo last change.
2295
03d1a189
GM
2296 * xterm.c (fast_find_position): Return the correct vpos.
2297
c899e7e6 2298 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 2299 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
2300 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
2301 Call store_symval_forwarding with BUF null.
2302 (set_internal): Call store_symval_forwarding with the BUF
2303 parameter passed to set_internal. Formerly, the value was always
2304 set in the current buffer; the buffer recorded in specbind for
2305 this case wasn't used.
2306 (arith_driver): Reindent.
2307
52283633
SM
2308 * buffer.c (swap_out_buffer_local_variables):
2309 Call store_symval_forwarding with BUF null.
c899e7e6
GM
2310
2311 * lisp.h (store_symval_forwarding): Change prototype.
2312
2313 * eval.c (specbind): Call store_symval_forwarding with BUF null.
2314
57ac7c81
GM
23152001-03-14 Gerd Moellmann <gerd@gnu.org>
2316
697617d9
GM
2317 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
2318 FOR_DELETION. Avoid resizing the mini-window of the selected
2319 frame if FOR_DELETION is set.
2320 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
2321 (Fmake_frame_invisible): Change calls to do_switch_frame for new
2322 signature.
2323
2324 * window.c (Fset_window_configuration): Change call to
2325 do_switch_frame to new format.
2326
2327 * keyboard.c (quit_throw_to_read_char): Change call to
2328 do_switch_frame to new format.
2329
2330 * lisp.h (do_switch_frame): Change prototype.
2331
819dce0f
GM
2332 * frame.c (Fframe_parameters): In the `buffer-list' frame
2333 parameter, store the buffer list of FRAME, not the list of the
2334 selected frame.
2335
57ac7c81
GM
2336 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
2337 box just because the glyph row's full_width_p flag is set.
2338
65008712
GM
23392001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
2340
2341 * xdisp.c (highlight_trailing_whitespace): On character terminals,
2342 skip the padding blanks inserted in extend_face_to_end_of_line,
2343 before checking for trailing whitespace.
2344
159cf431
GM
23452001-03-13 Gerd Moellmann <gerd@gnu.org>
2346
52283633 2347 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
2348 Remove special handling for LessTif/Motif.
2349 (toplevel): Don't include Xm/Xm.h.
2350
52283633
SM
2351 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
2352 Remove workaround code for LessTif; it doesn't work anymore.
2353
2564ea1b 2354 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 2355 Xm/ScrollBarP.h.
afcdc0a1 2356
52283633
SM
2357 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
2358 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
2359 contemporary LessTif.
2360
52283633
SM
2361 * xfaces.c (xm_set_menu_resources_from_menu_face):
2362 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 2363
159cf431
GM
2364 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
2365 removing button grabs.
2366
c6f7429a
KH
23672001-03-13 Kenichi Handa <handa@etl.go.jp>
2368
cb82d767
KH
2369 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
2370 and clip-large-size-font as obsolete.
2371
c6f7429a
KH
2372 * lread.c (read_multibyte): Check the validity of multibyte
2373 sequence. If invalid, return the first byte.
2374
760cefb5
GM
23752001-03-12 Gerd Moellmann <gerd@gnu.org>
2376
2377 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
2378 before running the command; timer functions or process
2379 filters may have set it.
2380
5141f9d0
EZ
23812001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
2382
2383 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
2384 Doc fix.
2385
b6a15240
GM
23862001-03-12 Gerd Moellmann <gerd@gnu.org>
2387
2388 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
2389 to sprintf.
2390
95522746
GM
23912001-03-09 Gerd Moellmann <gerd@gnu.org>
2392
db14cfc5
GM
2393 * dispextern.h (string_buffer_position): Add prototype.
2394
52283633 2395 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
2396 (single_display_prop_string_p): New functions.
2397
2398 * xterm.c (note_mouse_highlight): If there's no help-echo on
2399 a string, look at the buffer text ``under'' it.
2400
2401 * keyboard.c (make_lispy_event): Add string info to the event,
2402 analogous to what's done on mode lines.
2403 (read_key_sequence): For a click on a string, consider `local-map'
2404 and `keymap' of that string.
2405
52283633
SM
2406 * keyboard.c (make_lispy_event, make_lispy_movement):
2407 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
2408
2409 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
2410
2411 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
2412 POS; return void.
2413
95522746
GM
2414 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
2415 flags argument to emacs_open; it seems to conflict with O_EXCL.
2416
898a399d
KH
24172001-03-09 Kenichi Handa <handa@etl.go.jp>
2418
28cd4910
KH
2419 * composite.h (struct composition): Change types of members;
2420 glyph_len to unsigned, width to unsigned short.
898a399d 2421
4cdf6a6c
AI
24222001-03-08 Andrew Innes <andrewi@gnu.org>
2423
2424 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
2425 menu titles.
2426
129004d3
GM
24272001-03-08 Gerd Moellmann <gerd@gnu.org>
2428
221dd3e7
GM
2429 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
2430 instead of nil.
2431
52283633 2432 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
2433 help-echo in strings.
2434 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
2435 (fast_find_string_pos): New function.
2436
52283633
SM
2437 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
2438 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
2439
2440 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2441 Handle `mouse-face'.
2442
2443 * dispextern.h (face_at_string_position): Change prototype.
2444
52283633 2445 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2446
129004d3
GM
2447 * keyboard.c (make_lispy_event): Avoid generating drag events
2448 if the mouse hasn't actually moved to another buffer position.
52283633 2449
80c8ab8c
DL
24502001-03-08 Dave Love <fx@gnu.org>
2451
129004d3 2452 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2453
989521fd
GM
24542001-03-08 Gerd Moellmann <gerd@gnu.org>
2455
2456 * process.c (Fset_process_window_size): Fix a typo.
2457
bb5c338d
KH
24582001-03-08 Kenichi Handa <handa@etl.go.jp>
2459
2460 * coding.c (detect_coding_sjis): Do more rigid check.
2461 (detect_coding_big5): Likewise.
2462 (decode_coding_sjis_big5): Likewise.
2463 (Fdetect_coding_region): Call detect_coding_system with tailing
2464 anchor byte `\0' for more rigid detection.
52283633 2465 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2466 (Fdetect_coding_string): Likewise.
2467
8b8f9197
SM
24682001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2469
2470 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2471 a string before extracting its data.
2472
3bdf2660
GM
24732001-03-07 Gerd Moellmann <gerd@gnu.org>
2474
2475 * window.c (Frecenter): Rewrite code handling negative values
2476 of ARG on graphical frames.
2477
24782001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2479
2480 * window.c (displayed_window_lines): If W->start is outside the
2481 accessible portion of the buffer, call start_display with BEGV or
2482 ZV instead of W->start.
2483
471f86b9
GM
24842001-03-07 Gerd Moellmann <gerd@gnu.org>
2485
2ab62c6c
GM
2486 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2487
471f86b9
GM
2488 * process.c (Fset_process_filter): Don't crash if the input
2489 file descriptor of PROCESS is closed.
2490 (Fset_process_window_size): Likewise.
2491
101922c3
GM
24922001-03-06 Kenichi Handa <handa@etl.go.jp>
2493
2494 * xterm.c (XTflash): Make the timeout of select shorter, and call
2495 select repeatedly until the desired time expires.
2496
45d051a7
GM
24972001-03-06 Gerd Moellmann <gerd@gnu.org>
2498
2499 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2500
2501 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2502
2503 * lisp.h (Vwindow_list): Declare extern.
2504
8f372c46
EZ
25052001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2506
2507 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2508
f16a7aa5
GM
25092001-03-06 Gerd Moellmann <gerd@gnu.org>
2510
157ae273
GM
2511 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2512 to detect a case where we have to highlight a different region
2513 despite not having left the currently highlighted region.
2514 Set mouse_face_overlay in the x_display_info.
45d051a7 2515 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2516
2517 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2518
2519 * buffer.c (mouse_face_overlay_overlaps): New function.
2520
2521 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2522 (Qmouse_face): Declare extern.
2523
f16a7aa5
GM
2524 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2525 if face_change_count is non-zero.
2526
827afcac
KH
25272001-03-06 Kenichi Handa <handa@etl.go.jp>
2528
2529 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2530 that the source is unibyte.
2531
14c7242e
DL
25322001-03-05 Dave Love <fx@gnu.org>
2533
827afcac 2534 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2535
c28b847b
GM
25362001-03-05 Gerd Moellmann <gerd@gnu.org>
2537
2538 * minibuf.c (read_minibuf): Clean up the binding stack if
2539 called noninteractively.
2540
b86644f2
KH
25412001-03-05 Kenichi Handa <handa@etl.go.jp>
2542
2543 * coding.c (syms_of_coding): Docstring modified.
2544
203682cc 25452001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2546
2547 * charset.c (char_to_string): If a single byte char has modifier
2548 bits that can't be reflected to the character code, ignore them
45d051a7 2549 instead of signaling an error.
b86644f2 2550
e30bd7b7
EZ
25512001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2552
2553 * s/msdos.h: Update copyright notice.
2554
2555 * dosfns.h: Update copyright notice.
2556
2557 * dosfns.c: Update copyright notice.
2558
2559 * msdos.c: Update copyright notice.
2560
b52b65bd
GM
25612001-03-02 Gerd Moellmann <gerd@gnu.org>
2562
2563 * xterm.c (glyph_rect): New function.
2564 (XTmouse_position): Use it to raise the threshold for mouse
2565 movement event generation.
2566
53c4b1e6
EZ
25672001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2568
2569 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2570 specifies (reverse . t), reverse the initial screen colors.
2571 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2572 but we are reversing the colors, set bg_set, not fg_set.
2573 Likewise for setting background-color and reversing: set fg_set.
2574 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2575 in effect.
2576
2577 * xfaces.c (Finternal_set_lisp_face_attribute)
2578 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2579 parameters alist.
2580
f964b4d7
GM
25812001-03-02 Gerd Moellmann <gerd@gnu.org>
2582
ef53d75e
GM
2583 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2584 to a single slash in the middle of file names.
2585
52283633 2586 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2587 Accept only alphanumeric time zone names.
2588
f964b4d7
GM
2589 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2590 or width area.
2591 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2592 a widget to zero height.
52283633 2593
c3c45f65
GM
25942001-03-01 Gerd Moellmann <gerd@gnu.org>
2595
2596 * window.c (Fwindow_end): Call move_it_past_eol only if
2597 ending up on a partially visible line.
2598
028d739a
DL
25992001-03-01 Dave Love <fx@gnu.org>
2600
2601 * ccl.c (Fccl_execute): Doc fix.
2602
57c5889c
GM
26032001-03-01 Gerd Moellmann <gerd@gnu.org>
2604
35f59f6b
GM
2605 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2606 of the tool bar before calling x_figure_window_size.
2607
f84ff02c
GM
2608 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2609 NULL after destroying it, otherwise XTread_socket can access a
2610 destroyed widget when input is unblocked.
2611
8b8f9197 2612 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2613
57c5889c
GM
2614 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2615 same name as before, although there was a change in fontsets.
2616
224227d1
KR
26172001-02-28 Ken Raeburn <raeburn@gnu.org>
2618
4560730a
KR
2619 * lisp.h (Fframe_parameter): Declare.
2620
224227d1 2621 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2622 Lisp_Object.
224227d1 2623
ece93c02
GM
26242001-02-28 Gerd Moellmann <gerd@gnu.org>
2625
11ef99b9
GM
2626 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2627 NULL instead.
2628
2629 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2630 NULL instead.
2631
ece93c02
GM
2632 * alloc.c (toplevel): Include process.h.
2633 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2634 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2635 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2636 (allocate_vector, allocate_hash_table, allocate_window)
2637 (allocate_frame, allocate_process, allocate_other_vector):
2638 New functions.
ece93c02
GM
2639 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2640 (mark_maybe_pointer): New function.
52283633 2641 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2642 remain and not Lisp_Objects.
2643 (min_heap_address, max_heap_address): New variables.
2644 (mem_find): Return MEM_NIL if START is below min_heap_address or
2645 above max_heap_address.
2646 (mem_insert): Compute min_heap_address and max_heap_address.
2647
2648 * process.c (make_process): Use allocate_process.
2649
2650 * frame.c (make_frame): Use allocate_frame.
2651
2652 * window.c (make_window, make_dummy_parent): Use allocate_window.
2653 (Fcurrent_window_configuration): Use allocate_other_vector.
2654
2655 * lisp.h (allocate_vectorlike): Remove prototype.
2656 (allocate_vector, allocate_other_vector, allocate_frame)
2657 (allocate_window, allocate_process, allocate_hash_table):
2658 Add prototypes.
2659
2660 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2661 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2662
063af457
KH
26632001-02-27 Kenichi Handa <handa@etl.go.jp>
2664
2665 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2666 treat the produced bytes as a valid multibyte sequence.
2667
2668 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2669 (ccl_driver) <CCL_WriteMultibyteChar2>:
2670 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2671 <ccl_finish>: Set ccl->eight_bit_control properly.
2672
2673 * ccl.h (struct ccl_program): New member eight_bit_control.
2674
f58c6494
SM
26752001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2676
2677 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2678 accessible_keymaps_char_table.
2679 (accessible_keymaps_char_table): Obey `is_metized'.
2680 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2681 Lisp_Object.
2682
c596c392
GM
26832001-02-26 Gerd Moellmann <gerd@gnu.org>
2684
2685 * dispnew.c: Check HAVE_TERM_H before including term.h.
2686
425de386
AI
26872001-02-24 Andrew Innes <andrewi@gnu.org>
2688
2689 * makefile.w32-in: Update copyright notice.
2690
2ba11bbd
SM
26912001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2692
2693 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2694
66c56ed1
KH
26952001-02-24 Kenichi Handa <handa@etl.go.jp>
2696
4c1593ce
KH
2697 * Makefile.in (lisp): Add international/utf-8.elc.
2698
66c56ed1
KH
2699 * fontset.c (Fnew_fontset): Fix handling of the case that an
2700 element of FONTLIST is a cons of family and registry.
2701
796ead7e
JR
27022001-02-23 Jason Rumney <jasonr@gnu.org>
2703
2704 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2705 to height unconditionally.
2706
2707 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2708 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2709 (x_insert_glyphs): Call window_box_left to obtain the left
2710 x-coordinate of the area to shift.
2711
2712 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2713 safe_run_hooks.
2714
f6839838
AI
27152001-02-22 Andrew Innes <andrewi@gnu.org>
2716
52283633 2717 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2718 ($(BLD)\dispnew.obj):
2719 ($(BLD)\editfns.obj):
2720 ($(BLD)\fileio.obj):
2721 ($(BLD)\filelock.obj):
2722 ($(BLD)\keyboard.obj):
2723 ($(BLD)\w32proc.obj):
2724 ($(BLD)\process.obj):
2725 ($(BLD)\sysdep.obj): Ditto.
2726
2727 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2728 header files.
52283633
SM
2729 ($(BLD)/dispnew.$(O)):
2730 ($(BLD)/editfns.$(O)):
2731 ($(BLD)/fileio.$(O)):
2732 ($(BLD)/filelock.$(O)):
2733 ($(BLD)/keyboard.$(O)):
2734 ($(BLD)/w32proc.$(O)):
2735 ($(BLD)/process.$(O)):
f6839838
AI
2736 ($(BLD)/sysdep.$(O)): Ditto.
2737
c224f70b
GM
27382001-02-22 Gerd Moellmann <gerd@gnu.org>
2739
51695746
GM
2740 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2741 at the start of the function, check that the \n in it->c is
2742 from the iterator's current position.
52283633 2743
a61b7058
GM
2744 * xdisp.c (handle_single_display_prop): Add parameter
2745 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2746 properties which replace the display of text with something else.
2747 (handle_display_prop): Call handle_single_display_prop with
2748 additional argument saying if we already replaced text display
2749 with something else. Use AREF.
52283633 2750 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2751 (decode_mode_spec_coding): Use AREF and ASIZE.
2752
3473f362
GM
2753 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2754 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2755 * vmstime.h: Files removed.
52283633 2756
2bb58df3
GM
2757 * unexencap.c, unexfx2800.c: Files removed.
2758
c224f70b
GM
2759 * dispnew.c (direct_output_for_insert): Give up if we are showing
2760 a message or just cleared the message because we might need to
2761 resize the echo area window or display an empty echo area.
2762
ffc9ff0c
GM
27632001-02-21 Gerd Moellmann <gerd@gnu.org>
2764
0528abe1
GM
2765 * xdisp.c (redisplay_internal): Do the
2766 mark_window_display_accurate after all windows have been
2767 redisplayed because this call resets flags in buffers which are
2768 needed for proper redisplay.
2769
52283633
SM
2770 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2771 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2772 the old names.
2773
52283633
SM
2774 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2775 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2776
2777 * msdos.h (struct x_output): Rename busy_window to
2778 hourglass_window, busy_p to hourglass_p.
2779
52283633
SM
2780 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2781 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2782
2783 * xfns.c: Rename everything containing *busy_cursor* and similar
2784 to *hourglass*.
2785 (syms_of_w32fns): Rename x-busy-pointer-shape to
2786 x-hourglass-pointer-shape, display-busy-cursor to
2787 display-hourglass, busy-cursor-delay to hourglass-delay.
2788
2789 * w32fns.c: Rename everything containing *busy_cursor* and similar
2790 to *hourglass*.
2791 (syms_of_w32fns): Rename x-busy-pointer-shape to
2792 x-hourglass-pointer-shape, display-busy-cursor to
2793 display-hourglass, busy-cursor-delay to hourglass-delay.
2794
2795 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2796 of its busy_p flag.
2797
2798 * dispextern.h (start_hourglass, cancel_hourglass)
2799 (display_hourglass_p): Renamed from *busy_cursor*.
2800
ab2c5f0a
GM
28012001-02-20 Gerd Moellmann <gerd@gnu.org>
2802
d17e49a8
GM
2803 * keyboard.c (read_char): When an event from unread-command-events
2804 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2805
fa97adf6
GM
2806 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2807 equal to the current buffer.
2808
ab2c5f0a
GM
2809 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2810 nil, otherwise we're left with truncate_lines t when a message
2811 is printed with message-truncate-lines bound to t.
2812
aeac019e
GM
28132001-02-19 Gerd Moellmann <gerd@gnu.org>
2814
c8bc6f65
GM
2815 * window.c (Fmove_to_window_line): Undo last change.
2816 (displayed_window_lines): Call line_bottom_y to determine
2817 the line's bottom position.
2818
2819 * dispextern.h (line_bottom_y): Add prototype.
2820
52283633 2821 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2822 (pos_visible_p): Use it.
2823
980a2d69
GM
2824 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2825 set redisplaying_p to 0 here instead of in Frecursive_edit.
2826 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2827 set redisplaying_p.
2828
52283633 2829 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2830 New variables.
2831 (syms_of_xdisp): Initialize new variables.
2832 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2833 Specbind `inhibit-menubar-update' when updating the menu bar.
2834
65048e97
GM
2835 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2836 safe_run_hooks.
2837
2838 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2839 safe_run_hooks.
2840
a57c4026
GM
2841 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2842 is null.
2843
aeac019e
GM
2844 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2845 to the start of the file.
2846
76846b31
GM
28472001-02-16 Gerd Moellmann <gerd@gnu.org>
2848
f3f053f3 2849 * window.c (set_window_buffer): Fix last change.
52283633 2850
f3f053f3
GM
2851 * window.c (set_window_buffer): Set window's vscroll to 0.
2852
dad75588
GM
2853 * window.c (coordinates_in_window): Increase width of area
2854 where the vertical line can be dragged.
2855
c220b753
GM
2856 * xterm.c (x_set_glyph_string_background_width): Extend the
2857 background face to the end of the drawing area in the text
2858 area, only.
2859
c56b1c1b
GM
2860 * xdisp.c (handle_single_display_prop): Set iterator's position
2861 to where the `display' property starts, like for images.
2862 (dump_glyph): New function.
2863 (dump_glyph_row): Use it. Dump info about marginal areas.
2864
2865 * dispnew.c (direct_output_for_insert): Recognize more cases where
2866 glyphs can be written instead of being inserted.
2867
2868 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2869 the left x-coordinate of the area to shift.
2870
76846b31
GM
2871 * dired.c (directory_files_internal): Set result list to nil
2872 before retrying.
2873
0fc71a77
KH
28742001-02-15 Kenichi Handa <handa@etl.go.jp>
2875
2876 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2877 invalid multibyte sequence, treat *SRC as a character of
2878 eight-bit-graphic.
2879
25078b54
EZ
28802001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2881
2882 * textprop.c (Fset_text_properties): Doc fix.
2883
8399f8a0
GM
28842001-02-15 Gerd Moellmann <gerd@gnu.org>
2885
2886 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2887
9a2a6f73
DL
28882001-02-14 Dave Love <fx@gnu.org>
2889
2890 * coding.c: Doc and message fixes.
2891
bf853fee
AI
28922001-02-14 Andrew Innes <andrewi@gnu.org>
2893
2894 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2895 Emacs frame above the screen size.
2896
78c663d8
GM
28972001-02-14 Gerd Moellmann <gerd@gnu.org>
2898
2899 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2900
7cc9f69f
GM
29012001-02-13 Gerd Moellmann <gerd@gnu.org>
2902
0a411995
GM
2903 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2904 case that TO ends up beyond ZV after running before-change-functions.
2905
5ddc1b75
GM
2906 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2907 the selected window if it is showing the buffer in question.
2908
7cc9f69f
GM
2909 * dired.c (directory_files_internal): Initialize errno.
2910 (toplevel): Include errno.h.
2911
2e6621ca
GM
29122001-02-13 Kenichi Handa <handa@etl.go.jp>
2913
2914 * xfaces.c (best_matching_font): New parameter width_ratio.
2915 Multiply avgwidth by width_ratio.
2916 (choose_face_font): Call best_matching_font with width_ratio
2917 calculated from the column width of C.
2918
60222d69
AI
29192001-02-12 Andrew Innes <andrewi@gnu.org>
2920
2921 The following changes are to draw box lines inside characters area
2922 if line-width is negative.
52283633 2923
60222d69
AI
2924 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2925 face->box_line_width is negative.
2926 (x_produce_stretch_glyph): Likewise.
2927 (x_produce_glyphs): Likewise.
2928 (x_estimate_mode_line_height): Likewise.
2929 (x_draw_glyph_string_background): Likewise.
2930 (x_draw_glyph_string_foreground): Likewise.
2931 (x_draw_composite_glyph_string_foreground): Likewise.
2932 (x_draw_glyph_string_box): Likewise.
2933 (x_draw_image_foreground): Likewise.
2934 (x_draw_image_relief): Likewise.
2935 (x_draw_image_foreground_1): Likewise.
2936 (x_draw_image_glyph_string): Likewise.
2937
9804b846
KH
29382001-02-09 Kenichi Handa <handa@etl.go.jp>
2939
2940 The following changes are to draw box lines inside characters area
2941 if line-width is negative.
52283633 2942
9804b846
KH
2943 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2944 face->box_line_width is negative.
2945 (x_produce_stretch_glyph): Likewise.
2946 (x_produce_glyphs): Likewise.
2947 (x_estimate_mode_line_height): Likewise.
2948 (x_draw_glyph_string_background): Likewise.
2949 (x_draw_glyph_string_foreground): Likewise.
2950 (x_draw_composite_glyph_string_foreground): Likewise.
2951 (x_draw_glyph_string_box): Likewise.
2952 (x_draw_image_foreground): Likewise.
2953 (x_draw_image_relief): Likewise.
2954 (x_draw_image_foreground_1): Likewise.
2955 (x_draw_image_glyph_string): Likewise.
2956
2957 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2958 and :line-width can be negative.
52283633 2959 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2960
49be9f70
JR
29612001-02-09 Jason Rumney <jasonr@gnu.org>
2962
2963 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2964 characters the same as ASCII and latin-1.
2965 (x_display_and_set_cursor): Check for the focus frame's selected
2966 window instead of selected_window.
2967 (x_after_update_window_line): Don't clear if frame's internal
2968 border width is zero.
2969 (x_new_font): Don't change a tooltip's size.
2970 (w32_initialize): Set char_ins_del_ok to 1.
2971
2972 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2973 (x_set_font): If font hasn't changed, avoid recomputing
2974 faces and other things.
52283633
SM
2975 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2976 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2977 (x_create_tip_frame): Prevent changing the tooltip's
2978 background color by specifying a color for the default font
2979 in .Xdefaults.
2980 (Qcancel_timer): New variable.
2981 (syms_of_w32fns): Initialize and staticpro it.
2982 (Fx_hide_tip, Fx_show_tip): Use it.
2983 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2984 the timer.
2985 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2986
2987 * w32.c (init_environment): Duplicate local string before putenv.
2988
555e35d2
SZ
29892001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2990
2991 * charset.c (Fstring): A typo.
2992
19c92c94
KH
29932001-02-09 Kenichi Handa <handa@etl.go.jp>
2994
e47a1c33
KH
2995 * charset.c (Fstring): If all arguments are less than 256, return
2996 a unibyte string.
2997
2998 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2999 return a unibyte string.
3000
19c92c94
KH
3001 * coding.c (code_convert_region): After detecting a coding, if
3002 nothing found, set coding->composing to COMPOSITION_NO.
3003 (decode_coding_string): Likewise.
3004
d8e675f5
SM
30052001-02-08 Stefan Monnier <monnier@cs.yale.edu>
3006
3007 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
3008 to avoid overflow.
3009
bd503487
KH
30102001-02-07 Kenichi Handa <handa@etl.go.jp>
3011
3012 * charset.c (parse_str_to_multibyte): New function.
3013
3014 * charset.h (parse_str_to_multibyte): Extern it.
3015
3016 * print.c (print_string): If we are going to print a unibyte
3017 string into a multibyte buffer, convert the string to multibyte by
3018 str_to_multibyte.
3019
a8370d72
AI
30202001-02-06 Andrew Innes <andrewi@gnu.org>
3021
3022 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
3023 been created. It seems we can get sent window messages such as
3024 WM_ERASEBKGND before we properly update a frame.
3025
c363a1d6
GM
30262001-02-06 Gerd Moellmann <gerd@gnu.org>
3027
3028 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
3029 Avoid some unnecessary cursor positioning.
3030
a08332c0
GM
30312001-02-05 Gerd Moellmann <gerd@gnu.org>
3032
52283633 3033 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
3034 (LFACE_AVGWIDTH): New macro.
3035 (LFACEP): Use AREF.
3036 (check_lface_attrs): Check LFACE_AVGWIDTH.
3037 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
3038 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
3039 (merge_face_vectors): Check LFACE_AVGWIDTH.
3040 (Finternal_make_lisp_face): Use AREF.
3041 (xm_set_menu_resources_from_menu_face)
3042 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
3043 (Finternal_lisp_face_empty_p): Use AREF.
3044 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
3045 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
3046 Compare average widths..
3047 (best_matching_font): Arrange for comparing average widths.
3048
52283633
SM
3049 * dispextern.h (enum lface_attribute_index):
3050 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
3051
5cb3c8d4
DL
30522001-02-05 Dave Love <fx@gnu.org>
3053
3054 * puresize.h: Revert last change following loadup.el change.
3055
193fba87
AI
30562001-02-05 Andrew Innes <andrewi@gnu.org>
3057
3058 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
3059 invocation of temacs, to work with Windows 2000.
3060 (bootstrap-emacs): Ditto.
3061
e16f52ce
GM
30622001-02-05 Gerd Moellmann <gerd@gnu.org>
3063
7a58ab59
GM
3064 * xterm.c (x_display_and_set_cursor): Check for the focus
3065 frame's selected window instead of selected_window.
3066
e89aaabd
GM
3067 * xdisp.c (try_scrolling): If point is in the line below the
3068 window, make sure to move the iterator at least a canonical
3069 char height down.
3070
52283633 3071 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 3072
789ce875
KH
30732001-02-05 Kenichi Handa <handa@etl.go.jp>
3074
52283633
SM
3075 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
3076 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
3077 (ccl_driver): If the CCL program is terminated because of
3078 CCL_STAT_INVALID_CMD, copy the remaining source data to the
3079 destination instead of throwing them away.
3080
20b28f82
GM
30812001-02-02 Gerd Moellmann <gerd@gnu.org>
3082
79fb38c0
GM
3083 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
3084 faces and other things.
3085
20b28f82
GM
3086 * xdisp.c (get_next_display_element): Fix case of empty
3087 display table entry.
3088
5a72551e
EZ
30892001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
3090
eb24d0bf
EZ
3091 * editfns.c (Fconstrain_to_field): Doc fix.
3092
6a3f48c7
EZ
3093 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
3094 into `thoroughly', to make it consistent with the doc string.
3095
5a72551e
EZ
3096 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
3097
01acdb05
GM
30982001-02-01 Gerd Moellmann <gerd@gnu.org>
3099
0353b28f
GM
3100 * search.c (search_buffer): Call set_search_regs with a byte
3101 position, not a character position.
3102
01acdb05
GM
3103 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
3104 minibuffer-only,
3105
e86b5133
EZ
31062001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
3107
3108 * frame.c (Fmodify_frame_parameters): Doc fix.
3109
7442878f
GM
31102001-01-31 Gerd Moellmann <gerd@gnu.org>
3111
01acdb05
GM
3112 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
3113 identifier which is not reserved by Standard C.
52283633 3114
7442878f
GM
3115 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
3116
3117 * window.c (enum window_part): New enumeration.
3118 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
3119 Qright_bitmap_area.
3120 (coordinates_in_window): Return an enumerator from enum
3121 window_part. Fix handling of right scroll bar.
3122 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
3123 `right-fringe' instead of `left-bitmap-area' and
3124 `right-bitmap-area'. Use enumerators from enum window_part
3125 instead of hard-coded integers.
52283633
SM
3126 (check_window_containing, window_from_coordinates):
3127 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
3128 (syms_of_window): Replace Qleft_bitmap_area and
3129 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
3130
7c132cba
EZ
31312001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
3132
3133 * editfns.c (Fformat_time_string): Doc fix.
3134
c359dd9e
SM
31352001-01-31 Stefan Monnier <monnier@cs.yale.edu>
3136
3137 * keymap.c (Fwhere_is_internal): Use the first valid binding
3138 if no ascii binding is found (when firstonly is t).
3139
ce070307
GM
31402001-01-31 Gerd Moellmann <gerd@gnu.org>
3141
b4f30ec5
GM
3142 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
3143 instead of Finteractive_p.
3144
3145 * lisp.h (interactive_p): Add prototype.
3146
3147 * eval.c (interactive_p): New function.
3148 (Finteractive_p): Use it.
3149
ce070307
GM
3150 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
3151
f57b6e64
DL
31522001-01-31 Dave Love <fx@gnu.org>
3153
d61c7afe
DL
3154 * .gdbinit (hook-run): Define to run xreload.
3155
f57b6e64
DL
3156 * textprop.c (Fset_text_properties): Fix newline in doc string.
3157
eef93f99
GM
31582001-01-30 Gerd Moellmann <gerd@gnu.org>
3159
52283633
SM
3160 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
3161 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
3162
3163 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 3164 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
3165 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
3166
3167 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
3168 height.
3169
d9c1f6f9
DL
31702001-01-30 Dave Love <fx@gnu.org>
3171
3172 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
3173 AFTER_POTENTIAL_GC.
3174
e8f044a0
GM
31752001-01-29 Gerd Moellmann <gerd@gnu.org>
3176
52283633
SM
3177 * bytecode.c (Fbyte_code) <Bcurrent_column>:
3178 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 3179
8e1db7b3
EZ
31802001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
3181
3182 * textprop.c (Fset_text_properties): Doc fix.
3183
4eefd9d2
GM
31842001-01-29 Gerd Moellmann <gerd@gnu.org>
3185
3186 * xdisp.c (forward_to_next_line_start): Remove xassert.
3187
fccb8288
EZ
31882001-01-29 Jason Rumney <jasonr@gnu.org>
3189
4eefd9d2 3190 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
3191 returning without releasing it.
3192
76581eab
KH
31932001-01-29 Kenichi Handa <handa@etl.go.jp>
3194
3195 * w32fns.c (w32_font_match): Allocate three more bytes to regex
3196 for '^', '$', and '\0'.
3197
83a96b4d
AC
31982001-01-28 Andrew Choi <akochoi@i-cable.com>
3199
5604ec34
AC
3200 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
3201 regex for '^', '$', and '\0'.
3202
83a96b4d
AC
3203 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
3204 only if current_sblock has been initialized.
3205
3206 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
3207 terminal frame even if it is the only visible frame.
3208
c09a6440
KH
32092001-01-28 Kenichi Handa <handa@etl.go.jp>
3210
3211 * fontset.c (font_family_registry): Even if FONTNAME conform to
3212 XLFD, if it specifies other fields than family and registry,
52283633 3213 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 3214 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
3215 a signle byte character. Don't set FAMILY part to nil here.
3216 It is handled by the caller choose_face_font.
c09a6440
KH
3217 (Fnew_fontset): Call font_family_registry with FORCE 0.
3218 (Fset_fontset_font): Likewise.
3219
4dcd74e6
GM
32202001-01-27 Gerd Moellmann <gerd@gnu.org>
3221
3222 * xdisp.c (display_line): Don't treat a newline as fitting
3223 on the line.
3224
d2906bf8
GM
32252001-01-26 Gerd Moellmann <gerd@gnu.org>
3226
0130fe1a
GM
3227 * window.c (size_window): Set the window's orig_top to nil when
3228 changing heights, so that a future shrink_mini_window won't
3229 restore a bogus height.
3230
550f0e6a
GM
3231 * frame.c (do_switch_frame): If selected frame has a mini-window,
3232 resize that to exact size.
3233
b7b20fbd
GM
3234 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
3235
a47b7816
GM
3236 * xdisp.c (display_line): Simplify check for glyphs fitting
3237 entirely in the line.
3238
d2906bf8
GM
3239 * xfns.c (xic_style): New variable.
3240 (create_frame_xic): Move static variable to global scope for
550f0e6a 3241 the case that `static' gets defined away.
d2906bf8 3242
73df2b1e
KH
32432001-01-26 Kenichi Handa <handa@etl.go.jp>
3244
3245 * coding.c (decode_coding): Set a flag for inhibiting
3246 inconsistent eol.
3247 (code_convert_region): Always set saved_coding_symbol.
3248 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 3249 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 3250
6613cfc4
GM
32512001-01-25 Gerd Moellmann <gerd@gnu.org>
3252
c5e6e06b
GM
3253 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
3254 XClearArea.
3255
3256 * xterm.c (x_after_update_window_line): Don't clear if frame's
3257 internal border width is zero.
3258 (x_clear_area): New function.
3259 (x_after_update_window_line, x_clear_end_of_line)
3260 (x_scroll_bar_create, x_scroll_bar_set_handle)
3261 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
3262 instead of XClearArea.
3263
3264 * xterm.h (x_clear_area): Add prototype.
3265
6613cfc4
GM
3266 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
3267 which doesn't seem necessary anymore with Lesstif 0.92.
3268
650cc6cc
DL
32692001-01-25 Dave Love <fx@gnu.org>
3270
34ac3367
DL
3271 * puresize.h (BASE_PURESIZE): Up to 720000.
3272
650cc6cc
DL
3273 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
3274
5e37dc22
GM
32752001-01-25 Gerd Moellmann <gerd@gnu.org>
3276
e1e441f9
GM
3277 * xdisp.c (echo_area_display): Don't call redisplay_internal
3278 when Emacs is shutting down. We can't run hooks etc. that
3279 would be necessary to do a redisplay.
3280
5e37dc22
GM
3281 * lread.c (read_integer): Use type EMACS_INT instead of int.
3282
0fb94c7f
EZ
32832001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
3284
3285 * ccl.c (ccl_driver): Fix last change.
3286
e3778624
KH
32872001-01-25 Kenichi Handa <handa@etl.go.jp>
3288
3289 * ccl.h (sturct ccl_program): New member suppress_error.
3290
bb264518 3291 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
3292 insert error message to the output.
3293 (setup_ccl_program): Initialize ccl->suppress_error to 0.
3294
3295 * coding.h (struct coding_system): New member suppress_error.
3296
3297 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
3298 (Fset_terminal_coding_system_internal): Set the member
3299 suppress_error to 1.
3300 (Fset_safe_terminal_coding_system_internal): Likewise.
3301
245ed2b1
SM
33022001-01-24 Stefan Monnier <monnier@cs.yale.edu>
3303
3304 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
3305 as if it was a `charset'.
3306
f9aaedb6
GM
33072001-01-24 Gerd Moellmann <gerd@gnu.org>
3308
3309 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
3310 value in where_is_cache; the next lookup in the cache returns
3311 something bogus if we do.
3312
c3902c3e
EZ
33132001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
3314
3315 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
3316 if HAVE_WINDOW_SYSTEM isn't defined.
3317
3497f73e
GM
33182001-01-24 Gerd Moellmann <gerd@gnu.org>
3319
e7e41584
GM
3320 * fns.c (sweep_weak_table): Fix code taking items out of
3321 the hash collision chain. Some cleanup.
3322
3497f73e
GM
3323 * xterm.c (x_new_font): Don't change a tooltip's size.
3324
3325 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
3326 background color by specifying a color for the default font
3327 in .Xdefaults.
3328
3d48e687
KH
33292001-01-24 Kenichi Handa <handa@etl.go.jp>
3330
96531b20
KH
3331 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
3332 a workaround for SunOS 4's cc.
3333 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
3334 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
3335 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
3336 statement.
3d48e687 3337
a30629d2
GM
33382001-01-23 Gerd Moellmann <gerd@gnu.org>
3339
3340 * xterm.c (x_set_window_size_1): New function extracted from
3341 x_set_window_size.
3342 (x_set_window_size): Use it.
3343 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
3344 doesn't have a widget, like tooltips.
3345
5a43decf
EZ
33462001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
3347
52283633 3348 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 3349
b0e98867
KH
33502001-01-23 Kenichi Handa <handa@etl.go.jp>
3351
3352 * fns.c (Fset_char_table_default): Fix to make sub char-table
3353 correctly.
3354
50606b4c
GM
33552001-01-22 Gerd Moellmann <gerd@gnu.org>
3356
cb2ddc53 3357 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
3358 a desired tool bar string, even if there are no tool bar items.
3359
57c28064
GM
3360 * xdisp.c (Ftool_bar_lines_needed): New function.
3361 (syms_of_xdisp): Defsubr it.
3362
50606b4c
GM
3363 * editfns.c (Fformat): Don't extend text properties from arguments
3364 to padding chars in the result.
3365
2f169c38
EZ
33662001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
3367
3368 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
3369
0f32f023
AI
33702001-01-20 Andrew Innes <andrewi@gnu.org>
3371
52283633 3372 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
3373 (w32_initialize): Don't set term hooks that aren't actually needed
3374 in windowed mode.
3375
3376 * xfaces.c (realize_default_face):
3377 (realize_face):
3378 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
3379
3380 * xdisp.c (handle_single_display_prop): Remove references to
3381 FRAME_W32_CONSOLE_P.
3382
52283633 3383 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
3384
3385 * frame.h (output_method): Remove output_w32_console method.
3386 (FRAME_W32_CONSOLE_P): Remove macro.
3387
3388 * frame.c (Qw32_console): Remove variable.
3389 (Fframep): Remove references to it.
3390 (syms_of_frame): Ditto.
3391 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
3392
3393 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
3394 redefinition.
3395
7173eada
KH
33962001-01-20 Kenichi Handa <handa@etl.go.jp>
3397
3398 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
3399
755b45ce
AI
34002001-01-19 Andrew Innes <andrewi@gnu.org>
3401
3402 * w32.c (init_environment): Add a version-independent site-lisp
3403 directory to EMACSLOADPATH, after the version dependent one.
3404
0a949811
GM
34052001-01-19 Gerd Moellmann <gerd@gnu.org>
3406
8501998a
GM
3407 * editfns.c (Fbuffer_substring): Doc fix.
3408
52283633
SM
3409 * xdisp.c (message_dolog, message2, message2_nolog):
3410 Rename parameter LEN to NBYTES.
0a949811 3411
e6ebcbbe
KH
34122001-01-19 Kenichi Handa <handa@etl.go.jp>
3413
200ecca2
KH
3414 * charset.c (strwidth): Use c_string_width.
3415 (c_string_width): New function.
3416 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
3417 Caller changed.
3418
3419 * charset.h (c_string_width, lisp_string_width): Extern them.
3420
52283633 3421 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 3422
e6ebcbbe
KH
3423 * indent.c (check_composition): Check validity of composition.
3424
200ecca2
KH
3425 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
3426 characters by calling c_string_width.
3427 (x_consider_frame_title): Get byte length of frame tile string
3428 correctly.
3429 (display_mode_element): Pay attention to width of non-ASCII
3430 characters by calling strwidth.
3431
8692ca92
GM
34322001-01-18 Gerd Moellmann <gerd@gnu.org>
3433
8962e303
GM
3434 * xfns.c (Qcancel_timer): New variable.
3435 (syms_of_xfns): Initialize and staticpro it.
3436 (Fx_hide_tip, Fx_show_tip): Use it.
3437 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
3438 the timer.
3439 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3440
91523be9
GM
3441 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3442
3443 * window.h (WINDOW_LIVE_P): New macro.
3444
b0b7ed0e
GM
3445 * window.c (window_size_fixed): New variable.
3446 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3447 the doc string.
3448
06bccf8e
GM
3449 * eval.c (specbind): If binding a per-buffer variable which
3450 doesn't have a buffer-local value in the current buffer, change
3451 the global value by changing the value of the symbol bound in all
3452 buffers not having their own value, to make it consistent with
3453 what happens with other buffer-local variables.
3454
8692ca92
GM
3455 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3456
3457 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3458 when searching for a newline.
3459
bb3a3b50
KH
34602001-01-18 Kenichi Handa <handa@etl.go.jp>
3461
3462 * xdisp.c (display_string): Fix previous change.
3463
c2cc16fa
JR
34642001-01-18 Jason Rumney <jasonr@gnu.org>
3465
3466 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3467 GLYPH_DEBUG is defined.
3468 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3469 true for images with `:ascent 100'.
3470 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3471 meantime, use face MOUSE_FACE_ID.
3472 If first glyph isn't a character glyph, use the ASCII NUL
3473 character to determine the face.
3474 (expose_area): Do not treat left margin specially.
3475 (note_mode_line_highlight): If no local_map, check global keymap.
3476 (note_mouse_highlight): Initialize overlay.
52283633 3477 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3478 (show_scroll_bars): Remove unused function.
3479 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3480 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3481 Clip to row.
52283633 3482 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3483 (x_free_frame_resources): Unload relief colors.
3484
9c11f79e
GM
34852001-01-17 Gerd Moellmann <gerd@gnu.org>
3486
3aec8722 3487 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3488 get_next_display_element when the newline is already found.
3489 This may change the iterator's position, when its current position is
3aec8722
GM
3490 equal to the iterator's stop_charpos.
3491
f3ffc2c3
GM
3492 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3493 zero, use this method only at the end of a line.
3494
52283633 3495 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3496 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3497 if SCALABLE_FONTS_P is set.
52283633 3498
d26d6fd9
GM
3499 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3500 so that scalable fonts are included.
3501
9c11f79e
GM
3502 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3503 In the cache, use a key containing the information if scalable
3504 fonts are included.
3505 (x_load_font): Adapt to change of keys in the font cache.
3506
35072001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3508
d26d6fd9
GM
3509 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3510 XListFonts to take advantage of font caching.
3511
9c11f79e
GM
3512 * xterm.c (x_list_fonts): Ensure caching font information when
3513 called for a null frame, which is the case frequently when Emacs
3514 starts.
3515
51446987
GM
35162001-01-17 Gerd Moellmann <gerd@gnu.org>
3517
f864120f
GM
3518 * xfns.c (QCconversion): Replaces QCalgorithm.
3519
3520 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3521
3522 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3523 of :algorithm.
52283633 3524
e37d1417
GM
3525 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3526 not everything could be displayed.
3527
51446987
GM
3528 * line.h, x-list-font.c: Files removed because unused.
3529
9ad4f3e5
AI
35302001-01-17 Andrew Innes <andrewi@gnu.org>
3531
3532 * dired.c (directory_files_internal): Convert result from readdir
3533 to a unibyte string initially, to avoid possible misinterpretation
3534 of some bytes as the internal form of Emacs characters.
3535
2eda09b5
KH
35362001-01-17 Kenichi Handa <handa@etl.go.jp>
3537
3538 * fns.c (concat): Be sure to avoid putting the same `composition'
3539 property on the adjacent regions.
3540
826f3788
GM
35412001-01-16 Gerd Moellmann <gerd@gnu.org>
3542
52283633 3543 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3544 (Fscroll_right, Fscroll_left): Set it here instead, if called
3545 interactively.
3546
d57b83b3
GM
3547 * buffer.c (Fset_buffer_modified_p): Set buffer's
3548 prevent_redisplay_optimizations_p flag.
3549
826f3788 3550 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3551 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3552 with additional arg.
3553
3554 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3555 Change prototype.
826f3788 3556
826f3788
GM
3557 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3558 FROM_WHERE, for debugging.
3559
261d788b
KH
35602001-01-16 Kenichi Handa <handa@etl.go.jp>
3561
3562 * ccl.c (Fregister_ccl_program): Handle the return value of
3563 resolve_symbol_ccl_program correctly.
52283633 3564 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3565
bccee4f2
GM
35662001-01-15 Gerd Moellmann <gerd@gnu.org>
3567
e4ded23c
GM
3568 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3569 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3570
3571 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3572 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3573 the display; we didn't open it.
3574
bccee4f2
GM
3575 * dispnew.c (save_or_restore_current_matrices): Function removed.
3576 (save_current_matrix, restore_current_matrix): New functions.
3577 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3578 restore the frame's current matrix. Due to the glyph pointer
3579 setup done in adjust_glyph_matrix, there is no easy way to make
3580 saving the current matrix in the desired matrix generally correct,
3581 so don't try it.
3582
ebeccffa
KH
35832001-01-15 Kenichi Handa <handa@etl.go.jp>
3584
3585 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3586 truncation glyphs.
3587 (display_line): Optimize for wide characters.
e4ded23c 3588 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3589 partially. On ttys, produce more than one truncation glyph for
3590 multi-column characters that don't fit on the line.
3591
64388126
KH
35922001-01-13 Kenichi Handa <handa@etl.go.jp>
3593
52283633
SM
3594 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3595 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3596
8edb0a6f
JR
35972001-01-13 Jason Rumney <jasonr@gnu.org>
3598
3599 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3600 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3601 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3602 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3603
52283633
SM
3604 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3605 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3606 (x_draw_image_glyph_string): Adapt to change of image margins.
3607
3608 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3609 variables.
3610
3611 * w32bdf.c (search_file_line, get_cached_font_char)
3612 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3613
3614 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3615
3616 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3617 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3618 (Fw32_send_sys_command): Remove unused variables.
3619 (w32_msg_pump): Add parentheses.
3620
3621 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3622 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3623 Add parentheses.
3624
4956d1ef
GM
36252001-01-12 Gerd Moellmann <gerd@gnu.org>
3626
b30623be
GM
3627 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3628 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3629 being a pair of margins.
3630 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3631 to DEFVAR_LISP. Extend doc.
3632
3633 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3634 margins.
3635 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3636 pair of integers `(X . Y)', use X for the horizontal and Y for the
3637 vertical margin.
3638 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3639 (parse_image_spec): Check it.
52283633
SM
3640 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3641 (tiff_format, gif_format, gs_format):
3642 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3643
52283633
SM
3644 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3645 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3646 (x_draw_image_glyph_string): Adapt to the change of image margins.
3647
3648 * dispextern.h (struct image): Replace member `margin' with
3649 `hmargin' and `vmargin'.
3650
4554cc79
GM
3651 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3652 and GLYPHS.
3653
3654 * dispnew.c (update_text_area): Put code which decrements the
3655 stop position when the row's face extends to the end of the
3bffc665 3656 line in #if 0.
4554cc79 3657
3cccce8d
GM
3658 * xfns.c (x_set_mouse_color): Fix color allocation.
3659
4956d1ef
GM
3660 * keyboard.c: Call get_local_map with new argument list.
3661
3662 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3663
3664 * intervals.h (enum map_property): Removed.
3665 (get_local_map): Change prototype.
3666
3667 * keymap.c: Call get_local_map with new argument list.
3668 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3669
2c2ff7f2
GM
36702001-01-11 Gerd Moellmann <gerd@gnu.org>
3671
a23887b9
GM
3672 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3673 of the size needed for the tool bar string. For the last image,
3674 use a `display' property that reaches to the end of the string.
3675
a7ee2d2e
GM
3676 * xselect.c (selection_request_dpyinfo): New variable.
3677 (x_handle_selection_request): Set it.
3678 (x_selection_request_lisp_error): Don't call
3679 x_decline_selection_request if selection request's display has
3680 been closed.
3681
52283633
SM
3682 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3683 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3684
457b792c
GM
36852001-01-10 Dave Love <fx@gnu.org>
3686
3687 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3688 ${SOME_MACHINE_LISP}, not ${lisp}.
3689
c1efd260
GM
36902001-01-10 Gerd Moellmann <gerd@gnu.org>
3691
52283633
SM
3692 * xdisp.c (display_line): On ttys, produce more than one truncation
3693 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3694
ac95a621
GM
3695 * xselect.c (x_reply_selection_request): Add a comment.
3696
c1efd260
GM
3697 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3698 XkbGetNames instead of XkbGetKeyboard.
3699
1bfb1345
DL
37002001-01-10 Dave Love <fx@gnu.org>
3701
3702 * sysdep.c (random): Revert the declaration.
3703
38119822
GM
37042001-01-09 Gerd Moellmann <gerd@gnu.org>
3705
52283633
SM
3706 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3707 Call function string_bytes.
35f464a7
GM
3708 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3709
3710 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3711 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3712 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3713 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3714 the current sblock.
3715 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3716 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3717 after sweeping strings, and at the end.
3718 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3719
38119822
GM
3720 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3721 ensure that pop_message is called.
3722
3723 * keyboard.c (Fexecute_extended_command): Use a
3724 record_unwind_protect to ensure that pop_message is called.
3725
3726 * lisp.h (push_message_unwind): Add prototype.
3727
3728 * xdisp.c (push_message_unwind): New function.
3729
3730 * fileio.c (do_auto_save_unwind): Do the pop_message here
3731 instead of in Fdo_auto_save.
3732 (Fdo_auto_save): Don't call pop_message.
3733
f47a9ec4
KR
37342001-01-08 Ken Raeburn <raeburn@gnu.org>
3735
3736 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3737 in inner block.
3738
a758f97d
GM
37392001-01-08 Gerd Moellmann <gerd@gnu.org>
3740
6d0afc03
GM
3741 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3742 when increasing window's vscroll.
3743
a758f97d
GM
3744 * macros.c (Qkbd_macro_termination_hook): New variable.
3745 (syms_of_macros): Initialize and staticpro it.
3746 (pop_kbd_macro): Run kbd-macro-termination-hook.
3747
3748 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3749
1bfb1345 37502001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3751
3752 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3753 arglist, for documentation's sake.
3754
0dac6924
AI
37552001-01-06 Andrew Innes <andrewi@gnu.org>
3756
3757 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3758 of *.pdb.
3759
8182406a
AI
37602001-01-05 Andrew Innes <andrewi@gnu.org>
3761
3762 * term.c (update_end): Don't check updating_frame; for some reason
3763 this can be 0 sometimes, such as after dismissing a popup menu,
3764 and isn't necessary given the explicit frame argument.
3765
3828218c
GM
37662001-01-05 Gerd Moellmann <gerd@gnu.org>
3767
3768 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3769 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3770
2f5ded21
GM
37712001-01-04 Gerd Moellmann <gerd@gnu.org>
3772
52283633 3773 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3774
3775 * xfns.c (x_create_tip_frame): Preserve the value of
3776 face_change_count around the creation of the tip frame.
52283633 3777
2f5ded21
GM
3778 * xfns.c (last_show_tip_args): New variable.
3779 (compute_tip_xy): New function.
3780 (Fx_show_tip): Reuse an existing tip frame, if possible.
3781 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3782
dfad65fa
DL
37832001-01-04 Dave Love <fx@gnu.org>
3784
64d4ec0f
DL
3785 * editfns.c (Fformat): Doc fix.
3786
dfad65fa
DL
3787 * systime.h (set_file_times): Prototype.
3788
3789 * widget.h (EmacsFrameSetCharSize_): Prototype.
3790
3791 * sysdep.c (random, srandom): Declare explicitly.
3792
3793 * dispextern.h (move_it_vertically_backward): Declare.
3794
85fe3b5e
GM
37952001-01-04 Gerd Moellmann <gerd@gnu.org>
3796
0f2ac578
GM
3797 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3798 like in Fx_create_frame.
3799
482cca61
GM
3800 * xfaces.c (set_font_frame_param): Don't do anything for
3801 non-graphical frames.
3802
85fe3b5e
GM
3803 * window.c (Fdelete_other_windows): Set window's window_end_valid
3804 to nil when changing the window's start. Don't change the
3805 window's start when its top position hasn't changed. If we do,
3806 this will set the window's optional_new_start, which act's like a
3807 force_start during redisplay with C-x 1 M-> under particular
3808 circumstances (see report from Per Starback to emacs-pretest-bug
3809 from 2000-12-13.).
3810
3e99d3b4
GM
38112001-01-03 Gerd Moellmann <gerd@gnu.org>
3812
a77dc1ec
GM
3813 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3814 short cut at the start of the function. Add an assertion.
3815 (reseat_at_next_visible_line_start): Add an assertion.
3816
2f3cad6c
GM
3817 * window.c (Frecenter): When changing the window start, set the
3818 window's window_end_valid to nil.
3819 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3820
3821 * dispextern.h (move_it_past_eol): Add prototype.
3822
3823 * xdisp.c (move_it_past_eol): New function.
3824
3e99d3b4
GM
3825 * window.c (Fwindow_end): Doc fix.
3826
38272001-01-03 Dave Love <fx@gnu.org>
3828
52283633 3829 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3830
bafb434c
GM
38312001-01-03 Gerd Moellmann <gerd@gnu.org>
3832
3833 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3834 the enabled_p flag of the glyph row at window_end_vpos to 0.
3835 (handle_single_display_prop): Fix last change.
3836
5297fb00
RS
38372001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3838
3839 * window.c (Frecenter): Doc fix.
3840
13d6a61c
AI
38412001-01-02 Andrew Innes <andrewi@gnu.org>
3842
3843 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3844
3845 * frame.h (output_method): Add output_w32_console method.
3846 (FRAME_W32_CONSOLE_P): New macro.
3847
3848 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3849 use output_w32_console method.
3850 (Qw32_console): New Lisp_Object.
3851 (Fframep): Return it.
3852 (syms_of_frame): Init it.
52283633 3853 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3854
3855 * xfaces.c (realize_default_face): Set face foreground and
3856 background to unspecified for w32_console frames.
3857 (realize_face): Realize face cache for w32_console frames.
3858 (realize_tty_face): Accept w32_console frames.
3859
52283633 3860 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3861 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3862 necessary, even if running interactively.
3863
3864 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3865 w32_console frames.
3866
52283633
SM
3867 * w32term.c (x_update_begin):
3868 (x_update_end):
3869 (x_clear_frame):
3870 (x_ins_del_lines):
3871 (x_change_line_highlight):
3872 (x_delete_glyphs):
3873 (w32_ring_bell):
3874 (x_update_begin):
3875 (x_update_end):
3876 (w32_reassert_line_highlight):
3877 (w32_frame_rehighlight):
13d6a61c
AI
3878 (w32_frame_raise_lower): Do nothing if not w32 frame.
3879
3880 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3881
3882 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3883 system doesn't tell us directly.
3884 (Fx_display_visual_class): Implement properly.
3885
d6bb0c0d
GM
38862001-01-02 Gerd Moellmann <gerd@gnu.org>
3887
3888 * window.c (Frecenter): Handle centering in graphical frames
3889 specially. Centering on the basis of line counts doesn't work
3890 reliably with variable-height lines.
52283633 3891
315f5865
EZ
38922001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3893
3894 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3895 and al[].
3896
52283633 3897 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3898 (update_compositions): Remove unused variable `hook'.
3899
3900 * intervals.c (get_local_map): Remove unused variable `tem'.
3901
3902 * doprnt.c (doprnt1): Remove unused variable `size'.
3903
3904 * fns.c (Flength): Remove unused variable `tail'.
3905 (Fdelete): Remove unused variable `size'.
3906
3907 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3908 and `gcpro2'.
3909
52283633 3910 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3911
3912 * data.c (find_symbol_value): Remove extra 3rd argument in the
3913 call to swap_in_symval_forwarding.
3914
52283633 3915 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3916
3917 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3918 (trivial_regexp_p): Remove unused variable `c'.
3919 (boyer_moore): Remove unused variable `k'.
3920
3921 * indent.c (current_column): Remove unused variable `stopchar'.
3922 (Fcompute_motion): Remove unused variable `contin'.
3923
3924 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3925
3926 * dired.c (directory_files_internal): Fix a typo in a comment.
3927 Remove an unused variable `handler'.
52283633 3928 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3929 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3930 on BSD4_2.
3931
52283633 3932 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3933
3934 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3935 and `buf'.
3936 (Fmarker_insertion_type): Remove unused variable `buf'.
3937
3938 * insdel.c (make_gap): Remove unused variable `result'.
3939
52283633 3940 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3941 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3942 (menu_bar_items): Remove unused function-scope variable `tem'.
3943
3944 * fontset.c (fontset_ref): Remove unused variable `i'.
3945 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3946 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3947 (make_fontset_for_ascii_face): Remove unused variable `name'.
3948 (fs_load_font): Remove unused variable `font_idx'.
52283633 3949 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3950 (list_fontsets): Remove unused variable `tail'.
3951 (Fnew_fontset): Remove unused variables `family' and `registry'.
3952 (accumulate_font_info): Remove unused variable `tmp'.
3953 (Ffontset_font): Remove unused variable `id'.
3954 (syms_of_fontset): Remove unused variable `i'.
3955
3956 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3957 to x_term_init.
3958 (lookup_image): Remove unused variable `file'.
3959 (xbm_load): Remove unused variables `bitmap_data', `height', and
3960 `width'. Remove function-local variable `i', leave the
3961 block-local one.
3962 (gif_load): Remove unused variable `inc'.
3963
52283633 3964 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3965 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3966 leave only the one in the inner block.
3967
3968 * xfaces.c (face_fontset, realize_default_face): Remove unused
3969 variable `fontset'.
3970 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3971
3972 * term.c (encode_terminal_code): Remove unused variable `c'.
3973
3974 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3975 char *' instead of `char *'.
3976
3977 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3978 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3979 (Fchar_category_set): Remove unused variables `val', `charset',
3980 `c1' and `c2'.
3981
52283633
SM
3982 * coding.c (detect_coding_iso2022, setup_coding_system):
3983 Remove unused variable `i'.
315f5865
EZ
3984 (detect_coding_mask): Remove unused variable `idx'.
3985 (detect_coding): Remove unused variable `i'.
3986 (ccl_coding_driver): Remove unused variable `result'.
3987 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3988 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3989 (encode_coding_string): Remove unused variables `gcpro1' and
3990 `saved_coding_symbol'.
3991 (Ffind_coding_systems_region_internal): Remove function-local
3992 variable args[], leave only the block-local one.
3993 (code_convert_region1): Remove unused variable `len'.
3994
3995 * charset.c (char_printable_p): Remove unused variable `chars'.
3996 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3997 (str_to_multibyte): Remove unused variable `c'.
3998
3999 * window.c (size_window): Remove block-local variable `min_size'.
4000
4001 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
4002 `header_line_height'.
4003 (append_space, extend_face_to_end_of_line): Declare `saved_what'
4004 enum display_element_type.
4005
1a8a9daf
GM
40062001-01-02 Gerd Moellmann <gerd@gnu.org>
4007
6dde6abc 4008 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
4009 statements that call X. Save away the error message in a local copy.
4010
1883b2c6
GM
4011 * xterm.c (x_connection_closed): Set handling_signal to 0 at
4012 the start.
4013
a13be207
GM
4014 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
4015 in or at the start of invisible text.
4016
1a8a9daf
GM
4017 * dispnew.c (update_window): Don't check_current_matrix_flags.
4018
3608c0f9
JR
40192001-01-01 Jason Rumney <jasonr@gnu.org>
4020
4021 * w32fns.c (x_figure_window_size): Do not allow new_height and
4022 new_width of frame to override specified values.
4023
abb1acc4
KH
40242000-12-30 Kenichi Handa <handa@etl.go.jp>
4025
52283633 4026 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 4027
762a68ec
GM
40282000-12-29 Gerd Moellmann <gerd@gnu.org>
4029
52283633 4030 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
4031 (update_window) [GLYPH_DEBUG]: Call it.
4032 (scrolling_window): Prevent including current rows which are below
4033 what's displayed in the window.
4034
4035 * xdisp.c (try_window_reusing_current_matrix)
4036 <new start <= old start>: Disable rows in the current matrix
4037 which are below the window after scrolling.
52283633 4038
762a68ec
GM
4039 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
4040 is zero. It's not worth the complexity.
4041 (invisible_text_between_p): Put in #if 0 because unused.
4042
2d5912c1
GM
40432000-12-28 Gerd Moellmann <gerd@gnu.org>
4044
46f6a258
GM
4045 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
4046 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
4047
89f93679
GM
4048 * keyboard.c (echo_char): If C is an integer, always call
4049 push_key_description. Former code could signal an invalid
4050 character error.
4051
4052 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
4053 If set, print multibyte text.
4054 (Fsingle_key_description): Call push_key_description with
4055 FORCE_MULTIBYTE set.
4056 (describe_buffer_bindings): Likewise.
4057
4058 * lisp.h (push_key_description): Add prototype.
4059
c06017fb
GM
4060 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
4061 around the call to redisplay_internal.
4062
f1d2ce7f
GM
4063 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4064
2d5912c1
GM
4065 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
4066
9371f831
KH
40672000-12-28 Kenichi Handa <handa@etl.go.jp>
4068
4069 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
4070 (ccl_driver): New local variable `extra_bytes'.
4071
4072 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
4073
52283633
SM
4074 * coding.c (setup_coding_system):
4075 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
4076 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
4077
0c80628a
KH
40782000-12-28 Kenichi Handa <handa@etl.go.jp>
4079
4080 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
4081 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
4082 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
4083 (decode_composition_emacs_mule): New function.
4084 (decode_coding_emacs_mule): Decode composition sequence by calling
4085 decode_composition_emacs_mule.
4086 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
4087 (encode_coding_emacs_mule): Changed from macro to function.
4088 If a text contains compositions, encode them correctly.
0c80628a
KH
4089 (setup_coding_system): Set coding->commong_flags for emacs-mule so
4090 that decoding and encoding are required.
4091
3e32cc27
GM
40922000-12-27 Gerd Moellmann <gerd@gnu.org>
4093
5e25feee
GM
4094 * xfaces.c (PT_PER_INCH): New macro.
4095 (xlfd_point_size): Compute real point size from font's pixel size.
4096 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
4097 instead of 72.
4098
892d8fcd
GM
4099 * .gdbinit: Comment out the line pointing to the Lesstif source
4100 directory.
4101
12c8b416
GM
4102 * window.c (Frecenter): Use displayed_window_lines instead
4103 of window_internal_height.
4104
6061fbf0
GM
4105 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4106 instead of x-toolkit-scroll-bars-p.
4107 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
4108
4109 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
4110 instead of x-toolkit-scroll-bars-p.
4111 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 4112
3e32cc27
GM
4113 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
4114 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
4115 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
4116 New variables.
4117 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
4118 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
4119 (build_frame_matrix_from_leaf_window): Remove unused code.
4120 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
4121 redisplay history.
4122 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
4123 (update_window) [GLYPH_DEBUG]: Likewise.
4124 (syms_of_display): Defsubr dump-redisplay-history.
4125
31798cfe
GM
41262000-12-23 Gerd Moellmann <gerd@gnu.org>
4127
f717c2ba
GM
4128 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
4129 the end of the prompt. Set echo_after_prompt to the offset
4130 of echoptr in echobuf.
4131
aeb2b8fc
GM
4132 * xdisp.c (init_from_display_pos): Pop until the iterator's
4133 stack is empty; there may be frames for stretch or images
4134 on the stack.
4135
31798cfe
GM
4136 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
4137 (save_or_restore_current_matrix): New function for the same
4138 purpose, but more efficient.
4139 (adjust_frame_glyphs_for_frame_redisplay): Use it.
4140
f8156156
EZ
41412000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
4142
4143 * xdisp.c (syms_of_xdisp): Fix last change.
4144
bdd6d4e8
GM
41452000-12-23 Gerd Moellmann <gerd@gnu.org>
4146
4147 * xdisp.c (syms_of_xdisp): Doc fix.
4148
4149 * xdisp.c (redisplay_window): Remove label restore_buffers;
4150 use finish_scroll_bars instead to make sure that scroll bars
4151 are redeemed. If we don't do this, flickering can result from
4152 scroll bars being destroyed and recreated.
4153
9436cdf9
JR
41542000-12-22 Jason Rumney <jasonr@gnu.org>
4155
4156 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
4157 in the wrong colors when the foreground is not black.
4158 (expose_window): Don't redraw the window that's currently being
4159 updated.
4160
951f9df5
GM
41612000-12-22 Gerd Moellmann <gerd@gnu.org>
4162
856ff7a7
GM
4163 * window.c (size_window): When setting the window's too_small_ok
4164 flag, compare old size with minimum size depending on WIDTH_P,
4165 don't compare with window_min_width.
52283633 4166
951f9df5
GM
4167 * window.c (delete_window): Simplify somewhat.
4168 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
4169 freeing window matrices. The flag windows_or_buffers_changed is
4170 set, so the next redisplay will consider all windows; this should
4171 suffice.
4172
886bc933
KH
41732000-12-22 Kenichi Handa <handa@etl.go.jp>
4174
4175 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
4176
4177 * ccl.h (struct ccl_program): New member cr_consumed.
4178
4179 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
4180 (CCL_READ_CHAR): Handle EOL conversion here.
4181 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
4182
177f4e88
GM
41832000-12-21 Gerd Moellmann <gerd@gnu.org>
4184
52283633 4185 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
4186
4187 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
4188 otherwise tabs of different size compare equal.
4189
4190 * callint.c (Fcall_interactively): Prevent a compiler warning.
4191
4192 * print.c (print_unwind): Return nil.
4193 (PRINTDECLARE): Initialize all local variables.
4194 (print_preprocess): Add a default case.
4195
8e15274f
GM
4196 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
4197
4198 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
4199
52283633 4200 * window.c (delete_window, Fsplit_window)
177f4e88
GM
4201 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
4202
4203 * dispextern.h (ensure_frame_matrix): Function declaration removed.
4204
4205 * dispnew.c (ensure_frame_matrix): Removed.
4206 (save_frame_matrix, restore_frame_matrix): New functions.
4207 (adjust_frame_glyphs_for_frame_redisplay): Use them.
4208
4209 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
4210 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
4211
99012074
AI
42122000-12-21 Andrew Innes <andrewi@gnu.org>
4213
4214 * w32term.c (x_update_begin): Regenerate the palette here, rather
4215 than for each window.
4216
4217 * w32xfns.c (select_palette): Avoid calling SelectPalette if
4218 palette is NULL, since this corrupts memory! Also get
4219 display_info reference from frame.
4220
29ef7d2d
JR
42212000-12-21 Jason Rumney <jasonr@gnu.org>
4222
4223 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
4224
4225 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
4226 to avoid returning without releasing it.
3e27fa1f 4227
3f9d67a6
KH
42282000-12-21 Kenichi Handa <handa@etl.go.jp>
4229
587fc3f9
KH
4230 * keymap.c (push_key_description): Don't convert eight-bit-control
4231 and eight-bit-graphic to multibyte character.
4232
3f9d67a6
KH
4233 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
4234 generic character and CODE1 is nil, return the smallest character
4235 in CHARSET.
4236
774ba8c9
DL
42372000-12-20 Dave Love <fx@gnu.org>
4238
4239 * s/osf5-0.h (NSIG): Don't redefine.
4240
88416888
SM
42412000-12-20 Stefan Monnier <monnier@cs.yale.edu>
4242
4243 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
4244 excluding menu-bar and tool-bar.
4245 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
4246 (menu_item_p): Remove.
4247 (where_is_internal_1): Don't ignore menu-items.
4248
a6426c6f
GM
42492000-12-20 Gerd Moellmann <gerd@gnu.org>
4250
03ff8aab
GM
4251 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
4252 into account.
4253
4254 * window.c (make_window): Initialize window's min_hscroll.
4255 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
4256 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
4257 to zero.
4258 (struct saved_window): New member min_hscroll.
4259 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
4260 (Fset_window_configuration): Set window's min_hscroll.
4261 (save_window_save): Save window's min_hscroll.
4262 (compare_window_configurations): Compare min_hscroll values.
4263
4264 * window.h (struct window): New member min_hscroll.
4265
4266 * keyboard.c (echo_prompt): Prevent a compiler warning.
4267
8de4aaf8
GM
4268 * xdisp.c (try_cursor_movement): Fix last change. The real
4269 condition is that PT is at the end of the row, and should
4270 be displayed at the start of the next row.
52283633 4271
3f7e3031
GM
4272 * xdisp.c (try_cursor_movement): If we end on a partially
4273 visible line, end we already decided to scroll, return -1.
4274
a6426c6f
GM
4275 * dispextern.h (ensure_frame_matrix): Add prototype.
4276
4277 * window.c (delete_window, Fsplit_window)
4278 (Fset_window_configuration): Call ensure_frame_matrix.
4279
52283633
SM
4280 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
4281 New functions.
a6426c6f
GM
4282 (adjust_frame_glyphs_for_frame_redisplay): If display has been
4283 completed, call fake_current_matrices instead of marking frame
4284 garbaged.
4285
57fa2774
JR
42862000-12-20 Jason Rumney <jasonr@gnu.org>
4287
4288 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
4289
d925df90
EZ
42902000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
4291
4292 * fns.c (Frequire): Doc fix.
4293
7b93a85b
GM
42942000-12-19 Gerd Moellmann <gerd@gnu.org>
4295
52283633 4296 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 4297
c74e645b
GM
4298 * dispnew.c (direct_output_for_insert): Fix check for mini-window
4299 currently displaying a message.
4300
7b93a85b
GM
4301 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
4302 xterm.h.
4303 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
4304
90d97e64
AI
43052000-12-18 Andrew Innes <andrewi@gnu.org>
4306
4307 * w32.c (w32_strerror): New function.
4308
4309 * w32.h (w32_strerror): New extern.
4310
4311 * w32fns.c (Fw32_shell_execute): Use it.
4312
91c9e6ce
GM
43132000-12-18 Gerd Moellmann <gerd@gnu.org>
4314
4315 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
4316
6f4745e2
EZ
43172000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4318
4319 * msdos.c (IT_set_face): Obey inverse_video.
4320
c9e088ce
KH
43212000-12-18 Kenichi Handa <handa@etl.go.jp>
4322
4323 * dired.c (directory_files_internal): Always return decoded filenames.
4324
c3695f5f
GM
43252000-12-18 Gerd Moellmann <gerd@gnu.org>
4326
52d8e4ff
GM
4327 * xterm.c (x_connection_closed): Prevent being called recursively
4328 because of an error condition in XtCloseDisplay.
52283633 4329
62be9979
GM
4330 * xdisp.c (init_iterator): If noninteractive, and the frame's
4331 face cache is null, make one.
4332
52283633 4333 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 4334
c3695f5f
GM
4335 * process.c (wait_reading_process_input): Check for pending
4336 input when running timers.
4337
78555fbe
EZ
43382000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
4339
52283633 4340 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 4341
b2b36264
KH
43422000-12-18 Kenichi Handa <handa@etl.go.jp>
4343
4344 * process.c (read_process_output): Don't run a filter if the code
4345 decoder produces nothing but carryover.
4346
9c543fbf
AI
43472000-12-17 Andrew Innes <andrewi@gnu.org>
4348
4349 * w32.c (sys_rename): Only check errno against EEXIST, and not
4350 EACCES, when determining whether rename failed because the target
4351 exists. This was resulting in indefinite looping on Windows 9x if
4352 the source file was locked by another process.
4353
4354 * w32fns.c (Ffile_system_info): New function.
4355 (syms_of_w32fns): Defsubr it.
4356
10c2b5a8
GM
43572000-12-17 Gerd Moellmann <gerd@gnu.org>
4358
b0228ace
GM
4359 * window.c (coordinates_in_window): Fix computation for
4360 position on vertical line between mode lines.
4361
10c2b5a8
GM
4362 * xfns.c (unwind_create_frame): Return t if frame was deleted.
4363 Don't alter tip_frame or tip_window.
4364 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4365 was deleted.
4366
c844a81a
GM
4367 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
4368 Don't alter tip_frame or tip_window.
4369 (unwind_create_tip_frame): Set tip_frame to nil only if frame
4370 was deleted.
4371
6c825f8e
EZ
43722000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
4373
4374 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
4375 be consistent with the doc string. Reported by NAKAJIMA Mikio
4376 <minakaji@osaka.email.ne.jp>.
4377
af4bb4c8
KH
43782000-12-16 Kenichi Handa <handa@etl.go.jp>
4379
4380 * xfaces.c (Vface_ignored_fonts): New variable.
4381 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
4382 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
4383
8062e53a
GM
43842000-12-15 Gerd Moellmann <gerd@gnu.org>
4385
e87b8809
GM
4386 * dispnew.c (update_window): Detect pending input every nth line
4387 updated, i.e. do it depending on real work done, and not on the
4388 vpos of the line.
4389
4390 * xterm.c (expose_window): Don't redraw the window that's
4391 currently being updated.
4392
a6768cc5
GM
4393 * window.c (Fset_window_point): Remove test for
4394 cursor_in_non_selected_windows.
4395
4ea7fdca
GM
4396 * lread.c (read1): Recognize end of file after `\\'.
4397
8062e53a
GM
4398 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
4399 not unwind_create_frame.
4400
bb7959c1
GM
44012000-12-15 Dave Love <fx@gnu.org>
4402
4403 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
4404 bcopy & al.
4405
4406 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
4407
ced04c42
KH
44082000-12-15 Kenichi Handa <handa@etl.go.jp>
4409
c5443913
KH
4410 * coding.c (setup_coding_system): Clear all members of the struct
4411 coding_system at first.
bc137305
KH
4412 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
4413 argument.
4414 (code_convert_region): Don't override coding->src_multibyte and
4415 coding->dst_multibyte.
c5443913 4416
ced04c42
KH
4417 * fns.c (Fmd5): Docstring improved.
4418
c2d7f289
MB
44192000-12-15 Miles Bader <miles@gnu.org>
4420
4421 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
4422 are actually marked as mode-lines; otherwise use
4423 estimate_mode_line_height.
4424
9d7d9263
GM
44252000-12-14 Gerd Moellmann <gerd@gnu.org>
4426
4427 * editfns.c (Fformat): Prevent a buffer overrun when the format
4428 specifies a precision.
4429
7cf0153a
EZ
44302000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
4431
4432 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
4433 argument is outside the range [2..3].
4434
1de0f662
AI
44352000-12-14 Andrew Innes <andrewi@gnu.org>
4436
4437 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
4438 nothing to do. Bind inhibit-quit.
4439 (tip_frame): Make it a Lisp_Object.
4440 (x_create_tip_frame): Set tip_frame after it has been added to
4441 Vframe_list.
4442 (Fx_show_tip): Don't set tip_frame here.
52283633 4443 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4444 (unwind_create_frame, unwind_create_tip_frame): New functions.
4445 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4446 while a frame is only partially constructed.
4447
4448 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4449 (x_free_frame_resources): New function.
4450 (x_destroy_window): Use it.
4451
02387dcc
GM
44522000-12-14 Gerd Moellmann <gerd@gnu.org>
4453
4454 * xfns.c (Fx_backspace_delete_keys_p): New function.
4455 (syms_of_xfns): Defsubr it.
4456
4457 * config.in (HAVE_XKBGETKEYBOARD): Add.
4458
0544ef49
KH
44592000-12-14 Kenichi Handa <handa@etl.go.jp>
4460
98d62747
KH
4461 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4462 Always store string in multibyte representation in echobuf.
4463 (echo_char): Always store string in multibyte representation in
4464 echobuf.
4465 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4466 (read_key_sequence): Adjusted for the change of echo_prompt.
4467
a20193cd
KH
4468 * fns.c (Fmd5): Docstring improved.
4469
191b83b6
KH
4470 * lisp.h (detect_coding_system): Prototype adjusted.
4471
0544ef49
KH
4472 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4473 (detect_coding_emacs_mule, detect_coding_iso2022,)
4474 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4475 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4476 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4477 (detect_coding_mask, detect_coding_system): New argument
4478 MULTIBYTEP. Callers changed.
1da1bb05
KH
4479 (decode_coding_string): Set coding->src_multibyte and
4480 coding->dst_multibyte before calling detect_coding and detect_eol.
4481 Update them after some coding system is detected.
52283633 4482
d5b3eb1b
SM
44832000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4484
4485 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4486
4487 * keyboard.c (menu_bar_items, tool_bar_items):
4488 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4489
f7f8bb69
GM
44902000-12-13 Gerd Moellmann <gerd@gnu.org>
4491
52283633 4492 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4493 New variables.
4494 (unwind_create_frame, unwind_create_tip_frame): New functions.
4495 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4496 while a frame is only partially constructed.
4497
4498 * xterm.h (x_free_frame_resources): Declare.
4499
4500 * xterm.c (x_free_frame_resources): New function.
4501 (x_destroy_window): Use it.
4502
e10da507
GM
4503 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4504 don't interrupt the update for pending input initially, i.e.
4505 update at least some lines.
4506
4507 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4508
d5b3eb1b 4509 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4510
4511 * xfns.c (gray_bitmap_bits): Declare `char *'.
4512
90aa2856
GM
45132000-12-12 Gerd Moellmann <gerd@gnu.org>
4514
4515 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4516 lines start with a relief line.
4517
a308c9cd
DL
45182000-12-12 Dave Love <fx@gnu.org>
4519
4520 * window.c (Fdisplay_buffer): Doc fix.
4521 (Fwindow_list): Remove unused var.
4522
4523 * buffer.h (mmap_set_vars): Declare.
4524
4525 * window.h (Fset_window_point): Declare.
4526
d575011f
EZ
45272000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4528
bf6282d2 4529 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4530 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4531 variable `area'. When looking for a row under (X,Y), give up if some
4532 of the previous rows is not enabled.
d575011f 4533
ecf4d726
GM
45342000-12-12 Gerd Moellmann <gerd@gnu.org>
4535
2ebf6139
GM
4536 * window.c (Fset_window_point): If displaying cursors in windows
4537 other than the selected window, make sure redisplay updates
4538 other windows to show the new value of point in the window.
4539
4540 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4541
bfdb75ee
GM
4542 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4543 the buffer is the sole visible buffer when in the mini-buffer.
4544
52283633 4545 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4546 Bind `inhibit-read-only' to t.
4547 (unwind_with_echo_area_buffer): Use AREF.
4548
c0006262
GM
4549 * xfns.c (Fx_hide_tip): Simplified.
4550
52283633
SM
4551 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4552 instead of `1'.
e9a59cad 4553
ecf4d726
GM
4554 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4555
e5959a9a
GM
45562000-12-11 Gerd Moellmann <gerd@gnu.org>
4557
a3642e49 4558 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4559
44b5a125
GM
4560 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4561 nothing to do. Bind inhibit-quit.
4562 (tip_frame): Make it a Lisp_Object.
4563 (x_create_tip_frame): Set tip_frame after it has been added to
4564 Vframe_list.
4565 (Fx_show_tip): Don't set tip_frame here.
4566
4567 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4568
4569 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4570 Lisp_Object.
4571
4572 * dispextern.h: Change external declaration of tip_frame.
4573
d990421f
GM
4574 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4575 return an empty string.
4576
4db87380
GM
4577 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4578 of the window's update_mode_line flag, since the former is set by
4579 force-mode-line-update, not the latter. This makes
4580 column-number-mode slightly faster.
52283633 4581
e5959a9a
GM
4582 * xdisp.c (try_window_id) <all changes above window start>:
4583 Set the cursor.
4584
169fe44e
GM
45852000-12-11 Paul Eggert <eggert@twinsun.com>
4586
4587 * config.in (HAVE_FTELLO): Remove.
4588 (HAVE_FSEEKO): Add.
4589 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4590 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4591 HAVE_FTELLO.
4592 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4593 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4594
59ec59ae
MB
45952000-12-11 Miles Bader <miles@gnu.org>
4596
4597 * window.c (displayed_window_lines): Don't round up when
4598 converting empty space at bottom to lines.
ff904dd6
MB
4599 Handle non-newline-terminated final lines properly.
4600 (Fwindow_text_height): New function (used to be in lisp).
4601 (syms_of_window): Initialize it.
59ec59ae 4602
42ebfa31
SM
46032000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4604
4605 * syntax.c (scan_lists): Check that the right quote char has the
4606 right Sstring syntax when jumping over strings.
4607 (init_syntax_once): Use Smax rather than 13.
4608
5cdb3cf3
MB
46092000-12-09 Miles Bader <miles@gnu.org>
4610
4611 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4612 with PARTIALLY, inverting the sense.
4613 (window_scroll_pixel_based): Scroll partially visible lines into
4614 place if we hit the beginning or end of the buffer.
a12167c5
MB
4615 (displayed_window_lines): Don't include partially visible lines.
4616 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4617
842b2a94
GM
46182000-12-08 Gerd Moellmann <gerd@gnu.org>
4619
4620 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4621
4622 * tparam.c (tparam1): Change the way buffers are reallocated to be
4623 portable and less obfuscated.
4624
4625 * termcap.c (tgetent): Change the way buffers are reallocated to
4626 be portable and less obfuscated.
4627
4628 * macros.c (store_kbd_macro_char): Change the way buffers are
4629 reallocated to be portable and less obfuscated.
4630
4631 * lread.c (read1): Change the way buffers are reallocated to be
4632 portable and less obfuscated.
4633
4634 * doc.c (Fsubstitute_command_keys): Change the way buffers
4635 are reallocated so that it is portable.
4636
137cad7c
EZ
46372000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4638
4639 * dosfns.c (Ffile_system_info): New function.
4640 (syms_of_dosfns): Defsubr it.
4641
5c7f629c
SM
46422000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4643
4644 * alloc.c (gc_sweep): Add comment.
4645
959e647d
GM
46462000-12-07 Gerd Moellmann <gerd@gnu.org>
4647
52283633
SM
4648 * sound.c (vox_configure): Change order of ioctls.
4649 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4650 Ignore errors when changing volume.
4651 (vox_close): Don't reset the device.
4652
926b7e5e
GM
4653 * process.c (read_process_output): Make sure the process marker's
4654 position is valid when the process buffer is changed in
4655 after-change functions. W3 does that.
52283633 4656
959e647d
GM
4657 * xfns.c (x_free_gcs): New function.
4658
4659 * xterm.h (x_free_gcs): Add prototype.
4660
4661 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4662 freeing GCs here.
4663
4664 * xterm.c (x_destroy_window): Call x_free_gcs so that
4665 resources of non-toolkit X windows will be freed.
4666
478ea067
AI
46672000-12-07 Andrew Innes <andrewi@gnu.org>
4668
4669 * w32fns.c (xlfd_charset_of_font): Fix last change.
4670
fbee3231
DL
46712000-12-06 Dave Love <fx@gnu.org>
4672
67292061
DL
4673 * md5.h (__P): Don't define -- it comes from config.h.
4674
fbee3231
DL
4675 * strftime.c: Change some #if foo to #ifdef foo.
4676
4ee87dbb
AI
46772000-12-06 Andrew Innes <andrewi@gnu.org>
4678
4679 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4680
52283633 4681 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4682 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4683 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4684
9765b4a4
GM
46852000-12-06 Gerd Moellmann <gerd@gnu.org>
4686
d285b373
GM
4687 * alloc.c (gc_sweep): Prevent symbols read during loadup
4688 from being freed.
4689
384333ee
GM
4690 * xdisp.c (underlying_face_id): New function.
4691 (handle_face_prop, face_before_or_after_it_pos): Use it
4692 to determine the face ``under'' a string. Let strings inherit
4693 the face of the buffer under them.
4694
4695 * xfaces.c (face_at_string_position): Update function comment.
52283633 4696
d4b72d58
GM
4697 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4698 matrix if the window's left position has changed; we need to
4699 redraw it in this case.
4700
4701 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4702
e1d05387
GM
4703 * window.c (coordinates_in_window): Check mouse on mode-line or
4704 header-line first.
4705
eb1b0c74
GM
4706 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4707 advertized by the function documentation.
4708
d94d636f
GM
4709 * window.c (syms_of_window): Doc fix.
4710
3887b449
GM
4711 * sound.c (vox_configure): Set volume for left and right channel.
4712 (sound_cleanup): Return nil.
4713
efc8f57a
GM
4714 * xdisp.c (move_it_by_lines): Fix paren typo.
4715
9765b4a4
GM
4716 * xterm.c (x_load_font): Don't use the font's max_bounds for
4717 computing the height of the font. If max_bounds' ascent or
4718 descent are greater than the font's ascent or descent, this means
4719 glyphs overlap, which should be handled now by redisplay.
4720
6529ed87
GM
4721 * window.c (Veven_window_heights): New variable.
4722 (syms_of_window): DEFVAR_LISP it.
4723 (Fdisplay_buffer): Check Veven_window_heights before evening the
4724 window heights.
52283633 4725
0eb2ecde
MB
47262000-12-06 Miles Bader <miles@gnu.org>
4727
4728 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4729 update `default-frame-alist' instead of setting no frame parameters.
4730
03d7a167
KH
47312000-12-06 Kenichi Handa <handa@etl.go.jp>
4732
4733 * composite.c (update_compositions): Fix typo (use the correct
4734 variable).
4735
5f8803c2
JR
47362000-12-05 Jason Rumney <jasonr@gnu.org>
4737
4738 * md5.h: Remove underscores from function declarations.
4739 (__attribute__, __alignof__) [!__GNUC__]: Define.
4740
4741 * md5.c: Delay include of md5.h until after namespace cleaning.
4742
c28a075b
JR
4743 * makefile.w32-in (fns.o): Depend on md5.h
4744 (md5.o): New target.
4745 (sunfns.o): Remove.
4746
4747 * makefile.nt: Likewise.
4748
ff3c7056
JR
47492000-12-05 Jason Rumney <jasonr@altavista.net>
4750
4751 * w32term.c (expose_area): Complete last change.
4752
0c21eeeb
KR
47532000-12-05 Ken Raeburn <raeburn@gnu.org>
4754
4755 * minibuf.c: Include intervals.h.
4756
f201d732
JR
47572000-12-05 Jason Rumney <jasonr@gnu.org>
4758
4759 * w32term.c (x_produce_glyphs): If a font for a component of
4760 a composition is not found, use 1 pixel dot ascent and 0 dot
4761 descent value to avoid displaying terribly tall empty boxes.
4762 (expose_area): Pass x-coordinate relative to the exposed
4763 area to x_draw_glyphs instead of a window-relative coordinate.
4764
21999ab9
GM
47652000-12-05 Gerd Moellmann <gerd@gnu.org>
4766
4d2036e4
GM
4767 * xdisp.c (next_element_from_ellipsis): Save face before selective
4768 display in saved_face_id, and set face_before_selective_p.
4769 (reseat_1): Reset face_before_selective_p.
4770 (append_space, extend_face_to_end_of_line): If iterator's
4771 face_before_selective_p is set, use the face from saved_face_id.
4772 (extend_face_to_end_of_line): For tty frames, make sure to
4773 use the right face id when producing spaces at the end of
4774 the line.
4775
4776 * dispextern.h (struct it): Add face_before_selective_p.
4777
52be17cc
GM
4778 * keyboard.c (record_char): Don't record identical help-echo
4779 events in recent_keys.
4780
8a4f36cc
GM
4781 * xterm.c [USE_X_TOOLKIT]: Close the display.
4782 (xim_close_dpy): Handle case that the display has been closed.
4783
57d6e381
GM
4784 * xterm.c (x_destroy_window): Reset the frame's X window after
4785 destroying it.
4786
21999ab9
GM
4787 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4788 variable window_width.
4789 (line_draw_cost): Fix code skipping over spaces at the end of the
4790 line when must_write_spaces is not set.
4791 (scrolling_window): Fix code inserting runs in list of all runs.
4792
91372bb7
KH
47932000-12-05 Kenichi Handa <handa@etl.go.jp>
4794
4795 * coding.c (setup_coding_system): Be sure to initialize
4796 coding->category_idx.
4797
6c083b4c
GM
47982000-12-04 Gerd Moellmann <gerd@gnu.org>
4799
0c68ce6f 4800 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4801
6452929e
GM
4802 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4803 area to x_draw_glyphs instead of a window-relative coordinate.
4804
d7f31e22
GM
4805 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4806 error in the message.
4807
ae18aa3b
GM
4808 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4809 timer after having read a key. It's not good for code reading
4810 several keys in a loop, like an input method.
4811
caa15ef7
GM
4812 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4813 record undo information for format-decode.
4814
4815 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4816 current buffer is read-only, not if it isn't.
4817
6c083b4c
GM
4818 * keyboard.c (record_char): Record `help-echo' input events
4819 in recent_keys only if they display some help. Don't record
4820 `help-echo' events as macro char.
4821
caa15ef7
GM
48222000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4823
4824 * editfns.c (save_excursion_restore): Don't move point
4825 in another window if it is showing the wrong buffer.
4826 Avoid the call to Fwindow_live_p, for speed.
4827
5a13529b
KH
48282000-12-04 Kenichi Handa <handa@etl.go.jp>
4829
e225faa7
KH
4830 * xfaces.c (struct font_name): New member registry_priority.
4831 (split_font_name): Initialize the above member to zero.
4832 (concat_font_list): New function.
4833 (font_list): Include fonts of all alternative registries.
4834 (FONT_POINT_SIZE_QUANTUM): New macro.
4835 (better_font_p): Ignore point size difference less than
4836 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4837
e89648b4
KH
4838 * xterm.c (x_produce_glyphs): If a font for a component of
4839 a composition is not found, use 1 pixel dot ascent and 0 dot
4840 descent value to avoid displaying terribly tall empty boxes.
4841
5a13529b
KH
4842 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4843
d7935eb6
KR
48442000-12-03 Ken Raeburn <raeburn@gnu.org>
4845
4846 * coding.h (code_convert_string1): Declare.
4847
4848 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4849
52283633 4850 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4851
0dd5e255
JR
48522000-12-02 Jason Rumney <jasonr@gnu.org>
4853
4854 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4855 correctly for single byte character case.
4856 (w32_per_char_metric): Do not try to make any assumptions about
4857 the metrics of BDF fonts.
250cfece 4858 (x_estimate_mode_line_height): If `mode-line' face
52283633 4859 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4860 (note_mouse_highlight): Change the cursor shape on the vertical
4861 border between windows [not enabled].
4862
4863 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4864
4865 * w32fns.c (Fx_create_frame): Reintroduce the call to
4866 face-set-after-frame-defaults.
4867 (Vx_window_horizontal_drag_shape): New variable.
4868 (syms_of_xfns): DEFVAR_LISP it.
4869 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4870 enabled].
0dd5e255 4871
b5d8d2ca
GM
48722000-12-02 Simon Josefsson <simon@josefsson.org>
4873
4874 * fns.c (Fmd5): Use a different logic to decide the coding system
4875 to use.
4876
4877 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4878
fbb87147
EZ
48792000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4880
52283633 4881 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4882
447e9da0
GM
48832000-12-01 Gerd Moellmann <gerd@gnu.org>
4884
7708ced0
GM
4885 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4886 height for YNegative.
4887 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4888 height; also see comment there.
4889
447e9da0
GM
4890 * window.c (coordinates_in_window): Handle computations for
4891 positions on the vertical bar and fringes differently for
4892 window-system frames. Consider some pixels near the vertical bar
4893 as on the bar if the frame doesn't have vertical scroll bars.
4894 Associate positions between mode or header lines with the
4895 right window, the left one.
4896
86d1db20
JR
48972000-12-01 Jason Rumney <jasonr@gnu.org>
4898
4899 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4900
4901 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4902 invalid frame.
4903
a1d58e5b
GM
49042000-12-01 Gerd Moellmann <gerd@gnu.org>
4905
52283633 4906 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4907 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4908 (save_window_save, Fset_window_configuration): Save/restore
4909 window's orig_top and orig_height.
4910
89c609af
JR
49112000-12-01 Jason Rumney <jasonr@gnu.org>
4912
4d177746 4913 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4914
89c609af
JR
4915 * w32fns.c (x_set_cursor_color): Fix last change.
4916
eccc05db
GM
49172000-11-30 Gerd Moellmann <gerd@gnu.org>
4918
31b6671b
GM
4919 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4920 sure that the next redisplay displays the minibuffer, so that
4921 the cursor will be replaced with what the minibuffer wants.
4922
eccc05db
GM
4923 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4924 #ifndef instead of using #if.
4925 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4926 USE_TOOLKIT_SCROLL_BARS is defined.
4927
162de750
JR
49282000-11-30 Jason Rumney <jasonr@gnu.org>
4929
4930 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4931 x_display_cursor.
4932
693c4692
GM
49332000-11-30 Gerd Moellmann <gerd@gnu.org>
4934
4935 * fns.c (Fmd5): Doc fix.
4936
b5d8d2ca 49372000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4938
4939 * fns.c (Fmd5): New function.
4940 (syms_of_fns): Defsubr md5.
4941
4942 * Makefile.in (obj): Add md5.o
4943
b02cd40b
GM
49442000-11-30 Gerd Moellmann <gerd@gnu.org>
4945
edfb795e
GM
4946 * md5.h, md5.c: New files, taken from glibc.
4947
df3aedcf
GM
4948 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4949
b02cd40b 4950 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4951 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4952
8b5176cd
SM
49532000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4954
4955 * eval.c (Frun_hooks): Allow 0 arguments.
4956
346598f1
GM
49572000-11-29 Gerd Moellmann <gerd@gnu.org>
4958
f9396e03
GM
4959 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4960 is over the menu bar widget, say it's not on the frame.
4961
4a967a9b
GM
4962 * xfns.c (Fx_create_frame): Reintroduce the call to
4963 face-set-after-frame-defaults.
4964
346598f1
GM
4965 * eval.c (Fsignal): Reset handling_signal.
4966
222456a1
JR
49672000-11-28 Jason Rumney <jasonr@gnu.org>
4968
4969 * w32menu.c (add_menu_item): Reset menu item text when changing
4970 type to radio button.
4971
8049ddc0
GM
49722000-11-28 Gerd Moellmann <gerd@gnu.org>
4973
346598f1 4974 * xselect.c: Update copyright.
f4f4ee4d 4975
bebe4a2c
GM
4976 * window.c (coordinates_in_window): If on a mode or header line,
4977 but sufficiently close to its start, return ``on vertical
4978 border''. This gives us a way to drag windows horizontally when
4979 using toolkit scroll bars.
4980
4981 * xterm.c (note_mouse_highlight): Change the cursor shape
4982 on the vertical border between windows.
4983
4984 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4985
4986 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4987 (syms_of_xfns): DEFVAR_LISP it.
4988 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4989
8d2c2642
GM
4990 * textprop.c (text_read_only): New function.
4991 (verify_interval_modification): Use it instead of signaling
4992 `text-read-only'. This makes it easier to catch this error
52283633 4993 with a breakpoint.:
8d2c2642 4994
52283633 4995 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4996 not end of line, which includes CR.
4997
5a2bae6c
KH
49982000-11-28 Kenichi Handa <handa@etl.go.jp>
4999
5000 * coding.c (Ffind_coding_systems_region_internal): Be sure to
5001 include no-conversion.
5002
ae31f84d
JR
50032000-11-27 Jason Rumney <jasonr@gnu.org>
5004
5005 * w32fns.c (w32_load_system_font): Always mark font as double byte
5006 if codepage is unicode.
5007
67f1cf4c
GM
50082000-11-27 Gerd Moellmann <gerd@gnu.org>
5009
4a74d071 5010 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 5011 just consume it to avoid unintended skipping over invisible text below.
4a74d071 5012
902ae620
GM
5013 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
5014 `vertical-line', `mode-line' and `header-line' events.
5015
5016 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
5017 of a character, a TAB for instance. This is easier than to set
5018 up the iterator exactly, and it's not a frequent case, so the
5019 additional effort wouldn't really pay off.
5020
c1e279c2
AC
50212000-11-26 Andrew Choi <akochoi@i-cable.com>
5022
67f1cf4c 5023 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
5024 init_window_once.
5025
a609568a
JR
50262000-11-25 Jason Rumney <jasonr@gnu.org>
5027
52283633
SM
5028 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
5029 Args to window_from_coordinates should be pixel coordinates.
48b21762 5030
a609568a
JR
5031 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
5032 redisplay handles them properly.
5033
a658d039
MB
50342000-11-25 Miles Bader <miles@gnu.org>
5035
5036 * indent.c (compute_motion): Keep pos_byte in sync with pos.
5037
d3416cca
JR
50382000-11-24 Jason Rumney <jasonr@gnu.org>
5039
5040 * w32.c (init_environment): Set LANG environment variable based on
5041 locale settings, if not set.
5042
5043 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
5044 making tool bar smaller. When clearing the frame, also
5045 clear current matrices. Clear frame when tool bar disappears.
5046 Don't use more lines for the tool-bar than is available.
5047 (x_change_window_heights): New function.
5048
ba193890
GM
50492000-11-24 Gerd Moellmann <gerd@gnu.org>
5050
2be8f184
GM
5051 * xdisp.c (init_from_display_pos): If POS says we're already after
5052 an overlay string ending at POS, make sure to pop the iterator
5053 because it will be in front of that overlay string. When POS is
5054 ZV, we've thereby also ``processed'' overlay strings at ZV.
5055
ba193890
GM
5056 * xfaces.c (lface_from_face_name): Function comment fix.
5057
1862a24e
MB
50582000-11-24 Miles Bader <miles@gnu.org>
5059
5060 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
5061 apply `mode-line-inverse-video' -- zero means force display using
5062 the default face, non-zero means display using the specialized face.
5063 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
5064
f07fa1b8
KH
50652000-11-23 Kenichi Handa <handa@etl.go.jp>
5066
5067 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
5068 hard coded `4'.
5069
2bcdf662
EZ
50702000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
5071
5072 * coding.c (decode_coding_emacs_mule): Fix the case of
5073 CODING_EOL_LF, which used uninitialized value of c.
5074
ba8299ff
SM
50752000-11-23 Stefan Monnier <monnier@cs.yale.edu>
5076
5077 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
5078
f4117c4d
GM
50792000-11-22 Gerd Moellmann <gerd@gnu.org>
5080
03e757c1
GM
5081 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
5082 buffer object.
5083
f4117c4d
GM
5084 * frame.h (struct frame): Replace desired_tool_bar_items,
5085 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 5086 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
5087
5088 * frame.c (make_frame): Change initialization of tool bar
5089 items accordingly.
5090
5091 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 5092 Change references to members deleted from struct frame to use the
f4117c4d
GM
5093 new ones.
5094
5095 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 5096 references to members deleted from struct frame to use the new ones.
f4117c4d 5097
52283633 5098 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
5099
5100 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
5101
5102 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 5103 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
5104 from struct frame to use the new ones.
5105
f8e2f3f2
MB
51062000-11-23 Miles Bader <miles@gnu.org>
5107
5108 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
5109 the face's inverse-video attribute, rather than overriding it.
5110
60e8e0a5
GM
51112000-11-22 Gerd Moellmann <gerd@gnu.org>
5112
5113 * xfns.c (x_set_tool_bar_lines): Clear internal border when
5114 making tool bar smaller.
5115
92dd1b29
DL
51162000-11-22 Dave Love <fx@gnu.org>
5117
5118 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
5119
e672fdce
MB
51202000-11-22 Miles Bader <miles@gnu.org>
5121
3a17d6cc
MB
5122 * keyboard.c (Vminibuffer_message_timeout): New variable.
5123 (command_loop_1): Use it to determine message timeout.
5124 (syms_of_keyboard): Initialize it.
5125
60e8e0a5 5126 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 5127
e9655d81
KH
51282000-11-22 Kenichi Handa <handa@etl.go.jp>
5129
5130 * sysdep.c: Move the code for declaring h_errno after #include
5131 <netdb.h>.
5132
77270fac
GM
51332000-11-21 Gerd Moellmann <gerd@gnu.org>
5134
cd913aae
GM
5135 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
5136 the menu bar when the tooltip is unmapped.
5137
77270fac
GM
5138 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
5139 sole visible buffer when we're currently in the mini-buffer, and
5140 give up if so.
52283633 5141
556635d6
JR
51422000-11-21 Jason Rumney <jasonr@gnu.org>
5143
5144 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
5145 put on the clipboard.
5146 (Fw32_get_clipboard_data): Compare data on clipboard with saved
5147 copy of what Emacs last put there. If they are the same, do not
52283633 5148 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 5149
5b7bde64
MB
51502000-11-22 Miles Bader <miles@gnu.org>
5151
5152 * minibuf.c (Vminibuffer_prompt_properties): New variable.
5153 (syms_of_minibuf): Initialize it.
5154 (read_minibuf): Add properties from Vminibuffer_prompt_properties
5155 to prompt, don't make read-only.
5156
ff23e1dd
GM
51572000-11-21 Gerd Moellmann <gerd@gnu.org>
5158
52283633
SM
5159 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
5160 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 5161
7aaf4388
GM
5162 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
5163
f5f47add 5164 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 5165
ff23e1dd
GM
5166 * term.c, cm.c: Don't try to include termcap.h; see comment there.
5167
37c35586
KH
51682000-11-21 Kenichi Handa <handa@etl.go.jp>
5169
5170 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
5171 ... #endif scope.
5172
ff9ab414
GM
51732000-11-20 Gerd Moellmann <gerd@gnu.org>
5174
52283633 5175 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
5176 screen supports it.
5177
29a01b72
GM
5178 * s/gnu-linux.h: Don't use `#cpu'.
5179
09dfdf85
GM
5180 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
5181 not defined in mman.h.
5182
52283633 5183 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
5184 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
5185 and store an index in the XClientMessageEvent. Storing a
5186 Lisp_Object or pointer can fail on a 64 bit system, since X only
5187 transfers 32 bits.
52283633
SM
5188 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
5189
81459ac9
DL
51902000-11-20 Dave Love <fx@gnu.org>
5191
5192 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
5193
56c13ae6
GM
51942000-11-20 Gerd Moellmann <gerd@gnu.org>
5195
5196 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
5197
495a6df3
KH
51982000-11-20 Kenichi Handa <handa@etl.go.jp>
5199
2bcf3714
KH
5200 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
5201 by WIDTH.
5202
495a6df3
KH
5203 * alloc.c (make_string): Fix previous change. Be sure to make
5204 unibyte string correctly.
5205
6d950f4c
GM
52062000-11-19 Gerd Moellmann <gerd@gnu.org>
5207
39b39373
GM
5208 * window.c (Fwindow_list): Change parameter list to be XEmacs
5209 compatible.
5210 (window_list_1): New function.
5211 (window_loop): Use it instead of Fwindow_list.
5212
b95b34e5
GM
5213 * sysdep.c (emacs_ospeed): New variable.
5214 (toplevel): Don't declare ospeed extern.
5215 (init_baud_rate): Use emacs_ospeed instead of ospeed.
5216
5217 * termcap.c (ospeed): Remove.
5218 (tputs) [!emacs]: Remove unused code.
5219 (tgetent): Avoid a compiler warning.
5220
e83dc917
GM
5221 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
5222 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 5223 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
5224
5225 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
5226 removed.
5227 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
5228 Take the X display as additional argument.
5229 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
5230 `Widget' is a pointer type that's not easily stored in Lisp_Object
5231 form in a portable way.
52283633 5232
6d950f4c
GM
5233 * dispnew.c (update_text_area): Fix last change.
5234
e47306e6
GM
52352000-11-18 Gerd Moellmann <gerd@gnu.org>
5236
fb3cd89b
GM
5237 * xdisp.c: Use BINDING_STACK_SIZE throughout.
5238
5239 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
5240 clear current matrices.
5241
edaa9aed
GM
5242 * buffer.c (mmap_enlarge): Don't print a message on stderr
5243 if mapping new memory at the end of the existing region fails.
5244
e47306e6
GM
5245 * dispnew.c (update_text_area): Don't skip over equal glyphs
5246 when the last current glyph overlaps the glyph to its right.
5247
509633e3
MB
52482000-11-18 Miles Bader <miles@gnu.org>
5249
5250 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
5251 lines that *end* with "..." too (that's the most common case!).
5252
d392e9c5
GM
52532000-11-18 Gerd Moellmann <gerd@gnu.org>
5254
67988445
GM
5255 * xdisp.c (resize_mini_window): Temporarily change to the
5256 mini-window's buffer if necessary.
1bfdbe43 5257
d392e9c5
GM
5258 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
5259 the tooltip obscures less text under it.
5260
52612000-11-17 Gerd Moellmann <gerd@gnu.org>
5262
5263 * puresize.h (BASE_PURESIZE): Increase to 700000.
5264
92bb977f
JR
52652000-11-18 Jason Rumney <jasonr@gnu.org>
5266
5267 * w32term.c (w32_draw_bitmap): Use face to set colors.
5268
26fbf20b
DL
52692000-11-17 Dave Love <fx@gnu.org>
5270
5271 * lread.c (Fload): Fix #ifdef for pcc.
5272
100b593b
GM
52732000-11-17 Gerd Moellmann <gerd@gnu.org>
5274
5275 * xdisp.c (pos_visible_p): Compute the default character height
5276 differently.
5277
a288d0d1
GM
52782000-11-16 Gerd Moellmann <gerd@gnu.org>
5279
cac94de6 5280 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 5281 knowing the line's height; use the default font's height in that case.
cac94de6 5282
a288d0d1
GM
5283 * xfaces.c (weight_table): Add `demi' with the same meaning as
5284 `demibold'.
5285
981fb6f6
KH
52862000-11-16 Kenichi Handa <handa@etl.go.jp>
5287
2cca872d 5288 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
5289 (clear_glyph_row): Delete local static variable null_row.
5290
e5fa381b
JR
52912000-11-15 Jason Rumney <jasonr@gnu.org>
5292
5293 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
5294 (w32_alloc_lighter_color): Use new brightness calculations from
5295 xterm.c. Scale delta to be in the range expected by W32.
5296 (w32_draw_relief_rect): Use frame relief colors.
5297
8e42f043
GM
52982000-11-15 Gerd Moellmann <gerd@gnu.org>
5299
6d133d1f
GM
5300 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
5301 (Qinhibit_default_face_x_resources): New variable.
5302 (syms_of_frame): Initialize it.
5303 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
5304
5305 * xdisp.c (pos_visible_p): Improve function comment.
5306
5307 * lisp.h (BINDING_STACK_SIZE): New macro.
5308
8e42f043
GM
5309 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
5310 reading the directory if readdir returns null and errno is EAGAIN
5311 or EINTR.
5312
e8c87124
SM
53132000-11-14 Stefan Monnier <monnier@cs.yale.edu>
5314
5315 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
5316 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
5317 Set amount_to_scroll to max of dx and scroll_step so that
5318 scroll-conservatively doesn't defeat scroll-step>1.
5319 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
5320 scroll-conservatively for line-at-a-time scrolling.
5321
5f0c971d
GM
53222000-11-14 Gerd Moellmann <gerd@gnu.org>
5323
5324 * window.c (Fpos_visible_in_window_p): Call pos_visible with
5325 extra argument.
5326
5327 * xdisp.c (current_mode_line_height, current_header_line_height):
5328 New variables.
5329 (init_xdisp): Initialize them.
5330 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
5331 and use exact mode line heights if it is set.
5332
5333 * lisp.h (pos_visible_p): Change prototype.
5334
5335 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
5336 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
5337 and current_header_line_height first.
52283633
SM
5338 (current_mode_line_height, current_header_line_height):
5339 Declare extern.
5f0c971d 5340
d7361edf
MB
53412000-11-14 Miles Bader <miles@lsi.nec.co.jp>
5342
5343 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
5344 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
5345 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
5346
ee5e440a
MB
53472000-11-14 Miles Bader <miles@gnu.org>
5348
5349 * xterm.c (x_alloc_lighter_color): Include an additive component
5350 too for dark colors, because FACTOR isn't enough.
5351 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
5352 New macros.
5353
5ca020fc
GM
53542000-11-13 Gerd Moellmann <gerd@gnu.org>
5355
5356 * keyboard.c (show_help_echo): Call message3_nolog with number of
5357 bytes in the help string as 2nd parameter, instead of the number
5358 of characters.
5359
9d348294
MB
53602000-11-13 Miles Bader <miles@gnu.org>
5361
5362 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
5363 (Fload): Use new openp return protocol.
5364 Don't try to use Vload_source_file_function to load .elc files.
5365 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
5366 openp return protocol.
5367 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
5368
1729bb9a
KH
53692000-11-11 Kenichi Handa <handa@etl.go.jp>
5370
4e677396
KH
5371 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
5372
5373 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
5374 Defined these macros.
5375 (NLIST_STRUCT): Avoid re-defining it.
5376
1729bb9a
KH
5377 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
5378 -I/usr/contrib/X11R6/include.
5379 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
5380
a82fe213
JR
53812000-11-10 Jason Rumney <jasonr@gnu.org>
5382
5383 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
5384
5385 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
5386 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
5387
5388 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
5389 (Qw32_charset_vietnamese): New symbol.
5390 (xlfd_charset_of_font): New function.
5391 (w32_load_system_font): Use it.
5392 (x_to_w32_charset): Use Fassoc to find charset info. Special case
5393 when Vw32_charset_info_alist is nil to ensure default face always
5394 has font. Use Fcar and Fcdr for safety.
5395 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
5396 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
5397 pseudo-codepages for special cases.
5398 (w32_to_x_font): New parameter to allow charset portion to be
5399 specified where there is many to one mapping. Callers changed.
5400 (w32_list_fonts): Avoid listing fonts that won't display.
5401
52d89894
GM
54022000-11-10 Gerd Moellmann <gerd@gnu.org>
5403
5404 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
5405 (font_list_1): Renamed from font_list.
5406 (font_list): New function, trying alternative registries from
5407 Vface_alternative_font_registry_alist.
5408 (Finternal_set_alternative_font_registry_alist): New function.
5409 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
5410 Vface_alternative_font_registry_alist.
5411 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 5412
651cd3da
KR
54132000-11-09 Ken Raeburn <raeburn@gnu.org>
5414
5415 * lisp.h (Flooking_at): Declare.
5416
388ac098
GM
54172000-11-09 Gerd Moellmann <gerd@gnu.org>
5418
778fbc46 5419 * dired.c (directory_files_internal): Fix a braino.
52283633 5420
388ac098
GM
5421 * dired.c (directory_files_internal): Add missing GCPRO's.
5422 Some cleanup.
5423
ecaedde1
GM
54242000-11-08 Gerd Moellmann <gerd@gnu.org>
5425
f7eb32aa
GM
5426 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
5427 (resize_mini_window): Return quickly if Vresize_mini_window is
5428 nil. Don't return if Vmax_mini_window_height is nil.
5429
5430 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
5431 (syms_of_xdisp): Initialize them.
5432 (resize_mini_window): Act according to the setting of
5433 Vresize_mini_window.
5434 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
5435
ecaedde1
GM
5436 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
5437 scroll bar widget after configuring it, so that it will appear at
5438 the right position from the start.
5439 (XTredeem_scroll_bar): Cleaned up.
5440
3747ef2c
KH
54412000-11-08 Kenichi Handa <handa@etl.go.jp>
5442
5443 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5444 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5445 division by two.
5446
5447 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5448
03391420
DL
54492000-11-07 Dave Love <fx@gnu.org>
5450
7758f1c1 5451 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5452
5453 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5454
b5de343d
GM
54552000-11-07 Gerd Moellmann <gerd@gnu.org>
5456
acad3c0b
GM
5457 * window.c (Fset_window_configuration): Don't try to preserve
5458 point in the current buffer, if that buffer is displayed in more
5459 than one window.
5460
b5de343d
GM
5461 * xfaces.c (lookup_named_face): If default face isn't realized,
5462 try to realize it. Return -1 if not successful.
5463 (Fx_list_fonts): Handle case that face cannot be determined.
5464 (Fface_font): Likewise.
5465
cdb1fe49
GM
54662000-11-06 Gerd Moellmann <gerd@gnu.org>
5467
5468 * window.c (displayed_window_lines): Detect partially
5469 visible lines at the bottom correctly.
5470
d3a67486
SM
54712000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5472
5473 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5474 when ensuring we don't do visit in indirect buffer.
5475
ff8dd5d5
KH
54762000-11-06 Kenichi Handa <handa@etl.go.jp>
5477
5478 * composite.h (compose_chars_in_text): Add prototype.
5479
5480 * composite.c (Vcomposition_function_table): New variable.
5481 (Qcomposition_function_table): New variable.
5482 (run_composition_function): Call
5483 Vcompose_chars_after_function with three arguments.
5484 (compose_chars_in_text): New function.
5485 (syms_of_composite): Modified the doc-string of
5486 Vcompose_chars_after_function. Declare composition-function-table
5487 as a lisp variable, and initialize it.
5488
5489 * xfns.c (x_encode_text): Suppress producing escape sequences for
5490 composition.
5491
5492 * xselect.c: Include composite.h.
5493 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5494
d1145f85
AI
54952000-11-05 Andrew Innes <andrewi@gnu.org>
5496
5497 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5498
5499 * sysdep.c (read_input_waiting): Remove extraneous argument to
5500 read_socket_hook.
5501
5502 * w32fns.c (Fx_server_version): Include w32_build_number in the
5503 return list.
5504
5505 * w32heap.c (w32_build_number): New variable.
5506 (cache_system_info): Set it.
5507
5508 * w32heap.h (w32_build_number): Add extern.
5509
5510 * emacs.c (syms_of_emacs): Update docstring for
5511 system-configuration, to reflect the actual usage on MS-Windows.
5512
e85ee976
GM
55132000-10-31 Gerd Moellmann <gerd@gnu.org>
5514
26dcb81b
GM
5515 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5516 process idle timers while waiting for another event.
5517
52283633 5518 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5519 the default face are colored.
5520
e85ee976
GM
5521 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5522 window height hasn't changed.
5523
01b220b6
JR
55242000-10-31 Jason Rumney <jasonr@gnu.org>
5525
5526 * w32term.c (x_produce_glyphs): Handle composite characters.
5527 (x_draw_glyph_string_foreground)
5528 (x_draw_composite_glyph_string_foreground): Restore old font.
5529
4e6b7204
MB
55302000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5531
5532 * minibuf.c (read_minibuf): Reset the undo history just before
5533 starting the recursive-edit.
5534
d4358b37
GM
55352000-10-30 Gerd Moellmann <gerd@gnu.org>
5536
563f68f1
GM
5537 * xfaces.c (menu_face_change_count): New variable.
5538 (Finternal_set_lisp_face_attribute): Increment it for changes
5539 of the `menu' face.
5540 (realize_basic_faces): Reflect changes in the `menu' faces
5541 in menu bars.
5542
82e274d1
GM
5543 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5544 dy obtained from the iterator's y-position after moving from
5545 scroll_margin_pos to PT; see comment there.
52283633 5546
0dbf9fd2
GM
5547 * xdisp.c (safe_eval_handler): Call add_to_log.
5548
906b3b14
GM
5549 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5550 is not a symbol or string.
5551
d4358b37
GM
5552 * xdisp.c (echo_area_display): Don't perform a display update from
5553 inside redisplay. The update will happen anyway at the end of
5554 redisplay, and it can confuse redisplay (GC messages while
5555 redisplaying, for instance.)
5556
70c825df
SM
55572000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5558
cf9b4b0b
SM
5559 * xrdb.c (x_load_resources): Use the class name in the defaults.
5560
70c825df
SM
5561 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5562 (regex_compile): Catch bogus \(\1\).
5563
a1d34b1e
GM
55642000-10-30 Gerd Moellmann <gerd@gnu.org>
5565
cae71efe
GM
5566 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5567 RGB values.
52283633 5568
35efe0a1
GM
5569 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5570 we have a color cache, check that the cached color equals the
5571 allocated color. If not, clear the color cache.
5572
1d3baf74
GM
5573 * window.c (displayed_window_lines): Change buffers if necessary.
5574 Fix computation of displayed lines.
5575
a1d34b1e
GM
5576 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5577 update_menu_bindings to DEFVAR_BOOL.
5578
70737ea9
KH
55792000-10-30 Kenichi Handa <handa@etl.go.jp>
5580
70c825df 5581 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5582
fa0cb51d
KH
5583 * puresize.h (BASE_PURESIZE): Increase to 680000.
5584
70737ea9
KH
5585 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5586
0e4c08e8
JR
55872000-10-29 Jason Rumney <jasonr@gnu.org>
5588
5589 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5590
5591 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5592 (w32_cache_char_metrics): Handle possibility that 'x' does not
5593 exist in a BDF font.
5594 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5595
5596 * w32bdf.h (bdffont): Add nchars.
5597
5598 * w32bdf.c (set_bdf_font_info): Set it.
5599 (w32_BDF_TextOut): Swap byte order of double byte characters.
5600 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5601
45b84006
EZ
56022000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5603
5604 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5605 don't override the colors in frame's param_alist, unless they are
5606 unspecified.
5607
5608 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5609 reverse the effect of the highlight flag.
5610
caf9deee
KR
56112000-10-27 Ken Raeburn <raeburn@gnu.org>
5612
5613 * window.h (Fwindow_live_p): Declare.
5614
ae0b9b46
KR
5615 * undo.c (record_delete): Check that last_undo_buffer is really a
5616 buffer before applying XBUFFER to it.
5617
5618 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5619 Faref.
5620
02067692
SM
56212000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5622
5623 * lisp.h (KEYMAPP): New macro.
5624 (get_keymap): Remove.
5625 (get_keymap_1): Rename get_keymap.
5626
5627 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5628
5629 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5630
5631 * xmenu.c (single_submenu): Use KEYMAPP.
5632 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5633 Use KEYMAPP rather than Fkeymapp.
5634
5635 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5636
5637 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5638 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5639 Use KEYMAPP rather than Fkeymapp.
5640 (single_submenu): Use KEYMAPP.
5641 (w32_menu_show, w32_dialog_show): Use TRUE.
5642
5643 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5644
5645 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5646 (Fkeymapp): Use KEYMAPP.
5647 (get_keymap): Rename from get_keymap_1. Remove old def.
5648 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5649 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5650 (Fminor_mode_key_binding): Don't raise an error if the binding
5651 is not a keymap.
5652 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5653 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5654
5655 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5656 Allow Vspecial_event_map to be autoloaded.
5657 (menu_bar_items): Fetch the keymap rather than using keymapp.
5658 (menu_bar_one_keymap): No need to follow func-indirect any more.
5659 (parse_menu_item): get_keymap_1 -> get_keymap.
5660 (tool_bar_items): Fetch the keymap rather than using keymapp.
5661 (read_key_sequence): Use KEYMAPP.
5662
5663 * intervals.c (get_local_map): Use get_keymap rather than following
5664 function-indirections explicitly.
5665
5666 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5667
f9d80af3
JR
56682000-10-27 Jason Rumney <jasonr@gnu.org>
5669
5670 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5671 point, as Windows has oversized fonts.
5672
5673 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5674
a3ba27da
GM
56752000-10-27 Gerd Moellmann <gerd@gnu.org>
5676
5677 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5678 (freehook, reallochook): Handle null pointer arguments.
5679 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5680
aa3b80cc
SM
56812000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5682
5683 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5684 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5685 Giving in to popular pressure to shut up the compiler with casts.
5686
e24e84cc
GM
56872000-10-27 Gerd Moellmann <gerd@gnu.org>
5688
5689 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5690 signed value, and use a default value computed from the font's
5691 maximum descent.
5692
05ea7ef2
MB
56932000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5694
5695 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5696 that specify a negative underline position can still use underlines.
5697
5698 * window.c (Fpos_visible_in_window_p): Make POS default to
5699 WINDOW's point, not the current buffer's point.
5700
0b95284b
DL
57012000-10-26 Dave Love <fx@gnu.org>
5702
5703 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5704 when it's necessary.
5705
6c5b90af
GM
57062000-10-26 Gerd Moellmann <gerd@gnu.org>
5707
8b6d9dc9
GM
5708 * window.c (size_window): Compute size difference from sum of old
5709 child window sizes instead of from parent's size.
5710
6bc92b2e
GM
5711 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5712 Handle obscured lines at the top of the window.
5713
5714 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5715 down after the last error condition check.
5716
6c5b90af
GM
5717 * frame.c (Fdelete_frame): Run delete-frame-hook.
5718
42f92d4d
KH
57192000-10-26 Kenichi Handa <handa@etl.go.jp>
5720
5721 * coding.c (decode_coding): Fix previous change (check also
5722 CODING_MODE_LAST_BLOCK).
5723
d97151cb
SM
57242000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5725
e7efc503
SM
5726 * regex.c: More `unsigned char' -> `re_char' changes.
5727 Also change several `int' into `re_wchar_t'.
5728 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5729 (PUSH_FAILURE_POINTER): Don't cast any more.
5730 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5731 We want GCC to complain, since this piece of code makes
5732 re_match non-reentrant, which *should* be fixed.
5733 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5734 (EXTEND_BUFFER): Use RETALLOC.
5735 (SET_LIST_BIT): Don't cast.
5736 (re_wchar_t): New type.
5737 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5738 that those two functions will always properly return.
5739 (IMMEDIATE_QUIT_CHECK): Cast to void.
5740 (analyse_first): Use recursion rather than an explicit stack.
5741 (re_compile_fastmap): Can't fail anymore.
5742 (re_search_2): Don't check re_compile_fastmap for failure.
5743 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5744 Now also sets the new value (passed in a new argument).
5745 (re_match_2_internal): Use it.
5746 Also, use a new var `reg' of type size_t when looping through regs
5747 rather than reuse the inappropriate `mcnt'.
5748
d97151cb
SM
5749 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5750 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5751 (where_is_internal): Renamed from Fwhere_is_internal.
5752 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5753 (Fwhere_is_internal): New function wrapping where_is_internal.
5754 (where_is_internal_1): Handle the case where we're filling the cache.
5755 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5756
d5789b65
MB
57572000-10-25 Miles Bader <miles@gnu.org>
5758
5759 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5760
4ecda532
GM
57612000-10-25 Gerd Moellmann <gerd@gnu.org>
5762
5763 * window.c (pos_fully_visible_p): Removed.
5764 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5765 if position is visible and/or fully visible.
5766
5767 * lisp.h (pos_visible_p): Add prototype.
5768
5769 * xdisp.c (pos_visible_p): New function.
5770
68c3a137
KH
57712000-10-25 Kenichi Handa <handa@etl.go.jp>
5772
5773 * process.c (send_process): If OBJECT is t, it means that the data
5774 is from C string, but we should encode it. Before calling
5775 setup_raw_text_coding_system, be sure to flush out data by the
5776 previous coding system.
5777
7ae1c032
MB
57782000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5779
ff4dcd4b
MB
5780 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5781 assignment of startpos to prev when startpos == pos.
5782
7ae1c032
MB
5783 * editfns.c (find_field): Set the field stickiness correctly from
5784 overlay fields. Use renamed `text_property_stickiness'.
5785 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5786 Only check text properties, not overlays.
7ae1c032
MB
5787 * textprop.c (get_char_property_and_overlay): New function.
5788 (Fget_char_property): Use it.
5789 * intervals.h (get_char_property_and_overlay): Add declaration.
5790
49801145
SM
57912000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5792
5793 * keymap.c: Use AREF, ASET and ASIZE macros.
5794 (Fmake_sparse_keymap): Docstring fix.
5795 (synkey): Remove.
5796 (shadow_lookup): Move up.
5797 Handle the case where lookup-key returns an integer.
5798 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5799 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5800 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5801 Simplify/rewrite the keymap-finding code.
5802 Add check for command shadowing, using shadow_lookup.
5803
39e776cd
SM
58042000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5805
5806 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5807 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5808 a symbol.
5809
2488aba5
AI
58102000-10-24 Andrew Innes <andrewi@gnu.org>
5811
5812 * dired.c (directory_files_internal_unwind): New function.
5813 (directory_files_internal): Use it to ensure closedir is called
5814 even if expand-file-name or file-attributes throw, eg. because of
5815 a user interrupt. Also enable immediate_quit while calling
5816 re_search, so that matching can be interrupted as well.
5817
b94fdf61
AI
58182000-10-24 Andrew Innes <andrewi@gnu.org>
5819
5820 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5821 NT-Emacs only.
5822 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5823 so that re_search functions only quit when callers expect them to.
5824
58252000-10-24 Kenichi Handa <handa@etl.go.jp>
5826
5827 * regex.c (regex_compile): Change the way of handling a range from
5828 a char less than 256 to a char not less than 256.
5829
1946f901
GM
58302000-10-24 Gerd Moellmann <gerd@gnu.org>
5831
7ae2f10f
GM
5832 * window.c (size_window): Prevent setting window's width or
5833 height to a negative value (esp. with XSETFASTINT).
5834
5dcab13e
GM
5835 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5836 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5837 (protect_malloc_state) [GC_MALLOC_CHECK &&
5838 GC_PROTECT_MALLOC_STATE]: New function.
5839 (PROTECT_MALLOC_STATE): New macro.
5840 (__malloc_initialize, morecore, _malloc_internal)
5841 (_free_internal) _realloc_internal): Use it to make _heapinfo
5842 read-only outside of gmalloc.
5843
63e1b552
GM
5844 * keymap.c: Update copyright.
5845
1946f901
GM
5846 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5847 a symbol.
5848
4fa09beb
GM
58492000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5850
5851 * filelock.c (unlock_all_files): Use unlock_file to expand each
5852 buffer's file_truename before trying remove its lock file.
5853
23afac01
EZ
58542000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5855
5856 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5857 or CRLF, decode EOLs.
5858
04448b95
KH
58592000-10-24 Kenichi Handa <handa@etl.go.jp>
5860
5861 * window.c (Fdisplay_buffer): Fix doc.
5862
3090a5a5
JR
58632000-10-23 Jason Rumney <jasonr@gnu.org>
5864
5865 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5866 ASCII font of default fontset on Windows.
5867
5868 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5869 xterm.c comment below).
5870
5871 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5872
a83fee2c
GM
58732000-10-23 Gerd Moellmann <gerd@gnu.org>
5874
5875 * xterm.c (x_connection_closed): Reset handling_signal.
5876
52283633 5877 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5878
6ffdb539
MB
58792000-10-23 Miles Bader <miles@gnu.org>
5880
5881 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5882 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5883 maintain old behavior.
5884 * minibuf.c (Fminibuffer_complete): Likewise.
5885
7f1c969b
MB
58862000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5887
5888 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5889 that when a font can't be exactly centered, it errs up rather than
5890 down.
5891
23afac01 58922000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5893
52283633 5894 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5895
1a578e9b
AC
58962000-10-23 Andrew Choi <akochoi@i-cable.com>
5897
5898 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5899
5900 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5901 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5902
5903 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5904 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5905 syms_of_search, x_term_init, and init_keyboard before calling
5906 init_window_once. Also, call syms_of_xmenu.
5907
5908 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5909 default fontset to Monaco.
5910
5911 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5912 NewMacWindow and DisposeMacWindow.
5913 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5914 instead of calling NewMacWindow and setting fields of
5915 f->output_data.mac directly. Call init_frame_faces.
5916 (Fdelete_frame) [macintosh]: Remove unused code.
5917 (Fmodify_frame_parameters) [macintosh]: Call
5918 x_set_frame_parameters instead of mac_set_frame_parameters.
5919
5920 * frame.h [macintosh]: Define menu_bar_lines field in struct
5921 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5922
5923 * keyboard.c [macintosh]: Include macterm.h.
5924 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5925 and menu_bar_activate_event type events as for X and NT.
5926 (make_lispy_event) [macintosh]: Construct lisp events of type
5927 MENU_BAR_EVENT as for X and NT.
5928
5929 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5930 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5931 (sys_subshell) [macintosh]: Remove definition entirely.
5932 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5933 Vwindow_system_version here. Remove initialization of
5934 Vx_bitmap_file_path.
5935 (read_input_waiting): Correct the number of parameters passed to
5936 read_socket_hook.
5937 Move all Macintosh functions to mac/mac.c.
5938
5939 * term.c [macintosh]: Include macterm.h.
5940
5941 * window.c [macintosh]: Include macterm.h.
5942
5943 * xdisp.c [macintosh]: Include macterm.h. Declare
5944 set_frame_menubar and pending_menu_activation.
5945 (echo_area_display) [macintosh]: Do not return if terminal frame
5946 is the selected frame.
5947 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5948 Allow only the selected frame to set menu bar.
5949 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5950 calling FRAME_EXTERNAL_MENU_BAR (f).
5951 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5952
5953 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5954 and check_x. Declare XCreateGC. Define x_create_gc and
5955 x_free_gc. Initialize font_sort_order.
5956 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5957 but call x_list_fonts instead of w32_list_fonts.
5958 (Finternal_face_x_get_resource) [macintosh]: Do not call
5959 display_x_get_resource.
5960 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5961 (realize_x_face) [macintosh]: Load the font if it is specified in
5962 ATTRS.
52283633 5963 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5964
1ffbabe3
SM
59652000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5966
5967 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5968 is nil: since we go to the end of submap anyway, we'd end up
5969 setting nil to nil.
5970 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5971 doesn't obey autoload.
5972
bed43f1d
EZ
59732000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5974
1ffbabe3 5975 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5976
ea4233a7
JR
59772000-10-21 Jason Rumney <jasonr@gnu.org>
5978
5979 * w32term.c (w32_cache_char_metrics): Double check that font is
5980 really fixed pitch before trusting tmPitchAndFamily.
5981
f3d3c491
AI
59822000-10-21 Andrew Innes <andrewi@gnu.org>
5983
5984 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5985
5986 * w32term.h: Extern decl for w32_cache_char_metrics.
5987
5988 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5989
5990 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5991 (w32_unload_font): Free per_char array if present.
5992
5993 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5994 cached information in emulated XFontStruct to handle common cases
5995 quickly. Do not allocate XCharStruct for return.
5996 (w32_native_per_char_metric): New function.
5997 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5998 allocating one.
5999 (x_produce_glyphs): Don't get an HDC. Change calls to
6000 w32_per_char_metric to match arg change above. Remove calls to
6001 free results.
6002 (w32_get_glyph_overhangs): Ditto.
6003 (w32_cache_char_metrics): New function.
6004
6005 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
6006 ($(BLD)/casefiddle.$(O)): Remove compile command.
6007 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
6008 ($(BLD)/dispnew.obj):
6009 ($(BLD)/keyboard.obj):
6010 ($(BLD)/w32inevt.obj):
6011 ($(BLD)/w32bdf.obj):
6012 ($(BLD)/alloc.obj):
6013 ($(BLD)/buffer.obj):
6014 ($(BLD)/editfns.obj):
6015 ($(BLD)/emacs.obj):
6016 ($(BLD)/fileio.obj):
6017 ($(BLD)/fns.obj):
6018 ($(BLD)/indent.obj):
6019 ($(BLD)/insdel.obj):
6020 ($(BLD)/intervals.obj):
6021 ($(BLD)/minibuf.obj):
6022 ($(BLD)/print.obj):
6023 ($(BLD)/scroll.obj):
6024 ($(BLD)/sysdep.obj):
6025 ($(BLD)/textprop.obj):
6026 ($(BLD)/widget.obj):
f3d3c491
AI
6027 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
6028 ($(BLD)/term.obj): Add dependency on dispextern.h.
6029
52283633
SM
6030 * makefile.nt ($(BLD)\dispnew.obj):
6031 ($(BLD)\keyboard.obj):
6032 ($(BLD)\w32inevt.obj):
6033 ($(BLD)\w32bdf.obj):
6034 ($(BLD)\alloc.obj):
6035 ($(BLD)\buffer.obj):
6036 ($(BLD)\editfns.obj):
6037 ($(BLD)\emacs.obj):
6038 ($(BLD)\fileio.obj):
6039 ($(BLD)\fns.obj):
6040 ($(BLD)\indent.obj):
6041 ($(BLD)\insdel.obj):
6042 ($(BLD)\intervals.obj):
6043 ($(BLD)\minibuf.obj):
6044 ($(BLD)\print.obj):
6045 ($(BLD)\scroll.obj):
6046 ($(BLD)\sysdep.obj):
6047 ($(BLD)\textprop.obj):
6048 ($(BLD)\widget.obj):
f3d3c491
AI
6049 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
6050 ($(BLD)\term.obj): Add dependency on dispextern.h
6051
18ad4821
EZ
60522000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
6053
6054 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
6055 with an additional argument of Qt.
6056
de54681a
MB
60572000-10-21 Miles Bader <miles@gnu.org>
6058
6059 * window.c (pos_fully_visible_in_window_p): New function.
6060 (Fpos_visible_in_window_p): Add FULLY argument.
6061 Use pos_fully_visible_in_window_p.
6062 (window_scroll_pixel_based, window_scroll_line_based): Update
6063 calls to Fpos_visible_in_window_p.
6064 * lisp.h (Fpos_visible_in_window_p): Update prototype
6065
13c844fb
GM
60662000-10-20 Gerd Moellmann <gerd@gnu.org>
6067
6068 * alloc.c (toplevel): Conditionalize compilation of mem_*
6069 functions differently.
52283633 6070
d9506268
JR
60712000-10-20 Jason Rumney <jasonr@gnu.org>
6072
6073 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
6074 mem_init where it used to be. mem_z etc not defined otherwise.
6075
8094989b
GM
60762000-10-20 Gerd Moellmann <gerd@gnu.org>
6077
6078 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
6079 GC_MALLOC_CHECK.
6080 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
6081 structure definition and related variabled to the top of the file.
6082 Include this code when GC_MALLOC_CHECK is defined.
6083 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
6084 register/unregister allocated region.
6085 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
6086 which isn't allocated.
6087 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
6088 something which is already in use.
6089 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
6090 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
6091 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
6092 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
6093
6094 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
6095 _malloc_internal instead of malloc.
6096 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
6097 of free.
6098
ea456eb4
AI
60992000-10-20 Andrew Innes <andrewi@gnu.org>
6100
6101 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
6102 Windows.
6103 (my_strftime) <macro>: Don't use macro arg list when redefining as
6104 _strftime_copytm.
6105 (my_strftime) <function>: Supply 0 as ut argument.
6106
e64c3a75
JR
61072000-10-19 Jason Rumney <jasonr@altavista.net>
6108
6109 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
6110 including dispextern.h, as it stops faces from working.
6111
6112 * w32fns.c (Fx_create_frame): Don't bother calling
6113 face-set-after-frame-default since the caller does it for us
6114 anyway. Clean up calls to x_get_arg to be consistent with X.
6115
6116 * w32term.c (x_produce_glyphs): Handle
6117 unibyte_display_via_language_environment correctly.
6118 (w32_draw_box_rect): Fix the calculation of width and height.
6119
6120 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
6121 as it has stopped working.
6122 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
6123 menu-bar.
6124
17401c97
GM
61252000-10-19 Gerd Moellmann <gerd@gnu.org>
6126
6127 * eval.c (skip_debugger): Prevent a compiler warning.
6128 (Fcondition_case): Likewise.
6129 (Fbacktrace_frame): Use a null interactive spec.
6130
773272d8
KH
61312000-10-19 Kenichi Handa <handa@etl.go.jp>
6132
6133 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
6134
a42943e9
GM
61352000-10-18 Gerd Moellmann <gerd@gnu.org>
6136
e50517d9
GM
6137 * strftime.c: Sync with glibc, file version 1.78.
6138 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
6139 should no longer be used according to ISO 8601.
6140
9035a35a
GM
6141 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
6142 no map for meta_prefix_char, don't try to use it as a keymap.
6143 Instead, if T_OK is non-zero, look up a default binding, if any,
6144 otherwise, if T_OK is zero, return nil.
6145
a42943e9
GM
6146 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
6147 (x_to_xcolors, png_load): Use x_query_color.
6148
52283633
SM
6149 * xterm.c (x_color_cells, x_query_colors, x_query_color):
6150 New functions.
a42943e9
GM
6151 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
6152 which can be slow.
6153 (x_copy_color, x_alloc_lighter_color): Likewise.
6154
6155 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
6156 (x_query_color, x_query_colors): Add prototype.
6157
6158 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
6159 check_string_bytes only if not noninteractive, increase count to 50.
6160
00de2987
MB
61612000-10-18 Miles Bader <miles@lsi.nec.co.jp>
6162
6163 * insdel.c (adjust_markers_for_delete): Handle before-insertion
6164 markers correctly.
6165
54918e2b
GM
61662000-10-17 Gerd Moellmann <gerd@gnu.org>
6167
1f0b3fd2
GM
6168 * alloc.c (pure_bytes_used): Renamed from pureptr.
6169 (ALIGN): New macro.
6170 (pure_alloc): New function.
6171 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
6172 Use it.
6173 (Fpurecopy): Use PURE_POINTER_P.
6174
68c5d1db
GM
6175 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
6176 PT has moved backward.
52283633 6177
9a038881
GM
6178 * xdisp.c (cursor_row_p): Take continued lines into account.
6179
361b097f
GM
6180 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
6181 string's size_byte.
6182 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
6183 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
6184 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
6185 string allocated.
6186
54918e2b
GM
6187 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
6188 of selective display off while searching for the next line start.
6189
03ed0806
KH
61902000-10-17 Kenichi Handa <handa@etl.go.jp>
6191
6192 * Makefile.in (term.o): Depend on dispextern.h.
6193
7e05cdaf
SM
61942000-10-16 Stefan Monnier <monnier@cs.yale.edu>
6195
6196 * keymap.c (keymap_memberp): Ensure that nil is not a member.
6197
a6801fd1
GM
61982000-10-16 Gerd Moellmann <gerd@gnu.org>
6199
483de32b
GM
6200 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
6201 the iterator at the beginning, so that they can be set later on,
6202 for instance in reseat_at_next_visible_line_start, without being
6203 overwritten.
6204
a6801fd1
GM
6205 * xfns.c (pbm_format): Add :foreground and :background keywords.
6206 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 6207 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 6208
dbf1fcc1
EZ
62092000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
6210
6211 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
6212
52283633 6213 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
6214
6215 * msdos.c (IT_set_face): Compare highlighted face with the default
6216 face, and invert colors if these faces' colors are identical.
6217 (Fmsdos_remember_default_colors): Don't swap foreground and
6218 background colors in initial_colors[].
6219 (IT_set_frame_parameters): Don't swap frame's foreground and
6220 background pixels. If ALIST includes "(reverse . t)", swap
6221 foreground-color and background-color properties in frame's
6222 param_alist. If the original frame's param_alist doesn't specify
6223 the colors, store unspecified-fg and unspecified-bg, reversed if
6224 required.
6225
6226 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
6227 the colors are unspecified and reversed, reverse fore- and back-
6228 ground in the returned value.
6229 (Fframe_parameter): Ditto.
6230
b41fe2c3 62312000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 6232
3a6b59d9
GM
6233 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
6234 get_last_unchanged_at_beg_row.
6235 (find_first_unchanged_at_end_row): Renamed from
6236 get_first_unchanged_at_end_row.
6237 (find_first_unchanged_at_end_row): Convert assertions to
6238 unconditional tests which abort. When looking for a row in
6239 unchanged text, don't go further back than first_text_row.
6240
b41fe2c3
GM
6241 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
6242 Don't add in the last line's height when deciding if the new
6243 position is below the scroll margin.
9d1af64f 6244
b41fe2c3 62452000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
6246
6247 * editfns.c (Fconstrain_to_field): Check carefully for field
6248 boundaries if either OLD_POS or NEW_POS has a non-nil field
6249 property, even if they're the same.
6250
c412cb7b
KH
62512000-10-16 Kenichi Handa <handa@etl.go.jp>
6252
6253 * xterm.c (x_draw_box_rect): Fix the calculation of width and
6254 height for XFillRectangle.
6255
5586f3eb
SM
62562000-10-15 Stefan Monnier <monnier@cs.yale.edu>
6257
6258 * syntax.c (Fstring_to_syntax): New function extracted from
6259 Fmodify_syntax_entry.
6260 (Fmodify_syntax_entry): Use it and document the ! and | fences.
6261 (skip_chars, Fforward_comment): Remove unused variables.
6262 (syms_of_syntax): Add defsubr for string-to-syntax.
6263 (describe_syntax): Add code for comment and string fences.
6264
db785038
SM
62652000-10-14 Stefan Monnier <monnier@cs.yale.edu>
6266
6267 * keymap.c (access_keymap): Add AUTOLOAD parameter.
6268 Do the meta->esc mapping. Call get_keyelt before returning.
6269 Start scanning from the second element (the first is always `keymap')
6270 to make it easier to detect when we reach a parent map.
6271 Handle the case of inheriting from a symbol whose function is a map.
6272 (Fkeymap_parent): Also handle the `inherit from symbol' case.
6273 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
6274 (get_keyelt, Flookup_key): Update call to access_keymap.
6275 Remove the meta->esc mappings.
6276 (define_as_prefix): Delete old disabled code.
6277 (menu_item_p): New function.
6278 (where_is_internal_1): Skip over the few remaining menu items.
6279 * lisp.h (access_keymap): Update prototype.
6280 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
6281 Update call to access_keymap.
6282 (follow_key, read_key_sequence): Update calls to access_keymap.
6283 Remove the meta->esc mappings.
6284
cafafe0b
GM
62852000-10-13 Gerd Moellmann <gerd@gnu.org>
6286
a2e2a7f6
GM
6287 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
6288 with additional argument.
6289
cafafe0b
GM
6290 * xdisp.c (cursor_row_p): New function.
6291 (try_cursor_movement, display_line): Use it.
52283633 6292
cafafe0b
GM
6293 * xdisp.c (append_space): Also save/restore iterator's current
6294 character and its length.
6295
6296 * xdisp.c (init_from_display_pos): Add an assertion.
6297 (handle_stop): Don't set iterator's add_overlay_start.
6298 (handle_invisible_prop): Likewise.
6299 (load_overlay_strings): If text under an overlay is invisible,
6300 take both before- and after-strings into account when the iterator
6301 is positioned either at the start or at the end of the overlay.
6302 (forward_to_next_line_start): Rewritten.
6303 (reseat_at_next_visible_line_start): Rewritten.
6304 (set_iterator_to_next): Add parameter RESEAT_P.
6305
6306 * dispextern.h (struct it): Remove member add_overlay_start.
6307 (set_iterator_to_next): Change prototype.
6308
c744452b
KH
63092000-10-13 Kenichi Handa <handa@etl.go.jp>
6310
6311 * coding.c (code_convert_region): Be sure to initialize
6312 coding->category_idx.
e4a3f4e1
KH
6313 (decode_coding_string): Set coding->src_multibyte and
6314 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
6315 (encode_coding_string): Set coding->src_multibyte and
6316 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 6317
321fd26f
SM
63182000-10-12 Stefan Monnier <monnier@cs.yale.edu>
6319
6320 * xfns.c (Fx_create_frame): Don't bother calling
6321 face-set-after-frame-default since the caller does it for us anyway.
6322
76832439
EZ
63232000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
6324
6325 * window.c (coordinates_in_window): Fix detection of vertical line
6326 on character terminals.
6327
2483cf58
GM
63282000-10-12 Gerd Moellmann <gerd@gnu.org>
6329
6330 * editfns.c (save_excursion_save): Additionally record the
6331 selected window.
6332 (save_excursion_restore): If buffer was visible in a window, and a
6333 different window was selected, and the old selected window is
6334 still live, restore point in that window.
6335
eb991b25
KH
63362000-10-12 Kenichi Handa <handa@etl.go.jp>
6337
8a0eba09
KH
6338 * xterm.c (x_produce_glyphs): Handle
6339 unibyte_display_via_language_environment correctly.
6340
20401fcc
KH
6341 * regex.c (regex_compile): Change the way of handling a range from
6342 unibyte char to multibyte char.
6343
6344 * syntax.c (skip_chars): Change the way of handling a range from
6345 unibyte char to multibyte char.
6346
eb991b25
KH
6347 * process.c (read_process_output): Cancel previous change.
6348
365dd325
EZ
63492000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
6350
c1b096cb
EZ
6351 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
6352
365dd325
EZ
6353 * charset.c (Ffind_charset_string): Doc fix.
6354 (Ffind_charset_region): Doc fix.
6355
eb483c2b
KH
63562000-10-11 Kenichi Handa <handa@mule.m17n.org>
6357
6358 * process.c (read_process_output): Fix previous change. Adjust
6359 multibyteness of text to insert in a buffer by
52283633 6360 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 6361
b40bfb99
AS
63622000-10-10 Andreas Schwab <schwab@suse.de>
6363
6364 * alloc.c (mark_object): Remove all workarounds installed on
6365 1993-08-08.
6366
caff31d4
KH
63672000-10-10 Kenichi Handa <handa@etl.go.jp>
6368
52283633 6369 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
6370 (base64_encode_1): Make it work for a text of multibyte form.
6371 (Fbase64_decode_region): Allocate sufficient memory for multibyte
6372 case. Don't call str_to_multibyte because base64_decode_1
6373 produces correct multibyte form for eight-bit codes.
52283633 6374 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
6375 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
6376 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
6377 codes.
6378
6379 * charset.h (CHAR_STRING): Optimized for single byte characters.
6380
cba026ef
AS
63812000-10-09 Andreas Schwab <schwab@suse.de>
6382
6383 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
6384 -1 after socket is closed, to fall through to error processing.
6385
1e21fe48
EZ
63862000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
6387
6388 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 6389 variables. If ALIST includes foreground-color or
1e21fe48
EZ
6390 background-color, change also the colors of the default face for
6391 this frame.
6392
a640322e
EZ
63932000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
6394
6395 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
6396 them extern (they are defined on xfaces.c).
6397 (syms_of_msdos): Don't intern and don't staticpro
6398 Qbackground_color and Qforeground_color.
6399
a115794c
EZ
64002000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
6401
6402 * frame.c (Fframe_parameter): For non-windowed frames, if
6403 f->param_alist says foreground or background color is unspecified,
6404 call tty_color_name to return the color name computed from the
6405 frame's current colors.
6406
f5533b63
DL
64072000-10-06 Dave Love <fx@gnu.org>
6408
6409 * terminfo.c (ospeed): Don't declare.
6410
6411 * sysdep.c: Don't include string.h.
6412 (h_errno): Declare conditional also on TRY_AGAIN.
6413
6414 * charset.c (Ffind_charset_string): Doc fix.
6415
52283633 6416 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
6417 (Fbase64_decode_region, Fbase64_decode_string): More explicit
6418 error messages.
6419
2b06561a
DL
64202000-10-05 Dave Love <fx@gnu.org>
6421
6422 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
6423 position like menu-bar.
6424
ca839c85
GM
64252000-10-05 Gerd Moellmann <gerd@gnu.org>
6426
6427 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
6428
6429 * xdisp.c (handle_single_display_prop): Use safe_call1.
6430 (safe_call): Renamed from call_function.
6431 (safe_call1): New function.
6432 (handle_fontified_prop): Use safe_call1 instead of call1.
6433 (safe_eval): Renamed from eval_form.
6434 (safe_eval_handler): Renamed from eval_handler.
6435 (handle_single_display_prop, display_mode_element): Use safe_eval
6436 instead of eval_form.
6437
6438 * xfaces.c (merge_face_heights): Use safe_call instead of
6439 call_function.
6440
6441 * keyboard.c (show_help_echo): Use safe_call instead of
6442 call_function; use safe_eval instead of eval_form.
6443
6444 * lisp.h (safe_call): Renamed from call_function.
6445 (safe_eval): Renamed from eval_form.
6446 (safe_call1): Add prototype.
6447
a3489ece
MB
64482000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6449
6450 * xfns.c (image_ascent): Rearrange ascent calculation for the
6451 has-a-font case.
6452
35810b6f
SM
64532000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6454
6455 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6456 (where_is_internal_1): Don't bother ignoring menu-items any more.
6457
3dc78168
GM
64582000-10-04 Gerd Moellmann <gerd@gnu.org>
6459
6460 * keyboard.c (update_menu_bindings): New variable.
6461 (parse_menu_item): Use AREF. If update_menu_bindings
6462 is 0, don't update menu bindings.
6463 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6464
1efc2bb9
EZ
64652000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6466
6467 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6468 to `mark_object'.
6469
3f679f55
SM
64702000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6471
6472 * syntax.c (forw_comment): Match nestedness of ender/starter.
6473 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6474 (prev_char_comstart_first): Remove.
6475 (back_comment): Check two-char comment markers more carefully
6476 to better handle overlapping cases like *//* or /* */* */ ...
6477 Match nestedness of ender/starter.
6478
2021ab61
DL
64792000-10-02 Dave Love <fx@gnu.org>
6480
6481 * config.in (HAVE_GAI_STRERROR): Add undef.
6482
6483 * process.c (Fopen_network_stream): Use it.
6484
6485 * m/alpha.h (NO_REMAP): Don't define.
6486
64e6cc18
GM
64872000-10-02 Gerd Moellmann <gerd@gnu.org>
6488
6489 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6490 return with a string converted to an integer or vice versa when
6491 Vmocklisp_arguments is t.
6492 (Fsignal): Likewise. The function can return for `quit'.
6493 (struct gcpro): Declare member `var' to point to a volatile
6494 Lisp_Object.
6495
6496 * eval.c (error): Prevent compiler warning.
6497
b1904cd9
SM
64982000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6499
6500 * keymap.c (keymap_memberp): New function.
6501 (Fset_keymap_parent): Use it.
6502 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6503 Use keymap_memberp to avoid creating cycles.
6504 (access_keymap): Use KEYMAPP.
6505
71c9ec51
GM
65062000-09-30 Gerd Moellmann <gerd@gnu.org>
6507
6508 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6509 gai_strerror. Make sure xerrno is set if connect fails. Improve
6510 error recovery.
71c9ec51 6511
c70c6b58
JR
65122000-09-29 Jason Rumney <jasonr@gnu.org>
6513
6514 * w32term.c (w32_char_font_type, w32_encode_char)
6515 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6516 (w32_bdf_per_char_metric): New function.
6517 (w32_per_char_metric): Use it.
6518 (x_draw_glyph_string_background): Always draw background for BDF
6519 glyphs.
6520
6521 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6522 GDI object which is a scarce resource.
6523
6524 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6525 (get_quoted_string): Fix limit on memchr search.
6526 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6527 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6528 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6529 (get_cached_font_char, cache_char_offset): Use macro
6530 BDF_CODEPOINT_RANGE_COVER_P.
6531 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6532 (clear_cached_bitmap_slots): New function.
6533 (GET_HEX_VALUE): G-Z, g-z are not hex.
6534 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6535 (get_bitmap_with_cache): Use new cache implementation.
6536 (create_offscreen_bitmap): New function.
6537 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6538
6539 * w32term.c (x_produce_glyphs): If the distance from the current
6540 position to the next tab stop is less than a canonical character
6541 width, use the tab stop after that.
6542 (x_draw_glyphs): Handle case START and END are out of bounds more
6543 carefully.
6544 (x_clear_mouse_face): Block/unblock input.
6545 (x_display_and_set_cursor): Don't show a hollow box cursor for
6546 buffers whose cursor_type is nil.
6547
fe01239f
GM
65482000-09-29 Gerd Moellmann <gerd@gnu.org>
6549
52283633 6550 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6551
6552 * dispextern.h (updating_frame): Declare extern.
6553
e7c52f1f
AS
65542000-09-29 Andreas Schwab <schwab@suse.de>
6555
6556 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6557
de6e1f7c
GM
65582000-09-29 Gerd Moellmann <gerd@gnu.org>
6559
25126faa
GM
6560 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6561 use its function definition.
6562 (tool_bar_items): Likewise.
6563
de6e1f7c 6564 * lisp.h (fatal): Declare NO_RETURN.
52283633 6565
454ee39b
KH
65662000-09-29 Kenichi Handa <handa@etl.go.jp>
6567
6568 * keymap.c: Remove the line "#undef NULL".
6569
96301c5f
GM
65702000-09-28 Gerd Moellmann <gerd@gnu.org>
6571
52283633 6572 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6573
efffeeb4
DL
65742000-09-28 Dave Love <fx@gnu.org>
6575
ecb8b666
DL
6576 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6577
dc3cd20f
DL
6578 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6579
6580 * .gdbinit (xreload): Note its need on GNU/Linux.
6581
efffeeb4
DL
6582 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6583 r_alloc, r_alloc_free.
6584
8610d903
KH
65852000-09-28 Kenichi Handa <handa@etl.go.jp>
6586
6587 * syntax.c (skip_chars): Handle negation correctly.
6588
8901d1ac
GM
65892000-09-27 Gerd Moellmann <gerd@gnu.org>
6590
6f22f1ad
GM
6591 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6592 with non-zero FORCE_P argument.
6593
52283633 6594 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6595 Add assertions.
6596
6597 * xdisp.c (window_box_height): Add an assertion.
6598
6599 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6600 tool-bar than is available.
6601 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6602
36f1966f
DL
66032000-09-27 Dave Love <fx@gnu.org>
6604
efffeeb4 6605 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6606
31d929e5
GM
66072000-09-26 Gerd Moellmann <gerd@gnu.org>
6608
c98863bf
GM
6609 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6610 instead of BITS_PER_INT.
6611 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6612 EMACS_UINT, respectively.
6613 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6614
6615 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6616
6617 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6618
77072ab1
GM
6619 * window.c (freeze_window_starts): Construct last argument for
6620 foreach_window differently.
6621
6622 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6623
6624 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6625 EMACS_UINT instead of `int' and `unsigned int'.
6626 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6627
6628 * frame.h (struct frame): Make the `nothing' member of union
6629 output_data an EMACS_INT.
6630
52283633 6631 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6632 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6633 size in the sdata structure.
6634 (SDATA_NBYTES, SDATA_DATA): New macros.
6635 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6636 differently for the different layout of the sdata structure.
6637 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6638 in sdata.
6639 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6640 Check that size recorded in the string size and size recorded in
6641 the sdata structure agree.
6642
3e60b029
DL
66432000-09-25 Dave Love <fx@gnu.org>
6644
6645 * buffer.c: Include stdio.h.
6646
6647 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6648
3e60b029
DL
6649 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6650
6651 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6652 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6653 (__malloc_extra_blocks): Declare as __malloc_size_t.
6654
8ff16b4e
GM
66552000-09-25 Gerd Moellmann <gerd@gnu.org>
6656
755a2ccd
GM
6657 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6658
d8b4516f
GM
6659 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6660 (read_char): If help-echo is showing, preserve the echo area
6661 when redisplaying.
6662
6663 * xdisp.c (help_echo_showing_p): New variable.
6664 (set_message): Reset it to 0.
6665 (init_xdisp): Initialize help_echo_showing_p.
6666
6667 * dispextern.h (help_echo_showing_p): Declare extern.
6668
6669 * config.in: Fix typo in __GNUC_MINOR__.
6670
6671 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6672
b11af2dd
GM
6673 * s/freebsd.h (POSIX_SIGNALS): Define.
6674
8ff16b4e
GM
6675 * xterm.c (x_clear_mouse_face): Block/unblock input.
6676
844eb643
DL
66772000-09-24 Dave Love <fx@gnu.org>
6678
6679 * fns.c (base64_encode_1): Fix last change.
6680
b30ab1b3
GM
66812000-09-22 Gerd Moellmann <gerd@gnu.org>
6682
6683 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6684
6685 * xdisp.c (try_window_reusing_current_matrix): More fixes
6686 for the case window has a header-line.
6687
c6cbe5f0
DL
66882000-09-22 Dave Love <fx@gnu.org>
6689
4c7c1f3f
DL
6690 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6691 a doc string.
6692
6693 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6694
c6cbe5f0
DL
6695 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6696
550a625e
GM
66972000-09-21 Gerd Moellmann <gerd@gnu.org>
6698
4c7c1f3f 6699 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6700 for GCC >= 2.5.
6701
52283633
SM
6702 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6703 Declare NO_RETURN.
fca99116 6704
80d26f99
GM
6705 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6706 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6707 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6708 warnings.
52283633 6709
80d26f99
GM
6710 * marker.c (byte_char_debug_check): Return void.
6711
623a0aae
GM
6712 * xfns.c (Fx_create_frame): Set default frame parameter value
6713 for tool-bar-lines to 1.
6714
6715 * dispnew.c (scrolling_window): Compare y-positions of rows
6716 equal at the start. Some simplification.
6717
6718 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6719 reused rows' y-position in the case window has a header-line, and
6720 new window start is greater than old window start.
6721
42ac0ae5
GM
6722 * process.c (process_sent_to): New variable.
6723 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6724 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6725 Declare more parameters volatile.
6726
550a625e
GM
6727 * lread.c (Vrecursive_load_depth_limit): New variable.
6728 (Fload): Check recursive loads whose recursion depth exceeds
6729 Vrecursive_load_depth_limit.
6730 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6731
8320414c
GM
67322000-09-20 Gerd Moellmann <gerd@gnu.org>
6733
f46c275e
GM
6734 * fileio.c (Fread_file_name): Doc fix.
6735
6736 * editfns.c (Fmessage_or_box): Doc fix.
6737
6738 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6739
b7e11c5b 6740 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6741
8320414c
GM
6742 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6743 symbols are specified, add color translations to the cache.
52283633 6744 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6745 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6746 xpm_cache_color.
6747 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6748 structures to xpm_init_color_cache.
6749
da1608d9
GM
67502000-09-19 Gerd Moellmann <gerd@gnu.org>
6751
52283633 6752 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6753
6badfa25
AI
67542000-09-19 Andrew Innes <andrewi@gnu.org>
6755
6756 * makefile.nt (bootstrap-emacs): Don't change directory.
6757
3a5f42bb
KH
67582000-09-19 Kenichi Handa <handa@etl.go.jp>
6759
1b7649bd
KH
6760 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6761
3a5f42bb
KH
6762 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6763 If output buffer is too small, signal an appropriated error.
6764
9f83cf0b
DL
67652000-09-18 Dave Love <fx@gnu.org>
6766
52283633 6767 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6768 (current_active_maps): Remove redundant get_local_map call.
6769
28c7826c
GM
67702000-09-18 Gerd Moellmann <gerd@gnu.org>
6771
5cefa566
GM
6772 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6773 cursor for buffers whose cursor_type is nil.
52283633 6774
6fed3546
GM
6775 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6776 a feature to implement that is already implemented.
6777 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6778 warnings.
6779
6780 * xfns.c (x_clear_image_1): New function.
6781 (x_clear_image): Use it.
52283633 6782 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6783
05b1f851
GM
6784 * dispnew.c (update_window): Move test for invisible lines
6785 at the top to update_window_line.
6786 (update_window_line): Handle invisible lines here.
6787
f4779de9
GM
6788 * xfns.c (clear_image_cache): Clear current matrices of all
6789 frames sharing an image cache. Block input while freeing
6790 images. Fix timestamp comparison.
6791 (x_clear_image): Also free the mask.
6792
28c7826c
GM
6793 * xfns.c (lookup_image): Block input while loading the image so
6794 that we won't get interrupted in a state where the image isn't yet
6795 set up completely.
6796 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6797 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6798 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6799 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6800
b7412313
GM
68012000-09-16 Gerd Moellmann <gerd@gnu.org>
6802
6803 * dispnew.c (update_window): Make sure to make desired rows
6804 current even if they are completely invisible at the top
6805 of a window.
6806
47e351a3
GM
68072000-09-15 Gerd Moellmann <gerd@gnu.org>
6808
7f8f1edc
GM
6809 * xfns.c (lookup_image): Build mask before applying an algorithm.
6810 Recognize algorithm `disabled'.
6811 (cross_disabled_images): New variable.
6812 (COLOR_INTENSITY): New macro.
6813 (x_detect_edges): Use COLOR_INTENSITY.
6814 (x_disable_image): New function.
6815 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6816
6817 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6818 disabled state, don't apply an image transformation algorithm if
6819 the user specified an image for the disabled state. Use
28c7826c 6820 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6821 user hasn't specified an image.
6822
ebb8f116
GM
6823 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6824 allocation functions with the XPM lib.
6825 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6826 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6827 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6828 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6829 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6830 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6831 functions, if possible, because these handle color allocation
6832 failure more gracefully.
6833 (Fimage_mask_p): New function.
6834
47e351a3
GM
6835 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6836 (Qedge_detection, Qheuristic): New symbols.
6837 (syms_of_xfns): Initialize new symbols.
6838 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6839 `algorithm (edge-detection ...)'.
6840 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6841 (tiff_format, gif_format, gs_format): Add `:mask'.
6842 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6843 (GIF_MASK, GS_MASK): New enumerators.
6844 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6845 (emboss_matrix, laplace_matrix): New variables.
6846 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6847 (x_edge_detection): New functions.
6848 (x_laplace): Rewritten in terms of x_detect_edges.
6849 (x_build_heuristic_mask): If image has a mask, free it.
6850
fe83b953
AI
68512000-09-14 Andrew Innes <andrewi@gnu.org>
6852
6853 * makefile.w32-in: Revert to Unix line endings.
6854
3021e816
AI
68552000-09-14 Andrew Innes <andrewi@gnu.org>
6856
6857 * makefile.w32-in: Standardize indentation somewhat.
6858 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6859 cater for differences between shells.
6860
6861 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6862
2a32b5ea
GM
68632000-09-14 Gerd Moellmann <gerd@gnu.org>
6864
6865 * xterm.c (x_produce_glyphs): If the distance from the current
6866 position to the next tab stop is less than a canonical character
6867 width, use the tab stop after that.
6868
b4331e96
DL
68692000-09-14 Dave Love <fx@gnu.org>
6870
6871 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6872
ef9e4345
GM
68732000-09-14 Gerd Moellmann <gerd@gnu.org>
6874
085536c2
GM
6875 * xdisp.c (handle_fontified_prop): While running fontification
6876 functions, bind `fontification-functions' and
6877 `after-change-functions' to nil.
6878
ef9e4345
GM
6879 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6880 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6881
6882 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6883
6884 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6885 USE_MMAP_FOR_BUFFERS.
6886
6887 * insdel.c (make_gap): Use enlarge_buffer_text.
6888
6889 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6890 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6891 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6892 from former r_alloc_* functions in ralloc.c.
52283633 6893 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6894 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6895 (mmap_init) [REL_ALLOC_MMAP]: New function.
6896 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6897 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6898 BUFFER_FREE.
6899
6900 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6901 (enlarge_buffer_text): Add prototype.
6902
6903 * ralloc.c: Remove everything having to do with the use of mmap.
6904
f8608968
GM
69052000-09-13 Gerd Moellmann <gerd@gnu.org>
6906
2a494b2d
GM
6907 * sound.c (Fplay_sound): Doc fix.
6908
8c907a56
GM
6909 * keyboard.c: Avoid some more compiler warnings.
6910 (parse_tool_bar_item): Ignore cached key bindings.
6911
f8608968
GM
6912 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6913 and allocation of Lisp data.
6914
6ab70e9a
GM
69152000-09-12 Gerd Moellmann <gerd@gnu.org>
6916
d12d0a9b
GM
6917 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6918 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6919 defaults first.
6920
6ab70e9a
GM
6921 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6922
63c36c3c
KH
69232000-09-12 Miyashita Hisashi <himi@meadowy.org>
6924
6925 * ccl.c: Comment fixed.
6926 (MAX_MAP_SET_LEVEL): Increased to 30.
6927 (PUSH_MAPPING_STACK): Enclose with do-while block.
6928 (POP_MAPPING_STACK): Likewise.
6929 (stack_idx_of_map_multiple): New variable.
6930 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6931 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6932 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6933 (ccl_driver) <CCL_MapSingle>: Likewise.
6934 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6935 with the case where looking up process reaches to the end of
6936 map-set, and call CCL programs as the above change.
6937
7ee3bd7b
GM
69382000-09-11 Gerd Moellmann <gerd@gnu.org>
6939
8ec8a5ec
GM
6940 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6941 that might be clobbered by longjmp.
6942 (check_x_display_info, x_decode_color, create_frame_xic)
6943 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6944 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6945
f74b0705
GM
6946 * lread.c (init_lread): Set Vloads_in_progress to nil.
6947 (Fload): Show list of recursively loaded files, when signaling an
6948 error.
6949
7ee3bd7b
GM
6950 * lread.c (Vloads_in_progress): New variable.
6951 (record_load_unwind): New function.
6952 (Fload): Check for recursive loads.
6953 (syms_of_lread): Initialize Vloads_in_progress.
6954 (read_integer, read1): Avoid some compiler warnings.
6955
6956 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6957 compiler warnings.
6958
974e1e5b
MB
69592000-09-11 Miles Bader <miles@gnu.org>
6960
6961 * editfns.c (Fbuffer_string): Doc fix.
6962
9824c4e3
GM
69632000-09-10 Gerd Moellmann <gerd@gnu.org>
6964
6965 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6966
6a72fdd1
KR
69672000-09-09 Ken Raeburn <raeburn@gnu.org>
6968
6969 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6970 whether to include other header files.
6971
28e6fb66
GM
69722000-09-09 Gerd Moellmann <gerd@gnu.org>
6973
52283633 6974 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6975 by Fmemq as a boolean.
28e6fb66 6976
7f8b6551
SM
69772000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6978
6979 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6980
a8710abf
GM
69812000-09-08 Gerd Moellmann <gerd@gnu.org>
6982
d1a02881
GM
6983 * ralloc.c (mmap_fd): Remove initializer which can make it
6984 read-only in a dumped Emacs.
6985 (mmap_fd_1): New variable.
6986 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6987 restore it from there.
6988 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6989 unconditionally so that mmap_fd can be initialized there.
6990 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6991 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6992 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6993
c454aac1
GM
6994 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6995
6996 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6997 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6998
fc653ef2
GM
6999 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
7000
3015eec0
GM
7001 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
7002 inheritance.
7003
bfe0ee88
GM
7004 * xdisp.c (try_window_id): When trying to locate cursor in
7005 unchanged rows at the top, handle the case that we can't find it.
7006
a8710abf
GM
7007 * xterm.c (x_draw_glyphs): Handle case START and END are out
7008 of bounds more carefully.
7009
6b7d4ae4
DL
70102000-09-08 Dave Love <fx@gnu.org>
7011
423193c5
DL
7012 * s/sol2.h (REL_ALLOC_MMAP): Define.
7013 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
7014
7015 * ralloc.c: Don't include string.h (redundant).
7016 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
7017 [!MAP_ANON]: Include fcntl.h.
7018 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
7019 (r_alloc, r_re_alloc, r_alloc_free)
7020 (mmap_enlarge, mmap_set_vars): Use it.
7021 (r_alloc_init_fd): New function.
7022 (__morecore) [SYSTEM_MALLOC]: Don't declare.
7023 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
7024 malloc type.
7025
7026 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
7027 Remove vm-limit.o.
7028
6b7d4ae4
DL
7029 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
7030 change to __NetBSD__.
7031
44d31981
KH
70322000-09-08 Kenichi Handa <handa@etl.go.jp>
7033
7034 * search.c (compile_pattern): Check the multibyteness of cached
7035 string and PATTERN.
7036
aad40737
MB
70372000-09-08 Miles Bader <miles@gnu.org>
7038
7039 * xfaces.c (default_face_vector): Function removed.
7040 (Finternal_merge_in_global_face): Restore old global/local
7041 attribute override order. Use inline loop instead of calling
7042 default_face_vector.
7043
91a211b5
GM
70442000-09-07 Gerd Moellmann <gerd@gnu.org>
7045
7046 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
7047 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
7048 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
7049 where necessary, in case POINTER_TYPE is `void'.
7050
03419440
EZ
70512000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
7052
7053 * frame.c (make_terminal_frame): Initialize frame foreground and
7054 background colors to unspecified, for the initial instance of an
7055 MSDOS frame.
7056
f46f845b
GM
70572000-09-07 Gerd Moellmann <gerd@gnu.org>
7058
24f76fbf
GM
7059 * ralloc.c (mmap_find): Fix overlap computation.
7060 (mmap_enlarge): Compute nbytes before trying to find an
7061 overlapping region.
7062
f46f845b
GM
7063 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
7064 instead of `!='.
7065
7066 * lread.c (syms_of_lread): Change value of regexp
7067 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
7068
7069 * xmenu.c (xdialog_show): When looking up the selection in
7070 menu_items, take `quote' boundaries into account; this corresponds
7071 to a nil ITEM in x-popup-dialog.
7072
3c014385
KH
70732000-09-07 Kenichi Handa <handa@etl.go.jp>
7074
fd6f711b
KH
7075 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
7076 not 0x81.
7077 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
7078
3c014385 7079 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
7080 encoding, not decoding. Fix the handling of latin-jisx0201.
7081 Check for the charset katakana-jisx0201 too.
3c014385 7082 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 7083 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 7084
0da3ecef
GM
70852000-09-07 Gerd Moellmann <gerd@gnu.org>
7086
ab0ee409
GM
7087 * xfaces.c (Vparam_value_alist): New variable.
7088 (syms_of_xfaces): Initialize it.
7089 (Finternal_set_lisp_face_attribute): Avoid more consing.
7090
7091 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
7092 specially.
7093 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
7094 (Qbackground_mode): New variable.
7095 (syms_of_frame_1): Initialize Qbackground_mode.
7096
7097 * lisp.h (Qdisplay): Declare extern.
1091dd67 7098
0da3ecef
GM
7099 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
7100 change face on all frames, and change the default for new frames.
7101
b14654b9
DL
71022000-09-07 Dave Love <fx@gnu.org>
7103
7104 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
7105
d24fd56f
KH
71062000-09-07 Kenichi Handa <handa@etl.go.jp>
7107
794f3670
KH
7108 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
7109
0fddd0dc
KH
7110 * charset.c: Include composite.h
7111 (lisp_string_width): New function.
7112 (Fstring_width): Call lisp_string_width instead of strwidth.
7113
7114 * Makefile.in (charset.o): Depends on composite.h.
7115
d24fd56f
KH
7116 * process.c (read_process_output): Before inserting the decoded
7117 text in the buffer, adjust the multibyteness.
7118
fa0b693c
GM
71192000-09-06 Gerd Moellmann <gerd@gnu.org>
7120
52283633 7121 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
7122 buffer's text buffer is null, map new memory.
7123
0a58f946
GM
7124 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
7125 POINTER_TYPE and size_t.
7126 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
7127 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
7128 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
7129 [REL_ALLOC_MMAP]: New macros.
7130 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
7131 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
7132 [REL_ALLOC_MMAP]: New functions.
7133
7134 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
7135 before and after unexec.
7136
7137 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
7138 text buffers if necessary.
7139
7140 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
7141 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
7142 in prototypes.
7143
fa0b693c
GM
7144 * config.in (HAVE_MMAP): Add #undef.
7145
877055f6
GM
71462000-09-05 Gerd Moellmann <gerd@gnu.org>
7147
08ba3862
GM
7148 * frame.c (Qdisplay_type): New variable.
7149 (syms_of_frame_1): Initialize it.
7150 (Fframe_parameter): New function that avoids consing.
7151 (syms_of_frame): Defsubr it.
7152
66ffe51c
GM
7153 * buffer.c (Fother_buffer): Consider buffers as invisible when
7154 they are displayed in a window on an invisible frame.
7155
877055f6
GM
7156 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
7157 get-largest-window always return nil.
7158
bb970e67
GM
71592000-09-04 Gerd Moellmann <gerd@gnu.org>
7160
7161 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
7162 variable; recognize Emacs 19 elc files.
7163
7a3d0e0e
MB
71642000-09-04 Miles Bader <miles@gnu.org>
7165
7166 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
7167 before initially popping up the menu, so the menu doesn't flash
52283633 7168 when the face settings are significantly different from the defaults.
7a3d0e0e 7169
14473664
SM
71702000-09-04 Stefan Monnier <monnier@cs.yale.edu>
7171
7172 * regex.c (WIDE_CHAR_SUPPORT): New macro.
7173 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
7174 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
7175 (BIT_UNIBYTE): Remove.
7176 (re_match_2_internal): Delete corresponding code and streamline the
7177 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
7178 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
7179 (re_wctype_t): New type.
7180 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
7181 (regex_compile): Use them and fix handling of overly long char classes.
7182
c1174479
AI
71832000-09-03 Andrew Innes <andrewi@gnu.org>
7184
f8803e97
AI
7185 * makefile.w32-in: Change to DOS line endings.
7186
c1174479
AI
7187 * s/ms-w32.h (ORDINARY_LINK): New define.
7188
7189 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
7190 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
7191
7192 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
7193 (distclean): Delete them here instead.
7194
44ef7cf6
AI
7195 * w32proc.c (compare_env): Convert to uppercase for comparison,
7196 not lowercase, to match how the native Windows shell works.
7197
49b3bd82
JR
71982000-09-03 Jason Rumney <jasonr@gnu.org>
7199
7200 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
7201 CVS changes the line-ends when checking in/out on DOS/Windows.
7202
7203 * makefile.nt (emacs): Do not change directory to run temacs, as
7204 the load-path is set relative to current directory.
7205
a3d35a39
MB
72062000-09-03 Miles Bader <miles@gnu.org>
7207
7208 * xterm.c (x_alloc_lighter_color_for_widget): New function.
7209
d276b0cf
GM
72102000-09-02 Gerd Moellmann <gerd@gnu.org>
7211
715e84c9
GM
7212 * xdisp.c (redisplay_mode_lines): New function.
7213 (display_mode_lines): Return number of mode lines displayed.
7214 (echo_area_display): Use redisplay_mode_lines to draw garbaged
7215 mode lines. Don't temporarily bind redisplay-dont-pause to t.
7216
8892f40b
GM
7217 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
7218 string.h and strings.h.
7219 (index) [HAVE_INDEX]: Add prototype.
7220
d276b0cf
GM
7221 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
7222 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
7223
7224 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
7225 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
7226
38404229
GM
72272000-09-01 Gerd Moellmann <gerd@gnu.org>
7228
7229 * lread.c (read1): Accept `?' as symbol constituent, for
7230 compatiblity with XEmacs.
7231
c0f9ea08
SM
72322000-08-31 Stefan Monnier <monnier@cs.yale.edu>
7233
7234 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
7235 (struct re_pattern_buffer): Remove newline_anchor.
7236 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
7237 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
7238 (re_max_failures, fail_stack): Use size_t rather than unsigned.
7239 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
7240 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
7241 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
7242 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
7243 Get rid of references to newline_anchor.
7244 (regcomp): Allocate and precompute a fastmap.
7245
8c0f83fe
GM
72462000-08-31 Gerd Moellmann <gerd@gnu.org>
7247
7248 * lread.c (openp): GCPRO local variable `filename'.
7249
4bb91c68
SM
72502000-08-30 Stefan Monnier <monnier@cs.yale.edu>
7251
7252 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
7253
7254 * regex.c: Merge some changes from GNU libc. Add prototypes.
7255 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
7256 Use memcmp and memcpy instead of bcopy and bcmp.
7257 (init_syntax_once): Use ISALNUM.
7258 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
7259 (REG_UNSET_VALUE): Remove. Use NULL instead.
7260 (REG_UNSET, re_match_2_internal): Use NULL.
7261 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
7262 New macros.
7263 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
7264 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
7265 (regex_compile): In handle_interval, return an error rather than try to
7266 unfetch the interval if we can't find the closing brace.
7267 Obey the RE_NO_GNU_OPS syntax bit.
7268 (TOLOWER): New macro.
7269 (regcomp): Use it.
7270 (regexec): Allocate regs.start and regs.end as one block.
7271
5226a931
GM
72722000-08-30 Gerd Moellmann <gerd@gnu.org>
7273
868dd24b
GM
7274 * xdisp.c (echo_area_display): Check display_completed instead
7275 of calling detect_input_pending.
7276
7277 * dispnew.c (update_frame): Only set display_completed here; move
7278 the update_begin and update_end calls here from update_frame_1.
7279 (update_frame_1): Don't set display_completed here, don't call
7280 update_begin/update_end.
7281
5226a931
GM
7282 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
7283 instead of store_frame_param.
7284
2a8bd25f
GM
72852000-08-29 Gerd Moellmann <gerd@gnu.org>
7286
7287 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
7288 desired window matrix hasn't been displayed, use the current row
7289 instead. Make sure that only those frame rows are updated for
7290 which there exists a corresponding enabled desired row.
52283633 7291
ba3478d9
MB
72922000-08-29 Miles Bader <miles@gnu.org>
7293
7294 * xfaces.c (default_face_vector): New function.
7295 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
7296
87d0f685
GM
72972000-08-29 Gerd Moellmann <gerd@gnu.org>
7298
7299 * lread.c (openp): Prevent temporary string passed to
7300 Ffile_readable_p from being garbage collected.
7301
6fa86045
DL
73022000-08-28 Dave Love <fx@gnu.org>
7303
7304 * keymap.c (store_in_keymap): Add `static' to declaration.
7305
bb17930d
GM
73062000-08-28 Gerd Moellmann <gerd@gnu.org>
7307
7308 * emacs.c, callint.c, doc.c, editfns.c
7309 (toplevel) [HAVE_STRING_H]: Include string.h.
7310 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
7311 (index): Remove prototypes which might conflict with non-standard
7312 definitions of index/strchr.
7313
7314 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
7315 (rindex): Define only if !HAVE_RINDEX.
7316
7317 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
7318
7319 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
7320
87188200
MB
73212000-08-28 Miles Bader <miles@gnu.org>
7322
7323 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
7324 made inconsistent by a font-related attribute in FROM.
7325 (merge_face_inheritance): Add function comment.
7326
41a68aef
KH
73272000-08-28 Kenichi Handa <handa@etl.go.jp>
7328
7329 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
7330 the 4th arg (PREV_EVENT) Qt to suppress input method.
7331
f7c436c1
SM
73322000-08-27 Stefan Monnier <monnier@cs.yale.edu>
7333
0b32bf0e
SM
7334 * regex.c: Indent cpp directives and remove parens after `defined'.
7335 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
7336 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
7337 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
7338 (re_compile_pattern): Use size_t for length.
7339 (init_syntax_once): Move to a better place.
7340 * regex.h: Merge changes from GNU libc. Indent cpp directives.
7341 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
7342
f7c436c1
SM
7343 * syntax.c (back_comment): Detect cases where a comment-starter is
7344 actually inside another comment as in: /* a // b */ c // d \n.
7345 Make it clear that `comstart_pos' is unused for nested comments.
7346
7347 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
7348 (KEYMAPP): New macro.
7349 (Fkeymap_parent, Fset_keymap_parent): Use it.
7350 (fix_submap_inheritance): Mark it static.
7351 (define_as_prefix, describe_buffer_bindings, describe_command)
7352 (describe_translation, describe_map): Complete prototypes.
7353
7354 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
7355
7356 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
7357 to better match the key-lookup behavior.
7358
6288c62f
GM
73592000-08-27 Gerd Moellmann <gerd@gnu.org>
7360
7361 * xfaces.c (lface_fully_specified_p): Handle :inherit.
7362 (Finternal_set_lisp_face_attribute): Fix typo in error message.
7363
e931344e
EZ
73642000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
7365
7366 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
7367 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
7368 (xterm.o): Depend on coding.h
7369
d10dfeef
KH
73702000-08-26 Kenichi Handa <handa@etl.go.jp>
7371
7372 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
7373 the corresponding '#endif'.
7374
2d73e8d3
MB
73752000-08-26 Miles Bader <miles@gnu.org>
7376
7377 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
7378 * xfaces.c (QCinherit): New variable.
7379 (syms_of_xfaces): Initialize it.
7380 (LFACE_INHERIT): New macro.
7381 (Finternal_get_lisp_face_attribute)
52283633 7382 (merge_face_vector_with_property)
2d73e8d3
MB
7383 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
7384 (check_lface_attrs): Allow new types of face height. Check
7385 inherit attribute.
7386 (CYCLE_CHECK): New macro.
7387 (merge_face_inheritance): New function.
7388 (merge_face_vectors): Merge inherited faces too. Add F and
7389 CYCLE_CHECK arguments.
7390 (merge_face_vector_with_property, Finternal_merge_in_global_face)
7391 (lookup_named_face, lookup_derived_face, realize_named_face)
7392 (face_at_string_position, face_at_buffer_position): Supply
7393 new F and CYCLE_CHECK arguments to merge_face_vectors.
7394 (merge_face_heights): New function.
52283633 7395 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
7396 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
7397 handle relative face heights.
7398 (lface_same_font_attributes_p): Compare heights using EQ.
7399
6ce974d4
KH
74002000-08-26 Kenichi Handa <handa@etl.go.jp>
7401
7402 * charset.c (char_to_string): Check the character validity.
52283633 7403 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 7404
dc1e502d
SM
74052000-08-25 Stefan Monnier <monnier@cs.yale.edu>
7406
7407 * regex.c (PUSH_FAILURE_COUNT): New macro.
7408 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
7409 Handle popping of a register's or a counter's data.
7410 (POP_FAILURE_POINT): Use the new name.
7411 (re_match_2_internal): Push counter data on the stack for succeed_n,
7412 jump_n and set_number_at and remove misleading dead code in succeed_n.
7413
bd9d0f3f
GM
74142000-08-25 Gerd Moellmann <gerd@gnu.org>
7415
7416 * xdisp.c (redisplay_internal): If considering all windows on all
7417 frames, update the display for each frame as soon as possible,
7418 instead of first building all desired matrices for all frames, and
7419 then updating them all.
7420 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
7421
aa5b8e15
GM
74222000-08-24 Gerd Moellmann <gerd@gnu.org>
7423
17494071
GM
7424 * bytecode.c (mark_byte_stack): Add a comment.
7425
52283633
SM
7426 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
7427 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
7428 a graphical frame.
7429
c543db81
KH
74302000-08-24 Kenichi Handa <handa@etl.go.jp>
7431
d246d5f5
KH
7432 * minibuf.c (do_completion): Always use compare-string, not
7433 string-equal because the latter doesn't pay attention to
7434 multibyteness of strings.
7435
c543db81
KH
7436 * process.c (create_process): Don't setup raw-text coding here.
7437 (Fopen_network_stream): Don't set coding->src_multibyte and
7438 coding->dst_multibyte here.
7439 (read_process_output): For process filter, return unibyte string
7440 if default-enable-multibyte-characters is nil.
7441 (send_process): If OBJECT is multibyte text, be sure to encoded it
7442 by the specified coding system for the process. Otherwise, setup
7443 raw-text coding.
52283633 7444 (init_process): Don't initialize default-process-coding-system here.
c543db81 7445
9b47cfe0
EZ
74462000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7447
7448 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7449 <scroll-down-aggressively>: Likewise.
7450
f5a36960
KH
74512000-08-23 Kenichi Handa <handa@etl.go.jp>
7452
7453 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7454 zero. Set coding->produced_char correctly.
7455
69a7ffa7
AI
74562000-08-22 Andrew Innes <andrewi@gnu.org>
7457
7458 * makefile.w32-in: New file.
7459
7460 * unexw32.c (unexec): Ignore old_name, and use the actual location
7461 of the current executable instead. Base new_name on this.
7462
7463 * w32proc.c (create_child): Remove reference to security
7464 descriptor, which isn't needed and doesn't compile with mingw32.
7465
7466 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7467 up dllimport attributes.
7468 (x_update_window_end): Update prototype.
7469
7470 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7471 extern, which screws up dllimport attributes.
7472
7473 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7474 up dllimport attributes.
7475
7476 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7477 screws up dllimport attributes.
7478
7479 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7480 up dllimport attributes.
7481 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7482 screws up dllimport attributes.
7483
7484 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7485 up dllimport attributes.
7486
7487 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7488 screws up dllimport attributes.
7489
7490 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7491 screws up dllimport attributes.
7492
7493 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7494 up dllimport attributes.
7495
7496 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7497 unnecessary extern, which screws up dllimport attributes.
7498 (main): Ditto.
7499
7500 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7501 up dllimport attributes.
7502
7503 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7504 unnecessary extern, which screws up dllimport attributes.
7505
7506 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7507 screws up dllimport attributes.
7508
7509 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7510 up dllimport attributes.
7511
7512 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7513
52283633
SM
7514 * w32bdf.c (search_file_line):
7515 (set_bdf_font_info):
7516 (seek_char):
7517 (w32_get_bdf_glyph):
69a7ffa7
AI
7518 (w32_BDF_to_x_font): Fix compile warnings.
7519
52283633 7520 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7521
7522 * w32select.c: Include keyboard.h before frame.h.
7523
7524 * w32fns.c (max): Define macro.
7525 (JOHAB_CHARSET): Define if not known.
7526 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7527 (Fx_show_tip): Synch with X version.
7528
7529 * w32xfns.c: Include keyboard.h before frame.h.
7530
7531 * w32fns.c: Include keyboard.h before frame.h.
7532
7533 * w32term.c: Include keyboard.h before frame.h.
7534
7535 * fontset.c: Include keyboard.h before frame.h.
7536
7537 * w32inevt.c: Include keyboard.h before frame.h.
7538 (MOUSE_MOVED): Define if not known.
7539
7540 * minibuf.c: Include keyboard.h before frame.h.
7541
7542 * keyboard.c: Include keyboard.h before frame.h.
7543
7544 * indent.c: Include keyboard.h before frame.h.
7545
7546 * dispnew.c: Include keyboard.h before frame.h.
7547
7548 * buffer.c: Include keyboard.h before frame.h.
7549
7550 * alloc.c: Include keyboard.h before frame.h.
7551
7552 * print.c: Include keyboard.h before frame.h.
7553
7554 * process.c: Include keyboard.h before frame.h.
7555
7556 * scroll.c: Include keyboard.h before frame.h.
7557
7558 * sysdep.c: Include keyboard.h before frame.h.
7559
7560 * term.c: Include keyboard.h before frame.h.
7561
7562 * window.c: Include keyboard.h before frame.h.
7563
7564 * xdisp.c: Include keyboard.h before frame.h.
7565 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7566
7567 * frame.c: Include keyboard.h before frame.h.
7568
7569 * w32heap.h: Undefine min, max.
7570
7571 * w32gui.h: Undefine min, max.
7572
7573 * unexw32.c: Change PUCHAR to PCHAR.
7574 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7575 (relocate_offset):
7576 (get_section_info):
69a7ffa7
AI
7577 (copy_executable_and_dump_data): Remove unnecessary static defs.
7578 (copy_executable_and_dump_data): Fix compile warnings.
7579
7580 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7581
7582 * w32console.c (min): Define macro.
7583 (clear_frame, write_glyphs): Fix compile warning.
7584
52283633 7585 * w32proc.c (compare_env):
69a7ffa7
AI
7586 (find_child_console): Fix compile warning.
7587
7588 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7589 sys_errlist instead of _sys_errlist.
7590 (get_emacs_configuration_options): New function.
7591
7592 * s/ms-w32.h (sys_nerr): Provide default definition.
7593 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7594 name with _ prepended.
7595 (NSIG): Define if not known.
7596 (get_emacs_configuration): Provide extern declaration.
7597 (get_emacs_configuration_options): Provide extern declaration.
7598 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7599
7600 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7601 (map_w32_filename):
69a7ffa7
AI
7602 (read_unc_volume): Fix compile warning.
7603
7604 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7605 definitions from being used.
7606
7607 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7608
52283633 7609 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7610 (open_unc_volume): Make arg const.
7611
7612 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7613 (read_input_waiting): Remove excess parameter.
7614
7615 * w32.c (init_environment): Call _access.
7616 (check_windows_init_file): Call _close.
7617 (init_user_info): Call _putenv.
7618 (init_environment): Call _putenv and _strdup.
7619 (init_ntproc): Reset volume info cache on startup.
7620
7621 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7622 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7623 cannot override the CRT malloc.
7624
7625 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7626 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7627
7628 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7629 unless we are linking with a static CRT.
7630 (RVA_TO_PTR): Cast result to unsigned char*.
7631
7632 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7633 (add_volume_info): Use xstrdup.
7634
25060080
SM
76352000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7636
7637 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7638 (do_completion, Fminibuffer_complete_word): Use it.
7639 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7640 var so it can take non-boolean values.
7641
6917e6bb
GM
76422000-08-21 Gerd Moellmann <gerd@gnu.org>
7643
acb7cc89 7644 * editfns.c (find_field): Formatting changes.
52283633 7645 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7646 changed to prototypes, some new protypes added, some functions
7647 made static.
7648
7649 * lisp.h (set_time_zone_rule): Add prototype.
7650 (use_dialog_box): External declaration.
7651
0bbfdc25
GM
7652 * keyboard.c (gen_help_event): Add parameter SIZE.
7653 (kbd_buffer_events_waiting): Slightly rewritten.
7654 (clear_event): New function.
7655 (kbd_buffer_get_event): Use it, and clear the input_events of
7656 HELP_EVENTs.
7657 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7658 don't fill the newly created array with nils.
7659 (toplevel): Convert some old-style function forward declarations
7660 to prototypes.
7661
7662 * keyboard.h (gen_help_event): Change prototype.
7663
7664 * xterm.c (XTread_socket): Change calls to gen_help_event.
7665
7666 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7667
6917e6bb
GM
7668 * eval.c (Fmacroexpand): Doc fix.
7669
e5cd3d11
JR
76702000-08-20 Jason Rumney <jasonr@gnu.org>
7671
7672 * w32term.h (x_display_info_for_display): Remove as this function
7673 does not exist on W32.
7674
7675 * w32term.c (help_echo_window): New variable.
7676 (syms_of_w32term): staticpro it.
7677 (note_mode_line_highlight): Set it.
7678 (XTextExtents16): Removed as there is no equivalent on W32.
7679 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7680 the X way of doing this will not work for W32.
7681 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7682 (x_draw_image_foreground): Avoid drawing outside of the clip area
7683 when image doesn't have a mask.
7684 (note_mouse_highlight): Process overlays in the right order of
7685 priority. Set help_echo_window.
7686 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7687 because that's more visible for large images.
7688
7689 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7690 name to single_keymap_panes.
7691 (w32_menu_show): Set wv->title when dealing with titles.
7692 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7693
6e69ab8c
MB
76942000-08-21 Miles Bader <miles@gnu.org>
7695
7696 * minibuf.c (do_completion): Try again if we rewrite the input
7697 string, but no completion was done, so that any completion message
7698 will be correct.
7699
511bd4eb
GM
77002000-08-20 Gerd Moellmann <gerd@gnu.org>
7701
7702 * xfaces.c (lface_equal_p): Compare strings differently.
7703 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7704 (realize_tty_face): Use them.
7705 (syms_of_xfaces): Initialize new variables.
7706 (map_tty_color): New function, extracted from realize_tty_face.
7707 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7708 foreground or background color, store the new color name in the
7709 realized face; previous code trying to do this had no effect.
7710 (realize_tty_face): Use map_tty_color.
7711 (Fclear_face_cache): Set face_change_count and ensure thorough
7712 redisplay.
7713
1433385f
GM
77142000-08-19 Gerd Moellmann <gerd@gnu.org>
7715
511bd4eb
GM
7716 * undo.c (record_first_change, record_marker_adjustment): Don't
7717 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7718
419ac0a2
KH
77192000-08-18 Kenichi Handa <handa@etl.go.jp>
7720
7721 * coding.c (decode_coding_string): Set members consumed,
7722 consumed_char, produced, produced_char of *coding correctly. If
7723 decode_coding doesn't consume any byte, don't try anymore.
7724 (encode_coding_string): Likewise.
7725
7eb9e30d
GM
77262000-08-18 Gerd Moellmann <gerd@gnu.org>
7727
511bd4eb
GM
7728 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7729 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7730
7731 * xdisp.c (redisplay_internal): Compare windows for equality with
7732 EQ, instead of applying XWINDOW to something that might not
7733 be a window.
52283633 7734
dd34a735
KH
77352000-08-18 Kenichi Handa <handa@etl.go.jp>
7736
7737 * fontset.c (Finternal_char_font): Search only the selected frame
7738 for a window of the current buffer.
7739
385ff9e3
GM
77402000-08-18 Gerd Moellmann <gerd@gnu.org>
7741
511bd4eb 7742 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7743 Lisp_Objects.
7744
385ff9e3
GM
7745 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7746 second half of a HELP_EVENT is found at the start of kbd_buffer.
7747
d6abb4c7
MB
77482000-08-18 Miles Bader <miles@gnu.org>
7749
4618074a
MB
7750 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7751
d6abb4c7
MB
7752 * editfns.c (save_restriction_save): Rewrite to use markers.
7753 (save_restriction_restore): Rewrite to understand new form of data
7754 saved by save_restriction_save.
7755 (Fsave_restriction): Remove cautionary note in doc-string.
7756
a7b28523
GM
77572000-08-17 Gerd Moellmann <gerd@gnu.org>
7758
7759 * fileio.c (build_annotations): Add a comment explaining the
7760 return value of format-annotate-function. Replace a spurious call
7761 to Flength with a CONSP test. Call format-annotate-function with
7762 a fifth arg specifying how many times the function is been called
7763 in a row, to let it choose temporary buffers appropriately.
7764
03c9ed77
DL
77652000-08-17 Dave Love <fx@gnu.org>
7766
7767 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7768 declare make_temp_name twice.
7769
52283633 7770 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7771 (unreadpure): Give it an arg.
7772
7773 * unexalpha.c: Prototype fatal_unexec, mark_x,
7774 update_dynamic_symbols. Declare unexec as void.
7775
7776 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7777 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7778
7779 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7780 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7781
7782 * alloca.c: Use #error.
7783 [POINTER_TYPE]: Use it.
7784
7785 * eval.c (Fdefvar): Doc fix.
7786
7787 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7788 INITIALIZE_INTERVAL.
7789
7790 * buffer.h: Avoid DECLARE_INTERVALS.
7791
7792 * config.in: Add size_t.
7793
aae41d97
EZ
77942000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7795
7796 * w16select.c (set_clipboard_data): If there's not enough memory
7797 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7798 expects. In case of other failures, return 3.
7799 (system_error_msg): New error message.
7800 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7801 system_error_msg.
7802
65aa5e85
GM
78032000-08-16 Gerd Moellmann <gerd@gnu.org>
7804
7805 * term.c (write_glyphs): Also turn off inverse video after turning
7806 off other appearances in case TS_exit_attribute_mode is not equal
7807 to TS_end_standout_mode.
7808 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7809 with the same face.
7810 (turn_off_face): Reset standout_mode only if
7811 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7812 is equal to TS_end_standout_mode.
7813
ece23901
KH
78142000-08-16 Kenichi Handa <handa@etl.go.jp>
7815
9d7bcb2e
KH
7816 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7817 sequence at the end of the source block.
7818
ece23901
KH
7819 * ccl.c (Fccl_program_p): Docstring modified.
7820 (Fccl_execute): Likewise.
7821 (Fccl_execute_on_string): Likewise.
7822
5e30eaa2
EZ
78232000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7824
7825 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7826
290602fd
KH
78272000-08-16 Kenichi Handa <handa@etl.go.jp>
7828
7829 The following changes are mainly to fix bugs of
7830 encode/decode-coding-string failing if encoding/decoding return
7831 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7832 variable conversion_buffer.
7833
7834 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7835 decrement dst_end to avoid buffer overflow in the later call of
7836 string_as_multibyte
7837
7838 * coding.h (conversion_buffer_size, conversion_buffer)
7839 (get_conversion_buffer): Extern deleted.
7840
7841 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7842 (conversion_buffer, conversion_buffer_size): Variables deleted.
7843 (get_conversion_buffer): Function deleted.
7844 (struct conversion_buffer): New structure.
7845 (MAX_ALLOCA): New macro.
7846 (allocate_conversion_buffer): New macro.
7847 (extend_conversion_buffer, free_conversion_buffer): New functions.
7848 (ccl_coding_driver): Set coding->result.
7849 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7850 this is the last block of source.
7851 (encode_coding): Likewise. Handle the source block as the last
7852 one only when the whole source text is consumed.
7853 (decode_coding_string): Handle the case that the output buffer is
7854 too small to decode the whole source text. Use
7855 allocate_conversion_buffer, extend_conversion_buffer and
7856 free_conversion_buffer, not get_conversion_buffer.
7857 (encode_coding_string): Likewise.
7858 (init_coding): Function deleted.
52283633 7859 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7860
7861 * emacs.c (main): Don't call init_coding.
7862
52283633 7863 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7864
7865 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7866 (insert_glyphs): Likewise.
7867
7868 * w32console.c (write_glyphs): Use a locally declared
7869 conversion_buffer.
7870
b9f80d41
EZ
78712000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7872
7873 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7874 member of display_info is NULL.
7875
32dc52f7
GM
78762000-08-15 Gerd Moellmann <gerd@gnu.org>
7877
52283633 7878 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7879
32dc52f7 7880 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7881 appearances with capability `me'.
32dc52f7
GM
7882 (write_glyphs): Switch on inverse video before each face change.
7883
4eb22d33
DL
78842000-08-14 Dave Love <fx@gnu.org>
7885
7886 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7887 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7888 (lisp_free): Declare and make static.
7889
7890 * window.c: Fix embedded comment.
7891 (syms_of_window): Fix doc string.
7892
90cbf47e
GM
78932000-08-14 Gerd Moellmann <gerd@gnu.org>
7894
52283633 7895 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7896 make sure to print `C-' before `M-', like in the manual.
7897
440fc135
GM
78982000-08-11 Gerd Moellmann <gerd@gnu.org>
7899
7900 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7901 since they aren't relocated anymore.
52283633 7902 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7903
7904 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7905 partially visible line which is smaller than the window's height.
440fc135 7906
6e264fad
KH
79072000-08-11 Kenichi Handa <handa@etl.go.jp>
7908
7909 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7910 the multibyte form of eight-bit-control characters.
6e264fad
KH
7911 (Fccl_execute_on_string): Initialize ccl->multibyte.
7912
7913 * ccl.h (struct ccl_program): New member multibyte.
7914
7915 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7916
c371f69a
KH
79172000-08-11 Kenichi Handa <handa@etl.go.jp>
7918
7919 * regex.c (regex_compile) <normal_char>: Pay attention to
7920 multibyteness.
7921 (analyse_first) <exactn>: Setup fastmap correctly for
7922 eight-bit-control characters.
7923
79242000-08-11 Kenichi Handa <handa@etl.go.jp>
7925
52283633 7926 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7927
7928 * keyboard.c (make_lispy_event): Handle the new event type
7929 multibyte_char_keystroke.
7930
7931 * xterm.c: Include coding.h.
7932 (XTread_socket): Work around a bug of XmbLookupString. If the
7933 input is from XIM, decode it according to the current locale. In
7934 that case, generate multibyte_char_keystroke events.
7935
b8ddbe71
KH
79362000-08-11 Kenichi Handa <handa@etl.go.jp>
7937
7938 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7939 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7940
47589c8c
GM
79412000-08-10 Gerd Moellmann <gerd@gnu.org>
7942
7943 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7944 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7945 (move_it_in_display_line_to): Record iterator's ascent and descent
7946 before producing glyphs, and restore them when we know the glyph
7947 doesn't fit on the line.
7948 (move_it_to): Restructured so that it's easier to debug. If
7949 moving to a vpos, and not moving to an x or character position,
7950 stop as soon as the specified vpos is reached; don't move further
7951 into that line because that might change the computed line height.
7952 (try_cursor_movement): New function, extracted from the cursor
7953 movement branch of redisplay_window. If ending on a partially
7954 visible line, don't try to scroll if the cursor line is taller
7955 than the window.
7956 (redisplay_window): Use try_cursor_movement.
7957
7958 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7959 because that function doesn't cope with variable-height lines.
7960
7961 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7962 box cursor because that's better visible for large images.
52283633 7963
c51bacd6
MB
79642000-08-10 Miles Bader <miles@gnu.org>
7965
7966 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7967
bea56df7
GM
79682000-08-10 Gerd Moellmann <gerd@gnu.org>
7969
7970 * xdisp.c (Vmessages_buffer_name): New variable.
7971 (message_dolog): Use it.
7972 (syms_of_xdisp): Initialize it.
7973
99cd7364
EZ
79742000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7975
52283633 7976 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7977 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7978 redundant now that keyboard.h is included.
7979
7d093d56
EZ
79802000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7981
7982 * keyboard.c (kbd_buffer_events_waiting): New function.
7983
7984 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7985
7986 * msdos.c: Include keyboard.h.
7987 (XMenuActivate): Empty no_event events from the event buffer. If
7988 no events are left after that, call clear_input_pending.
7989 (mouse_clear_clicks): New function, code moved from mouse_init.
7990 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7991 mouse driver to ``forget'' any past clicks.
7992
7993 * Makefile.in (msdos.o): Depend on keyboard.h.
7994
41e757a6
GM
79952000-08-09 Gerd Moellmann <gerd@gnu.org>
7996
8e7bd231
GM
7997 * lisp.h (input_pending): External declaration.
7998
7999 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 8000
8e7bd231
GM
8001 * xdisp.c (echo_area_display): Display thoroughly if input is
8002 pending. Bind redisplay-dont-pause to t during the redisplay.
8003 in case input is pending.
8004
8005 * dispnew.c (Qredisplay_dont_pause): New variable.
8006 (syms_of_display): Initialize and staticpro it.
8007 (update_frame_1): Don't interrupt the display for pending input if
8008 redisplay_dont_pause is set.
52283633 8009
43028b7e
GM
8010 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
8011
41e757a6
GM
8012 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8013
2f2174fa
KH
80142000-08-09 Miles Bader <miles@lsi.nec.co.jp>
8015
8016 * callproc.c (Fcall_process): Terminate the unwind-protect around
8017 the post-read-conversion of coding system.
8018
0a6fd67e
MB
8019 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
8020 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
8021 * buffer.h (overlays_at): Update prototype.
8022 * xdisp.c (next_overlay_change): Update call to overlays_at.
8023 * xfaces.c (face_at_buffer_position): Likewise.
8024 * textprop.c (Fget_char_property): Likewise.
8025 * xterm.c (note_mouse_highlight): Likewise.
8026
0c80756e
MB
8027 * minibuf.c (do_completion): Don't consider a simple change of
8028 case as `completion'.
8029
975f250a
KR
80302000-08-08 Ken Raeburn <raeburn@gnu.org>
8031
52283633 8032 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
8033 * undo.c (record_delete): Make sure last_point_position_buffer is
8034 a buffer before comparing pointers.
8035
8036 * coding.h (decode_coding_string): Declare.
8037
8038 * intervals.h (Fprevious_single_char_property_change): Declare.
8039
8040 * textprop.c (Fprevious_single_char_property_change): Don't do
8041 arithmetic directly on lisp objects.
8042
52283633 8043 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
8044
8045 * keyboard.h (menu_item_eval_property): Declare.
8046
8047 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
8048 reuse as buffer name, instead of recreating (and discarding) every
8049 time a message is logged.
8050 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
8051 (current_message_1, truncate_message_1, set_message_1)
8052 (display_echo_area_1, resize_mini_window_1): Signatures changed.
8053 (current_message, truncate_echo_area, display_echo_area)
8054 (resize_echo_area_axactly): Changed calls.
b347b3fd 8055
975f250a 8056 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 8057 Lisp object.
975f250a 8058 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 8059 must be an integer, not a Lisp object.
975f250a 8060
46dc9912
KH
80612000-08-08 Kenichi Handa <handa@etl.go.jp>
8062
8063 * charset.c (Fchar_width): Doc fix.
8064
9f6d1a6c
GM
80652000-08-08 Gerd Moellmann <gerd@gnu.org>
8066
8067 * charset.c (Fstring_width): Doc fix.
8068
ff3d9573
GM
80692000-08-07 Gerd Moellmann <gerd@gnu.org>
8070
41e757a6 8071 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
8072 line, clear ascent and descent members of the iterator structure;
8073 the height of the continued line does not affect the height of the
8074 continuation line.
8075 (make_cursor_line_fully_visible): Do nothing if cursor is on a
8076 line taller than the window.
8077 (redisplay_window) <forced window start>: Handle case that the
8078 middle of the window is not found in any row.
8079 (dump_glyph_row): Show more information.
8080 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
8081 first text line in a glyph matrix.
8082
8083 * xterm.c (x_draw_image_foreground): Avoid drawing outside
8084 of the clip area when image doesn't have a mask.
8085
70fc58b3
GM
8086 * fns.c (sweep_weak_table): Fix survival conditions for
8087 key-or-value and key-and-value weakness.
8088
8089 * .gdbinit (xhashtable): New command.
8090
ac0e96ee
GM
8091 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
8092 tables out of the list of all weak hash tables.
8093
ff3d9573
GM
8094 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
8095 a new buffer is created, make sure echo_area_buffer[] references
8096 the new buffer.
8097
e0d8827b
EZ
80982000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
8099
8100 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
8101 the doc string.
8102
c6f35378
KH
81032000-08-07 Kenichi Handa <handa@etl.go.jp>
8104
8105 * syntax.c (skip_chars): Fix previous change. Make the handling
8106 of unibyte string consistent with that of regex search.
8107
1fd4c450
GM
81082000-08-05 Gerd Moellmann <gerd@gnu.org>
8109
e49aa397
GM
8110 * xmenu.c (popup_get_selection): Use xfree instead of free.
8111
8112 * fileio.c (Finsert_file_contents): Use xfree instead of free.
8113
8114 * editfns.c (Ftranspose_regions): Use xfree instead of free.
8115
8116 * callproc.c (child_setup): Use xfree instead of free.
8117
8118 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
8119 instead of malloc.
8120 (run_mac_command, closedir): Use `xfree' instead of `free'.
8121
8122 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
8123
8124 * eval.c (error): Use xfree instead of free.
8125
1fd4c450
GM
8126 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
8127
8128 * fns.c: Replace `illegal' with `invalid'.
e49aa397 8129 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 8130
82d497fc
KH
81312000-08-05 Kenichi Handa <handa@etl.go.jp>
8132
8133 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
8134 conversion.
8135
59f953a2
NF
81362000-08-04 Noah Friedman <friedman@splode.com>
8137
8138 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
8139 docstring.
8140
688351f2
GM
81412000-08-04 Gerd Moellmann <gerd@gnu.org>
8142
8143 * syntax.c (skip_chars): Fix typo in error message.
8144
2dad51cc
AS
81452000-08-04 Andreas Schwab <schwab@suse.de>
8146
8147 * m/ia64.h: Moved from s/ia64.h.
8148
99bb2c60
KH
81492000-08-04 Kenichi Handa <handa@etl.go.jp>
8150
082a1df2
KH
8151 * process.c (read_process_output): Big simplification. Handle
8152 composition and post-read-conversion of coding system correctly.
8153 (send_process): Handle composition correctly.
8154
8155 * callproc.c (Fcall_process): Handle post-read-conversion of
8156 coding system if any.
8157
99bb2c60
KH
8158 * coding.c (decode_coding_iso2022): More strict check for handling
8159 single shifting.
082a1df2
KH
8160 (coding_restore_composition): Pay attention to the case that
8161 cmp_data is not set properly (because of invalid code in the
8162 source text).
8163 (run_pre_post_conversion_on_str): Include text properties in the
8164 resulting string.
8165 (decode_coding_string): Set members of coding correctly.
99bb2c60 8166
f4988be7
GM
81672000-08-03 Gerd Moellmann <gerd@gnu.org>
8168
8169 * s/ia64.h: New file.
8170
8171 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
8172 Use NULL instead of 0 at the end of variable argument list of
8173 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
8174 sizeof (int) < sizeof (void *).
8175
8176 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
8177 of variable argument lists of XtVaGetValues and XtVaSetValues.
8178
8179 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
8180 variable argument lists of XtVaGetValues and XtVaSetValues.
8181
ead53494
GM
81822000-08-02 Gerd Moellmann <gerd@gnu.org>
8183
8184 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
8185 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
8186
8187 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
8188 prototype.
8189
8190 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
8191 in call to Fsingle_key_description.
8192
8193 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
8194 Callers changed.
8195
81962000-08-02 Colin Walters <walters@cis.ohio-state.edu>
8197
8198 * window.c (display_buffer_reuse_frames): New variable.
8199 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
8200 frames displaying BUFFER.
52283633 8201 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 8202
10b0f752
MB
82032000-08-01 Miles Bader <miles@gnu.org>
8204
8205 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
8206 when to constrain NEW_POS (they were pretty screwed up before).
8207
16425c4a
EZ
82082000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
8209
8210 * msdos.c (run_msdos_command): Save and restore the master
8211 environment, for the case that child_setup signals an error.
8212 When mirroring slashes in DOS shell commands, don't fail when
8213 argv[2] has embedded blanks.
da288c14
EZ
8214 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
8215 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
8216 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
8217
8218 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
8219 using alloca; free it after run_msdos_command returns.
8220
27f73852
DL
82212000-07-27 Dave Love <fx@gnu.org>
8222
52283633
SM
8223 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
8224 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
8225
8226 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
8227
c0261b5e
EZ
82282000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
8229
8230 * editfns.c (lisp_time_argument): Fix last change.
8231
b548072f
GM
82322000-07-27 Gerd Moellmann <gerd@gnu.org>
8233
3ab82477
GM
8234 * fns.c (Fdelete): Make it work on vectors and strings in addition
8235 to lists.
8236
b548072f
GM
8237 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
8238 (syms_of_fns): Initialize new variables.
52283633 8239 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
8240 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
8241 weakness, with t meaning the same as `key-and-value'.
8242
91ae8751
KH
82432000-07-27 Kenichi Handa <handa@etl.go.jp>
8244
8245 * coding.h (struct coding_system): Member safe_charset deleted.
8246
8247 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
8248 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
8249 New variables.
91ae8751
KH
8250 (coding_safe_chars): New function.
8251 (CODING_SAFE_CHAR_P): New macro.
8252 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 8253 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
8254 (detect_coding_iso2022): New local variable safe_chars.
8255 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
8256 safe_charsets member of the coding system.
8257 (decode_coding_iso2022): New local variable safe_chars.
8258 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
8259 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
8260 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
8261 (ENCODE_UNSAFE_CHARACTER): New macro.
8262 (encode_coding_iso2022): New local variable safe_chars. Check
8263 unsafe chars.
8264 (setup_coding_system): Delete the code to initialize
8265 coding->safe_charses
8266 (intersection, find_safe_codings): New functions.
8267 (Ffind_coding_systems_region_internal): New function.
8268 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
8269 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
8270 variable and initialize it.
8271
8272 * fns.c (char_table_ref_and_index): New function.
8273
8274 * lisp.h (char_table_ref_and_index): Add prototype.
8275
34a7a267
SS
82762000-07-26 Sam Steingold <sds@gnu.org>
8277
8278 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 8279 (Ffloat_time): New built-in Lisp function.
34a7a267 8280
a95cb10a
GM
82812000-07-26 Gerd Moellmann <gerd@gnu.org>
8282
3353ef5a
GM
8283 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
8284 for the character code.
8285
8286 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
8287 GNU/Linux.
8288
a95cb10a
GM
8289 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
8290 if called for a popup menu.
8291 (xmenu_show): Store help string in widget values.
8292
b4a12321
DL
82932000-07-26 Dave Love <fx@gnu.org>
8294
8295 * syswait.h: Move some definitions.
8296 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
8297 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
8298 perspicuous definitions.
8299 (WTERMSIG): Fix bit pattern used.
8300
13f5ad37
KH
83012000-07-26 Kenichi Handa <handa@etl.go.jp>
8302
8303 * print.c (print_object): If vector printing is truncated, print
8304 "..." to indicate it as well as the case of list printing.
8305
070fe99c
GM
83062000-07-25 Gerd Moellmann <gerd@gnu.org>
8307
969065c3
GM
8308 * xdisp.c (next_element_from_display_vector): Improve comments.
8309
8310 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
8311 for the character code, and the rest for the face id as in 20.x.
8312 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
8313
8314 * window.c (window_display_table): Cleaned up.
8315
070fe99c
GM
8316 * syntax.c (Fforward_word): Add last arg nil in call of
8317 Fconstrain_to_field.
8318
bad77ef7
EZ
83192000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
8320
969065c3 8321 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
8322 identical but for the letter-case, don't call
8323 barf_or_query_if_file_exists.
bad77ef7 8324
c28da489
MB
83252000-07-25 Miles Bader <miles@gnu.org>
8326
8327 * editfns.c (find_field): Honor special `boundary' fields.
8328 (Qboundary): New variables.
8329 (syms_of_editfns): Initialize Qboundary.
8330 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
8331 Use scan_buffer instead of find_before_next_newline, because it
8332 allows us to detect the boundary case where there's a newline at
8333 the search limit.
8334 * lisp.h (Fconstrain_to_field): Update external declaration.
8335
e3c31fd5
GM
83362000-07-24 Gerd Moellmann <gerd@gnu.org>
8337
8338 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
8339 if that is nil.
c28da489 8340
c66c29a2
DL
83412000-07-24 Dave Love <fx@gnu.org>
8342
8343 * s/sunos4-0.h, s/sol2.h:
8344 (LIBS_TERMCAP): Move from m/sparc.h.
8345
8346 * m/sparc.h (TERMINFO): Moved to system files (probably only
8347 relevant for sunos4 judging by its vintage).
8348 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
8349 __arch64__.
8350
fbe0a958
EZ
83512000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
8352
8353 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
8354 name to single_keymap_panes.
8355
7d88e5c9
AS
83562000-07-24 Andreas Schwab <schwab@suse.de>
8357
8358 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
8359
e024b101
GM
83602000-07-24 Gerd Moellmann <gerd@gnu.org>
8361
8362 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
8363 parameters instead of using int parameters. Expect FN to accept
8364 EMACS_INT parameters.
8365 (display_echo_area, resize_echo_area_axactly, current_message)
8366 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
8367 with new argument list.
8368 (resize_mini_window_1): New callback function.
8369 (current_message_1, truncate_message_1, set_message_1): Change
52283633 8370 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 8371
25c1a9ce
KH
83722000-07-24 Kenichi Handa <handa@etl.go.jp>
8373
8374 * fontset.c (fontset_ref): Remove INLINE declaration.
8375 (fontset_ref_via_base): Likewise.
8376 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
8377 to downcase.
8378
7f987ac0
EZ
83792000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
8380
8381 * msdos.c (IT_note_mouse_highlight): Process overlays in the
8382 correct order of priority. If help echo was found in an overlay,
8383 use that overlay as the object in which the help echo was found.
8384
e2db3069
MB
83852000-07-22 Miles Bader <miles@gnu.org>
8386
8387 * textprop.c (Fprevious_single_char_property_change): The initial
8388 property value should be from the position preceding POSITION, not
8389 following it.
8390
5e3203e4
EZ
83912000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
8392
8393 * coding.c (syms_of_coding): Doc fix for
8394 inhibit-iso-escape-detection.
8395
62145073
GM
83962000-07-21 Gerd Moellmann <gerd@gnu.org>
8397
c20aeb83
GM
8398 * xterm.c (note_mouse_highlight): Process overlays in the right
8399 order of priority.
34a7a267 8400
743934db
GM
8401 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
8402
8403 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 8404 overlay, use that overlay as the object in which the help was found.
743934db 8405
d1dc7e43 8406 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 8407
62145073
GM
8408 * window.c (foreach_window): Instead of a fake variable argument
8409 list, take one USER_DATA argument.
8410 (foreach_window_1): Likewise, and call callback functions with two
8411 args, the window and USER_DATA.
8412 (struct check_window_data): New struct.
8413 (check_window_containing): Use it.
8414 (window_from_coordinates): Set up a struct check_window_data for
8415 foreach_window.
8416 (add_window_to_list, freeze_window_start): Change parameters
8417 according to new calling convention.
8418
8419 * window.h (foreach_window): Change prototype.
8420
8421 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
8422
84232000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
8424
8425 * xmenu.c (menu_help_callback): Call show_help_echo with
8426 additional arguments OBJECT and POS.
8427
11270583
KH
84282000-07-21 Kenichi Handa <handa@etl.go.jp>
8429
07b14857
KH
8430 * data.c (Faset): Allow storing any multibyte character in a
8431 string. Convert unibyte string to multibyte if necessary.
8432
11270583
KH
8433 * xfns.c (x_encode_text): New function.
8434 (x_set_name): Use x_encode_text.
8435 (x_set_title): Likewise.
8436
8437 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
8438
8439 * xterm.h (x_encode_text): Add prototype.
8440
bc75b4fd
DL
84412000-07-20 Dave Love <fx@gnu.org>
8442
8443 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8444 xfree, not free.
8445
48c14970
EZ
84462000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8447
8448 * msdos.c (help_echo_window): New variable.
8449 (syms_of_msdos): Initialize and staticpro it.
8450 (IT_note_mode_line_highlight): Set help_echo_window.
8451 (IT_note_mouse_highlight): Ditto.
8452 (dos_rawgetc): Store help_echo_window in the second event produced
8453 for HELP_EVENTs.
8454
8455 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8456 Record the object that generated the help echo and the position of
8457 that object in help_echo_object and help_echo_pos. Record that
8458 some glyphs in a row are displayed in mouse-face.
8459 (IT_update_begin): Don't clear mouse highlight unless one of the
8460 enabled glyph rows is marked as being displayed in mouse-face.
8461 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8462 and position recorded in help_echo_object and help_echo_pos to the
8463 event queue.
8464 (IT_menu_display): Accept a new argument PN: the pane number of
8465 the current menu pane. Record the pane number and the item
8466 number of the item which has associated help string.
8467 (XMenuActivate): Update the prototype for help_callback in
8468 function declaration. Call IT_menu_display with the current menu
8469 pane number as an additional argument. Call help_callback with
8470 two additional arguments: the pane number and the item number of
8471 the menu item associated with the help text.
8472 (help_echo_object, help_echo_pos): New variables.
8473 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8474
8475 * msdos.h (XMenuActivate): Update prototype.
8476
4279296d
GM
84772000-07-19 Gerd Moellmann <gerd@gnu.org>
8478
47db06aa
GM
8479 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8480 Add some more prototypes.
8481
8482 * xterm.c, xterm.h: Add some more prototypes.
8483
8484 * lisp.h (Fnext_single_char_property_change): Add prototype.
8485
8486 * dispnew.c (direct_output_for_insert): Remove confusing
8487 outer local variable mouse_face_overwritten_p.
8488 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8489
4279296d
GM
8490 * alloc.c (allocate_string_data): Don't copy old string contents.
8491
670acd62
KH
84922000-07-19 Kenichi Handa <handa@etl.go.jp>
8493
8494 * coding.c (code_convert_region): Delete text properties before
8495 shrinking the conversion region.
8496
7cea38bc
GM
84972000-07-18 Gerd Moellmann <gerd@gnu.org>
8498
dc1cac59
GM
8499 * dispnew.c (update_text_area): Write the whole row if it
8500 has mouse-face in it.
8501
85a8aca9
GM
8502 * xfaces.c (face-alternative-font-family-alist): Remove
8503 DEFVAR_LISP; staticpro instead.
8504
34a7a267 8505 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8506 new arguments.
8507
8508 * keyboard.c (show_help_echo): Add parameter WINDOW.
8509 (read_char): Call show_help_echo with window extracted from Lisp
8510 help event.
8511 (gen_help_event): Add parameter WINDOW.
8512
8513 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8514
8515 * xterm.c (help_echo_window): New variable.
52283633 8516 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8517 (XTread_socket): Pass help_echo_window to gen_help_event.
8518 (syms_of_xterm): Initialize and staticpro help_echo_window.
8519
f8276b77
DL
85202000-07-18 Dave Love <fx@gnu.org>
8521
52283633 8522 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8523
088831a6
GM
85242000-07-18 Gerd Moellmann <gerd@gnu.org>
8525
3d6cd763
GM
8526 * alloc.c (allocate_string_data): If string had already data
8527 assigned, copy old contents to new string data.
8528
8529 * coding.c (syms_of_coding): Fix typo in spelling of variable
8530 `inhibit-iso-escape-detection'.
8531
088831a6
GM
8532 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8533
8534 * Makefile.in: Add dependencies on dispextern.h.
8535 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8536 `free'; both can conflict with system header files.
8537
bc8a8d55
KH
85382000-07-18 Kenichi Handa <handa@etl.go.jp>
8539
8540 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8541 undefined.
8542
069f5950
DL
85432000-07-18 Dave Love <fx@gnu.org>
8544
8545 * window.c (Fwindow_list): Declare arg `window'.
8546
aa96c820
KH
85472000-07-18 Kenichi Handa <handa@etl.go.jp>
8548
8549 * coding.c (setup_coding_system): Don't override the explicitly
8550 specified designations.
8551
06be8d32
MB
85522000-07-15 Miles Bader <miles@gnu.org>
8553
8554 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8555 from `text_property_eq' and `text_property_stickiness', respectively.
8556 (find_field, Fconstrain_to_field, char_property_eq)
8557 (char_property_stickiness): Changed to call char-property functions
8558 instead of text-property-only ones.
8559
8560 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8561 `next_single_char_property_change'). Do more error checking, and
8562 cleanup limit behavior.
8563 (Fprevious_single_char_property_change): New function.
8564 (syms_of_textprop): Initialize new subrs.
8565
8566 * xdisp.c (display_prop_end, invisible_text_between_p):
8567 Call Fnext_single_char_property_change instead of
8568 next_single_char_property_change.
8569
3fddcdc3
JR
85702000-07-15 Jason Rumney <jasonr@gnu.org>
8571
8572 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8573 after menu is finished with.
8574 (add_menu_item): Only consider wv->title as a menu title.
8575 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8576
8577 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8578 null title.
8579 (FONT_REGEXP): Remove unused macro, and its sub-components.
8580 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8581
8582 * w32term.c (help_echo_object, help_echo_pos): New variables.
8583 (note_mode_line_highlight): Store additional information about the
8584 help-echo in help_echo_object and help_echo_pos. Check both
8585 `local-map' and `keymap' properties for changing the cursor
8586 (note_mouse_highlight): Store additional information about the
8587 help-echo in help_echo_object and help_echo_pos.
8588 (note_tool_bar_highlight): Set help_echo_object to nil and
8589 help_echo_pos to -1.
8590 (w32_read_socket): Use gen_help_event instead of filling
8591 input_events manually.
8592 (syms_of_w32term): Staticpro help_echo_object.
8593 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8594 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8595 (x_clear_mouse_face): New function.
8596 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8597 (x_update_window_begin): No need to turn off the mouse
8598 highlight here.
8599 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8600 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8601 (x_fill_stretch_glyph_string): Consume runs of stretch
8602 glyphs instead of a single one.
8603 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8604 with new argument list.
8605 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8606 (x_append_glyph, x_append_composite_glyph)
8607 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8608 changes in struct glyph starting 1999-12-27. See comments for
8609 xterm.c on 2000-07-05.
8610
178c5d9c
SS
86112000-07-14 Sam Steingold <sds@gnu.org>
8612
8613 * xfaces.c (realize_x_face): Fix the last patch:
8614 check `default_face' before dereferencing.
8615
6fe533f6
DL
86162000-07-14 Dave Love <fx@gnu.org>
8617
069f5950 8618 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8619
dd7b81cf
KH
86202000-07-14 Kenichi Handa <handa@etl.go.jp>
8621
0693904a 8622 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8623 default_face's fontset, not using the default fontset.
0693904a 8624
dd7b81cf
KH
8625 * coding.c (inhibit_iso_escape_detection): New variable.
8626 (syms_of_coding): Make it a Lisp variable.
8627 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8628 nonzero, ignore ISO2022's escape sequence.
8629
d5aa31d8
GM
86302000-07-14 Gerd Moellmann <gerd@gnu.org>
8631
e5acf0ca
GM
8632 * alloca.c (malloc) [emacs]: Define as xmalloc.
8633
bd23a692
GM
8634 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8635 use that instead of the mouse position. Add parameters DX and DY.
8636
8637 * dispextern.h (Fx_show_tip): Adjust number of parameters
8638 in prototype.
8639
9662da0b
GM
8640 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8641 if HELP is a function, call it with OBJECT and POS as parameters
8642 to get the help to display.
8643 (gen_help_event, kbd_buffer_store_help_event): New functions.
8644 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8645 (read_char): Call show_help_echo with new parameters.
8646
178c5d9c 8647 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8648 Add prototypes.
8649
8650 * xterm.c (help_echo_object, help_echo_pos): New variables.
8651 (note_mode_line_highlight): Store additional information about the
8652 help-echo in help_echo_object and help_echo_pos. Check both
8653 `local-map' and `keymap' properties for changing the cursor
8654 (note_mouse_highlight): Store additional information about the
8655 help-echo in help_echo_object and help_echo_pos.
8656 (note_tool_bar_highlight): Set help_echo_object to nil and
8657 help_echo_pos to -1.
8658 (XTread_socket): Use gen_help_event instead of filling
8659 input_events manually.
8660 (syms_of_xterm): Staticpro help_echo_object.
8661
8662 * xmenu.c (menu_highlight_callback): Use
8663 kbd_buffer_store_help_event instead of setting up and input_event
8664 structure manually.
8665
8666 * xdisp.c (eval_form): GCPRO argument sexpr.
8667 (call_function): New function.
8668 (handle_single_display_prop): Use call_function and FUNCTIONP
8669 instead of checking whether if font_height is a symbol and
8670 using eval_form.
8671
8672 * eval.c (internal_condition_case_2): New function.
8673
8674 * lisp.h (FUNCTIONP): New macro.
8675 (internal_condition_case_2, call_function): Add prototypes.
8676
d5aa31d8
GM
8677 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8678 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8679 Always set `arg' member of input_events.
8680 (construct_menu_click): Unused function removed.
8681
8682 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8683
8684 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8685 (construct_drag_n_drop, x_scroll_bar_handle_click)
8686 (w32_read_socket): Always set `arg' member of input_events.
8687
8688 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8689
8690 * lisp.h (eval_form): Add prototype.
8691
8692 * xdisp.c (eval_form): Make it externally visible.
8693
0f1a9b23
GM
86942000-07-13 Gerd Moellmann <gerd@gnu.org>
8695
8696 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8697 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8698 consing. For prefix events, store the frame in the `arg' slot of
8699 the event, otherwise store the key there.
8700 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8701 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8702
8703 * xmenu.c (menu_highlight_callback): Store help string in the
8704 `arg' member of the input event; don't cons.
8705 (menubar_selection_callback): Use the `arg' slot of input events
8706 to queue additional information, instead of consing.
8707
8708 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8709
8710 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8711 TOOL_BAR_EVENTs.
8712 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8713
8714 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8715 input events to queue additional information, instead of consing.
8716
8717 * keyboard.c (kbd_buffer_gcpro): Renamed from
8718 kbd_buffer_frame_or_window. Now used for all Lisp objects
8719 referenced from the input queue.
8720 (kbd_buffer_store_event): Always use structure assignment for
8721 copying input events. Record all Lisp objects referenced from
8722 events in kbd_buffer_gcpro.
8723 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8724 differently from input events. Test for prefix menu_bar_events
8725 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8726 event in kbd_buffer_gcpro to nil.
8727 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8728 frame_or_window is equal to its arg member as prefix events.
8729 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8730 used by an input event to nil.
8731 (init_keyboard): Use two times the size of the input queue
8732 for kbd_buffer_gcpro.
8733 (syms_of_keyboard): Likewise.
8734
52283633
SM
8735 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8736 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8737
8738 * termhooks.h (struct input_event): Add member `arg'.
8739 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8740 (USER_SIGNAL_EVENT): Renamed from user_signal.
8741
8742 * xfaces.c (ASET): Remove definition.
8743
8744 * lisp.h (AREF, ASET, ASIZE): New macros.
8745
8746 * fontset.c (AREF, ASIZE): Remove definitions.
8747
8748 * fns.c (AREF): Remove definition.
178c5d9c 8749
0f1a9b23
GM
8750 * composite.c (AREF): Remove definition.
8751
712eaef2
GM
87522000-07-12 Gerd Moellmann <gerd@gnu.org>
8753
d8ee7803
GM
8754 * dispnew.c (redraw_overlapped_rows): Add missing local.
8755 (scrolling_window): Remove debug code.
8756
712eaef2
GM
8757 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8758 Before scrolling, turn off a mouse-highlight in the window
8759 being scrolled.
8760
8761 * xterm.c (x_update_window_end): Add parameter
8762 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8763 redisplay in XTframe_up_to_date.
8764 (x_clear_mouse_face): New function.
8765 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8766
8767 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8768 current glyph row.
8769 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8770 it when any row is written to that contains glyphs highlighted in
8771 mouse-face.
8772 (update_window): Call the window update end hook with new
8773 parameter MOUSE_FACE_OVERWRITTEN_P.
8774 (direct_output_for_insert): Give up if row contains mouse-face.
8775
8776 * dispextern.h (struct redisplay_interface): Add parameter
8777 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8778 (clear_mouse_face): New function pointer member.
8779
02010917
SM
87802000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8781
8782 * syntax.c (back_comment): Use one switch rather than a few `if's.
8783 Obey open_paren_in_column_0_is_defun_start.
8784 When reverting to the `slow' method, try to nicely handle the case
8785 of nested comments by checking that the comment-starter we found
8786 does indeed match the comment-ender.
8787 (scan_sexps_forward, scan_sexps_forward):
8788 Ignore excessive opening parenthesis rather than throwing an error.
8789
d76c03ea
GM
87902000-07-11 Gerd Moellmann <gerd@gnu.org>
8791
8792 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8793 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8794
8795 * dispnew.c (direct_output_forward_char): Give up if currently
8796 displaying a message instead of the minibuffer contents.
8797
8798 * xterm.c (x_update_window_begin): No need to turn off the mouse
8799 highlight here.
8800 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8801 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8802
8803 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8804 compare the mouse_face_p flags of both rows.
8805
8806 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8807
d55ead18
EZ
88082000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8809
8810 * keyboard.c (show_help_echo): Accept additional parameter
8811 ok_to_overwrite_keystroke_echo.
8812 (read_char): Call show_help_echo with a zero
8813 ok_to_overwrite_keystroke_echo argument.
52283633 8814 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8815 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8816 ok_to_overwrite_keystroke_echo argument.
8817 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8818 non-zero ok_to_overwrite_keystroke_echo argument.
8819
df75b1a3
GM
88202000-07-10 Gerd Moellmann <gerd@gnu.org>
8821
4b92c49a
GM
8822 * xdisp.c (try_window_id): If changes are all below what is
8823 displayed in the window, and point is in the window, we still
8824 might have to find point on the display.
8825
8826 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8827 glyphs instead of a single one.
8828 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8829 with new argument list.
8830 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8831
df75b1a3
GM
8832 * keymap.c (get_keymap_1): Add comment that this function can GC.
8833 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8834 comment that functions can GC.
8835 (Fset_keymap_parent): GCPRO arg KEYMAP.
8836
4314cf3e
EZ
88372000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8838
8839 * msdos.c (XMenuActivate): After exiting the menu, restore the
8840 echo area message and erase it.
8841
ab49ce15
KH
88422000-07-10 Kenichi Handa <handa@etl.go.jp>
8843
8844 * fontset.c (Ffontset_info): Make the return value more compatible
8845 with that of Emacs 20.
8846
090a072f
GM
88472000-07-07 Gerd Moellmann <gerd@gnu.org>
8848
8849 * eval.c (Fsignal): Handle case that backtrace_list is null.
8850
f92de4a6
KH
88512000-07-07 Kenichi Handa <handa@etl.go.jp>
8852
8853 * ccl.c (Fccl_execute): Typo fixed.
8854
dd8888a1
GM
88552000-07-06 Gerd Moellmann <gerd@gnu.org>
8856
e5c81191 8857 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8858
dd8888a1
GM
8859 * window.c (Fwindow_list): Reverse list at the end.
8860 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8861 means allow windows on OWINDOW's frame, only.
8862 (window_loop): Simplified; use Fwindow_list.
8863
8864 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8865
485266d0
GM
88662000-07-05 Gerd Moellmann <gerd@gnu.org>
8867
8868 * xterm.c (XTread_socket): Increment handling_signal at the start,
8869 decrement it at the end.
8870
8871 * eval.c (handling_signal): New variable.
8872 (Fsignal): Abort if handling_signal is non-zero.
8873
8874 * lisp.h (handling_signal): External declaration.
178c5d9c 8875
485266d0
GM
8876 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8877
80fcd514
KR
88782000-07-05 Ken Raeburn <raeburn@gnu.org>
8879
8880 Sound support for NetBSD through "Linux emulation" support:
8881 * config.in (HAVE_SOUNDCARD_H): Undef.
8882 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8883 * Makefile.in (LIBSOUND): New variable.
8884 (LIBES): Include it.
52283633
SM
8885 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8886 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8887 (vox_open): Use DEFAULT_SOUND_DEVICE.
8888 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8889
d5c5cddd
GM
88902000-07-05 Gerd Moellmann <gerd@gnu.org>
8891
8892 * print.c (print_error_message): If Vsignaling_function is set,
8893 show it in *Messages*.
8894
8895 * lisp.h (Vsignaling_function): External declaration.
8896
8897 * eval.c (Vsignaling_function): New variable.
8898 (Fsignal): Compute it.
8899 (syms_of_eval): Staticpro it.
8900
65171e3a
DL
89012000-07-05 Dave Love <fx@gnu.org>
8902
8903 * syswait.h: Use the autoconf recommended approach. Old code
8904 #if'd out in case we need to revert.
8905
178c5d9c 8906 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8907
e2c46326
AI
89082000-07-05 Andrew Innes <andrewi@gnu.org>
8909
8910 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8911 when non-NULL instead of __morecore, to take account of buffer
8912 memory. This also solves a problem with spurious memory warnings
8913 on Windows.
8914
8915 * ralloc.c: Make real_morecore non-static.
8916
8917 * eval.c (internal_condition_case): Comment out abort if
8918 interrupt_input_blocked is not zero.
8919
8920 * makefile.nt: Add support for `bootstrap' and related targets.
8921 Include minimal debug info in emacs.exe in release build.
8922 Remove all dependencies on lisp.h, and fixup some others.
8923
8924 * w32.c (init_environment): Install code from 20.7 for providing
8925 default values for environment variables, based on the
8926 executable's own location.
52283633 8927 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8928 (sys_socket): Install socket inheritance bug fix from 20.7.
8929
8930 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8931 here via blockinput.h).
8932
a027a91b
SM
89332000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8934
e4b31601
SM
8935 * w32menu.c (w32_menu_display_help):
8936 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8937
8938 * keyboard.h (show_help_echo): Declare.
8939
8940 * keyboard.c (show_help_echo): New function, extracted from read_char.
8941 Feval its `msg' argument if it's a cons cell.
8942 (read_char): Use it.
4cf8d9d5 8943 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8944
178c5d9c 8945 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8946 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8947 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8948 (dos_rawgetc):
8949 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8950 (note_tool_bar_highlight, w32_read_socket):
8951 Do not gratuitously ignore non-string `help-echo' properties.
8952
88d75730
GM
89532000-07-05 Gerd Moellmann <gerd@gnu.org>
8954
969f7e79
GM
8955 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8956
71201b00
GM
8957 * window.c (delete_all_subwindows): Reset Vwindow_list.
8958
88d75730
GM
8959 * xterm.c (x_append_glyph, x_append_composite_glyph)
8960 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8961 changes in struct glyph starting 1999-12-27. Some bit-fields of
8962 struct glyph were not set, which made glyphs unequal when compared
8963 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8964 effects were the result. This also depended on the contents of
8965 memory returned by xmalloc. If flickering happens again, activate
8966 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8967 gone with that, chances are that it is caused by something similar.
88d75730
GM
8968
8969 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8970
88d75730
GM
8971 * dispextern.h: Add some comments.
8972
8973 * window.c (add_window_to_list): Add parameter LIST.
8974 (window_list): Order list so that, for each frame, windows are
8975 in canonical order, and so that frames appear in the list in
8976 the order given by Vframe_list.
8977 (next_window): Reverse the handling of NEXT_P.
8978
53654733
GM
89792000-07-04 Gerd Moellmann <gerd@gnu.org>
8980
87efd256
GM
8981 * window.c (Vwindow_list): New variable.
8982 (make_window, delete_window): Set Vwindow_list to nil.
8983 (check_window_containing): New function.
8984 (window_from_coordinates): Rewritten.
8985 (add_window_to_list, window_list, candidate_window_p)
8986 (decode_next_window_args, next_window): New functions.
52283633 8987 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8988 (Fwindow_list): New function.
8989 (Fother_window): Cleaned up.
8990 (foreach_window): Add a longer "variable argument list". Let
8991 callback function return 0 to indicate that cycling over windows
8992 should stop.
8993 (foreach_window_1): Likewise.
8994 (freeze_window_start): Return int.
8995 (init_window): New function.
8996 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8997
8998 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8999 input_event with bzero.
9000 (main): Call init_window.
9001
53654733
GM
9002 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
9003 a menu filter.
9004
4a8c194f
KH
90052000-07-04 Kenichi Handa <handa@etl.go.jp>
9006
9007 * composite.h (make_composition_value_copy): Extern it.
9008
9009 * composite.c (make_composition_value_copy): New function.
9010
9011 * editfns.c (Fformat): While copying text properties, make each
9012 composition property value a copy.
9013
9014 * fns.c (concat): While copying text properties, make each
9015 composition property value a copy.
9016
831a6cb0
GM
90172000-07-03 Gerd Moellmann <gerd@gnu.org>
9018
2f516940
GM
9019 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
9020
178c5d9c 9021 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
9022 marked already.
9023
831a6cb0
GM
9024 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
9025 include those frames as candidates which have their focus
9026 redirected to the minibuffer frame.
9027
d9c4f922
SM
90282000-07-03 Stefan Monnier <monnier@cs.yale.edu>
9029
9030 * fns.c (Fputhash): Return `value' rather than nil.
9031
3780bc22
GM
90322000-06-30 Gerd Moellmann <gerd@gnu.org>
9033
97d176db
GM
9034 * frame.c (next_frame): Don't check focus redirection in case
9035 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
9036 unless their focus is redirected, which contradicts the
9037 specification of next-frame, and leads to infinite loops in
9038 certain situations when cycling through windows with next-window.
9039
dca9961d
KH
90402000-06-30 Kenichi Handa <handa@etl.go.jp>
9041
9042 * coding.c (code_convert_region): Even if the length of text is
9043 zero, try to convert it if coding->type is coding_type_ccl.
9044 (decode_coding_string, encode_coding_string): Likewise.
9045
d5483ab1
GM
90462000-06-28 Gerd Moellmann <gerd@gnu.org>
9047
af5c25e1 9048 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 9049 the display if windows_or_buffers_changed.
af5c25e1
GM
9050
9051 * dispnew.c (struct row_entry): New structure.
9052 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
9053 (row_table_size, old_lines, new_lines, old_lines_size)
9054 (new_lines_size, run_pool, runs_size, runs): New variables.
9055 (add_row_entry): New function.
9056 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 9057 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
9058 holding them in local variables. Use a larger hash table whose
9059 size depends on glyph matrix sizes. Don't use bzero to clear the
9060 hash table; instead, clear used slots only.
9061
9062 * fns.c (next_almost_prime): Make it externally visible.
9063
9064 * lisp.h (next_almost_prime): Add prototype.
9065
d5483ab1
GM
9066 * s/isc4-0.h (sigunblock): Define.
9067
9068 * s/sco5.h (sigunblock): Define.
9069
93e40f40
DL
90702000-06-27 Dave Love <fx@gnu.org>
9071
9072 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
9073 (moved to osf5-0.h).
9074 [!NOT_C_CODE]: Protect string.h stuff.
9075
9076 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
9077 (sys_siglist, NSIG): Definitions moved here from osf1.h.
9078
3c4b7685
GM
90792000-06-27 Gerd Moellmann <gerd@gnu.org>
9080
97d176db 9081 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
9082 below the last line from the needed window height.
9083
32cad0aa
SM
90842000-06-26 Stefan Monnier <monnier@cs.yale.edu>
9085
9086 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
9087 (Fwidget_get): Use it.
9088 (syms_of_fns): Defsubr it.
9089
2c69ced2
GM
90902000-06-26 Gerd Moellmann <gerd@gnu.org>
9091
178c5d9c 9092 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
9093 display info for XIM.
9094 (xim_open_dpy): Likewise.
9095 (xim_close_dpy): Don't free the display info's XIM.
9096
9097 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
9098
9099 * config.in (USE_XIM): New define.
9100
3fc720e4
GM
9101 * keymap.c (get_keyelt): For menu-items containing a `:filter
9102 FILTER', apply FILTER to the menu-item's definition to get the
9103 real definition to use.
9104
9105 * lisp.h (QCfilter): External declaration.
9106
2c69ced2
GM
9107 * xfns.c (Fimage_size): New function.
9108 (syms_of_xfns): Defsubr it.
9109
f978b2a2
AS
91102000-06-26 Andreas Schwab <schwab@suse.de>
9111
9112 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
9113 Fstring_as_unibyte.
9114
94cc7892
DL
91152000-06-25 Dave Love <fx@gnu.org>
9116
52283633 9117 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
9118
9119 * Makefile.in (blockinput.h): Depend on atimer.h.
9120 (atimer.h): Depend on systime.h.
9121
52283633 9122 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 9123
52283633 9124 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
9125
9126 * lisp.h (swap_in_global_binding): Declare.
9127
b8c24556
KR
91282000-06-24 Ken Raeburn <raeburn@gnu.org>
9129
9130 * process.c (Fopen_network_stream): Turn off atimers for duration
9131 of call to connect. (Patch from Gerd.)
9132
8cf8560b
DL
91332000-06-23 Dave Love <fx@gnu.org>
9134
511c7541
DL
9135 * ralloc.c: Maybe include unistd.h
9136
8cf8560b
DL
9137 * emacs.c (setgrp): Undefine before defining.
9138 (malloc_warning, set_time_zone_rule, index): Prototype.
9139
9140 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
9141 HAVE_STRUCT_TIMEZONE.
9142
9143 * s/osf1.h: Move string.h hack here from alpha.h and make it
9144 conditional.
9145 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
9146 _XOPEN_SOURCE.
9147 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
9148 (SOCKLEN_TYPE): Don't define.
9149
9150 * m/alpha.h: Remove string.h hack.
9151
9152 * s/osf5-0.h: New file.
9153
9154 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
9155 include time.h, done by systime.h.
9156 [__FreeBSD__]: Remove redundant includes.
9157
3fc720e4 9158 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
9159 (delete_temp_file): Return Qnil to avoid warning.
9160
9161 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
9162
9163 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
9164 HAVE_X_WINDOWS.
9165
9166 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
9167
9168 * composite.h (compose_text): Declare.
9169
9170 * xterm.c: Don't include sys/types.h unconditionally. Don't
9171 protect its inclusion with !USG (following xmenu.c).
9172
ea055732
GM
91732000-06-23 Gerd Moellmann <gerd@gnu.org>
9174
9175 * xfns.c (x_create_tip_frame): Initialize frame's colors like
9176 in x_create_frame.
9177
74b01b80
EZ
91782000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
9179
9180 * coding.c (decode_eol_post_ccl): Special handling for undecided
9181 and inconsistent EOL types.
9182
64f3a166
GM
91832000-06-22 Gerd Moellmann <gerd@gnu.org>
9184
16cf31f7
GM
9185 * xrdb.c (x_load_resources): Add default resource for scroll bar's
9186 trough color and main window's background color.
9187
52283633 9188 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
9189
9190 * xterm.h (Xt_app_con): External declaration.
9191
9192 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 9193
486a103d
GM
9194 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
9195
64f3a166
GM
9196 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
9197 (handle_invisible_prop): Record the start of invisible text in
9198 it->add_overlay_start.
9199 (struct overlay_entry): Add member `overlay'.
9200 (handle_overlay_change): Simplify.
9201 (next_overlay_string): After having processed overlay strings at the
9202 end of the buffer, record that fact in
9203 it->overlay_strings_at_end_processed_p.
9204 (compare_overlay_entries): If before- and after-strings come
9205 from the same overlay, let before-strings come first.
9206 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
9207 (load_overlay_strings): Take it->add_overlay_start into account
9208 when adding overlay strings.
9209
9210 * dispextern.h (struct it): Add member add_overlay_start.
9211
bb746ea6
DL
92122000-06-22 Dave Love <fx@gnu.org>
9213
9214 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
9215
9216 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
9217
a8f573f3
KH
92182000-06-22 Kenichi Handa <handa@etl.go.jp>
9219
9220 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
9221 is greater than 0.
9222
9f2bbc92
DL
92232000-06-21 Dave Love <fx@gnu.org>
9224
178c5d9c 9225 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 9226
3ee5041c
SM
92272000-06-21 Stefan Monnier <monnier@cs.yale.edu>
9228
9229 * syntax.c (back_comment): Simplify string-parity counting (with
9230 the added benefit of handling multiple string-styles as long as
9231 they are not intertwined).
9232 Jump to the slow code as soon as a comment starter is found in
9233 a "string_lossage" position. Fixes the case: " /* " /* " */.
9234
4c343001
DL
92352000-06-21 Dave Love <fx@gnu.org>
9236
9237 * Makefile.in: Use GETLOADAVG_LIBS.
9238
9239 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
9240 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
9241
e6365855
SM
92422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
9243
9244 * syntax.c (describe_syntax): Recognize the `n'estable bit.
9245 (Fforward_comment, scan_lists):
9246 Check the comstyle of single-char comment-starters.
9247 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
9248 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
9249 Check the comstyle of single-char comment-starters.
9250 Clarify control-flow around the Scomment case.
e6365855 9251
5700d2cc
DL
92522000-06-20 Dave Love <fx@gnu.org>
9253
d355bd8a
SM
9254 * fns.c (make_hash_table, maybe_resize_hash_table):
9255 Cast arg of next_almost_prime.
5700d2cc 9256
178c5d9c 9257 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
9258
9259 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
9260 and unistd.h.
9261
4a27bdfb
GM
92622000-06-20 Gerd Moellmann <gerd@gnu.org>
9263
a61d762c 9264 * keyboard.c (adjust_point_for_property): Check if display
52283633 9265 property should be treated as intangible by looking at its value.
a61d762c 9266
178c5d9c 9267 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
9268 (display_prop_intangible_p): New functions.
9269
9270 * dispextern.h (display_prop_intangible_p): Add prototype.
9271
9272 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 9273
4a27bdfb
GM
9274 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
9275 argument to sigprocmask.
9276
9277 * s/sco5.h (sigblock): Redefined to pass a pointer as second
9278 argument to sigprocmask.
9279
9280 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
9281 sigprocmask_set, and pass a pointer to it to sigprocmask.
9282
9283 * sysdep.c (sigprocmask_set): New variable.
9284
9285 * fileio.c (make_temp_name): Don't use `%s' in string passed to
9286 report_file_error.
9287
427ec082
SS
92882000-06-20 Sam Steingold <sds@gnu.org>
9289
9290 * xrdb.c: Don't declare xmalloc, xrealloc.
9291
8972fe79 92922000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
9293
9294 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
9295 (re_comp): Cast gettext return value to avoid complaints when
9296 !HAVE_LIBINTL.
9297
074b6efe
DL
92982000-06-20 Dave Love <fx@gnu.org>
9299
52283633 9300 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 9301
5700d2cc 9302 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 9303
d355bd8a 9304 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
9305
9306 * m/alpha.h: Don't declare xmalloc, xrealloc.
9307
0af4f205
DL
9308 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
9309
9310 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
9311
9312 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
9313
9314 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
9315 HAVE_GETWD.
9316
074b6efe
DL
9317 * keyboard.h (poll_for_input_1): Declare.
9318
9319 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
9320
9321 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
9322
9323 * doprnt.c: Don't declare xmalloc, xrealloc.
9324
9325 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
9326 (getenv, ctime, getwd): Removed.
9327 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
9328
9329 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
9330 x_set_tool_bar_lines.
9331
9332 * config.in: Add HAVE_GETWD. Move some definitions above
9333 machine/system includes.
9334
68a5e97b
KH
93352000-06-20 Kenichi Handa <handa@etl.go.jp>
9336
95417e1e
KH
9337 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
9338
68a5e97b
KH
9339 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
9340 contain information about ENCODING.
9341
9342 * fontset.c (FONTSET_ASCII): Use the first element of char table
9343 for an ASCII font, not defalt slot.
9344 (fontset_ref_via_base): If FONTSET doesn't contain information for
9345 C, try the default fontset.
9346 (make_fontset): Don't copy the default fontset.
9347 (fontset_font_pattern): Likewise.
9348 (accumulate_font_info): If ELT is nil, use the corresponding
9349 element in the default fontset.
9350
3b4fa1b2
DL
93512000-06-19 Dave Love <fx@gnu.org>
9352
943e731c
DL
9353 * syntax.c (Fparse_partial_sexp): Doc fix.
9354
9355 * regex.h: Test PROTOTYPES as well as __STDC__.
9356
3b4fa1b2
DL
9357 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
9358 errno, strerror. Put text after #endif in comment.
9359
52283633 9360 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
9361
9362 * xterm.c (x_frame_of_widget): Likewise.
9363
cdf0357b
GM
93642000-06-19 Gerd Moellmann <gerd@gnu.org>
9365
9366 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
9367 to Vfundamental_mode_abbrev_table.
9368
9369 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
9370 bogus objects are marked. This slows down GC by ~80 percent, but
9371 it might be worth trying when debugging GC-related problems.
9372 This feature requires conservative stack marking to be enabled.
9373
9374 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
9375 returns XLookupChars, reset `modifiers' to zero.
9376
998e9f8c
DL
93772000-06-19 Dave Love <fx@gnu.org>
9378
9379 * mktime.c: Unprotoized.
9380
18e21ce8 93812000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
9382
9383 * data.c (set_internal): If variable is frame-local,
9384 store the new value immediately into the frame parameter alist.
9385
140c4ac6
KR
93862000-06-19 Ken Raeburn <raeburn@gnu.org>
9387
14358466
KR
9388 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
9389 in the custom handler pointer.
9390
140c4ac6
KR
9391 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
9392 value, or checks for CHAR_META can fail when Lisp_Object is a
9393 union type.
9394 * keymap.c (get_keyelt): Likewise.
9395
10d7bf84
KH
93962000-06-19 Kenichi Handa <handa@etl.go.jp>
9397
9398 * ccl.h (struct ccl_program): New member eol_type.
9399 (struct ccl_spec): New member cr_carryover.
9400
9401 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
9402 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
9403
9404 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
9405 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
9406 (decode_eol_post_ccl): New function.
9407 (decode_coding): Don't detect EOL format here for CCL based coding
9408 systems.
9409 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
9410 decode_eol_post_ccl after running the CCL program.
9411 (code_convert_region): Don't detect EOL format here for CCL based
9412 coding systems.
9413 (decode_coding_string): Likewise.
9414
52e386c2
KR
94152000-06-18 Ken Raeburn <raeburn@gnu.org>
9416
9417 * charset.c (update_charset_table): Use XINT on "iso_final_char"
9418 when treating it as an integer.
9419
9420 * coding.h (encode_coding_string): Declare.
9421
9422 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
9423 it as an integer.
9424
9425 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
9426 "xkeymap" to avoid shadowing the "enum map_type" value that needs
9427 to be passed to get_local_map.
9428
9429 * sound.c (Fplay_sound): Don't call make_number on
9430 Frun_hook_with_args count argument.
9431
9432 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
9433 for lisp objects in X event structure data field, when lisp
9434 objects are represented with unions.
9435 (x_scroll_bar_to_input_event): Ditto.
9436
b357b9d4
KR
94372000-06-16 Ken Raeburn <raeburn@gnu.org>
9438
9439 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9440 termination of string. Fix sense of test whether
9441 Vline_number_display_limit is an integer.
b357b9d4 9442
a871441d
GM
94432000-06-16 Gerd Moellmann <gerd@gnu.org>
9444
a9021acd
GM
9445 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9446 only if HAVE_X_WINDOWS.
9447
6344985d
GM
9448 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9449 of titles.
9450
427ec082 9451 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9452 out of bounds.
9453
228b083e
EZ
94542000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9455
9456 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9457 of its headers.
9458
c25b53a2
KH
94592000-06-15 Kenichi Handa <handa@etl.go.jp>
9460
9461 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9462 start of the while loop.
9463
a6981b11
GM
94642000-06-15 Gerd Moellmann <gerd@gnu.org>
9465
e9924e52
GM
9466 * atimer.c (alarm_signal_handler): Add forward declaration.
9467
a6981b11
GM
9468 * data.c (set_internal): Remove debug code.
9469
25fa6deb
GM
94702000-06-14 Gerd Moellmann <gerd@gnu.org>
9471
dce6b995
GM
9472 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9473
9f817ea4
GM
9474 * unexec.c (toplevel) [COFF]: Include coff.h.
9475
9476 * s/lynxos.h: New file.
9477
9478 * keymap.c (Fsingle_key_description): Enclose function key and
9479 event symbol names in angle brackets.
9480
8a4e3c0c
GM
9481 * xdisp.c (setup_echo_area_for_printing): Call
9482 message_log_maybe_newline if message_buf_print is not set.
9483
9484 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9485 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9486 function does something useful even when message_buf_print is
9487 already set.
9488
52283633
SM
9489 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9490 New variables.
25fa6deb
GM
9491 (ensure_echo_area_buffers): Initialize echo buffer's
9492 truncate lines setting to nil.
9493 (with_echo_area_buffer): Don't set the echo buffer's truncate
9494 lines setting here.
8a4e3c0c 9495 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9496 of message_truncate_lines.
9497 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9498 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9499 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9500
9501 * keyboard.c (read_char): Bind message-truncate-lines to t
9502 while displaying a help-echo.
9503
9504 * lisp.h (Qmessage_truncate_lines): External declaration.
9505
163dcff3
GM
95062000-06-13 Gerd Moellmann <gerd@gnu.org>
9507
1681ead6
GM
9508 * xdisp.c (Vline_number_display_limit): Renamed from
9509 line_number_display_limit.
9510 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9511 Extend documentation string. Initialize
9512 Vline_number_display_limit to nil meaning no limit.
9513 (decode_mode_spec): Use Vline_number_display_limit with its new
9514 meaning.
9515
163dcff3
GM
9516 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9517
18e21ce8 95182000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9519
9520 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9521
163dcff3
GM
9522 * xfns.c (x_set_frame_parameters): Comment fix.
9523
9524 * frame.c (store_frame_param): Call swap_in_global_binding if the
9525 variable's current binding was chosen based on this frame.
9526
9527 * data.c (swap_in_global_binding): New function.
9528
a704139d
EZ
95292000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9530
9531 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9532 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9533
9b6610db
EZ
95342000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9535
9536 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9537
c68833d2
JR
95382000-06-12 Jason Rumney <jasonr@gnu.org>
9539
9540 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9541
9542 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9543
9544 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9545
9546 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9547
ed1056b3
GM
95482000-06-12 Gerd Moellmann <gerd@gnu.org>
9549
9550 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9551 (syms_of_xfaces): Defsubr Sdump_colors.
9552 (x_free_colors): Don't treat b&w specially on default visual.
9553 (x_free_dpy_colors): New function.
9554 (free_face_colors): Don't check visual class; it's done
9555 in x_free_colors.
9556
9557 * xterm.c (x_frame_of_widget): New function.
9558 (x_alloc_nearest_color_for_widget): Use it.
9559 (x_copy_dpy_color): New function.
9560 (x_destroy_window): Free various colors.
9561
5050a2ef
KH
95622000-06-12 Kenichi Handa <handa@etl.go.jp>
9563
9564 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9565
9566 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9567
9568 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9569
9570 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9571
9572 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9573
fb1b041d
DL
95742000-06-11 Dave Love <fx@gnu.org>
9575
9576 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9577
ff96b5f4
EZ
95782000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9579
9580 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9581
db8eeecd
GM
95822000-06-11 Gerd Moellmann <gerd@gnu.org>
9583
ed1056b3 9584 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9585 to `XEvent *'.
9586
49b71c5f
KH
95872000-06-10 Kenichi Handa <handa@etl.go.jp>
9588
c479bd55
KH
9589 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9590 (regex_compile): Fix the code for handling the case of single byte
9591 char and multibyte char being mixed in a range within [...].
9592
ff6a65c2
KH
9593 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9594 and dst_multibyte members of coding.
9595
49b71c5f
KH
9596 * charset.c (update_charset_table): Update the table
9597 bytes_by_char_head.
9598 (init_charset_once): Initialize elements of bytes_by_char_head to
9599 1 except for leading codes for private charases.
9600
9601 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9602 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9603
9e80b57d
KR
96042000-06-09 Ken Raeburn <raeburn@gnu.org>
9605
9606 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9607 access the data it doesn't point to.
9608
f83fe4b4
GM
96092000-06-08 Gerd Moellmann <gerd@gnu.org>
9610
9611 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9612 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9613 event queue. This is necessary because Emacs otherwise won't
9614 perform a switch-frame to a new frame until some other event, for
9615 example a keystroke event, forces it to do so. This has various
9616 effects, one visible being that the cursor of a frame created with
9617 C-x 5 2 or switched to with a window manager key binding like
9618 A-TAB stays hollow because selected_window isn't on the newly
9619 focused frame until the switch-frame is performed.
9620
9621 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9622 generating a switch-frame event if necessary.
9623
9624 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9625
9626 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9627 it's an integer.
9628
0890801b
KH
96292000-06-08 Kenichi Handa <handa@etl.go.jp>
9630
52283633 9631 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9632
173cbca8
GM
96332000-06-07 Gerd Moellmann <gerd@gnu.org>
9634
3091c2a6
GM
9635 * window.c (displayed_window_lines): Take empty lines at
9636 the bottom of a window into account.
427ec082 9637
f38952fe
GM
9638 * window.c (displayed_window_lines): New function.
9639 (Fmove_to_window_line): Use displayed_window_lines to determine
9640 the number of lines to move, instead of using the window's height.
9641
9642 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9643 to stop reading, even if the form read sets point to a different
9644 value when evaluated.
9645
427ec082 9646 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9647 put the cursor.
9648
6ba6c818
KH
96492000-06-07 Kenichi Handa <handa@etl.go.jp>
9650
9651 * fileio.c (e_write): Free composition data if stored in
9652 coding->cmp_data.
9653
5f1aea9a
GM
96542000-06-06 Gerd Moellmann <gerd@gnu.org>
9655
666852af
GM
9656 * xdisp.c (display_line): Set row's and iterator's
9657 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9658 Set cursor even if row ends in the middle of a character.
9659 (dump_glyph_row): Print values of new flags.
9660 (redisplay_window) <cursor movement in unchanged window>: When
9661 point has been moved forward, and PT is at the end of the cursor
9662 row, don't place the cursor in the next row if the cursor row ends
9663 in the middle of a character or at ZV.
9664
9665 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9666 (struct glyph_row): Add starts_in_middle_of_char_p and
9667 ends_in_middle_of_char_p.
9668 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9669 ends_in_middle_of_char_p flag.
9670 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9671
d13f3e2e
GM
9672 * term.c (append_glyph): Revert change of 2000-06-06.
9673
9674 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9675 padding glyph not fitting on line as whole character not
9676 fitting on line.
9677
5f1aea9a
GM
9678 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9679 this isn't true for images with `:ascent 100'.
9680
10cda9b0
KH
96812000-06-06 Kenichi Handa <handa@etl.go.jp>
9682
ed00559d
KH
9683 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9684 as modified if it is originally unmodified.
9685
10cda9b0
KH
9686 * term.c (encode_terminal_code): Change the way to check if
9687 terminal coding does any conversion.
9688 (append_glyph): Set glyph->pixel_width correctly.
9689
9690 * xdisp.c (display_line): While checking line continuation, pay
9691 attention to a padding glyph.
9692
1969fae2
GM
96932000-06-05 Gerd Moellmann <gerd@gnu.org>
9694
9695 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9696
162ccef4
DL
96972000-06-05 Dave Love <fx@gnu.org>
9698
f19f32dd
DL
9699 * xdisp.c: Include fontset.h.
9700
9701 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9702
9703 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9704
9705 * dispnew.c: Conditionally include term.h.
9706
9707 * coding.h: Declare code_convert_string_norecord.
9708
9709 * frame.h (struct frame): Use volatile unconditionally.
9710
9711 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9712
9713 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9714
9715 * systime.h: Protect against multiple inclusion.
9716 (timezone) [USG5_4]: Define as time_t.
9717
9718 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9719 (Foptimize_char_table, make_temp_name): Declare.
9720
9721 * Makefile.in (xdisp.o): Depend on fontset.h.
9722
9723 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9724
9725 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9726 (Foptimize_char_table, make_temp_name): Declare.
9727
427ec082 9728 * s/irix4-0.h:
162ccef4
DL
9729 * s/irix5-0.h:
9730 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9731
2082fe81
DL
97322000-06-02 Dave Love <fx@gnu.org>
9733
9734 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9735
dcf671d2
GM
97362000-06-02 Gerd Moellmann <gerd@gnu.org>
9737
9738 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9739 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9740 be freed.
9741
9742 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9743 glyph, use the ASCII NUL character to determine the face.
9744
d42122a3
DL
97452000-06-02 Dave Love <fx@gnu.org>
9746
9747 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9748 (VFORK_RETURN_TYPE): Remove.
427ec082 9749
d42122a3
DL
9750 * config.in: Add NO_MATHERR.
9751
dd432f16
DL
97522000-06-01 Dave Love <fx@gnu.org>
9753
90aa4ea8
DL
9754 * cmds.c (internal_self_insert): Don't check
9755 Vbefore_change_function, Vafter_change_function.
9756
9757 * insdel.c (signal_before_change, signal_after_change): Likewise.
9758
9759 * buffer.c (Vbefore_change_function, Vafter_change_function):
9760 Variables and their initializations deleted.
9761
2330c9d4
DL
9762 * callint.c (Fcall_interactively): Doc fix.
9763
dd432f16
DL
9764 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9765
bf9e8804
DL
97662000-05-31 Dave Love <fx@gnu.org>
9767
9768 * textprop.c: Revert last change -- duplicated.
9769
3694b4ab
GM
97702000-05-31 Gerd Moellmann <gerd@gnu.org>
9771
9772 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9773 in #if 0.
9774
9775 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9776
f14156cd
JR
97772000-05-31 Jason Rumney <jasonr@gnu.org>
9778
8119aab8
JR
9779 * search.c (Fre_search_forward, Fre_search_backward)
9780 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9781
f14156cd
JR
9782 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9783
4aab9be3
JR
97842000-05-30 Jason Rumney <jasonr@gnu.org>
9785
9786 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9787 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9788
52283633 9789 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9790
9791 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9792 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9793 expand a nil default_filename.
9794
9795 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9796 pointer to glyph_to_pixel_coords, not a frame.
9797
9798 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9799 coding.h to dependencies.
9800
9801 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9802
9803 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9804 window pointer to be consistent with w32term.c and xterm.c.
9805
9806 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9807 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9808 (Qline_spacing, Qcenter): New variables.
9809 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9810 (x_set_line_spacing): New function.
52283633 9811 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9812 (x_specified_cursor_type): New function.
9813 (x_set_cursor_type): Use it.
9814 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9815 and icon strings.
9816 (validate_x_resource_name, x_get_resource_string): Measure lengths
9817 of external strings in bytes.
9818 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9819 GetTextExtentPoint32 with NULL title.
9820 (Fx_create_frame): Initialize Qline_spacing.
9821 (w32_load_system_font): Initialize font->double_byte_p.
9822 (x_to_w32_charset): Use Vw32_charset_info_alist.
9823 (Image, busy cursor, tooltip functions): Merged changes from
9824 xfns.c. Not yet functional on Windows.
9825
9826 * w32gui.h (W32FontStruct): Add double_byte_p member.
9827
9828 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9829 (emacs_button_translation): Use it.
9830 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9831 in `mask' to be set.
9832
9833 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9834 menu strings.
9835
9836 * w32term.c: Format and doc changes to bring closer to xterm.c.
9837 (w32_char_font_type): New enum.
9838 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9839 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9840 (w32_encode_char): New function.
9841 (x_encode_char): Removed.
9842 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9843 x_encode_char and w32_font_is_double_byte.
9844 (x_produce_image_glyph): Use image_ascent.
9845 (x_produce_glyphs): Use new version of w32_per_char_metric and
9846 handle NULL return value. Allow extra line spacing.
9847 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9848 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9849 w32_font_type member of glyph instead.
9850 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9851 (fast_find_position): Make sure not to consider rows not visible
9852 in the window.
9853 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9854 w32_menu_display_help with input blocked, as it can abort.
9855 (x_display_and_set_cursor): Choose cursor depending
9856 on buffer-local value of cursor_type.
9857 (x_draw_bar_cursor): Add parameter WIDTH.
9858
9859 * w32term.h (CP_DEFAULT): Define.
9860 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9861
10fc3187
GM
98622000-05-30 Gerd Moellmann <gerd@gnu.org>
9863
9864 * search.c (Fre_search_forward, Fre_search_backward)
9865 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9866
d0555360
KH
98672000-05-30 Kenichi Handa <handa@etl.go.jp>
9868
9869 * coding.c (detect_coding_iso2022): Fix code for checking
9870 CODING_CATEGORY_MASK_ISO_8_2.
9871
f1ad044f
SM
98722000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9873
9874 * regex.c (PREFETCH_NOLIMIT): New function.
9875 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9876
84ec3b4b
GM
98772000-05-29 Gerd Moellmann <gerd@gnu.org>
9878
66254a13
GM
9879 * syntax.c (find_defun_start): Move test for
9880 open_paren_in_column_0_is_defun_start outside of the loop.
9881
49e70dec
GM
9882 * xdisp.c (redisplay_window): Really switch buffers when
9883 displaying mode lines, and temporarily set selected_frame to the
9884 frame of the window that's redisplayed.
9885
84ec3b4b
GM
9886 * xfaces.c (free_realized_faces): Block/unblock input.
9887 (free_realized_multibyte_face): Ditto.
9888
869a3a14
DL
98892000-05-29 Dave Love <fx@gnu.org>
9890
9891 * textprop.c (Qkeymap): New variable.
9892 (syms_of_textprop): Intern it.
9893
9894 * keymap.c: Include intervals.h.
9895 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9896
9897 * Makefile.in (keymap.o): Depend on intervals.h.
9898
9899 * keyboard.c (menu_bar_items, tool_bar_items)
9900 (Fexecute_extended_command): Deal with `keymap' property.
9901 (read_key_sequence): Track map from `keymap' property as well as
9902 `local_map'.
9903
9904 * intervals.c (get_local_map): Extra arg to allow looking for
9905 `keymap' too.
9906
9907 * intervals.h (map_property): New enum.
9908 (get_local_map): Extra arg using it.
9909 (Qkeymap): Declare.
9910
84ec3b4b 9911 * lisp.h (get_local_map): Don't declare here.
869a3a14 9912
89d0c844
KH
99132000-05-29 Kenichi Handa <handa@etl.go.jp>
9914
9915 * Makefile.in (callproc.o): Depend on composite.h.
9916
9917 * callproc.c: Include composite.h.
9918 (Fcall_process): Handle composition correctly.
9919
9920 * coding.h (coding_allocate_composition_data): Extern it.
9921 (coding_restore_composition): Likewise.
9922
9923 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9924 yet allocated, finish decoding with result
9925 CODING_FINISH_INSUFFICIENT_CMP.
9926 (coding_allocate_composition_data): Make it non-static.
9927 (coding_restore_composition): Likewise.
9928
797a084a
EZ
99292000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9930
9931 * charset.c (syms_of_charset): Revert last change.
9932
cf872af5
EZ
99332000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9934
9935 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9936 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9937 Handa.
cf872af5 9938
5b1ae051
EZ
99392000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9940
9941 * charset.c (syms_of_charset): Set width of character sets
9942 eight-bit-control and eight-bit-graphic to 1 column.
9943
34ec9ebe
GM
99442000-05-26 Gerd Moellmann <gerd@gnu.org>
9945
9946 * config.in (HAVE_SPEED_T): New define.
9947
9948 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9949 `extern speed_t'.
9950
dd854dc2
DL
99512000-05-26 Dave Love <fx@gnu.org>
9952
9953 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9954
9955 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9956 (Fsubr_arity): New function.
9957 (syms_of_data): Install them.
9958
ba9f8f95
KH
99592000-05-26 Kenichi Handa <handa@etl.go.jp>
9960
0f3e0672
KH
9961 * charset.c (init_charset_once): Set the table bytes_by_char_head
9962 correctly.
9963
cebefb44
KH
9964 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9965 the default fontset to what Emacs uses by default.
0f3e0672
KH
9966 (check_registry_encoding): This function deleted.
9967 (Fset_fontset_font): Remove the adhoc condition for the default
9968 fontset. Allow cons in FONTNAME.
cebefb44 9969
0f3e0672
KH
9970 * fns.c (map_char_table): Ignore char-table entries for
9971 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9972
7a18af49
KR
99732000-05-25 Ken Raeburn <raeburn@gnu.org>
9974
9975 * emacs.c (main): Initialize keyboard syms before initializing
9976 window code, so face names are available.
9977
d2af47df
SM
99782000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9979
9980 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9981 of an anchor at the beginning of a shy-group.
9982
fc6a6a4e
GM
99832000-05-25 Gerd Moellmann <gerd@gnu.org>
9984
9985 * xdisp.c (handle_invisible_prop): Don't try to skip over
9986 invisible text if end of text is already reached.
9987
005f0d35
DL
99882000-05-25 Dave Love <fx@gnu.org>
9989
02513cdd
DL
9990 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9991
005f0d35
DL
9992 * coding.c (encode_eol): Add null statement after label.
9993
89f6ca4e
EZ
99942000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9995
9996 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9997 2000-05-20.
9998
a4e1759e
KH
99992000-05-25 Kenichi Handa <handa@etl.go.jp>
10000
10001 * ccl.c (ccl_driver): Fix previous change.
10002
eacfd7fe
KH
100032000-05-25 Kenichi Handa <handa@etl.go.jp>
10004
46ab33a9
KH
10005 * coding.c (run_pre_post_conversion_on_str): Set point to the
10006 beginning of buffer before calling coding->post_read_conversion.
10007 (decode_coding_string): Give correct args to
10008 run_pre_post_conversion_on_str.
10009 (encode_coding_string): Likewise.
10010
eacfd7fe
KH
10011 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
10012 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
10013 eight-bit-graphic correctly.
10014
f8569325
DL
100152000-05-24 Kenichi HANDA <handa@etl.go.jp>
10016
10017 * fileio.c (Finsert_file_contents): Even if a file is not found,
10018 execute codes for setting up coding system. Call
10019 after-insert-file-functions unconditionally.
10020
04545643
GM
100212000-05-24 Gerd Moellmann <gerd@gnu.org>
10022
10023 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
10024 BSD_PGRPS are not defined.
10025
747d90ea
KH
100262000-05-24 Kenichi Handa <handa@etl.go.jp>
10027
10028 * charset.c (update_charset_table): Accept nil in LONG_NAME and
10029 DESCRIPTION.
10030 (syms_of_charset): Avoid building same strings.
10031
716e3b88
GM
100322000-05-23 Gerd Moellmann <gerd@gnu.org>
10033
10034 * lread.c (Fload): Add a comment about the meaning of
10035 Vuser_init_file being t.
10036
10037 * puresize.h (BASE_PURESIZE): Increase to 675000.
10038
10039 * s/gnu-linux.h (setpgrp): Don't define it here because this
10040 prevents compilation on GNU/Linux systems with glib 2.2.
10041
10042 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
10043 as setpgid.
427ec082 10044
9aeb39fa
EZ
100452000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
10046
10047 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
10048 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
10049 version.
10050 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
10051
29ced61b
KH
100522000-05-23 Kenichi Handa <handa@etl.go.jp>
10053
52283633 10054 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 10055
3d80f24d
KH
10056 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
10057
52283633 10058 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 10059
29ced61b
KH
10060 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
10061
d7e00792
KH
100622000-05-22 Kenichi Handa <handa@etl.go.jp>
10063
c9d80d38
KH
10064 * keyboard.c (read_char): Allow character codes 128..255 to be
10065 handled by input-method-function.
10066
d7e00792
KH
10067 * insdel.c (adjust_markers_for_replace): Fix previous change.
10068 (adjust_after_replace): If PREV_TEXT is nil, call
10069 adjust_markers_for_insert, not adjust_markers_for_replace.
10070
087121cc 100712000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 10072
087121cc
GM
10073 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
10074 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
10075 [HAVE_GRANDPT]: Define.
10076 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
10077
10078 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
10079 like SYSV_PTYS.
10080
10081 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
10082
10083 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
10084
c9671f81
KH
100852000-05-20 Kenichi Handa <handa@etl.go.jp>
10086
10087 The following changes are to handle 8-bit characters in a
10088 multibyte buffer/string without facing with byte combining
10089 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
10090 eight-bit-graphic (for 0xA0..0xFF) are introduced.
10091
10092 * Makefile.in (fns.o): Depend on charset.h.
10093
10094 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
10095 convert it to unibyte.
10096 (make_string): Use parse_str_as_multibyte, not chars_in_text.
10097
10098 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
10099 apparent char boundary.
10100 (Fset_buffer_multibyte): Convert 8-bit characters in the range
10101 0x80..0x9F to/from multibyte form.
10102
10103 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
10104 to unibyte.
10105
10106 * callproc.c (Fcall_process): Always encode an argument string if
10107 it is multibyte. Setup src_multibyte and dst_multibyte members of
10108 process_coding properly.
ce75fd23 10109
c9671f81
KH
10110 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
10111 SPLIT_NON_ASCII_CHAR.
10112
10113 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
10114 as is.
10115 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
10116
52283633 10117 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 10118 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 10119 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
10120 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
10121 and eight-bit-graphic.
10122 (char_to_string): Likewise. Signal an error for too large
10123 character code.
10124 (char_printable_p): Return 0 for 8-bit characters.
10125 (update_charset_table): Update iso_charset_table only when a final
10126 character is non-negative.
10127 (find_charset_in_text): Renamed from find_charset_in_str.
10128 Arguments and return value changed. Callers changed.
10129 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
10130 be -1 if CHARSET is used only internally.
10131 (Fmake_char_internal): Handle new charsets; eight-bit-control and
10132 eight-bit-graphic.
10133 (Fcharset_after): Simplified.
10134 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
10135 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
10136 (multibyte_chars_in_text): Simplified by assuming there's no
10137 invalid multibyte sequence.
52283633
SM
10138 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10139 (str_as_unibyte): New functions.
10140 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
10141 (init_charset_once): Initialization for
10142 LEADING_CODE_8_BIT_CONTROL.
10143 (syms_of_charset): Intern and staticpro Qeight_bit_control and
10144 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
10145 eight-bit-control and eight-bit-graphic.
10146
52283633
SM
10147 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
10148 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
10149 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
10150 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
10151 (CHARSET_REVERSE_CHARSET): Likewise.
10152 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
10153 eight-bit-graphic.
10154 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
10155 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
10156 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
10157 encounter an invalid multibyte sequence.
10158 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
10159 sequence is always valid.
10160 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 10161 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
10162 (CHAR_STRING): For 8-bit characters, call char_to_string.
10163 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
10164 multibyte sequence is always valid.
10165 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
10166 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
10167 (str_as_unibyte): Extern them.
c9671f81 10168 (BCOPY_SHORT): Fix a bug.
52283633 10169 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
10170 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
10171 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
10172 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
10173
bd4bde7f 10174 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 10175 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
10176 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
10177 (EMIT_BYTES): New macros.
10178 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
10179 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
10180 macros deleted.
10181 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
10182 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
10183 check the validity of multibyte sequence.
10184 (decode_coding_emacs_mule): New function.
10185 (encode_coding_emacs_mule): New macro.
10186 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
10187 the source.
10188 (DECODE_ISO_CHARACTER): Just return a character code.
10189 (DECODE_COMPOSITION_START): Set coding->result instead of result.
10190 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
10191 EMIT_CHAR to produced decoded characters. Exit the loop only by
10192 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
10193 block here.
10194 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
10195 only position codes for an invalid character.
10196 (encode_designation_at_bol): Return new destination pointer. 5th
10197 arg DSTP is changed to DST.
10198 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
10199 from the source by ONE_MORE_CHAR. Don't handle the case of last
10200 block here.
10201 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
10202 macros deleted.
52283633
SM
10203 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
10204 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
10205 TWO_MORE_BYTES to fetch a byte from the source.
10206 (encode_eol): Pay attention to coding->src_multibyte.
10207 (detect_coding, detect_eol): Preserve members src_multibyte and
10208 dst_multibyte.
10209 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
10210 (encoding_buffer_size): Set magnification to 3 for all coding
10211 systems that require encoding.
10212 (ccl_coding_driver): For decoding, be sure that the result is
10213 valid multibyte sequence.
10214 (decode_coding): Initialize coding->errors and coding->result.
10215 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
10216 and raw-text, always call decode_eol. Handle the case of last
10217 block here. If not coding->dst_multibyte, convert the resulting
10218 sequence to unibyte.
10219 (encode_coding): Initialize coding->errors and coding->result.
10220 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
10221 and raw-text, always call encode_eol. Handle the case of last
10222 block here.
10223 (shrink_decoding_region, shrink_encoding_region): Detect cases
10224 that we can't skip data more rigidly.
10225 (code_convert_region): Setup src_multibyte and dst_multibyte
10226 members of coding. For decoding, if the buffer is multibyte,
10227 convert the source sequence to unibyte in advance. For encoding,
10228 if the buffer is multibyte, convert the resulting sequence to
10229 multibyte afterward.
10230 (run_pre_post_conversion_on_str): New function.
10231 (code_convert_string): Deleted and divided into the following two.
10232 (decode_coding_string, encode_coding_string): New functions.
10233 (code_convert_string1, code_convert_string_norecord): Call one of
10234 above.
10235 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
10236 MAKE_NON_ASCII_CHAR.
52283633
SM
10237 (Fset_terminal_coding_system_internal)
10238 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
10239 and dst_multibyte members.
10240 (init_coding_once): Initialize iso_code_class with new enum
10241 ISO_control_0 and ISO_control_1.
10242
10243 * coding.h (enum iso_code_class_type): Member ISO_control_code is
10244 devided into ISO_control_0 and ISO_control_1.
10245 (struct coding_system): New members src_multibyte, dst_multibyte,
10246 errors, and result. Delete member fake_multibyte.
10247 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
10248 nonzero.
10249 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
10250 nonzero.
10251
10252 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
10253 (Faset): Likewise.
10254
10255 * editfns.c (Fformat): Be sure to convert 8-bit characters to
10256 multibyte form.
10257 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
10258 combining occurs.
10259 (Ftranspose_region): Delete codes for handling byte combining.
10260
10261 * fileio.c (Finsert_file_contents): Setup src_multibyte and
10262 dst_multibyte members of coding. On handling REPLACE on unibyte
10263 buffer, convert the result of decode_coding to unibyte. On
10264 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 10265 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
10266 multibyteness of the source (buffer or string).
10267
10268 * fns.c (concat): Handle 8-bit characters correctly.
10269 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
10270 unibyte in the result.
10271 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
10272 valid multibyte form in the result.
10273 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
10274 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
10275 return -1, signal an error.
10276 (base64_encode_1): New arg MULTIBYTE. Get each character by
10277 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
10278 character is found, return -1.
10279 (Fbase64_decode_region): Delete codes for handling byte-combining.
10280 Treat each decoded byte as a unibyte character.
10281 (Fbase64_decode_string): Return unibyte string.
10282 (Fcompare_strings, concat, string_byte_to_char): Use
10283 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
10284 FETCH_STRING_CHAR_ADVANCE.
10285 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10286 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
10287
10288 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
10289 SPLIT_NON_ASCII_CHAR.
10290 (fontset_ref_via_base, fontset_set): Likewise
10291
10292 * insdel.c (adjust_markers_for_record_delete): Deleted.
10293 (adjust_markers_for_insert): Argument changed. Caller changed.
10294 (adjust_markers_for_replace): Likewise.
52283633
SM
10295 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
10296 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
10297 (copy_text): Delete unused local varialbe c_save. For converting
10298 to multibyte, be sure to make all 8-bit characters in valid
10299 multibyte form.
10300 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
10301 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10302 (adjust_after_replace, replace_range, del_range_2)
c9671f81 10303 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
10304 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
10305 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
10306 handling byte combining.
10307 (adjust_before_replace): Deleted.
427ec082 10308
c9671f81
KH
10309 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
10310 SPLIT_NON_ASCII_CHAR.
10311 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 10312 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10313 (Fkey_description): Likewise.
10314
10315 * lread.c (read1): On reading multibyte string, be sure to make
10316 all 8-bit chararacters in valid multibyte form.
10317 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
10318
10319 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
10320 unconditionally.
10321
10322 * process.c (Fstart_process): GCPRO current_dir before calling
10323 Ffind_operation_coding_system. Encode arguments here.
10324 (create_process): Don't encode arguments here. Setup
10325 src_multibyte and dst_multibyte members of struct coding.
10326 (read_process_output): Setup src_multibyte and dst_multibyte
10327 members of struct coding. If the output is to multibyte buffer,
10328 always decode the output of the process. Adjust the
52283633 10329 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
10330 (send_process): Setup coding->src_multibyte according to the
10331 multibyteness of the source.
10332
52283633 10333 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
10334 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
10335 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
10336
52283633 10337 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
10338
10339 * w16select.c (Fw16_set_clipboard_data): Setup members
10340 src_multibyte and dst_multibyte of coding. Adjusted for the
10341 change for find_charset_in_str.
10342 (Fw16_get_clipboard_data): Likewise.
10343
10344 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
10345 dst_multibyte of coding.
10346 (x_to_w32_font): Likewise.
10347
10348 * w32select.c (Fw32_set_clipboard_data): Setup members
10349 src_multibyte and dst_multibyte of coding. Adjusted for the
10350 change for find_charset_in_str.
10351 (Fw32_get_clipboard_data): Likewise.
10352
10353 * xdisp.c (get_next_display_element): Handle 8-bit characters
10354 correctly.
52283633
SM
10355 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
10356 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
10357
10358 * xselect.c (selection_data_to_lisp_data): Setup members
10359 src_multibyte and dst_multibyte of coding. Adjusted for the
10360 change for find_charset_in_str.
10361 (lisp_data_to_selection_data): Likewise.
10362
5f64c9e0
GM
103632000-05-19 Gerd Moellmann <gerd@gnu.org>
10364
52283633 10365 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 10366
5f64c9e0
GM
10367 * dispextern.h (Vimage_types): Add extern declaration.
10368
10369 * xdisp.c (Vimage_types): Moved here from xfns.c.
10370 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
10371
10372 * xfns.c (Vimages_types): Moved to xdisp.c.
10373 (syms_of_xfns): Move `image-types' to xdisp.c.
10374
10375 * w32fns.c (Vimage_types): Removed.
10376 (syms_of_w32fns): Remove `image-types'.
10377
813086ea
KH
103782000-05-18 Kenichi Handa <handa@etl.go.jp>
10379
10380 * fns.c (map_char_table): Pay attention to character number of
10381 charset. Check the validity of charset at the first level. For
10382 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
10383 the default value.
10384
10385 * fontset.c: Include "buffer.h".
10386 (fs_load_font): If the face has fontset, record the face ID in
10387 that fontset.
10388 (Finternal_char_font): New function.
10389 (accumulate_font_info): New function.
10390 (Ffontset_info): Rewritten for the new fontset implementation.
10391 (syms_of_fontset): Register Vdefault_fontset in the first element
10392 of Vfontset_table. Include Vdefault_fontset in
10393 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
10394 function.
10395
bdaebbf0
DL
103962000-05-16 Dave Love <fx@gnu.org>
10397
10398 * m/iris5d.h: Deleted -- unused.
10399
cb613bb8
GM
104002000-05-16 Gerd Moellmann <gerd@gnu.org>
10401
b15f3b77
GM
10402 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
10403 `invalid' instead of `illegal'.
10404
10405 * indent.c (Fmove_to_column): When ending within a tab, insert
10406 spaces first so that markers at the end of the tab get adjusted.
10407
835c1b36
GM
10408 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
10409 buffer list that wasn't selected in that frame.
10410
cb613bb8
GM
10411 * filelock.c (get_boot_time): To obtain an 8 char file name, which
10412 is needed on mescaline, use a 2 char prefix, and call
10413 make_temp_name with second arg non-zero.
10414
10415 * fileio.c (make_temp_name): New function, extracted from
10416 Fmake_temp_name.
10417 (Fmake_temp_name): Use it.
10418
f685bea9
EZ
104192000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
10420
52283633 10421 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 10422
a1b8d58b
GM
104232000-05-15 Gerd Moellmann <gerd@gnu.org>
10424
10425 * Makefile.in (lisp): Add env.elc.
10426
10427 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
10428
a265079f
GM
104292000-05-12 Gerd Moellmann <gerd@gnu.org>
10430
10431 * search.c (Freplace_match): Handle case of `\N' in the
10432 replacement when there's no group N.
10433
da4496b6
GM
104342000-05-11 Gerd Moellmann <gerd@gnu.org>
10435
0ace421a
GM
10436 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
10437 of the message to message_dolog.
10438
1172eb8d
GM
10439 * keyboard.c (read_char): Don't clear current message for help
10440 events; let the code handling help events handle this. Change
10441 code detecting help events that should be ignored.
10442
da4496b6
GM
10443 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10444 we're interating over a string.
10445
0623e40f
DL
104462000-05-09 Dave Love <fx@gnu.org>
10447
10448 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10449 that offset before writing. Move gcpro region past call of
10450 Ffile_regular_p.
10451
bae2503b
DL
104522000-05-04 Dave Love <fx@gnu.org>
10453
10454 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10455
ec82fb2f
GM
104562000-05-04 Gerd Moellmann <gerd@gnu.org>
10457
10458 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10459 of inserted characters when BUF equals the current buffer, and PT
10460 is in front of or equal to FROM.
10461
cbf18892
GM
104622000-05-03 Gerd Moellmann <gerd@gnu.org>
10463
4ff40dd0
GM
10464 * xdisp.c (handle_single_display_prop): If display property value
10465 is invalid, or something not supported on the frame, restore
10466 iterator's position to what it was initially. Make sure to return
10467 0 for invalid and unsupported property values.
10468
cbf18892
GM
10469 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10470 that x_per_char_metric returns null.
10471
1b0672c3
GM
104722000-05-02 Gerd Moellmann <gerd@gnu.org>
10473
576da55d
GM
10474 * xterm.h (struct face): Add forward declaration.
10475 (struct image): Ditto.
10476 (image_ascent): Add prototype.
10477
10478 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10479 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10480 image_ascent instead of using IMAGE_ASCENT.
10481
10482 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10483 (IMAGE_ASCENT): Removed.
10484
10485 * xfns.c (Qcenter): New variable.
10486 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10487 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10488 (image_ascent): New function.
10489 (lookup_image): Recognize `:ascent center'.
10490 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10491 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10492 (xbm_load): Don't set image's ascent here.
10493 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10494 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10495 check ascent values here.
10496 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10497 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10498 (syms_of_xfns): Initialize Qcenter.
10499
1b0672c3
GM
10500 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10501 to the limits, increase the limits.
10502
0d7811ed
KH
105032000-05-01 Kenichi Handa <handa@etl.go.jp>
10504
10505 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10506 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10507
a943a5ca
GM
105082000-04-28 Gerd Moellmann <gerd@gnu.org>
10509
10510 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10511 taller than the window.
10512
5dba1e29
KH
105132000-04-28 Kenichi Handa <handa@etl.go.jp>
10514
10515 * xfaces.c (realize_x_face): Fix the argument of the second
10516 xassert. BASE_FACE may not be a face for ASCII.
10517
353964e3
GM
105182000-04-27 Gerd Moellmann <gerd@gnu.org>
10519
c76e04a8
GM
10520 * print.c (print_object): Treat print-length < 0 as nil.
10521
10522 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10523
10524 * s/freebsd.h (TERMCAP_OBJ): Removed.
10525 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10526
10527 * lread.c (read1): Don't treat period followed by certain
10528 characters as symbol start.
10529
10530 * xfns.c (slurp_file): New function.
10531 (xbm_image_p): Handle case of in-memory XBM files.
10532 (xbm_scan): Rewritten to work on memory buffers instead of files.
10533 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10534 Work on memory buffers instead of files. If DATA is null test
10535 if buffer looks like an in-memory XBM file.
10536 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10537 memory buffers instead of files.
10538 (xbm_file_p): New function.
10539 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10540
353964e3
GM
10541 * lread.c (end_of_file_error): New function.
10542 (read1): Call it instead of signaling `end-of-file' directly.
10543
427ec082 10544 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10545 with Fprinc instead of Fprin1.
10546
24d744ac
KR
105472000-04-26 Ken Raeburn <raeburn@gnu.org>
10548
10549 * window.c (freeze_window_start): Check that minibuffer scroll
10550 window isn't nil before extracting the window structure pointer
10551 from it.
10552
10553 * undo.c (record_delete): If we hit the end of the undo list, stop
10554 picking elements apart.
10555
7464346d
GM
105562000-04-26 Gerd Moellmann <gerd@gnu.org>
10557
10558 * xdisp.c (display_line): If lines are continued, restore
10559 iterator's ascent/descent information to the values before the
10560 first glyph not fitting on the line.
10561
612839b6
GM
105622000-04-25 Gerd Moellmann <gerd@gnu.org>
10563
10564 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10565 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10566
10567 * dispnew.c (increment_matrix_positions): Renamed from
10568 increment_glyph_matrix_buffer_positions.
10569 (increment_row_positions): Renamed from
10570 increment_glyph_row_buffer_positions.
10571
10572 * dispextern.h: Change names of renamed functions from dispnew.c
10573 in prototypes.
10574
cc181e95
GM
105752000-04-24 Gerd Moellmann <gerd@gnu.org>
10576
abfcc168
GM
10577 * fileio.c (Fdo_auto_save): Create directories for auto-save
10578 list file if necessary.
10579
cc181e95
GM
10580 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10581 from buffer or frame.
10582 (automatic_hscrolling_p): New variable.
10583 (hscroll_windows): Scroll windows horizontally only if automatic
10584 hscrolling is allowed.
10585 (syms_of_xdisp): New variable `automatic-hscrolling'.
10586
10587 * frame.h (struct frame): Add member extra_line_spacing.
10588
10589 * xfns.c (x_set_line_spacing): New function.
10590 (Fx_create_frame): Set line spacing from resources.
10591 (Qline_spacing): New variable.
10592 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10593
cc181e95
GM
10594 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10595
10596 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10597 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10598 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10599 extra_line_spacing from default value.
10600 (init_buffer_once): Initialize default value of extra_line_spacing.
10601
10602 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10603 and extra3.
10604
10605 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10606 prompt_width. Add extra line spacing.
10607
10608 * term.c (produce_glyphs): Remove reference to struct it's
10609 prompt_width.
10610
10611 * dispextern.h (struct it): Remove member prompt_width, add
10612 extra_line_spacing.
10613
58827478
GM
106142000-04-22 Gerd Moellmann <gerd@gnu.org>
10615
10616 * dispnew.c (update_frame_line): When writing a whole line, make
10617 sure cursor is in the right row afterwards, otherwise a use of
10618 capability `ch' in cmgoto might leave the cursor in the row below.
10619
25a87f42
GM
106202000-04-21 Gerd Moellmann <gerd@gnu.org>
10621
10622 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10623
10624 * keyboard.c (timer_check): Fix typo in comment.
10625
54edf5c2
KH
106262000-04-21 Kenichi Handa <handa@etl.go.jp>
10627
10628 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10629 name change: ch -> character.
10630
3a64eef5
GM
106312000-04-20 Gerd Moellmann <gerd@gnu.org>
10632
10633 * keyboard.c (echo_message_buffer): New variable.
10634 (echo_now): Set echo_message_buffer to the echo area buffer used
10635 to display the echo.
10636 (cancel_echoing): Reset echo_message_buffer to nil.
10637 (read_char): Code rewritten that handles canceling an echo or
10638 echoing a dash, respectively.
10639
10640 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10641 directory doesn't exist.
10642
6142fdcb
DL
106432000-04-19 Dave Love <fx@gnu.org>
10644
10645 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10646 (concat): Don't allow numeric args.
10647 (Fconcat): Doc change.
6142fdcb 10648
ac6b5352
SM
106492000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10650
10651 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10652 instead define end_match(1|2) more carefully.
10653 Use GET_CHAR_BEFORE_2 for `begline'.
10654
cb9215e4
GM
106552000-04-19 Gerd Moellmann <gerd@gnu.org>
10656
5e3dac3f
GM
10657 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10658 on 64-bit systems where NULL is defined as `0'.
10659
10660 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10661 the `variable argument list' to make it work on Alpha.
10662
cb9215e4
GM
10663 * m/alpha.h (_LP64) [!_LP64]: Define.
10664 (ORDINARY_LINK): Define for NetBSD.
10665
10666 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10667
f532dca0
DL
106682000-04-19 Dave Love <fx@gnu.org>
10669
c750667e
DL
10670 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10671 change.
10672
10673 * Makefile.in (LIBS): Don't use.
10674 (GETLOADAVG_OBJ): Define again.
10675 (otherobj): Add GETLOADAVG_OBJ.
10676
f532dca0
DL
10677 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10678
1c7e22fd
GM
106792000-04-18 Gerd Moellmann <gerd@gnu.org>
10680
f6d3257b
GM
10681 * lread.c (read_filtered_event): Cancel and start busy cursor.
10682
427ec082 10683 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10684 that the per-character metrics may be null.
10685
e10f64e7
GM
106862000-04-17 Gerd Moellmann <gerd@gnu.org>
10687
0daee095
GM
10688 * buffer.c (clone_per_buffer_values): New function.
10689 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10690 clone_per_buffer_values if CLONE is not nil.
10691
e10f64e7
GM
10692 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10693
38687d43
DL
106942000-04-16 Dave Love <fx@gnu.org>
10695
10696 * Makefile.in: Remove obsolete localcpp stuff.
10697 (GETLOADAVG_OBJ): Don't define.
10698 (obj): Move LIBOBJS...
10699 (otherobj): ... to here.
10700 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10701 whitespace-only lines after the continuation (Irix).
10702
c21c7262
GM
107032000-04-14 Gerd Moellmann <gerd@gnu.org>
10704
10705 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10706
10707 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10708
314767c0
DL
107092000-04-14 Dave Love <fx@gnu.org>
10710
10711 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10712 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10713 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10714 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10715 NLIST_STRUCT.
10716
10717 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10718 autoconfiscated HAVE_GETLOADAVG.
10719
10720 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10721 BROKEN_MKTIME.
10722
a2522dca
GM
107232000-04-14 Gerd Moellmann <gerd@gnu.org>
10724
10725 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10726 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10727
33744b5d
DL
107282000-04-14 Dave Love <fx@gnu.org>
10729
c21c7262 10730 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10731 (INTERVAL_SRC): Convert to make variable.
10732 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10733 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10734 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10735 add LIBOBJS.
10736 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10737 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10738 (shortlisp): Add facemenu, float-sup, frame.
10739 (SOME_MACHINE_LISP): Remove them from here.
10740 (LIBES): Change unused LDLIBS to autoconf LIBS.
10741
10742 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10743
9d3d5916
KH
107442000-04-14 Kenichi Handa <handa@etl.go.jp>
10745
10746 * composite.c (update_compositions): If FROM and TO are not in a
10747 valid range, do nothing.
10748
198e3c7a
GM
107492000-04-13 Gerd Moellmann <gerd@gnu.org>
10750
52283633 10751 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10752
52283633 10753 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10754
10755 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10756 as TERMCAP_OBJ.
10757
055a28c9
EZ
107582000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10759
10760 * fileio.c (a_write): Remove redundant semi-colons.
10761 (e_write): Return -1 if failed to write all the data.
10762 This fixes the changes made at 1999-12-15.
10763
f5c75033
DL
107642000-04-12 Dave Love <fx@gnu.org>
10765
10766 * fns.c (mapcar1): Test for null vals to support mapc.
10767 (Fmapc): New function.
10768
0c3cfc51
EZ
107692000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10770
10771 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10772 (IT_frame_up_to_date): Support the buffer local value of
10773 cursor-type, if defined.
10774
33465a31
DL
107752000-04-10 Dave Love <fx@gnu.org>
10776
10777 * editfns.c (preceding-char, following-char): Doc fix.
10778
6ed56568
KR
107792000-04-10 Ken Raeburn <raeburn@gnu.org>
10780
10781 * Makefile.in (temacs): Revert 2000-03-12 change.
10782
7cf80d4e
JR
107832000-04-10 Jason Rumney <jasonr@gnu.org>
10784
10785 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10786
34f3f342
GM
107872000-04-10 Gerd Moellmann <gerd@gnu.org>
10788
1a1b1895
GM
10789 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10790 area buffer, if it's not set up yet.
10791
34f3f342
GM
10792 * indent.c (compute_motion): Set immediate_quit.
10793
be0dbdab
GM
107942000-04-09 Gerd Moellmann <gerd@gnu.org>
10795
52283633 10796 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10797 (realize_tty_face): Suppress boldness if colors are the inverse of
10798 the default colors, and tty_suppress_bold_inverse_default_colors_p
10799 is set.
10800 (Ftty_suppress_bold_inverse_default_colors): New function.
10801 (syms_of_xfaces): Defsubr it.
10802
be0dbdab
GM
10803 * buffer.c (Frestore_buffer_modified_p): New function.
10804 (syms_of_buffer): Defsubr it.
10805
e8413c3b
KR
108062000-04-08 Ken Raeburn <raeburn@gnu.org>
10807
87f67317
KR
10808 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10809 charset id (int) argument, not a charset (Lisp_Object).
10810
e8413c3b
KR
10811 * coding.h (code_convert_string): Declare.
10812 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10813 object, as the fourth argument to code_convert_string.
10814
52283633 10815 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10816 (Fset_fontset_font): Use EQ to compare lisp objects.
10817
7c752c80
KR
108182000-04-05 Ken Raeburn <raeburn@gnu.org>
10819
c0333abc
KR
10820 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10821 a pointer that looks like a lisp object.
10822 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10823 zero, instead see whether it's an integer object, since they can't
10824 have intervals.
10825 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10826
52283633
SM
10827 * dispnew.c (allocate_matrices_for_frame_redisplay)
10828 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10829 to convert between (unsigned) int values and lisp integers.
10830 * keyboard.c (read_key_sequence): Likewise.
10831 * lread.c (substitute_object_recurse): Likewise.
10832 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10833 * minibuf.c (do_completion, Fminibuffer_complete_word)
10834 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10835 * term.c (produce_special_glyphs): Likewise.
10836
10837 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10838 * print.c (print_preprocess, print_object): Likewise.
10839
10840 * search.c (compile_pattern): Use NILP when checking for nil.
10841
74e49b38
KR
10842 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10843 __OPTIMIZE__]: Provide a GNU C macro version that handles
10844 lisp-object unions.
10845 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10846 field, to better cope with ENABLE_CHECKING and calls that modify a
10847 Lisp_Object using its old value.
10848
685e5ed2
GM
108492000-04-04 Gerd Moellmann <gerd@gnu.org>
10850
c407c570
GM
10851 * window.c (compare_window_configurations): Signal an error
10852 if parameters C1 or C2 aren't window configurations.
10853
685e5ed2
GM
10854 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10855 AFTER_POTENTIAL_GC calls around calls to functions that can
10856 signal an error and thus invoke the debugger.
10857
587a49ab
GM
108582000-04-03 Gerd Moellmann <gerd@gnu.org>
10859
62f20204
GM
10860 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10861 an error if decoding fails.
10862
587a49ab
GM
10863 * keyboard.c (lispy_mouse_names): Variable removed.
10864 (Vlispy_mouse_stem): New variable.
10865 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10866 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10867 for any mouse button number. Increase size of mouse_syms and
10868 button_down_location as needed. Call modify_event_symbol with
10869 different arguments.
10870 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10871 Call modify_event_symbol with different arguments.
10872 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10873 for any button number. Call modify_event_symbol with different
10874 arguments.
10875 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10876 Accept a string for NAME_ALIST_OR_STEM.
10877
10878 * lisp.h (larger_vector): Add prototype.
10879
10880 * fns.c (larger_vector): Make externally visible.
10881
10882 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10883
2d1675e4
SM
108842000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10885
10886 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10887 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10888 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10889 we are between str1 and str2.
10890 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10891 (PATFETCH): Use `TRANSLATE'.
10892 (PATFETCH_RAW): Fetch multibyte char if applicable.
10893 (PATUNFETCH): Remove.
10894 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10895 When writing a char, write it directly into the pattern buffer rather
10896 than going needlessly through a temp char-array.
10897 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10898 multibyte magic and remove the useless `#ifdef emacs'.
10899 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10900 buffer.
10901
10902 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10903 conditional on `emacs'.
10904
10905 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10906
cc2d8c6b
KR
109072000-04-01 Ken Raeburn <raeburn@gnu.org>
10908
10909 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10910 non-union-type versions of XMARK and friends here, because XMARK
10911 and friends won't work on an integer field if NO_UNION_TYPE is not
10912 defined.
52283633 10913 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10914
52283633 10915 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10916 (syms_of_composite): Delete local var NARGS, pass an int as first
10917 argument to Fmake_hash_table.
10918
2387b382
KR
10919 * editfns.c (text_property_stickiness): Use NILP to test
10920 Lisp_Object boolean value.
10921 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10922 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10923 problems reading from and changing the same lisp value in an
10924 XSETSTRING call.
10925
27660e89
GM
109262000-04-01 Gerd Moellmann <gerd@gnu.org>
10927
10928 * term.c (TN_no_color_video): New variable.
10929 (term_init): Intitialize TN_no_color_video.
10930 (enum no_color_bit): New enumeration.
10931 (MAY_USE_WITH_COLORS_P): New macro.
10932 (turn_on_face): Use it to determine if attributes may be used
10933 combined with colors.
10934
3578db3c
KR
109352000-04-01 Ken Raeburn <raeburn@gnu.org>
10936
10937 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10938 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10939 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10940 proper accessor macros.
10941 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10942 (grow_mini_window): Fix typo getting int value of root->height.
10943
6fc556fd
KR
10944 * xdisp.c (compute_string_pos): Fix order of arguments to
10945 string_pos_nchars_ahead.
10946 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10947 count arg to variable-arg routines like Frun_hook_with_args and
10948 Fformat.
587a49ab
GM
10949 (back_to_previous_visible_line_start)
10950 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10951 fixed-arg routines like Fget_char_property and Fmake_string.
10952 (reconsider_clip_changes): Use XINT when comparing integer lisp
10953 objects, or passing them as int arguments.
587a49ab
GM
10954 (mark_window_display_accurate, insert_left_trunc_glyphs)
10955 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10956 storing or passing integer values as lisp objects.
10957 (set_cursor_from_row, highlight_trailing_whitespace): Use
10958 INTEGERP, not implicit test against zero, for glyph object.
10959 (try_window_id): Don't use make_number when we want an int value.
10960
10961 * xfaces.c (xlfd_symbolic_value): Make last argument a
10962 Lisp_Object, to be consistent with callers.
10963 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10964 (lface_hash): Apply XFASTINT to lisp values before folding in.
10965
10966 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10967 fill in window width and height. Pass an int, not a lisp object,
10968 as first arg to Finsert.
10969
6e7b2457
GM
109702000-04-01 Gerd Moellmann <gerd@gnu.org>
10971
610d841e
GM
10972 * xfaces.c (realize_basic_faces): Block input while realizing
10973 the faces.
10974
6e7b2457
GM
10975 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10976
10977 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10978
aa110c0c
GM
109792000-03-31 Gerd Moellmann <gerd@gnu.org>
10980
10981 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10982 or ASCII, handle case that per-char metric is null.
aa110c0c 10983
8801a864
KR
109842000-03-30 Ken Raeburn <raeburn@gnu.org>
10985
c6129d7e
KR
10986 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10987
52283633
SM
10988 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10989 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10990 pointer, using eassert.
10991 * frame.h (XFRAME): Likewise.
10992
52283633
SM
10993 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10994 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10995 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10996 * data.c (set_internal): Likewise.
52283633
SM
10997 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10998 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10999 * fileio.c (auto_save_1): Likewise.
11000 * insdel.c (check_markers): Likewise.
11001 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
11002 * undo.c (record_insert): Likewise.
11003 * vmsproc.c (child_sig): Likewise.
11004 * window.c (unshow_buffer, window_loop): Likewise.
11005 * xterm.c (x_erase_phys_cursor): Likewise.
11006
8e7af858
GM
110072000-03-30 Gerd Moellmann <gerd@gnu.org>
11008
11009 * xfns.c (free_image_cache): Free the cache structure itself
11010 last, after all its members have been freed.
11011
11012 * lisp.h (xstrdup): Add prototype.
11013
11014 * alloc.c (xstrdup): Moved here from xfaces.c.
11015 (allocating_for_lisp): Variable removed.
52283633 11016 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
11017
11018 * xfaces.c (realize_tty_face): Use find_symbol_value instead
11019 of Fsymbol_value.
11020 (xstrdup): Moved to alloc.c.
11021
e0b8c689
KR
110222000-03-29 Ken Raeburn <raeburn@gnu.org>
11023
b96f9fb7
KR
11024 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
11025
11026 * emacs.c (main): Fix sense of no-loadup test.
11027
e0b8c689
KR
11028 * config.in (ENABLE_CHECKING): Undef.
11029
11030 * lisp.h (struct interval): Replace "parent" field with a union of
11031 interval pointer and Lisp_Object; add new bitfield to use as
11032 discriminant. Change other flag fields to bitfields.
11033 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
11034 is defined and the supplied test fails, print a message and abort.
11035 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
11036
11037 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
11038 pointers; abort if the value looks like a lisp object.
52283633
SM
11039 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
11040 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
11041 Modify for new interval parent definition.
11042
52283633
SM
11043 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
11044 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
11045 addressable lisp object in the interval structure.
11046 (die): New function.
11047 (suppress_checking): New variable.
11048
11049 * intervals.c (interval_start_pos): Just return 0 if there's no
11050 parent object.
11051
f83c5440
GM
110522000-03-29 Gerd Moellmann <gerd@gnu.org>
11053
11054 * lread.c (read1): Accept `.' (period) as symbol start like in CL
11055 and earlier Emacs versions.
11056
11057 * keyboard.c (Ftop_level): Cancel busy-cursor.
11058
11059 * eval.c (call_debugger): Cancel busy-cursor.
11060
fdce64ff
KH
110612000-03-29 Kenichi Handa <handa@etl.go.jp>
11062
11063 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 11064 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 11065
f6a3f532
SM
110662000-03-28 Stefan Monnier <monnier@cs.yale.edu>
11067
11068 * regex.c (analyse_first): New function obtained by ripping out most
11069 of re_compile_fastmap and generalizing it a little bit so that it
11070 can also just return whether a given (sub)pattern can match the empty
11071 string or not.
11072 (regex_compile): Use `analyse_first' to decide whether the loop-check
11073 needs to be done or not for *, +, *? and +? (the loop check is costly
11074 for non-greedy repetition).
11075 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
11076
e9b309ac
DL
110772000-03-28 Dave Love <fx@gnu.org>
11078
52283633 11079 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 11080
e9b309ac
DL
11081 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
11082
ed0767d8
SM
110832000-03-27 Stefan Monnier <monnier@cs.yale.edu>
11084
11085 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
11086 an expression.
11087 (enum re_opcode_t): Update description of succeed_n.
11088 (PATFETCH): Always define.
11089 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
11090 operators, char classes, shy-groups and intervals).
11091 Optimize special cases of intervals so as to only use succeed_n and
11092 jump_n when really needed.
11093 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
11094 that we don't have to handle the special cases any more.
11095 Simplify on_failure_jump handling as well.
11096
e11e7e46
JR
110972000-03-28 Jason Rumney <jasonr@gnu.org>
11098
11099 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
11100
88faab89
GM
111012000-03-27 Gerd Moellmann <gerd@gnu.org>
11102
182ff242
GM
11103 * s/freebsd.h (GC_SETJMP_WORKS): Define.
11104
11105 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 11106
182ff242
GM
11107 * alloc.c (mark_maybe_object): New function.
11108 (mark_memory): Use it.
11109 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
11110 (setjmp_tested_p, longjmp_done): New variables.
11111 (test_setjmp): New function.
11112 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
11113 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
11114
c1005d06
GM
11115 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
11116 to DEC_TEXT_POS and INC_TEXT_POS.
11117
11118 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
11119 with parameter MULTIBYTE_P.
11120
52283633 11121 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 11122
7439e5b9 11123 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
11124 buffers because it looks for multibyte character byte sequences
11125 which don't exist in unibyte text.
7439e5b9 11126
d9c545da
GM
11127 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
11128
11fd416e 11129 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
11130 [DEBUG_X_COLORS]: New functions.
11131 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
11132
11133 * xfns.c (x_set_cursor_color): Get color reference counts right.
11134
11135 * xterm.c (x_copy_color): New function.
11136 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
11137
11138 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
11139 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
11140 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
11141 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
11142 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
11143 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
11144 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
11145 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
11146 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
11147 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
11148
11fd416e
GM
11149 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
11150 names for handling per-buffer variables.
d9c545da
GM
11151
11152 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
11153 instead of MAX_BUFFER_LOCAL_VARS.
11154 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
11155
11156 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
11157
88faab89
GM
11158 * xfns.c (x_specified_cursor_type): New function.
11159 (x_set_cursor_type): Use it.
11160
11161 * buffer.h (struct buffer): Add cursor_type.
11162
d80f42b7
SM
111632000-03-26 Stefan Monnier <monnier@cs.yale.edu>
11164
11165 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
11166 (print_partial_compiled_pattern, re_compile_fastmap):
11167 Handle new opcode.
d80f42b7
SM
11168 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
11169 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
11170 executing it as well as when popping it off the stack to find infinite
11171 loops in non-greedy repetition operators.
11172
89e80928
GM
111732000-03-26 Gerd Moellmann <gerd@gnu.org>
11174
3d4ff2dd
GM
11175 * doc.c (Qfunction_documentation): New variable.
11176 (syms_of_doc): Initialize Qfunction_documentation.
11177 (Fdocumentation): If FUNCTION is a symbol with non-nil
11178 `function-documentation' property, return a documentation derived
11179 from that.
11180
bd96bd79
GM
11181 * buffer.c (syms_of_buffer): Add default-cursor-type.
11182 (init_buffer_once): Don't let cursor_type have a local value
11183 in every buffer.
11184
19d1bc27
GM
11185 * xterm.c (x_display_and_set_cursor): Choose cursor depending
11186 on buffer-local value of cursor_type.
11187 (x_draw_bar_cursor): Add parameter WIDTH.
11188
11189 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
11190 (init_buffer_once): Set default cursor_type value to t.
11191 Mark cursor_type as local everywhere.
11192 (syms_of_buffer): New per-buffer variable cursor-type.
11193
89e80928
GM
11194 * buffer.h (struct buffer): Remove member local_var_flags,
11195 add local_flags.
11196 (MAX_BUFFER_LOCAL_VARS): New macro.
11197 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
11198 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
11199 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
11200 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
11201
52283633 11202 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
11203
11204 * category.c (Fset_category_table): Use new macros for per-buffer
11205 variables.
11206
11207 * buffer.c (buffer_permanent_local_flags): Make a char array.
11208 (max_buffer_local_idx): New variable.
11209 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
11210 for new handling of per-buffer variables.
11211 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
11212 (init_buffer_once): Initialize per-buffer vars differently.
11213 Set max_buffer_local_idx.
11214
11215 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
11216 variables.
11217
52283633 11218 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
11219
11220 * data.c (do_symval_forwarding, store_symval_forwarding)
11221 (find_symbol_value, set_internal, default_value, Fset_default)
11222 (Fkill_local_variable, Flocal_variable_p): Use new macros for
11223 per-buffer variables.
11224
11225 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
11226
9a0dd3dc
GM
112272000-03-24 Gerd Moellmann <gerd@gnu.org>
11228
b68c375f
GM
11229 * xterm.c (x_term_init): Unblock input around call1 of
11230 Qvendor_specific_keysyms.
11231
9a0dd3dc
GM
11232 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
11233 (find_defun_start): Consider an open parenthesis in column 0
11234 a defun start only if open_paren_in_column_0_is_defun_start is set.
11235 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
11236
7973e637
SM
112372000-03-24 Stefan Monnier <monnier@cs.yale.edu>
11238
11239 * eval.c (Fautoload): Add entry in load-history (if after dump).
11240 * lread.c (load-history): Update docstring.
11241
39210e90
GM
112422000-03-24 Gerd Moellmann <gerd@gnu.org>
11243
11244 * indent.c (Fvertical_motion): Always use the current buffer.
11245 Temporarily change the window's buffer, if necessary.
11246
72db3ab5
GM
112472000-03-23 Gerd Moellmann <gerd@gnu.org>
11248
11249 * xterm.c (fast_find_position): Make sure not to consider rows
11250 not visible in the window.
11251
990b2375
SM
112522000-03-22 Stefan Monnier <monnier@cs.yale.edu>
11253
11254 * regex.c (enum syntaxcode): Provide default for non-Emacs.
11255 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
11256
ff4df011
JR
112572000-03-22 Jason Rumney <jasonr@gnu.org>
11258
11259 * w32menu.c (single_submenu): Set help string to NULL if none.
11260 (w32_menu_show): Set help string correctly.
11261 (add-menu-item): Set help string in MIIM_DATA for menu item.
11262 Load SetMenuItemInfoA explicitly.
11263 (w32_menu_display_help): New function.
427ec082 11264
ff4df011
JR
11265 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
11266 (QCdata): Moved to xdisp.c.
11267
11268 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
11269 (Vw32_charset_to_codepage_alist): Removed.
11270 (Vw32_charset_info_alist): New variable.
52283633
SM
11271 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
11272 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
11273 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
11274 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
11275 with TODO comment.
11276 (w32_codepage_for_font): Use Vw32_charset_info_alist.
11277 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
11278 Define Vw32_charset_info_alist and w32_charset symbols.
11279
112802000-03-22 Jason Rumney <jasonr@gnu.org>
11281
11282 * makefile.nt (w32bdf.obj): Update dependencies.
11283
11284 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
11285
11286 * w32fns.c: Include fontset.h after dispextern.h.
11287 (Fx_create_frame): Do not create fontset.
11288 (w32_load_system_font): Doc fix.
11289 (Fx_close_connection): Free full_name if it is not shared.
11290
11291 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
11292 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
11293 Callers updated.
ff4df011
JR
11294 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
11295 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
11296 (w32_font_is_double_byte): New function, needs body.
11297 (x_append_glyph): Set glyph->glyph_not_available_p.
11298 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11299 it->charset. If it->multibyte_p is zero and it->c is a multibyte
11300 character, convert it to a unibyte character.
11301 (struct glyph_string): Delete member `charset'.
11302 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
11303 calculating it is found.
11304 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11305 the case that per char metric is not available correctly.
11306 (x_fill_glyph_string): Handle the case that the specific glyph is
11307 not available correctly.
11308 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11309 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11310 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11311 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11312 fontset. Don't call FS_LOAD_FONT.
11313
439d5cb4
KR
113142000-03-22 Ken Raeburn <raeburn@gnu.org>
11315
11316 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
11317 (INT_LISPLIKE): New macro.
11318 (NULL_INTERVAL_P): Use it.
52283633
SM
11319 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
11320 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
11321 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
11322
11323 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
11324 explicit references to "parent" field of struct interval and
11325 associated unclean type conversions.
52283633
SM
11326 * intervals.c (create_root_interval, root_interval, rotate_right)
11327 (rotate_left, balance_possible_root_interval, split_interval_right)
11328 (split_interval_left, interval_start_pos, find_interval)
11329 (next_interval, previous_interval, update_interval)
11330 (adjust_intervals_for_insertion, delete_node, delete_interval)
11331 (adjust_intervals_for_deletion, merge_interval_right)
11332 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
11333 (copy_intervals_to_string): Likewise.
439d5cb4
KR
11334 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
11335 Likewise.
11336 * syntax.c (update_syntax_table): Likewise.
11337
11338 * intervals.c (reproduce_tree_obj): New function, like
11339 reproduce_tree but takes a Lisp_Object for the parent. Declare
11340 with prototype.
11341 (graft_intervals_into_buffer): Use it when appropriate.
11342 (reproduce_tree): Declare with prototype.
11343 (balance_possible_root_interval): Check that the parent is a lisp
11344 object before trying to examine its type.
11345
ee1c5b21
GM
113462000-03-22 Gerd Moellmann <gerd@gnu.org>
11347
11348 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
11349 as strings only if both are known to be strings.
11350
11351 * s/openbsd.h (LIBS_TERMCAP): Undef.
11352
1fb352e0
SM
113532000-03-21 Stefan Monnier <monnier@cs.yale.edu>
11354
11355 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
11356 definitions for non-Emacs compilation.
11357 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
11358 outside of `#ifdef emacs'.
11359 (print_partial_compiled_pattern): Update.
11360 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
11361 (re_compile_fastmap): Merge handling of charset and charset_not (for
11362 emacs and non-emacs compilation as well).
11363 Similarly for (not)categoryspec and (not)syntaxspec.
11364 Don't use the fastmap when reaching `anychar' since the added
11365 complexity is not justified.
11366 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
11367 and (not)syntaxspec. Merge (not)categoryspec.
11368
fdaa1f77
KH
113692000-03-22 Kenichi Handa <handa@etl.go.jp>
11370
52283633
SM
11371 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
11372 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 11373 --without-x.
fdaa1f77 11374
d152fb46
DL
113752000-03-21 Dave Love <fx@gnu.org>
11376
11377 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
11378 doc string.
11379
d2cafc8c
GM
113802000-03-21 Gerd Moellmann <gerd@gnu.org>
11381
11382 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
11383 (lface_fully_specified_p): Don't check contents of
11384 LFACE_FONT_INDEX because that attribute is optional.
11385 (realize_x_face): Remove now unwarranted xassert.
11386
9111d4b5
KH
113872000-03-21 Kenichi HANDA <handa@etl.go.jp>
11388
11389 The following changes are to make font selection based on
11390 characters, not charset. In addition, they recover fontset
11391 facilities while utilizing the new font selection mechanism.
11392
6c4bfdc0
KH
11393 * Makefile.in (fontset.o): Depend on dispextern.h.
11394
11395 * alloc.c (mark_face_cache): Don't mark face->registry.
11396
9111d4b5
KH
11397 * dispextern.h (struct glyph): New member glyph_not_available_p.
11398 Use 22 bits for face_id.
11399 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
11400 (struct face): Delete member registry, new member ascii_face.
11401 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
11402 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
11403 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 11404 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
11405
11406 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
11407 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
11408 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
11409 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 11410 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
11411 (fs_free_face_fontset, fontset_font_pattern)
11412 (face_suitable_for_char_p, face_for_char)
11413 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
11414 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
11415 (FS_LOAD_FACE_FONT): New macro.
11416
11417 * fontset.c: All codes rewritten or adjusted for the change of
11418 fontset implementation. Now fontset is represented by char table.
52283633
SM
11419 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
11420 Variables removed.
9111d4b5 11421 (my_strcasecmp): Function removed.
52283633 11422 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 11423 (AREF, ASIZE): New macros.
52283633
SM
11424 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
11425 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
11426 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
11427 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
11428 (fontset_id_valid_p, font_family_registry, fontset_name)
11429 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
11430 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
11431 New functions.
11432 (fs_load_font): New arg FACE. Caller changed.
11433 (fs_query_fontset): Argument changed. Caller changed.
11434 (Fquery_fontset): call fs_query_fontset.
11435 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
11436 Functions removed.
52283633
SM
11437 (clear_fontset_elements, check_registry_encoding)
11438 (check_fontset_name): New functions.
9111d4b5
KH
11439 (syms_of_fontset): Set char-table-extra-slots property of fontset
11440 to 3. Staticpro and initialize Vfontset_table and
11441 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11442
11443 * frame.h (struct frame): Member `fontset_data' removed.
11444 (FRAME_FONTSET_DATA): Macro removed.
11445
11446 * frame.c (make_frame): Don't allocate f->fontset_data.
11447 (Fdelete_frame): Don't free f->fontset_data.
11448
6c4bfdc0
KH
11449 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11450
9111d4b5
KH
11451 * xdisp.c (charset_at_position): Function removed.
11452 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11453 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11454 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11455 Likewise.
11456 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11457 FACE_FOR_CHARSET.
52283633
SM
11458 (get_next_display_element, append_space)
11459 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11460
11461 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11462 Variables removed.
11463 (clear_font_table, frame_update_line_height, load_face_font):
11464 Adjusted for the change of fontset implementation.
11465 (load_face_fontset_font): Function removed.
11466 (pixel_point_size): New function.
11467 (font_list): Argument type changed. Caller changed.
11468 (LFACE_FONT): New macro.
11469 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11470 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11471 Lisp_Object. Determine the font name by actually loading a font
11472 by the specified pattern. Set LFACE_FONT (lface) to the specified
11473 pattern. Even if a font is not found, don't try alternatives.
11474 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11475 (set_font_frame_param): If `font' is specified in lface, use it.
11476 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11477 (lface_same_font_attributes_p): Likewise.
11478 (make_realized_face): Arguent changed. Caller changed. Set
11479 face->ascii_face to face itself.
11480 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11481 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11482 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11483 (free_realized_multibyte_face): New function.
11484 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11485 changed. Caller changed.
11486 (try_font_list): Argument type changed.
11487 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11488 (choose_face_font): Argument changed. Handle fontset properly.
11489 (choose_face_fontset_font): Function removed.
11490 (realize_default_face, realize_named_face): Don't remove the
11491 former face here.
11492 (realize_face): Argument changed. Caller changed. Remove face
52283633 11493 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11494 (realize_x_face): Argument changed. Caller changed. For a
11495 multibyte character, share fontset with base_face. For a single
52283633 11496 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11497 (realize_tty_face): Argument changed. Caller changed.
11498 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11499 (face_at_buffer_position): Don't check multibyte_p for returning
11500 DEFAULT_FACE_ID.
11501 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11502 FACE_SUITABLE_FOR_CHARSET_P.
11503 (syms_of_xfaces): Remove code for Qx_charset_registry and
11504 Vface_default_registry.
11505
6c4bfdc0
KH
11506 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11507 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11508 (x_per_char_metric): Don't try FONT->default_char. Even if
11509 pcm->width is zero, glyph bits may exist.
11510 (x_encode_char): Always initialize char2b->byte1.
11511 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11512 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11513 (x_append_glyph): Set glyph->glyph_not_available_p.
11514 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11515 it->charset. Handle the case that per char metric is not
11516 available. If it->multibyte_p is zero and it->c is a multibyte
11517 character, convert it to a unibyte character.
11518 (struct glyph_string): Delete member `charset'.
11519 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11520 the case that per char metric is not available correctly.
11521 (x_fill_glyph_string): Handle the case that the specific glyph is
11522 not available correctly.
11523 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11524 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11525 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11526 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11527 fontset. Don't call FS_LOAD_FONT.
11528
11529 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11530 (x_create_tip_frame): Likewise.
11531 (Fx_close_connection): Free full_name of font_info.
11532
11533 * fns.c (optimize_sub_char_table): New function.
11534 (Foptimize_char_table): New function.
11535 (syms_of_fns): Defsubr Soptimize_char_table.
11536
b33dd3b0
GM
115372000-03-20 Gerd Moellmann <gerd@gnu.org>
11538
11539 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11540 only if buffer is displayed in some window.
11541
11542 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11543 (try_window_reusing_current_matrix): Don't call scroll run
11544 function if run's current and desired position are the same;
11545 this prevents cursor flickering.
11546
4e8a9132
SM
115472000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11548
11549 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11550
11551 * regex.c (RE_STRING_CHAR): New macro.
11552 (GET_CHAR_AFER_2): Remove.
11553 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11554 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11555 (print_partial_compiled_pattern, re_compile_fastmap)
11556 (re_match_2_internal): Remove on_failure_jump_exclusive.
11557 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11558 optimization only need to work for * (ie. can use of_keep_string_jump).
11559 Remove the special case for .*\n since it is now covered by the general
11560 optimization.
11561 (re_search_2): Don't bother with `room'.
11562 (skip_one_char): New function.
11563 (skip_noops): Simplify since `memory' is not needed any more.
11564 (mutually_exclusive_p): Restructure slightly to use `switch' and
11565 add handling for "all" remaining cases.
11566 (re_match_2_internal): Change on_failure_jump_smart to use
11567 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11568 rather than on_failure_jump_exclusive.
11569
2136fdd4
GM
115702000-03-19 Gerd Moellmann <gerd@gnu.org>
11571
11572 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11573 number of bits per RGB because it's everywhere used as the depth
11574 of the visual.
11575
11576 * term.c (calculate_costs): Remove code dealing with X frames.
11577
18e21ce8 115782000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11579
11580 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11581
d7b511c4
GM
115822000-03-18 Gerd Moellmann <gerd@gnu.org>
11583
11584 * lread.c (read_integer): Unread the last char not consumed.
11585
16b5d424
GM
115862000-03-17 Gerd Moellmann <gerd@gnu.org>
11587
11588 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11589 which are in the process of being deleted.
16b5d424 11590
1fa28578
GM
115912000-03-16 Gerd Moellmann <gerd@gnu.org>
11592
83488cce
GM
11593 * Makefile.in (mostlyclean): Add `*.core'.
11594 (clean): Add `bootstrap-emacs'.
11595
1fa28578
GM
11596 * lread.c (read_integer): New function.
11597 (read1): Support read syntax #o, #x, #b, #r.
11598
99633e97
SM
115992000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11600
1fa28578
GM
11601 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11602 make sure POINTER_TO_OFFSET gives the same value before and after
11603 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11604 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11605 (debug): Now only active if > 0 rather than if != 0.
11606 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11607 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11608 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11609 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11610 (store_op1, store_op2, insert_op1, insert_op2)
11611 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11612 (group_in_compile_stack): Move to after its arg's types are
11613 declared and add a prototype.
99633e97 11614 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11615 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11616 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11617 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11618 indentation of the greedy-op and shy-group code.
99633e97
SM
11619 (at_(beg|end)line_loc_p): Fix argument's types.
11620 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11621 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11622 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11623 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11624 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11625 QUIT unconditionally.
99633e97 11626
699238d9
GM
116272000-03-15 Gerd Moellmann <gerd@gnu.org>
11628
11629 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11630 a sole completion.
11631
11632 * process.c (send_process): Add a hint that the function
11633 can call Lisp code to its comment.
11634
11635 * lread.c (load_dangerous_libraries): New variable.
11636 (Vbytecomp_version_regexp): New variable.
11637 (safe_to_load_p): New function.
11638 (Fload): Handle files not compiled with Emacs specially.
11639 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11640
34e23e5a
GM
116412000-03-14 Gerd Moellmann <gerd@gnu.org>
11642
9c763cca
GM
11643 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11644
11645 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11646 support functions only if HAVE_X11R6_XIM is defined.
11647 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11648
11649 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11650
11651 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11652 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11653 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11654
11655 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11656 (HAVE_X11R6_XIM): Define.
11657
11658 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11659
34e23e5a
GM
11660 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11661 If set, call XSynchronize.
11662
66f0296e
SM
116632000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11664
34e23e5a
GM
11665 * regex.c: Declare a new type `re_char' used throughout the code
11666 for the string char type. It's `const unsigned char' to match the
11667 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11668 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11669 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11670 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11671 code duplication.
66f0296e
SM
11672
11673 * charset.h (GET_CHAR_AFTER_2): Remove.
11674 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11675
854a025c
KR
116762000-03-12 Ken Raeburn <raeburn@gnu.org>
11677
11678 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11679 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11680 of them try to use backquotes.
11681
b9d2c7e2
DL
116822000-03-12 Dave Love <fx@gnu.org>
11683
11684 * unexelf.c: Restore changes of 1999-10-19.
11685 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11686 fix its type and alignment; copy it from current process.
11687
5e5dff44
GM
116882000-03-12 Gerd Moellmann <gerd@gnu.org>
11689
9b2f3c38
GM
11690 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11691 has been found. Fix bug not computing timer's predecessor.
11692
427ec082 11693 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11694 file name.
11695
e1cff360
GM
11696 * window.c (Fsave_window_excursion): Doc fix.
11697
52283633 11698 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11699
e411ce4b
EZ
117002000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11701
11702 * msdos.c (vga_installed): New function, code moved from
11703 dos_set_window_size.
11704 (Qbar, Qcursor_type, outside_cursor): New variables.
11705 (syms_of_msdos): Intern and staticpro them.
11706 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11707 shape used outside Emacs when called for the first time.
11708 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11709 cursor shape used outside Emacs.
11710 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11711 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11712 type has changed.
11713 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11714 parameters specify the cursor. Make qreverse a global
11715 variable (renamed to Qreverse).
11716
80460654
GM
117172000-03-09 Gerd Moellmann <gerd@gnu.org>
11718
11719 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11720
95cd4c40
SM
117212000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11722
11723 This is a big redesign of failure-stack and register handling, prompted
11724 by bugs revealed when trying to add shy-groups. Overall, what happened
11725 is that loops are now structured a little differently, groups can be
11726 shy and the code is a little simpler.
11727
11728 * regex.h: Update the copyright.
11729 (RE_SHY_GROUPS): New value.
11730 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11731 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11732
80460654
GM
11733 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11734 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11735 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11736 for (start|stop)_memory since they now only take one argument (the
11737 second has becomes unnecessary).
52283633 11738 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11739 (print_compiled_pattern): Use %ld to printf long ints and flush to
11740 make debugging a little easier.
95cd4c40
SM
11741 (union fail_stack_elt): Make the integer unsigned.
11742 (struct fail_stack_type): Add a `frame' element.
11743 (INIT_FAIL_STACK): Init `frame' as well.
11744 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11745 (DEBUG_PUSH, DEBUG_POP): Remove.
11746 (NUM_REG_ITEMS): Remove.
11747 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11748 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11749 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11750 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11751 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11752 New macros.
80460654
GM
11753 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11754 address pushed is not the destination of the jump but the source
11755 of it instead.
95cd4c40
SM
11756 (NUM_FAILURE_ITEMS): Remove.
11757 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11758 registers before the actual failure point). Don't hardcode any
11759 meaning for str==NULL anymore.
95cd4c40 11760 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11761 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11762 Remove.
95cd4c40
SM
11763 (REG_UNSET_VALUE): Use NULL (why not?).
11764 (compile_range): Remove declaration since it doesn't exist.
11765 (struct compile_stack_elt_t): Remove inner_group_offset.
11766 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11767 (regex_grow_registers): Remove dead code.
11768 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11769 (regex_compile): Add shy-groups Change loops to use
11770 on_failure_jump_smart&jump instead of
11771 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11772 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11773 variable to me). Use `jump' instead of `jump_past_alt' and don't
11774 bother with push_dummy_failure in alternatives since it is now
11775 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11776 emacs' for (re)allocating the stack.
11777 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11778 from loop when bufp->can_be_null rather than jumping to `done'.
11779 Avoid jumping backwards so as to ensure termination. Use
11780 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11781 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11782 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11783 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11784 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11785 (lowest_active_reg, highest_active_reg)
11786 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11787 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11788 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11789 variables. Push register (in `start_memory') on the stack rather
11790 than storing it in old_reg(start|end). Remove the cycle detection
11791 from `stop_memory', replaced by the use of on_failure_jump_loop
11792 for greedy loops. Add code for the new on_failure_jump_<foo>.
11793 Remove ad-hoc code in `on_failure_jump' to push more registers in
11794 the case of a loop. Take out code from `maybe_pop_jump' into
11795 separate functions and adapt it to the semantics of
11796 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11797 and push_dummy_failure. Remove dummy_failure handling and
11798 handling of `failures to jump to on_failure_jump' (this last one
11799 was already dead code, it seems).
11800 (group_match_null_string_p, alt_match_null_string_p)
11801 (common_op_match_null_string_p): Remove.
95cd4c40 11802
7397acc4
DL
118032000-03-08 Dave Love <fx@gnu.org>
11804
11805 * config.in: Don't depend on __STDC__ for volatile.
11806 Add POINTER_TYPE, PTR, PROTOTYPES.
11807
11808 * hftctl.c, strftime.c: Use PROTOTYPES.
11809 * eval.c (find_handler_clause): Likewise.
11810
11811 * mem-limits.h: Use POINTER_TYPE.
11812
11813 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11814 (memory_warnings): Declare using POINTER_TYPE.
11815
5e91ff9e
GM
118162000-03-08 Gerd Moellmann <gerd@gnu.org>
11817
feab4fba
GM
11818 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11819
52283633 11820 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11821
5e91ff9e
GM
11822 * xfns.c: Remove obsolete code in #if 0.
11823 (Fx_focus_frame): New function.
11824
a735b7e1
KH
118252000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11826
11827 * coding.c (coding_category_name): Add coding-category-utf-8,
11828 coding-category-utf-16-be, coding-category-utf-16-le.
11829 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11830 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11831 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11832 (detect_coding_utf_8): New function.
11833 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11834 UTF_16_LOW_SURROGATE_P): New macros.
11835 (detect_coding_utf_16): New function
11836 (detect_coding_mask): When priorities are specified, skip any
11837 categories that have `nil' coding-system. Fix bug of returning
11838 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11839 returns a mask not set in PRIORITIES.
11840 (detect_eol_type_in_2_octet_form): New function.
11841 (detect_eol): selects detect_eol_type_XXX to call according to
11842 cooding->category_idx.
11843 (detect_coding_system): Remove `nil' coding-system in the result.
11844 (Fupdate_coding_systems_internal): Update all coding-categories.
11845
52283633
SM
11846 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11847 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11848 New macros.
11849 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11850 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11851 (CODING_CATEGORY_IDX_UTF_16_LE)
11852 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11853 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11854 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11855 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11856
9994cc69
GM
118572000-03-07 Gerd Moellmann <gerd@gnu.org>
11858
e9b4e5ff
GM
11859 * doc.c (Fdocumentation_property): If value is not a string,
11860 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11861
f7daf1e1
GM
11862 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11863 close the display with XtCloseDisplay. This caused a bus error
11864 on OpenWindows.
11865
9994cc69
GM
11866 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11867 complete but not unique.
11868
4336c705
GM
118692000-03-06 Gerd Moellmann <gerd@gnu.org>
11870
18bb0684
GM
11871 * process.c (send_process): Remove local variable `procname' that
11872 might become invalid when a GC happens. Instead, access the
11873 process name slot directly.
11874
4336c705
GM
11875 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11876 orig_height if set.
11877
11878 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11879 orig_height if set.
11880
515d0d0e
EZ
118812000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11882
11883 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11884 glyph matrices have been freed.
11885
100b3cbb
GM
118862000-03-05 Gerd Moellmann <gerd@gnu.org>
11887
50df5e5a 11888 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11889 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11890
11891 * xfns.c (QCdata): Moved to xdisp.c.
11892
11893 * xdisp.c (QCdata): Moved here from xfns.c.
11894 (syms_of_xdisp): Initialize QCdata.
11895
11896 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11897
11898 * window.c (coordinates_in_window): Use
11899 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11900 FRAME_INTERNAL_BORDER_WIDTH.
11901
100b3cbb 11902 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11903 it is obviously invalid.
100b3cbb
GM
11904
11905 * xterm.c (x_term_init): Create a colormap if not using the
11906 default visual.
11907
11908 * xterm.h (select_visual): Change prototype.
11909
11910 * xfns.c (select_visual): Rewritten. Recognize user-specified
11911 visual classes.
11912 (visual_classes): New variable.
11913
64d739c4
GM
119142000-03-04 Gerd Moellmann <gerd@gnu.org>
11915
11916 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11917 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11918 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11919 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11920 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11921 XtNcolormap resources.
11922 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11923 (Fx_create_frame): Initialize color members of x_output structure.
11924 (xpm_load): Pass colormap to XPM lib.
11925
11926 * xfaces.c (x_free_colors): Access colormap of frame using
11927 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11928 when default colormap is used.
11929
11930 * xterm.c (x_term_init): Set Colormap member of x_display_info
11931 structure. Copy colormap if resource `privateColormap' is
11932 specified (PseudoColor only).
11933 (x_setup_relief_color): Access colormap of frame using
11934 FRAME_X_COLORMAP.
11935
11936 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11937 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11938
c3cee013
JR
119392000-03-04 Jason Rumney <jasonr@gnu.org>
11940
11941 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11942 other non-platform-specific equivalents.
64d739c4 11943 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11944 specific functions and macros as their w32 equivalents where
11945 non-platform-specifics are not available.
11946 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11947 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11948 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11949 (frame_update_line_height): Use macros to access f->output_data.
11950 (defined_color): Remove FIXME comments; fixed.
11951 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11952 into #ifdef blocks. Add WINDOWSNT blocks.
11953 (Fx_list_fonts): Use macros for accessing font data.
11954 (set_lface_from_font_name): Different default fonts for X and
11955 WINDOWSNT.
11956 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11957 scalable for backward compatibility.
64d739c4 11958 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11959 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11960
64d739c4 11961 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11962 syms_of_w32faces.
11963
11964 * makefile.nt (w32faces.obj): Remove.
11965 (xfaces.obj): Add.
11966
807cc41c
JR
119672000-03-03 Jason Rumney <jasonr@gnu.org>
11968
11969 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11970 correct parameters.
11971
0007072a
KR
119722000-03-03 Ken Raeburn <raeburn@gnu.org>
11973
11974 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11975 standard ELF definitions here if the system header does not.
11976
71a6ba55
GM
119772000-03-03 Gerd Moellmann <gerd@gnu.org>
11978
11979 * xterm.c (PER_CHAR_METRIC): Removed.
11980 (x_per_char_metric_1, x_default_char): New functions.
11981 (x_per_char_metric): If font's default char is invalid, return
11982 metrics of a suitably chosen usable default char.
11983 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11984 char, replace occurrences of unprintable chars with a suitably
11985 chosen usable default char.
71a6ba55 11986
900fa1f1
GM
119872000-03-02 Gerd Moellmann <gerd@gnu.org>
11988
42f55fe0
GM
11989 * xterm.c (note_mouse_highlight): Return quickly if frame's
11990 glyph matrices have been freed.
11991
11992 * dispnew.c (free_glyphs): Block input while freeing matrices.
11993
900fa1f1
GM
11994 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11995
52283633
SM
11996 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11997 Use x_free_colors.
900fa1f1
GM
11998
11999 * dispextern.h (x_free_colors): Add prototype.
12000
12001 * xfaces.c (x_free_colors): New function.
12002 (unload_color, free_face_colors): Use it.
12003
2f950292
EZ
120042000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
12005
12006 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
12007
12008 * window.c [MSDOS]: Include msdos.h.
12009
54d04320
DL
120102000-03-02 Dave Love <fx@gnu.org>
12011
12012 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
12013
12014 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
12015 set C_OPTIMIZE_SWITCH for gcc.
12016
0ba93ac4
KH
120172000-03-02 Kenichi Handa <handa@etl.go.jp>
12018
12019 * coding.c (coding_save_composition): Be sure to allocate
12020 composition data area in coding even if there's no composition in
12021 the current run.
12022
a2bc11d4
JR
120232000-03-01 Jason Rumney <jasonr@gnu.org>
12024
12025 * w32term.c: Equivalent changes to those made to xterm.c on
12026 2000-02-25 and 2000-02-24.
12027
12028 * w32fns.c: Equivalent changes to those made to xfns.c on
12029 2000-02-25 and 2000-02-21.
12030
12031 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
12032 correct line-end convention is followed.
12033
12034 * w32menu.c [HAVE_BOXES]: Remove #undef.
12035 (single_keymap_panes): Remove code for simulating checkmarks.
12036 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
12037 Remove code for drawing simulated checkmarks.
12038 (w32_menu_show): make unibyte help string correctly.
12039 (add_menu_item): draw standard Windows checkmarks. Draw radio
12040 buttons as radio buttons if possible.
12041
72d19d75
GM
120422000-03-01 Gerd Moellmann <gerd@gnu.org>
12043
2df636f4
GM
12044 * sysdep.c (start_of_text): Don't define this function for NetBSD
12045 with ELF.
12046
427ec082 12047 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
12048 Don't define.
12049 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
12050 (LINKER): Don't undef if __NetBSD__ is defined.
12051
12052 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
12053
12054 * fileio.c [__NetBSD__]: Define `unix'.
12055
72d19d75
GM
12056 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
12057
ed4d0512
GM
120582000-02-29 Gerd Moellmann <gerd@gnu.org>
12059
50b1039f
GM
12060 * atimer.c (start_atimer): Don't abort when timers are stopped.
12061 (append_atimer_lists): New function.
12062 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
12063 arbitrary lists of stopped and running atimers.
12064
ed4d0512
GM
12065 * atimer.c (cancel_atimer): Handle canceling an atimer when
12066 some timers are stopped.
12067
12068 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
12069 after canceling it.
12070
12071 * fns.c (maybe_resize_hash_table): Handle case of new size
12072 coming out as being the same as old size.
12073
387023ee
JR
120742000-02-27 Jason Rumney <jasonr@gnu.org>
12075
12076 * makefile.nt: Add atimer.h to dependencies.
12077 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
12078 * w32console.c: Only disable window system features for dispextern.h
12079 (initialize_w32_display): Build a display info for the console.
12080 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
12081 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
12082 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
12083 as 2 button mice.
12084 * w32gui.h (struct W32FontStruct): Revert last change after change
12085 to xdisp.c.
12086 * w32menu.c (single_submenu): Set up help string.
12087 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
12088 (w32_dialog_show): Set up help string.
12089 * w32term.c (w32_display_info_for_display): Remove unused function.
12090 (w32_draw_bitmap): Use pre-built bitmaps.
12091 (w32_initialize_display_info): New function to initialize parts of
12092 display info that are common to both GUI and console frames.
12093 (w32_term_init): Use w32_initialize_display_info. Do not set
12094 Vw32_num_mouse_buttons here, as it is not called for console
12095 frames. Build bitmaps for indicating truncated lines etc.
12096 (x_delete_display): Destroy pre-built bitmaps.
12097 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
12098 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
12099
4516715a
DL
121002000-02-27 Dave Love <fx@gnu.org>
12101
12102 * lisp.h: Add a bunch of prototypes.
12103
171ca836
KH
121042000-02-26 Kenichi Handa <handa@etl.go.jp>
12105
12106 * keyboard.c (read_char): Set `usec' correctly.
12107
4013921d
KH
121082000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12109
12110 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
12111 `lambda', set reg[RRR] to the map index.
12112 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
12113 reg[RRR] to 0. Otherwise, set it to -1.
12114
9244a058
GM
121152000-02-25 Gerd Moellmann <gerd@gnu.org>
12116
2df636f4 12117 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 12118
18e21ce8 121192000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 12120
f43d79c1
GM
12121 * fileio.c (Ffile_symlink_p): If result starts with a `/'
12122 and contains a `:', prepend `/:'.
12123
12124 * window.c (select_window_1): If selected_window is nil,
12125 don't "swap out" the buffer's point.
12126 (Fset_window_configuration): Set selected_window to nil
12127 before calling Fselect_window.
12128 (unshow_buffer): Don't set point in buffer from window's point
12129 if another more recently selected window also shows the buffer.
12130
bed0c171
GM
121312000-02-25 Gerd Moellmann <gerd@gnu.org>
12132
449c3c52
GM
12133 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
12134
f5b58615
GM
12135 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
12136 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
12137 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
12138 New variables.
f5b58615
GM
12139 (DEFAULT_BUSY_CURSOR_DELAY): New define.
12140 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
12141 (hide_busy_cursor): New functions.
12142 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
12143
12144 * minibuf.c (read_minibuf): Cancel busy-cursor.
12145
12146 * keyboard.c (command_loop_1): Call start_busy_cursor before
12147 Fcommand_execute and cancel_busy_cursor after it.
12148 (timer_check): Remove busy-cursor code.
12149 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
12150 cursor timer.
12151
12152 * process.c (wait_reading_process_input): Remove busy-cursor code.
12153
12154 * eval.c (Fsignal): Call cancel_busy_cursor instead of
12155 Fx_hide_busy_cursor.
12156
12157 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
12158 Remove prototyoes.
12159 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
12160
12161 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
12162
12163 * xterm.c (XTread_socket): Remove busy-cursor code.
12164
4eb8436f
GM
12165 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
12166 (build_frame_matrix_from_leaf_window): Put code handling
12167 glyph row's not being a slice of a frame row in #if 0.
12168 (sync_window_with_frame_matrix_rows): New function.
12169 (frame_row_to_window): New function.
12170 (mirror_line_dance): Handle copies between windows.
12171
3cb65b0e
GM
12172 * lread.c (Fload): Use `xfree' instead of `free'.
12173 (init_obarray): Use `xmalloc' instead of `malloc'.
12174
bed0c171
GM
12175 * window.c (Fset_window_buffer): Set WINDOW to the window
12176 after decoding.
2add4349
GM
12177 (coordinates_in_window): Take frame's internal border width
12178 into account.
bed0c171 12179
42088c12
GM
121802000-02-24 Gerd Moellmann <gerd@gnu.org>
12181
12182 * xterm.c (x_display_and_set_cursor): Display cursor of
12183 non-selected windows depending on the setting of
12184 cursor_in_non_selected_windows.
12185
12186 * xdisp.c (cursor_in_non_selected_windows): New variable.
12187 (syms_of_xdisp): DEFVAR_BOOL it.
12188
d1e103b2
GM
121892000-02-23 Gerd Moellmann <gerd@gnu.org>
12190
723e779c
GM
12191 * data.c (Fstring_to_number): If number is greater than what
12192 fits into an integer, return a float.
12193
d1e103b2
GM
12194 * eval.c (specbind): Remove references to
12195 keyword_symbols_constant_flag.
12196
12197 * data.c (keyword_symbols_constant_flag): Removed.
12198 (Fmakunbound, set_internal, syms_of_data): Remove references to
12199 keyword_symbols_constant_flag.
12200
12201 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
12202
214f877f
KH
122032000-02-23 Kenichi Handa <handa@etl.go.jp>
12204
12205 * syntax.c (multibyte_syntax_as_symbol): New variable.
12206 (syms_of_syntax): Declare it as a Lisp variable.
12207 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
12208 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
12209 nonzero, treat all multibyte characters as symbol.
52283633 12210 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 12211
130adcb7
EZ
122122000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
12213
3cb65b0e 12214 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 12215 a deleted frame.
130adcb7 12216
17cbbf95
GM
122172000-02-21 Gerd Moellmann <gerd@gnu.org>
12218
12219 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
12220
12221 * xfns.c (x_window_to_frame, x_any_window_to_frame)
12222 (x_non_menubar_window_to_frame): Check the busy-cursor window.
12223
beb0bc36
DL
122242000-02-21 Dave Love <fx@gnu.org>
12225
12226 * frame.c (Vmouse_position_function): New variable.
12227 (Fmouse_position): Use it.
12228 (syms_of_frame): Install it.
12229
12230 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
12231
1d92afcd
GM
122322000-02-20 Gerd Moellmann <gerd@gnu.org>
12233
12234 * fileio.c (Finsert_file_contents): Unbind the binding of
12235 standard-output done by temp_output_buffer_setup.
329eed9f
GM
12236
12237 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
12238 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
12239 (specbind, unbind_to): Handle most common case of non-constant
12240 symbol with trivial value specially.
12241
12242 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
12243
18e21ce8 122442000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
12245
12246 * data.c (Fmake_variable_buffer_local): Doc fix.
12247 Init found_for_buffer to 0.
12248 (Fmake_variable_frame_local): If the variable has already
12249 been buffer-local, set the check_frame field.
12250
1d4311c3
EZ
122512000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
12252
12253 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
12254 produced for CODING_MODE_LAST_BLOCK requires.
12255
2dc95ddd
DL
122562000-02-18 Dave Love <fx@gnu.org>
12257
12258 * keyboard.c (echo_keystrokes): Remove declaration.
12259 (Vecho_keystrokes) New variable.
12260 (read_char, record_menu_key, read_key_sequence): Use it to allow
12261 use of float value.
12262 (syms_of_keyboard): Change Vecho_keystrokes declaration.
12263
12264 * lread.c: Undef feature selection macros before defining.
12265
f0930f35
GM
122662000-02-18 Gerd Moellmann <gerd@gnu.org>
12267
12268 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
12269 for symbols other than the symbol in question.
12270
e3d4de90
DL
122712000-02-17 Dave Love <fx@gnu.org>
12272
12273 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
12274
0b378936
GM
122752000-02-17 Gerd Moellmann <gerd@gnu.org>
12276
d621caf7
GM
12277 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
12278
0b378936
GM
12279 * alloc.c (enum mem_type): Compile unconditionally.
12280
3b451f74
EZ
122812000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
12282
12283 * xfaces.c (tty_defined_color): Don't return faulire indication
12284 for unspecified-fg and unspecified-bg pseudo-colors.
12285
10689a01
GM
122862000-02-17 Gerd Moellmann <gerd@gnu.org>
12287
1216f5e4
GM
12288 * alloc.c (mark_object): Don't mark symbol names in pure space.
12289 (gc_sweep): Don't unmark symbol names in pure space.
12290
12291 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
12292 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
12293 [GC_MARK_STACK]: New defines.
427ec082 12294 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
12295 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
12296
12297 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
12298
12299 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
12300 allocate_buffer instead of xmalloc.
12301
12302 * alloc.c (toplevel): Include setjmp.h.
12303 (PURE_POINTER_P): New define.
12304 (enum mem_type) [GC_MARK_STACK]: New enumeration.
12305 (Vdead) [GC_MARK_STACK]: New variable.
12306 (lisp_malloc): Add parameter TYPE, call mem_insert if
12307 GC_MARK_STACK is defined.
12308 (allocate_buffer): New function.
427ec082 12309 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
12310 (free_float) [GC_MARK_STACK]: Set type to Vdead.
12311 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
12312 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
12313 (MEM_NIL) [GC_MARK_STACK]: New define.
12314 (struct mem_node) [GC_MARK_STACK]: New structure.
12315 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
12316 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
12317 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
12318 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
12319 (mark_stack) [GC_MARK_STACK]: New functions.
12320 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
12321 (clear_marks): Removed.
12322 (gc_sweep): Set free conses' car, free floats' type, free
12323 symbols' function to Vdead. Use lisp_free to free buffers.
12324 (init_alloc_once): Initialize Vdead.
12325 (survives_gc_p): Return non-zero for pure objects.
12326
12327 * alloc.c: Add comments throughout the file.
12328
2503c8b1
GM
12329 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
12330 that unblocks alarms.
12331
8389e1e2
GM
12332 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
12333 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
12334 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
12335
10689a01 12336 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 12337
bfc17d18
KH
123382000-02-17 Kenichi Handa <handa@etl.go.jp>
12339
4a09dee0
KH
12340 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
12341 avoid infinite error signaling. Allocate sufficient memory for
12342 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 12343
2b927d02
SM
123442000-02-17 Stefan Monnier <monnier@cs.yale.edu>
12345
12346 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
12347 depends on the previous behavior.
12348
b49cb764
GM
123492000-02-16 Gerd Moellmann <gerd@gnu.org>
12350
12351 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
12352
99e95407
GM
123532000-02-15 Gerd Moellmann <gerd@gnu.org>
12354
12355 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
12356
12357 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 12358 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
12359 write(2).
12360
6ffd3cf7
RS
123612000-02-15 Richard M. Stallman <rms@gnu.org>
12362
12363 * data.c (set_internal): Don't make variable buffer-local
12364 if within a let-binding for the same buffer.
12365 (let_shadows_buffer_binding_p): New function.
12366
12367 * eval.c (specbind): For buffer-local value,
12368 record the current buffer also.
12369 (unbind_to): Cope with that change.
12370
cad53475
GM
123712000-02-15 Gerd Moellmann <gerd@gnu.org>
12372
12373 * window.c (Fsave_window_excursion): Doc fix.
12374
1aa963c8
SM
123752000-02-15 Stefan Monnier <monnier@cs.yale.edu>
12376
12377 * syntax.c (back_comment): Make sure we only consider comment-starters
12378 of the relevant style and return -1 in case of a failure to find the
12379 beginning of the comment.
12380 (Fforward_comment): If back_comment fails, go back to the position just
12381 after the comment-end.
12382 (scan_lists): Add comment describing a very minor bug.
12383
b9b84fd3
SM
123842000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12385
12386 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
12387 `completion-regexp-list' in the docstring.
12388
3a28db80
DL
123892000-02-14 Dave Love <fx@gnu.org>
12390
12391 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
12392
fb4a568d
SM
123932000-02-14 Stefan Monnier <monnier@cs.yale.edu>
12394
12395 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
12396 to Emacs' syntax. Also fix the comment about set/not-set meanings
12397 since Emacs syntax is not the value 0 any more.
12398 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
12399 since it's now part of RE_SYNTAX_EMACS.
12400
1063ebb5
DL
124012000-02-12 Dave Love <fx@gnu.org>
12402
52283633 12403 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 12404
fb07a302
GM
124052000-02-12 Gerd Moellmann <gerd@gnu.org>
12406
12407 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
12408
aaf2320c
DL
124092000-02-12 Dave Love <fx@gnu.org>
12410
12411 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
12412
12413 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
12414 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
12415 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
12416
12417 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
12418
12419 * s/nextstep.h: Don't define HAVE_ALLOCA.
12420
12421 * config.in: Add vfork bits.
12422
eedf8bde
GM
124232000-02-12 Gerd Moellmann <gerd@gnu.org>
12424
12425 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
12426 unwind function to undo the effect of stopping atimers.
12427
52283633 12428 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
12429
12430 * atimer.c (stopped_atimers): New variable.
12431 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
12432 New functions.
12433
12434 * atimer.h (stop_other_atimers, run_all_atimers)
12435 (unwind_stop_other_atimers): Add function prototypes.
427ec082 12436
eedf8bde
GM
12437 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
12438
8476c2f8
KR
124392000-02-11 Ken Raeburn <raeburn@gnu.org>
12440
12441 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12442 library may depend on jpeg.
12443 (atimer.o): Depends on atimer.c.
12444
0e85e4a3
KH
124452000-02-11 Kenichi Handa <handa@etl.go.jp>
12446
12447 * insdel.c (del_range_1): Call update_compositions.
12448 (del_range_both): Call update_compositions just once..
12449
97fa0cc8
DL
124502000-02-10 Dave Love <fx@gnu.org>
12451
12452 * xfns.c (create_frame_xic): Fix initialization of automatic
12453 aggregates for pcc.
12454
25566a3c
KH
124552000-02-09 Kenichi Handa <handa@etl.go.jp>
12456
12457 * ccl.c (CCL_MAKE_CHAR): New macro.
12458 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12459 registers by CCL_MAKE_CHAR before calling translate_char.
12460 <CCL_TranslateCharacterConstTbl> Likewise.
12461
69da54ba
DL
124622000-02-08 Dave Love <fx@gnu.org>
12463
12464 * lread.c (__EXTENSIONS__): Define.
12465
f7136ee8
GM
124662000-02-08 Gerd Moellmann <gerd@gnu.org>
12467
12468 * puresize.h (BASE_PURESIZE): Increase to 650000.
12469
7768790b
EZ
124702000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12471
12472 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12473 the help message.
12474
38fd211b
EZ
124752000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12476
12477 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12478 md, mh, mb, mr, and me to the fake termcap entry.
12479
66e4690f
KR
124802000-02-06 Ken Raeburn <raeburn@gnu.org>
12481
12482 * sound.c (sound_cleanup): Don't call device close routine if the
12483 function pointer is null.
12484
a75dfea0
AI
124852000-02-06 Andrew Innes <andrewi@gnu.org>
12486
12487 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12488 around image definitions and prototypes.
12489 (gamma_correct) [WINDOWSNT]: New prototype.
12490
12491 * w32term.c (x_make_frame_visible): Replace call to
12492 input_poll_signal with poll_for_input.
12493
12494 * window.c [WINDOWSNT]: Include w32term.h.
12495
12496 * xdisp.c [WINDOWSNT]: Include w32term.h.
12497
12498 * makefile.nt: Add dependencies on w32gui.h.
12499 (OBJ1): Include atimer.obj.
12500 ($(BLD)\atimer.obj): New dependency rule.
12501
12502 * w32.c (sigmask): New function (does nothing).
12503 (sigunblock): Ditto.
12504
12505 * frame.c [WINDOWSNT]: Include w32term.h.
12506
12507 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12508
12509 * lread.c (syms_of_lread): Fix literal newlines.
12510
12511 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12512 the string constant limit (2048 bytes) in MSVC.
12513 (main): Ditto.
12514
59ddecde
GM
125152000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12516
52283633 12517 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12518 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12519 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12520 dispatch the event.
12521
07590973
DL
125222000-02-04 Dave Love <fx@gnu.org>
12523
12524 * fileio.c: Remove some unused vars.
12525 (_GNU_SOURCE): Define (for euidaccess).
12526
12527 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12528
12529 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12530 gcpro1, gcpro2.
12531 (read_minibuf): Deal with allow_props correctly.
12532
649351f9
EZ
125332000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12534
12535 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12536
66e4690f 125372000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12538
12539 * search.c (compile_pattern): If a cache entry has a nil regexp,
12540 fill in that entry instead of clobbering a previously cached
12541 string regexp.
12542
66e4690f 125432000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12544
12545 * puresize.h (BASE_PURESIZE): Increase to 610000.
12546
d240a249
GM
125472000-02-02 Gerd Moellmann <gerd@gnu.org>
12548
12549 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12550 can GC.
12551
ca91fb26
KH
125522000-02-02 Kenichi Handa <handa@etl.go.jp>
12553
25660570
KH
12554 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12555 instead of incrementing ic directly.
12556 <CCL_WriteExprConst> Likewise.
12557 <ccl_set_expr>: Set ic to jump_address.
12558
ca91fb26
KH
12559 * fileio.c (e_write): Fix the handling of
12560 CODING_FINISH_INSUFFICIENT_SRC.
12561
2ede9689
DL
125622000-02-01 Dave Love <fx@gnu.org>
12563
12564 * editfns.c (Fpropertize): Doc fix.
12565
12566 * process.c (Fstart_process): Doc fix.
12567
12568 * eval.c: Fix various doc strings not to duplicate information
12569 from help-manyarg-func-alist.
12570
52283633 12571 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12572
12573 * doc.c (Vhelp_manyarg_func_alist): New variable.
12574 (Fdocumentation): Use it.
12575 (syms_of_doc): Define it.
12576
b6680a0e
GM
125772000-01-31 Gerd Moellmann <gerd@gnu.org>
12578
2cb750ba
GM
12579 * xterm.c (xim_open_dpy): Remove unused local variable.
12580
52283633 12581 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12582
12583 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12584 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12585
b6680a0e
GM
12586 * fns.c (sweep_weak_table): New function.
12587 (sweep_weak_hash_tables): Use it. Keep on marking until there
12588 is no more change.
12589
994c5afe
GM
125902000-01-30 Gerd Moellmann <gerd@gnu.org>
12591
12592 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12593 that XTread_socket does not crash by trying to call XNoOp on a
12594 closed display.
427ec082 12595
f00276e3
JR
125962000-01-30 Jason Rumney <jasonr@gnu.org>
12597
12598 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12599 Change selected_frame to SELECTED_FRAME ().
12600 (w32_console_mouse_position): Remove #ifndef MULE from around
12601 `insist' parameter.
12602
12603 * makefile.nt: Remove dosfns.obj.
12604
12605 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12606
12607 * w32fns.c (w32_defined_color): Check for valid frame before
12608 applying gamma correction. Eliminate dependency on frame elsewhere.
12609 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12610 (w32_to_x_font): Use resx and resy not height_in and width_in.
12611 (x_to_w32_font): Doc fix.
12612 (xlfd_strip_height): New function to strip and return font height.
12613 (w32_font_match): Compare height separately from rest of xlfd
12614 spec, using xlfd_strip_height.
12615
12616 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12617 width_in. Use w32_defined_color in place of defined_color.
12618
12619 * w32faces.c: Merge more of DOS and X specifics in preparation for
12620 merge with xfaces.c.
12621 (defined_color): Remove FIXME comment.
12622 (tty_color_name): Provide w32-specific function.
12623 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12624
12625 * w32console.c (turn_on_face, turn_off_face): Removed.
12626 (w32_face_attributes): New function.
12627 (Global_variables): Reduce scope where possible.
12628 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12629 fill attribute.
12630 (hl_mode): Don't modify text attributes.
12631 (write_glyphs): Don't do anything if len <= 0. Use
12632 w32_face_attributes to get attributes for drawing. Write
12633 terminating codes using char_attr_normal.
12634 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12635 (update_begin, update_end): Likewise.
12636 (vga_stdcolor_name): New function.
12637 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12638 (Fset_screen_color): Remove char_attr_reverse.
12639
b08e8bb2
GM
126402000-01-29 Gerd Moellmann <gerd@gnu.org>
12641
12642 * xfns.c (xic_set_preeditarea): Take window parameter and
12643 window-relative pixel-positions.
12644
12645 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12646 is its frame's selected window.
12647 (xim_instantiate_callback): Likewise.
12648
12649 * xfns.c (x_create_im): Removed.
12650 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12651 (supported_xim_styles): Renamed from supported_styles.
12652 (best_xim_style): Renamed from best_style.
12653 (create_frame_xic): Renamed from xic_create_frame.
12654 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12655
b08e8bb2
GM
126562000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12657
12658 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12659 our frames, call XFilterEvent with 2nd parameter `None'.
12660 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12661 returning XBufferOverflow.
52283633 12662 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12663 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12664 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12665 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12666 (xim_initialize, xim_close)
12667 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12668 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12669 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12670 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12671
12672 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12673 and `xim_styles'.
12674 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12675 `xic_style' and `xic_xfs'.
12676 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12677 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12678 (FRAME_XIM): Removed.
12679
12680 * xfns.c (supported_styles): New variable.
12681 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12682 (xic_create_xfontset, best_style, xic_create_frame)
12683 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12684 (xic_set_xfontset): New functions.
12685
142e109c
DL
126862000-01-28 Dave Love <fx@gnu.org>
12687
12688 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12689
12690 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12691
b02786f9
GM
126922000-01-28 Gerd Moellmann <gerd@gnu.org>
12693
d060bc9f
GM
12694 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12695 for *scratch* if it already existed.
12696
b02786f9
GM
12697 * emacs.c (USAGE): New macro.
12698 (main): Use it to display usage information.
12699
2c52d7e4
EZ
127002000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12701
12702 Support for the menu-help feature:
12703
52283633 12704 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12705
12706 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12707 part of the line to the termscript file.
12708 (IT_clear_to_end): Clear the entire line, not just its beginning.
12709 (menu_help_message, prev_menu_help_message): New variables.
12710 (IT_menu_make_room): Make room for the help_text member.
12711 (IT_menu_display): New argument disp_help; all callers changed.
12712 If disp_help is non-zero, store the help text of the active menu
12713 item in menu_help_message.
12714 (XMenuAddPane): Initialize the help_text member to NULL.
12715 (XMenuAddSelection): New argument help_text. Store it in the
12716 XMenu structure.
12717 (XMenuActivate): New argument help_callback. If the value of
12718 menu_help_message has changed since the last time, display the
12719 menu help message text while waiting for the mouse to move. Clear
12720 the echo area before exiting.
12721 (XMenuDestroy): Free the help_text member.
12722
ffe0bcd1
GM
127232000-01-27 Gerd Moellmann <gerd@gnu.org>
12724
12725 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12726 XMenuAddSelection. Pass help callback to XMenuActivate.
12727 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12728
50dbd23f
EZ
127292000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12730
12731 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12732 and EMACS_SET_USECS.
12733
f5941bf8
GM
127342000-01-26 Dave Love <fx@gnu.org>
12735
6c67ddee
DL
12736 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12737
f5941bf8
GM
12738 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12739 an error may be signalled.
12740
9e49c990
GM
127412000-01-26 Gerd Moellmann <gerd@gnu.org>
12742
fc3cb460
GM
12743 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12744 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12745
9e49c990
GM
12746 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12747
d0c037d8
GM
127482000-01-25 Gerd Moellmann <gerd@gnu.org>
12749
12750 * charset.c (Fstring): If there is a multibyte char among
12751 the args, always return a multibyte string.
12752
e12489f9
GM
127532000-01-25 Gerd Moellmann <gerd@gnu.org>
12754
12755 * sysdep.c (sys_select): Turn atimers off and on instead of
12756 recording and restoring old alarm handler
12757
12758 * process.c (toplevel): Include atimer.h.
12759 (create_process_1): Rewritten.
12760 (create_process): Use atimers instead of alarm.
12761 (wait_reading_process_input) [hpux]: Turn atimers off instead
12762 of turning off SIGALRM.
12763 (wait_reading_process_input): Turn off atimers instead off
12764 calling stop_polling.
12765
12766 * emacs.c (main): Call init_atimer.
12767
12768 * keyboard.c (toplevel): Include systime.h and atimer.h.
12769 (polling_for_input): Removed because unused.
12770 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12771 (poll_timer): New variable.
12772 (poll_for_input, poll_for_input_1): New functions.
12773 (start_polling, stop_polling): Rewritten.
12774
12775 * keyboard.h (polling_for_input): Removed.
427ec082 12776
e12489f9
GM
12777 * atimer.h, atimer.c: New files.
12778
12779 * Makefile.in (obj): Add atimer.o.
12780 (atimer.o): New target.
12781
12782 * blockinput.h (pending_atimers): Add extern declaration.
12783 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12784
12785 * lisp.h (popup_activated_flag): Add extern declaration.
12786
12787 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12788 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12789 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12790
12791 * xterm.c (toplevel): Include atimer.h.
12792 (toolkit_scroll_bar_interaction): New variable.
12793 (Fxt_process_timeouts): Removed.
12794 (x_process_timeouts): New function.
12795 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12796 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12797 (x_make_frame_visible): Call poll_for_input_1 instead of
12798 input_poll_signal. Don't call alarm.
12799 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12800
1e5279b9
DL
128012000-01-24 Dave Love <fx@gnu.org>
12802
6c67ddee 12803 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12804 Don't use -cckr -- apparently not now necessary.
12805
edf6aeb8
EZ
128062000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12807
12808 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12809 screen boundary.
12810
9badad41
JR
128112000-01-23 Jason Rumney <jasonr@gnu.org>
12812
12813 * w32fns.c (w32_defined_color): Apply gamma correction before
12814 trying to map to the palette.
12815 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12816 to w32_clear_rect.
12817
12818 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12819 here. Callers changed to always pass real device context.
12820 (w32_draw_bitmap): Likewise.
12821 (w32_get_glyph_overhangs): Likewise.
52283633 12822 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12823 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12824 pfnSetScrollInfo and SetScrollRange.
12825 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12826 back into MULE characters after decoding them.
12827 (x_get_glyph_face_and_encoding): Likewise.
12828 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12829 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12830 (x_produce_glyphs): Calculate per char metrics for a character
12831 that we know exists in default font when font_not_found_p is true.
12832
63bd786b
JR
128332000-01-22 Jason Rumney <jasonr@gnu.org>
12834
12835 * makefile.nt (intervals.obj, composite.obj): New modules.
12836 (composite.h): Added as dependency where appropriate.
12837
12838 * w32gui.h (XGCValue): New struct for emulating X GCs.
12839
12840 * w32term.h (XCharStruct): New struct for emulating X.
12841
12842 * w32console.c (turn_on_face, turn_off_face): New functions.
12843 (change_line_highlight): New prototype for new redisplay.
12844 (write_glyphs): Support multibyte text. Support faces.
12845
52283633 12846 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12847
12848 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12849 throughout. struct frame * in place of FRAME_PTR.
12850 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12851 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12852 (w32_get_arg): Renamed from x_get_arg.
12853 (Fx_file_dialog): New function.
12854 (w32_list_fonts): Check cache before asking system.
12855 (Vw32_enable_synthesized_fonts): New variable.
12856 (Vw32_enable_italics): Obsolete, removed.
12857
12858 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12859 Use SELECTED_FRAME macro.
12860
12861 * w32menu.c: Add skeleton support for help strings on menus.
12862 (add_menu_item): Native checkbox and radio support added, but not
12863 yet enabled due to bugs.
12864 (push_menu_item): Add parameters type, selection and help.
12865 Callers updated.
12866 Formatting changes to reduce unnecessary diffs with xmenu.c.
12867
12868 * w32select.c (Fw32_set_clipboard_data): Update call to
12869 find_charset_in_str.
12870
12871 * w32term.c: Complete rewrite for new redisplay based on new
12872 xterm.c with necessary sections merged back in from old w32term.c.
12873
6ffd3cf7 128742000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12875
12876 * data.c (set_internal): Further fix in same criterion.
12877
6ffd3cf7 128782000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12879
12880 * data.c (set_internal): Fix the criteria for whether
12881 to swap out the old cached binding.
12882
60af03f1
DL
128832000-01-19 Dave Love <fx@gnu.org>
12884
12885 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12886
f9be074f
KH
128872000-01-18 Kenichi Handa <handa@etl.go.jp>
12888
12889 * regex.c (re_compile_fastmap): While checking a range table for
12890 `charset', skip flag bits for a character class correctly.
12891
52b8dbf9
GM
128922000-01-17 Gerd Moellmann <gerd@gnu.org>
12893
d36100c9
GM
12894 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12895
52283633 12896 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12897
12898 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12899 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12900
12901 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12902 MENU_ITEMS_ITEM_.*.
12903 (MENU_ITEMS_ITEM_HELP): New enumerator.
12904 (push_menu_item): Add parameter HELP. Record help in menu_items.
12905 (single_menu_item, single_submenu, list_of_items): Call
12906 push_menu_item with new parameter.
12907 (single_submenu): Set help string in widget value.
12908 (menu_highlight_callback): New function.
12909 (set_frame_menubar): Call lw_create_widget with new
12910 parameter list.
12911 (xmenu_show, xdialog_show): Ditto.
12912
3139018f
GM
129132000-01-13 Gerd Moellmann <gerd@gnu.org>
12914
12915 * sound.c (Fplay_sound): Improve doc string.
12916
83c8f461
RS
129172000-01-11 Richard M. Stallman <rms@gnu.org>
12918
12919 * lisp.h (set_internal): Enter the new arg.
12920
12921 * eval.c (specbind): Record buffer-local variables specially,
12922 indicating which buffer's binding was saved.
12923 (unbind_to): Restore buffer-local variables specially
12924 in the proper buffer.
12925
12926 * data.c (set_internal): New arg BUF.
427ec082 12927
83c8f461
RS
12928 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12929 * data.c (Fset): Pass new arg to set_internal.
12930 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12931
1fab1775
GM
129322000-01-11 Gerd Moellmann <gerd@gnu.org>
12933
52283633 12934 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12935
83c8f461 129362000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12937
12938 * minibuf.c (Ftry_completion): Doc fix.
12939
7a85e4df
GM
129402000-01-11 Gerd Moellmann <gerd@gnu.org>
12941
12942 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12943 vector, too.
12944
a970dae4
AS
129452000-01-11 Andreas Schwab <schwab@suse.de>
12946
12947 * coding.c (code_convert_region): Initialize total_skip.
12948
c65d14ee
DL
129492000-01-08 Dave Love <fx@gnu.org>
12950
12951 * eval.c (Fuser_variable_p): Check customizability too.
12952
834938d2
GM
129532000-01-07 Gerd Moellmann <gerd@gnu.org>
12954
12955 * minibuf.c (Fcompleting_read): Doc fix.
12956
e0303cd6
GM
129572000-01-05 Gerd Moellmann <gerd@gnu.org>
12958
8a26744b
GM
12959 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12960 -L /usr/local/lib.
12961
e0303cd6
GM
12962 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12963 Check that input style is supported before trying to create an
12964 IC for it.
12965 (x_window): Call x_create_im.
427ec082 12966
2e471eb5
GM
129672000-01-04 Gerd Moellmann <gerd@gnu.org>
12968
560a7bd2
GM
12969 * xfns.c (current_gif_memory_src): New variable.
12970 (gif_load): Record the address of the current memory source
12971 in current_gif_memory_src.
12972 (gif_read_from_memory): Use current_gif_memory_src.
12973
f9ee84a3
GM
12974 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12975 macros statement form.
12976
d1299cde
GM
12977 * sound.c (struct sound): Renamed from struct sound_file.
12978 (struct sound): Add members `data' and `header_size'.
12979 (enum sound_attr): Add SOUND_DATA.
12980 (current_sound, current_sound_device): Variables renamed from
12981 sound_file and sound_device.
12982 (parse_sound): Parse :data.
12983 (parse_sound): Handle sound data in strings.
12984 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12985 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12986 needed header size.
12987 (wav_play, au_play): Play sounds from string data.
12988
2e471eb5
GM
12989 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12990
12991 * lisp.h: Add prototype for allocate_string_data.
12992
52283633 12993 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12994
12995 * alloc.c (mark_buffer): Remove code in #if 0.
12996 (gc_sweep): Ditto.
12997 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12998 (strings_consed): New variable.
12999 (allocate_string): Set it.
13000 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
13001 (Fmemory_use_counts): Return strings_consed. Use Flist.
13002
13003 * alloc.c: General cleanup in comments etc. Remove conditional
13004 compilation for `standalone'.
13005
13006 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
13007
13008 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
13009 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
13010 (DONT_COPY_FLAG): Removed.
13011 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
13012 (struct sdata, struct sblock): New
13013 (struct string_block): Rewritten.
13014 (STRINGS_IN_STRING_BLOCK): New macro.
13015 (oldest_sblock, current_sblock, total_strings, total_free_strings)
13016 (large_sblocks, string_blocks, string_free_list): New variables.
13017 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
13018 (init_strings): Rewritten.
13019 (allocate_string, allocate_string_data, compact_small_strings)
13020 (free_large_strings, sweep_strings): New functions.
13021 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
13022 (struct string_block_head, current_string_block)
13023 (first_string_block, large_string_blocks, STRING_FULLSIZE)
13024 (STRING_PAD): Removed.
13025 (make_uninit_multibyte_string, make_pure_string): Rewritten.
13026 (Fgarbage_collect): Don't set mark bit in large strings.
13027 (mark_object): Mark strings differently. Mark symbol names
13028 differently.
13029 (survives_gc_p): Test marked strings differently.
427ec082 13030 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
13031 symbol names.
13032 (compact_strings): Removed.
13033
42608ba8
EZ
130342000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
13035
13036 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
13037 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
13038
e0a09e1a
KH
130392000-01-04 Kenichi Handa <handa@etl.go.jp>
13040
dd9f0750 13041 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 13042 in a non-empty buffer.
dd9f0750 13043
3c0f3b15 13044 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 13045
44cd3ae5
GM
130462000-01-03 Gerd Moellmann <gerd@gnu.org>
13047
13048 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
13049 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
13050
13051 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
13052
c182a70f
EZ
130532000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13054
13055 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
13056 need to test for MSDOS frames.
13057
24480d5b
EZ
130582000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13059
13060 * dosfns.c (unspecified_colors): Remove.
13061 (msdos_stdcolor_idx): Use global variables unspecified_fg and
13062 unspecified_bg.
13063 (msdos_stdcolor_name): Return strings for unspecified fore- and
13064 back-ground colors.
13065
13066 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 13067 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
13068 (tty_color_name): Return Lisp strings for unspecified fore- and
13069 back-ground colors.
13070 (Finternal_set_lisp_face_attribute): Remove the special treatment
13071 for Qunspecified_{f,b}g.
52283633 13072 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 13073
047f434a
GM
130742000-01-03 Gerd Moellmann <gerd@gnu.org>
13075
13076 * xdisp.c (reseat_at_next_visible_line_start): Position before
13077 newline only if ending up on a newline.
13078 (next_element_from_ellipsis): Return success. Handle case of
52283633 13079 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
13080 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
13081 returns 0.
13082
d684c676
EZ
130832000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
13084
13085 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
13086 (Fcolor_supported_p): Renamed from face-color-supported-p.
13087
5fe1d139
EZ
130882000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13089
13090 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
13091 list of colors renamed to tty-defined-color-alist.
13092 (tty_color_name): Pass the frame to tty-color-by-index.
13093 (realize_tty_face): tty-color-alist is now a function which
13094 accepts the frame as argument.
13095
52283633 13096 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 13097
816be8b8
EZ
130982000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13099
13100 * term.c (insert_glyphs): Pass glyph, not &glyph, to
13101 encode_terminal_code.
13102
b635321e
EZ
131032000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
13104
13105 * dispnew.c (mode_line_string): Support termcap frames as well.
13106
9b784e96
GM
131072000-01-01 Gerd Moellmann <gerd@gnu.org>
13108
27189709
GM
13109 * syntax.c (Fforward_word): Undo previous change.
13110
13111 * editfns.c (Fconstrain_to_field): Don't constrain if
13112 inhibit-field-text-motion is non-nil.
13113 (Fline_beginning_position): Undo previous change.
13114 (Fline_end_position): Ditto.
13115
13116 * syntax.c (Fforward_word): Notice field boundaries only if
13117 inhibit-field-text-motion is nil.
13118
13119 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
13120
13121 * editfns.c (Vinhibit_field_text_motion): New variable.
13122 (inhibit-field-text-motion): New DEFVAR_LISP.
13123 (Fline_beginning_position, Fline_end_position): Notice field
13124 boundaries only if inhibit-field-text-motion is nil.
13125
45158a91
GM
13126 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
13127 All calls adjusted.
13128 (x_build_heuristic_mask): Likewise.
13129 (xbm_load_image_from_file): Change error output.
13130 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
13131 (gif_load, gs_load, x_kill_gs_process): Ditto.
13132
9b784e96
GM
13133 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
13134 color indices when accessing raster pixels.
63cec32f
GM
13135 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
13136 one of :file or :data.
13137 (enum pbm_keyword_index): Add PBM_DATA.
13138 (pbm_format): Add :data.
13139 (pbm_image_p): Allow either :file or :data.
13140 (pbm_read_file): New function.
13141 (pbm_scan_number): Rewritten to read from string.
13142 (pbm_load): Support :data.
9b784e96 13143
2cb085db 13144See ChangeLog.8 for earlier changes.
6922b018
KH
13145
13146;; Local Variables:
49b3bd82 13147;; coding: iso-2022-7bit
6922b018 13148;; End:
2a34a036
GM
13149
13150 Copyright (C) 2001 Free Software Foundation, Inc.
13151 Copying and distribution of this file, with or without modification,
13152 are permitted provided the copyright notice and this notice are preserved.