(Flist): Reindent.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
eae936e2
PJ
12001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * alloc.c (Flist): Reindent.
4 (Fvector): Likewise.
5
1c1d3d69
RS
62001-11-12 Richard M. Stallman <rms@gnu.org>
7
8 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
9 LeaveNotify events. Only FocusIn and FocusOut do that now.
10 (x_display_and_set_cursor): Do display hollow cursors in active
11 minibuffer windows when they are not selected.
12
b6f4c7ba
JR
132001-11-12 Jason Rumney <jasonr@gnu.org>
14
15 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
16 * w32term.c: Change doc-string comments to `new style'.
17 [w/`doc:' keyword]. Doc fixes.
18
19 * w32fns.c: Don't define max.
20 (Fx_open_connection): Only execute once.
21
a89f435d
PJ
222001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
23
24 * ccl.c: Change macros to use do-while block instead of if-else.
25 Use braces to follow GNU Coding Standards.
26
a4cd0cd7
RS
272001-11-11 Richard M. Stallman <rms@gnu.org>
28
eafb659a
RS
29 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
30
31 * lread.c (read_escape): Use end_of_file_error for reporting eof.
32
a4cd0cd7
RS
33 * insdel.c (replace_range): Use adjust_markers_for_replace
34 instead of adjust_markers_for_delete and adjust_markers_for_insert.
35
36 * intervals.h: Declare set_text_properties and set_text_properties_1.
37
38 * textprop.c (set_text_properties_1): New subroutine
39 broken out of set_text_properties.
40 (set_text_properties): Use set_text_properties_1.
41
42 * intervals.c (graft_intervals_into_buffer):
43 Use set_text_properties_1 to clear out properties.
44
45 * search.c (Freplace_match): Use replace_range to insert
46 and delete. Don't request property inheritance from
47 surrounding text.
48
91823618
JR
492001-11-10 Jason Rumney <jasonr@gnu.org>
50
51 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
52 vertical fonts. Allow them if face name is explicitly specified.
53 Do not give up if we find a font that cannot be converted to an
54 xlfd.
55
86928dfb
GM
562001-11-10 Gerd Moellmann <gerd@gnu.org>
57
58 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
59 instead of malloc/free.
60
40ef1eda
PJ
612001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
62
ab8469eb
PJ
63 * xfaces.c (merge_face_vectors): Use braces to follow GNU
64 Coding Standards.
65 (Finternal_set_lisp_face_attribute): Likewise.
66
a78e0303
PJ
67 * buffer.c (Fbury_buffer): Likewise.
68
40ef1eda
PJ
69 * indent.c (current_column_1): Remove unused variable `prev_col'.
70
fabf4a91
PJ
71 * coding.c (encode_coding): Use precomputed value of `src'.
72 (encode_coding): Remove unused variable `src_end'.
73 (code_convert_region): Remove unused variables `count'.
74
0c99b139
JR
752001-11-07 Jason Rumney <jasonr@gnu.org>
76
77 * w32term.c (x_display_and_set_cursor): Do not move system caret
78 if cursor_glyph is NULL.
79
830ddd77
PJ
802001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
81
82 * keymap.c (access_keymap): Fix compilation error.
83
55c6d645
MB
842001-11-07 Miles Bader <miles@gnu.org>
85
86 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
87
5de38842
PJ
882001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
89
7a4564a4
PJ
90 * intervals.c (graft_intervals_into_buffer):
91 Remove #ifdef'd-out code.
92 (graft_intervals_into_buffer): Remove unused variable `middle'.
93
5de38842
PJ
94 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
95 code (eval-current-buffer).
96 Change doc-string comments to `new style' [w/`doc:' keyword].
97
4fa23df5
RS
982001-11-06 Richard M. Stallman <rms@gnu.org>
99
100 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
101
7a6a97d7
SM
1022001-11-06 Stefan Monnier <monnier@cs.yale.edu>
103
c191d13c
SM
104 * lread.c (read1): Fix behavior with nested backquoting.
105
7a6a97d7
SM
106 * keyboard.c (make_lispy_event): Check integerness and fix
107 Lisp_Object/int mixup.
108
44dc78e0
PJ
1092001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
110
111 * fns.c (copy_hash_table): Remove unused variable `v'.
112
17893c65
PJ
113 * fontset.c (fontset_font_pattern): Remove unused variable
114 `family_registry'.
115
4d994a79
PJ
116 * indent.c (current_column_1): Remove unused variable `prev_col'.
117
d5360cc7
RS
1182001-11-05 Richard M. Stallman <rms@gnu.org>
119
120 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
121
122 * buffer.c (Fkill_buffer): Don't delete auto save file
123 if buffer is modified.
124
96238a5a
AI
1252001-11-05 Andrew Innes <andrewi@gnu.org>
126
127 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
128 CHECK_NUMBER_CDR.
129
d9d54213
RS
1302001-11-05 Richard M. Stallman <rms@gnu.org>
131
132 * unexelf.c (unexec): Minor changes; clean up comments.
133
b116830b
SS
1342001-11-05 Sam Steingold <sds@gnu.org>
135
136 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
137
3297e2a1
AS
1382001-11-05 Andreas Schwab <schwab@suse.de>
139
140 * sound.c (sound_perror): Save errno from being clobbered.
141
9212319f 1422001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
143
144 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
145 the program image directly.
146
7dd73b78
PJ
1472001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
148
149 * buffer.h (Fbuffer_local_value): Add prototype.
150
982f6c7e
RS
1512001-11-04 Richard M. Stallman <rms@gnu.org>
152
d31053f9
RS
153 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
154 and CHECK_BUFFER.
155
156 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
157 (record_char): Likewise.
158
159 * keyboard.c (make_lispy_event): Don't insist a drag event must
160 move to a different buffer position. Instead, check for moving at
161 least double_click_fuzz.
162
163 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
164
165 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
166
982f6c7e
RS
167 * indent.c (current_column_1, Fmove_to_column): Separate the code
168 for display-table glyphs from the code buffer text, to fix
169 bugs in the former.
170
830047fd
RS
1712001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
172
173 * buffer.c (Fbuffer_local_value): New function.
c191d13c 174 (syms_of_buffer): Defsubr it.
b116830b 175
830047fd
RS
176 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
177 value of `cursor-in-non-selected-windows'.
178
179 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
180 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
181 (syms_of_xdisp): Initialize it.
b116830b 182
2df5238c
PJ
1832001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
184
4e397688
PJ
185 * xfns.c (Fx_create_frame): Doc fix.
186
48b0f3ae
PJ
187 * coding.c: Change doc-string comments to `new style' [w/`doc:'
188 keyword].
189
2df5238c
PJ
190 * eval.c (top_level_value, top_level_set): Remove commented and
191 #ifdef'd-out code.
192 (Fdefvar): Fix usage in doc-string.
193
3ecaf7e5
RS
1942001-11-03 Richard M. Stallman <rms@gnu.org>
195
196 * xfns.c: Include unistd.h, if it exists.
197
198 * editfns.c: Move the include of ctype.h after unistd.h.
199
200 * gmalloc.c: Test BROKEN_PROTOTYPES.
201
8db2e33b
KR
2022001-11-03 Ken Raeburn <raeburn@gnu.org>
203
204 * lisp.h (CHECK_STRING_CAR): New macro.
205 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
206 treating XCAR and XCDR as lvalues.
207 (openp): Use CHECK_STRING_CAR.
208 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
209
aed29b97
EZ
2102001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
211
212 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 213 (SIGMASKTYPE): Define.
aed29b97
EZ
214
215 * syssignal.h (sigunblock): Don't define if already defined.
216
6cb16f95
PJ
2172001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
218
16b45be4
EZ
219 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
220 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
221 Fix typos in comments.
222
020f9b38
PJ
223 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
224 and #ifdef'd-out code.
225 Fix and reindent comments.
226
c191d13c 227 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 228
6cb16f95
PJ
229 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
230 argument `i' in macros.
231
232 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
233 `i' in macros.
234
16b45be4
EZ
235 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
236 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
237 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
238 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
239 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
240 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
241 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
242 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
243 in macros.
244
245 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
246 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
247 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
248 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
249 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
250 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
251 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
252 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
253 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
254 (remove unused second argument).
255
7e9d3c2f
SM
2562001-11-02 Stefan Monnier <monnier@cs.yale.edu>
257
258 * syntax.c (describe_syntax): New wrapper.
259 (Finternal_describe_syntax_value): Rename from describe_syntax.
260 Don't insert space at front and \n at the end.
261 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
262
263 * regex.c (re_wctype): Try to fix some warnings.
264 (regcomp, regexec): Don't forget the __restrict.
265
e6bff182
RS
2662001-11-02 Richard M. Stallman <rms@gnu.org>
267
268 * textprop.c (Fget_char_property): Doc fix.
269
9ba48103
PJ
2702001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
271
272 * process.c (Fstart_process): Add usage to doc-string.
273
274 * data.c (Fsetq_default): Ditto.
275
276 * callint.c (Finteractive): Ditto.
277
c22e59e1
SM
2782001-11-01 Stefan Monnier <monnier@cs.yale.edu>
279
280 * macros.c: Don't include keymap.h any more.
281
9271ed2c
RS
2822001-11-01 Richard M. Stallman <rms@gnu.org>
283
e6bff182
RS
284 * data.c (Fmake_local_variable): Doc fix.
285
286 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
287 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
288
9271ed2c
RS
289 * keymap.c (Fdescribe_buffer_bindings): Print character property
290 bindings along with or instead of the buffer local map.
291 Make the overriding maps override what they should.
292
8b8bd9c6
PJ
2932001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
294
295 * window.c (grow_mini_window): Fix typo in comment.
296
27188d11
GM
2972001-11-01 Gerd Moellmann <gerd@gnu.org>
298
7b49b9d2
GM
299 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
300 (XTset_vertical_scroll_bar): Likewise.
301
43f7c3ea
GM
302 * xfns.c (x_build_heuristic_mask): Use four_corners_best
303 instead of IMAGE_BACKGROUND.
c22e59e1 304
b350c2e5
GM
305 * xfns.c (four_corners_best): Reindent.
306
c22e59e1 307 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
308 Handle :box so that it is possible to specify sexprs.
309
d576358b
PJ
3102001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
311
312 * xfaces.c (Finternal_merge_in_global_face): Reindent.
313 (Fface_font): Ditto.
314 (Finternal_set_alternative_font_registry_alist): Ditto.
315 (Ftty_suppress_bold_inverse_default_colors): Ditto.
316
317 * xfns.c (x-get-resource): Reindent.
318
bf00d461
EZ
3192001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
320
321 * s/hpux11.h: New file.
322
4e10df59
PJ
3232001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
324
2b209b97
PJ
325 * emacs.c (USAGE1): Show command line option --no-window-system
326 instead of --no-windows in usage.
327 (standard_args): Rename --no-windows to --no-window-system.
328 (bug_reporting_address): Follow Emacs coding conventions.
329
9dbc9081
PJ
330 * eval.c (Fcommandp): Doc fix.
331 Change doc-string comments to `new style' [w/`doc:' keyword].
332
4e10df59
PJ
333 * frame.c (Fframe_live_p): Doc fix.
334
335 * buffer.c (selective-display-ellipses): Doc fix.
336
dd387b25
GM
3372001-10-31 Gerd Moellmann <gerd@gnu.org>
338
fe957e65
GM
339 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
340
dd387b25
GM
341 * xfaces.c (realize_x_face): If C is not a single-byte character,
342 set the face's colors_copied_bitwise_p instead of the defaulted_p
343 members which have a different meaning.
344 (free_face_colors): Do nothing for a face whose colors have been
345 copied bitwise.
346
c22e59e1 347 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 348
2e1280f8
PJ
3492001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
350
687784e8
PJ
351 * marker.c, mocklisp.c: Change doc-string comments to `new style'
352 [w/`doc:' keyword].
2e1280f8 353
b9d9a9b9
GM
3542001-10-31 Gerd Moellmann <gerd@gnu.org>
355
356 * fns.c (require_unwind): Return Lisp_Object.
357
48400103
PJ
3582001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
359
fa1361cb
PJ
360 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
361 (last-input-char): Revert doc-string to be the same as the
362 doc-string of `last-input-event'.
363
48400103
PJ
364 * xdisp.c: Fix typos in comments.
365
eafa3196
GM
3662001-10-31 Gerd Moellmann <gerd@gnu.org>
367
368 * window.c (grow_mini_window): Handle case that the root
369 window is already smaller than the nominal mininum height.
370
747d3f2a
SM
3712001-10-30 Stefan Monnier <monnier@cs.yale.edu>
372
bf9bb76f
SM
373 * emacs.c (main): Don't call keys_of_macros any more.
374
375 * lisp.h (keys_of_macros): Remove.
376
377 * macros.c (keys_of_macros): Remove.
378
747d3f2a
SM
379 * xfaces.c (Fface_attribute_relative_p): Declare args.
380
5e905a57
JR
3812001-10-30 Jason Rumney <jasonr@gnu.org>
382
383 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
384 (enum_font_cb2): Ignore fonts with vertical orientation.
385
3a426197
RS
3862001-10-30 Richard M. Stallman <rms@gnu.org>
387
388 * keyboard.c (Finput_pending_p): Doc fix.
389
a742d646
GM
3902001-10-30 Gerd Moellmann <gerd@gnu.org>
391
259cf6bc
GM
392 * xterm.c (x_after_update_window_line): Don't run the code
393 clearing in borders for rows whose visible height is 0.
394
3f99f948
GM
395 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
396 resized_p flag is set. If not set, use the much less flickering
397 method previously used.
398
399 * dispnew.c (change_frame_size_1): Set frame's resized_p.
400
401 * frame.h (struct frame) <resized_p>: New member.
402
b4a3be43
GM
403 * lread.c (to_multibyte): Ensure read_buffer is at least twice
404 as large as the number of bytes to convert.
747d3f2a 405
a742d646
GM
406 * lread.c (to_multibyte): New function.
407 (read1): Use it.
408
cacbb9e9
EZ
4092001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
410
411 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
412
99cb6b2f
GM
4132001-10-30 Gerd Moellmann <gerd@gnu.org>
414
327f42ee 415 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
416 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
417 if the row's fill_line_p is set and drawing the last glyph with
418 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 419
99cb6b2f
GM
420 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
421
8e8223e2
SM
4222001-10-29 Stefan Monnier <monnier@cs.yale.edu>
423
424 * xmenu.c: Include coding.h and charset.h.
425 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
426 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
427 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
428 Explicitly set wv->help. Use `TRUE' rather than `True'.
429 (menu_help_callback): Use empty_string.
430
431 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
432 (Fx_popup_dialog): Explicitly init f.
433 (w32_menu_display_help): Use empty_string.
434
4d083a8f
RS
4352001-10-29 Richard M. Stallman <rms@gnu.org>
436
b2304472
RS
437 * fns.c (Frequire): Detect recursive try to require the same
438 feature 3 or more levels deep, and get error.
439 (require_unwind): New subroutine.
440 (require_nesting_list): New variable.
441 (syms_of_fns): Init and staticpro it.
442
4d083a8f
RS
443 * print.c (print_object): Clarify indication of insertion type.
444
2fe41216
EZ
4452001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
446
90480000
EZ
447 * coding.c (syms_of_coding): Document that locale-coding-system is
448 used for decoding input on X.
449
2fe41216
EZ
450 * window.c (Fscroll_left, Fscroll_right): Doc fix.
451
74e79967
PJ
4522001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
453
454 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
455 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
456
60ebcfe8
GM
4572001-10-29 Gerd Moellmann <gerd@gnu.org>
458
9a7bdceb
GM
459 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
460 use NO_CURSOR if cursor_in_non_selected_windows is false.
461
3f08fcd2
GM
462 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
463 the slant attribute if FRAME is t.
464
0ccfdad2
GM
465 * xfns.c (x_set_internal_border_width): Set frame garbaged
466 when X window doesn't exist yet.
467
ef253080
GM
468 * xterm.c (x_after_update_window_line): Clear internal border
469 in different circumstances.
b116830b 470
60ebcfe8
GM
471 * xterm.c (XTread_socket) <KeyPress>: Don't use
472 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
473 <handa@etl.go.jp>.
474
73d25f9c
EZ
4752001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
476
477 * m/ibms390.h: New file. From Adam Thornton
478 <athornton@sinenomine.net>.
479
cac1daf0
GM
4802001-10-28 Gerd Moellmann <gerd@gnu.org>
481
053b3256 482 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 483
cac1daf0
GM
484 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
485 a loop counter.
486
13b1a09c
PJ
4872001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
488
186486eb
PJ
489 * emacs.c: Use argv[0] instead of emacs when -t was specified.
490
4707d2d0
PJ
491 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
492 keyword].
493 Fix typos in comments.
b116830b 494
d883731c
PJ
495 * emacs.c (bug_reporting_address): New function.
496 Use it when displaying usage message.
497
04012254
PJ
498 * minibuf.c (read_minibuf): Remove unused external declaration of
499 variable `Qread_only'.
500
13b1a09c
PJ
501 * keymap.c (access_keymap): Remove unused variable `charset'.
502
5bbf4378
MB
5032001-10-28 Miles Bader <miles@gnu.org>
504
505 * xfaces.c (merge_face_heights): Handle TO being relative as well.
506 Remove #ifdef'd-out code.
507 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
508 (syms_of_xfaces): Initialize them.
509
1ce1e4ee
JR
5102001-10-27 Jason Rumney <jasonr@gnu.org>
511
512 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
513 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
514 position using the system caret.
515
516 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
517 (w32_system_caret_height, w32_system_caret_x)
518 (w32_system_caret_y): New variables for tracking system caret.
519 (w32_initialize): Initialize them.
c2d53558 520 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 521
c2d53558
SM
522 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
523 New messages types.
1ce1e4ee
JR
524
525 * w32term.c (note_mouse_highlight): Clear old help_echo.
526
4e30ce42
PJ
5272001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
528
bb4600a4
PJ
529 * xterm.c: Fix typo in a comment.
530
7db35a48
PJ
531 * emacs.c: Fix typos in comments.
532 Remove unnecessary spaces.
533 Change doc-string comments to `new style' [w/`doc:' keyword].
534 (USAGE2): Fix typos in usage string.
535
a7248e4f
PJ
536 * xterm.c: Fix typo in a comment.
537
4e30ce42
PJ
538 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
539 emacs.c.
540
62725a92
GM
5412001-10-27 Gerd Moellmann <gerd@gnu.org>
542
798dbe1f 543 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 544 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
545 farther backward when target_y was not reached.
546
62725a92
GM
547 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
548 Display errno only if non-zero.
549 (sound_warning): New function.
550 (vox_configure): Don't treat failing to set sample rate as error.
551 (various places): Improve error messages.
552
d4e34d24
EZ
5532001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
554
944e6f60
EZ
555 * fileio.c (Faccess_file): Run the argument filename through
556 Fexpand_file_name, before using it.
557
d4e34d24
EZ
558 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
559 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
560
38d2af0c
GM
5612001-10-26 Gerd Moellmann <gerd@gnu.org>
562
da80a8d5
GM
563 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
564
38d2af0c
GM
565 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
566 Fix clearing in the case of scroll bars on the right.
c2d53558 567
56f508dd
EZ
5682001-10-26 Juanma Barranquero <lektu@terra.es>
569
570 * w32gui.h (XImage): Add a dummy typedef.
571
fbd5ceb2
GM
5722001-10-26 Gerd Moellmann <gerd@gnu.org>
573
c2d53558 574 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 575
b23236fb
EZ
5762001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
577
578 * frame.c (Fframe_parameter): Fix last change.
579
5d991fc4
EZ
580 * fileio.c: Revert last change (which removed old commented-out
581 version of expand-file-name). Add a comment that explains why
582 this old version should not be removed.
583
879eadc3
GM
5842001-10-25 Gerd Moellmann <gerd@gnu.org>
585
75700ff2
GM
586 * frame.c (Fframe_parameter): Fix a bug whereby some
587 ``artificial'' frame parameters, like `minibuffer' were not
588 obtained by calling Fframe_parameters.
589
dfe92a6a
GM
590 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
591 cursor differently.
592
879eadc3
GM
593 * xdisp.c (move_it_vertically_backward): Compute line height
594 differently. Add heuristic to try to be more compatible to 20.x.
595
e1010ebe
SM
5962001-10-25 Stefan Monnier <monnier@cs.yale.edu>
597
d73a471b
SM
598 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
599
d6da5a06
GM
600 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
601 boolean.
e1010ebe 602
f66bd220
MB
6032001-10-25 Miles Bader <miles@gnu.org>
604
605 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
606 BG is a pointer to a structure, not a structure.
607 (gif_format, png_format): Add missing commas.
608
d436d538
RS
6092001-10-24 Richard M. Stallman <rms@gnu.org>
610
611 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 612 (syms_of_xfaces): Defsubr it.
d436d538 613
075c507b
PJ
6142001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
615
616 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
617 variable `area'.
618
d492b584
PJ
6192001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
620
c2d53558 621 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 622
e2a57b34
MB
6232001-10-25 Miles Bader <miles@gnu.org>
624
625 * dispextern.h (struct image): Add `background',
626 `background_valid', and `background_transparent' fields.
627 (image_background, image_background_transparent): New declarations.
628 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
629 * xfns.c (image_background, image_background_transparent)
630 (four_corners_best): New functions.
c2d53558 631 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
632 (gs_format): Add `:background' entry.
633 (lookup_image): Set IMG's background color if specified.
634 (pbm_load, xbm_load_image, png_load): Set IMG's background field
635 when appropriate.
636 (x_clear_image_1): Reset `background_valid' and
637 `background_transparent_valid' fields.
638 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
639 calculating it here. Set IMG's background_transparent field.
640 (enum xpm_keyword_index): Add XPM_BACKGROUND.
641 (enum png_keyword_index): Add PNG_BACKGROUND.
642 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
643 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
644 (enum gif_keyword_index): Add GIF_BACKGROUND.
645 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 646 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
647 Pre-calculate image background color where necessary.
648 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
649 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
650 color to use for image glyph reliefs.
651
b547b6e8
GM
6522001-10-24 Gerd Moellmann <gerd@gnu.org>
653
d9e3b8c6
GM
654 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
655 in full-width rows.
c2d53558 656
b547b6e8
GM
657 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
658 Fix clearing of area not covered by scroll bar.
659
2beb36f9
PJ
6602001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
661
662 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
663 and `real_start'.
c2d53558 664 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
665 (glyph_rect): Remove unused variable `area'.
666
76cb5e06
GM
6672001-10-24 Gerd Moellmann <gerd@gnu.org>
668
bdbdebff 669 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
670
671 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
672 (row_containing_pos): Take additional argument DY.
673 Treat rows ending in middle of char differently.
62e33982
GM
674 (display_line): Handle tabs on window systems differently.
675
676 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
677 with additional argument.
678
679 * dispextern.h (row_containing_pos): Adjust prototype.
680
76cb5e06
GM
681 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
682 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
683 (try_window_id, try_window_reusing_current_matrix)
684 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
685 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
686
996fee11
PJ
6872001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
688
c9e60620
PJ
689 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
690 gnuemacs).
691 (HAVE_BOXES): Fix typo in comment.
692 (push_menu_pane): Fix typo in comment.
693
3b552d56
PJ
694 * xdisp.c: (display_prop_string_p): Remove unused local declaration
695 of `Qwhen'.
696 (single_display_prop_string_p): Remove unused local declarations
697 of `Qwhen' and `Qmargin'.
698 (string_buffer_position): Remove unused variable `around'.
699 (store_frame_title): Remove unused variable `width'.
700
15c565ac
PJ
701 * window.c: Don't define max.
702 (coordinates_in_window): Remove unused variable `uy'.
703
a8818eb9
PJ
704 * widget.c: Don't define max.
705
996fee11
PJ
706 * process.c: Don't define max.
707 (create_process): Remove unused variable `buffer'.
708
496e1a5b
GM
7092001-10-23 Gerd Moellmann <gerd@gnu.org>
710
c2d53558 711 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 712
5905ae8b
EZ
7132001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
714
715 * xfaces.c (Finternal_set_lisp_face_attribute)
716 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
717 frame is on a windowed display.
718
24db49fb
GM
7192001-10-23 Gerd Moellmann <gerd@gnu.org>
720
c2d53558
SM
721 * dispnew.c (sync_window_with_frame_matrix_rows):
722 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
723 of marginal areas.
724
c2d53558 725 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 726
f0487f05
EZ
7272001-10-23 Andreas Schwab <schwab@suse.de>
728
729 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
730 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
731
f0a48a01
GM
7322001-10-23 Gerd Moellmann <gerd@gnu.org>
733
c2d53558 734 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
735 REAL_END. Notice if cursor gets overwritten.
736 (notice_overwritten_cursor): Take X positions as parameters.
737 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
738 around call to x_draw_glyphs.
739
a50a10a0
PJ
7402001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
741
fc11dff0
PJ
742 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
743 instead of C) and usage.
a50a10a0 744
fc11dff0
PJ
745 * editfns.c (char-to-string): Fix argument names (use CHAR instead
746 of C) and usage.
a50a10a0
PJ
747
748 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
749 `left', `max_width' and `max_height'.
750
8738febd
GM
7512001-10-23 Gerd Moellmann <gerd@gnu.org>
752
753 * xdisp.c (display_line): For a tab continued to the next line,
754 set row's ends_in_middle_of_char_p.
755
653c329b
GM
7562001-10-22 Gerd Moellmann <gerd@gnu.org>
757
758 * xdisp.c (display_line): Fix computation of continuation lines
759 width for TABs.
760
f958c5ac
PJ
7612001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
762
7ba51063
PJ
763 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
764 `Qlaplace'.
765
f958c5ac
PJ
766 * fileio.c: Remove unused code.
767
eb360291
MB
7682001-10-22 Miles Bader <miles@gnu.org>
769
770 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
771 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
772 Remove `DOC_STRINGS_IN_COMMENTS' cases.
773
98515cf0
JR
7742001-10-21 Jason Rumney <jasonr@gnu.org>
775
776 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
777
93026d88
EZ
7782001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
779
780 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
781 (Finsert_string): Avoid the multi-line string literals warning.
782
c9a95b79
MB
7832001-10-22 Miles Bader <miles@gnu.org>
784
785 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
786 (Fdocumentation): Don't use it.
787 (syms_of_doc): Don't initialize it.
788
789 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
790 * print.c (Fwith_output_to_temp_buffer): Likewise.
791 * window.c (Fsave_window_excursion): Likewise.
c2d53558 792 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 793 (Fsave_restriction): Likewise.
c2d53558
SM
794 * eval.c (Frun_hooks, Frun_hook_with_args)
795 (Frun_hook_with_args_until_failure)
796 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
797 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
798 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
799 (Funwind_protect, Fcondition_case): Likewise.
800 * coding.c (Ffind_operation_coding_system): Likewise.
801 * keyboard.c (Ftrack_mouse): Likewise.
802
a3b10252
MB
8032001-10-21 Miles Bader <miles@gnu.org>
804
c2d53558 805 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
806 (Fmake_hash_table): Add usage: string to doc string.
807 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 808 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
809 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
810 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
811 (Fml_prefix_argument_loop): Likewise.
812
c6f73eec
PJ
8132001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
814
c2d53558 815 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 816
c6f73eec
PJ
817 * sysdep.c (init_sys_modes): Change doc-string comments to `new
818 style' [w/`doc:' keyword].
819
820 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
821 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
822 comments to `new style' [w/`doc:' keyword].
823
3cf3436e
JR
8242001-10-21 Jason Rumney <jasonr@gnu.org>
825
826 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
827
c169b8f1
JR
828 * w32term.c (remember_mouse_glyph): New function.
829 (w32_mouse_position): Use it.
830 (note_mouse_movement): If the mouse moved off the glyph, remember
831 its new position.
c2d53558 832
4fdd691b
JR
833 * w32term.h (struct w32_output): Correct spelling of x_compatible.
834 (w32_display_info): Add mouse_face_overlay.
835
c169b8f1
JR
836 * w32term.c (notice_overwritten_cursor): Renamed from
837 note_overwritten_text_cursor. Rewritten to take glyph widths into
838 account.
839 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
840 (fast_find_string_pos): New function.
841 (fast_find_position): Return the correct vpos. Add parameter
842 STOP. In the final row, stop before glyphs having STOP as object.
843 Don't consider glyphs that are not from a buffer.
844 (fast_find_position) [0]: Add a presumably more correct version
845 for after 21.1.
846 (expose_window_tree, expose_frame): Don't compute intersections here.
847 (expose_window): Do it here instead.
848 (expose_window_tree, expose_window, expose_line): Return 1 when
849 overwriting mouse-face.
850 (expose_window): If W is the window currently being updated, mark
851 the frame garbaged.
852 (expose_frame): If mouse-face was overwritten, redo it.
853 (x_use_underline_position_properties): New variable.
854 (syms_of_xterm): DEFVAR_BOOL it.
855 (x_draw_glyph_string): Add comment to use it in future.
856 (x_draw_glyph_string): Restore clipping after drawing box.
857 Fix a computation of the underline position.
858 (w32_get_glyph_string_clip_rect): Minor cleanup.
859 (x_fill_stretch_glyph_string): Remove an assertion.
860 (x_produce_glyphs): Don't convert multibyte characters
861 to unibyte characters in unibyte buffers.
862 (cursor_in_mouse_face_p): New function.
863 (x_draw_stretch_glyph_string): Use it to choose a different GC
864 when drawing a cursor within highlighted text. Don't draw
865 background again if it has already been drawn.
866 (x_draw_glyph_string_box): Don't draw a full-width
867 box just because the glyph row's full_width_p flag is set.
868 (x_draw_glyphs): Fix computation of rightmost x for
869 full-width rows.
870 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
871 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
872 change bottom shadow accordingly. Some cleanup.
873 (x_update_window_end): Handle overwritten mouse face
874 also for tool bar windows.
875 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
876 DRAW is DRAW_IMAGE_RAISED.
877 (clear_mouse_face): Return 1 if text with mouse face was
878 actually redrawn. Make the function static. Reset
879 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
880 optimize away highlighting if we pass over that same overlay again.
881 (note_mouse_highlight): Call mouse_face_overlay_overlaps
882 to detect a case where we have to highlight a different region
883 despite not having left the currently highlighted region.
884 Set mouse_face_overlay in the x_display_info. Avoid changing the
885 mouse pointer shape when show_mouse_face has already done it, or
886 there is no need. Handle mouse-face and help-echo in strings.
887 (glyph_rect): New function.
888 (w32_mouse_position): Use it to raise the threshold for mouse
889 movement event generation.
890 (w32_initialize_display_info): Initialize the x_display_info's
891 mouse_face_overlay.
892 (w32_set_vertical_scroll_bar): Don't clear a zero height
893 or width area.
894 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
895 a widget to zero height.
896
3cf3436e 897 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 898 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
899 equivalents in menu_items.
900 (w32_menu_show): Don't overwrite an item's name with its key
901 description in case the description is a multibyte string.
902 (single_submenu): Some cleanup.
903
904 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
905 (postprocess_image): New function.
906 (lookup_image): Call it for all image types except PostScript.
907 (x_kill_gs_process): Call postprocess_image.
908 (tiff_error_handler, tiff_warning_handler): New functions.
909 (tiff_load): Install them as handlers.
910 (x_kill_gs_process): Recognize if someone has cleared the image
911 cache under us.
912 (valid_image_p): Protect better against invalid image
913 specifications. Previous code could signal an error.
914 (Fx_hide_tip, Fshow_tip): Doc fix.
915 (Fv_max_tooltip_size): New variable.
916 (syns_of_xfns): DEFVAR_LISP it.
917 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
918 window buffer to *tip* right after creating the frame. Set frame's
919 window_width. Use a maximum tooltip size specified by
920 Vx_max_tooltip_size, if that has valid contents.
921 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
922 Make sure the tooltip is completely visible.
923 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
924 (Fx_create_frame): Adjust the frame's height for presence
925 of the tool bar before calling x_figure_window_size.
926 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
927 when the window gets smaller.
928 (x_set_foreground_color): Set frame's cursor_pixel.
929 (x_set_foreground_color, x_set_background_color): Cleaned up.
930 (x_set_font): Handle case of x_new_fontset returning the same name
931 as before, although there was a change in fontsets.
932
386ca361
MB
9332001-10-21 Miles Bader <miles@gnu.org>
934
c2d53558 935 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
936 (Flogxor): Add usage: string to doc string.
937 * charset.c (Fstring): Likewise.
938 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
939 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
940
14ff1ee0
PJ
9412001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
942
03be2694
PJ
943 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
944
945 * alloc.c: Reindent DEFUNs with doc: keywords.
946
947 * abbrev.c (Finsert_abbrev_table_description): Reindent.
948
14ff1ee0
PJ
949 * frame.c: Change doc-string comments to `new style' [w/`doc:'
950 keyword].
951
71431a0e
GM
9522001-10-20 Gerd Moellmann <gerd@gnu.org>
953
6aa97356 954 * (Version 21.1 released.)
71431a0e 955
39f624fa
PJ
9562001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
957
c2d53558 958 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
959
960 * xdisp.c (invisible_text_between_p): Put prototype inside #if
961 0 because unused.
962
963 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
964 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
965 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 966
abcce93a
MB
9672001-10-20 Miles Bader <miles@gnu.org>
968
969 The following changes remove the glyph_row `inverse_p' field,
970 which is never set anymore, due to other changes:
971
972 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
973 (reassert_line_highlight, change_line_highlight): Declarations removed.
974 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
975 (line_hash_code, row_equal_p, fake_current_matrices)
976 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
977 (update_frame_line, update_frame_line, update_frame_line):
978 Don't use `inverse_p' field.
979 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
980 change_line_highlight_hook.
981 (XTreassert_line_highlight, x_change_line_highlight):
982 Functions removed.
c2d53558 983 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
984 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
985 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
986 `inverse_p' field.
c2d53558 987 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
988 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
989 (w32_reassert_line_highlight, x_change_line_highlight):
990 Functions removed.
991 * w32console.c (reassert_line_highlight, change_line_highlight):
992 Functions removed.
993 (initialize_w32_display): Don't set reassert_line_highlight_hook
994 or change_line_highlight_hook.
995 (hl_mode): Function removed.
c2d53558
SM
996 (reset_terminal_modes, set_terminal_modes, update_begin)
997 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
998 (clear_frame, ins_del_lines): Don't call it.
999 * termhooks.h (reassert_line_highlight_hook)
1000 (change_line_highlight_hook): Declarations removed.
1001 * term.c (reassert_line_highlight_hook)
1002 (change_line_highlight_hook): Variables removed.
1003 (reassert_line_highlight, change_line_highlight): Functions removed.
1004 * msdos.c (IT_reassert_line_highlight)
1005 (IT_change_line_highlight): Functions removed.
1006 (internal_terminal_init): Don't set reassert_line_highlight_hook
1007 or change_line_highlight_hook.
1008 (highlight): Variable removed.
c2d53558 1009 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1010 (IT_set_terminal_modes): Don't set or use it.
1011
1012 The following changes remove inverse-video support for terminals
1013 that use a `magic cookie' standout mode. Due to changes in the
1014 way mode-lines are displayed, such support no longer works
1015 anyway, and it's probable that almost no one uses such terminals
1016 anymore:
1017
1018 * term.c (standout_requested): Variable removed.
1019 (update_end, highlight_if_desired): Don't use it.
1020 (chars_wasted, copybuf): Variables removed.
1021 (write_standout_marker): Function removed.
c2d53558 1022 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1023 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1024 Don't use `chars_wasted' or `copybuf'.
1025 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1026 Set `costs_set' to true.
1027 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1028 `chars_wasted'.
1029 (clear_end_of_line): Function removed.
1030 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1031 (clear_to_end): Call `clear_end_of_line' instead of
1032 `clear_end_of_line_raw'.
54800acb
MB
1033 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1034 (term_init): Don't set them.
1035 Turn off any standout/underline modes that require magic cookies.
c2d53558 1036 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1037 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1038 Remove special processing for magic-cookie standout modes.
1039 (turn_off_face, turn_on_face): Remove special processing for
1040 underline magic-cookie glitch.
abcce93a 1041
0b5f679f
RS
10422001-10-19 Richard M. Stallman <rms@gnu.org>
1043
1044 * eval.c (syms_of_eval): Doc fixes.
1045
5a4a5bd4
GM
10462001-10-19 Gerd Moellmann <gerd@gnu.org>
1047
1048 * xdisp.c (redisplay_internal): Don't clear echo area if the
1049 mini-window is selected.
1050
79f1f96c
MB
10512001-10-19 Miles Bader <miles@gnu.org>
1052
b57c2708
MB
1053 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1054 doesn't take precedence if the affected property's value is nil.
1055
1056 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1057
79f1f96c
MB
1058 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1059 with fields and suggest using `forward-line' to avoid them.
1060 * editfns.c (Fline_beginning_position, Fline_end_position):
1061 Clarify documentation.
1062
ef879104
SM
10632001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1064
1065 * keymap.c (current_minor_maps): `override' only shadows its
1066 correspondent in minor-mode-map-alist, not the whole tail.
1067
97f4db8c
AI
10682001-10-18 Andrew Innes <andrewi@gnu.org>
1069
1070 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1071 optimization. The fontp->encoding array was not being initialized
1072 correctly when compiled with optimizations by MSVC.
1073
e6b70fd8
GM
10742001-10-18 Gerd Moellmann <gerd@gnu.org>
1075
30903479 1076 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1077
0e804d38
AI
10782001-10-17 Andrew Innes <andrewi@gnu.org>
1079
1080 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1081
1082 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1083 font_info.charset field.
1084
1085 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1086 rather than working it out by calling w32_codepage_for_font for
1087 every glyph.
1088
66e5868a
AI
10892001-10-17 Andrew Innes <andrewi@gnu.org>
1090
1091 * w32term.c (w32_read_socket): Determine clipping rectangle for
1092 the entire frame, including areas covered by scrollbars and the
1093 menubar. This avoids internal arguments about whether a frame is
1094 fully obscured or not.
1095
15b00083
GM
10962001-10-17 Gerd Moellmann <gerd@gnu.org>
1097
23e8bd86
GM
1098 * xdisp.c (try_window_id): Undo last change. Give up if
1099 window ends in strings.
30903479 1100
9c6ba6d1 1101 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1102 end if the rest of the window after the window end was already blank.
23e8bd86 1103
30903479 1104 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1105 for the release of 21.1.
1106
30903479 1107 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1108
945220bd
MB
11092001-10-17 Miles Bader <miles@gnu.org>
1110
1111 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1112 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1113 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1114 Change doc-string comments to `new style' [w/`doc:' keyword].
1115 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1116 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1117 out make-docfile.
1118
14242528
MB
11192001-10-16 Miles Bader <miles@gnu.org>
1120
1121 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1122
3ddf952f
GM
11232001-10-16 Gerd Moellmann <gerd@gnu.org>
1124
1125 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1126 *scratch*.
1127
f3fbd155
KR
11282001-10-16 Ken Raeburn <raeburn@gnu.org>
1129
1130 Avoid the assumption that car and cdr slots of cons cells are
1131 addressable lvalues; this allows for easier experimentation with
1132 other lisp implementations that may not permit such accesses for
1133 various reasons. Not quite complete -- buffer.c still needs some
1134 work, and w32/mac files need rechecking -- so compile-time
1135 enforcement is left disabled for now.
1136
1137 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1138 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1139 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1140 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1141 (XSETCAR, XSETCDR): New macros.
1142 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1143 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1144 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1145 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1146 XSETCDR.
1147 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1148 * buffer.c (record_buffer, Fbury_buffer)
1149 (swap_out_buffer_local_variables, recenter_overlay_lists)
1150 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1151 fields of a cons cell respectively.
1152 * callint.c (quotify_args, Fcall_interactively): Likewise.
1153 * ccl.c (Fregister_code_conversion_map): Likewise.
1154 * coding.c (detect_coding_system): Likewise.
1155 * composite.c (get_composition_id, make_composition_value_copy):
1156 Likewise.
30903479
SM
1157 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1158 (swap_in_symval_forwarding, set_internal, Fset_default)
1159 (Fmake_variable_buffer_local, Fmake_local_variable)
1160 (Fmake_variable_frame_local): Likewise.
f3fbd155 1161 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1162 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1163 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1164 * minibuf.c (get_minibuffer): Likewise.
1165 * search.c (Fmatch_data): Likewise.
1166 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1167 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1168 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1169 Likewise.
1170 * w32term.c (x_delete_display): Likewise.
1171 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1172 Likewise.
c2d53558 1173 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1174 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1175 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1176 (Fread_file_name): Use XSETCAR.
1177 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1178 CHECK_NUMBER_CDR.
1179 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1180 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1181 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1182 CHECK_NUMBER_CDR.
1183 * keyboard.c (read_char): Alter list traversal to avoid taking the
1184 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1185 (parse_menu_item): Use XSETCAR and XSETCDR.
1186 (reach_char_x_menu_prompt): Use XSETCAR.
1187 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1188 (Fcommand_execute): Use XSETCDR.
1189 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1190 (openp): Change list traversal to avoid using XCAR as lvalue.
1191 (read_list): Use XSETCDR.
1192 * process.c (wait_reading_process_input): Change wait_for_cell
1193 handling to avoid taking addresses of cons cell slots.
30903479
SM
1194 * xselect.c (x_own_selection, x_handle_selection_clear)
1195 (x_clear_frame_selections): Use XSETCDR.
1196 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1197 (x_handle_property_notify, x_get_foreign_selection)
1198 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1199
502150e5
PJ
12002001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1201
018ba359
PJ
1202 * buffer.c: Put doc strings in comments.
1203
30903479 1204 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1205
b56ba8de
SS
12062001-10-15 Sam Steingold <sds@gnu.org>
1207
1208 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1209
6a0b793a
PJ
12102001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1211
30903479
SM
1212 * process.c (process-inherit-coding-system-flag)
1213 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1214 in comment.
1215
a1f17501 1216 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1217 arguments. Put doc strings in comments.
a65da641
PJ
1218
1219 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1220
aa601ad0
GM
12212001-10-15 Gerd Moellmann <gerd@gnu.org>
1222
30903479 1223 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1224
aa601ad0
GM
1225 * window.c (select_window_1): Unfreeze window start. Remove a
1226 doubled test for WINDOW being live.
1227
288148a1
PJ
12282001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1229
dd8d1e71
PJ
1230 * fns.c (Fmapconcat): Fix typo in a doc string.
1231
288148a1
PJ
1232 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1233
9f5eb4a3
GM
12342001-10-15 Gerd Moellmann <gerd@gnu.org>
1235
1236 * xterm.c (x_draw_glyph_string): Restore clipping after
1237 drawing box.
1238
dbae44c8
PJ
12392001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1240
30903479 1241 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1242
0c88c937
SM
12432001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1244
56378db4
GM
1245 * indent.c (skip_invisible): Use new retval of
1246 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1247
845e4cf4
SM
1248 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1249 If a parent is reached and noinherit is set, exit immediately.
1250 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1251
0c88c937
SM
1252 * s/ms-w32.h (EXEC_SUFFIXES):
1253 * s/msdos.h (EXEC_SUFFIXES):
1254 * process.h (EXEC_SUFFIXES): Remove.
1255
1256 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1257 (decode_suffixes): Remove.
1258
1259 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1260 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1261 (invisible_ellipsis_p): Remove.
0c88c937
SM
1262
1263 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1264 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1265 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1266 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1267 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1268
d19be8a9
PJ
12692001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1270
04d7d066
PJ
1271 * lisp.h (Ftop_level): Add prototype.
1272
d624284c
PJ
1273 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1274 (XTread_socket): Improve style of comments to follow other
1275 comments.
1276
a87414f9
PJ
1277 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1278 is already prototyped in included lisp.h).
1279
d19be8a9
PJ
1280 * frame.c (Fset_mouse_position): Improve style of comment to
1281 follow other comments.
1282 (Fset_mouse_pixel_position): Improve style of comment to follow
1283 other comments.
1284 (Fmake_frame_visible): Doc fix and typo in comment.
1285 (Fmake_frame_invisible): Doc fix and typo in comment.
1286 (Ficonify_frame): Fix typo in comment.
1287
c061c855
GM
12882001-10-14 Gerd Moellmann <gerd@gnu.org>
1289
37f6b5b6 1290 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1291 * term.c, alloc.c: Put doc strings in comments.
c061c855 1292
e641b454
GM
12932001-10-13 Gerd Moellmann <gerd@gnu.org>
1294
1295 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1296 Provide definitions for doc strings in comments.
1297
1298 * fns.c: Put doc strings in comments.
1299
51724e26
EZ
13002001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1301
1302 * dired.c (file_name_completion): Ignore a candidate directory if
1303 it matches an element in completion-ignored-extensions that ends
1304 in a slash.
1305 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1306 feature in the doc string.
1307 (Ffile_name_completion): Ditto.
1308
be5fc59b
SM
13092001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1310
5a1373f3
SM
1311 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1312
1313 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1314
1315 * lisp.h (Fprovide): Update prototype.
1316 (Ffeaturep, invisible_p): Remove.
1317
bbc4a3d3 1318 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1319 (DOLIST, LOOP_PROPVAL): New macros.
1320 (invisible_p, invisible_ellipsis_p): Use them.
1321 (invisible_noellipsis_p): New function.
1322 (syms_of_xdisp): Use empty_string.
1323
1324 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1325
1326 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1327 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1328
1329 * print.c (Fwith_output_to_temp_buffer): Align with
1330 internal_with_output_to_temp_buffer.
1331 (print_preprocess): Use traverse_intervals_noorder.
1332 (print_object): Update call to traverse_intervals.
1333
1334 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1335 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1336
1337 * intervals.c (traverse_intervals_noorder): New function.
1338 (search_for_interval, count_intervals): Use it.
1339 (traverse_intervals): Use less stack space and drop `depth' arg.
1340
1341 * fns.c (Ffeaturep): Add new `subfeature' arg.
1342 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1343 (Qsubfeatures): New var.
1344 (syms_of_fns): Initialize it.
1345
026f408d
SM
1346 * keymap.c (Fkey_description): Use empty_string.
1347 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1348 (syms_of_keymap): Setup inheritance between maps.
1349 Don't export Sdescribe_bindings_internal any more.
1350
be5fc59b
SM
1351 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1352
3365175e
GM
13532001-10-12 Gerd Moellmann <gerd@gnu.org>
1354
1355 * xterm.c (notice_overwritten_cursor): Renamed from
1356 note_overwritten_text_cursor. Rewritten to take glyph widths into
1357 account.
1358
2ab7765c
EZ
13592001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1360
1361 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1362 multi-line strings without a trailing "\n\".
1363
311346bb
PJ
13642001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1365
1366 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1367 defined.
1368
2168e04d
SM
13692001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1370
026f408d
SM
1371 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1372
c0ec53ad
SM
1373 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1374 * w32proc.c (sys_spawnve):
1375 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1376 * w32.c (check_windows_init_file):
1377 * sound.c (Fplay_sound):
026f408d 1378 * emacs.c (init_cmdargs):
c0ec53ad
SM
1379 * process.c (Fstart_process): Update calls to openp.
1380
1381 * callproc.c (Vexec_suffixes): New var.
1382 (Fcall_process): Update call to openp.
1383 (decode_suffixes): New function.
1384 (syms_of_callproc): Init exec-suffixes.
1385
1386 * lread.c (Vload_suffixes, default_suffixes): New vars.
1387 (openp): Take a lisp list of suffixes.
1388 Check for file-name-handlers even if the file was absolute already.
1389 (syms_of_lread): Declare load-suffixes.
1390 (Fload): Fix up call to openp.
1391 Don't bother checking for file-name-handler at the very beginning.
1392
f6333468
SM
1393 * keymap.h (Fcopy_keymap): Don't export.
1394
1395 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1396 (Vload_suffixes, Vexec_suffixes): Declare.
1397 (openp): Update prototype.
f6333468
SM
1398
1399 * emacs.c (empty_string): New var.
1400 (syms_of_emacs): Initialize it.
1401
1402 * search.c (wordify): Use it.
1403
1404 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1405 selected window if it's not displayed there. Handle the case
1406 when the window is dedicated.
1407 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1408
1409 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1410
2168e04d
SM
1411 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1412 Remove left_ok and right_ok.
1413 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1414 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1415 new meaning of b_property.
1416
1417 * syntax.c (update_syntax_table): Simplify.
1418 (Fforward_comment): Don't skip quoted chars when going backward.
1419
13d95cc0
GM
14202001-10-11 Gerd Moellmann <gerd@gnu.org>
1421
beb0990f
GM
1422 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1423 in case I is of some unsigned type, in which case
1424 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1425 comparison becomes bogus.
1426
cb938d46
GM
1427 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1428 (Fuser_full_name): Fix bug treating a float as a fixnum.
1429
1430 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1431
1432 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1433
13d95cc0
GM
1434 * lisp.h (circular_list_error): Add prototype.
1435
1436 * data.c (Qcircular_list): New variable.
1437 (circular_list_error): New function.
1438 (syms_of_data): Initialize it Qcircular_list.
1439
e35f6ff7
SM
14402001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1441
1442 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1443 casefiddle.c, buffer.c: Include keymap.h.
1444
619632ac
GM
14452001-10-10 Gerd Moellmann <gerd@gnu.org>
1446
1447 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1448 options. From Dave Love <d.love@dl.ac.uk>.
1449
5e5388f6
GM
14502001-10-09 Gerd Moellmann <gerd@gnu.org>
1451
1452 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1453 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1454
14a3dff7
GM
1455 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1456 unsigned char.
1457 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1458
76ba8daf
AI
14592001-10-08 Andrew Innes <andrewi@gnu.org>
1460
1461 * lisp.h [max]: Undef min and max before redefining them.
1462
1463 * w32gui.h: Do not undef min and max.
1464
1465 * w32heap.h: Do not undef min and max.
1466
1467 * s/ms-w32.h: Do not undef min and max.
1468
166253cb
SM
14692001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1470
1471 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1472
0c4d9527
SS
14732001-10-08 Sam Steingold <sds@gnu.org>
1474
1475 * keymap.c (current-active-maps): Quote newlines (compilation error).
1476
14bfa771
EZ
14772001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1478
1479 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1480 bindings.elc, since otherwise doc strings in bindings.el get wrong
1481 offsets in etc/DOC.
1482
bdb7aa47
SM
14832001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1484
9985827f
SM
1485 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1486
1487 * keyboard.h (map_prompt): Remove.
1488
1489 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1490 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1491
bdb7aa47
SM
1492 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1493
1494 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1495
1496 * keyboard.c (map_prompt): Remove.
1497 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1498 Use Fkeymap_prompt.
1499
1500 * keymap.h: New file. Extracted from lisp.h.
1501
9985827f
SM
1502 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1503 (accessible_keymaps_1): New function.
1504 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1505 (Fwhere_is_internal): Use Fcurrent_active_maps.
1506 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1507 Insert in current buffer rather than standard-output.
1508 Don't call `help-mode'. Export to elisp.
1509 (describe_buffer_bindings): New wrapper.
1510 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1511 and Sdescribe_buffer_bindings.
1512
402c9a51
GM
15132001-10-08 Gerd Moellmann <gerd@gnu.org>
1514
9985827f 1515 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1516 Remove code setting signal handler.
1517
9985827f 1518 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1519 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1520
3fe81fdf
PJ
15212001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1522
1523 * keyboard.c: Don't define min/max.
1524
55fa7820
GM
15252001-10-08 Gerd Moellmann <gerd@gnu.org>
1526
9985827f 1527 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1528 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1529 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1530 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1531 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1532 Don't define min/max.
1533
1534 * lisp.h (min, max): New macros.
1535
55fa7820
GM
1536 * puresize.h (BASE_PURESIZE): Increase to 725000.
1537
1aad31e4
PJ
15382001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1539
9180dc8c
PJ
1540 * xfaces.c (free_frame_menubar): Add prototype.
1541
01f67d2c
PJ
1542 * lisp.h (init_window): Add prototype.
1543
1544 * editfns.c: Include ctype.h.
1545
1546 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1547 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1548 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1549 variable `sb'.
1550
5f351ff1
PJ
1551 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1552 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1553 `popup_activated_flag' and `title'.
1554
479dfe87
PJ
1555 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1556
dff49fc8
PJ
1557 * emacs.c (main): Remove extra `;'.
1558
248ac615
PJ
1559 * atimer.h (struct atimer): Fix typos in a comment.
1560
1561 * atimer.c: Fix typo.
1562
af232c7d
PJ
1563 * Makefile.in: Fix typo.
1564
1565 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1566
d876f455
MB
15672001-10-07 Miles Bader <miles@gnu.org>
1568
1569 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1570
0037e2f2
KR
15712001-10-07 Ken Raeburn <raeburn@gnu.org>
1572
b056f36d
KR
1573 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1574 Lisp_Object.
1575
0037e2f2
KR
1576 * lisp.h (Ffield_end): Declare.
1577
1a4372ef
GM
15782001-10-07 Gerd Moellmann <gerd@gnu.org>
1579
a4a74e8c
GM
1580 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1581
1582 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1583
1584 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1585
1586 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1587
1a4372ef
GM
1588 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1589 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1590
1591 * alloc.c (inhibit_garbage_collection): Simplify.
1592 (Fmemory_use_counts): Ditto.
1593
9985827f 1594 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1595 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1596 most-negative-fixnum.
1597
9985827f 1598 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1599 (FIXNUM_OVERFLOW_P): New macros.
1600
4650e362
MB
16012001-10-06 Miles Bader <miles@gnu.org>
1602
1603 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1604 scroll_bar_bottom_shadow_pixel fields.
1605 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1606 for the shadows, and tell the toolkit about them if we succeed.
1607 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1608 Free scroll-bar shadow colors.
1609 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1610 Free scroll-bar shadow colors when the background color changes.
1611 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1612 Initialize scroll-bar shadow-color fields.
1613
ace64e0a
GM
16142001-10-05 Gerd Moellmann <gerd@gnu.org>
1615
1616 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1617
ec66bdc7
MB
16182001-10-05 Miles Bader <miles@gnu.org>
1619
9985827f
SM
1620 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1621 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1622 New functions (were in simple.el).
9985827f 1623 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1624 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1625 (syms_of_minibuf): Initialize them.
1626
a0fb4492
GM
16272001-10-05 Gerd Moellmann <gerd@gnu.org>
1628
1629 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1630 (tiff_load): Install them as error and warning handler.
1631
0bcf87c1
AI
16322001-10-04 Andrew Innes <andrewi@gnu.org>
1633
1634 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1635 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1636 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1637 (x_to_w32_charset): Handle private format for unknown charsets.
1638 Handle wildcards in charset spec, by ignoring them.
1639 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1640 "*-" prefix from charset.
1641 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1642 handle the truncated font spec form constructed by font_list_1, so
1643 that we correctly identify the charset fields. Don't remove "*-"
1644 prefix from charset.
1645 (w32_list_synthesized_fonts): Fix argument to alloca.
1646
c89e4bc5
GM
16472001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1648
1649 * window.h (MINI_WINDOW_P): Use NILP.
1650
1651 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1652
1653 * termhooks.h (struct input_event): Use proper type for `kind'.
1654
16552001-10-04 Gerd Moellmann <gerd@gnu.org>
1656
1657 This handles unknown keysyms better than before. For example,
1658 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1659 Emacs formerly completely ignored F5. With the change, it derives
1660 a key symbol from the name of the X keysym, `ccaron' in this case.
1661 Reported by Martin Buchholz.
1662
1663 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1664 unknown keysyms.
1665
1666 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1667 that EVENT->code isn't a function key, use the keysym's name.
1668
16692001-10-04 Gerd Moellmann <gerd@gnu.org>
1670
1671 FOREACH is a macro that should make it easier to loop over Lisp
1672 lists with checks for cycles and proper lists.
1673
1674 * lisp.h (LIST_END_P, FOREACH): New macros.
1675
16762001-10-04 Gerd Moellmann <gerd@gnu.org>
1677
1678 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1679 called for a lost connection. Prevent dumping core in this case.
1680 Instead print the X error, and exit. On user request.
1681
1682 * xterm.c (error_msg): New variable.
1683 (x_fatal_error_signal): New function.
1684 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1685 as fatal_error_signal_hook around the call to XtCloseDisplay.
1686
1687 * emacs.c (fatal_error_signal_hook): New variable.
1688 (fatal_error_signal): Call that function.
1689
16902001-10-04 Gerd Moellmann <gerd@gnu.org>
1691
1692 With this, Emacs prints how much pure storage it will
1693 approximately need in case pure storage overflows while dumping.
1694
1695 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1696 New variables.
1697 (init_alloc_once): Initialize new variables.
1698 (PURE_POINTER_P): Use new variables.
1699 (pure_alloc): If pure storage overflows, allocate from the heap.
1700 (check_pure_size): New function.
1701 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1702
1703 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1704 (check_pure_size): Add prototype.
1705
1706 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1707
17082001-10-04 Gerd Moellmann <gerd@gnu.org>
1709
1710 This adds a post-gc-hook that's run with GC inhibited.
1711 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1712
1713 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1714 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1715 (Fgarbage_collect): Run post-gc-hook.
1716
17172001-10-04 Gerd Moellmann <gerd@gnu.org>
1718
1719 This adds `defvaralias' and `indirect-variable'. Changes not
1720 directly related to this feature are there to gain the same
1721 performance again as before variable aliases.
1722
1723 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1724 code to get and set symbol values, to take defvaralias into account.
1725
1726 (Note: the new `constant' bit-flag in symbols would make it
1727 possible to define arbitrary read-only variables, e.g. with
1728 `defconst'.)
1729
1730 Documentation is in lispref/variables.texi. Added to NEWS.
1731
1732 * lisp.h (enum symbol_interned): New enumeration.
1733 (struct Lisp_Symbol): Remove member `obarray', add
1734 `indirect_variable', `constant', and `interned'.
1735 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1736 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1737 (indirect_variable): Add prototype.
1738
1739 * print.c (print_preprocess, print_object): Test internedness of
1740 symbols differently.
1741
1742 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1743 bit-fields.
1744 (init_obarray): Likewise for t and nil.
1745
1746 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1747 (Fdefvaralias): New function.
1748 (specbind): Simplify the test if symbol is a constant.
1749 (syms_of_eval): Defsubr Fdefvaralias.
1750
1751 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1752 (Qcyclic_variable_indirection): New variable.
1753 (Fkeywordp): Check for internedness differently.
1754 (Fmakunbound): Simplify the test if symbol is a constant.
1755 (indirect_variable, Findirect_variable): New functions.
1756 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1757 aliased symbol.
1758 (let_shadows_buffer_binding_p): Check for variable aliases.
1759 (set_internal): Simplify the test if SYMBOL is a constant.
1760 If SYMBOL has a buffer-local value and is an alias, use the aliased
1761 symbol instead.
1762 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1763 Sindirect_variable.
1764
1765 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1766 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1767 set directly.
1768
1769 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1770
1771 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1772 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1773 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1774
ab952a4f
GM
17752001-10-04 Gerd Moellmann <gerd@gnu.org>
1776
1777 * Branch for 21.1.
b56ba8de 1778
ba88ff28
MB
17792001-10-03 Miles Bader <miles@gnu.org>
1780
1781 * callproc.c (syms_of_callproc): Explicitly state in the
1782 documentation for `process-environment' that earlier entries take
1783 precedence over later ones.
1784
ae1a9581
MB
17852001-10-02 Miles Bader <miles@gnu.org>
1786
1787 * textprop.c (Fnext_char_property_change)
1788 (Fprevious_char_property_change): Remove reference to non-existant
1789 argument OBJECT from doc-string.
1790
257e3f57
GM
17912001-10-01 Gerd Moellmann <gerd@gnu.org>
1792
1793 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1794 (try_window_id): Skip back over lines ending in a newline from a
1795 string.
1796
1797 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1798 New bit flag
1799
c1f29759
RS
18002001-10-01 Richard M. Stallman <rms@gnu.org>
1801
1802 * search.c (Freplace_match): Doc fix.
1803
c30dce3d
AI
18042001-09-28 Andrew Innes <andrewi@gnu.org>
1805
1806 * w32menu.c (set_frame_menubar): Take into account that
1807 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1808 <raeburn@gnu.org>.
1809
03be5931
EZ
18102001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1811
1812 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1813
75bec752
PJ
18142001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1815
1816 * s/gnu-linux.h: Fix a typo in comment.
1817
83100e0a
AS
18182001-09-28 Andreas Schwab <schwab@suse.de>
1819
1820 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1821 nocombreloc, in case -z combreloc is the default.
1822
a74b48cf
GM
18232001-09-28 Gerd Moellmann <gerd@gnu.org>
1824
1825 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1826 really going on here.
1827
09c4719e
SM
18282001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1829
1830 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1831
f7d5d963
EZ
18322001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1833
1834 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1835 utf-8, menu-bar, and latin-N.
1836 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1837 unconditionally now.
1838 (lisp): Add latin-N, since they are preloaded.
1839
9240e746
GM
18402001-09-27 Gerd Moellmann <gerd@gnu.org>
1841
14531065
GM
1842 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1843 to the left. Some cleanup.
1844
9240e746
GM
1845 * xdisp.c (display_mode_element): One more case where a string's
1846 multibyteness should be used for display.
1847
edd1e654
GM
18482001-09-26 Gerd Moellmann <gerd@gnu.org>
1849
b02439c8
GM
1850 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1851 reading at EOF.
1852
032906b1 1853 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1854 of the only temporarily set echoing flag for deciding when
032906b1
GM
1855 the cancel echoing.
1856
1857 * keyboard.c (echo_kboard): Make externally visible.
1858
1859 * lisp.h (echo_kboard): Declare extern.
1860
cb617e7c 1861 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1862 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1863 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1864 this round of redisplay if make_cursor_line_fully_visible fails.
1865 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1866 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1867
1868 * dispextern.h (required_matrix_width, required_matrix_height):
1869 Add prototypes.
1870
09c4719e
SM
1871 * dispnew.c (required_matrix_width, required_matrix_height):
1872 New functions.
cb617e7c 1873 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1874 (allocate_matrices_for_frame_redisplay: Use them.
1875 Remove parameters CH_DIM.
cb617e7c 1876
edd1e654
GM
1877 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1878 and selected_window to the frame of the window whose mode-lines
1879 are displayed, and to the window itself.
1880 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1881 here.
edd1e654 1882
924b604c
GM
18832001-09-25 Gerd Moellmann <gerd@gnu.org>
1884
daba7643
GM
1885 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1886 the image cache under us.
1887
b7a22712 1888 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1889 with a string value, use that string's multibyteness for displaying.
b7a22712 1890
ad648212
GM
1891 * keyboard.c (read_char): Don't clear a message for a switch-frame
1892 event. From Stefan Monnier <monnier@cs.yale.edu>.
1893
9f8531e5
GM
1894 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1895 version for after 21.1.
1896
1897 * xdisp.c (row_containing_pos): Make externally visible.
1898
1899 * dispextern.h (row_containing_pos): Add prototype.
1900
924b604c
GM
1901 * process.c (send_process): Disable composition if from_byte < 0.
1902 From Kenichi Handa <handa@etl.go.jp>.
1903
6f3f0db4
GM
19042001-09-24 Gerd Moellmann <gerd@gnu.org>
1905
c69c0ebc
GM
1906 * xterm.c (refreshicon): Function removed.
1907
d1182bc4
GM
1908 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1909
1910 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1911
1912 * xterm.c (toplevel): Remove includes in #if 0.
1913
6f3f0db4
GM
1914 * process.c (sigchld_handler) [LINUX]: Don't return from
1915 the signal handler at the end of the loop.
1916
59957f85
GM
19172001-09-21 Gerd Moellmann <gerd@gnu.org>
1918
09c4719e
SM
1919 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1920 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1921
a0528984
EZ
19222001-09-21 Markus Rost <rost@math.ohio-state.edu>
1923
1924 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1925
db92b288
GM
19262001-09-20 Gerd Moellmann <gerd@gnu.org>
1927
3fed8ad5
GM
1928 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1929 since this function can be called during GC.
1930
db92b288
GM
1931 * callproc.c (Fcall_process): Handle errors from pipe(2).
1932 (child_setup): Delete code in #ifdef vipc.
1933
7121b85a
GM
19342001-09-19 Gerd Moellmann <gerd@gnu.org>
1935
72f62cb5
GM
1936 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1937 (display_mode_element): Display the string from decode_mode_spec
1938 depending on its multibyteness.
1939
a2697022
GM
1940 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1941
7121b85a
GM
1942 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1943
bfc97351
GM
19442001-09-18 Gerd Moellmann <gerd@gnu.org>
1945
c9063433
GM
1946 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1947 recursive_edit_unwind.
1948 (recursive_edit_unwind): Set kboard state according to
1949 SINGLE-KBOARD.
1950
3fbdba3e
GM
1951 * buffer.c (modify_overlay): Don't do nothing if START == END;
1952 This can still be a modification, for example when an overlay has
1953 a before-string or after-string.
1954 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1955 an overlay with before-string or after-string.
1956
1270031d
GM
1957 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1958 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1959
bfc97351
GM
1960 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1961 first_unchanged_at_end_row is in front of
1962 last_unchanged_at_beg_row. This code should be removed after the
1963 release of 21.1.
1964
d8a973aa
GM
19652001-09-17 Gerd Moellmann <gerd@gnu.org>
1966
e18c8b8d
GM
1967 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
1968 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
1969
d8a973aa
GM
1970 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
1971 versions >= 2.95.
1972
ed7d6ba4
EZ
19732001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
1974
1975 * dired.c (Ffile_attributes): Doc fix.
1976
551629f9
GM
19772001-09-14 Gerd Moellmann <gerd@gnu.org>
1978
1979 * fileio.c (Ffile_symlink_p): Fix last change.
1980
1981 * filelock.c (current_lock_owner): Fix last change.
1982
4c8c7926
GM
19832001-09-13 Gerd Moellmann <gerd@gnu.org>
1984
620c4704
GM
1985 * filelock.c (current_lock_owner): If readlink returns ERANGE,
1986 take that to mean that the buffer is too small.
1987
81c3310d
GM
1988 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
1989 that to mean that the buffer is too small.
1990
06fd3792
GM
1991 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
1992 current buffer's multibyteness when discarding the iterator's
1993 stack.
1994
4c8c7926
GM
1995 * xfns.c (Fx_window_property): Handle case that property gets
1996 deleted between the two calls to XGetWindowProperty.
1997
9a72e4c1
GM
19982001-09-11 Gerd Moellmann <gerd@gnu.org>
1999
bd819d14 2000 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2001
a41edd99
GM
2002 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2003 in addition to read-only.
2004
2005 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2006 to t in addition to read-only.
2007
2008 * lisp.h (Qinhibit_modification_hooks): Declare.
2009
2010 * insdel.c (Qinhibit_modification_hooks): New variable.
2011 (syms_of_insdel): Initialize and staticpro it.
2012
d4881c6a
GM
2013 * textprop.c (verify_interval_modification): Don't run
2014 modification-hooks if inhibit_modification_hooks.
2015
2016 * dispnew.c (set_window_cursor_after_update): Fix code
2017 finding glyph row containing cursor when cursor_in_echo_area
2018 is >= 0.
2019
9a72e4c1
GM
2020 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2021 (add_to_log): Use bcopy instead of strcpy.
2022 (init_from_display_pos): Use an explicit loop over bytes in
2023 overlay strings instead of calling index.
2024
f4a374a1
GM
20252001-09-10 Gerd Moellmann <gerd@gnu.org>
2026
300e57bd
GM
2027 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2028
2029 * dispnew.c (direct_output_for_insert): Don't change IT's
2030 stop_charpos to something in front of its current position.
2031
f4a374a1
GM
2032 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2033 `format'.
2034
7e4cbc91
RS
20352001-09-10 Richard M. Stallman <rms@gnu.org>
2036
2037 * frame.c (Fmouse_position): Doc fix.
2038
6afad91e
GM
20392001-09-07 Gerd Moellmann <gerd@gnu.org>
2040
2041 * xdisp.c (init_from_display_pos): Don't compare the result
2042 of calling index with NULL.
2043
f76e0368
GM
20442001-09-06 Gerd Moellmann <gerd@gnu.org>
2045
2046 * xfns.c (x_set_background_color): Don't change the colors
2047 of the X window of scroll bar widgets.
2048
9ead1b60
AI
20492001-09-05 Andrew Innes <andrewi@gnu.org>
2050
2051 * w32fns.c (w32_createwindow): Undo last change.
2052
c3b497b3
GM
20532001-09-05 Gerd Moellmann <gerd@gnu.org>
2054
08e1d6df
GM
2055 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2056
c3b497b3
GM
2057 * xdisp.c (string_buffer_position): Use *single_char_property*
2058 functions instead of the *single_property* functions.
b56ba8de 2059
8f860180
AI
20602001-09-04 Andrew Innes <andrewi@gnu.org>
2061
9a72e4c1
GM
2062 * w32term.c (w32_read_socket): Add more information to debugging
2063 output.
8f860180
AI
2064
2065 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2066 from Emacs frames, so that calls to GetClipBox in w32term.c
2067 correctly report when part of a frame is visible (including
2068 scrollbars, etc). This prevents repeated redrawing of frames when
2069 only a scrollbar is visible.
2070 (w32_wnd_proc): Add more frame information to debugging output.
2071
2ee1aa00
SM
20722001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2073
2074 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2075
e3b22517
GM
20762001-09-03 Gerd Moellmann <gerd@gnu.org>
2077
7e376260
GM
2078 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2079 help-echo for a string which doesn't have help-echo itself, use
2080 get-char-property to obtain the help-echo from the string's buffer
2081 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2082 have mouse-face, look ``under'' the string for mouse-face from an
2083 overlay.
2084 (fast_find_position): Add parameter STOP. In the final row, stop
2085 before glyphs having STOP as object. Don't consider glyphs that
2086 are not from a buffer.
2087
e3b22517
GM
2088 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2089
9a249bba
EZ
20902001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2091
2092 * fns.c (Fmd5): Doc fix.
2093
c9979669
GM
20942001-08-31 Gerd Moellmann <gerd@gnu.org>
2095
2096 * composite.c (update_compositions): Do nothing if
2097 inhibit-modification-hooks is set.
2098
9584e63a
GM
20992001-08-30 Gerd Moellmann <gerd@gnu.org>
2100
986ec8f2 2101 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2102 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2103 glyph matrices etc. in a core dump.
2104
92a25631
GM
2105 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2106 (syms_of_xdisp): Initialize them.
2107 (handle_single_display_prop): Don't change point, bind `object',
2108 `position', and `buffer-position' instead to the object having the
2ee1aa00 2109 `display' property, position in the object and position in the buffer.
92a25631 2110
9584e63a
GM
2111 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2112 of the buffer if REPLACE is non-nil.
2113
d38633a3
GM
21142001-08-29 Gerd Moellmann <gerd@gnu.org>
2115
2116 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2117
f4fccc1e
EZ
21182001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2119
2120 * w32term.c (x_set_glyph_string_background_width)
2121 (show_mouse_face): Track the last changes in xterm.c.
2122
eaaa65b0
GM
21232001-08-28 Gerd Moellmann <gerd@gnu.org>
2124
7b0870b2
GM
2125 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2126 string's background width so that multi-line mouse-face is drawn
2127 to the right edge of the window.
2128 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2129 glyphs.
2130
6b6e2422 2131 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2132 before inserting/writing glyphs.
6b6e2422 2133
eaaa65b0
GM
2134 * xdisp.c (display_mode_element): Use string_byte_to_char to
2135 determine character positions in strings, use chars_in_text
2136 instead of strwidth.
2137 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2138 a matrix as parameter; this is easier to use from GDB.
2139
9ad62cf8
MB
21402001-08-28 Miles Bader <miles@gnu.org>
2141
2ee1aa00
SM
2142 * textprop.c (Fprevious_single_char_property_change)
2143 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2144
32171635
GM
21452001-08-27 Gerd Moellmann <gerd@gnu.org>
2146
47d57b22
GM
2147 * fileio.c (Finsert_file_contents): Allocate, restore, and
2148 free composition data in the case of REPLACE not being nil.
2149
2150 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2151 there exist overlay strings with newlines at POS.
2152 (text_outside_line_unchanged_p): Return 0 if changes start at
2153 START and overlays exist at START. Likewise for END.
2154 (try_window_id): Give up if init_to_row_end returns 0.
2155
32171635
GM
2156 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2157 unconditionally.
2158
e1249666
GM
21592001-08-24 Gerd Moellmann <gerd@gnu.org>
2160
33954c45
GM
2161 * keymap.c (access_keymap): Return the cdr of the binding of
2162 a generic character instead of its definition (KEY . BINDING).
2163
e1249666
GM
2164 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2165 to 0 also in the REPLACE case.
2166
fb4c6c96
AC
21672001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2168
2169 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2170 open to determine whether file is readable (as for DOS_NT).
2171
59ecf80b
GM
21722001-08-23 Gerd Moellmann <gerd@gnu.org>
2173
2174 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2175 coding.type is coding_type_no_conversion or coding_type_raw_text,
2176 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2177 non-nil instead of just setting enable_multibyte_characters in the
2178 buffer to nil.
2179
40e33037
GM
21802001-08-22 Gerd Moellmann <gerd@gnu.org>
2181
374388c3
GM
2182 * dispextern.h (struct face_cache): Add member
2183 menu_face_changed_p.
2184
2185 * xfaces.c (menu_face_changed_default): New variable.
2186 (menu_face_changed_count): Variable removed.
2187 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2188 the menu_face_changed_default flag, otherwise set the FRAME's
2189 menu_face_changed_p flag if the `menu' face has been changed.
2190 Prevent calling set_font_frame_param if FRAME is t.
2191 (make_face_cache): Initialize cache's menu_face_changed_p
2192 from menu_face_changed_default.
2193 (realize_basic_faces): Look into the frame's face cache to
2194 determine if the menu appearance needs updating.
2195
40e33037
GM
2196 * keymap.c (access_keymap): Fix last change to not consider
2197 IDX when it has modifiers.
2198
859ea4b8
GM
21992001-08-21 Gerd Moellmann <gerd@gnu.org>
2200
2201 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2202 . BINDING) exists, where GENERIC-CHAR is the generic character of
2203 the charset of IDX, return BINDING unless there exists a binding
2204 for IDX itself.
2205
e8660d73
GM
22062001-08-16 Gerd Moellmann <gerd@gnu.org>
2207
cca1b1d7
GM
2208 * xrdb.c (SYSV): Don't define on Solaris 2.
2209 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2210
e8660d73 2211 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2212 of the screen line, not text line, containing IT's current position.
e8660d73 2213
93aba6fc
GM
22142001-08-15 Gerd Moellmann <gerd@gnu.org>
2215
288d4e06
GM
2216 * window.c (window_scroll_pixel_based): Don't recenter if
2217 PT is partially visible in the window.
2218
3452efc2
SM
2219 * xterm.c (expose_window_tree, expose_window, expose_line):
2220 Return 1 when overwriting mouse-face.
82f053ab
GM
2221 (expose_frame): If mouse-face was overwritten, redo it.
2222
93aba6fc
GM
2223 * xfaces.c (x_update_menu_appearance): Don't call
2224 set_frame_menubar, let the next redisplay do it.
2225
858a55c1
AI
22262001-08-14 Andrew Innes <andrewi@gnu.org>
2227
2228 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2229 drawing glyph string.
2230
3a990b67
EZ
22312001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2232
2233 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2234 running HI-UX/MPP.
2235
04386463
GM
22362001-08-14 Gerd Moellmann <gerd@gnu.org>
2237
2238 * xfaces.c (x_update_menu_appearance): Save and restore value of
2239 interrupt_input_blocked.
2240
3e6385a4
GM
22412001-08-13 Gerd Moellmann <gerd@gnu.org>
2242
b0e619b4
GM
2243 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2244 a line start, move back to the line start.
3452efc2 2245
0de73d5a
GM
2246 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2247 exactly when a mini-buffer is active.
2248
3e6385a4
GM
2249 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2250 in units of 1/8 character on non window-system frames.
2251 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2252
d1b5f629
EZ
22532001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2254
2255 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2256 a doc string.
2257
eaa2319f
GM
22582001-08-09 Gerd Moellmann <gerd@gnu.org>
2259
8e3189f0
GM
2260 * keyboard.c (Vpre_help_message): New variable.
2261 (syms_of_keyboard): Initialize and staticpro it.
2262 (show_help_echo): Record current message before displaying a
2263 help-echo, and restore that message when clearing the help.
2264
eaa2319f
GM
2265 * xfns.c (x_create_im): Remove prototype.
2266
2267 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2268
2269 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2270
eaa2319f
GM
22712001-08-08 Gerd Moellmann <gerd@gnu.org>
2272
2273 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2274 windows whose height has changed, disable partially visible lines.
eaa2319f 2275
17fdcfc8
GM
22762001-08-07 Gerd Moellmann <gerd@gnu.org>
2277
22d01aed 2278 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2279 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2280
17fdcfc8
GM
2281 * xdisp.c (start_display): Don't try to determine the continuation
2282 lines width if lines are truncated. It's superfluous and leads to
2283 incorrect results if POS is not visible in the window after
2284 reseating the iterator at the previous line start.
2285
8e3fe78e
GM
22862001-08-06 Gerd Moellmann <gerd@gnu.org>
2287
2288 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2289
98a8938c
GM
22902001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2291
2292 * alloc.c (init_stack): Remove declaration.
2293
18f9986a
GM
22942001-08-03 Gerd Moellmann <gerd@gnu.org>
2295
5e1f85e0
GM
2296 * keyboard.c (read_key_sequence): Check that key is an integer
2297 before comparing it with quit_char.
2298 (add_command_key): Use larger_vector.
2299 (read_char_x_menu_prompt): Instead of converting symbol and
2300 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2301 which cannot be confused with valid events.
5e1f85e0
GM
2302 (read_char): When reading from Vunread_command_events, check for
2303 events of the form (EVENT . disabled) instead of
2304 (EVENT . nil).
2305
18f9986a
GM
2306 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2307 a float, determine the max height from the frame's height.
2308
fbc7f2a6
GM
23092001-08-02 Gerd Moellmann <gerd@gnu.org>
2310
2311 * xdisp.c (redisplay_internal): Take message_cleared_p into
2312 account only if minibuf_level == 0.
2313
81b1a79d
GM
23142001-08-01 Gerd Moellmann <gerd@gnu.org>
2315
e5c60873
GM
2316 * xdisp.c (redisplay_internal): Add a check for the last
2317 displayed message.
3452efc2 2318
6e019995
GM
2319 * xdisp.c (message_cleared_p): New variable.
2320 (clear_message): Set message_cleared_p when clearing the current
2321 message.
2322 (redisplay_internal): Look at message_cleared_p to capture
2323 the case that the echo area should be cleared.
2324
308a74d8
GM
2325 * keyboard.c (command_loop_1): Fix spelling of
2326 resize_echo_area_exactly.
2327
3452efc2 2328 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2329
2330 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2331
81b1a79d
GM
2332 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2333 current matrix when the window gets smaller.
2334
ada329e6
EZ
23352001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2336
2337 * print.c (strout): Cast the character passed to insert_char to
2338 unsigned char, to avoid sign extension when it is promoted to int.
2339
ed86208c
GM
23402001-07-31 Gerd Moellmann <gerd@gnu.org>
2341
2342 * fileio.c (Finsert_file_contents): Don't treat a return value
2343 of 0 from emacs_read as an IO error.
2344
6594ac22
GM
23452001-07-30 Gerd Moellmann <gerd@gnu.org>
2346
cef68af5
GM
2347 * keyboard.c (abs): New macro.
2348 (double_click_fuzz): New variable.
2349 (make_lispy_event): Use it to determine what makes a double-click.
2350 (syms_of_keyboard): DEFVAR_INT it.
2351
6594ac22
GM
2352 * xmenu.c (set_frame_menubar): Take into account that
2353 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2354 <raeburn@gnu.org>.
2355
75c5350a
GM
23562001-07-27 Gerd Moellmann <gerd@gnu.org>
2357
2358 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2359
2360 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2361 of row's visible height.
2362
2363 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2364 deal with the first overlay string having an image `display' property.
2365 (try_window_reusing_current_matrix, compute_line_metrics):
2366 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2367 row is invisible above and part of the row is at the same time
2368 invisible below the window.
2369
ac49effe
GM
23702001-07-26 Gerd Moellmann <gerd@gnu.org>
2371
2372 * xfns.c (x-show-tip): Doc fix.
3452efc2 2373
ac49effe
GM
2374 * xfns.c (Vx_max_tooltip_size): New variable.
2375 (syms_of_xfns): DEFVAR_LISP it.
2376 (Fx_show_tip): Set frame's window_width to the width of the
2377 window. Use a maximum tooltip size specified by
2378 Vx_max_tooltip_size, if that has valid contents.
2379 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2380
8c3b00cb
AI
23812001-07-26 Andrew Innes <andrewi@gnu.org>
2382
2383 * w32term.c (x_display_list): New variable.
2384 (w32_term_init): Set it.
2385
2386 * w32term.h (x_display_list): New extern.
2387
16098288
GM
23882001-07-26 Gerd Moellmann <gerd@gnu.org>
2389
2390 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2391 is non-nil, instead of when redisplaying_p is non-zero.
2392 See comment there.
16098288
GM
2393 (mark_window_display_accurate_1): Add an assertion.
2394
64c5be50
GM
23952001-07-25 Gerd Moellmann <gerd@gnu.org>
2396
e743f599
GM
2397 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2398
563b384d
GM
2399 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2400 events so that we get a chance of processing expose events.
2401
64c5be50
GM
2402 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2403
296808a5
GM
24042001-07-24 Gerd Moellmann <gerd@gnu.org>
2405
2406 * xfns.c (valid_image_p): Protect better against invalid image
2407 specifications. Previous code could signal an error.
2408
5247262a
GM
24092001-07-23 Gerd Moellmann <gerd@gnu.org>
2410
3452efc2 2411 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2412 presence of display table entries.
2413 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2414
dd42b31a
GM
2415 * dispnew.c (adjust_glyph_matrix): In the optimization for
2416 windows whose height has changed, use the new window height
2417 to compute which rows to invalidate.
2418
9e5a7f2a
GM
2419 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2420 (MAX_10_EXP): New macro.
2421 (Fformat): Use it.
2422
5247262a
GM
2423 * coding.c (code_convert_region): Handle the multibyte case if
2424 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2425
177ab8ce
GM
24262001-07-20 Gerd Moellmann <gerd@gnu.org>
2427
6e07c0a5
GM
2428 * dispextern.h (struct face): Change type of `stipple' to
2429 int; it's an ID.
2430
177ab8ce
GM
2431 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2432
b5b80599
GM
24332001-07-19 Gerd Moellmann <gerd@gnu.org>
2434
4e2a256b
GM
2435 * dispnew.c (update_window): Don't set the cursor at the end
2436 of the update if display update has been paused.
2437
3452efc2 2438 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2439
c1fd9232
KR
24402001-07-18 Ken Raeburn <raeburn@gnu.org>
2441
2442 * fns.c (Fset_char_table_default): Check that a charset is defined
2443 before checking its dimension.
2444
928a85c1
KR
24452001-07-17 Ken Raeburn <raeburn@gnu.org>
2446
2447 * coding.c (setup_coding_system): Don't do any designation based
2448 on reg_bits if charset is not yet defined.
2449
fb4c6c96 2450 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2451 pointer, using eassert.
2452
de11c1ea
GM
24532001-07-17 Gerd Moellmann <gerd@gnu.org>
2454
3452efc2
SM
2455 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2456 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2457
467f1209
GM
24582001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2459
2460 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2461
c3d6be34
GM
24622001-07-16 Gerd Moellmann <gerd@gnu.org>
2463
c1d61a7d
GM
2464 * fileio.c (unwind_read): Function removed.
2465 (read_non_regular, read_non_regular_quit): New functions.
2466 (Finsert_file_contents): When reading from non-regular files,
2467 arrange to catch a `quit' and terminate the loop. Rearrange
2468 code so that a `quit' when reading from a regular file doesn't
2469 insert text in the buffer.
2470
c3d6be34
GM
2471 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2472 Clear faces afterwards.
2473 (clear_font_table): Take a x_display_info parameter. Don't free
2474 fonts being the default font of any frame on the given display.
2475
e06aa1f9
GM
24762001-07-13 Gerd Moellmann <gerd@gnu.org>
2477
2478 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2479 instead of CHAR_STRING which can signal an error.
2480
2481 * charset.c (char_to_string_1): Extracted from char_to_string.
2482 Return -1 instead of signaling an error.
2483 (char_to_string): Use it.
2484
2485 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2486
176c92e6
SM
24872001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2488
2489 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2490 is t, don't try to append anything to it.
2491
1c56232f
EZ
24922001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2493
2494 * dired.c (file_name_completion): Pass dp->d_name to
2495 Fstring_match, not elt, which is always nil here.
2496
1d2b2268
GM
24972001-07-12 Gerd Moellmann <gerd@gnu.org>
2498
2499 * xselect.c (x_decline_selection_request): Handle errors
2500 caused by receivers that have vanished.
2501
2502 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2503 ignoring events on foreign windows in #if 0. Always dispatch
2504 the event after checking it with x_handle_property_notify.
2505
2506 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2507 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2508 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2509 (toplevel): Add prototypes for file-local functions.
2510 (x_atom_to_symbol): Remove DPYINFO parameter.
2511
fe5a0162
SM
25122001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2513
2514 * w32menu.c (menubar_selection_callback, w32_menu_show):
2515 Initialize `entry' to nil.
2516 (w32_dialog_show): Remove unused `save_wv' variable.
2517 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2518
a777242c
GM
25192001-07-11 Gerd Moellmann <gerd@gnu.org>
2520
8ee5b6a3
GM
2521 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2522
d0e2444e
GM
2523 * fileio.c (unwind_read): Print a message when discarding inserted
2524 text or switching the buffer to unibyte. Change parameter.
2525 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2526
a777242c
GM
2527 * fileio.c (unwind_read): New function.
2528 (Finsert_file_contents): Record it as unwind-function for
2529 the case that reading is interrupted by C-g.
2530
ae794295
GM
25312001-07-10 Gerd Moellmann <gerd@gnu.org>
2532
fe5a0162 2533 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2534 update when scrolling_window returns 0.
2535
6b05fae3
GM
2536 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2537
2538 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2539 for the case that x_decode_color signals an error.
6b05fae3 2540
ae794295
GM
2541 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2542
bb6e8cee
GM
25432001-07-09 Gerd Moellmann <gerd@gnu.org>
2544
2545 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2546 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2547 around ioctls.
2548
36b40a8a
EZ
25492001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2550
24b97d4b
EZ
2551 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2552 doc string line for dos-timezone-offset.
2553
36b40a8a
EZ
2554 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2555 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2556 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2557 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2558
2559 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2560
0967b4b0
GM
25612001-07-05 Gerd Moellmann <gerd@gnu.org>
2562
f25cfe53
GM
2563 * sound.c: Include Emacs' header files with #include "...".
2564
0967b4b0
GM
2565 * eval.c (specbind): Additionally record the buffer that was
2566 current when a buffer-local or frame-local variable was bound.
2567
c347a1c3
GM
25682001-07-04 Gerd Moellmann <gerd@gnu.org>
2569
2570 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2571 to unibyte characters in unibyte buffers.
2572
6332ca8a
GM
25732001-07-03 Gerd Moellmann <gerd@gnu.org>
2574
38472d44
GM
2575 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2576 the frame on the binding stack. Change format of entries for
2577 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2578 (unbind_to): Handle unbinding a frame-local variable.
2579
6332ca8a 2580 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2581 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2582 (dump_glyph_row): Print row's continuation_lines_width.
2583 (try_window_id): Take the shortcut if ZV is visible in the
2584 window, but there are actually no changes at ZV.
2585
63d1b174
GM
25862001-07-02 Gerd Moellmann <gerd@gnu.org>
2587
4c175203
GM
2588 * xterm.h (x_free_dpy_colors): Add prototype.
2589
2590 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2591 right number of arguments.
2592
0b54ce28
GM
2593 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2594 ($(lwlibdir)TAGS): New target.
4c175203 2595 (TAGS): Fix dependency list.
0b54ce28 2596
63d1b174
GM
2597 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2598 with input blocked.
2599
d827466c
GM
26002001-06-30 Gerd Moellmann <gerd@gnu.org>
2601
2602 * emacs.c (main): Remove extern declaration for sys_nerr, which
2603 isn't used and causes a compilation error with GCC 3.0 on
2604 FreeBSD 4.3.
2605
b5cb1ada
GM
26062001-06-27 Gerd Moellmann <gerd@gnu.org>
2607
a5d3ec3f 2608 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2609 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2610 (toplevel): Include <signal.h> and syssignal.h.
2611
b5cb1ada
GM
2612 * sound.c (vox_configure, vox_close): Turn off atimers
2613 around ioctls.
2614
d9bad487
GM
26152001-06-26 Gerd Moellmann <gerd@gnu.org>
2616
fdbb67fe
GM
2617 * keyboard.c (read_char) <non_reread>: Record the previous idle
2618 start time before calling timer_stop_idle.
2619 (read_char) <reread_first>: After processing a help-echo event,
2620 restore the previous idle start time.
2621
d9bad487
GM
2622 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2623 the start of invisible text.
2624 (setup_for_ellipsis): New function.
2625 (next_overlay_string): After all overlay strings have been
2626 processed, display an ellipsis if necessary.
2627 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2628 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2629
2630 * dispextern.h (struct iterator_stack_entry): Add member
2631 display_ellipsis_p.
2632
2b9c25e0
GM
26332001-06-25 Gerd Moellmann <gerd@gnu.org>
2634
80de57df
GM
2635 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2636 on the value of the wait-for-wm frame parameter.
2637
2638 * xterm.h (struct x_output): Add member wait_for_wm.
2639
2640 * xfns.c (Qwait_for_wm): New variable.
2641 (x_frame_parms): Add entry for `wait-for-wm".
2642 (x_set_wait_for_wm): New function.
2643 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2644 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2645
2b9c25e0
GM
2646 * xdisp.c (try_window_id) <all changes below window end>: Don't
2647 take this shortcut if ZV is visible in the window.
2648 (try_window_id): When checking for window start being in changed
2649 text, don't check that the buffer's size has changed.
2650
f772775c
RS
26512001-06-23 Richard M. Stallman <rms@gnu.org>
2652
2653 * minibuf.c (Fcompleting_read): Doc fix.
2654
fa9090b8
GM
26552001-06-19 Gerd Moellmann <gerd@gnu.org>
2656
2657 * composite.c (Ffind_composition_internal): Accept ZV
2658 and a string's end position as POS.
2659
f6f1beba
GM
26602001-06-18 Gerd Moellmann <gerd@gnu.org>
2661
2662 * composite.c (Ffind_composition_internal): Check POS
2663 for validity.
2664
0ae83348
EZ
26652001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2666
2667 * editfns.c (Fmessage_box): If the frame is not under a window
2668 system, output the message in the echo area.
2669
e4cdc335
RS
26702001-06-14 Richard M. Stallman <rms@gnu.org>
2671
2672 * xdisp.c (try_window_id): When EOB is visible, don't treat
2673 insertion at EOB as if it were "off the bottom of the screen."
2674
a55a5f3c
AI
26752001-06-11 Andrew Innes <andrewi@gnu.org>
2676
2677 * w32proc.c (create_child): Add new parameter is_gui_app.
2678 (w32_executable_type): Add new parameter is_gui_app.
2679 (sys_spawnve): Use it.
2680 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2681 SIGQUIT. This matches better how the signals are interpreted by
2682 MSVC compiled programs.
2683 (syms_of_ntproc): Update docstring.
2684
1b85dc1c
SM
26852001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2686
2687 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2688 well otherwise note_mouse_highlight might optimize away highlighting
2689 if we pass over that same overlay again.
2690
b75f8eab
EZ
26912001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2692
2693 * lread.c (Fload): Document that the argument is run via
2694 substitute-in-file-name.
2695
94843cc1
GM
26962001-05-31 Gerd Moellmann <gerd@gnu.org>
2697
b14659e6
GM
2698 * Makefile.in (bootstrap-doc): New target.
2699 (bootstrap-emacs): Depend on it.
2700
0894672f
GM
2701 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2702 auto-save-list-file-name when shutting down Emacs, because
2703 creating the directory might signal an error, and leaves
2704 Emacs in a strange state.
2705
94843cc1
GM
2706 * term.c: (tty_cursor_hidden): New variable.
2707 (update_begin): Don't call tty_hide_cursor. Clean up.
2708 (update_end, set_terminal_window, set_scroll_region): Clean up.
2709 (ring_bell, reset_terminal_modes): Clean up.
2710 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2711 on tty_cursor_hidden.
2712 (write_glyphs): Call tty_hide_cursor.
2713
db3a49a6
SM
27142001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2715
2716 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2717
8bd189fb
GM
27182001-05-30 Gerd Moellmann <gerd@gnu.org>
2719
6f1be3b9
GM
2720 * xfns.c (enum image_value_type): New enumerator
2721 IMAGE_STRING_OR_NIL_VALUE.
2722 (parse_image_spec): Handle it.
2723 (xbm_format, pbm_format): Use it for :foreground and :background.
2724 (xbm_load, pbm_load): Check for nil color names.
2725
8bd189fb
GM
2726 * xterm.c (note_mouse_highlight): If an overlapping overlay
2727 exists, but we find that we highlight the same overlay as before,
2728 don't do the highlighting again.
2729
7bdba03c
GM
27302001-05-29 Gerd Moellmann <gerd@gnu.org>
2731
4c329aa8
GM
2732 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2733 Protect unibyte strings created by replacing their multibyte
2734 equivalents in menu_items.
2735
e15e2828
GM
2736 * keymap.c (Fsingle_key_description): NUL-terminate the string
2737 buffer before calling build_string.
2738
7bdba03c
GM
2739 * callproc.c (Fcall_process): Deal with decode_coding returning
2740 CODING_FINISH_INCONSISTENT_EOL.
2741
89c8dc6c
GM
27422001-05-28 Gerd Moellmann <gerd@gnu.org>
2743
db3a49a6 2744 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2745 an item's name with its key description in case the description
2746 is a multibyte string.
2747
2748 * keymap.c (Fsingle_key_description): Create a multibyte string
2749 only if necessary.
2750
eb04d6cd
GM
2751 * macros.c (Fstart_kbd_macro): Doc fix.
2752
8bd6307f
GM
2753 * xterm.c (cursor_in_mouse_face_p): New function.
2754 (x_draw_stretch_glyph_string): Use it to choose a different GC
2755 when drawing a cursor within highlighted text.
2756
e26c4089
GM
2757 * editfns.c (char_property_eq): Put in #if 0.
2758
2759 * indent.c (string_display_width): Put in #if 0.
2760
2761 * lread.c (Fload): Remove unused label.
2762
89c8dc6c
GM
2763 * termcap.c (speeds): Put in #if 0.
2764
9a1211f2
GM
27652001-05-18 Gerd Moellmann <gerd@gnu.org>
2766
29148a3f
GM
2767 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2768
9a1211f2
GM
2769 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2770 transformation matrix by 10.
2771
09393d07
GM
27722001-05-16 Gerd Moellmann <gerd@gnu.org>
2773
2774 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2775 only if it's equal to the former foreground pixel color.
db3a49a6 2776 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2777 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2778
460e6bae
GM
27792001-05-16 Dave Love <fx@gnu.org>
2780
2781 * insdel.c (signal_before_change, signal_after_change): Consider a
2782 local change hook which changes the buffer.
99c78ce8
GM
2783
2784 * process.c (read_process_output): Don't call signal_after_change
2785 and update_compositions after insert_from_string_before_markers.
2786
dbcf3c03
GM
27872001-05-16 Gerd Moellmann <gerd@gnu.org>
2788
a90b3d3c
GM
2789 * xfaces.c (split_font_name): Use the right field when
2790 checking for `[...]' syntax.
2791
1b7818b4
GM
2792 * buffer.c (copy_overlays): New function.
2793 (clone_per_buffer_values): Use it.
2794
2795 * buffer.h (OVERLAY_PLIST): New macro.
2796
9bae8781
GM
2797 * keymap.c (Fsingle_key_description): Replace a build_string with
2798 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2799
dbcf3c03
GM
2800 * fontset.c (Ffontset_info): Check that face is non-null
2801 before accessing its fields.
2802
8a1ae4dd
GM
28032001-05-15 Gerd Moellmann <gerd@gnu.org>
2804
18a0a39e
GM
2805 * keyboard.c (read_key_sequence): Prevent generating a fake
2806 prefix key twice.
2807
e335b66a
GM
2808 * xfaces.c (split_font_name): Handle `[...]' for the right
2809 font name fields.
2810
8a1ae4dd
GM
2811 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2812 of CCL_STAT_INVALID_CMD.
2813
3cf80731
SM
28142001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2815
33568849
SM
2816 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2817 in <var> has no default value yet.
2818
3cf80731
SM
2819 * xfaces.c (try_alternative_families): First try the FAMILY.
2820 And if nothing is found in the end, try again with scalable fonts.
2821 (try_font_list): Let try_alternative_families do a bit more of
2822 the work. Only use FAMILY if it is not nil.
2823 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2824
933b0249
GM
28252001-05-14 Gerd Moellmann <gerd@gnu.org>
2826
58e5af83
GM
2827 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2828 pointer shape when show_mouse_face has already done it.
33568849 2829
58e5af83 2830 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2831 full-width rows.
2832
7b16a6bf
GM
2833 * xfaces.c (split_font_name): Make sure to leave the loop
2834 with the right value of `i'.
3cf80731 2835
933b0249
GM
2836 * xfaces.c (split_font_name): Handle matrix transformations
2837 in the pixel and point size fields of XLFD font names.
2838 (xlfd_point_size): Likewise.
2839
dddcbf00
EZ
28402001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2841
3cf80731 2842 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2843 (x_to_w32_font): Add prototype.
2844
7689ef0b
EZ
2845 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2846 redefining, to avoid compiler warnings.
2847
e7c15bba
EZ
2848 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2849
dddcbf00
EZ
2850 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2851 (w32_get_bdf_glyph): Cast between unsigned char and char when
2852 passing arguments to subroutines, to shut up compiler warnings.
2853 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2854 GET_HEX_VAL.
2855
2856 * xfaces.c: Include keyboard.h before frame.h, not after it.
2857
2858 * widget.c: Include keyboard.h before frame.h.
2859
2860 * w32term.h (struct image, struct face): Forward declaration, to
2861 avoid compiler warnings.
2862
7bd2d083
GM
28632001-05-11 Gerd Moellmann <gerd@gnu.org>
2864
47e72862
GM
2865 * keyboard.c (read_key_sequence): Don't modify events when
2866 generating fake prefix keys (mode-line, scroll-bar, ...) since
2867 this prevents proper processing of such events when pushed back
2868 into unread-command-events.
2869
dd5f324b
GM
2870 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2871 actually redrawn. Make the function static.
2872 (note_mouse_highlight): Fix a case where the mouse cursor
2873 was changed back to the text cursor.
2874
2875 * xterm.h (clear_mouse_face): Remove prototype.
2876
d88a79d4
GM
2877 * xdisp.c (try_window_id): Fix the fix and set the right
2878 window_end_vpos.
2879
2880 * xdisp.c (try_window_id): Fix computation of window end in the
2881 case that lines were deleted at the end of the window. Add some
2882 more debug_method_adds.
0416532f 2883
7bd2d083
GM
2884 * xfaces.c (try_alternative_families): New function.
2885 (try_font_list): Use it. If ATTRS specifies a family, check
2886 fonts from that family first.
2887 (choose_face_font): Remove code setting the family part of
2888 the pattern to nil.
2889
23fca891
GM
28902001-05-10 Gerd Moellmann <gerd@gnu.org>
2891
ff9aa2ca
GM
2892 * xdisp.c (try_window_id): Fix case of all changes before
2893 the window start.
7b2654b5 2894
23fca891
GM
2895 * xdisp.c (try_window_id): Add some xasserts.
2896
e9726794
GM
28972001-05-09 Gerd Moellmann <gerd@gnu.org>
2898
2899 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2900
9e53a675
GM
29012001-05-09 Dave Love <fx@gnu.org>
2902
2903 * xdisp.c (GIVE_UP): Fix for K&R C.
2904
0d487c52
GM
29052001-05-09 Gerd Moellmann <gerd@gnu.org>
2906
fe88d421
GM
2907 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2908
0d487c52
GM
2909 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2910 back to the text cursor shape without need.
2911
1e9fc92e
GM
29122001-05-07 Gerd Moellmann <gerd@gnu.org>
2913
a2a6232e
GM
2914 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2915
2916 * dispextern.h (inverse_video): Declare extern.
2917
1e9fc92e
GM
2918 * keyboard.c (delete_kboard): Handle the case that selected_frame
2919 has been deleted in the course of x_connection_closed.
2920
12949a7f
EZ
29212001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2922
7b2654b5
SM
2923 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2924 Fix the change from 2001-04-30.
12949a7f 2925
2fa2f461
GM
29262001-05-03 Gerd Moellmann <gerd@gnu.org>
2927
a779d213
GM
2928 * xfns.c (file_dialog_unmap_cb): New function.
2929 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2930 where a dialog is closed via the window manager.
2931
7b2654b5 2932 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2933 the window start or all below the window end mostly rewritten.
2934 (redisplay_window): Move the tests if try_window_id is
2935 applicable to try_window_id.
2936 (GIVE_UP): New macro.
2937
3356df63
GM
29382001-05-02 Gerd Moellmann <gerd@gnu.org>
2939
a39202f6 2940 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2941 currently being updated, mark the frame garbaged.
2942 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2943 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2944
3356df63
GM
2945 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2946 again if it has already been drawn.
2947
a9d2fd1d
SM
29482001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2949
2950 * syntax.c (update_syntax_table): Check that oldi has the same
2951 properties as old_prop before deciding not to invalidate.
2952
c95fc5f1
GM
29532001-04-30 Gerd Moellmann <gerd@gnu.org>
2954
a9793e45
GM
2955 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2956 read-only text that is so because of text properties.
2957
c95fc5f1 2958 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2959 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2960 windows that are components of a Lucid menu bar.
2961
5a5d9185
GM
29622001-04-27 Gerd Moellmann <gerd@gnu.org>
2963
2964 * term.c (turn_on_face): Fix reverse video handling on terminals
2965 that don't support colors.
2966
ba973f7a
GM
29672001-04-26 Gerd Moellmann <gerd@gnu.org>
2968
2969 * editfns.c (save_excursion_restore): Don't use XBUFFER on
2970 a non-buffer.
2971
8c56a983
GM
29722001-04-25 Gerd Moellmann <gerd@gnu.org>
2973
a728644c
GM
2974 * term.c (toggle_highlight): New function.
2975 (turn_on_face): Change handling of reverse video.
2976
7b2654b5
SM
2977 * process.c (wait_reading_process_input):
2978 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 2979
bfd8410f
GM
2980 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
2981 of the number of overlays to check.
2982
be2488ca
GM
2983 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
2984
8c56a983
GM
2985 * xdisp.c (try_window_id): Fix a case where window_end_pos
2986 and window_end_bytepos were not adjusted.
2987
522d42f7
GM
29882001-04-23 Gerd Moellmann <gerd@gnu.org>
2989
2990 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
2991 zero instead of -1.
2992
78c1afb6
EZ
29932001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
2994
a9d2fd1d
SM
2995 * process.c (wait_reading_process_input) [!subprocesses]:
2996 Don't reference waiting_for_user_input_p, it's not defined in the
2997 branch without async subprocesses support.
78c1afb6 2998
a2fab450
GM
29992001-04-19 Gerd Moellmann <gerd@gnu.org>
3000
a122a38e
GM
3001 * keyboard.c (delete_kboard): Prevent a dangling reference
3002 from current_kboard to KB, which is freed.
3003
a9d2fd1d
SM
3004 * process.c (wait_reading_process_input):
3005 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3006 read_key_sequence aware of buffer changes from under it.
3007
0f8d6dc7
GM
30082001-04-18 Gerd Moellmann <gerd@gnu.org>
3009
eeffb293
GM
3010 * xfaces.c (Qscalable_fonts_allowed): New variable.
3011 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3012 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3013 removed.
eeffb293 3014 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3015 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3016 for scalable-fonts-allowed to t.
eeffb293 3017
0f8d6dc7
GM
3018 * fileio.c (Finsert_file_contents): If the file size returned from
3019 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3020 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3021
eec2d1de
EZ
30222001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3023
3024 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3025 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3026 (__memalign_hook): Make the two prototypes consistent.
3027
f4f480bd
GM
30282001-04-17 Gerd Moellmann <gerd@gnu.org>
3029
3030 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3031 matrix of mini-windows.
3032
52283633
SM
30332001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3034
3035 * intervals.c (find_interval): Don't rebalance during signal handling.
3036
ec2423c9
GM
30372001-04-11 Gerd Moellmann <gerd@gnu.org>
3038
30cb0001 3039 * fns.c: Include blockinput.h.
52283633 3040
ec2423c9
GM
3041 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3042
719d83ad
GM
30432001-04-10 Gerd Moellmann <gerd@gnu.org>
3044
60f8d735
GM
3045 * fns.c (Fcompare_strings): Fix return values.
3046
afffeb57
GM
3047 * window.c (window_scroll): Change the meaning of N to mean
3048 N screen-fulls or N lines.
3049 (window_scroll_pixel_based, window_scroll_line_based)
3050 (scroll_command, Fscroll_other_window): Change accordingly.
3051
52283633
SM
3052 * window.c (window_scroll_pixel_based, Frecenter):
3053 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3054 height of the window.
3055
3056 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3057 instead of using it.last_visible_y for the height of the window.
52283633 3058
719d83ad 3059 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3060 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3061
3062 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3063 able to write to hidden and system files. From Dan Holmsand
3064 <dan@eyebee.com>.
719d83ad 3065
8ddf3ee1
GM
3066 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3067 Holmsand <dan@eyebee.com>.
719d83ad 3068
522ed7fb
GM
30692001-04-09 Gerd Moellmann <gerd@gnu.org>
3070
9170e5d4
GM
3071 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3072
522ed7fb
GM
3073 * window.c (window_internal_height): Return 1 less if the
3074 window has a header line.
3075
3076 * xdisp.c (try_window_id): When scrolling on a terminal, take
3077 the change of window_internal_height into account.
3078
ceeb3d7d
EZ
30792001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3080
3081 * gmalloc.c (align): If the argument SIZE would overflow
3082 __malloc_ptrdiff_t, fail right away.
3083
63685b9d
GM
30842001-04-06 Gerd Moellmann <gerd@gnu.org>
3085
3086 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3087 Make sure the tooltip is completely visible.
3088 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3089
3090 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3091
3092 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3093
3ffb33bb
DL
30942001-04-06 Dave Love <fx@gnu.org>
3095
52283633
SM
3096 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3097 Fix test of `from'.
3ffb33bb 3098
869fb12c
GM
30992001-04-06 Gerd Moellmann <gerd@gnu.org>
3100
52283633 3101 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3102
869fb12c
GM
3103 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3104
441bf856
GM
31052001-04-05 Gerd Moellmann <gerd@gnu.org>
3106
4d664b04
GM
3107 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3108
52283633 3109 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3110
30ca89f5
GM
3111 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3112 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3113
3114 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3115 shell widget's position only if it is non-null.
3116
52283633
SM
3117 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3118 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3119
81a81c0f
GM
3120 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3121 FILENAME to bring it in synch with the documentation.
3122
441bf856
GM
3123 * xfaces.c (realizing_basic_faces_p): Renamed from
3124 realize_default_face_p.
3125 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3126 (realize_default_face): Don't set the flag.
3127
702a1e8e
GM
31282001-04-04 Gerd Moellmann <gerd@gnu.org>
3129
1013f4e3
GM
3130 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3131
52283633
SM
3132 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3133
1013f4e3
GM
3134 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3135 the buffer that was used for echoing.
3136
702a1e8e
GM
3137 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3138 (first_font_matching): Removed unused function.
3139 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3140 (may_use_scalable_font_p): Remove parameter FONT; rename
3141 parameter NAME to FONT.
3142 (x_face_list_fonts): Fix missing bounds check.
3143 (realizing_default_face_p): New variable.
3144 (realize_default_face): Set and clear that flag.
3145 (x_face_list_fonts): When called during the realization of the
3146 default face, and no matching fonts are found when ignoring
3147 scalable fonts and fonts matching a regexp from
3148 face-ignored-fonts, try without ignoring fonts.
3149
f9dbcda4
GM
31502001-04-03 Gerd Moellmann <gerd@gnu.org>
3151
ad18ffb1
GM
3152 * xfns.c (postprocess_image): New function.
3153 (lookup_image): Call it for all image types except PostScript.
3154 (x_kill_gs_process): Call postprocess_image.
3155
f9dbcda4
GM
3156 * xterm.c (x_use_underline_position_properties): New variable.
3157 (x_draw_glyph_string): Use it.
3158 (syms_of_xterm): DEFVAR_BOOL it.
3159
651f03b6
GM
31602001-04-02 Gerd Moellmann <gerd@gnu.org>
3161
3162 * xterm.c (x_alloc_nearest_color_1): New function.
3163 (x_alloc_nearest_color): Use it.
3164 (x_color_cells): Take a Display as argument, instead of a frame.
3165 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3166 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3167 (x_initialize): Register cvt_string_to_pixel as resource converter
3168 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3169
73d75a62
GM
31702001-03-30 Gerd Moellmann <gerd@gnu.org>
3171
b2046df8
GM
3172 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3173 (set_iterator_to_next): If a string from a display property ends,
3174 consider the case that this might also be the end of an
3175 overlay string having the display property.
3176
52283633 3177 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3178
87d8eba4
GM
3179 * xdisp.c (reseat_to_string): Undo last change.
3180
73d75a62
GM
3181 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3182 matrix of a window when the header line changes, when
3183 new rows are allocated, or when the width changes.
3184
911a2406
EZ
31852001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3186
52283633 3187 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3188
aea51abe
EZ
31892001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3190
3191 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3192 deprecated.
3193
176bc847
GM
31942001-03-29 Gerd Moellmann <gerd@gnu.org>
3195
ed31fabf
GM
3196 * data.c (Fsubr_interactive_form): New function.
3197 (syms_of_data): Defsubr it.
3198
176bc847
GM
3199 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3200 (live_float_p, live_misc_p): Return 1 only if the offset of the
3201 pointer in its block is >= 0.
3202
e59d0e9d
GM
32032001-03-28 Paul Eggert <eggert@twinsun.com>
3204
3205 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3206 microseconds calcuation. Avoid double-rounding problem.
3207 In doc string, warn that the result is approximate.
3208
f827b862
GM
32092001-03-28 Gerd Moellmann <gerd@gnu.org>
3210
30a3f61c
GM
3211 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3212 bind `inhibit-eval-during-redisplay' to t.
3213
3214 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3215
3216 * xdisp.c (inhibit_eval_during_redisplay)
3217 (Qinhibit_eval_during_redisplay): New variables.
3218 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3219 don't eval, return nil instead.
3220 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3221 Initialize Qinhibit_eval_during_redisplay.
3222
e719f5ae
GM
3223 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3224 the iterator's multibyte_p flag.
3225
deb2613a
GM
3226 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3227 instead of setting it to zero; it's incremented for each frame
3228 where the menu face is changed.
3229
52283633
SM
3230 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3231 change bottom shadow accordingly.
3232
3233 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3234 intersections here.
3235 (expose_window): Do it here instead.
52283633 3236 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3237
f827b862
GM
3238 * bytecode.c (BYTE_CODE_QUIT): New macro.
3239 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3240
4bde0ebb
GM
32412001-03-27 Gerd Moellmann <gerd@gnu.org>
3242
607ec83c
GM
3243 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3244 Give up if matrix starts in an ellipsis.
3245 (init_from_display_pos): Do nothing if POS doesn't specify
3246 a dpvec_index but the iterator has such a position.
3247
0245398f
GM
3248 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3249
aba25348
GM
3250 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3251 x/y position is (0, 0) after destroying the menu bar, restore
3252 its original position.
3253
4bde0ebb
GM
3254 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3255 (init_from_display_pos): Use it.
3256 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3257
8cdb267e
GM
32582001-03-26 Gerd Moellmann <gerd@gnu.org>
3259
3260 * xdisp.c (try_window_id): Undo last change.
3261
9948db79
EZ
32622001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3263
3264 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3265
3266 * buffer.c (syms_of_buffer): Doc fix.
3267
2eddf899
GM
32682001-03-26 Gerd Moellmann <gerd@gnu.org>
3269
3270 * xfaces.c (x_update_menu_appearance): Use local variable
3271 popup_path for setting font resources.
3272
6c145d35
EZ
32732001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3274
6a65b1b5
EZ
3275 * frame.c (Fframe_list): Don't reference tip_frame if
3276 HAVE_WINDOW_SYSTEM is not defined.
3277
6c145d35
EZ
3278 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3279 <wl@gnu.org>.
3280
d74c1900
GM
32812001-03-25 Gerd Moellmann <gerd@gnu.org>
3282
20fbd925
GM
3283 * xdisp.c (init_from_display_pos): Test invisible property
3284 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3285
927c5b3b
GM
3286 * xdisp.c (redisplay_internal) <update one window>: Make sure
3287 last_arrow_position and last_arrow_string are set.
3288
d74c1900
GM
3289 * frame.c (Fframe_list): Don't return a tooltip frame.
3290
091f8878
GM
32912001-03-23 Gerd Moellmann <gerd@gnu.org>
3292
52283633
SM
3293 * xdisp.c (mark_window_display_accurate_1): New function,
3294 extracted from mark_window_display_accurate.
3295 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3296 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3297 (mark_window_display_accurate): Use it.
3298 (redisplay_internal): Use it for the selected window.
3299 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3300 for the selected frame.
3301
ac90c44f
GM
3302 * xdisp.c Use make_number, for readability.
3303 (try_window_id): Disable rows below the window end.
3304 (try_window_reusing_current_matrix): Use cursor_row_p.
3305 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3306 of rows.
3307 (init_from_display_pos): If POS specifies a position in a display
3308 vector, maybe get the iterator set up for that ellipsis.
43c09969 3309
091f8878
GM
3310 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3311
991786dd
EZ
33122001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3313
3314 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3315
6c29b43c
GM
33162001-03-23 Gerd Moellmann <gerd@gnu.org>
3317
3318 * xfaces.c (x_update_menu_appearance): Use a different path
3319 for Lucid popup menus.
3320
d8731202
SM
33212001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3322
3323 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3324
3325 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3326 (string_buffer_position): Use `make_number'.
3327
f61a541b
GM
33282001-03-22 Gerd Moellmann <gerd@gnu.org>
3329
3c9e997b
GM
3330 * xfaces.c (x_update_menu_appearance): Renamed from
3331 x_set_menu_face_resources. Use different resources for popups.
3332
3333 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3334 (GC_CHECK_STRING_BYTES): Don't define.
3335
364cd450
GM
3336 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3337 Removed, together with subroutines.
3338 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3339 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3340
d8731202
SM
3341 * dispextern.h (x_set_menu_resources_from_menu_face):
3342 Remove prototype.
364cd450 3343
d8731202 3344 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3345 Remove calls to x_set_menu_resources_from_menu_face.
3346
d8731202
SM
3347 * xfaces.c (xm_set_menu_resources_from_menu_face):
3348 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3349
3350 * xmenu.c: Include widget.h.
3351 (single_submenu): Return int. Some cleanup.
3352 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3353
140330de
GM
33542001-03-21 Gerd Moellmann <gerd@gnu.org>
3355
3356 * xterm.c (x_update_window_end): Handle overwritten mouse face
3357 also for tool bar windows.
3358 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3359 DRAW is DRAW_IMAGE_RAISED.
3360
1741905c
GM
33612001-03-20 Gerd Moellmann <gerd@gnu.org>
3362
fa88947e
GM
3363 * print.c (syms_of_print): Doc fixes.
3364
1741905c
GM
3365 * fns.c (Fmd5): Doc fix.
3366
ade0bee1
GM
33672001-03-19 Gerd Moellmann <gerd@gnu.org>
3368
357e7376
GM
3369 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3370 Clear area of the frame not occupied by the scroll bar.
3371
c2c097cc
GM
3372 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3373 tip frame's root window buffer to *tip* right after creating
3374 the frame.
3375
ade0bee1
GM
3376 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3377 is an integer don't have to be for space characters.
3378
88c6e37e
GM
33792001-03-16 Gerd Moellmann <gerd@gnu.org>
3380
52283633
SM
3381 * indent.c (current_column, current_column_1, Fmove_to_column)
3382 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3383
c62eed76
KH
33842001-03-15 Kenichi Handa <handa@etl.go.jp>
3385
3386 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3387 drawing glyph string.
3388
c899e7e6
GM
33892001-03-15 Gerd Moellmann <gerd@gnu.org>
3390
d0bbfc99
GM
3391 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3392 (command_loop_1): Undo last change.
3393
03d1a189
GM
3394 * xterm.c (fast_find_position): Return the correct vpos.
3395
c899e7e6 3396 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3397 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3398 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3399 Call store_symval_forwarding with BUF null.
3400 (set_internal): Call store_symval_forwarding with the BUF
3401 parameter passed to set_internal. Formerly, the value was always
3402 set in the current buffer; the buffer recorded in specbind for
3403 this case wasn't used.
3404 (arith_driver): Reindent.
3405
52283633
SM
3406 * buffer.c (swap_out_buffer_local_variables):
3407 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3408
3409 * lisp.h (store_symval_forwarding): Change prototype.
3410
3411 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3412
57ac7c81
GM
34132001-03-14 Gerd Moellmann <gerd@gnu.org>
3414
697617d9
GM
3415 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3416 FOR_DELETION. Avoid resizing the mini-window of the selected
3417 frame if FOR_DELETION is set.
3418 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3419 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3420 signature.
3421
3422 * window.c (Fset_window_configuration): Change call to
3423 do_switch_frame to new format.
3424
3425 * keyboard.c (quit_throw_to_read_char): Change call to
3426 do_switch_frame to new format.
3427
3428 * lisp.h (do_switch_frame): Change prototype.
3429
819dce0f
GM
3430 * frame.c (Fframe_parameters): In the `buffer-list' frame
3431 parameter, store the buffer list of FRAME, not the list of the
3432 selected frame.
3433
57ac7c81
GM
3434 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3435 box just because the glyph row's full_width_p flag is set.
3436
65008712
GM
34372001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3438
3439 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3440 skip the padding blanks inserted in extend_face_to_end_of_line,
3441 before checking for trailing whitespace.
3442
159cf431
GM
34432001-03-13 Gerd Moellmann <gerd@gnu.org>
3444
52283633 3445 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3446 Remove special handling for LessTif/Motif.
3447 (toplevel): Don't include Xm/Xm.h.
3448
52283633
SM
3449 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3450 Remove workaround code for LessTif; it doesn't work anymore.
3451
2564ea1b 3452 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3453 Xm/ScrollBarP.h.
afcdc0a1 3454
52283633
SM
3455 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3456 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3457 contemporary LessTif.
3458
52283633
SM
3459 * xfaces.c (xm_set_menu_resources_from_menu_face):
3460 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3461
159cf431
GM
3462 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3463 removing button grabs.
3464
c6f7429a
KH
34652001-03-13 Kenichi Handa <handa@etl.go.jp>
3466
cb82d767
KH
3467 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3468 and clip-large-size-font as obsolete.
3469
c6f7429a
KH
3470 * lread.c (read_multibyte): Check the validity of multibyte
3471 sequence. If invalid, return the first byte.
3472
760cefb5
GM
34732001-03-12 Gerd Moellmann <gerd@gnu.org>
3474
3475 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3476 before running the command; timer functions or process
3477 filters may have set it.
3478
5141f9d0
EZ
34792001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3480
3481 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3482 Doc fix.
3483
b6a15240
GM
34842001-03-12 Gerd Moellmann <gerd@gnu.org>
3485
3486 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3487 to sprintf.
3488
95522746
GM
34892001-03-09 Gerd Moellmann <gerd@gnu.org>
3490
db14cfc5
GM
3491 * dispextern.h (string_buffer_position): Add prototype.
3492
52283633 3493 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3494 (single_display_prop_string_p): New functions.
3495
3496 * xterm.c (note_mouse_highlight): If there's no help-echo on
3497 a string, look at the buffer text ``under'' it.
3498
3499 * keyboard.c (make_lispy_event): Add string info to the event,
3500 analogous to what's done on mode lines.
3501 (read_key_sequence): For a click on a string, consider `local-map'
3502 and `keymap' of that string.
3503
52283633
SM
3504 * keyboard.c (make_lispy_event, make_lispy_movement):
3505 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3506
3507 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3508
3509 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3510 POS; return void.
3511
95522746
GM
3512 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3513 flags argument to emacs_open; it seems to conflict with O_EXCL.
3514
898a399d
KH
35152001-03-09 Kenichi Handa <handa@etl.go.jp>
3516
28cd4910
KH
3517 * composite.h (struct composition): Change types of members;
3518 glyph_len to unsigned, width to unsigned short.
898a399d 3519
4cdf6a6c
AI
35202001-03-08 Andrew Innes <andrewi@gnu.org>
3521
3522 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3523 menu titles.
3524
129004d3
GM
35252001-03-08 Gerd Moellmann <gerd@gnu.org>
3526
221dd3e7
GM
3527 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3528 instead of nil.
3529
52283633 3530 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3531 help-echo in strings.
3532 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3533 (fast_find_string_pos): New function.
3534
52283633
SM
3535 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3536 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3537
3538 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3539 Handle `mouse-face'.
3540
3541 * dispextern.h (face_at_string_position): Change prototype.
3542
52283633 3543 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3544
129004d3
GM
3545 * keyboard.c (make_lispy_event): Avoid generating drag events
3546 if the mouse hasn't actually moved to another buffer position.
52283633 3547
80c8ab8c
DL
35482001-03-08 Dave Love <fx@gnu.org>
3549
129004d3 3550 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3551
989521fd
GM
35522001-03-08 Gerd Moellmann <gerd@gnu.org>
3553
3554 * process.c (Fset_process_window_size): Fix a typo.
3555
bb5c338d
KH
35562001-03-08 Kenichi Handa <handa@etl.go.jp>
3557
3558 * coding.c (detect_coding_sjis): Do more rigid check.
3559 (detect_coding_big5): Likewise.
3560 (decode_coding_sjis_big5): Likewise.
3561 (Fdetect_coding_region): Call detect_coding_system with tailing
3562 anchor byte `\0' for more rigid detection.
52283633 3563 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3564 (Fdetect_coding_string): Likewise.
3565
8b8f9197
SM
35662001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3567
3568 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3569 a string before extracting its data.
3570
3bdf2660
GM
35712001-03-07 Gerd Moellmann <gerd@gnu.org>
3572
3573 * window.c (Frecenter): Rewrite code handling negative values
3574 of ARG on graphical frames.
3575
35762001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3577
3578 * window.c (displayed_window_lines): If W->start is outside the
3579 accessible portion of the buffer, call start_display with BEGV or
3580 ZV instead of W->start.
3581
471f86b9
GM
35822001-03-07 Gerd Moellmann <gerd@gnu.org>
3583
2ab62c6c
GM
3584 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3585
471f86b9
GM
3586 * process.c (Fset_process_filter): Don't crash if the input
3587 file descriptor of PROCESS is closed.
3588 (Fset_process_window_size): Likewise.
3589
101922c3
GM
35902001-03-06 Kenichi Handa <handa@etl.go.jp>
3591
3592 * xterm.c (XTflash): Make the timeout of select shorter, and call
3593 select repeatedly until the desired time expires.
3594
45d051a7
GM
35952001-03-06 Gerd Moellmann <gerd@gnu.org>
3596
3597 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3598
3599 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3600
3601 * lisp.h (Vwindow_list): Declare extern.
3602
8f372c46
EZ
36032001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3604
3605 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3606
f16a7aa5
GM
36072001-03-06 Gerd Moellmann <gerd@gnu.org>
3608
157ae273
GM
3609 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3610 to detect a case where we have to highlight a different region
3611 despite not having left the currently highlighted region.
3612 Set mouse_face_overlay in the x_display_info.
45d051a7 3613 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3614
3615 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3616
3617 * buffer.c (mouse_face_overlay_overlaps): New function.
3618
3619 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3620 (Qmouse_face): Declare extern.
3621
f16a7aa5
GM
3622 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3623 if face_change_count is non-zero.
3624
827afcac
KH
36252001-03-06 Kenichi Handa <handa@etl.go.jp>
3626
3627 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3628 that the source is unibyte.
3629
14c7242e
DL
36302001-03-05 Dave Love <fx@gnu.org>
3631
827afcac 3632 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3633
c28b847b
GM
36342001-03-05 Gerd Moellmann <gerd@gnu.org>
3635
3636 * minibuf.c (read_minibuf): Clean up the binding stack if
3637 called noninteractively.
3638
b86644f2
KH
36392001-03-05 Kenichi Handa <handa@etl.go.jp>
3640
3641 * coding.c (syms_of_coding): Docstring modified.
3642
203682cc 36432001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3644
3645 * charset.c (char_to_string): If a single byte char has modifier
3646 bits that can't be reflected to the character code, ignore them
45d051a7 3647 instead of signaling an error.
b86644f2 3648
e30bd7b7
EZ
36492001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3650
3651 * s/msdos.h: Update copyright notice.
3652
3653 * dosfns.h: Update copyright notice.
3654
3655 * dosfns.c: Update copyright notice.
3656
3657 * msdos.c: Update copyright notice.
3658
b52b65bd
GM
36592001-03-02 Gerd Moellmann <gerd@gnu.org>
3660
3661 * xterm.c (glyph_rect): New function.
3662 (XTmouse_position): Use it to raise the threshold for mouse
3663 movement event generation.
3664
53c4b1e6
EZ
36652001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3666
3667 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3668 specifies (reverse . t), reverse the initial screen colors.
3669 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3670 but we are reversing the colors, set bg_set, not fg_set.
3671 Likewise for setting background-color and reversing: set fg_set.
3672 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3673 in effect.
3674
3675 * xfaces.c (Finternal_set_lisp_face_attribute)
3676 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3677 parameters alist.
3678
f964b4d7
GM
36792001-03-02 Gerd Moellmann <gerd@gnu.org>
3680
ef53d75e
GM
3681 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3682 to a single slash in the middle of file names.
3683
52283633 3684 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3685 Accept only alphanumeric time zone names.
3686
f964b4d7
GM
3687 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3688 or width area.
3689 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3690 a widget to zero height.
52283633 3691
c3c45f65
GM
36922001-03-01 Gerd Moellmann <gerd@gnu.org>
3693
3694 * window.c (Fwindow_end): Call move_it_past_eol only if
3695 ending up on a partially visible line.
3696
028d739a
DL
36972001-03-01 Dave Love <fx@gnu.org>
3698
3699 * ccl.c (Fccl_execute): Doc fix.
3700
57c5889c
GM
37012001-03-01 Gerd Moellmann <gerd@gnu.org>
3702
35f59f6b
GM
3703 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3704 of the tool bar before calling x_figure_window_size.
3705
f84ff02c
GM
3706 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3707 NULL after destroying it, otherwise XTread_socket can access a
3708 destroyed widget when input is unblocked.
3709
8b8f9197 3710 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3711
57c5889c
GM
3712 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3713 same name as before, although there was a change in fontsets.
3714
224227d1
KR
37152001-02-28 Ken Raeburn <raeburn@gnu.org>
3716
4560730a
KR
3717 * lisp.h (Fframe_parameter): Declare.
3718
224227d1 3719 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3720 Lisp_Object.
224227d1 3721
ece93c02
GM
37222001-02-28 Gerd Moellmann <gerd@gnu.org>
3723
11ef99b9
GM
3724 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3725 NULL instead.
3726
3727 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3728 NULL instead.
3729
ece93c02
GM
3730 * alloc.c (toplevel): Include process.h.
3731 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3732 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3733 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3734 (allocate_vector, allocate_hash_table, allocate_window)
3735 (allocate_frame, allocate_process, allocate_other_vector):
3736 New functions.
ece93c02
GM
3737 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3738 (mark_maybe_pointer): New function.
52283633 3739 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3740 remain and not Lisp_Objects.
3741 (min_heap_address, max_heap_address): New variables.
3742 (mem_find): Return MEM_NIL if START is below min_heap_address or
3743 above max_heap_address.
3744 (mem_insert): Compute min_heap_address and max_heap_address.
3745
3746 * process.c (make_process): Use allocate_process.
3747
3748 * frame.c (make_frame): Use allocate_frame.
3749
3750 * window.c (make_window, make_dummy_parent): Use allocate_window.
3751 (Fcurrent_window_configuration): Use allocate_other_vector.
3752
3753 * lisp.h (allocate_vectorlike): Remove prototype.
3754 (allocate_vector, allocate_other_vector, allocate_frame)
3755 (allocate_window, allocate_process, allocate_hash_table):
3756 Add prototypes.
3757
3758 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3759 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3760
063af457
KH
37612001-02-27 Kenichi Handa <handa@etl.go.jp>
3762
3763 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3764 treat the produced bytes as a valid multibyte sequence.
3765
3766 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3767 (ccl_driver) <CCL_WriteMultibyteChar2>:
3768 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3769 <ccl_finish>: Set ccl->eight_bit_control properly.
3770
3771 * ccl.h (struct ccl_program): New member eight_bit_control.
3772
f58c6494
SM
37732001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3774
3775 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3776 accessible_keymaps_char_table.
3777 (accessible_keymaps_char_table): Obey `is_metized'.
3778 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3779 Lisp_Object.
3780
c596c392
GM
37812001-02-26 Gerd Moellmann <gerd@gnu.org>
3782
3783 * dispnew.c: Check HAVE_TERM_H before including term.h.
3784
425de386
AI
37852001-02-24 Andrew Innes <andrewi@gnu.org>
3786
3787 * makefile.w32-in: Update copyright notice.
3788
2ba11bbd
SM
37892001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3790
3791 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3792
66c56ed1
KH
37932001-02-24 Kenichi Handa <handa@etl.go.jp>
3794
4c1593ce
KH
3795 * Makefile.in (lisp): Add international/utf-8.elc.
3796
66c56ed1
KH
3797 * fontset.c (Fnew_fontset): Fix handling of the case that an
3798 element of FONTLIST is a cons of family and registry.
3799
796ead7e
JR
38002001-02-23 Jason Rumney <jasonr@gnu.org>
3801
3802 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3803 to height unconditionally.
3804
3805 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3806 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3807 (x_insert_glyphs): Call window_box_left to obtain the left
3808 x-coordinate of the area to shift.
3809
3810 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3811 safe_run_hooks.
3812
f6839838
AI
38132001-02-22 Andrew Innes <andrewi@gnu.org>
3814
52283633 3815 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3816 ($(BLD)\dispnew.obj):
3817 ($(BLD)\editfns.obj):
3818 ($(BLD)\fileio.obj):
3819 ($(BLD)\filelock.obj):
3820 ($(BLD)\keyboard.obj):
3821 ($(BLD)\w32proc.obj):
3822 ($(BLD)\process.obj):
3823 ($(BLD)\sysdep.obj): Ditto.
3824
3825 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3826 header files.
52283633
SM
3827 ($(BLD)/dispnew.$(O)):
3828 ($(BLD)/editfns.$(O)):
3829 ($(BLD)/fileio.$(O)):
3830 ($(BLD)/filelock.$(O)):
3831 ($(BLD)/keyboard.$(O)):
3832 ($(BLD)/w32proc.$(O)):
3833 ($(BLD)/process.$(O)):
f6839838
AI
3834 ($(BLD)/sysdep.$(O)): Ditto.
3835
c224f70b
GM
38362001-02-22 Gerd Moellmann <gerd@gnu.org>
3837
51695746
GM
3838 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3839 at the start of the function, check that the \n in it->c is
3840 from the iterator's current position.
52283633 3841
a61b7058
GM
3842 * xdisp.c (handle_single_display_prop): Add parameter
3843 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3844 properties which replace the display of text with something else.
3845 (handle_display_prop): Call handle_single_display_prop with
3846 additional argument saying if we already replaced text display
3847 with something else. Use AREF.
52283633 3848 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3849 (decode_mode_spec_coding): Use AREF and ASIZE.
3850
3473f362
GM
3851 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3852 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3853 * vmstime.h: Files removed.
52283633 3854
2bb58df3
GM
3855 * unexencap.c, unexfx2800.c: Files removed.
3856
c224f70b
GM
3857 * dispnew.c (direct_output_for_insert): Give up if we are showing
3858 a message or just cleared the message because we might need to
3859 resize the echo area window or display an empty echo area.
3860
ffc9ff0c
GM
38612001-02-21 Gerd Moellmann <gerd@gnu.org>
3862
0528abe1
GM
3863 * xdisp.c (redisplay_internal): Do the
3864 mark_window_display_accurate after all windows have been
3865 redisplayed because this call resets flags in buffers which are
3866 needed for proper redisplay.
3867
52283633
SM
3868 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3869 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3870 the old names.
3871
52283633
SM
3872 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3873 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3874
3875 * msdos.h (struct x_output): Rename busy_window to
3876 hourglass_window, busy_p to hourglass_p.
3877
52283633
SM
3878 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3879 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3880
3881 * xfns.c: Rename everything containing *busy_cursor* and similar
3882 to *hourglass*.
3883 (syms_of_w32fns): Rename x-busy-pointer-shape to
3884 x-hourglass-pointer-shape, display-busy-cursor to
3885 display-hourglass, busy-cursor-delay to hourglass-delay.
3886
3887 * w32fns.c: Rename everything containing *busy_cursor* and similar
3888 to *hourglass*.
3889 (syms_of_w32fns): Rename x-busy-pointer-shape to
3890 x-hourglass-pointer-shape, display-busy-cursor to
3891 display-hourglass, busy-cursor-delay to hourglass-delay.
3892
3893 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3894 of its busy_p flag.
3895
3896 * dispextern.h (start_hourglass, cancel_hourglass)
3897 (display_hourglass_p): Renamed from *busy_cursor*.
3898
ab2c5f0a
GM
38992001-02-20 Gerd Moellmann <gerd@gnu.org>
3900
d17e49a8
GM
3901 * keyboard.c (read_char): When an event from unread-command-events
3902 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3903
fa97adf6
GM
3904 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3905 equal to the current buffer.
3906
ab2c5f0a
GM
3907 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3908 nil, otherwise we're left with truncate_lines t when a message
3909 is printed with message-truncate-lines bound to t.
3910
aeac019e
GM
39112001-02-19 Gerd Moellmann <gerd@gnu.org>
3912
c8bc6f65
GM
3913 * window.c (Fmove_to_window_line): Undo last change.
3914 (displayed_window_lines): Call line_bottom_y to determine
3915 the line's bottom position.
3916
3917 * dispextern.h (line_bottom_y): Add prototype.
3918
52283633 3919 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3920 (pos_visible_p): Use it.
3921
980a2d69
GM
3922 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3923 set redisplaying_p to 0 here instead of in Frecursive_edit.
3924 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3925 set redisplaying_p.
3926
52283633 3927 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3928 New variables.
3929 (syms_of_xdisp): Initialize new variables.
3930 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3931 Specbind `inhibit-menubar-update' when updating the menu bar.
3932
65048e97
GM
3933 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3934 safe_run_hooks.
3935
3936 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3937 safe_run_hooks.
3938
a57c4026
GM
3939 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3940 is null.
3941
aeac019e
GM
3942 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3943 to the start of the file.
3944
76846b31
GM
39452001-02-16 Gerd Moellmann <gerd@gnu.org>
3946
f3f053f3 3947 * window.c (set_window_buffer): Fix last change.
52283633 3948
f3f053f3
GM
3949 * window.c (set_window_buffer): Set window's vscroll to 0.
3950
dad75588
GM
3951 * window.c (coordinates_in_window): Increase width of area
3952 where the vertical line can be dragged.
3953
c220b753
GM
3954 * xterm.c (x_set_glyph_string_background_width): Extend the
3955 background face to the end of the drawing area in the text
3956 area, only.
3957
c56b1c1b
GM
3958 * xdisp.c (handle_single_display_prop): Set iterator's position
3959 to where the `display' property starts, like for images.
3960 (dump_glyph): New function.
3961 (dump_glyph_row): Use it. Dump info about marginal areas.
3962
3963 * dispnew.c (direct_output_for_insert): Recognize more cases where
3964 glyphs can be written instead of being inserted.
3965
3966 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
3967 the left x-coordinate of the area to shift.
3968
76846b31
GM
3969 * dired.c (directory_files_internal): Set result list to nil
3970 before retrying.
3971
0fc71a77
KH
39722001-02-15 Kenichi Handa <handa@etl.go.jp>
3973
3974 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
3975 invalid multibyte sequence, treat *SRC as a character of
3976 eight-bit-graphic.
3977
25078b54
EZ
39782001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
3979
3980 * textprop.c (Fset_text_properties): Doc fix.
3981
8399f8a0
GM
39822001-02-15 Gerd Moellmann <gerd@gnu.org>
3983
3984 * dispnew.c (update_text_area): Undo change of 2001-01-12.
3985
9a2a6f73
DL
39862001-02-14 Dave Love <fx@gnu.org>
3987
3988 * coding.c: Doc and message fixes.
3989
bf853fee
AI
39902001-02-14 Andrew Innes <andrewi@gnu.org>
3991
3992 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
3993 Emacs frame above the screen size.
3994
78c663d8
GM
39952001-02-14 Gerd Moellmann <gerd@gnu.org>
3996
3997 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
3998
7cc9f69f
GM
39992001-02-13 Gerd Moellmann <gerd@gnu.org>
4000
0a411995
GM
4001 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4002 case that TO ends up beyond ZV after running before-change-functions.
4003
5ddc1b75
GM
4004 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4005 the selected window if it is showing the buffer in question.
4006
7cc9f69f
GM
4007 * dired.c (directory_files_internal): Initialize errno.
4008 (toplevel): Include errno.h.
4009
2e6621ca
GM
40102001-02-13 Kenichi Handa <handa@etl.go.jp>
4011
4012 * xfaces.c (best_matching_font): New parameter width_ratio.
4013 Multiply avgwidth by width_ratio.
4014 (choose_face_font): Call best_matching_font with width_ratio
4015 calculated from the column width of C.
4016
60222d69
AI
40172001-02-12 Andrew Innes <andrewi@gnu.org>
4018
4019 The following changes are to draw box lines inside characters area
4020 if line-width is negative.
52283633 4021
60222d69
AI
4022 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4023 face->box_line_width is negative.
4024 (x_produce_stretch_glyph): Likewise.
4025 (x_produce_glyphs): Likewise.
4026 (x_estimate_mode_line_height): Likewise.
4027 (x_draw_glyph_string_background): Likewise.
4028 (x_draw_glyph_string_foreground): Likewise.
4029 (x_draw_composite_glyph_string_foreground): Likewise.
4030 (x_draw_glyph_string_box): Likewise.
4031 (x_draw_image_foreground): Likewise.
4032 (x_draw_image_relief): Likewise.
4033 (x_draw_image_foreground_1): Likewise.
4034 (x_draw_image_glyph_string): Likewise.
4035
9804b846
KH
40362001-02-09 Kenichi Handa <handa@etl.go.jp>
4037
4038 The following changes are to draw box lines inside characters area
4039 if line-width is negative.
52283633 4040
9804b846
KH
4041 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4042 face->box_line_width is negative.
4043 (x_produce_stretch_glyph): Likewise.
4044 (x_produce_glyphs): Likewise.
4045 (x_estimate_mode_line_height): Likewise.
4046 (x_draw_glyph_string_background): Likewise.
4047 (x_draw_glyph_string_foreground): Likewise.
4048 (x_draw_composite_glyph_string_foreground): Likewise.
4049 (x_draw_glyph_string_box): Likewise.
4050 (x_draw_image_foreground): Likewise.
4051 (x_draw_image_relief): Likewise.
4052 (x_draw_image_foreground_1): Likewise.
4053 (x_draw_image_glyph_string): Likewise.
4054
4055 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4056 and :line-width can be negative.
52283633 4057 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4058
49be9f70
JR
40592001-02-09 Jason Rumney <jasonr@gnu.org>
4060
4061 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4062 characters the same as ASCII and latin-1.
4063 (x_display_and_set_cursor): Check for the focus frame's selected
4064 window instead of selected_window.
4065 (x_after_update_window_line): Don't clear if frame's internal
4066 border width is zero.
4067 (x_new_font): Don't change a tooltip's size.
4068 (w32_initialize): Set char_ins_del_ok to 1.
4069
4070 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4071 (x_set_font): If font hasn't changed, avoid recomputing
4072 faces and other things.
52283633
SM
4073 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4074 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4075 (x_create_tip_frame): Prevent changing the tooltip's
4076 background color by specifying a color for the default font
4077 in .Xdefaults.
4078 (Qcancel_timer): New variable.
4079 (syms_of_w32fns): Initialize and staticpro it.
4080 (Fx_hide_tip, Fx_show_tip): Use it.
4081 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4082 the timer.
4083 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4084
4085 * w32.c (init_environment): Duplicate local string before putenv.
4086
555e35d2
SZ
40872001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4088
4089 * charset.c (Fstring): A typo.
4090
19c92c94
KH
40912001-02-09 Kenichi Handa <handa@etl.go.jp>
4092
e47a1c33
KH
4093 * charset.c (Fstring): If all arguments are less than 256, return
4094 a unibyte string.
4095
4096 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4097 return a unibyte string.
4098
19c92c94
KH
4099 * coding.c (code_convert_region): After detecting a coding, if
4100 nothing found, set coding->composing to COMPOSITION_NO.
4101 (decode_coding_string): Likewise.
4102
d8e675f5
SM
41032001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4104
4105 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4106 to avoid overflow.
4107
bd503487
KH
41082001-02-07 Kenichi Handa <handa@etl.go.jp>
4109
4110 * charset.c (parse_str_to_multibyte): New function.
4111
4112 * charset.h (parse_str_to_multibyte): Extern it.
4113
4114 * print.c (print_string): If we are going to print a unibyte
4115 string into a multibyte buffer, convert the string to multibyte by
4116 str_to_multibyte.
4117
a8370d72
AI
41182001-02-06 Andrew Innes <andrewi@gnu.org>
4119
4120 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4121 been created. It seems we can get sent window messages such as
4122 WM_ERASEBKGND before we properly update a frame.
4123
c363a1d6
GM
41242001-02-06 Gerd Moellmann <gerd@gnu.org>
4125
4126 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4127 Avoid some unnecessary cursor positioning.
4128
a08332c0
GM
41292001-02-05 Gerd Moellmann <gerd@gnu.org>
4130
52283633 4131 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4132 (LFACE_AVGWIDTH): New macro.
4133 (LFACEP): Use AREF.
4134 (check_lface_attrs): Check LFACE_AVGWIDTH.
4135 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4136 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4137 (merge_face_vectors): Check LFACE_AVGWIDTH.
4138 (Finternal_make_lisp_face): Use AREF.
4139 (xm_set_menu_resources_from_menu_face)
4140 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4141 (Finternal_lisp_face_empty_p): Use AREF.
4142 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4143 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4144 Compare average widths..
4145 (best_matching_font): Arrange for comparing average widths.
4146
52283633
SM
4147 * dispextern.h (enum lface_attribute_index):
4148 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4149
5cb3c8d4
DL
41502001-02-05 Dave Love <fx@gnu.org>
4151
4152 * puresize.h: Revert last change following loadup.el change.
4153
193fba87
AI
41542001-02-05 Andrew Innes <andrewi@gnu.org>
4155
4156 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4157 invocation of temacs, to work with Windows 2000.
4158 (bootstrap-emacs): Ditto.
4159
e16f52ce
GM
41602001-02-05 Gerd Moellmann <gerd@gnu.org>
4161
7a58ab59
GM
4162 * xterm.c (x_display_and_set_cursor): Check for the focus
4163 frame's selected window instead of selected_window.
4164
e89aaabd
GM
4165 * xdisp.c (try_scrolling): If point is in the line below the
4166 window, make sure to move the iterator at least a canonical
4167 char height down.
4168
52283633 4169 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4170
789ce875
KH
41712001-02-05 Kenichi Handa <handa@etl.go.jp>
4172
52283633
SM
4173 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4174 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4175 (ccl_driver): If the CCL program is terminated because of
4176 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4177 destination instead of throwing them away.
4178
20b28f82
GM
41792001-02-02 Gerd Moellmann <gerd@gnu.org>
4180
79fb38c0
GM
4181 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4182 faces and other things.
4183
20b28f82
GM
4184 * xdisp.c (get_next_display_element): Fix case of empty
4185 display table entry.
4186
5a72551e
EZ
41872001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4188
eb24d0bf
EZ
4189 * editfns.c (Fconstrain_to_field): Doc fix.
4190
6a3f48c7
EZ
4191 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4192 into `thoroughly', to make it consistent with the doc string.
4193
5a72551e
EZ
4194 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4195
01acdb05
GM
41962001-02-01 Gerd Moellmann <gerd@gnu.org>
4197
0353b28f
GM
4198 * search.c (search_buffer): Call set_search_regs with a byte
4199 position, not a character position.
4200
01acdb05
GM
4201 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4202 minibuffer-only,
4203
e86b5133
EZ
42042001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4205
4206 * frame.c (Fmodify_frame_parameters): Doc fix.
4207
7442878f
GM
42082001-01-31 Gerd Moellmann <gerd@gnu.org>
4209
01acdb05
GM
4210 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4211 identifier which is not reserved by Standard C.
52283633 4212
7442878f
GM
4213 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4214
4215 * window.c (enum window_part): New enumeration.
4216 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4217 Qright_bitmap_area.
4218 (coordinates_in_window): Return an enumerator from enum
4219 window_part. Fix handling of right scroll bar.
4220 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4221 `right-fringe' instead of `left-bitmap-area' and
4222 `right-bitmap-area'. Use enumerators from enum window_part
4223 instead of hard-coded integers.
52283633
SM
4224 (check_window_containing, window_from_coordinates):
4225 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4226 (syms_of_window): Replace Qleft_bitmap_area and
4227 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4228
7c132cba
EZ
42292001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4230
4231 * editfns.c (Fformat_time_string): Doc fix.
4232
c359dd9e
SM
42332001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4234
4235 * keymap.c (Fwhere_is_internal): Use the first valid binding
4236 if no ascii binding is found (when firstonly is t).
4237
ce070307
GM
42382001-01-31 Gerd Moellmann <gerd@gnu.org>
4239
b4f30ec5
GM
4240 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4241 instead of Finteractive_p.
4242
4243 * lisp.h (interactive_p): Add prototype.
4244
4245 * eval.c (interactive_p): New function.
4246 (Finteractive_p): Use it.
4247
ce070307
GM
4248 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4249
f57b6e64
DL
42502001-01-31 Dave Love <fx@gnu.org>
4251
d61c7afe
DL
4252 * .gdbinit (hook-run): Define to run xreload.
4253
f57b6e64
DL
4254 * textprop.c (Fset_text_properties): Fix newline in doc string.
4255
eef93f99
GM
42562001-01-30 Gerd Moellmann <gerd@gnu.org>
4257
52283633
SM
4258 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4259 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4260
4261 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4262 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4263 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4264
4265 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4266 height.
4267
d9c1f6f9
DL
42682001-01-30 Dave Love <fx@gnu.org>
4269
4270 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4271 AFTER_POTENTIAL_GC.
4272
e8f044a0
GM
42732001-01-29 Gerd Moellmann <gerd@gnu.org>
4274
52283633
SM
4275 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4276 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4277
8e1db7b3
EZ
42782001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4279
4280 * textprop.c (Fset_text_properties): Doc fix.
4281
4eefd9d2
GM
42822001-01-29 Gerd Moellmann <gerd@gnu.org>
4283
4284 * xdisp.c (forward_to_next_line_start): Remove xassert.
4285
fccb8288
EZ
42862001-01-29 Jason Rumney <jasonr@gnu.org>
4287
4eefd9d2 4288 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4289 returning without releasing it.
4290
76581eab
KH
42912001-01-29 Kenichi Handa <handa@etl.go.jp>
4292
4293 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4294 for '^', '$', and '\0'.
4295
83a96b4d
AC
42962001-01-28 Andrew Choi <akochoi@i-cable.com>
4297
5604ec34
AC
4298 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4299 regex for '^', '$', and '\0'.
4300
83a96b4d
AC
4301 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4302 only if current_sblock has been initialized.
4303
4304 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4305 terminal frame even if it is the only visible frame.
4306
c09a6440
KH
43072001-01-28 Kenichi Handa <handa@etl.go.jp>
4308
4309 * fontset.c (font_family_registry): Even if FONTNAME conform to
4310 XLFD, if it specifies other fields than family and registry,
52283633 4311 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4312 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4313 a signle byte character. Don't set FAMILY part to nil here.
4314 It is handled by the caller choose_face_font.
c09a6440
KH
4315 (Fnew_fontset): Call font_family_registry with FORCE 0.
4316 (Fset_fontset_font): Likewise.
4317
4dcd74e6
GM
43182001-01-27 Gerd Moellmann <gerd@gnu.org>
4319
4320 * xdisp.c (display_line): Don't treat a newline as fitting
4321 on the line.
4322
d2906bf8
GM
43232001-01-26 Gerd Moellmann <gerd@gnu.org>
4324
0130fe1a
GM
4325 * window.c (size_window): Set the window's orig_top to nil when
4326 changing heights, so that a future shrink_mini_window won't
4327 restore a bogus height.
4328
550f0e6a
GM
4329 * frame.c (do_switch_frame): If selected frame has a mini-window,
4330 resize that to exact size.
4331
b7b20fbd
GM
4332 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4333
a47b7816
GM
4334 * xdisp.c (display_line): Simplify check for glyphs fitting
4335 entirely in the line.
4336
d2906bf8
GM
4337 * xfns.c (xic_style): New variable.
4338 (create_frame_xic): Move static variable to global scope for
550f0e6a 4339 the case that `static' gets defined away.
d2906bf8 4340
73df2b1e
KH
43412001-01-26 Kenichi Handa <handa@etl.go.jp>
4342
4343 * coding.c (decode_coding): Set a flag for inhibiting
4344 inconsistent eol.
4345 (code_convert_region): Always set saved_coding_symbol.
4346 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4347 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4348
6613cfc4
GM
43492001-01-25 Gerd Moellmann <gerd@gnu.org>
4350
c5e6e06b
GM
4351 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4352 XClearArea.
4353
4354 * xterm.c (x_after_update_window_line): Don't clear if frame's
4355 internal border width is zero.
4356 (x_clear_area): New function.
4357 (x_after_update_window_line, x_clear_end_of_line)
4358 (x_scroll_bar_create, x_scroll_bar_set_handle)
4359 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4360 instead of XClearArea.
4361
4362 * xterm.h (x_clear_area): Add prototype.
4363
6613cfc4
GM
4364 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4365 which doesn't seem necessary anymore with Lesstif 0.92.
4366
650cc6cc
DL
43672001-01-25 Dave Love <fx@gnu.org>
4368
34ac3367
DL
4369 * puresize.h (BASE_PURESIZE): Up to 720000.
4370
650cc6cc
DL
4371 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4372
5e37dc22
GM
43732001-01-25 Gerd Moellmann <gerd@gnu.org>
4374
e1e441f9
GM
4375 * xdisp.c (echo_area_display): Don't call redisplay_internal
4376 when Emacs is shutting down. We can't run hooks etc. that
4377 would be necessary to do a redisplay.
4378
5e37dc22
GM
4379 * lread.c (read_integer): Use type EMACS_INT instead of int.
4380
0fb94c7f
EZ
43812001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4382
4383 * ccl.c (ccl_driver): Fix last change.
4384
e3778624
KH
43852001-01-25 Kenichi Handa <handa@etl.go.jp>
4386
4387 * ccl.h (sturct ccl_program): New member suppress_error.
4388
bb264518 4389 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4390 insert error message to the output.
4391 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4392
4393 * coding.h (struct coding_system): New member suppress_error.
4394
4395 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4396 (Fset_terminal_coding_system_internal): Set the member
4397 suppress_error to 1.
4398 (Fset_safe_terminal_coding_system_internal): Likewise.
4399
245ed2b1
SM
44002001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4401
4402 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4403 as if it was a `charset'.
4404
f9aaedb6
GM
44052001-01-24 Gerd Moellmann <gerd@gnu.org>
4406
4407 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4408 value in where_is_cache; the next lookup in the cache returns
4409 something bogus if we do.
4410
c3902c3e
EZ
44112001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4412
4413 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4414 if HAVE_WINDOW_SYSTEM isn't defined.
4415
3497f73e
GM
44162001-01-24 Gerd Moellmann <gerd@gnu.org>
4417
e7e41584
GM
4418 * fns.c (sweep_weak_table): Fix code taking items out of
4419 the hash collision chain. Some cleanup.
4420
3497f73e
GM
4421 * xterm.c (x_new_font): Don't change a tooltip's size.
4422
4423 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4424 background color by specifying a color for the default font
4425 in .Xdefaults.
4426
3d48e687
KH
44272001-01-24 Kenichi Handa <handa@etl.go.jp>
4428
96531b20
KH
4429 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4430 a workaround for SunOS 4's cc.
4431 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4432 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4433 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4434 statement.
3d48e687 4435
a30629d2
GM
44362001-01-23 Gerd Moellmann <gerd@gnu.org>
4437
4438 * xterm.c (x_set_window_size_1): New function extracted from
4439 x_set_window_size.
4440 (x_set_window_size): Use it.
4441 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4442 doesn't have a widget, like tooltips.
4443
5a43decf
EZ
44442001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4445
52283633 4446 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4447
b0e98867
KH
44482001-01-23 Kenichi Handa <handa@etl.go.jp>
4449
4450 * fns.c (Fset_char_table_default): Fix to make sub char-table
4451 correctly.
4452
50606b4c
GM
44532001-01-22 Gerd Moellmann <gerd@gnu.org>
4454
cb2ddc53 4455 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4456 a desired tool bar string, even if there are no tool bar items.
4457
57c28064
GM
4458 * xdisp.c (Ftool_bar_lines_needed): New function.
4459 (syms_of_xdisp): Defsubr it.
4460
50606b4c
GM
4461 * editfns.c (Fformat): Don't extend text properties from arguments
4462 to padding chars in the result.
4463
2f169c38
EZ
44642001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4465
4466 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4467
0f32f023
AI
44682001-01-20 Andrew Innes <andrewi@gnu.org>
4469
52283633 4470 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4471 (w32_initialize): Don't set term hooks that aren't actually needed
4472 in windowed mode.
4473
4474 * xfaces.c (realize_default_face):
4475 (realize_face):
4476 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4477
4478 * xdisp.c (handle_single_display_prop): Remove references to
4479 FRAME_W32_CONSOLE_P.
4480
52283633 4481 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4482
4483 * frame.h (output_method): Remove output_w32_console method.
4484 (FRAME_W32_CONSOLE_P): Remove macro.
4485
4486 * frame.c (Qw32_console): Remove variable.
4487 (Fframep): Remove references to it.
4488 (syms_of_frame): Ditto.
4489 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4490
4491 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4492 redefinition.
4493
7173eada
KH
44942001-01-20 Kenichi Handa <handa@etl.go.jp>
4495
4496 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4497
755b45ce
AI
44982001-01-19 Andrew Innes <andrewi@gnu.org>
4499
4500 * w32.c (init_environment): Add a version-independent site-lisp
4501 directory to EMACSLOADPATH, after the version dependent one.
4502
0a949811
GM
45032001-01-19 Gerd Moellmann <gerd@gnu.org>
4504
8501998a
GM
4505 * editfns.c (Fbuffer_substring): Doc fix.
4506
52283633
SM
4507 * xdisp.c (message_dolog, message2, message2_nolog):
4508 Rename parameter LEN to NBYTES.
0a949811 4509
e6ebcbbe
KH
45102001-01-19 Kenichi Handa <handa@etl.go.jp>
4511
200ecca2
KH
4512 * charset.c (strwidth): Use c_string_width.
4513 (c_string_width): New function.
4514 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4515 Caller changed.
4516
4517 * charset.h (c_string_width, lisp_string_width): Extern them.
4518
52283633 4519 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4520
e6ebcbbe
KH
4521 * indent.c (check_composition): Check validity of composition.
4522
200ecca2
KH
4523 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4524 characters by calling c_string_width.
4525 (x_consider_frame_title): Get byte length of frame tile string
4526 correctly.
4527 (display_mode_element): Pay attention to width of non-ASCII
4528 characters by calling strwidth.
4529
8692ca92
GM
45302001-01-18 Gerd Moellmann <gerd@gnu.org>
4531
8962e303
GM
4532 * xfns.c (Qcancel_timer): New variable.
4533 (syms_of_xfns): Initialize and staticpro it.
4534 (Fx_hide_tip, Fx_show_tip): Use it.
4535 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4536 the timer.
4537 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4538
91523be9
GM
4539 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4540
4541 * window.h (WINDOW_LIVE_P): New macro.
4542
b0b7ed0e
GM
4543 * window.c (window_size_fixed): New variable.
4544 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4545 the doc string.
4546
06bccf8e
GM
4547 * eval.c (specbind): If binding a per-buffer variable which
4548 doesn't have a buffer-local value in the current buffer, change
4549 the global value by changing the value of the symbol bound in all
4550 buffers not having their own value, to make it consistent with
4551 what happens with other buffer-local variables.
4552
8692ca92
GM
4553 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4554
4555 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4556 when searching for a newline.
4557
bb3a3b50
KH
45582001-01-18 Kenichi Handa <handa@etl.go.jp>
4559
4560 * xdisp.c (display_string): Fix previous change.
4561
c2cc16fa
JR
45622001-01-18 Jason Rumney <jasonr@gnu.org>
4563
4564 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4565 GLYPH_DEBUG is defined.
4566 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4567 true for images with `:ascent 100'.
4568 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4569 meantime, use face MOUSE_FACE_ID.
4570 If first glyph isn't a character glyph, use the ASCII NUL
4571 character to determine the face.
4572 (expose_area): Do not treat left margin specially.
4573 (note_mode_line_highlight): If no local_map, check global keymap.
4574 (note_mouse_highlight): Initialize overlay.
52283633 4575 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4576 (show_scroll_bars): Remove unused function.
4577 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4578 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4579 Clip to row.
52283633 4580 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4581 (x_free_frame_resources): Unload relief colors.
4582
9c11f79e
GM
45832001-01-17 Gerd Moellmann <gerd@gnu.org>
4584
3aec8722 4585 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4586 get_next_display_element when the newline is already found.
4587 This may change the iterator's position, when its current position is
3aec8722
GM
4588 equal to the iterator's stop_charpos.
4589
f3ffc2c3
GM
4590 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4591 zero, use this method only at the end of a line.
4592
52283633 4593 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4594 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4595 if SCALABLE_FONTS_P is set.
52283633 4596
d26d6fd9
GM
4597 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4598 so that scalable fonts are included.
4599
9c11f79e
GM
4600 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4601 In the cache, use a key containing the information if scalable
4602 fonts are included.
4603 (x_load_font): Adapt to change of keys in the font cache.
4604
46052001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4606
d26d6fd9
GM
4607 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4608 XListFonts to take advantage of font caching.
4609
9c11f79e
GM
4610 * xterm.c (x_list_fonts): Ensure caching font information when
4611 called for a null frame, which is the case frequently when Emacs
4612 starts.
4613
51446987
GM
46142001-01-17 Gerd Moellmann <gerd@gnu.org>
4615
f864120f
GM
4616 * xfns.c (QCconversion): Replaces QCalgorithm.
4617
4618 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4619
4620 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4621 of :algorithm.
52283633 4622
e37d1417
GM
4623 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4624 not everything could be displayed.
4625
51446987
GM
4626 * line.h, x-list-font.c: Files removed because unused.
4627
9ad4f3e5
AI
46282001-01-17 Andrew Innes <andrewi@gnu.org>
4629
4630 * dired.c (directory_files_internal): Convert result from readdir
4631 to a unibyte string initially, to avoid possible misinterpretation
4632 of some bytes as the internal form of Emacs characters.
4633
2eda09b5
KH
46342001-01-17 Kenichi Handa <handa@etl.go.jp>
4635
4636 * fns.c (concat): Be sure to avoid putting the same `composition'
4637 property on the adjacent regions.
4638
826f3788
GM
46392001-01-16 Gerd Moellmann <gerd@gnu.org>
4640
52283633 4641 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4642 (Fscroll_right, Fscroll_left): Set it here instead, if called
4643 interactively.
4644
d57b83b3
GM
4645 * buffer.c (Fset_buffer_modified_p): Set buffer's
4646 prevent_redisplay_optimizations_p flag.
4647
826f3788 4648 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4649 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4650 with additional arg.
4651
4652 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4653 Change prototype.
826f3788 4654
826f3788
GM
4655 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4656 FROM_WHERE, for debugging.
4657
261d788b
KH
46582001-01-16 Kenichi Handa <handa@etl.go.jp>
4659
4660 * ccl.c (Fregister_ccl_program): Handle the return value of
4661 resolve_symbol_ccl_program correctly.
52283633 4662 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4663
bccee4f2
GM
46642001-01-15 Gerd Moellmann <gerd@gnu.org>
4665
e4ded23c
GM
4666 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4667 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4668
4669 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4670 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4671 the display; we didn't open it.
4672
bccee4f2
GM
4673 * dispnew.c (save_or_restore_current_matrices): Function removed.
4674 (save_current_matrix, restore_current_matrix): New functions.
4675 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4676 restore the frame's current matrix. Due to the glyph pointer
4677 setup done in adjust_glyph_matrix, there is no easy way to make
4678 saving the current matrix in the desired matrix generally correct,
4679 so don't try it.
4680
ebeccffa
KH
46812001-01-15 Kenichi Handa <handa@etl.go.jp>
4682
4683 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4684 truncation glyphs.
4685 (display_line): Optimize for wide characters.
e4ded23c 4686 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4687 partially. On ttys, produce more than one truncation glyph for
4688 multi-column characters that don't fit on the line.
4689
64388126
KH
46902001-01-13 Kenichi Handa <handa@etl.go.jp>
4691
52283633
SM
4692 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4693 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4694
8edb0a6f
JR
46952001-01-13 Jason Rumney <jasonr@gnu.org>
4696
4697 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4698 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4699 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4700 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4701
52283633
SM
4702 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4703 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4704 (x_draw_image_glyph_string): Adapt to change of image margins.
4705
4706 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4707 variables.
4708
4709 * w32bdf.c (search_file_line, get_cached_font_char)
4710 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4711
4712 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4713
4714 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4715 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4716 (Fw32_send_sys_command): Remove unused variables.
4717 (w32_msg_pump): Add parentheses.
4718
4719 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4720 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4721 Add parentheses.
4722
4956d1ef
GM
47232001-01-12 Gerd Moellmann <gerd@gnu.org>
4724
b30623be
GM
4725 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4726 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4727 being a pair of margins.
4728 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4729 to DEFVAR_LISP. Extend doc.
4730
4731 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4732 margins.
4733 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4734 pair of integers `(X . Y)', use X for the horizontal and Y for the
4735 vertical margin.
4736 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4737 (parse_image_spec): Check it.
52283633
SM
4738 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4739 (tiff_format, gif_format, gs_format):
4740 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4741
52283633
SM
4742 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4743 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4744 (x_draw_image_glyph_string): Adapt to the change of image margins.
4745
4746 * dispextern.h (struct image): Replace member `margin' with
4747 `hmargin' and `vmargin'.
4748
4554cc79
GM
4749 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4750 and GLYPHS.
4751
4752 * dispnew.c (update_text_area): Put code which decrements the
4753 stop position when the row's face extends to the end of the
3bffc665 4754 line in #if 0.
4554cc79 4755
3cccce8d
GM
4756 * xfns.c (x_set_mouse_color): Fix color allocation.
4757
4956d1ef
GM
4758 * keyboard.c: Call get_local_map with new argument list.
4759
4760 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4761
4762 * intervals.h (enum map_property): Removed.
4763 (get_local_map): Change prototype.
4764
4765 * keymap.c: Call get_local_map with new argument list.
4766 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4767
2c2ff7f2
GM
47682001-01-11 Gerd Moellmann <gerd@gnu.org>
4769
a23887b9
GM
4770 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4771 of the size needed for the tool bar string. For the last image,
4772 use a `display' property that reaches to the end of the string.
4773
a7ee2d2e
GM
4774 * xselect.c (selection_request_dpyinfo): New variable.
4775 (x_handle_selection_request): Set it.
4776 (x_selection_request_lisp_error): Don't call
4777 x_decline_selection_request if selection request's display has
4778 been closed.
4779
52283633
SM
4780 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4781 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4782
457b792c
GM
47832001-01-10 Dave Love <fx@gnu.org>
4784
4785 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4786 ${SOME_MACHINE_LISP}, not ${lisp}.
4787
c1efd260
GM
47882001-01-10 Gerd Moellmann <gerd@gnu.org>
4789
52283633
SM
4790 * xdisp.c (display_line): On ttys, produce more than one truncation
4791 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4792
ac95a621
GM
4793 * xselect.c (x_reply_selection_request): Add a comment.
4794
c1efd260
GM
4795 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4796 XkbGetNames instead of XkbGetKeyboard.
4797
1bfb1345
DL
47982001-01-10 Dave Love <fx@gnu.org>
4799
4800 * sysdep.c (random): Revert the declaration.
4801
38119822
GM
48022001-01-09 Gerd Moellmann <gerd@gnu.org>
4803
52283633
SM
4804 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4805 Call function string_bytes.
35f464a7
GM
4806 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4807
4808 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4809 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4810 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4811 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4812 the current sblock.
4813 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4814 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4815 after sweeping strings, and at the end.
4816 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4817
38119822
GM
4818 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4819 ensure that pop_message is called.
4820
4821 * keyboard.c (Fexecute_extended_command): Use a
4822 record_unwind_protect to ensure that pop_message is called.
4823
4824 * lisp.h (push_message_unwind): Add prototype.
4825
4826 * xdisp.c (push_message_unwind): New function.
4827
4828 * fileio.c (do_auto_save_unwind): Do the pop_message here
4829 instead of in Fdo_auto_save.
4830 (Fdo_auto_save): Don't call pop_message.
4831
f47a9ec4
KR
48322001-01-08 Ken Raeburn <raeburn@gnu.org>
4833
4834 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4835 in inner block.
4836
a758f97d
GM
48372001-01-08 Gerd Moellmann <gerd@gnu.org>
4838
6d0afc03
GM
4839 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4840 when increasing window's vscroll.
4841
a758f97d
GM
4842 * macros.c (Qkbd_macro_termination_hook): New variable.
4843 (syms_of_macros): Initialize and staticpro it.
4844 (pop_kbd_macro): Run kbd-macro-termination-hook.
4845
4846 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4847
1bfb1345 48482001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4849
4850 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4851 arglist, for documentation's sake.
4852
0dac6924
AI
48532001-01-06 Andrew Innes <andrewi@gnu.org>
4854
4855 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4856 of *.pdb.
4857
8182406a
AI
48582001-01-05 Andrew Innes <andrewi@gnu.org>
4859
4860 * term.c (update_end): Don't check updating_frame; for some reason
4861 this can be 0 sometimes, such as after dismissing a popup menu,
4862 and isn't necessary given the explicit frame argument.
4863
3828218c
GM
48642001-01-05 Gerd Moellmann <gerd@gnu.org>
4865
4866 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4867 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4868
2f5ded21
GM
48692001-01-04 Gerd Moellmann <gerd@gnu.org>
4870
52283633 4871 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4872
4873 * xfns.c (x_create_tip_frame): Preserve the value of
4874 face_change_count around the creation of the tip frame.
52283633 4875
2f5ded21
GM
4876 * xfns.c (last_show_tip_args): New variable.
4877 (compute_tip_xy): New function.
4878 (Fx_show_tip): Reuse an existing tip frame, if possible.
4879 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4880
dfad65fa
DL
48812001-01-04 Dave Love <fx@gnu.org>
4882
64d4ec0f
DL
4883 * editfns.c (Fformat): Doc fix.
4884
dfad65fa
DL
4885 * systime.h (set_file_times): Prototype.
4886
4887 * widget.h (EmacsFrameSetCharSize_): Prototype.
4888
4889 * sysdep.c (random, srandom): Declare explicitly.
4890
4891 * dispextern.h (move_it_vertically_backward): Declare.
4892
85fe3b5e
GM
48932001-01-04 Gerd Moellmann <gerd@gnu.org>
4894
0f2ac578
GM
4895 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4896 like in Fx_create_frame.
4897
482cca61
GM
4898 * xfaces.c (set_font_frame_param): Don't do anything for
4899 non-graphical frames.
4900
85fe3b5e
GM
4901 * window.c (Fdelete_other_windows): Set window's window_end_valid
4902 to nil when changing the window's start. Don't change the
4903 window's start when its top position hasn't changed. If we do,
4904 this will set the window's optional_new_start, which act's like a
4905 force_start during redisplay with C-x 1 M-> under particular
4906 circumstances (see report from Per Starback to emacs-pretest-bug
4907 from 2000-12-13.).
4908
3e99d3b4
GM
49092001-01-03 Gerd Moellmann <gerd@gnu.org>
4910
a77dc1ec
GM
4911 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4912 short cut at the start of the function. Add an assertion.
4913 (reseat_at_next_visible_line_start): Add an assertion.
4914
2f3cad6c
GM
4915 * window.c (Frecenter): When changing the window start, set the
4916 window's window_end_valid to nil.
4917 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4918
4919 * dispextern.h (move_it_past_eol): Add prototype.
4920
4921 * xdisp.c (move_it_past_eol): New function.
4922
3e99d3b4
GM
4923 * window.c (Fwindow_end): Doc fix.
4924
49252001-01-03 Dave Love <fx@gnu.org>
4926
52283633 4927 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4928
bafb434c
GM
49292001-01-03 Gerd Moellmann <gerd@gnu.org>
4930
4931 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4932 the enabled_p flag of the glyph row at window_end_vpos to 0.
4933 (handle_single_display_prop): Fix last change.
4934
5297fb00
RS
49352001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4936
4937 * window.c (Frecenter): Doc fix.
4938
13d6a61c
AI
49392001-01-02 Andrew Innes <andrewi@gnu.org>
4940
4941 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4942
4943 * frame.h (output_method): Add output_w32_console method.
4944 (FRAME_W32_CONSOLE_P): New macro.
4945
4946 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4947 use output_w32_console method.
4948 (Qw32_console): New Lisp_Object.
4949 (Fframep): Return it.
4950 (syms_of_frame): Init it.
52283633 4951 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4952
4953 * xfaces.c (realize_default_face): Set face foreground and
4954 background to unspecified for w32_console frames.
4955 (realize_face): Realize face cache for w32_console frames.
4956 (realize_tty_face): Accept w32_console frames.
4957
52283633 4958 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4959 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4960 necessary, even if running interactively.
4961
4962 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4963 w32_console frames.
4964
52283633
SM
4965 * w32term.c (x_update_begin):
4966 (x_update_end):
4967 (x_clear_frame):
4968 (x_ins_del_lines):
4969 (x_change_line_highlight):
4970 (x_delete_glyphs):
4971 (w32_ring_bell):
4972 (x_update_begin):
4973 (x_update_end):
4974 (w32_reassert_line_highlight):
4975 (w32_frame_rehighlight):
13d6a61c
AI
4976 (w32_frame_raise_lower): Do nothing if not w32 frame.
4977
4978 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
4979
4980 * w32fns.c (Fx_display_color_cells): Determine correct value, when
4981 system doesn't tell us directly.
4982 (Fx_display_visual_class): Implement properly.
4983
d6bb0c0d
GM
49842001-01-02 Gerd Moellmann <gerd@gnu.org>
4985
4986 * window.c (Frecenter): Handle centering in graphical frames
4987 specially. Centering on the basis of line counts doesn't work
4988 reliably with variable-height lines.
52283633 4989
315f5865
EZ
49902001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
4991
4992 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
4993 and al[].
4994
52283633 4995 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
4996 (update_compositions): Remove unused variable `hook'.
4997
4998 * intervals.c (get_local_map): Remove unused variable `tem'.
4999
5000 * doprnt.c (doprnt1): Remove unused variable `size'.
5001
5002 * fns.c (Flength): Remove unused variable `tail'.
5003 (Fdelete): Remove unused variable `size'.
5004
5005 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5006 and `gcpro2'.
5007
52283633 5008 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5009
5010 * data.c (find_symbol_value): Remove extra 3rd argument in the
5011 call to swap_in_symval_forwarding.
5012
52283633 5013 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5014
5015 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5016 (trivial_regexp_p): Remove unused variable `c'.
5017 (boyer_moore): Remove unused variable `k'.
5018
5019 * indent.c (current_column): Remove unused variable `stopchar'.
5020 (Fcompute_motion): Remove unused variable `contin'.
5021
5022 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5023
5024 * dired.c (directory_files_internal): Fix a typo in a comment.
5025 Remove an unused variable `handler'.
52283633 5026 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5027 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5028 on BSD4_2.
5029
52283633 5030 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5031
5032 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5033 and `buf'.
5034 (Fmarker_insertion_type): Remove unused variable `buf'.
5035
5036 * insdel.c (make_gap): Remove unused variable `result'.
5037
52283633 5038 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5039 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5040 (menu_bar_items): Remove unused function-scope variable `tem'.
5041
5042 * fontset.c (fontset_ref): Remove unused variable `i'.
5043 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5044 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5045 (make_fontset_for_ascii_face): Remove unused variable `name'.
5046 (fs_load_font): Remove unused variable `font_idx'.
52283633 5047 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5048 (list_fontsets): Remove unused variable `tail'.
5049 (Fnew_fontset): Remove unused variables `family' and `registry'.
5050 (accumulate_font_info): Remove unused variable `tmp'.
5051 (Ffontset_font): Remove unused variable `id'.
5052 (syms_of_fontset): Remove unused variable `i'.
5053
5054 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5055 to x_term_init.
5056 (lookup_image): Remove unused variable `file'.
5057 (xbm_load): Remove unused variables `bitmap_data', `height', and
5058 `width'. Remove function-local variable `i', leave the
5059 block-local one.
5060 (gif_load): Remove unused variable `inc'.
5061
52283633 5062 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5063 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5064 leave only the one in the inner block.
5065
5066 * xfaces.c (face_fontset, realize_default_face): Remove unused
5067 variable `fontset'.
5068 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5069
5070 * term.c (encode_terminal_code): Remove unused variable `c'.
5071
5072 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5073 char *' instead of `char *'.
5074
5075 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5076 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5077 (Fchar_category_set): Remove unused variables `val', `charset',
5078 `c1' and `c2'.
5079
52283633
SM
5080 * coding.c (detect_coding_iso2022, setup_coding_system):
5081 Remove unused variable `i'.
315f5865
EZ
5082 (detect_coding_mask): Remove unused variable `idx'.
5083 (detect_coding): Remove unused variable `i'.
5084 (ccl_coding_driver): Remove unused variable `result'.
5085 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5086 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5087 (encode_coding_string): Remove unused variables `gcpro1' and
5088 `saved_coding_symbol'.
5089 (Ffind_coding_systems_region_internal): Remove function-local
5090 variable args[], leave only the block-local one.
5091 (code_convert_region1): Remove unused variable `len'.
5092
5093 * charset.c (char_printable_p): Remove unused variable `chars'.
5094 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5095 (str_to_multibyte): Remove unused variable `c'.
5096
5097 * window.c (size_window): Remove block-local variable `min_size'.
5098
5099 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5100 `header_line_height'.
5101 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5102 enum display_element_type.
5103
1a8a9daf
GM
51042001-01-02 Gerd Moellmann <gerd@gnu.org>
5105
6dde6abc 5106 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5107 statements that call X. Save away the error message in a local copy.
5108
1883b2c6
GM
5109 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5110 the start.
5111
a13be207
GM
5112 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5113 in or at the start of invisible text.
5114
1a8a9daf
GM
5115 * dispnew.c (update_window): Don't check_current_matrix_flags.
5116
3608c0f9
JR
51172001-01-01 Jason Rumney <jasonr@gnu.org>
5118
5119 * w32fns.c (x_figure_window_size): Do not allow new_height and
5120 new_width of frame to override specified values.
5121
abb1acc4
KH
51222000-12-30 Kenichi Handa <handa@etl.go.jp>
5123
52283633 5124 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5125
762a68ec
GM
51262000-12-29 Gerd Moellmann <gerd@gnu.org>
5127
52283633 5128 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5129 (update_window) [GLYPH_DEBUG]: Call it.
5130 (scrolling_window): Prevent including current rows which are below
5131 what's displayed in the window.
5132
5133 * xdisp.c (try_window_reusing_current_matrix)
5134 <new start <= old start>: Disable rows in the current matrix
5135 which are below the window after scrolling.
52283633 5136
762a68ec
GM
5137 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5138 is zero. It's not worth the complexity.
5139 (invisible_text_between_p): Put in #if 0 because unused.
5140
2d5912c1
GM
51412000-12-28 Gerd Moellmann <gerd@gnu.org>
5142
46f6a258
GM
5143 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5144 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5145
89f93679
GM
5146 * keyboard.c (echo_char): If C is an integer, always call
5147 push_key_description. Former code could signal an invalid
5148 character error.
5149
5150 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5151 If set, print multibyte text.
5152 (Fsingle_key_description): Call push_key_description with
5153 FORCE_MULTIBYTE set.
5154 (describe_buffer_bindings): Likewise.
5155
5156 * lisp.h (push_key_description): Add prototype.
5157
c06017fb
GM
5158 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5159 around the call to redisplay_internal.
5160
f1d2ce7f
GM
5161 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5162
2d5912c1
GM
5163 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5164
9371f831
KH
51652000-12-28 Kenichi Handa <handa@etl.go.jp>
5166
5167 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5168 (ccl_driver): New local variable `extra_bytes'.
5169
5170 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5171
52283633
SM
5172 * coding.c (setup_coding_system):
5173 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5174 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5175
0c80628a
KH
51762000-12-28 Kenichi Handa <handa@etl.go.jp>
5177
5178 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5179 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5180 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5181 (decode_composition_emacs_mule): New function.
5182 (decode_coding_emacs_mule): Decode composition sequence by calling
5183 decode_composition_emacs_mule.
5184 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5185 (encode_coding_emacs_mule): Changed from macro to function.
5186 If a text contains compositions, encode them correctly.
0c80628a
KH
5187 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5188 that decoding and encoding are required.
5189
3e32cc27
GM
51902000-12-27 Gerd Moellmann <gerd@gnu.org>
5191
5e25feee
GM
5192 * xfaces.c (PT_PER_INCH): New macro.
5193 (xlfd_point_size): Compute real point size from font's pixel size.
5194 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5195 instead of 72.
5196
892d8fcd
GM
5197 * .gdbinit: Comment out the line pointing to the Lesstif source
5198 directory.
5199
12c8b416
GM
5200 * window.c (Frecenter): Use displayed_window_lines instead
5201 of window_internal_height.
5202
6061fbf0
GM
5203 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5204 instead of x-toolkit-scroll-bars-p.
5205 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5206
5207 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5208 instead of x-toolkit-scroll-bars-p.
5209 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5210
3e32cc27
GM
5211 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5212 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5213 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5214 New variables.
5215 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5216 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5217 (build_frame_matrix_from_leaf_window): Remove unused code.
5218 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5219 redisplay history.
5220 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5221 (update_window) [GLYPH_DEBUG]: Likewise.
5222 (syms_of_display): Defsubr dump-redisplay-history.
5223
31798cfe
GM
52242000-12-23 Gerd Moellmann <gerd@gnu.org>
5225
f717c2ba
GM
5226 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5227 the end of the prompt. Set echo_after_prompt to the offset
5228 of echoptr in echobuf.
5229
aeb2b8fc
GM
5230 * xdisp.c (init_from_display_pos): Pop until the iterator's
5231 stack is empty; there may be frames for stretch or images
5232 on the stack.
5233
31798cfe
GM
5234 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5235 (save_or_restore_current_matrix): New function for the same
5236 purpose, but more efficient.
5237 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5238
f8156156
EZ
52392000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5240
5241 * xdisp.c (syms_of_xdisp): Fix last change.
5242
bdd6d4e8
GM
52432000-12-23 Gerd Moellmann <gerd@gnu.org>
5244
5245 * xdisp.c (syms_of_xdisp): Doc fix.
5246
5247 * xdisp.c (redisplay_window): Remove label restore_buffers;
5248 use finish_scroll_bars instead to make sure that scroll bars
5249 are redeemed. If we don't do this, flickering can result from
5250 scroll bars being destroyed and recreated.
5251
9436cdf9
JR
52522000-12-22 Jason Rumney <jasonr@gnu.org>
5253
5254 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5255 in the wrong colors when the foreground is not black.
5256 (expose_window): Don't redraw the window that's currently being
5257 updated.
5258
951f9df5
GM
52592000-12-22 Gerd Moellmann <gerd@gnu.org>
5260
856ff7a7
GM
5261 * window.c (size_window): When setting the window's too_small_ok
5262 flag, compare old size with minimum size depending on WIDTH_P,
5263 don't compare with window_min_width.
52283633 5264
951f9df5
GM
5265 * window.c (delete_window): Simplify somewhat.
5266 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5267 freeing window matrices. The flag windows_or_buffers_changed is
5268 set, so the next redisplay will consider all windows; this should
5269 suffice.
5270
886bc933
KH
52712000-12-22 Kenichi Handa <handa@etl.go.jp>
5272
5273 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5274
5275 * ccl.h (struct ccl_program): New member cr_consumed.
5276
5277 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5278 (CCL_READ_CHAR): Handle EOL conversion here.
5279 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5280
177f4e88
GM
52812000-12-21 Gerd Moellmann <gerd@gnu.org>
5282
52283633 5283 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5284
5285 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5286 otherwise tabs of different size compare equal.
5287
5288 * callint.c (Fcall_interactively): Prevent a compiler warning.
5289
5290 * print.c (print_unwind): Return nil.
5291 (PRINTDECLARE): Initialize all local variables.
5292 (print_preprocess): Add a default case.
5293
8e15274f
GM
5294 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5295
5296 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5297
52283633 5298 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5299 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5300
5301 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5302
5303 * dispnew.c (ensure_frame_matrix): Removed.
5304 (save_frame_matrix, restore_frame_matrix): New functions.
5305 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5306
5307 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5308 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5309
99012074
AI
53102000-12-21 Andrew Innes <andrewi@gnu.org>
5311
5312 * w32term.c (x_update_begin): Regenerate the palette here, rather
5313 than for each window.
5314
5315 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5316 palette is NULL, since this corrupts memory! Also get
5317 display_info reference from frame.
5318
29ef7d2d
JR
53192000-12-21 Jason Rumney <jasonr@gnu.org>
5320
5321 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5322
5323 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5324 to avoid returning without releasing it.
3e27fa1f 5325
3f9d67a6
KH
53262000-12-21 Kenichi Handa <handa@etl.go.jp>
5327
587fc3f9
KH
5328 * keymap.c (push_key_description): Don't convert eight-bit-control
5329 and eight-bit-graphic to multibyte character.
5330
3f9d67a6
KH
5331 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5332 generic character and CODE1 is nil, return the smallest character
5333 in CHARSET.
5334
774ba8c9
DL
53352000-12-20 Dave Love <fx@gnu.org>
5336
5337 * s/osf5-0.h (NSIG): Don't redefine.
5338
88416888
SM
53392000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5340
5341 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5342 excluding menu-bar and tool-bar.
5343 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5344 (menu_item_p): Remove.
5345 (where_is_internal_1): Don't ignore menu-items.
5346
a6426c6f
GM
53472000-12-20 Gerd Moellmann <gerd@gnu.org>
5348
03ff8aab
GM
5349 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5350 into account.
5351
5352 * window.c (make_window): Initialize window's min_hscroll.
5353 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5354 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5355 to zero.
5356 (struct saved_window): New member min_hscroll.
5357 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5358 (Fset_window_configuration): Set window's min_hscroll.
5359 (save_window_save): Save window's min_hscroll.
5360 (compare_window_configurations): Compare min_hscroll values.
5361
5362 * window.h (struct window): New member min_hscroll.
5363
5364 * keyboard.c (echo_prompt): Prevent a compiler warning.
5365
8de4aaf8
GM
5366 * xdisp.c (try_cursor_movement): Fix last change. The real
5367 condition is that PT is at the end of the row, and should
5368 be displayed at the start of the next row.
52283633 5369
3f7e3031
GM
5370 * xdisp.c (try_cursor_movement): If we end on a partially
5371 visible line, end we already decided to scroll, return -1.
5372
a6426c6f
GM
5373 * dispextern.h (ensure_frame_matrix): Add prototype.
5374
5375 * window.c (delete_window, Fsplit_window)
5376 (Fset_window_configuration): Call ensure_frame_matrix.
5377
52283633
SM
5378 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5379 New functions.
a6426c6f
GM
5380 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5381 completed, call fake_current_matrices instead of marking frame
5382 garbaged.
5383
57fa2774
JR
53842000-12-20 Jason Rumney <jasonr@gnu.org>
5385
5386 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5387
d925df90
EZ
53882000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5389
5390 * fns.c (Frequire): Doc fix.
5391
7b93a85b
GM
53922000-12-19 Gerd Moellmann <gerd@gnu.org>
5393
52283633 5394 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5395
c74e645b
GM
5396 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5397 currently displaying a message.
5398
7b93a85b
GM
5399 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5400 xterm.h.
5401 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5402
90d97e64
AI
54032000-12-18 Andrew Innes <andrewi@gnu.org>
5404
5405 * w32.c (w32_strerror): New function.
5406
5407 * w32.h (w32_strerror): New extern.
5408
5409 * w32fns.c (Fw32_shell_execute): Use it.
5410
91c9e6ce
GM
54112000-12-18 Gerd Moellmann <gerd@gnu.org>
5412
5413 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5414
6f4745e2
EZ
54152000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5416
5417 * msdos.c (IT_set_face): Obey inverse_video.
5418
c9e088ce
KH
54192000-12-18 Kenichi Handa <handa@etl.go.jp>
5420
5421 * dired.c (directory_files_internal): Always return decoded filenames.
5422
c3695f5f
GM
54232000-12-18 Gerd Moellmann <gerd@gnu.org>
5424
52d8e4ff
GM
5425 * xterm.c (x_connection_closed): Prevent being called recursively
5426 because of an error condition in XtCloseDisplay.
52283633 5427
62be9979
GM
5428 * xdisp.c (init_iterator): If noninteractive, and the frame's
5429 face cache is null, make one.
5430
52283633 5431 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5432
c3695f5f
GM
5433 * process.c (wait_reading_process_input): Check for pending
5434 input when running timers.
5435
78555fbe
EZ
54362000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5437
52283633 5438 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5439
b2b36264
KH
54402000-12-18 Kenichi Handa <handa@etl.go.jp>
5441
5442 * process.c (read_process_output): Don't run a filter if the code
5443 decoder produces nothing but carryover.
5444
9c543fbf
AI
54452000-12-17 Andrew Innes <andrewi@gnu.org>
5446
5447 * w32.c (sys_rename): Only check errno against EEXIST, and not
5448 EACCES, when determining whether rename failed because the target
5449 exists. This was resulting in indefinite looping on Windows 9x if
5450 the source file was locked by another process.
5451
5452 * w32fns.c (Ffile_system_info): New function.
5453 (syms_of_w32fns): Defsubr it.
5454
10c2b5a8
GM
54552000-12-17 Gerd Moellmann <gerd@gnu.org>
5456
b0228ace
GM
5457 * window.c (coordinates_in_window): Fix computation for
5458 position on vertical line between mode lines.
5459
10c2b5a8
GM
5460 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5461 Don't alter tip_frame or tip_window.
5462 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5463 was deleted.
5464
c844a81a
GM
5465 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5466 Don't alter tip_frame or tip_window.
5467 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5468 was deleted.
5469
6c825f8e
EZ
54702000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5471
5472 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5473 be consistent with the doc string. Reported by NAKAJIMA Mikio
5474 <minakaji@osaka.email.ne.jp>.
5475
af4bb4c8
KH
54762000-12-16 Kenichi Handa <handa@etl.go.jp>
5477
5478 * xfaces.c (Vface_ignored_fonts): New variable.
5479 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5480 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5481
8062e53a
GM
54822000-12-15 Gerd Moellmann <gerd@gnu.org>
5483
e87b8809
GM
5484 * dispnew.c (update_window): Detect pending input every nth line
5485 updated, i.e. do it depending on real work done, and not on the
5486 vpos of the line.
5487
5488 * xterm.c (expose_window): Don't redraw the window that's
5489 currently being updated.
5490
a6768cc5
GM
5491 * window.c (Fset_window_point): Remove test for
5492 cursor_in_non_selected_windows.
5493
4ea7fdca
GM
5494 * lread.c (read1): Recognize end of file after `\\'.
5495
8062e53a
GM
5496 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5497 not unwind_create_frame.
5498
bb7959c1
GM
54992000-12-15 Dave Love <fx@gnu.org>
5500
5501 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5502 bcopy & al.
5503
5504 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5505
ced04c42
KH
55062000-12-15 Kenichi Handa <handa@etl.go.jp>
5507
c5443913
KH
5508 * coding.c (setup_coding_system): Clear all members of the struct
5509 coding_system at first.
bc137305
KH
5510 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5511 argument.
5512 (code_convert_region): Don't override coding->src_multibyte and
5513 coding->dst_multibyte.
c5443913 5514
ced04c42
KH
5515 * fns.c (Fmd5): Docstring improved.
5516
c2d7f289
MB
55172000-12-15 Miles Bader <miles@gnu.org>
5518
5519 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5520 are actually marked as mode-lines; otherwise use
5521 estimate_mode_line_height.
5522
9d7d9263
GM
55232000-12-14 Gerd Moellmann <gerd@gnu.org>
5524
5525 * editfns.c (Fformat): Prevent a buffer overrun when the format
5526 specifies a precision.
5527
7cf0153a
EZ
55282000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5529
5530 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5531 argument is outside the range [2..3].
5532
1de0f662
AI
55332000-12-14 Andrew Innes <andrewi@gnu.org>
5534
5535 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5536 nothing to do. Bind inhibit-quit.
5537 (tip_frame): Make it a Lisp_Object.
5538 (x_create_tip_frame): Set tip_frame after it has been added to
5539 Vframe_list.
5540 (Fx_show_tip): Don't set tip_frame here.
52283633 5541 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5542 (unwind_create_frame, unwind_create_tip_frame): New functions.
5543 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5544 while a frame is only partially constructed.
5545
5546 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5547 (x_free_frame_resources): New function.
5548 (x_destroy_window): Use it.
5549
02387dcc
GM
55502000-12-14 Gerd Moellmann <gerd@gnu.org>
5551
5552 * xfns.c (Fx_backspace_delete_keys_p): New function.
5553 (syms_of_xfns): Defsubr it.
5554
5555 * config.in (HAVE_XKBGETKEYBOARD): Add.
5556
0544ef49
KH
55572000-12-14 Kenichi Handa <handa@etl.go.jp>
5558
98d62747
KH
5559 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5560 Always store string in multibyte representation in echobuf.
5561 (echo_char): Always store string in multibyte representation in
5562 echobuf.
5563 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5564 (read_key_sequence): Adjusted for the change of echo_prompt.
5565
a20193cd
KH
5566 * fns.c (Fmd5): Docstring improved.
5567
191b83b6
KH
5568 * lisp.h (detect_coding_system): Prototype adjusted.
5569
0544ef49
KH
5570 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5571 (detect_coding_emacs_mule, detect_coding_iso2022,)
5572 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5573 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5574 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5575 (detect_coding_mask, detect_coding_system): New argument
5576 MULTIBYTEP. Callers changed.
1da1bb05
KH
5577 (decode_coding_string): Set coding->src_multibyte and
5578 coding->dst_multibyte before calling detect_coding and detect_eol.
5579 Update them after some coding system is detected.
52283633 5580
d5b3eb1b
SM
55812000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5582
5583 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5584
5585 * keyboard.c (menu_bar_items, tool_bar_items):
5586 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5587
f7f8bb69
GM
55882000-12-13 Gerd Moellmann <gerd@gnu.org>
5589
52283633 5590 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5591 New variables.
5592 (unwind_create_frame, unwind_create_tip_frame): New functions.
5593 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5594 while a frame is only partially constructed.
5595
5596 * xterm.h (x_free_frame_resources): Declare.
5597
5598 * xterm.c (x_free_frame_resources): New function.
5599 (x_destroy_window): Use it.
5600
e10da507
GM
5601 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5602 don't interrupt the update for pending input initially, i.e.
5603 update at least some lines.
5604
5605 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5606
d5b3eb1b 5607 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5608
5609 * xfns.c (gray_bitmap_bits): Declare `char *'.
5610
90aa2856
GM
56112000-12-12 Gerd Moellmann <gerd@gnu.org>
5612
5613 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5614 lines start with a relief line.
5615
a308c9cd
DL
56162000-12-12 Dave Love <fx@gnu.org>
5617
5618 * window.c (Fdisplay_buffer): Doc fix.
5619 (Fwindow_list): Remove unused var.
5620
5621 * buffer.h (mmap_set_vars): Declare.
5622
5623 * window.h (Fset_window_point): Declare.
5624
d575011f
EZ
56252000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5626
bf6282d2 5627 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5628 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5629 variable `area'. When looking for a row under (X,Y), give up if some
5630 of the previous rows is not enabled.
d575011f 5631
ecf4d726
GM
56322000-12-12 Gerd Moellmann <gerd@gnu.org>
5633
2ebf6139
GM
5634 * window.c (Fset_window_point): If displaying cursors in windows
5635 other than the selected window, make sure redisplay updates
5636 other windows to show the new value of point in the window.
5637
5638 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5639
bfdb75ee
GM
5640 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5641 the buffer is the sole visible buffer when in the mini-buffer.
5642
52283633 5643 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5644 Bind `inhibit-read-only' to t.
5645 (unwind_with_echo_area_buffer): Use AREF.
5646
c0006262
GM
5647 * xfns.c (Fx_hide_tip): Simplified.
5648
52283633
SM
5649 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5650 instead of `1'.
e9a59cad 5651
ecf4d726
GM
5652 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5653
e5959a9a
GM
56542000-12-11 Gerd Moellmann <gerd@gnu.org>
5655
a3642e49 5656 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5657
44b5a125
GM
5658 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5659 nothing to do. Bind inhibit-quit.
5660 (tip_frame): Make it a Lisp_Object.
5661 (x_create_tip_frame): Set tip_frame after it has been added to
5662 Vframe_list.
5663 (Fx_show_tip): Don't set tip_frame here.
5664
5665 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5666
5667 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5668 Lisp_Object.
5669
5670 * dispextern.h: Change external declaration of tip_frame.
5671
d990421f
GM
5672 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5673 return an empty string.
5674
4db87380
GM
5675 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5676 of the window's update_mode_line flag, since the former is set by
5677 force-mode-line-update, not the latter. This makes
5678 column-number-mode slightly faster.
52283633 5679
e5959a9a
GM
5680 * xdisp.c (try_window_id) <all changes above window start>:
5681 Set the cursor.
5682
169fe44e
GM
56832000-12-11 Paul Eggert <eggert@twinsun.com>
5684
5685 * config.in (HAVE_FTELLO): Remove.
5686 (HAVE_FSEEKO): Add.
5687 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5688 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5689 HAVE_FTELLO.
5690 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5691 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5692
59ec59ae
MB
56932000-12-11 Miles Bader <miles@gnu.org>
5694
5695 * window.c (displayed_window_lines): Don't round up when
5696 converting empty space at bottom to lines.
ff904dd6
MB
5697 Handle non-newline-terminated final lines properly.
5698 (Fwindow_text_height): New function (used to be in lisp).
5699 (syms_of_window): Initialize it.
59ec59ae 5700
42ebfa31
SM
57012000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5702
5703 * syntax.c (scan_lists): Check that the right quote char has the
5704 right Sstring syntax when jumping over strings.
5705 (init_syntax_once): Use Smax rather than 13.
5706
5cdb3cf3
MB
57072000-12-09 Miles Bader <miles@gnu.org>
5708
5709 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5710 with PARTIALLY, inverting the sense.
5711 (window_scroll_pixel_based): Scroll partially visible lines into
5712 place if we hit the beginning or end of the buffer.
a12167c5
MB
5713 (displayed_window_lines): Don't include partially visible lines.
5714 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5715
842b2a94
GM
57162000-12-08 Gerd Moellmann <gerd@gnu.org>
5717
5718 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5719
5720 * tparam.c (tparam1): Change the way buffers are reallocated to be
5721 portable and less obfuscated.
5722
5723 * termcap.c (tgetent): Change the way buffers are reallocated to
5724 be portable and less obfuscated.
5725
5726 * macros.c (store_kbd_macro_char): Change the way buffers are
5727 reallocated to be portable and less obfuscated.
5728
5729 * lread.c (read1): Change the way buffers are reallocated to be
5730 portable and less obfuscated.
5731
5732 * doc.c (Fsubstitute_command_keys): Change the way buffers
5733 are reallocated so that it is portable.
5734
137cad7c
EZ
57352000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5736
5737 * dosfns.c (Ffile_system_info): New function.
5738 (syms_of_dosfns): Defsubr it.
5739
5c7f629c
SM
57402000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5741
5742 * alloc.c (gc_sweep): Add comment.
5743
959e647d
GM
57442000-12-07 Gerd Moellmann <gerd@gnu.org>
5745
52283633
SM
5746 * sound.c (vox_configure): Change order of ioctls.
5747 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5748 Ignore errors when changing volume.
5749 (vox_close): Don't reset the device.
5750
926b7e5e
GM
5751 * process.c (read_process_output): Make sure the process marker's
5752 position is valid when the process buffer is changed in
5753 after-change functions. W3 does that.
52283633 5754
959e647d
GM
5755 * xfns.c (x_free_gcs): New function.
5756
5757 * xterm.h (x_free_gcs): Add prototype.
5758
5759 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5760 freeing GCs here.
5761
5762 * xterm.c (x_destroy_window): Call x_free_gcs so that
5763 resources of non-toolkit X windows will be freed.
5764
478ea067
AI
57652000-12-07 Andrew Innes <andrewi@gnu.org>
5766
5767 * w32fns.c (xlfd_charset_of_font): Fix last change.
5768
fbee3231
DL
57692000-12-06 Dave Love <fx@gnu.org>
5770
67292061
DL
5771 * md5.h (__P): Don't define -- it comes from config.h.
5772
fbee3231
DL
5773 * strftime.c: Change some #if foo to #ifdef foo.
5774
4ee87dbb
AI
57752000-12-06 Andrew Innes <andrewi@gnu.org>
5776
5777 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5778
52283633 5779 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5780 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5781 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5782
9765b4a4
GM
57832000-12-06 Gerd Moellmann <gerd@gnu.org>
5784
d285b373
GM
5785 * alloc.c (gc_sweep): Prevent symbols read during loadup
5786 from being freed.
5787
384333ee
GM
5788 * xdisp.c (underlying_face_id): New function.
5789 (handle_face_prop, face_before_or_after_it_pos): Use it
5790 to determine the face ``under'' a string. Let strings inherit
5791 the face of the buffer under them.
5792
5793 * xfaces.c (face_at_string_position): Update function comment.
52283633 5794
d4b72d58
GM
5795 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5796 matrix if the window's left position has changed; we need to
5797 redraw it in this case.
5798
5799 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5800
e1d05387
GM
5801 * window.c (coordinates_in_window): Check mouse on mode-line or
5802 header-line first.
5803
eb1b0c74
GM
5804 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5805 advertized by the function documentation.
5806
d94d636f
GM
5807 * window.c (syms_of_window): Doc fix.
5808
3887b449
GM
5809 * sound.c (vox_configure): Set volume for left and right channel.
5810 (sound_cleanup): Return nil.
5811
efc8f57a
GM
5812 * xdisp.c (move_it_by_lines): Fix paren typo.
5813
9765b4a4
GM
5814 * xterm.c (x_load_font): Don't use the font's max_bounds for
5815 computing the height of the font. If max_bounds' ascent or
5816 descent are greater than the font's ascent or descent, this means
5817 glyphs overlap, which should be handled now by redisplay.
5818
6529ed87
GM
5819 * window.c (Veven_window_heights): New variable.
5820 (syms_of_window): DEFVAR_LISP it.
5821 (Fdisplay_buffer): Check Veven_window_heights before evening the
5822 window heights.
52283633 5823
0eb2ecde
MB
58242000-12-06 Miles Bader <miles@gnu.org>
5825
5826 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5827 update `default-frame-alist' instead of setting no frame parameters.
5828
03d7a167
KH
58292000-12-06 Kenichi Handa <handa@etl.go.jp>
5830
5831 * composite.c (update_compositions): Fix typo (use the correct
5832 variable).
5833
5f8803c2
JR
58342000-12-05 Jason Rumney <jasonr@gnu.org>
5835
5836 * md5.h: Remove underscores from function declarations.
5837 (__attribute__, __alignof__) [!__GNUC__]: Define.
5838
5839 * md5.c: Delay include of md5.h until after namespace cleaning.
5840
c28a075b
JR
5841 * makefile.w32-in (fns.o): Depend on md5.h
5842 (md5.o): New target.
5843 (sunfns.o): Remove.
5844
5845 * makefile.nt: Likewise.
5846
ff3c7056
JR
58472000-12-05 Jason Rumney <jasonr@altavista.net>
5848
5849 * w32term.c (expose_area): Complete last change.
5850
0c21eeeb
KR
58512000-12-05 Ken Raeburn <raeburn@gnu.org>
5852
5853 * minibuf.c: Include intervals.h.
5854
f201d732
JR
58552000-12-05 Jason Rumney <jasonr@gnu.org>
5856
5857 * w32term.c (x_produce_glyphs): If a font for a component of
5858 a composition is not found, use 1 pixel dot ascent and 0 dot
5859 descent value to avoid displaying terribly tall empty boxes.
5860 (expose_area): Pass x-coordinate relative to the exposed
5861 area to x_draw_glyphs instead of a window-relative coordinate.
5862
21999ab9
GM
58632000-12-05 Gerd Moellmann <gerd@gnu.org>
5864
4d2036e4
GM
5865 * xdisp.c (next_element_from_ellipsis): Save face before selective
5866 display in saved_face_id, and set face_before_selective_p.
5867 (reseat_1): Reset face_before_selective_p.
5868 (append_space, extend_face_to_end_of_line): If iterator's
5869 face_before_selective_p is set, use the face from saved_face_id.
5870 (extend_face_to_end_of_line): For tty frames, make sure to
5871 use the right face id when producing spaces at the end of
5872 the line.
5873
5874 * dispextern.h (struct it): Add face_before_selective_p.
5875
52be17cc
GM
5876 * keyboard.c (record_char): Don't record identical help-echo
5877 events in recent_keys.
5878
8a4f36cc
GM
5879 * xterm.c [USE_X_TOOLKIT]: Close the display.
5880 (xim_close_dpy): Handle case that the display has been closed.
5881
57d6e381
GM
5882 * xterm.c (x_destroy_window): Reset the frame's X window after
5883 destroying it.
5884
21999ab9
GM
5885 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5886 variable window_width.
5887 (line_draw_cost): Fix code skipping over spaces at the end of the
5888 line when must_write_spaces is not set.
5889 (scrolling_window): Fix code inserting runs in list of all runs.
5890
91372bb7
KH
58912000-12-05 Kenichi Handa <handa@etl.go.jp>
5892
5893 * coding.c (setup_coding_system): Be sure to initialize
5894 coding->category_idx.
5895
6c083b4c
GM
58962000-12-04 Gerd Moellmann <gerd@gnu.org>
5897
0c68ce6f 5898 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5899
6452929e
GM
5900 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5901 area to x_draw_glyphs instead of a window-relative coordinate.
5902
d7f31e22
GM
5903 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5904 error in the message.
5905
ae18aa3b
GM
5906 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5907 timer after having read a key. It's not good for code reading
5908 several keys in a loop, like an input method.
5909
caa15ef7
GM
5910 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5911 record undo information for format-decode.
5912
5913 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5914 current buffer is read-only, not if it isn't.
5915
6c083b4c
GM
5916 * keyboard.c (record_char): Record `help-echo' input events
5917 in recent_keys only if they display some help. Don't record
5918 `help-echo' events as macro char.
5919
caa15ef7
GM
59202000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5921
5922 * editfns.c (save_excursion_restore): Don't move point
5923 in another window if it is showing the wrong buffer.
5924 Avoid the call to Fwindow_live_p, for speed.
5925
5a13529b
KH
59262000-12-04 Kenichi Handa <handa@etl.go.jp>
5927
e225faa7
KH
5928 * xfaces.c (struct font_name): New member registry_priority.
5929 (split_font_name): Initialize the above member to zero.
5930 (concat_font_list): New function.
5931 (font_list): Include fonts of all alternative registries.
5932 (FONT_POINT_SIZE_QUANTUM): New macro.
5933 (better_font_p): Ignore point size difference less than
5934 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5935
e89648b4
KH
5936 * xterm.c (x_produce_glyphs): If a font for a component of
5937 a composition is not found, use 1 pixel dot ascent and 0 dot
5938 descent value to avoid displaying terribly tall empty boxes.
5939
5a13529b
KH
5940 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5941
d7935eb6
KR
59422000-12-03 Ken Raeburn <raeburn@gnu.org>
5943
5944 * coding.h (code_convert_string1): Declare.
5945
5946 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5947
52283633 5948 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5949
0dd5e255
JR
59502000-12-02 Jason Rumney <jasonr@gnu.org>
5951
5952 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5953 correctly for single byte character case.
5954 (w32_per_char_metric): Do not try to make any assumptions about
5955 the metrics of BDF fonts.
250cfece 5956 (x_estimate_mode_line_height): If `mode-line' face
52283633 5957 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5958 (note_mouse_highlight): Change the cursor shape on the vertical
5959 border between windows [not enabled].
5960
5961 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5962
5963 * w32fns.c (Fx_create_frame): Reintroduce the call to
5964 face-set-after-frame-defaults.
5965 (Vx_window_horizontal_drag_shape): New variable.
5966 (syms_of_xfns): DEFVAR_LISP it.
5967 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
5968 enabled].
0dd5e255 5969
b5d8d2ca
GM
59702000-12-02 Simon Josefsson <simon@josefsson.org>
5971
5972 * fns.c (Fmd5): Use a different logic to decide the coding system
5973 to use.
5974
5975 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
5976
fbb87147
EZ
59772000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
5978
52283633 5979 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 5980
447e9da0
GM
59812000-12-01 Gerd Moellmann <gerd@gnu.org>
5982
7708ced0
GM
5983 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
5984 height for YNegative.
5985 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
5986 height; also see comment there.
5987
447e9da0
GM
5988 * window.c (coordinates_in_window): Handle computations for
5989 positions on the vertical bar and fringes differently for
5990 window-system frames. Consider some pixels near the vertical bar
5991 as on the bar if the frame doesn't have vertical scroll bars.
5992 Associate positions between mode or header lines with the
5993 right window, the left one.
5994
86d1db20
JR
59952000-12-01 Jason Rumney <jasonr@gnu.org>
5996
5997 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
5998
5999 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6000 invalid frame.
6001
a1d58e5b
GM
60022000-12-01 Gerd Moellmann <gerd@gnu.org>
6003
52283633 6004 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6005 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6006 (save_window_save, Fset_window_configuration): Save/restore
6007 window's orig_top and orig_height.
6008
89c609af
JR
60092000-12-01 Jason Rumney <jasonr@gnu.org>
6010
4d177746 6011 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6012
89c609af
JR
6013 * w32fns.c (x_set_cursor_color): Fix last change.
6014
eccc05db
GM
60152000-11-30 Gerd Moellmann <gerd@gnu.org>
6016
31b6671b
GM
6017 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6018 sure that the next redisplay displays the minibuffer, so that
6019 the cursor will be replaced with what the minibuffer wants.
6020
eccc05db
GM
6021 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6022 #ifndef instead of using #if.
6023 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6024 USE_TOOLKIT_SCROLL_BARS is defined.
6025
162de750
JR
60262000-11-30 Jason Rumney <jasonr@gnu.org>
6027
6028 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6029 x_display_cursor.
6030
693c4692
GM
60312000-11-30 Gerd Moellmann <gerd@gnu.org>
6032
6033 * fns.c (Fmd5): Doc fix.
6034
b5d8d2ca 60352000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6036
6037 * fns.c (Fmd5): New function.
6038 (syms_of_fns): Defsubr md5.
6039
6040 * Makefile.in (obj): Add md5.o
6041
b02cd40b
GM
60422000-11-30 Gerd Moellmann <gerd@gnu.org>
6043
edfb795e
GM
6044 * md5.h, md5.c: New files, taken from glibc.
6045
df3aedcf
GM
6046 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6047
b02cd40b 6048 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6049 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6050
8b5176cd
SM
60512000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6052
6053 * eval.c (Frun_hooks): Allow 0 arguments.
6054
346598f1
GM
60552000-11-29 Gerd Moellmann <gerd@gnu.org>
6056
f9396e03
GM
6057 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6058 is over the menu bar widget, say it's not on the frame.
6059
4a967a9b
GM
6060 * xfns.c (Fx_create_frame): Reintroduce the call to
6061 face-set-after-frame-defaults.
6062
346598f1
GM
6063 * eval.c (Fsignal): Reset handling_signal.
6064
222456a1
JR
60652000-11-28 Jason Rumney <jasonr@gnu.org>
6066
6067 * w32menu.c (add_menu_item): Reset menu item text when changing
6068 type to radio button.
6069
8049ddc0
GM
60702000-11-28 Gerd Moellmann <gerd@gnu.org>
6071
346598f1 6072 * xselect.c: Update copyright.
f4f4ee4d 6073
bebe4a2c
GM
6074 * window.c (coordinates_in_window): If on a mode or header line,
6075 but sufficiently close to its start, return ``on vertical
6076 border''. This gives us a way to drag windows horizontally when
6077 using toolkit scroll bars.
6078
6079 * xterm.c (note_mouse_highlight): Change the cursor shape
6080 on the vertical border between windows.
6081
6082 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6083
6084 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6085 (syms_of_xfns): DEFVAR_LISP it.
6086 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6087
8d2c2642
GM
6088 * textprop.c (text_read_only): New function.
6089 (verify_interval_modification): Use it instead of signaling
6090 `text-read-only'. This makes it easier to catch this error
52283633 6091 with a breakpoint.:
8d2c2642 6092
52283633 6093 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6094 not end of line, which includes CR.
6095
5a2bae6c
KH
60962000-11-28 Kenichi Handa <handa@etl.go.jp>
6097
6098 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6099 include no-conversion.
6100
ae31f84d
JR
61012000-11-27 Jason Rumney <jasonr@gnu.org>
6102
6103 * w32fns.c (w32_load_system_font): Always mark font as double byte
6104 if codepage is unicode.
6105
67f1cf4c
GM
61062000-11-27 Gerd Moellmann <gerd@gnu.org>
6107
4a74d071 6108 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6109 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6110
902ae620
GM
6111 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6112 `vertical-line', `mode-line' and `header-line' events.
6113
6114 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6115 of a character, a TAB for instance. This is easier than to set
6116 up the iterator exactly, and it's not a frequent case, so the
6117 additional effort wouldn't really pay off.
6118
c1e279c2
AC
61192000-11-26 Andrew Choi <akochoi@i-cable.com>
6120
67f1cf4c 6121 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6122 init_window_once.
6123
a609568a
JR
61242000-11-25 Jason Rumney <jasonr@gnu.org>
6125
52283633
SM
6126 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6127 Args to window_from_coordinates should be pixel coordinates.
48b21762 6128
a609568a
JR
6129 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6130 redisplay handles them properly.
6131
a658d039
MB
61322000-11-25 Miles Bader <miles@gnu.org>
6133
6134 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6135
d3416cca
JR
61362000-11-24 Jason Rumney <jasonr@gnu.org>
6137
6138 * w32.c (init_environment): Set LANG environment variable based on
6139 locale settings, if not set.
6140
6141 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6142 making tool bar smaller. When clearing the frame, also
6143 clear current matrices. Clear frame when tool bar disappears.
6144 Don't use more lines for the tool-bar than is available.
6145 (x_change_window_heights): New function.
6146
ba193890
GM
61472000-11-24 Gerd Moellmann <gerd@gnu.org>
6148
2be8f184
GM
6149 * xdisp.c (init_from_display_pos): If POS says we're already after
6150 an overlay string ending at POS, make sure to pop the iterator
6151 because it will be in front of that overlay string. When POS is
6152 ZV, we've thereby also ``processed'' overlay strings at ZV.
6153
ba193890
GM
6154 * xfaces.c (lface_from_face_name): Function comment fix.
6155
1862a24e
MB
61562000-11-24 Miles Bader <miles@gnu.org>
6157
6158 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6159 apply `mode-line-inverse-video' -- zero means force display using
6160 the default face, non-zero means display using the specialized face.
6161 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6162
f07fa1b8
KH
61632000-11-23 Kenichi Handa <handa@etl.go.jp>
6164
6165 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6166 hard coded `4'.
6167
2bcdf662
EZ
61682000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6169
6170 * coding.c (decode_coding_emacs_mule): Fix the case of
6171 CODING_EOL_LF, which used uninitialized value of c.
6172
ba8299ff
SM
61732000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6174
6175 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6176
f4117c4d
GM
61772000-11-22 Gerd Moellmann <gerd@gnu.org>
6178
03e757c1
GM
6179 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6180 buffer object.
6181
f4117c4d
GM
6182 * frame.h (struct frame): Replace desired_tool_bar_items,
6183 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6184 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6185
6186 * frame.c (make_frame): Change initialization of tool bar
6187 items accordingly.
6188
6189 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6190 Change references to members deleted from struct frame to use the
f4117c4d
GM
6191 new ones.
6192
6193 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6194 references to members deleted from struct frame to use the new ones.
f4117c4d 6195
52283633 6196 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6197
6198 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6199
6200 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6201 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6202 from struct frame to use the new ones.
6203
f8e2f3f2
MB
62042000-11-23 Miles Bader <miles@gnu.org>
6205
6206 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6207 the face's inverse-video attribute, rather than overriding it.
6208
60e8e0a5
GM
62092000-11-22 Gerd Moellmann <gerd@gnu.org>
6210
6211 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6212 making tool bar smaller.
6213
92dd1b29
DL
62142000-11-22 Dave Love <fx@gnu.org>
6215
6216 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6217
e672fdce
MB
62182000-11-22 Miles Bader <miles@gnu.org>
6219
3a17d6cc
MB
6220 * keyboard.c (Vminibuffer_message_timeout): New variable.
6221 (command_loop_1): Use it to determine message timeout.
6222 (syms_of_keyboard): Initialize it.
6223
60e8e0a5 6224 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6225
e9655d81
KH
62262000-11-22 Kenichi Handa <handa@etl.go.jp>
6227
6228 * sysdep.c: Move the code for declaring h_errno after #include
6229 <netdb.h>.
6230
77270fac
GM
62312000-11-21 Gerd Moellmann <gerd@gnu.org>
6232
cd913aae
GM
6233 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6234 the menu bar when the tooltip is unmapped.
6235
77270fac
GM
6236 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6237 sole visible buffer when we're currently in the mini-buffer, and
6238 give up if so.
52283633 6239
556635d6
JR
62402000-11-21 Jason Rumney <jasonr@gnu.org>
6241
6242 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6243 put on the clipboard.
6244 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6245 copy of what Emacs last put there. If they are the same, do not
52283633 6246 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6247
5b7bde64
MB
62482000-11-22 Miles Bader <miles@gnu.org>
6249
6250 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6251 (syms_of_minibuf): Initialize it.
6252 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6253 to prompt, don't make read-only.
6254
ff23e1dd
GM
62552000-11-21 Gerd Moellmann <gerd@gnu.org>
6256
52283633
SM
6257 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6258 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6259
7aaf4388
GM
6260 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6261
f5f47add 6262 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6263
ff23e1dd
GM
6264 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6265
37c35586
KH
62662000-11-21 Kenichi Handa <handa@etl.go.jp>
6267
6268 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6269 ... #endif scope.
6270
ff9ab414
GM
62712000-11-20 Gerd Moellmann <gerd@gnu.org>
6272
52283633 6273 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6274 screen supports it.
6275
29a01b72
GM
6276 * s/gnu-linux.h: Don't use `#cpu'.
6277
09dfdf85
GM
6278 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6279 not defined in mman.h.
6280
52283633 6281 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6282 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6283 and store an index in the XClientMessageEvent. Storing a
6284 Lisp_Object or pointer can fail on a 64 bit system, since X only
6285 transfers 32 bits.
52283633
SM
6286 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6287
81459ac9
DL
62882000-11-20 Dave Love <fx@gnu.org>
6289
6290 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6291
56c13ae6
GM
62922000-11-20 Gerd Moellmann <gerd@gnu.org>
6293
6294 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6295
495a6df3
KH
62962000-11-20 Kenichi Handa <handa@etl.go.jp>
6297
2bcf3714
KH
6298 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6299 by WIDTH.
6300
495a6df3
KH
6301 * alloc.c (make_string): Fix previous change. Be sure to make
6302 unibyte string correctly.
6303
6d950f4c
GM
63042000-11-19 Gerd Moellmann <gerd@gnu.org>
6305
39b39373
GM
6306 * window.c (Fwindow_list): Change parameter list to be XEmacs
6307 compatible.
6308 (window_list_1): New function.
6309 (window_loop): Use it instead of Fwindow_list.
6310
b95b34e5
GM
6311 * sysdep.c (emacs_ospeed): New variable.
6312 (toplevel): Don't declare ospeed extern.
6313 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6314
6315 * termcap.c (ospeed): Remove.
6316 (tputs) [!emacs]: Remove unused code.
6317 (tgetent): Avoid a compiler warning.
6318
e83dc917
GM
6319 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6320 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6321 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6322
6323 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6324 removed.
6325 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6326 Take the X display as additional argument.
6327 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6328 `Widget' is a pointer type that's not easily stored in Lisp_Object
6329 form in a portable way.
52283633 6330
6d950f4c
GM
6331 * dispnew.c (update_text_area): Fix last change.
6332
e47306e6
GM
63332000-11-18 Gerd Moellmann <gerd@gnu.org>
6334
fb3cd89b
GM
6335 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6336
6337 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6338 clear current matrices.
6339
edaa9aed
GM
6340 * buffer.c (mmap_enlarge): Don't print a message on stderr
6341 if mapping new memory at the end of the existing region fails.
6342
e47306e6
GM
6343 * dispnew.c (update_text_area): Don't skip over equal glyphs
6344 when the last current glyph overlaps the glyph to its right.
6345
509633e3
MB
63462000-11-18 Miles Bader <miles@gnu.org>
6347
6348 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6349 lines that *end* with "..." too (that's the most common case!).
6350
d392e9c5
GM
63512000-11-18 Gerd Moellmann <gerd@gnu.org>
6352
67988445
GM
6353 * xdisp.c (resize_mini_window): Temporarily change to the
6354 mini-window's buffer if necessary.
1bfdbe43 6355
d392e9c5
GM
6356 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6357 the tooltip obscures less text under it.
6358
63592000-11-17 Gerd Moellmann <gerd@gnu.org>
6360
6361 * puresize.h (BASE_PURESIZE): Increase to 700000.
6362
92bb977f
JR
63632000-11-18 Jason Rumney <jasonr@gnu.org>
6364
6365 * w32term.c (w32_draw_bitmap): Use face to set colors.
6366
26fbf20b
DL
63672000-11-17 Dave Love <fx@gnu.org>
6368
6369 * lread.c (Fload): Fix #ifdef for pcc.
6370
100b593b
GM
63712000-11-17 Gerd Moellmann <gerd@gnu.org>
6372
6373 * xdisp.c (pos_visible_p): Compute the default character height
6374 differently.
6375
a288d0d1
GM
63762000-11-16 Gerd Moellmann <gerd@gnu.org>
6377
cac94de6 6378 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6379 knowing the line's height; use the default font's height in that case.
cac94de6 6380
a288d0d1
GM
6381 * xfaces.c (weight_table): Add `demi' with the same meaning as
6382 `demibold'.
6383
981fb6f6
KH
63842000-11-16 Kenichi Handa <handa@etl.go.jp>
6385
2cca872d 6386 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6387 (clear_glyph_row): Delete local static variable null_row.
6388
e5fa381b
JR
63892000-11-15 Jason Rumney <jasonr@gnu.org>
6390
6391 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6392 (w32_alloc_lighter_color): Use new brightness calculations from
6393 xterm.c. Scale delta to be in the range expected by W32.
6394 (w32_draw_relief_rect): Use frame relief colors.
6395
8e42f043
GM
63962000-11-15 Gerd Moellmann <gerd@gnu.org>
6397
6d133d1f
GM
6398 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6399 (Qinhibit_default_face_x_resources): New variable.
6400 (syms_of_frame): Initialize it.
6401 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6402
6403 * xdisp.c (pos_visible_p): Improve function comment.
6404
6405 * lisp.h (BINDING_STACK_SIZE): New macro.
6406
8e42f043
GM
6407 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6408 reading the directory if readdir returns null and errno is EAGAIN
6409 or EINTR.
6410
e8c87124
SM
64112000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6412
6413 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6414 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6415 Set amount_to_scroll to max of dx and scroll_step so that
6416 scroll-conservatively doesn't defeat scroll-step>1.
6417 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6418 scroll-conservatively for line-at-a-time scrolling.
6419
5f0c971d
GM
64202000-11-14 Gerd Moellmann <gerd@gnu.org>
6421
6422 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6423 extra argument.
6424
6425 * xdisp.c (current_mode_line_height, current_header_line_height):
6426 New variables.
6427 (init_xdisp): Initialize them.
6428 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6429 and use exact mode line heights if it is set.
6430
6431 * lisp.h (pos_visible_p): Change prototype.
6432
6433 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6434 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6435 and current_header_line_height first.
52283633
SM
6436 (current_mode_line_height, current_header_line_height):
6437 Declare extern.
5f0c971d 6438
d7361edf
MB
64392000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6440
6441 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6442 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6443 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6444
ee5e440a
MB
64452000-11-14 Miles Bader <miles@gnu.org>
6446
6447 * xterm.c (x_alloc_lighter_color): Include an additive component
6448 too for dark colors, because FACTOR isn't enough.
6449 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6450 New macros.
6451
5ca020fc
GM
64522000-11-13 Gerd Moellmann <gerd@gnu.org>
6453
6454 * keyboard.c (show_help_echo): Call message3_nolog with number of
6455 bytes in the help string as 2nd parameter, instead of the number
6456 of characters.
6457
9d348294
MB
64582000-11-13 Miles Bader <miles@gnu.org>
6459
6460 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6461 (Fload): Use new openp return protocol.
6462 Don't try to use Vload_source_file_function to load .elc files.
6463 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6464 openp return protocol.
6465 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6466
1729bb9a
KH
64672000-11-11 Kenichi Handa <handa@etl.go.jp>
6468
4e677396
KH
6469 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6470
6471 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6472 Defined these macros.
6473 (NLIST_STRUCT): Avoid re-defining it.
6474
1729bb9a
KH
6475 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6476 -I/usr/contrib/X11R6/include.
6477 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6478
a82fe213
JR
64792000-11-10 Jason Rumney <jasonr@gnu.org>
6480
6481 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6482
6483 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6484 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6485
6486 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6487 (Qw32_charset_vietnamese): New symbol.
6488 (xlfd_charset_of_font): New function.
6489 (w32_load_system_font): Use it.
6490 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6491 when Vw32_charset_info_alist is nil to ensure default face always
6492 has font. Use Fcar and Fcdr for safety.
6493 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6494 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6495 pseudo-codepages for special cases.
6496 (w32_to_x_font): New parameter to allow charset portion to be
6497 specified where there is many to one mapping. Callers changed.
6498 (w32_list_fonts): Avoid listing fonts that won't display.
6499
52d89894
GM
65002000-11-10 Gerd Moellmann <gerd@gnu.org>
6501
6502 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6503 (font_list_1): Renamed from font_list.
6504 (font_list): New function, trying alternative registries from
6505 Vface_alternative_font_registry_alist.
6506 (Finternal_set_alternative_font_registry_alist): New function.
6507 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6508 Vface_alternative_font_registry_alist.
6509 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6510
651cd3da
KR
65112000-11-09 Ken Raeburn <raeburn@gnu.org>
6512
6513 * lisp.h (Flooking_at): Declare.
6514
388ac098
GM
65152000-11-09 Gerd Moellmann <gerd@gnu.org>
6516
778fbc46 6517 * dired.c (directory_files_internal): Fix a braino.
52283633 6518
388ac098
GM
6519 * dired.c (directory_files_internal): Add missing GCPRO's.
6520 Some cleanup.
6521
ecaedde1
GM
65222000-11-08 Gerd Moellmann <gerd@gnu.org>
6523
f7eb32aa
GM
6524 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6525 (resize_mini_window): Return quickly if Vresize_mini_window is
6526 nil. Don't return if Vmax_mini_window_height is nil.
6527
6528 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6529 (syms_of_xdisp): Initialize them.
6530 (resize_mini_window): Act according to the setting of
6531 Vresize_mini_window.
6532 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6533
ecaedde1
GM
6534 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6535 scroll bar widget after configuring it, so that it will appear at
6536 the right position from the start.
6537 (XTredeem_scroll_bar): Cleaned up.
6538
3747ef2c
KH
65392000-11-08 Kenichi Handa <handa@etl.go.jp>
6540
6541 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6542 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6543 division by two.
6544
6545 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6546
03391420
DL
65472000-11-07 Dave Love <fx@gnu.org>
6548
7758f1c1 6549 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6550
6551 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6552
b5de343d
GM
65532000-11-07 Gerd Moellmann <gerd@gnu.org>
6554
acad3c0b
GM
6555 * window.c (Fset_window_configuration): Don't try to preserve
6556 point in the current buffer, if that buffer is displayed in more
6557 than one window.
6558
b5de343d
GM
6559 * xfaces.c (lookup_named_face): If default face isn't realized,
6560 try to realize it. Return -1 if not successful.
6561 (Fx_list_fonts): Handle case that face cannot be determined.
6562 (Fface_font): Likewise.
6563
cdb1fe49
GM
65642000-11-06 Gerd Moellmann <gerd@gnu.org>
6565
6566 * window.c (displayed_window_lines): Detect partially
6567 visible lines at the bottom correctly.
6568
d3a67486
SM
65692000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6570
6571 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6572 when ensuring we don't do visit in indirect buffer.
6573
ff8dd5d5
KH
65742000-11-06 Kenichi Handa <handa@etl.go.jp>
6575
6576 * composite.h (compose_chars_in_text): Add prototype.
6577
6578 * composite.c (Vcomposition_function_table): New variable.
6579 (Qcomposition_function_table): New variable.
6580 (run_composition_function): Call
6581 Vcompose_chars_after_function with three arguments.
6582 (compose_chars_in_text): New function.
6583 (syms_of_composite): Modified the doc-string of
6584 Vcompose_chars_after_function. Declare composition-function-table
6585 as a lisp variable, and initialize it.
6586
6587 * xfns.c (x_encode_text): Suppress producing escape sequences for
6588 composition.
6589
6590 * xselect.c: Include composite.h.
6591 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6592
d1145f85
AI
65932000-11-05 Andrew Innes <andrewi@gnu.org>
6594
6595 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6596
6597 * sysdep.c (read_input_waiting): Remove extraneous argument to
6598 read_socket_hook.
6599
6600 * w32fns.c (Fx_server_version): Include w32_build_number in the
6601 return list.
6602
6603 * w32heap.c (w32_build_number): New variable.
6604 (cache_system_info): Set it.
6605
6606 * w32heap.h (w32_build_number): Add extern.
6607
6608 * emacs.c (syms_of_emacs): Update docstring for
6609 system-configuration, to reflect the actual usage on MS-Windows.
6610
e85ee976
GM
66112000-10-31 Gerd Moellmann <gerd@gnu.org>
6612
26dcb81b
GM
6613 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6614 process idle timers while waiting for another event.
6615
52283633 6616 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6617 the default face are colored.
6618
e85ee976
GM
6619 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6620 window height hasn't changed.
6621
01b220b6
JR
66222000-10-31 Jason Rumney <jasonr@gnu.org>
6623
6624 * w32term.c (x_produce_glyphs): Handle composite characters.
6625 (x_draw_glyph_string_foreground)
6626 (x_draw_composite_glyph_string_foreground): Restore old font.
6627
4e6b7204
MB
66282000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6629
6630 * minibuf.c (read_minibuf): Reset the undo history just before
6631 starting the recursive-edit.
6632
d4358b37
GM
66332000-10-30 Gerd Moellmann <gerd@gnu.org>
6634
563f68f1
GM
6635 * xfaces.c (menu_face_change_count): New variable.
6636 (Finternal_set_lisp_face_attribute): Increment it for changes
6637 of the `menu' face.
6638 (realize_basic_faces): Reflect changes in the `menu' faces
6639 in menu bars.
6640
82e274d1
GM
6641 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6642 dy obtained from the iterator's y-position after moving from
6643 scroll_margin_pos to PT; see comment there.
52283633 6644
0dbf9fd2
GM
6645 * xdisp.c (safe_eval_handler): Call add_to_log.
6646
906b3b14
GM
6647 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6648 is not a symbol or string.
6649
d4358b37
GM
6650 * xdisp.c (echo_area_display): Don't perform a display update from
6651 inside redisplay. The update will happen anyway at the end of
6652 redisplay, and it can confuse redisplay (GC messages while
6653 redisplaying, for instance.)
6654
70c825df
SM
66552000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6656
cf9b4b0b
SM
6657 * xrdb.c (x_load_resources): Use the class name in the defaults.
6658
70c825df
SM
6659 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6660 (regex_compile): Catch bogus \(\1\).
6661
a1d34b1e
GM
66622000-10-30 Gerd Moellmann <gerd@gnu.org>
6663
cae71efe
GM
6664 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6665 RGB values.
52283633 6666
35efe0a1
GM
6667 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6668 we have a color cache, check that the cached color equals the
6669 allocated color. If not, clear the color cache.
6670
1d3baf74
GM
6671 * window.c (displayed_window_lines): Change buffers if necessary.
6672 Fix computation of displayed lines.
6673
a1d34b1e
GM
6674 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6675 update_menu_bindings to DEFVAR_BOOL.
6676
70737ea9
KH
66772000-10-30 Kenichi Handa <handa@etl.go.jp>
6678
70c825df 6679 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6680
fa0cb51d
KH
6681 * puresize.h (BASE_PURESIZE): Increase to 680000.
6682
70737ea9
KH
6683 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6684
0e4c08e8
JR
66852000-10-29 Jason Rumney <jasonr@gnu.org>
6686
6687 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6688
6689 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6690 (w32_cache_char_metrics): Handle possibility that 'x' does not
6691 exist in a BDF font.
6692 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6693
6694 * w32bdf.h (bdffont): Add nchars.
6695
6696 * w32bdf.c (set_bdf_font_info): Set it.
6697 (w32_BDF_TextOut): Swap byte order of double byte characters.
6698 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6699
45b84006
EZ
67002000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6701
6702 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6703 don't override the colors in frame's param_alist, unless they are
6704 unspecified.
6705
6706 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6707 reverse the effect of the highlight flag.
6708
caf9deee
KR
67092000-10-27 Ken Raeburn <raeburn@gnu.org>
6710
6711 * window.h (Fwindow_live_p): Declare.
6712
ae0b9b46
KR
6713 * undo.c (record_delete): Check that last_undo_buffer is really a
6714 buffer before applying XBUFFER to it.
6715
6716 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6717 Faref.
6718
02067692
SM
67192000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6720
6721 * lisp.h (KEYMAPP): New macro.
6722 (get_keymap): Remove.
6723 (get_keymap_1): Rename get_keymap.
6724
6725 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6726
6727 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6728
6729 * xmenu.c (single_submenu): Use KEYMAPP.
6730 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6731 Use KEYMAPP rather than Fkeymapp.
6732
6733 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6734
6735 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6736 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6737 Use KEYMAPP rather than Fkeymapp.
6738 (single_submenu): Use KEYMAPP.
6739 (w32_menu_show, w32_dialog_show): Use TRUE.
6740
6741 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6742
6743 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6744 (Fkeymapp): Use KEYMAPP.
6745 (get_keymap): Rename from get_keymap_1. Remove old def.
6746 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6747 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6748 (Fminor_mode_key_binding): Don't raise an error if the binding
6749 is not a keymap.
6750 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6751 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6752
6753 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6754 Allow Vspecial_event_map to be autoloaded.
6755 (menu_bar_items): Fetch the keymap rather than using keymapp.
6756 (menu_bar_one_keymap): No need to follow func-indirect any more.
6757 (parse_menu_item): get_keymap_1 -> get_keymap.
6758 (tool_bar_items): Fetch the keymap rather than using keymapp.
6759 (read_key_sequence): Use KEYMAPP.
6760
6761 * intervals.c (get_local_map): Use get_keymap rather than following
6762 function-indirections explicitly.
6763
6764 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6765
f9d80af3
JR
67662000-10-27 Jason Rumney <jasonr@gnu.org>
6767
6768 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6769 point, as Windows has oversized fonts.
6770
6771 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6772
a3ba27da
GM
67732000-10-27 Gerd Moellmann <gerd@gnu.org>
6774
6775 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6776 (freehook, reallochook): Handle null pointer arguments.
6777 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6778
aa3b80cc
SM
67792000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6780
6781 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6782 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6783 Giving in to popular pressure to shut up the compiler with casts.
6784
e24e84cc
GM
67852000-10-27 Gerd Moellmann <gerd@gnu.org>
6786
6787 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6788 signed value, and use a default value computed from the font's
6789 maximum descent.
6790
05ea7ef2
MB
67912000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6792
6793 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6794 that specify a negative underline position can still use underlines.
6795
6796 * window.c (Fpos_visible_in_window_p): Make POS default to
6797 WINDOW's point, not the current buffer's point.
6798
0b95284b
DL
67992000-10-26 Dave Love <fx@gnu.org>
6800
6801 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6802 when it's necessary.
6803
6c5b90af
GM
68042000-10-26 Gerd Moellmann <gerd@gnu.org>
6805
8b6d9dc9
GM
6806 * window.c (size_window): Compute size difference from sum of old
6807 child window sizes instead of from parent's size.
6808
6bc92b2e
GM
6809 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6810 Handle obscured lines at the top of the window.
6811
6812 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6813 down after the last error condition check.
6814
6c5b90af
GM
6815 * frame.c (Fdelete_frame): Run delete-frame-hook.
6816
42f92d4d
KH
68172000-10-26 Kenichi Handa <handa@etl.go.jp>
6818
6819 * coding.c (decode_coding): Fix previous change (check also
6820 CODING_MODE_LAST_BLOCK).
6821
d97151cb
SM
68222000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6823
e7efc503
SM
6824 * regex.c: More `unsigned char' -> `re_char' changes.
6825 Also change several `int' into `re_wchar_t'.
6826 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6827 (PUSH_FAILURE_POINTER): Don't cast any more.
6828 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6829 We want GCC to complain, since this piece of code makes
6830 re_match non-reentrant, which *should* be fixed.
6831 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6832 (EXTEND_BUFFER): Use RETALLOC.
6833 (SET_LIST_BIT): Don't cast.
6834 (re_wchar_t): New type.
6835 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6836 that those two functions will always properly return.
6837 (IMMEDIATE_QUIT_CHECK): Cast to void.
6838 (analyse_first): Use recursion rather than an explicit stack.
6839 (re_compile_fastmap): Can't fail anymore.
6840 (re_search_2): Don't check re_compile_fastmap for failure.
6841 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6842 Now also sets the new value (passed in a new argument).
6843 (re_match_2_internal): Use it.
6844 Also, use a new var `reg' of type size_t when looping through regs
6845 rather than reuse the inappropriate `mcnt'.
6846
d97151cb
SM
6847 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6848 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6849 (where_is_internal): Renamed from Fwhere_is_internal.
6850 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6851 (Fwhere_is_internal): New function wrapping where_is_internal.
6852 (where_is_internal_1): Handle the case where we're filling the cache.
6853 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6854
d5789b65
MB
68552000-10-25 Miles Bader <miles@gnu.org>
6856
6857 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6858
4ecda532
GM
68592000-10-25 Gerd Moellmann <gerd@gnu.org>
6860
6861 * window.c (pos_fully_visible_p): Removed.
6862 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6863 if position is visible and/or fully visible.
6864
6865 * lisp.h (pos_visible_p): Add prototype.
6866
6867 * xdisp.c (pos_visible_p): New function.
6868
68c3a137
KH
68692000-10-25 Kenichi Handa <handa@etl.go.jp>
6870
6871 * process.c (send_process): If OBJECT is t, it means that the data
6872 is from C string, but we should encode it. Before calling
6873 setup_raw_text_coding_system, be sure to flush out data by the
6874 previous coding system.
6875
7ae1c032
MB
68762000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6877
ff4dcd4b
MB
6878 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6879 assignment of startpos to prev when startpos == pos.
6880
7ae1c032
MB
6881 * editfns.c (find_field): Set the field stickiness correctly from
6882 overlay fields. Use renamed `text_property_stickiness'.
6883 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6884 Only check text properties, not overlays.
7ae1c032
MB
6885 * textprop.c (get_char_property_and_overlay): New function.
6886 (Fget_char_property): Use it.
6887 * intervals.h (get_char_property_and_overlay): Add declaration.
6888
49801145
SM
68892000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6890
6891 * keymap.c: Use AREF, ASET and ASIZE macros.
6892 (Fmake_sparse_keymap): Docstring fix.
6893 (synkey): Remove.
6894 (shadow_lookup): Move up.
6895 Handle the case where lookup-key returns an integer.
6896 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6897 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6898 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6899 Simplify/rewrite the keymap-finding code.
6900 Add check for command shadowing, using shadow_lookup.
6901
39e776cd
SM
69022000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6903
6904 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6905 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6906 a symbol.
6907
2488aba5
AI
69082000-10-24 Andrew Innes <andrewi@gnu.org>
6909
6910 * dired.c (directory_files_internal_unwind): New function.
6911 (directory_files_internal): Use it to ensure closedir is called
6912 even if expand-file-name or file-attributes throw, eg. because of
6913 a user interrupt. Also enable immediate_quit while calling
6914 re_search, so that matching can be interrupted as well.
6915
b94fdf61
AI
69162000-10-24 Andrew Innes <andrewi@gnu.org>
6917
6918 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6919 NT-Emacs only.
6920 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6921 so that re_search functions only quit when callers expect them to.
6922
69232000-10-24 Kenichi Handa <handa@etl.go.jp>
6924
6925 * regex.c (regex_compile): Change the way of handling a range from
6926 a char less than 256 to a char not less than 256.
6927
1946f901
GM
69282000-10-24 Gerd Moellmann <gerd@gnu.org>
6929
7ae2f10f
GM
6930 * window.c (size_window): Prevent setting window's width or
6931 height to a negative value (esp. with XSETFASTINT).
6932
5dcab13e
GM
6933 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6934 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6935 (protect_malloc_state) [GC_MALLOC_CHECK &&
6936 GC_PROTECT_MALLOC_STATE]: New function.
6937 (PROTECT_MALLOC_STATE): New macro.
6938 (__malloc_initialize, morecore, _malloc_internal)
6939 (_free_internal) _realloc_internal): Use it to make _heapinfo
6940 read-only outside of gmalloc.
6941
63e1b552
GM
6942 * keymap.c: Update copyright.
6943
1946f901
GM
6944 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6945 a symbol.
6946
4fa09beb
GM
69472000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6948
6949 * filelock.c (unlock_all_files): Use unlock_file to expand each
6950 buffer's file_truename before trying remove its lock file.
6951
23afac01
EZ
69522000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6953
6954 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6955 or CRLF, decode EOLs.
6956
04448b95
KH
69572000-10-24 Kenichi Handa <handa@etl.go.jp>
6958
6959 * window.c (Fdisplay_buffer): Fix doc.
6960
3090a5a5
JR
69612000-10-23 Jason Rumney <jasonr@gnu.org>
6962
6963 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
6964 ASCII font of default fontset on Windows.
6965
6966 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
6967 xterm.c comment below).
6968
6969 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
6970
a83fee2c
GM
69712000-10-23 Gerd Moellmann <gerd@gnu.org>
6972
6973 * xterm.c (x_connection_closed): Reset handling_signal.
6974
52283633 6975 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 6976
6ffdb539
MB
69772000-10-23 Miles Bader <miles@gnu.org>
6978
6979 * window.c (window_scroll_pixel_based, window_scroll_line_based):
6980 Pass nil for FULLY argument to Fpos_visible_in_window_p to
6981 maintain old behavior.
6982 * minibuf.c (Fminibuffer_complete): Likewise.
6983
7f1c969b
MB
69842000-10-23 Miles Bader <miles@lsi.nec.co.jp>
6985
6986 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
6987 that when a font can't be exactly centered, it errs up rather than
6988 down.
6989
23afac01 69902000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 6991
52283633 6992 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 6993
1a578e9b
AC
69942000-10-23 Andrew Choi <akochoi@i-cable.com>
6995
6996 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
6997
6998 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 6999 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7000
7001 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7002 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7003 syms_of_search, x_term_init, and init_keyboard before calling
7004 init_window_once. Also, call syms_of_xmenu.
7005
7006 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7007 default fontset to Monaco.
7008
7009 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7010 NewMacWindow and DisposeMacWindow.
7011 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7012 instead of calling NewMacWindow and setting fields of
7013 f->output_data.mac directly. Call init_frame_faces.
7014 (Fdelete_frame) [macintosh]: Remove unused code.
7015 (Fmodify_frame_parameters) [macintosh]: Call
7016 x_set_frame_parameters instead of mac_set_frame_parameters.
7017
7018 * frame.h [macintosh]: Define menu_bar_lines field in struct
7019 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7020
7021 * keyboard.c [macintosh]: Include macterm.h.
7022 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7023 and menu_bar_activate_event type events as for X and NT.
7024 (make_lispy_event) [macintosh]: Construct lisp events of type
7025 MENU_BAR_EVENT as for X and NT.
7026
7027 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7028 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7029 (sys_subshell) [macintosh]: Remove definition entirely.
7030 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7031 Vwindow_system_version here. Remove initialization of
7032 Vx_bitmap_file_path.
7033 (read_input_waiting): Correct the number of parameters passed to
7034 read_socket_hook.
7035 Move all Macintosh functions to mac/mac.c.
7036
7037 * term.c [macintosh]: Include macterm.h.
7038
7039 * window.c [macintosh]: Include macterm.h.
7040
7041 * xdisp.c [macintosh]: Include macterm.h. Declare
7042 set_frame_menubar and pending_menu_activation.
7043 (echo_area_display) [macintosh]: Do not return if terminal frame
7044 is the selected frame.
7045 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7046 Allow only the selected frame to set menu bar.
7047 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7048 calling FRAME_EXTERNAL_MENU_BAR (f).
7049 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7050
7051 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7052 and check_x. Declare XCreateGC. Define x_create_gc and
7053 x_free_gc. Initialize font_sort_order.
7054 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7055 but call x_list_fonts instead of w32_list_fonts.
7056 (Finternal_face_x_get_resource) [macintosh]: Do not call
7057 display_x_get_resource.
7058 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7059 (realize_x_face) [macintosh]: Load the font if it is specified in
7060 ATTRS.
52283633 7061 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7062
1ffbabe3
SM
70632000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7064
7065 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7066 is nil: since we go to the end of submap anyway, we'd end up
7067 setting nil to nil.
7068 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7069 doesn't obey autoload.
7070
bed43f1d
EZ
70712000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7072
1ffbabe3 7073 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7074
ea4233a7
JR
70752000-10-21 Jason Rumney <jasonr@gnu.org>
7076
7077 * w32term.c (w32_cache_char_metrics): Double check that font is
7078 really fixed pitch before trusting tmPitchAndFamily.
7079
f3d3c491
AI
70802000-10-21 Andrew Innes <andrewi@gnu.org>
7081
7082 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7083
7084 * w32term.h: Extern decl for w32_cache_char_metrics.
7085
7086 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7087
7088 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7089 (w32_unload_font): Free per_char array if present.
7090
7091 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7092 cached information in emulated XFontStruct to handle common cases
7093 quickly. Do not allocate XCharStruct for return.
7094 (w32_native_per_char_metric): New function.
7095 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7096 allocating one.
7097 (x_produce_glyphs): Don't get an HDC. Change calls to
7098 w32_per_char_metric to match arg change above. Remove calls to
7099 free results.
7100 (w32_get_glyph_overhangs): Ditto.
7101 (w32_cache_char_metrics): New function.
7102
7103 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7104 ($(BLD)/casefiddle.$(O)): Remove compile command.
7105 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7106 ($(BLD)/dispnew.obj):
7107 ($(BLD)/keyboard.obj):
7108 ($(BLD)/w32inevt.obj):
7109 ($(BLD)/w32bdf.obj):
7110 ($(BLD)/alloc.obj):
7111 ($(BLD)/buffer.obj):
7112 ($(BLD)/editfns.obj):
7113 ($(BLD)/emacs.obj):
7114 ($(BLD)/fileio.obj):
7115 ($(BLD)/fns.obj):
7116 ($(BLD)/indent.obj):
7117 ($(BLD)/insdel.obj):
7118 ($(BLD)/intervals.obj):
7119 ($(BLD)/minibuf.obj):
7120 ($(BLD)/print.obj):
7121 ($(BLD)/scroll.obj):
7122 ($(BLD)/sysdep.obj):
7123 ($(BLD)/textprop.obj):
7124 ($(BLD)/widget.obj):
f3d3c491
AI
7125 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7126 ($(BLD)/term.obj): Add dependency on dispextern.h.
7127
52283633
SM
7128 * makefile.nt ($(BLD)\dispnew.obj):
7129 ($(BLD)\keyboard.obj):
7130 ($(BLD)\w32inevt.obj):
7131 ($(BLD)\w32bdf.obj):
7132 ($(BLD)\alloc.obj):
7133 ($(BLD)\buffer.obj):
7134 ($(BLD)\editfns.obj):
7135 ($(BLD)\emacs.obj):
7136 ($(BLD)\fileio.obj):
7137 ($(BLD)\fns.obj):
7138 ($(BLD)\indent.obj):
7139 ($(BLD)\insdel.obj):
7140 ($(BLD)\intervals.obj):
7141 ($(BLD)\minibuf.obj):
7142 ($(BLD)\print.obj):
7143 ($(BLD)\scroll.obj):
7144 ($(BLD)\sysdep.obj):
7145 ($(BLD)\textprop.obj):
7146 ($(BLD)\widget.obj):
f3d3c491
AI
7147 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7148 ($(BLD)\term.obj): Add dependency on dispextern.h
7149
18ad4821
EZ
71502000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7151
7152 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7153 with an additional argument of Qt.
7154
de54681a
MB
71552000-10-21 Miles Bader <miles@gnu.org>
7156
7157 * window.c (pos_fully_visible_in_window_p): New function.
7158 (Fpos_visible_in_window_p): Add FULLY argument.
7159 Use pos_fully_visible_in_window_p.
7160 (window_scroll_pixel_based, window_scroll_line_based): Update
7161 calls to Fpos_visible_in_window_p.
7162 * lisp.h (Fpos_visible_in_window_p): Update prototype
7163
13c844fb
GM
71642000-10-20 Gerd Moellmann <gerd@gnu.org>
7165
7166 * alloc.c (toplevel): Conditionalize compilation of mem_*
7167 functions differently.
52283633 7168
d9506268
JR
71692000-10-20 Jason Rumney <jasonr@gnu.org>
7170
7171 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7172 mem_init where it used to be. mem_z etc not defined otherwise.
7173
8094989b
GM
71742000-10-20 Gerd Moellmann <gerd@gnu.org>
7175
7176 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7177 GC_MALLOC_CHECK.
7178 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7179 structure definition and related variabled to the top of the file.
7180 Include this code when GC_MALLOC_CHECK is defined.
7181 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7182 register/unregister allocated region.
7183 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7184 which isn't allocated.
7185 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7186 something which is already in use.
7187 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7188 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7189 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7190 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7191
7192 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7193 _malloc_internal instead of malloc.
7194 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7195 of free.
7196
ea456eb4
AI
71972000-10-20 Andrew Innes <andrewi@gnu.org>
7198
7199 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7200 Windows.
7201 (my_strftime) <macro>: Don't use macro arg list when redefining as
7202 _strftime_copytm.
7203 (my_strftime) <function>: Supply 0 as ut argument.
7204
e64c3a75
JR
72052000-10-19 Jason Rumney <jasonr@altavista.net>
7206
7207 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7208 including dispextern.h, as it stops faces from working.
7209
7210 * w32fns.c (Fx_create_frame): Don't bother calling
7211 face-set-after-frame-default since the caller does it for us
7212 anyway. Clean up calls to x_get_arg to be consistent with X.
7213
7214 * w32term.c (x_produce_glyphs): Handle
7215 unibyte_display_via_language_environment correctly.
7216 (w32_draw_box_rect): Fix the calculation of width and height.
7217
7218 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7219 as it has stopped working.
7220 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7221 menu-bar.
7222
17401c97
GM
72232000-10-19 Gerd Moellmann <gerd@gnu.org>
7224
7225 * eval.c (skip_debugger): Prevent a compiler warning.
7226 (Fcondition_case): Likewise.
7227 (Fbacktrace_frame): Use a null interactive spec.
7228
773272d8
KH
72292000-10-19 Kenichi Handa <handa@etl.go.jp>
7230
7231 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7232
a42943e9
GM
72332000-10-18 Gerd Moellmann <gerd@gnu.org>
7234
e50517d9
GM
7235 * strftime.c: Sync with glibc, file version 1.78.
7236 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7237 should no longer be used according to ISO 8601.
7238
9035a35a
GM
7239 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7240 no map for meta_prefix_char, don't try to use it as a keymap.
7241 Instead, if T_OK is non-zero, look up a default binding, if any,
7242 otherwise, if T_OK is zero, return nil.
7243
a42943e9
GM
7244 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7245 (x_to_xcolors, png_load): Use x_query_color.
7246
52283633
SM
7247 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7248 New functions.
a42943e9
GM
7249 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7250 which can be slow.
7251 (x_copy_color, x_alloc_lighter_color): Likewise.
7252
7253 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7254 (x_query_color, x_query_colors): Add prototype.
7255
7256 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7257 check_string_bytes only if not noninteractive, increase count to 50.
7258
00de2987
MB
72592000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7260
7261 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7262 markers correctly.
7263
54918e2b
GM
72642000-10-17 Gerd Moellmann <gerd@gnu.org>
7265
1f0b3fd2
GM
7266 * alloc.c (pure_bytes_used): Renamed from pureptr.
7267 (ALIGN): New macro.
7268 (pure_alloc): New function.
7269 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7270 Use it.
7271 (Fpurecopy): Use PURE_POINTER_P.
7272
68c5d1db
GM
7273 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7274 PT has moved backward.
52283633 7275
9a038881
GM
7276 * xdisp.c (cursor_row_p): Take continued lines into account.
7277
361b097f
GM
7278 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7279 string's size_byte.
7280 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7281 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7282 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7283 string allocated.
7284
54918e2b
GM
7285 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7286 of selective display off while searching for the next line start.
7287
03ed0806
KH
72882000-10-17 Kenichi Handa <handa@etl.go.jp>
7289
7290 * Makefile.in (term.o): Depend on dispextern.h.
7291
7e05cdaf
SM
72922000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7293
7294 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7295
a6801fd1
GM
72962000-10-16 Gerd Moellmann <gerd@gnu.org>
7297
483de32b
GM
7298 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7299 the iterator at the beginning, so that they can be set later on,
7300 for instance in reseat_at_next_visible_line_start, without being
7301 overwritten.
7302
a6801fd1
GM
7303 * xfns.c (pbm_format): Add :foreground and :background keywords.
7304 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7305 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7306
dbf1fcc1
EZ
73072000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7308
7309 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7310
52283633 7311 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7312
7313 * msdos.c (IT_set_face): Compare highlighted face with the default
7314 face, and invert colors if these faces' colors are identical.
7315 (Fmsdos_remember_default_colors): Don't swap foreground and
7316 background colors in initial_colors[].
7317 (IT_set_frame_parameters): Don't swap frame's foreground and
7318 background pixels. If ALIST includes "(reverse . t)", swap
7319 foreground-color and background-color properties in frame's
7320 param_alist. If the original frame's param_alist doesn't specify
7321 the colors, store unspecified-fg and unspecified-bg, reversed if
7322 required.
7323
7324 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7325 the colors are unspecified and reversed, reverse fore- and back-
7326 ground in the returned value.
7327 (Fframe_parameter): Ditto.
7328
b41fe2c3 73292000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7330
3a6b59d9
GM
7331 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7332 get_last_unchanged_at_beg_row.
7333 (find_first_unchanged_at_end_row): Renamed from
7334 get_first_unchanged_at_end_row.
7335 (find_first_unchanged_at_end_row): Convert assertions to
7336 unconditional tests which abort. When looking for a row in
7337 unchanged text, don't go further back than first_text_row.
7338
b41fe2c3
GM
7339 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7340 Don't add in the last line's height when deciding if the new
7341 position is below the scroll margin.
9d1af64f 7342
b41fe2c3 73432000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7344
7345 * editfns.c (Fconstrain_to_field): Check carefully for field
7346 boundaries if either OLD_POS or NEW_POS has a non-nil field
7347 property, even if they're the same.
7348
c412cb7b
KH
73492000-10-16 Kenichi Handa <handa@etl.go.jp>
7350
7351 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7352 height for XFillRectangle.
7353
5586f3eb
SM
73542000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7355
7356 * syntax.c (Fstring_to_syntax): New function extracted from
7357 Fmodify_syntax_entry.
7358 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7359 (skip_chars, Fforward_comment): Remove unused variables.
7360 (syms_of_syntax): Add defsubr for string-to-syntax.
7361 (describe_syntax): Add code for comment and string fences.
7362
db785038
SM
73632000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7364
7365 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7366 Do the meta->esc mapping. Call get_keyelt before returning.
7367 Start scanning from the second element (the first is always `keymap')
7368 to make it easier to detect when we reach a parent map.
7369 Handle the case of inheriting from a symbol whose function is a map.
7370 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7371 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7372 (get_keyelt, Flookup_key): Update call to access_keymap.
7373 Remove the meta->esc mappings.
7374 (define_as_prefix): Delete old disabled code.
7375 (menu_item_p): New function.
7376 (where_is_internal_1): Skip over the few remaining menu items.
7377 * lisp.h (access_keymap): Update prototype.
7378 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7379 Update call to access_keymap.
7380 (follow_key, read_key_sequence): Update calls to access_keymap.
7381 Remove the meta->esc mappings.
7382
cafafe0b
GM
73832000-10-13 Gerd Moellmann <gerd@gnu.org>
7384
a2e2a7f6
GM
7385 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7386 with additional argument.
7387
cafafe0b
GM
7388 * xdisp.c (cursor_row_p): New function.
7389 (try_cursor_movement, display_line): Use it.
52283633 7390
cafafe0b
GM
7391 * xdisp.c (append_space): Also save/restore iterator's current
7392 character and its length.
7393
7394 * xdisp.c (init_from_display_pos): Add an assertion.
7395 (handle_stop): Don't set iterator's add_overlay_start.
7396 (handle_invisible_prop): Likewise.
7397 (load_overlay_strings): If text under an overlay is invisible,
7398 take both before- and after-strings into account when the iterator
7399 is positioned either at the start or at the end of the overlay.
7400 (forward_to_next_line_start): Rewritten.
7401 (reseat_at_next_visible_line_start): Rewritten.
7402 (set_iterator_to_next): Add parameter RESEAT_P.
7403
7404 * dispextern.h (struct it): Remove member add_overlay_start.
7405 (set_iterator_to_next): Change prototype.
7406
c744452b
KH
74072000-10-13 Kenichi Handa <handa@etl.go.jp>
7408
7409 * coding.c (code_convert_region): Be sure to initialize
7410 coding->category_idx.
e4a3f4e1
KH
7411 (decode_coding_string): Set coding->src_multibyte and
7412 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7413 (encode_coding_string): Set coding->src_multibyte and
7414 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7415
321fd26f
SM
74162000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7417
7418 * xfns.c (Fx_create_frame): Don't bother calling
7419 face-set-after-frame-default since the caller does it for us anyway.
7420
76832439
EZ
74212000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7422
7423 * window.c (coordinates_in_window): Fix detection of vertical line
7424 on character terminals.
7425
2483cf58
GM
74262000-10-12 Gerd Moellmann <gerd@gnu.org>
7427
7428 * editfns.c (save_excursion_save): Additionally record the
7429 selected window.
7430 (save_excursion_restore): If buffer was visible in a window, and a
7431 different window was selected, and the old selected window is
7432 still live, restore point in that window.
7433
eb991b25
KH
74342000-10-12 Kenichi Handa <handa@etl.go.jp>
7435
8a0eba09
KH
7436 * xterm.c (x_produce_glyphs): Handle
7437 unibyte_display_via_language_environment correctly.
7438
20401fcc
KH
7439 * regex.c (regex_compile): Change the way of handling a range from
7440 unibyte char to multibyte char.
7441
7442 * syntax.c (skip_chars): Change the way of handling a range from
7443 unibyte char to multibyte char.
7444
eb991b25
KH
7445 * process.c (read_process_output): Cancel previous change.
7446
365dd325
EZ
74472000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7448
c1b096cb
EZ
7449 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7450
365dd325
EZ
7451 * charset.c (Ffind_charset_string): Doc fix.
7452 (Ffind_charset_region): Doc fix.
7453
eb483c2b
KH
74542000-10-11 Kenichi Handa <handa@mule.m17n.org>
7455
7456 * process.c (read_process_output): Fix previous change. Adjust
7457 multibyteness of text to insert in a buffer by
52283633 7458 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7459
b40bfb99
AS
74602000-10-10 Andreas Schwab <schwab@suse.de>
7461
7462 * alloc.c (mark_object): Remove all workarounds installed on
7463 1993-08-08.
7464
caff31d4
KH
74652000-10-10 Kenichi Handa <handa@etl.go.jp>
7466
52283633 7467 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7468 (base64_encode_1): Make it work for a text of multibyte form.
7469 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7470 case. Don't call str_to_multibyte because base64_decode_1
7471 produces correct multibyte form for eight-bit codes.
52283633 7472 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7473 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7474 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7475 codes.
7476
7477 * charset.h (CHAR_STRING): Optimized for single byte characters.
7478
cba026ef
AS
74792000-10-09 Andreas Schwab <schwab@suse.de>
7480
7481 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7482 -1 after socket is closed, to fall through to error processing.
7483
1e21fe48
EZ
74842000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7485
7486 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7487 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7488 background-color, change also the colors of the default face for
7489 this frame.
7490
a640322e
EZ
74912000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7492
7493 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7494 them extern (they are defined on xfaces.c).
7495 (syms_of_msdos): Don't intern and don't staticpro
7496 Qbackground_color and Qforeground_color.
7497
a115794c
EZ
74982000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7499
7500 * frame.c (Fframe_parameter): For non-windowed frames, if
7501 f->param_alist says foreground or background color is unspecified,
7502 call tty_color_name to return the color name computed from the
7503 frame's current colors.
7504
f5533b63
DL
75052000-10-06 Dave Love <fx@gnu.org>
7506
7507 * terminfo.c (ospeed): Don't declare.
7508
7509 * sysdep.c: Don't include string.h.
7510 (h_errno): Declare conditional also on TRY_AGAIN.
7511
7512 * charset.c (Ffind_charset_string): Doc fix.
7513
52283633 7514 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7515 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7516 error messages.
7517
2b06561a
DL
75182000-10-05 Dave Love <fx@gnu.org>
7519
7520 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7521 position like menu-bar.
7522
ca839c85
GM
75232000-10-05 Gerd Moellmann <gerd@gnu.org>
7524
7525 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7526
7527 * xdisp.c (handle_single_display_prop): Use safe_call1.
7528 (safe_call): Renamed from call_function.
7529 (safe_call1): New function.
7530 (handle_fontified_prop): Use safe_call1 instead of call1.
7531 (safe_eval): Renamed from eval_form.
7532 (safe_eval_handler): Renamed from eval_handler.
7533 (handle_single_display_prop, display_mode_element): Use safe_eval
7534 instead of eval_form.
7535
7536 * xfaces.c (merge_face_heights): Use safe_call instead of
7537 call_function.
7538
7539 * keyboard.c (show_help_echo): Use safe_call instead of
7540 call_function; use safe_eval instead of eval_form.
7541
7542 * lisp.h (safe_call): Renamed from call_function.
7543 (safe_eval): Renamed from eval_form.
7544 (safe_call1): Add prototype.
7545
a3489ece
MB
75462000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7547
7548 * xfns.c (image_ascent): Rearrange ascent calculation for the
7549 has-a-font case.
7550
35810b6f
SM
75512000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7552
7553 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7554 (where_is_internal_1): Don't bother ignoring menu-items any more.
7555
3dc78168
GM
75562000-10-04 Gerd Moellmann <gerd@gnu.org>
7557
7558 * keyboard.c (update_menu_bindings): New variable.
7559 (parse_menu_item): Use AREF. If update_menu_bindings
7560 is 0, don't update menu bindings.
7561 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7562
1efc2bb9
EZ
75632000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7564
7565 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7566 to `mark_object'.
7567
3f679f55
SM
75682000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7569
7570 * syntax.c (forw_comment): Match nestedness of ender/starter.
7571 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7572 (prev_char_comstart_first): Remove.
7573 (back_comment): Check two-char comment markers more carefully
7574 to better handle overlapping cases like *//* or /* */* */ ...
7575 Match nestedness of ender/starter.
7576
2021ab61
DL
75772000-10-02 Dave Love <fx@gnu.org>
7578
7579 * config.in (HAVE_GAI_STRERROR): Add undef.
7580
7581 * process.c (Fopen_network_stream): Use it.
7582
7583 * m/alpha.h (NO_REMAP): Don't define.
7584
64e6cc18
GM
75852000-10-02 Gerd Moellmann <gerd@gnu.org>
7586
7587 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7588 return with a string converted to an integer or vice versa when
7589 Vmocklisp_arguments is t.
7590 (Fsignal): Likewise. The function can return for `quit'.
7591 (struct gcpro): Declare member `var' to point to a volatile
7592 Lisp_Object.
7593
7594 * eval.c (error): Prevent compiler warning.
7595
b1904cd9
SM
75962000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7597
7598 * keymap.c (keymap_memberp): New function.
7599 (Fset_keymap_parent): Use it.
7600 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7601 Use keymap_memberp to avoid creating cycles.
7602 (access_keymap): Use KEYMAPP.
7603
71c9ec51
GM
76042000-09-30 Gerd Moellmann <gerd@gnu.org>
7605
7606 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7607 gai_strerror. Make sure xerrno is set if connect fails. Improve
7608 error recovery.
71c9ec51 7609
c70c6b58
JR
76102000-09-29 Jason Rumney <jasonr@gnu.org>
7611
7612 * w32term.c (w32_char_font_type, w32_encode_char)
7613 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7614 (w32_bdf_per_char_metric): New function.
7615 (w32_per_char_metric): Use it.
7616 (x_draw_glyph_string_background): Always draw background for BDF
7617 glyphs.
7618
7619 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7620 GDI object which is a scarce resource.
7621
7622 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7623 (get_quoted_string): Fix limit on memchr search.
7624 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7625 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7626 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7627 (get_cached_font_char, cache_char_offset): Use macro
7628 BDF_CODEPOINT_RANGE_COVER_P.
7629 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7630 (clear_cached_bitmap_slots): New function.
7631 (GET_HEX_VALUE): G-Z, g-z are not hex.
7632 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7633 (get_bitmap_with_cache): Use new cache implementation.
7634 (create_offscreen_bitmap): New function.
7635 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7636
7637 * w32term.c (x_produce_glyphs): If the distance from the current
7638 position to the next tab stop is less than a canonical character
7639 width, use the tab stop after that.
7640 (x_draw_glyphs): Handle case START and END are out of bounds more
7641 carefully.
7642 (x_clear_mouse_face): Block/unblock input.
7643 (x_display_and_set_cursor): Don't show a hollow box cursor for
7644 buffers whose cursor_type is nil.
7645
fe01239f
GM
76462000-09-29 Gerd Moellmann <gerd@gnu.org>
7647
52283633 7648 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7649
7650 * dispextern.h (updating_frame): Declare extern.
7651
e7c52f1f
AS
76522000-09-29 Andreas Schwab <schwab@suse.de>
7653
7654 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7655
de6e1f7c
GM
76562000-09-29 Gerd Moellmann <gerd@gnu.org>
7657
25126faa
GM
7658 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7659 use its function definition.
7660 (tool_bar_items): Likewise.
7661
de6e1f7c 7662 * lisp.h (fatal): Declare NO_RETURN.
52283633 7663
454ee39b
KH
76642000-09-29 Kenichi Handa <handa@etl.go.jp>
7665
7666 * keymap.c: Remove the line "#undef NULL".
7667
96301c5f
GM
76682000-09-28 Gerd Moellmann <gerd@gnu.org>
7669
52283633 7670 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7671
efffeeb4
DL
76722000-09-28 Dave Love <fx@gnu.org>
7673
ecb8b666
DL
7674 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7675
dc3cd20f
DL
7676 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7677
7678 * .gdbinit (xreload): Note its need on GNU/Linux.
7679
efffeeb4
DL
7680 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7681 r_alloc, r_alloc_free.
7682
8610d903
KH
76832000-09-28 Kenichi Handa <handa@etl.go.jp>
7684
7685 * syntax.c (skip_chars): Handle negation correctly.
7686
8901d1ac
GM
76872000-09-27 Gerd Moellmann <gerd@gnu.org>
7688
6f22f1ad
GM
7689 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7690 with non-zero FORCE_P argument.
7691
52283633 7692 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7693 Add assertions.
7694
7695 * xdisp.c (window_box_height): Add an assertion.
7696
7697 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7698 tool-bar than is available.
7699 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7700
36f1966f
DL
77012000-09-27 Dave Love <fx@gnu.org>
7702
efffeeb4 7703 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7704
31d929e5
GM
77052000-09-26 Gerd Moellmann <gerd@gnu.org>
7706
c98863bf
GM
7707 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7708 instead of BITS_PER_INT.
7709 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7710 EMACS_UINT, respectively.
7711 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7712
7713 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7714
7715 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7716
77072ab1
GM
7717 * window.c (freeze_window_starts): Construct last argument for
7718 foreach_window differently.
7719
7720 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7721
7722 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7723 EMACS_UINT instead of `int' and `unsigned int'.
7724 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7725
7726 * frame.h (struct frame): Make the `nothing' member of union
7727 output_data an EMACS_INT.
7728
52283633 7729 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7730 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7731 size in the sdata structure.
7732 (SDATA_NBYTES, SDATA_DATA): New macros.
7733 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7734 differently for the different layout of the sdata structure.
7735 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7736 in sdata.
7737 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7738 Check that size recorded in the string size and size recorded in
7739 the sdata structure agree.
7740
3e60b029
DL
77412000-09-25 Dave Love <fx@gnu.org>
7742
7743 * buffer.c: Include stdio.h.
7744
7745 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7746
3e60b029
DL
7747 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7748
7749 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7750 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7751 (__malloc_extra_blocks): Declare as __malloc_size_t.
7752
8ff16b4e
GM
77532000-09-25 Gerd Moellmann <gerd@gnu.org>
7754
755a2ccd
GM
7755 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7756
d8b4516f
GM
7757 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7758 (read_char): If help-echo is showing, preserve the echo area
7759 when redisplaying.
7760
7761 * xdisp.c (help_echo_showing_p): New variable.
7762 (set_message): Reset it to 0.
7763 (init_xdisp): Initialize help_echo_showing_p.
7764
7765 * dispextern.h (help_echo_showing_p): Declare extern.
7766
7767 * config.in: Fix typo in __GNUC_MINOR__.
7768
7769 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7770
b11af2dd
GM
7771 * s/freebsd.h (POSIX_SIGNALS): Define.
7772
8ff16b4e
GM
7773 * xterm.c (x_clear_mouse_face): Block/unblock input.
7774
844eb643
DL
77752000-09-24 Dave Love <fx@gnu.org>
7776
7777 * fns.c (base64_encode_1): Fix last change.
7778
b30ab1b3
GM
77792000-09-22 Gerd Moellmann <gerd@gnu.org>
7780
7781 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7782
7783 * xdisp.c (try_window_reusing_current_matrix): More fixes
7784 for the case window has a header-line.
7785
c6cbe5f0
DL
77862000-09-22 Dave Love <fx@gnu.org>
7787
4c7c1f3f
DL
7788 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7789 a doc string.
7790
7791 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7792
c6cbe5f0
DL
7793 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7794
550a625e
GM
77952000-09-21 Gerd Moellmann <gerd@gnu.org>
7796
4c7c1f3f 7797 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7798 for GCC >= 2.5.
7799
52283633
SM
7800 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7801 Declare NO_RETURN.
fca99116 7802
80d26f99
GM
7803 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7804 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7805 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7806 warnings.
52283633 7807
80d26f99
GM
7808 * marker.c (byte_char_debug_check): Return void.
7809
623a0aae
GM
7810 * xfns.c (Fx_create_frame): Set default frame parameter value
7811 for tool-bar-lines to 1.
7812
7813 * dispnew.c (scrolling_window): Compare y-positions of rows
7814 equal at the start. Some simplification.
7815
7816 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7817 reused rows' y-position in the case window has a header-line, and
7818 new window start is greater than old window start.
7819
42ac0ae5
GM
7820 * process.c (process_sent_to): New variable.
7821 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7822 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7823 Declare more parameters volatile.
7824
550a625e
GM
7825 * lread.c (Vrecursive_load_depth_limit): New variable.
7826 (Fload): Check recursive loads whose recursion depth exceeds
7827 Vrecursive_load_depth_limit.
7828 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7829
8320414c
GM
78302000-09-20 Gerd Moellmann <gerd@gnu.org>
7831
f46c275e
GM
7832 * fileio.c (Fread_file_name): Doc fix.
7833
7834 * editfns.c (Fmessage_or_box): Doc fix.
7835
7836 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7837
b7e11c5b 7838 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7839
8320414c
GM
7840 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7841 symbols are specified, add color translations to the cache.
52283633 7842 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7843 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7844 xpm_cache_color.
7845 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7846 structures to xpm_init_color_cache.
7847
da1608d9
GM
78482000-09-19 Gerd Moellmann <gerd@gnu.org>
7849
52283633 7850 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7851
6badfa25
AI
78522000-09-19 Andrew Innes <andrewi@gnu.org>
7853
7854 * makefile.nt (bootstrap-emacs): Don't change directory.
7855
3a5f42bb
KH
78562000-09-19 Kenichi Handa <handa@etl.go.jp>
7857
1b7649bd
KH
7858 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7859
3a5f42bb
KH
7860 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7861 If output buffer is too small, signal an appropriated error.
7862
9f83cf0b
DL
78632000-09-18 Dave Love <fx@gnu.org>
7864
52283633 7865 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7866 (current_active_maps): Remove redundant get_local_map call.
7867
28c7826c
GM
78682000-09-18 Gerd Moellmann <gerd@gnu.org>
7869
5cefa566
GM
7870 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7871 cursor for buffers whose cursor_type is nil.
52283633 7872
6fed3546
GM
7873 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7874 a feature to implement that is already implemented.
7875 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7876 warnings.
7877
7878 * xfns.c (x_clear_image_1): New function.
7879 (x_clear_image): Use it.
52283633 7880 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7881
05b1f851
GM
7882 * dispnew.c (update_window): Move test for invisible lines
7883 at the top to update_window_line.
7884 (update_window_line): Handle invisible lines here.
7885
f4779de9
GM
7886 * xfns.c (clear_image_cache): Clear current matrices of all
7887 frames sharing an image cache. Block input while freeing
7888 images. Fix timestamp comparison.
7889 (x_clear_image): Also free the mask.
7890
28c7826c
GM
7891 * xfns.c (lookup_image): Block input while loading the image so
7892 that we won't get interrupted in a state where the image isn't yet
7893 set up completely.
7894 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7895 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7896 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7897 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7898
b7412313
GM
78992000-09-16 Gerd Moellmann <gerd@gnu.org>
7900
7901 * dispnew.c (update_window): Make sure to make desired rows
7902 current even if they are completely invisible at the top
7903 of a window.
7904
47e351a3
GM
79052000-09-15 Gerd Moellmann <gerd@gnu.org>
7906
7f8f1edc
GM
7907 * xfns.c (lookup_image): Build mask before applying an algorithm.
7908 Recognize algorithm `disabled'.
7909 (cross_disabled_images): New variable.
7910 (COLOR_INTENSITY): New macro.
7911 (x_detect_edges): Use COLOR_INTENSITY.
7912 (x_disable_image): New function.
7913 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7914
7915 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7916 disabled state, don't apply an image transformation algorithm if
7917 the user specified an image for the disabled state. Use
28c7826c 7918 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7919 user hasn't specified an image.
7920
ebb8f116
GM
7921 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7922 allocation functions with the XPM lib.
7923 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7924 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7925 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7926 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7927 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7928 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7929 functions, if possible, because these handle color allocation
7930 failure more gracefully.
7931 (Fimage_mask_p): New function.
7932
47e351a3
GM
7933 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7934 (Qedge_detection, Qheuristic): New symbols.
7935 (syms_of_xfns): Initialize new symbols.
7936 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7937 `algorithm (edge-detection ...)'.
7938 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7939 (tiff_format, gif_format, gs_format): Add `:mask'.
7940 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7941 (GIF_MASK, GS_MASK): New enumerators.
7942 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7943 (emboss_matrix, laplace_matrix): New variables.
7944 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7945 (x_edge_detection): New functions.
7946 (x_laplace): Rewritten in terms of x_detect_edges.
7947 (x_build_heuristic_mask): If image has a mask, free it.
7948
fe83b953
AI
79492000-09-14 Andrew Innes <andrewi@gnu.org>
7950
7951 * makefile.w32-in: Revert to Unix line endings.
7952
3021e816
AI
79532000-09-14 Andrew Innes <andrewi@gnu.org>
7954
7955 * makefile.w32-in: Standardize indentation somewhat.
7956 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7957 cater for differences between shells.
7958
7959 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7960
2a32b5ea
GM
79612000-09-14 Gerd Moellmann <gerd@gnu.org>
7962
7963 * xterm.c (x_produce_glyphs): If the distance from the current
7964 position to the next tab stop is less than a canonical character
7965 width, use the tab stop after that.
7966
b4331e96
DL
79672000-09-14 Dave Love <fx@gnu.org>
7968
7969 * buffer.c (alloc_buffer_text): Fix xmalloc call.
7970
ef9e4345
GM
79712000-09-14 Gerd Moellmann <gerd@gnu.org>
7972
085536c2
GM
7973 * xdisp.c (handle_fontified_prop): While running fontification
7974 functions, bind `fontification-functions' and
7975 `after-change-functions' to nil.
7976
ef9e4345
GM
7977 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
7978 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
7979
7980 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
7981
7982 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
7983 USE_MMAP_FOR_BUFFERS.
7984
7985 * insdel.c (make_gap): Use enlarge_buffer_text.
7986
7987 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
7988 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
7989 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
7990 from former r_alloc_* functions in ralloc.c.
52283633 7991 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
7992 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
7993 (mmap_init) [REL_ALLOC_MMAP]: New function.
7994 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
7995 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
7996 BUFFER_FREE.
7997
7998 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
7999 (enlarge_buffer_text): Add prototype.
8000
8001 * ralloc.c: Remove everything having to do with the use of mmap.
8002
f8608968
GM
80032000-09-13 Gerd Moellmann <gerd@gnu.org>
8004
2a494b2d
GM
8005 * sound.c (Fplay_sound): Doc fix.
8006
8c907a56
GM
8007 * keyboard.c: Avoid some more compiler warnings.
8008 (parse_tool_bar_item): Ignore cached key bindings.
8009
f8608968
GM
8010 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8011 and allocation of Lisp data.
8012
6ab70e9a
GM
80132000-09-12 Gerd Moellmann <gerd@gnu.org>
8014
d12d0a9b
GM
8015 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8016 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8017 defaults first.
8018
6ab70e9a
GM
8019 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8020
63c36c3c
KH
80212000-09-12 Miyashita Hisashi <himi@meadowy.org>
8022
8023 * ccl.c: Comment fixed.
8024 (MAX_MAP_SET_LEVEL): Increased to 30.
8025 (PUSH_MAPPING_STACK): Enclose with do-while block.
8026 (POP_MAPPING_STACK): Likewise.
8027 (stack_idx_of_map_multiple): New variable.
8028 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8029 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8030 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8031 (ccl_driver) <CCL_MapSingle>: Likewise.
8032 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8033 with the case where looking up process reaches to the end of
8034 map-set, and call CCL programs as the above change.
8035
7ee3bd7b
GM
80362000-09-11 Gerd Moellmann <gerd@gnu.org>
8037
8ec8a5ec
GM
8038 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8039 that might be clobbered by longjmp.
8040 (check_x_display_info, x_decode_color, create_frame_xic)
8041 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8042 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8043
f74b0705
GM
8044 * lread.c (init_lread): Set Vloads_in_progress to nil.
8045 (Fload): Show list of recursively loaded files, when signaling an
8046 error.
8047
7ee3bd7b
GM
8048 * lread.c (Vloads_in_progress): New variable.
8049 (record_load_unwind): New function.
8050 (Fload): Check for recursive loads.
8051 (syms_of_lread): Initialize Vloads_in_progress.
8052 (read_integer, read1): Avoid some compiler warnings.
8053
8054 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8055 compiler warnings.
8056
974e1e5b
MB
80572000-09-11 Miles Bader <miles@gnu.org>
8058
8059 * editfns.c (Fbuffer_string): Doc fix.
8060
9824c4e3
GM
80612000-09-10 Gerd Moellmann <gerd@gnu.org>
8062
8063 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8064
6a72fdd1
KR
80652000-09-09 Ken Raeburn <raeburn@gnu.org>
8066
8067 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8068 whether to include other header files.
8069
28e6fb66
GM
80702000-09-09 Gerd Moellmann <gerd@gnu.org>
8071
52283633 8072 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8073 by Fmemq as a boolean.
28e6fb66 8074
7f8b6551
SM
80752000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8076
8077 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8078
a8710abf
GM
80792000-09-08 Gerd Moellmann <gerd@gnu.org>
8080
d1a02881
GM
8081 * ralloc.c (mmap_fd): Remove initializer which can make it
8082 read-only in a dumped Emacs.
8083 (mmap_fd_1): New variable.
8084 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8085 restore it from there.
8086 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8087 unconditionally so that mmap_fd can be initialized there.
8088 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8089 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8090 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8091
c454aac1
GM
8092 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8093
8094 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8095 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8096
fc653ef2
GM
8097 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8098
3015eec0
GM
8099 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8100 inheritance.
8101
bfe0ee88
GM
8102 * xdisp.c (try_window_id): When trying to locate cursor in
8103 unchanged rows at the top, handle the case that we can't find it.
8104
a8710abf
GM
8105 * xterm.c (x_draw_glyphs): Handle case START and END are out
8106 of bounds more carefully.
8107
6b7d4ae4
DL
81082000-09-08 Dave Love <fx@gnu.org>
8109
423193c5
DL
8110 * s/sol2.h (REL_ALLOC_MMAP): Define.
8111 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8112
8113 * ralloc.c: Don't include string.h (redundant).
8114 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8115 [!MAP_ANON]: Include fcntl.h.
8116 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8117 (r_alloc, r_re_alloc, r_alloc_free)
8118 (mmap_enlarge, mmap_set_vars): Use it.
8119 (r_alloc_init_fd): New function.
8120 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8121 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8122 malloc type.
8123
8124 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8125 Remove vm-limit.o.
8126
6b7d4ae4
DL
8127 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8128 change to __NetBSD__.
8129
44d31981
KH
81302000-09-08 Kenichi Handa <handa@etl.go.jp>
8131
8132 * search.c (compile_pattern): Check the multibyteness of cached
8133 string and PATTERN.
8134
aad40737
MB
81352000-09-08 Miles Bader <miles@gnu.org>
8136
8137 * xfaces.c (default_face_vector): Function removed.
8138 (Finternal_merge_in_global_face): Restore old global/local
8139 attribute override order. Use inline loop instead of calling
8140 default_face_vector.
8141
91a211b5
GM
81422000-09-07 Gerd Moellmann <gerd@gnu.org>
8143
8144 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8145 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8146 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8147 where necessary, in case POINTER_TYPE is `void'.
8148
03419440
EZ
81492000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8150
8151 * frame.c (make_terminal_frame): Initialize frame foreground and
8152 background colors to unspecified, for the initial instance of an
8153 MSDOS frame.
8154
f46f845b
GM
81552000-09-07 Gerd Moellmann <gerd@gnu.org>
8156
24f76fbf
GM
8157 * ralloc.c (mmap_find): Fix overlap computation.
8158 (mmap_enlarge): Compute nbytes before trying to find an
8159 overlapping region.
8160
f46f845b
GM
8161 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8162 instead of `!='.
8163
8164 * lread.c (syms_of_lread): Change value of regexp
8165 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8166
8167 * xmenu.c (xdialog_show): When looking up the selection in
8168 menu_items, take `quote' boundaries into account; this corresponds
8169 to a nil ITEM in x-popup-dialog.
8170
3c014385
KH
81712000-09-07 Kenichi Handa <handa@etl.go.jp>
8172
fd6f711b
KH
8173 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8174 not 0x81.
8175 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8176
3c014385 8177 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8178 encoding, not decoding. Fix the handling of latin-jisx0201.
8179 Check for the charset katakana-jisx0201 too.
3c014385 8180 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8181 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8182
0da3ecef
GM
81832000-09-07 Gerd Moellmann <gerd@gnu.org>
8184
ab0ee409
GM
8185 * xfaces.c (Vparam_value_alist): New variable.
8186 (syms_of_xfaces): Initialize it.
8187 (Finternal_set_lisp_face_attribute): Avoid more consing.
8188
8189 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8190 specially.
8191 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8192 (Qbackground_mode): New variable.
8193 (syms_of_frame_1): Initialize Qbackground_mode.
8194
8195 * lisp.h (Qdisplay): Declare extern.
1091dd67 8196
0da3ecef
GM
8197 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8198 change face on all frames, and change the default for new frames.
8199
b14654b9
DL
82002000-09-07 Dave Love <fx@gnu.org>
8201
8202 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8203
d24fd56f
KH
82042000-09-07 Kenichi Handa <handa@etl.go.jp>
8205
794f3670
KH
8206 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8207
0fddd0dc
KH
8208 * charset.c: Include composite.h
8209 (lisp_string_width): New function.
8210 (Fstring_width): Call lisp_string_width instead of strwidth.
8211
8212 * Makefile.in (charset.o): Depends on composite.h.
8213
d24fd56f
KH
8214 * process.c (read_process_output): Before inserting the decoded
8215 text in the buffer, adjust the multibyteness.
8216
fa0b693c
GM
82172000-09-06 Gerd Moellmann <gerd@gnu.org>
8218
52283633 8219 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8220 buffer's text buffer is null, map new memory.
8221
0a58f946
GM
8222 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8223 POINTER_TYPE and size_t.
8224 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8225 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8226 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8227 [REL_ALLOC_MMAP]: New macros.
8228 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8229 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8230 [REL_ALLOC_MMAP]: New functions.
8231
8232 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8233 before and after unexec.
8234
8235 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8236 text buffers if necessary.
8237
8238 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8239 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8240 in prototypes.
8241
fa0b693c
GM
8242 * config.in (HAVE_MMAP): Add #undef.
8243
877055f6
GM
82442000-09-05 Gerd Moellmann <gerd@gnu.org>
8245
08ba3862
GM
8246 * frame.c (Qdisplay_type): New variable.
8247 (syms_of_frame_1): Initialize it.
8248 (Fframe_parameter): New function that avoids consing.
8249 (syms_of_frame): Defsubr it.
8250
66ffe51c
GM
8251 * buffer.c (Fother_buffer): Consider buffers as invisible when
8252 they are displayed in a window on an invisible frame.
8253
877055f6
GM
8254 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8255 get-largest-window always return nil.
8256
bb970e67
GM
82572000-09-04 Gerd Moellmann <gerd@gnu.org>
8258
8259 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8260 variable; recognize Emacs 19 elc files.
8261
7a3d0e0e
MB
82622000-09-04 Miles Bader <miles@gnu.org>
8263
8264 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8265 before initially popping up the menu, so the menu doesn't flash
52283633 8266 when the face settings are significantly different from the defaults.
7a3d0e0e 8267
14473664
SM
82682000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8269
8270 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8271 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8272 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8273 (BIT_UNIBYTE): Remove.
8274 (re_match_2_internal): Delete corresponding code and streamline the
8275 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8276 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8277 (re_wctype_t): New type.
8278 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8279 (regex_compile): Use them and fix handling of overly long char classes.
8280
c1174479
AI
82812000-09-03 Andrew Innes <andrewi@gnu.org>
8282
f8803e97
AI
8283 * makefile.w32-in: Change to DOS line endings.
8284
c1174479
AI
8285 * s/ms-w32.h (ORDINARY_LINK): New define.
8286
8287 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8288 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8289
8290 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8291 (distclean): Delete them here instead.
8292
44ef7cf6
AI
8293 * w32proc.c (compare_env): Convert to uppercase for comparison,
8294 not lowercase, to match how the native Windows shell works.
8295
49b3bd82
JR
82962000-09-03 Jason Rumney <jasonr@gnu.org>
8297
8298 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8299 CVS changes the line-ends when checking in/out on DOS/Windows.
8300
8301 * makefile.nt (emacs): Do not change directory to run temacs, as
8302 the load-path is set relative to current directory.
8303
a3d35a39
MB
83042000-09-03 Miles Bader <miles@gnu.org>
8305
8306 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8307
d276b0cf
GM
83082000-09-02 Gerd Moellmann <gerd@gnu.org>
8309
715e84c9
GM
8310 * xdisp.c (redisplay_mode_lines): New function.
8311 (display_mode_lines): Return number of mode lines displayed.
8312 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8313 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8314
8892f40b
GM
8315 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8316 string.h and strings.h.
8317 (index) [HAVE_INDEX]: Add prototype.
8318
d276b0cf
GM
8319 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8320 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8321
8322 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8323 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8324
38404229
GM
83252000-09-01 Gerd Moellmann <gerd@gnu.org>
8326
8327 * lread.c (read1): Accept `?' as symbol constituent, for
8328 compatiblity with XEmacs.
8329
c0f9ea08
SM
83302000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8331
8332 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8333 (struct re_pattern_buffer): Remove newline_anchor.
8334 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8335 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8336 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8337 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8338 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8339 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8340 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8341 Get rid of references to newline_anchor.
8342 (regcomp): Allocate and precompute a fastmap.
8343
8c0f83fe
GM
83442000-08-31 Gerd Moellmann <gerd@gnu.org>
8345
8346 * lread.c (openp): GCPRO local variable `filename'.
8347
4bb91c68
SM
83482000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8349
8350 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8351
8352 * regex.c: Merge some changes from GNU libc. Add prototypes.
8353 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8354 Use memcmp and memcpy instead of bcopy and bcmp.
8355 (init_syntax_once): Use ISALNUM.
8356 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8357 (REG_UNSET_VALUE): Remove. Use NULL instead.
8358 (REG_UNSET, re_match_2_internal): Use NULL.
8359 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8360 New macros.
8361 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8362 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8363 (regex_compile): In handle_interval, return an error rather than try to
8364 unfetch the interval if we can't find the closing brace.
8365 Obey the RE_NO_GNU_OPS syntax bit.
8366 (TOLOWER): New macro.
8367 (regcomp): Use it.
8368 (regexec): Allocate regs.start and regs.end as one block.
8369
5226a931
GM
83702000-08-30 Gerd Moellmann <gerd@gnu.org>
8371
868dd24b
GM
8372 * xdisp.c (echo_area_display): Check display_completed instead
8373 of calling detect_input_pending.
8374
8375 * dispnew.c (update_frame): Only set display_completed here; move
8376 the update_begin and update_end calls here from update_frame_1.
8377 (update_frame_1): Don't set display_completed here, don't call
8378 update_begin/update_end.
8379
5226a931
GM
8380 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8381 instead of store_frame_param.
8382
2a8bd25f
GM
83832000-08-29 Gerd Moellmann <gerd@gnu.org>
8384
8385 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8386 desired window matrix hasn't been displayed, use the current row
8387 instead. Make sure that only those frame rows are updated for
8388 which there exists a corresponding enabled desired row.
52283633 8389
ba3478d9
MB
83902000-08-29 Miles Bader <miles@gnu.org>
8391
8392 * xfaces.c (default_face_vector): New function.
8393 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8394
87d0f685
GM
83952000-08-29 Gerd Moellmann <gerd@gnu.org>
8396
8397 * lread.c (openp): Prevent temporary string passed to
8398 Ffile_readable_p from being garbage collected.
8399
6fa86045
DL
84002000-08-28 Dave Love <fx@gnu.org>
8401
8402 * keymap.c (store_in_keymap): Add `static' to declaration.
8403
bb17930d
GM
84042000-08-28 Gerd Moellmann <gerd@gnu.org>
8405
8406 * emacs.c, callint.c, doc.c, editfns.c
8407 (toplevel) [HAVE_STRING_H]: Include string.h.
8408 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8409 (index): Remove prototypes which might conflict with non-standard
8410 definitions of index/strchr.
8411
8412 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8413 (rindex): Define only if !HAVE_RINDEX.
8414
8415 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8416
8417 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8418
87188200
MB
84192000-08-28 Miles Bader <miles@gnu.org>
8420
8421 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8422 made inconsistent by a font-related attribute in FROM.
8423 (merge_face_inheritance): Add function comment.
8424
41a68aef
KH
84252000-08-28 Kenichi Handa <handa@etl.go.jp>
8426
8427 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8428 the 4th arg (PREV_EVENT) Qt to suppress input method.
8429
f7c436c1
SM
84302000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8431
0b32bf0e
SM
8432 * regex.c: Indent cpp directives and remove parens after `defined'.
8433 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8434 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8435 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8436 (re_compile_pattern): Use size_t for length.
8437 (init_syntax_once): Move to a better place.
8438 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8439 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8440
f7c436c1
SM
8441 * syntax.c (back_comment): Detect cases where a comment-starter is
8442 actually inside another comment as in: /* a // b */ c // d \n.
8443 Make it clear that `comstart_pos' is unused for nested comments.
8444
8445 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8446 (KEYMAPP): New macro.
8447 (Fkeymap_parent, Fset_keymap_parent): Use it.
8448 (fix_submap_inheritance): Mark it static.
8449 (define_as_prefix, describe_buffer_bindings, describe_command)
8450 (describe_translation, describe_map): Complete prototypes.
8451
8452 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8453
8454 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8455 to better match the key-lookup behavior.
8456
6288c62f
GM
84572000-08-27 Gerd Moellmann <gerd@gnu.org>
8458
8459 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8460 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8461
e931344e
EZ
84622000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8463
8464 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8465 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8466 (xterm.o): Depend on coding.h
8467
d10dfeef
KH
84682000-08-26 Kenichi Handa <handa@etl.go.jp>
8469
8470 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8471 the corresponding '#endif'.
8472
2d73e8d3
MB
84732000-08-26 Miles Bader <miles@gnu.org>
8474
8475 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8476 * xfaces.c (QCinherit): New variable.
8477 (syms_of_xfaces): Initialize it.
8478 (LFACE_INHERIT): New macro.
8479 (Finternal_get_lisp_face_attribute)
52283633 8480 (merge_face_vector_with_property)
2d73e8d3
MB
8481 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8482 (check_lface_attrs): Allow new types of face height. Check
8483 inherit attribute.
8484 (CYCLE_CHECK): New macro.
8485 (merge_face_inheritance): New function.
8486 (merge_face_vectors): Merge inherited faces too. Add F and
8487 CYCLE_CHECK arguments.
8488 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8489 (lookup_named_face, lookup_derived_face, realize_named_face)
8490 (face_at_string_position, face_at_buffer_position): Supply
8491 new F and CYCLE_CHECK arguments to merge_face_vectors.
8492 (merge_face_heights): New function.
52283633 8493 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8494 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8495 handle relative face heights.
8496 (lface_same_font_attributes_p): Compare heights using EQ.
8497
6ce974d4
KH
84982000-08-26 Kenichi Handa <handa@etl.go.jp>
8499
8500 * charset.c (char_to_string): Check the character validity.
52283633 8501 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8502
dc1e502d
SM
85032000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8504
8505 * regex.c (PUSH_FAILURE_COUNT): New macro.
8506 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8507 Handle popping of a register's or a counter's data.
8508 (POP_FAILURE_POINT): Use the new name.
8509 (re_match_2_internal): Push counter data on the stack for succeed_n,
8510 jump_n and set_number_at and remove misleading dead code in succeed_n.
8511
bd9d0f3f
GM
85122000-08-25 Gerd Moellmann <gerd@gnu.org>
8513
8514 * xdisp.c (redisplay_internal): If considering all windows on all
8515 frames, update the display for each frame as soon as possible,
8516 instead of first building all desired matrices for all frames, and
8517 then updating them all.
8518 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8519
aa5b8e15
GM
85202000-08-24 Gerd Moellmann <gerd@gnu.org>
8521
17494071
GM
8522 * bytecode.c (mark_byte_stack): Add a comment.
8523
52283633
SM
8524 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8525 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8526 a graphical frame.
8527
c543db81
KH
85282000-08-24 Kenichi Handa <handa@etl.go.jp>
8529
d246d5f5
KH
8530 * minibuf.c (do_completion): Always use compare-string, not
8531 string-equal because the latter doesn't pay attention to
8532 multibyteness of strings.
8533
c543db81
KH
8534 * process.c (create_process): Don't setup raw-text coding here.
8535 (Fopen_network_stream): Don't set coding->src_multibyte and
8536 coding->dst_multibyte here.
8537 (read_process_output): For process filter, return unibyte string
8538 if default-enable-multibyte-characters is nil.
8539 (send_process): If OBJECT is multibyte text, be sure to encoded it
8540 by the specified coding system for the process. Otherwise, setup
8541 raw-text coding.
52283633 8542 (init_process): Don't initialize default-process-coding-system here.
c543db81 8543
9b47cfe0
EZ
85442000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8545
8546 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8547 <scroll-down-aggressively>: Likewise.
8548
f5a36960
KH
85492000-08-23 Kenichi Handa <handa@etl.go.jp>
8550
8551 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8552 zero. Set coding->produced_char correctly.
8553
69a7ffa7
AI
85542000-08-22 Andrew Innes <andrewi@gnu.org>
8555
8556 * makefile.w32-in: New file.
8557
8558 * unexw32.c (unexec): Ignore old_name, and use the actual location
8559 of the current executable instead. Base new_name on this.
8560
8561 * w32proc.c (create_child): Remove reference to security
8562 descriptor, which isn't needed and doesn't compile with mingw32.
8563
8564 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8565 up dllimport attributes.
8566 (x_update_window_end): Update prototype.
8567
8568 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8569 extern, which screws up dllimport attributes.
8570
8571 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8572 up dllimport attributes.
8573
8574 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8575 screws up dllimport attributes.
8576
8577 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8578 up dllimport attributes.
8579 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8580 screws up dllimport attributes.
8581
8582 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8583 up dllimport attributes.
8584
8585 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8586 screws up dllimport attributes.
8587
8588 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8589 screws up dllimport attributes.
8590
8591 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8592 up dllimport attributes.
8593
8594 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8595 unnecessary extern, which screws up dllimport attributes.
8596 (main): Ditto.
8597
8598 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8599 up dllimport attributes.
8600
8601 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8602 unnecessary extern, which screws up dllimport attributes.
8603
8604 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8605 screws up dllimport attributes.
8606
8607 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8608 up dllimport attributes.
8609
8610 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8611
52283633
SM
8612 * w32bdf.c (search_file_line):
8613 (set_bdf_font_info):
8614 (seek_char):
8615 (w32_get_bdf_glyph):
69a7ffa7
AI
8616 (w32_BDF_to_x_font): Fix compile warnings.
8617
52283633 8618 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8619
8620 * w32select.c: Include keyboard.h before frame.h.
8621
8622 * w32fns.c (max): Define macro.
8623 (JOHAB_CHARSET): Define if not known.
8624 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8625 (Fx_show_tip): Synch with X version.
8626
8627 * w32xfns.c: Include keyboard.h before frame.h.
8628
8629 * w32fns.c: Include keyboard.h before frame.h.
8630
8631 * w32term.c: Include keyboard.h before frame.h.
8632
8633 * fontset.c: Include keyboard.h before frame.h.
8634
8635 * w32inevt.c: Include keyboard.h before frame.h.
8636 (MOUSE_MOVED): Define if not known.
8637
8638 * minibuf.c: Include keyboard.h before frame.h.
8639
8640 * keyboard.c: Include keyboard.h before frame.h.
8641
8642 * indent.c: Include keyboard.h before frame.h.
8643
8644 * dispnew.c: Include keyboard.h before frame.h.
8645
8646 * buffer.c: Include keyboard.h before frame.h.
8647
8648 * alloc.c: Include keyboard.h before frame.h.
8649
8650 * print.c: Include keyboard.h before frame.h.
8651
8652 * process.c: Include keyboard.h before frame.h.
8653
8654 * scroll.c: Include keyboard.h before frame.h.
8655
8656 * sysdep.c: Include keyboard.h before frame.h.
8657
8658 * term.c: Include keyboard.h before frame.h.
8659
8660 * window.c: Include keyboard.h before frame.h.
8661
8662 * xdisp.c: Include keyboard.h before frame.h.
8663 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8664
8665 * frame.c: Include keyboard.h before frame.h.
8666
8667 * w32heap.h: Undefine min, max.
8668
8669 * w32gui.h: Undefine min, max.
8670
8671 * unexw32.c: Change PUCHAR to PCHAR.
8672 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8673 (relocate_offset):
8674 (get_section_info):
69a7ffa7
AI
8675 (copy_executable_and_dump_data): Remove unnecessary static defs.
8676 (copy_executable_and_dump_data): Fix compile warnings.
8677
8678 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8679
8680 * w32console.c (min): Define macro.
8681 (clear_frame, write_glyphs): Fix compile warning.
8682
52283633 8683 * w32proc.c (compare_env):
69a7ffa7
AI
8684 (find_child_console): Fix compile warning.
8685
8686 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8687 sys_errlist instead of _sys_errlist.
8688 (get_emacs_configuration_options): New function.
8689
8690 * s/ms-w32.h (sys_nerr): Provide default definition.
8691 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8692 name with _ prepended.
8693 (NSIG): Define if not known.
8694 (get_emacs_configuration): Provide extern declaration.
8695 (get_emacs_configuration_options): Provide extern declaration.
8696 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8697
8698 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8699 (map_w32_filename):
69a7ffa7
AI
8700 (read_unc_volume): Fix compile warning.
8701
8702 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8703 definitions from being used.
8704
8705 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8706
52283633 8707 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8708 (open_unc_volume): Make arg const.
8709
8710 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8711 (read_input_waiting): Remove excess parameter.
8712
8713 * w32.c (init_environment): Call _access.
8714 (check_windows_init_file): Call _close.
8715 (init_user_info): Call _putenv.
8716 (init_environment): Call _putenv and _strdup.
8717 (init_ntproc): Reset volume info cache on startup.
8718
8719 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8720 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8721 cannot override the CRT malloc.
8722
8723 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8724 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8725
8726 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8727 unless we are linking with a static CRT.
8728 (RVA_TO_PTR): Cast result to unsigned char*.
8729
8730 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8731 (add_volume_info): Use xstrdup.
8732
25060080
SM
87332000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8734
8735 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8736 (do_completion, Fminibuffer_complete_word): Use it.
8737 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8738 var so it can take non-boolean values.
8739
6917e6bb
GM
87402000-08-21 Gerd Moellmann <gerd@gnu.org>
8741
acb7cc89 8742 * editfns.c (find_field): Formatting changes.
52283633 8743 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8744 changed to prototypes, some new protypes added, some functions
8745 made static.
8746
8747 * lisp.h (set_time_zone_rule): Add prototype.
8748 (use_dialog_box): External declaration.
8749
0bbfdc25
GM
8750 * keyboard.c (gen_help_event): Add parameter SIZE.
8751 (kbd_buffer_events_waiting): Slightly rewritten.
8752 (clear_event): New function.
8753 (kbd_buffer_get_event): Use it, and clear the input_events of
8754 HELP_EVENTs.
8755 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8756 don't fill the newly created array with nils.
8757 (toplevel): Convert some old-style function forward declarations
8758 to prototypes.
8759
8760 * keyboard.h (gen_help_event): Change prototype.
8761
8762 * xterm.c (XTread_socket): Change calls to gen_help_event.
8763
8764 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8765
6917e6bb
GM
8766 * eval.c (Fmacroexpand): Doc fix.
8767
e5cd3d11
JR
87682000-08-20 Jason Rumney <jasonr@gnu.org>
8769
8770 * w32term.h (x_display_info_for_display): Remove as this function
8771 does not exist on W32.
8772
8773 * w32term.c (help_echo_window): New variable.
8774 (syms_of_w32term): staticpro it.
8775 (note_mode_line_highlight): Set it.
8776 (XTextExtents16): Removed as there is no equivalent on W32.
8777 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8778 the X way of doing this will not work for W32.
8779 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8780 (x_draw_image_foreground): Avoid drawing outside of the clip area
8781 when image doesn't have a mask.
8782 (note_mouse_highlight): Process overlays in the right order of
8783 priority. Set help_echo_window.
8784 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8785 because that's more visible for large images.
8786
8787 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8788 name to single_keymap_panes.
8789 (w32_menu_show): Set wv->title when dealing with titles.
8790 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8791
6e69ab8c
MB
87922000-08-21 Miles Bader <miles@gnu.org>
8793
8794 * minibuf.c (do_completion): Try again if we rewrite the input
8795 string, but no completion was done, so that any completion message
8796 will be correct.
8797
511bd4eb
GM
87982000-08-20 Gerd Moellmann <gerd@gnu.org>
8799
8800 * xfaces.c (lface_equal_p): Compare strings differently.
8801 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8802 (realize_tty_face): Use them.
8803 (syms_of_xfaces): Initialize new variables.
8804 (map_tty_color): New function, extracted from realize_tty_face.
8805 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8806 foreground or background color, store the new color name in the
8807 realized face; previous code trying to do this had no effect.
8808 (realize_tty_face): Use map_tty_color.
8809 (Fclear_face_cache): Set face_change_count and ensure thorough
8810 redisplay.
8811
1433385f
GM
88122000-08-19 Gerd Moellmann <gerd@gnu.org>
8813
511bd4eb
GM
8814 * undo.c (record_first_change, record_marker_adjustment): Don't
8815 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8816
419ac0a2
KH
88172000-08-18 Kenichi Handa <handa@etl.go.jp>
8818
8819 * coding.c (decode_coding_string): Set members consumed,
8820 consumed_char, produced, produced_char of *coding correctly. If
8821 decode_coding doesn't consume any byte, don't try anymore.
8822 (encode_coding_string): Likewise.
8823
7eb9e30d
GM
88242000-08-18 Gerd Moellmann <gerd@gnu.org>
8825
511bd4eb
GM
8826 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8827 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8828
8829 * xdisp.c (redisplay_internal): Compare windows for equality with
8830 EQ, instead of applying XWINDOW to something that might not
8831 be a window.
52283633 8832
dd34a735
KH
88332000-08-18 Kenichi Handa <handa@etl.go.jp>
8834
8835 * fontset.c (Finternal_char_font): Search only the selected frame
8836 for a window of the current buffer.
8837
385ff9e3
GM
88382000-08-18 Gerd Moellmann <gerd@gnu.org>
8839
511bd4eb 8840 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8841 Lisp_Objects.
8842
385ff9e3
GM
8843 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8844 second half of a HELP_EVENT is found at the start of kbd_buffer.
8845
d6abb4c7
MB
88462000-08-18 Miles Bader <miles@gnu.org>
8847
4618074a
MB
8848 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8849
d6abb4c7
MB
8850 * editfns.c (save_restriction_save): Rewrite to use markers.
8851 (save_restriction_restore): Rewrite to understand new form of data
8852 saved by save_restriction_save.
8853 (Fsave_restriction): Remove cautionary note in doc-string.
8854
a7b28523
GM
88552000-08-17 Gerd Moellmann <gerd@gnu.org>
8856
8857 * fileio.c (build_annotations): Add a comment explaining the
8858 return value of format-annotate-function. Replace a spurious call
8859 to Flength with a CONSP test. Call format-annotate-function with
8860 a fifth arg specifying how many times the function is been called
8861 in a row, to let it choose temporary buffers appropriately.
8862
03c9ed77
DL
88632000-08-17 Dave Love <fx@gnu.org>
8864
8865 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8866 declare make_temp_name twice.
8867
52283633 8868 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8869 (unreadpure): Give it an arg.
8870
8871 * unexalpha.c: Prototype fatal_unexec, mark_x,
8872 update_dynamic_symbols. Declare unexec as void.
8873
8874 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8875 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8876
8877 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8878 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8879
8880 * alloca.c: Use #error.
8881 [POINTER_TYPE]: Use it.
8882
8883 * eval.c (Fdefvar): Doc fix.
8884
8885 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8886 INITIALIZE_INTERVAL.
8887
8888 * buffer.h: Avoid DECLARE_INTERVALS.
8889
8890 * config.in: Add size_t.
8891
aae41d97
EZ
88922000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8893
8894 * w16select.c (set_clipboard_data): If there's not enough memory
8895 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8896 expects. In case of other failures, return 3.
8897 (system_error_msg): New error message.
8898 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8899 system_error_msg.
8900
65aa5e85
GM
89012000-08-16 Gerd Moellmann <gerd@gnu.org>
8902
8903 * term.c (write_glyphs): Also turn off inverse video after turning
8904 off other appearances in case TS_exit_attribute_mode is not equal
8905 to TS_end_standout_mode.
8906 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8907 with the same face.
8908 (turn_off_face): Reset standout_mode only if
8909 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8910 is equal to TS_end_standout_mode.
8911
ece23901
KH
89122000-08-16 Kenichi Handa <handa@etl.go.jp>
8913
9d7bcb2e
KH
8914 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8915 sequence at the end of the source block.
8916
ece23901
KH
8917 * ccl.c (Fccl_program_p): Docstring modified.
8918 (Fccl_execute): Likewise.
8919 (Fccl_execute_on_string): Likewise.
8920
5e30eaa2
EZ
89212000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8922
8923 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8924
290602fd
KH
89252000-08-16 Kenichi Handa <handa@etl.go.jp>
8926
8927 The following changes are mainly to fix bugs of
8928 encode/decode-coding-string failing if encoding/decoding return
8929 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8930 variable conversion_buffer.
8931
8932 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8933 decrement dst_end to avoid buffer overflow in the later call of
8934 string_as_multibyte
8935
8936 * coding.h (conversion_buffer_size, conversion_buffer)
8937 (get_conversion_buffer): Extern deleted.
8938
8939 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8940 (conversion_buffer, conversion_buffer_size): Variables deleted.
8941 (get_conversion_buffer): Function deleted.
8942 (struct conversion_buffer): New structure.
8943 (MAX_ALLOCA): New macro.
8944 (allocate_conversion_buffer): New macro.
8945 (extend_conversion_buffer, free_conversion_buffer): New functions.
8946 (ccl_coding_driver): Set coding->result.
8947 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8948 this is the last block of source.
8949 (encode_coding): Likewise. Handle the source block as the last
8950 one only when the whole source text is consumed.
8951 (decode_coding_string): Handle the case that the output buffer is
8952 too small to decode the whole source text. Use
8953 allocate_conversion_buffer, extend_conversion_buffer and
8954 free_conversion_buffer, not get_conversion_buffer.
8955 (encode_coding_string): Likewise.
8956 (init_coding): Function deleted.
52283633 8957 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8958
8959 * emacs.c (main): Don't call init_coding.
8960
52283633 8961 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8962
8963 * term.c (write_glyphs): Use a locally declared conversion_buffer.
8964 (insert_glyphs): Likewise.
8965
8966 * w32console.c (write_glyphs): Use a locally declared
8967 conversion_buffer.
8968
b9f80d41
EZ
89692000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
8970
8971 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
8972 member of display_info is NULL.
8973
32dc52f7
GM
89742000-08-15 Gerd Moellmann <gerd@gnu.org>
8975
52283633 8976 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 8977
32dc52f7 8978 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 8979 appearances with capability `me'.
32dc52f7
GM
8980 (write_glyphs): Switch on inverse video before each face change.
8981
4eb22d33
DL
89822000-08-14 Dave Love <fx@gnu.org>
8983
8984 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
8985 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
8986 (lisp_free): Declare and make static.
8987
8988 * window.c: Fix embedded comment.
8989 (syms_of_window): Fix doc string.
8990
90cbf47e
GM
89912000-08-14 Gerd Moellmann <gerd@gnu.org>
8992
52283633 8993 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
8994 make sure to print `C-' before `M-', like in the manual.
8995
440fc135
GM
89962000-08-11 Gerd Moellmann <gerd@gnu.org>
8997
8998 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
8999 since they aren't relocated anymore.
52283633 9000 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9001
9002 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9003 partially visible line which is smaller than the window's height.
440fc135 9004
6e264fad
KH
90052000-08-11 Kenichi Handa <handa@etl.go.jp>
9006
9007 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9008 the multibyte form of eight-bit-control characters.
6e264fad
KH
9009 (Fccl_execute_on_string): Initialize ccl->multibyte.
9010
9011 * ccl.h (struct ccl_program): New member multibyte.
9012
9013 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9014
c371f69a
KH
90152000-08-11 Kenichi Handa <handa@etl.go.jp>
9016
9017 * regex.c (regex_compile) <normal_char>: Pay attention to
9018 multibyteness.
9019 (analyse_first) <exactn>: Setup fastmap correctly for
9020 eight-bit-control characters.
9021
90222000-08-11 Kenichi Handa <handa@etl.go.jp>
9023
52283633 9024 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9025
9026 * keyboard.c (make_lispy_event): Handle the new event type
9027 multibyte_char_keystroke.
9028
9029 * xterm.c: Include coding.h.
9030 (XTread_socket): Work around a bug of XmbLookupString. If the
9031 input is from XIM, decode it according to the current locale. In
9032 that case, generate multibyte_char_keystroke events.
9033
b8ddbe71
KH
90342000-08-11 Kenichi Handa <handa@etl.go.jp>
9035
9036 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9037 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9038
47589c8c
GM
90392000-08-10 Gerd Moellmann <gerd@gnu.org>
9040
9041 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9042 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9043 (move_it_in_display_line_to): Record iterator's ascent and descent
9044 before producing glyphs, and restore them when we know the glyph
9045 doesn't fit on the line.
9046 (move_it_to): Restructured so that it's easier to debug. If
9047 moving to a vpos, and not moving to an x or character position,
9048 stop as soon as the specified vpos is reached; don't move further
9049 into that line because that might change the computed line height.
9050 (try_cursor_movement): New function, extracted from the cursor
9051 movement branch of redisplay_window. If ending on a partially
9052 visible line, don't try to scroll if the cursor line is taller
9053 than the window.
9054 (redisplay_window): Use try_cursor_movement.
9055
9056 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9057 because that function doesn't cope with variable-height lines.
9058
9059 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9060 box cursor because that's better visible for large images.
52283633 9061
c51bacd6
MB
90622000-08-10 Miles Bader <miles@gnu.org>
9063
9064 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9065
bea56df7
GM
90662000-08-10 Gerd Moellmann <gerd@gnu.org>
9067
9068 * xdisp.c (Vmessages_buffer_name): New variable.
9069 (message_dolog): Use it.
9070 (syms_of_xdisp): Initialize it.
9071
99cd7364
EZ
90722000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9073
52283633 9074 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9075 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9076 redundant now that keyboard.h is included.
9077
7d093d56
EZ
90782000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9079
9080 * keyboard.c (kbd_buffer_events_waiting): New function.
9081
9082 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9083
9084 * msdos.c: Include keyboard.h.
9085 (XMenuActivate): Empty no_event events from the event buffer. If
9086 no events are left after that, call clear_input_pending.
9087 (mouse_clear_clicks): New function, code moved from mouse_init.
9088 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9089 mouse driver to ``forget'' any past clicks.
9090
9091 * Makefile.in (msdos.o): Depend on keyboard.h.
9092
41e757a6
GM
90932000-08-09 Gerd Moellmann <gerd@gnu.org>
9094
8e7bd231
GM
9095 * lisp.h (input_pending): External declaration.
9096
9097 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9098
8e7bd231
GM
9099 * xdisp.c (echo_area_display): Display thoroughly if input is
9100 pending. Bind redisplay-dont-pause to t during the redisplay.
9101 in case input is pending.
9102
9103 * dispnew.c (Qredisplay_dont_pause): New variable.
9104 (syms_of_display): Initialize and staticpro it.
9105 (update_frame_1): Don't interrupt the display for pending input if
9106 redisplay_dont_pause is set.
52283633 9107
43028b7e
GM
9108 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9109
41e757a6
GM
9110 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9111
2f2174fa
KH
91122000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9113
9114 * callproc.c (Fcall_process): Terminate the unwind-protect around
9115 the post-read-conversion of coding system.
9116
0a6fd67e
MB
9117 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9118 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9119 * buffer.h (overlays_at): Update prototype.
9120 * xdisp.c (next_overlay_change): Update call to overlays_at.
9121 * xfaces.c (face_at_buffer_position): Likewise.
9122 * textprop.c (Fget_char_property): Likewise.
9123 * xterm.c (note_mouse_highlight): Likewise.
9124
0c80756e
MB
9125 * minibuf.c (do_completion): Don't consider a simple change of
9126 case as `completion'.
9127
975f250a
KR
91282000-08-08 Ken Raeburn <raeburn@gnu.org>
9129
52283633 9130 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9131 * undo.c (record_delete): Make sure last_point_position_buffer is
9132 a buffer before comparing pointers.
9133
9134 * coding.h (decode_coding_string): Declare.
9135
9136 * intervals.h (Fprevious_single_char_property_change): Declare.
9137
9138 * textprop.c (Fprevious_single_char_property_change): Don't do
9139 arithmetic directly on lisp objects.
9140
52283633 9141 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9142
9143 * keyboard.h (menu_item_eval_property): Declare.
9144
9145 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9146 reuse as buffer name, instead of recreating (and discarding) every
9147 time a message is logged.
9148 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9149 (current_message_1, truncate_message_1, set_message_1)
9150 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9151 (current_message, truncate_echo_area, display_echo_area)
9152 (resize_echo_area_axactly): Changed calls.
b347b3fd 9153
975f250a 9154 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9155 Lisp object.
975f250a 9156 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9157 must be an integer, not a Lisp object.
975f250a 9158
46dc9912
KH
91592000-08-08 Kenichi Handa <handa@etl.go.jp>
9160
9161 * charset.c (Fchar_width): Doc fix.
9162
9f6d1a6c
GM
91632000-08-08 Gerd Moellmann <gerd@gnu.org>
9164
9165 * charset.c (Fstring_width): Doc fix.
9166
ff3d9573
GM
91672000-08-07 Gerd Moellmann <gerd@gnu.org>
9168
41e757a6 9169 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9170 line, clear ascent and descent members of the iterator structure;
9171 the height of the continued line does not affect the height of the
9172 continuation line.
9173 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9174 line taller than the window.
9175 (redisplay_window) <forced window start>: Handle case that the
9176 middle of the window is not found in any row.
9177 (dump_glyph_row): Show more information.
9178 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9179 first text line in a glyph matrix.
9180
9181 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9182 of the clip area when image doesn't have a mask.
9183
70fc58b3
GM
9184 * fns.c (sweep_weak_table): Fix survival conditions for
9185 key-or-value and key-and-value weakness.
9186
9187 * .gdbinit (xhashtable): New command.
9188
ac0e96ee
GM
9189 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9190 tables out of the list of all weak hash tables.
9191
ff3d9573
GM
9192 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9193 a new buffer is created, make sure echo_area_buffer[] references
9194 the new buffer.
9195
e0d8827b
EZ
91962000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9197
9198 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9199 the doc string.
9200
c6f35378
KH
92012000-08-07 Kenichi Handa <handa@etl.go.jp>
9202
9203 * syntax.c (skip_chars): Fix previous change. Make the handling
9204 of unibyte string consistent with that of regex search.
9205
1fd4c450
GM
92062000-08-05 Gerd Moellmann <gerd@gnu.org>
9207
e49aa397
GM
9208 * xmenu.c (popup_get_selection): Use xfree instead of free.
9209
9210 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9211
9212 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9213
9214 * callproc.c (child_setup): Use xfree instead of free.
9215
9216 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9217 instead of malloc.
9218 (run_mac_command, closedir): Use `xfree' instead of `free'.
9219
9220 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9221
9222 * eval.c (error): Use xfree instead of free.
9223
1fd4c450
GM
9224 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9225
9226 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9227 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9228
82d497fc
KH
92292000-08-05 Kenichi Handa <handa@etl.go.jp>
9230
9231 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9232 conversion.
9233
59f953a2
NF
92342000-08-04 Noah Friedman <friedman@splode.com>
9235
9236 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9237 docstring.
9238
688351f2
GM
92392000-08-04 Gerd Moellmann <gerd@gnu.org>
9240
9241 * syntax.c (skip_chars): Fix typo in error message.
9242
2dad51cc
AS
92432000-08-04 Andreas Schwab <schwab@suse.de>
9244
9245 * m/ia64.h: Moved from s/ia64.h.
9246
99bb2c60
KH
92472000-08-04 Kenichi Handa <handa@etl.go.jp>
9248
082a1df2
KH
9249 * process.c (read_process_output): Big simplification. Handle
9250 composition and post-read-conversion of coding system correctly.
9251 (send_process): Handle composition correctly.
9252
9253 * callproc.c (Fcall_process): Handle post-read-conversion of
9254 coding system if any.
9255
99bb2c60
KH
9256 * coding.c (decode_coding_iso2022): More strict check for handling
9257 single shifting.
082a1df2
KH
9258 (coding_restore_composition): Pay attention to the case that
9259 cmp_data is not set properly (because of invalid code in the
9260 source text).
9261 (run_pre_post_conversion_on_str): Include text properties in the
9262 resulting string.
9263 (decode_coding_string): Set members of coding correctly.
99bb2c60 9264
f4988be7
GM
92652000-08-03 Gerd Moellmann <gerd@gnu.org>
9266
9267 * s/ia64.h: New file.
9268
9269 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9270 Use NULL instead of 0 at the end of variable argument list of
9271 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9272 sizeof (int) < sizeof (void *).
9273
9274 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9275 of variable argument lists of XtVaGetValues and XtVaSetValues.
9276
9277 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9278 variable argument lists of XtVaGetValues and XtVaSetValues.
9279
ead53494
GM
92802000-08-02 Gerd Moellmann <gerd@gnu.org>
9281
9282 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9283 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9284
9285 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9286 prototype.
9287
9288 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9289 in call to Fsingle_key_description.
9290
9291 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9292 Callers changed.
9293
92942000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9295
9296 * window.c (display_buffer_reuse_frames): New variable.
9297 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9298 frames displaying BUFFER.
52283633 9299 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9300
10b0f752
MB
93012000-08-01 Miles Bader <miles@gnu.org>
9302
9303 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9304 when to constrain NEW_POS (they were pretty screwed up before).
9305
16425c4a
EZ
93062000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9307
9308 * msdos.c (run_msdos_command): Save and restore the master
9309 environment, for the case that child_setup signals an error.
9310 When mirroring slashes in DOS shell commands, don't fail when
9311 argv[2] has embedded blanks.
da288c14
EZ
9312 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9313 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9314 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9315
9316 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9317 using alloca; free it after run_msdos_command returns.
9318
27f73852
DL
93192000-07-27 Dave Love <fx@gnu.org>
9320
52283633
SM
9321 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9322 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9323
9324 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9325
c0261b5e
EZ
93262000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9327
9328 * editfns.c (lisp_time_argument): Fix last change.
9329
b548072f
GM
93302000-07-27 Gerd Moellmann <gerd@gnu.org>
9331
3ab82477
GM
9332 * fns.c (Fdelete): Make it work on vectors and strings in addition
9333 to lists.
9334
b548072f
GM
9335 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9336 (syms_of_fns): Initialize new variables.
52283633 9337 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9338 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9339 weakness, with t meaning the same as `key-and-value'.
9340
91ae8751
KH
93412000-07-27 Kenichi Handa <handa@etl.go.jp>
9342
9343 * coding.h (struct coding_system): Member safe_charset deleted.
9344
9345 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9346 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9347 New variables.
91ae8751
KH
9348 (coding_safe_chars): New function.
9349 (CODING_SAFE_CHAR_P): New macro.
9350 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9351 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9352 (detect_coding_iso2022): New local variable safe_chars.
9353 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9354 safe_charsets member of the coding system.
9355 (decode_coding_iso2022): New local variable safe_chars.
9356 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9357 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9358 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9359 (ENCODE_UNSAFE_CHARACTER): New macro.
9360 (encode_coding_iso2022): New local variable safe_chars. Check
9361 unsafe chars.
9362 (setup_coding_system): Delete the code to initialize
9363 coding->safe_charses
9364 (intersection, find_safe_codings): New functions.
9365 (Ffind_coding_systems_region_internal): New function.
9366 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9367 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9368 variable and initialize it.
9369
9370 * fns.c (char_table_ref_and_index): New function.
9371
9372 * lisp.h (char_table_ref_and_index): Add prototype.
9373
34a7a267
SS
93742000-07-26 Sam Steingold <sds@gnu.org>
9375
9376 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9377 (Ffloat_time): New built-in Lisp function.
34a7a267 9378
a95cb10a
GM
93792000-07-26 Gerd Moellmann <gerd@gnu.org>
9380
3353ef5a
GM
9381 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9382 for the character code.
9383
9384 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9385 GNU/Linux.
9386
a95cb10a
GM
9387 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9388 if called for a popup menu.
9389 (xmenu_show): Store help string in widget values.
9390
b4a12321
DL
93912000-07-26 Dave Love <fx@gnu.org>
9392
9393 * syswait.h: Move some definitions.
9394 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9395 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9396 perspicuous definitions.
9397 (WTERMSIG): Fix bit pattern used.
9398
13f5ad37
KH
93992000-07-26 Kenichi Handa <handa@etl.go.jp>
9400
9401 * print.c (print_object): If vector printing is truncated, print
9402 "..." to indicate it as well as the case of list printing.
9403
070fe99c
GM
94042000-07-25 Gerd Moellmann <gerd@gnu.org>
9405
969065c3
GM
9406 * xdisp.c (next_element_from_display_vector): Improve comments.
9407
9408 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9409 for the character code, and the rest for the face id as in 20.x.
9410 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9411
9412 * window.c (window_display_table): Cleaned up.
9413
070fe99c
GM
9414 * syntax.c (Fforward_word): Add last arg nil in call of
9415 Fconstrain_to_field.
9416
bad77ef7
EZ
94172000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9418
969065c3 9419 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9420 identical but for the letter-case, don't call
9421 barf_or_query_if_file_exists.
bad77ef7 9422
c28da489
MB
94232000-07-25 Miles Bader <miles@gnu.org>
9424
9425 * editfns.c (find_field): Honor special `boundary' fields.
9426 (Qboundary): New variables.
9427 (syms_of_editfns): Initialize Qboundary.
9428 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9429 Use scan_buffer instead of find_before_next_newline, because it
9430 allows us to detect the boundary case where there's a newline at
9431 the search limit.
9432 * lisp.h (Fconstrain_to_field): Update external declaration.
9433
e3c31fd5
GM
94342000-07-24 Gerd Moellmann <gerd@gnu.org>
9435
9436 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9437 if that is nil.
c28da489 9438
c66c29a2
DL
94392000-07-24 Dave Love <fx@gnu.org>
9440
9441 * s/sunos4-0.h, s/sol2.h:
9442 (LIBS_TERMCAP): Move from m/sparc.h.
9443
9444 * m/sparc.h (TERMINFO): Moved to system files (probably only
9445 relevant for sunos4 judging by its vintage).
9446 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9447 __arch64__.
9448
fbe0a958
EZ
94492000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9450
9451 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9452 name to single_keymap_panes.
9453
7d88e5c9
AS
94542000-07-24 Andreas Schwab <schwab@suse.de>
9455
9456 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9457
e024b101
GM
94582000-07-24 Gerd Moellmann <gerd@gnu.org>
9459
9460 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9461 parameters instead of using int parameters. Expect FN to accept
9462 EMACS_INT parameters.
9463 (display_echo_area, resize_echo_area_axactly, current_message)
9464 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9465 with new argument list.
9466 (resize_mini_window_1): New callback function.
9467 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9468 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9469
25c1a9ce
KH
94702000-07-24 Kenichi Handa <handa@etl.go.jp>
9471
9472 * fontset.c (fontset_ref): Remove INLINE declaration.
9473 (fontset_ref_via_base): Likewise.
9474 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9475 to downcase.
9476
7f987ac0
EZ
94772000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9478
9479 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9480 correct order of priority. If help echo was found in an overlay,
9481 use that overlay as the object in which the help echo was found.
9482
e2db3069
MB
94832000-07-22 Miles Bader <miles@gnu.org>
9484
9485 * textprop.c (Fprevious_single_char_property_change): The initial
9486 property value should be from the position preceding POSITION, not
9487 following it.
9488
5e3203e4
EZ
94892000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9490
9491 * coding.c (syms_of_coding): Doc fix for
9492 inhibit-iso-escape-detection.
9493
62145073
GM
94942000-07-21 Gerd Moellmann <gerd@gnu.org>
9495
c20aeb83
GM
9496 * xterm.c (note_mouse_highlight): Process overlays in the right
9497 order of priority.
34a7a267 9498
743934db
GM
9499 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9500
9501 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9502 overlay, use that overlay as the object in which the help was found.
743934db 9503
d1dc7e43 9504 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9505
62145073
GM
9506 * window.c (foreach_window): Instead of a fake variable argument
9507 list, take one USER_DATA argument.
9508 (foreach_window_1): Likewise, and call callback functions with two
9509 args, the window and USER_DATA.
9510 (struct check_window_data): New struct.
9511 (check_window_containing): Use it.
9512 (window_from_coordinates): Set up a struct check_window_data for
9513 foreach_window.
9514 (add_window_to_list, freeze_window_start): Change parameters
9515 according to new calling convention.
9516
9517 * window.h (foreach_window): Change prototype.
9518
9519 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9520
95212000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9522
9523 * xmenu.c (menu_help_callback): Call show_help_echo with
9524 additional arguments OBJECT and POS.
9525
11270583
KH
95262000-07-21 Kenichi Handa <handa@etl.go.jp>
9527
07b14857
KH
9528 * data.c (Faset): Allow storing any multibyte character in a
9529 string. Convert unibyte string to multibyte if necessary.
9530
11270583
KH
9531 * xfns.c (x_encode_text): New function.
9532 (x_set_name): Use x_encode_text.
9533 (x_set_title): Likewise.
9534
9535 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9536
9537 * xterm.h (x_encode_text): Add prototype.
9538
bc75b4fd
DL
95392000-07-20 Dave Love <fx@gnu.org>
9540
9541 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9542 xfree, not free.
9543
48c14970
EZ
95442000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9545
9546 * msdos.c (help_echo_window): New variable.
9547 (syms_of_msdos): Initialize and staticpro it.
9548 (IT_note_mode_line_highlight): Set help_echo_window.
9549 (IT_note_mouse_highlight): Ditto.
9550 (dos_rawgetc): Store help_echo_window in the second event produced
9551 for HELP_EVENTs.
9552
9553 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9554 Record the object that generated the help echo and the position of
9555 that object in help_echo_object and help_echo_pos. Record that
9556 some glyphs in a row are displayed in mouse-face.
9557 (IT_update_begin): Don't clear mouse highlight unless one of the
9558 enabled glyph rows is marked as being displayed in mouse-face.
9559 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9560 and position recorded in help_echo_object and help_echo_pos to the
9561 event queue.
9562 (IT_menu_display): Accept a new argument PN: the pane number of
9563 the current menu pane. Record the pane number and the item
9564 number of the item which has associated help string.
9565 (XMenuActivate): Update the prototype for help_callback in
9566 function declaration. Call IT_menu_display with the current menu
9567 pane number as an additional argument. Call help_callback with
9568 two additional arguments: the pane number and the item number of
9569 the menu item associated with the help text.
9570 (help_echo_object, help_echo_pos): New variables.
9571 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9572
9573 * msdos.h (XMenuActivate): Update prototype.
9574
4279296d
GM
95752000-07-19 Gerd Moellmann <gerd@gnu.org>
9576
47db06aa
GM
9577 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9578 Add some more prototypes.
9579
9580 * xterm.c, xterm.h: Add some more prototypes.
9581
9582 * lisp.h (Fnext_single_char_property_change): Add prototype.
9583
9584 * dispnew.c (direct_output_for_insert): Remove confusing
9585 outer local variable mouse_face_overwritten_p.
9586 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9587
4279296d
GM
9588 * alloc.c (allocate_string_data): Don't copy old string contents.
9589
670acd62
KH
95902000-07-19 Kenichi Handa <handa@etl.go.jp>
9591
9592 * coding.c (code_convert_region): Delete text properties before
9593 shrinking the conversion region.
9594
7cea38bc
GM
95952000-07-18 Gerd Moellmann <gerd@gnu.org>
9596
dc1cac59
GM
9597 * dispnew.c (update_text_area): Write the whole row if it
9598 has mouse-face in it.
9599
85a8aca9
GM
9600 * xfaces.c (face-alternative-font-family-alist): Remove
9601 DEFVAR_LISP; staticpro instead.
9602
34a7a267 9603 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9604 new arguments.
9605
9606 * keyboard.c (show_help_echo): Add parameter WINDOW.
9607 (read_char): Call show_help_echo with window extracted from Lisp
9608 help event.
9609 (gen_help_event): Add parameter WINDOW.
9610
9611 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9612
9613 * xterm.c (help_echo_window): New variable.
52283633 9614 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9615 (XTread_socket): Pass help_echo_window to gen_help_event.
9616 (syms_of_xterm): Initialize and staticpro help_echo_window.
9617
f8276b77
DL
96182000-07-18 Dave Love <fx@gnu.org>
9619
52283633 9620 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9621
088831a6
GM
96222000-07-18 Gerd Moellmann <gerd@gnu.org>
9623
3d6cd763
GM
9624 * alloc.c (allocate_string_data): If string had already data
9625 assigned, copy old contents to new string data.
9626
9627 * coding.c (syms_of_coding): Fix typo in spelling of variable
9628 `inhibit-iso-escape-detection'.
9629
088831a6
GM
9630 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9631
9632 * Makefile.in: Add dependencies on dispextern.h.
9633 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9634 `free'; both can conflict with system header files.
9635
bc8a8d55
KH
96362000-07-18 Kenichi Handa <handa@etl.go.jp>
9637
9638 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9639 undefined.
9640
069f5950
DL
96412000-07-18 Dave Love <fx@gnu.org>
9642
9643 * window.c (Fwindow_list): Declare arg `window'.
9644
aa96c820
KH
96452000-07-18 Kenichi Handa <handa@etl.go.jp>
9646
9647 * coding.c (setup_coding_system): Don't override the explicitly
9648 specified designations.
9649
06be8d32
MB
96502000-07-15 Miles Bader <miles@gnu.org>
9651
9652 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9653 from `text_property_eq' and `text_property_stickiness', respectively.
9654 (find_field, Fconstrain_to_field, char_property_eq)
9655 (char_property_stickiness): Changed to call char-property functions
9656 instead of text-property-only ones.
9657
9658 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9659 `next_single_char_property_change'). Do more error checking, and
9660 cleanup limit behavior.
9661 (Fprevious_single_char_property_change): New function.
9662 (syms_of_textprop): Initialize new subrs.
9663
9664 * xdisp.c (display_prop_end, invisible_text_between_p):
9665 Call Fnext_single_char_property_change instead of
9666 next_single_char_property_change.
9667
3fddcdc3
JR
96682000-07-15 Jason Rumney <jasonr@gnu.org>
9669
9670 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9671 after menu is finished with.
9672 (add_menu_item): Only consider wv->title as a menu title.
9673 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9674
9675 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9676 null title.
9677 (FONT_REGEXP): Remove unused macro, and its sub-components.
9678 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9679
9680 * w32term.c (help_echo_object, help_echo_pos): New variables.
9681 (note_mode_line_highlight): Store additional information about the
9682 help-echo in help_echo_object and help_echo_pos. Check both
9683 `local-map' and `keymap' properties for changing the cursor
9684 (note_mouse_highlight): Store additional information about the
9685 help-echo in help_echo_object and help_echo_pos.
9686 (note_tool_bar_highlight): Set help_echo_object to nil and
9687 help_echo_pos to -1.
9688 (w32_read_socket): Use gen_help_event instead of filling
9689 input_events manually.
9690 (syms_of_w32term): Staticpro help_echo_object.
9691 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9692 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9693 (x_clear_mouse_face): New function.
9694 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9695 (x_update_window_begin): No need to turn off the mouse
9696 highlight here.
9697 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9698 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9699 (x_fill_stretch_glyph_string): Consume runs of stretch
9700 glyphs instead of a single one.
9701 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9702 with new argument list.
9703 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9704 (x_append_glyph, x_append_composite_glyph)
9705 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9706 changes in struct glyph starting 1999-12-27. See comments for
9707 xterm.c on 2000-07-05.
9708
178c5d9c
SS
97092000-07-14 Sam Steingold <sds@gnu.org>
9710
9711 * xfaces.c (realize_x_face): Fix the last patch:
9712 check `default_face' before dereferencing.
9713
6fe533f6
DL
97142000-07-14 Dave Love <fx@gnu.org>
9715
069f5950 9716 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9717
dd7b81cf
KH
97182000-07-14 Kenichi Handa <handa@etl.go.jp>
9719
0693904a 9720 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9721 default_face's fontset, not using the default fontset.
0693904a 9722
dd7b81cf
KH
9723 * coding.c (inhibit_iso_escape_detection): New variable.
9724 (syms_of_coding): Make it a Lisp variable.
9725 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9726 nonzero, ignore ISO2022's escape sequence.
9727
d5aa31d8
GM
97282000-07-14 Gerd Moellmann <gerd@gnu.org>
9729
e5acf0ca
GM
9730 * alloca.c (malloc) [emacs]: Define as xmalloc.
9731
bd23a692
GM
9732 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9733 use that instead of the mouse position. Add parameters DX and DY.
9734
9735 * dispextern.h (Fx_show_tip): Adjust number of parameters
9736 in prototype.
9737
9662da0b
GM
9738 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9739 if HELP is a function, call it with OBJECT and POS as parameters
9740 to get the help to display.
9741 (gen_help_event, kbd_buffer_store_help_event): New functions.
9742 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9743 (read_char): Call show_help_echo with new parameters.
9744
178c5d9c 9745 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9746 Add prototypes.
9747
9748 * xterm.c (help_echo_object, help_echo_pos): New variables.
9749 (note_mode_line_highlight): Store additional information about the
9750 help-echo in help_echo_object and help_echo_pos. Check both
9751 `local-map' and `keymap' properties for changing the cursor
9752 (note_mouse_highlight): Store additional information about the
9753 help-echo in help_echo_object and help_echo_pos.
9754 (note_tool_bar_highlight): Set help_echo_object to nil and
9755 help_echo_pos to -1.
9756 (XTread_socket): Use gen_help_event instead of filling
9757 input_events manually.
9758 (syms_of_xterm): Staticpro help_echo_object.
9759
9760 * xmenu.c (menu_highlight_callback): Use
9761 kbd_buffer_store_help_event instead of setting up and input_event
9762 structure manually.
9763
9764 * xdisp.c (eval_form): GCPRO argument sexpr.
9765 (call_function): New function.
9766 (handle_single_display_prop): Use call_function and FUNCTIONP
9767 instead of checking whether if font_height is a symbol and
9768 using eval_form.
9769
9770 * eval.c (internal_condition_case_2): New function.
9771
9772 * lisp.h (FUNCTIONP): New macro.
9773 (internal_condition_case_2, call_function): Add prototypes.
9774
d5aa31d8
GM
9775 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9776 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9777 Always set `arg' member of input_events.
9778 (construct_menu_click): Unused function removed.
9779
9780 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9781
9782 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9783 (construct_drag_n_drop, x_scroll_bar_handle_click)
9784 (w32_read_socket): Always set `arg' member of input_events.
9785
9786 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9787
9788 * lisp.h (eval_form): Add prototype.
9789
9790 * xdisp.c (eval_form): Make it externally visible.
9791
0f1a9b23
GM
97922000-07-13 Gerd Moellmann <gerd@gnu.org>
9793
9794 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9795 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9796 consing. For prefix events, store the frame in the `arg' slot of
9797 the event, otherwise store the key there.
9798 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9799 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9800
9801 * xmenu.c (menu_highlight_callback): Store help string in the
9802 `arg' member of the input event; don't cons.
9803 (menubar_selection_callback): Use the `arg' slot of input events
9804 to queue additional information, instead of consing.
9805
9806 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9807
9808 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9809 TOOL_BAR_EVENTs.
9810 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9811
9812 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9813 input events to queue additional information, instead of consing.
9814
9815 * keyboard.c (kbd_buffer_gcpro): Renamed from
9816 kbd_buffer_frame_or_window. Now used for all Lisp objects
9817 referenced from the input queue.
9818 (kbd_buffer_store_event): Always use structure assignment for
9819 copying input events. Record all Lisp objects referenced from
9820 events in kbd_buffer_gcpro.
9821 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9822 differently from input events. Test for prefix menu_bar_events
9823 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9824 event in kbd_buffer_gcpro to nil.
9825 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9826 frame_or_window is equal to its arg member as prefix events.
9827 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9828 used by an input event to nil.
9829 (init_keyboard): Use two times the size of the input queue
9830 for kbd_buffer_gcpro.
9831 (syms_of_keyboard): Likewise.
9832
52283633
SM
9833 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9834 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9835
9836 * termhooks.h (struct input_event): Add member `arg'.
9837 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9838 (USER_SIGNAL_EVENT): Renamed from user_signal.
9839
9840 * xfaces.c (ASET): Remove definition.
9841
9842 * lisp.h (AREF, ASET, ASIZE): New macros.
9843
9844 * fontset.c (AREF, ASIZE): Remove definitions.
9845
9846 * fns.c (AREF): Remove definition.
178c5d9c 9847
0f1a9b23
GM
9848 * composite.c (AREF): Remove definition.
9849
712eaef2
GM
98502000-07-12 Gerd Moellmann <gerd@gnu.org>
9851
d8ee7803
GM
9852 * dispnew.c (redraw_overlapped_rows): Add missing local.
9853 (scrolling_window): Remove debug code.
9854
712eaef2
GM
9855 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9856 Before scrolling, turn off a mouse-highlight in the window
9857 being scrolled.
9858
9859 * xterm.c (x_update_window_end): Add parameter
9860 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9861 redisplay in XTframe_up_to_date.
9862 (x_clear_mouse_face): New function.
9863 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9864
9865 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9866 current glyph row.
9867 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9868 it when any row is written to that contains glyphs highlighted in
9869 mouse-face.
9870 (update_window): Call the window update end hook with new
9871 parameter MOUSE_FACE_OVERWRITTEN_P.
9872 (direct_output_for_insert): Give up if row contains mouse-face.
9873
9874 * dispextern.h (struct redisplay_interface): Add parameter
9875 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9876 (clear_mouse_face): New function pointer member.
9877
02010917
SM
98782000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9879
9880 * syntax.c (back_comment): Use one switch rather than a few `if's.
9881 Obey open_paren_in_column_0_is_defun_start.
9882 When reverting to the `slow' method, try to nicely handle the case
9883 of nested comments by checking that the comment-starter we found
9884 does indeed match the comment-ender.
9885 (scan_sexps_forward, scan_sexps_forward):
9886 Ignore excessive opening parenthesis rather than throwing an error.
9887
d76c03ea
GM
98882000-07-11 Gerd Moellmann <gerd@gnu.org>
9889
9890 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9891 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9892
9893 * dispnew.c (direct_output_forward_char): Give up if currently
9894 displaying a message instead of the minibuffer contents.
9895
9896 * xterm.c (x_update_window_begin): No need to turn off the mouse
9897 highlight here.
9898 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9899 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9900
9901 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9902 compare the mouse_face_p flags of both rows.
9903
9904 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9905
d55ead18
EZ
99062000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9907
9908 * keyboard.c (show_help_echo): Accept additional parameter
9909 ok_to_overwrite_keystroke_echo.
9910 (read_char): Call show_help_echo with a zero
9911 ok_to_overwrite_keystroke_echo argument.
52283633 9912 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9913 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9914 ok_to_overwrite_keystroke_echo argument.
9915 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9916 non-zero ok_to_overwrite_keystroke_echo argument.
9917
df75b1a3
GM
99182000-07-10 Gerd Moellmann <gerd@gnu.org>
9919
4b92c49a
GM
9920 * xdisp.c (try_window_id): If changes are all below what is
9921 displayed in the window, and point is in the window, we still
9922 might have to find point on the display.
9923
9924 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9925 glyphs instead of a single one.
9926 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9927 with new argument list.
9928 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9929
df75b1a3
GM
9930 * keymap.c (get_keymap_1): Add comment that this function can GC.
9931 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9932 comment that functions can GC.
9933 (Fset_keymap_parent): GCPRO arg KEYMAP.
9934
4314cf3e
EZ
99352000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9936
9937 * msdos.c (XMenuActivate): After exiting the menu, restore the
9938 echo area message and erase it.
9939
ab49ce15
KH
99402000-07-10 Kenichi Handa <handa@etl.go.jp>
9941
9942 * fontset.c (Ffontset_info): Make the return value more compatible
9943 with that of Emacs 20.
9944
090a072f
GM
99452000-07-07 Gerd Moellmann <gerd@gnu.org>
9946
9947 * eval.c (Fsignal): Handle case that backtrace_list is null.
9948
f92de4a6
KH
99492000-07-07 Kenichi Handa <handa@etl.go.jp>
9950
9951 * ccl.c (Fccl_execute): Typo fixed.
9952
dd8888a1
GM
99532000-07-06 Gerd Moellmann <gerd@gnu.org>
9954
e5c81191 9955 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9956
dd8888a1
GM
9957 * window.c (Fwindow_list): Reverse list at the end.
9958 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9959 means allow windows on OWINDOW's frame, only.
9960 (window_loop): Simplified; use Fwindow_list.
9961
9962 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9963
485266d0
GM
99642000-07-05 Gerd Moellmann <gerd@gnu.org>
9965
9966 * xterm.c (XTread_socket): Increment handling_signal at the start,
9967 decrement it at the end.
9968
9969 * eval.c (handling_signal): New variable.
9970 (Fsignal): Abort if handling_signal is non-zero.
9971
9972 * lisp.h (handling_signal): External declaration.
178c5d9c 9973
485266d0
GM
9974 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
9975
80fcd514
KR
99762000-07-05 Ken Raeburn <raeburn@gnu.org>
9977
9978 Sound support for NetBSD through "Linux emulation" support:
9979 * config.in (HAVE_SOUNDCARD_H): Undef.
9980 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
9981 * Makefile.in (LIBSOUND): New variable.
9982 (LIBES): Include it.
52283633
SM
9983 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
9984 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
9985 (vox_open): Use DEFAULT_SOUND_DEVICE.
9986 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
9987
d5c5cddd
GM
99882000-07-05 Gerd Moellmann <gerd@gnu.org>
9989
9990 * print.c (print_error_message): If Vsignaling_function is set,
9991 show it in *Messages*.
9992
9993 * lisp.h (Vsignaling_function): External declaration.
9994
9995 * eval.c (Vsignaling_function): New variable.
9996 (Fsignal): Compute it.
9997 (syms_of_eval): Staticpro it.
9998
65171e3a
DL
99992000-07-05 Dave Love <fx@gnu.org>
10000
10001 * syswait.h: Use the autoconf recommended approach. Old code
10002 #if'd out in case we need to revert.
10003
178c5d9c 10004 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10005
e2c46326
AI
100062000-07-05 Andrew Innes <andrewi@gnu.org>
10007
10008 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10009 when non-NULL instead of __morecore, to take account of buffer
10010 memory. This also solves a problem with spurious memory warnings
10011 on Windows.
10012
10013 * ralloc.c: Make real_morecore non-static.
10014
10015 * eval.c (internal_condition_case): Comment out abort if
10016 interrupt_input_blocked is not zero.
10017
10018 * makefile.nt: Add support for `bootstrap' and related targets.
10019 Include minimal debug info in emacs.exe in release build.
10020 Remove all dependencies on lisp.h, and fixup some others.
10021
10022 * w32.c (init_environment): Install code from 20.7 for providing
10023 default values for environment variables, based on the
10024 executable's own location.
52283633 10025 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10026 (sys_socket): Install socket inheritance bug fix from 20.7.
10027
10028 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10029 here via blockinput.h).
10030
a027a91b
SM
100312000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10032
e4b31601
SM
10033 * w32menu.c (w32_menu_display_help):
10034 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10035
10036 * keyboard.h (show_help_echo): Declare.
10037
10038 * keyboard.c (show_help_echo): New function, extracted from read_char.
10039 Feval its `msg' argument if it's a cons cell.
10040 (read_char): Use it.
4cf8d9d5 10041 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10042
178c5d9c 10043 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10044 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10045 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10046 (dos_rawgetc):
10047 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10048 (note_tool_bar_highlight, w32_read_socket):
10049 Do not gratuitously ignore non-string `help-echo' properties.
10050
88d75730
GM
100512000-07-05 Gerd Moellmann <gerd@gnu.org>
10052
969f7e79
GM
10053 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10054
71201b00
GM
10055 * window.c (delete_all_subwindows): Reset Vwindow_list.
10056
88d75730
GM
10057 * xterm.c (x_append_glyph, x_append_composite_glyph)
10058 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10059 changes in struct glyph starting 1999-12-27. Some bit-fields of
10060 struct glyph were not set, which made glyphs unequal when compared
10061 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10062 effects were the result. This also depended on the contents of
10063 memory returned by xmalloc. If flickering happens again, activate
10064 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10065 gone with that, chances are that it is caused by something similar.
88d75730
GM
10066
10067 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10068
88d75730
GM
10069 * dispextern.h: Add some comments.
10070
10071 * window.c (add_window_to_list): Add parameter LIST.
10072 (window_list): Order list so that, for each frame, windows are
10073 in canonical order, and so that frames appear in the list in
10074 the order given by Vframe_list.
10075 (next_window): Reverse the handling of NEXT_P.
10076
53654733
GM
100772000-07-04 Gerd Moellmann <gerd@gnu.org>
10078
87efd256
GM
10079 * window.c (Vwindow_list): New variable.
10080 (make_window, delete_window): Set Vwindow_list to nil.
10081 (check_window_containing): New function.
10082 (window_from_coordinates): Rewritten.
10083 (add_window_to_list, window_list, candidate_window_p)
10084 (decode_next_window_args, next_window): New functions.
52283633 10085 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10086 (Fwindow_list): New function.
10087 (Fother_window): Cleaned up.
10088 (foreach_window): Add a longer "variable argument list". Let
10089 callback function return 0 to indicate that cycling over windows
10090 should stop.
10091 (foreach_window_1): Likewise.
10092 (freeze_window_start): Return int.
10093 (init_window): New function.
10094 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10095
10096 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10097 input_event with bzero.
10098 (main): Call init_window.
10099
53654733
GM
10100 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10101 a menu filter.
10102
4a8c194f
KH
101032000-07-04 Kenichi Handa <handa@etl.go.jp>
10104
10105 * composite.h (make_composition_value_copy): Extern it.
10106
10107 * composite.c (make_composition_value_copy): New function.
10108
10109 * editfns.c (Fformat): While copying text properties, make each
10110 composition property value a copy.
10111
10112 * fns.c (concat): While copying text properties, make each
10113 composition property value a copy.
10114
831a6cb0
GM
101152000-07-03 Gerd Moellmann <gerd@gnu.org>
10116
2f516940
GM
10117 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10118
178c5d9c 10119 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10120 marked already.
10121
831a6cb0
GM
10122 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10123 include those frames as candidates which have their focus
10124 redirected to the minibuffer frame.
10125
d9c4f922
SM
101262000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10127
10128 * fns.c (Fputhash): Return `value' rather than nil.
10129
3780bc22
GM
101302000-06-30 Gerd Moellmann <gerd@gnu.org>
10131
97d176db
GM
10132 * frame.c (next_frame): Don't check focus redirection in case
10133 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10134 unless their focus is redirected, which contradicts the
10135 specification of next-frame, and leads to infinite loops in
10136 certain situations when cycling through windows with next-window.
10137
dca9961d
KH
101382000-06-30 Kenichi Handa <handa@etl.go.jp>
10139
10140 * coding.c (code_convert_region): Even if the length of text is
10141 zero, try to convert it if coding->type is coding_type_ccl.
10142 (decode_coding_string, encode_coding_string): Likewise.
10143
d5483ab1
GM
101442000-06-28 Gerd Moellmann <gerd@gnu.org>
10145
af5c25e1 10146 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10147 the display if windows_or_buffers_changed.
af5c25e1
GM
10148
10149 * dispnew.c (struct row_entry): New structure.
10150 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10151 (row_table_size, old_lines, new_lines, old_lines_size)
10152 (new_lines_size, run_pool, runs_size, runs): New variables.
10153 (add_row_entry): New function.
10154 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10155 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10156 holding them in local variables. Use a larger hash table whose
10157 size depends on glyph matrix sizes. Don't use bzero to clear the
10158 hash table; instead, clear used slots only.
10159
10160 * fns.c (next_almost_prime): Make it externally visible.
10161
10162 * lisp.h (next_almost_prime): Add prototype.
10163
d5483ab1
GM
10164 * s/isc4-0.h (sigunblock): Define.
10165
10166 * s/sco5.h (sigunblock): Define.
10167
93e40f40
DL
101682000-06-27 Dave Love <fx@gnu.org>
10169
10170 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10171 (moved to osf5-0.h).
10172 [!NOT_C_CODE]: Protect string.h stuff.
10173
10174 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10175 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10176
3c4b7685
GM
101772000-06-27 Gerd Moellmann <gerd@gnu.org>
10178
97d176db 10179 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10180 below the last line from the needed window height.
10181
32cad0aa
SM
101822000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10183
10184 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10185 (Fwidget_get): Use it.
10186 (syms_of_fns): Defsubr it.
10187
2c69ced2
GM
101882000-06-26 Gerd Moellmann <gerd@gnu.org>
10189
178c5d9c 10190 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10191 display info for XIM.
10192 (xim_open_dpy): Likewise.
10193 (xim_close_dpy): Don't free the display info's XIM.
10194
10195 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10196
10197 * config.in (USE_XIM): New define.
10198
3fc720e4
GM
10199 * keymap.c (get_keyelt): For menu-items containing a `:filter
10200 FILTER', apply FILTER to the menu-item's definition to get the
10201 real definition to use.
10202
10203 * lisp.h (QCfilter): External declaration.
10204
2c69ced2
GM
10205 * xfns.c (Fimage_size): New function.
10206 (syms_of_xfns): Defsubr it.
10207
f978b2a2
AS
102082000-06-26 Andreas Schwab <schwab@suse.de>
10209
10210 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10211 Fstring_as_unibyte.
10212
94cc7892
DL
102132000-06-25 Dave Love <fx@gnu.org>
10214
52283633 10215 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10216
10217 * Makefile.in (blockinput.h): Depend on atimer.h.
10218 (atimer.h): Depend on systime.h.
10219
52283633 10220 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10221
52283633 10222 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10223
10224 * lisp.h (swap_in_global_binding): Declare.
10225
b8c24556
KR
102262000-06-24 Ken Raeburn <raeburn@gnu.org>
10227
10228 * process.c (Fopen_network_stream): Turn off atimers for duration
10229 of call to connect. (Patch from Gerd.)
10230
8cf8560b
DL
102312000-06-23 Dave Love <fx@gnu.org>
10232
511c7541
DL
10233 * ralloc.c: Maybe include unistd.h
10234
8cf8560b
DL
10235 * emacs.c (setgrp): Undefine before defining.
10236 (malloc_warning, set_time_zone_rule, index): Prototype.
10237
10238 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10239 HAVE_STRUCT_TIMEZONE.
10240
10241 * s/osf1.h: Move string.h hack here from alpha.h and make it
10242 conditional.
10243 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10244 _XOPEN_SOURCE.
10245 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10246 (SOCKLEN_TYPE): Don't define.
10247
10248 * m/alpha.h: Remove string.h hack.
10249
10250 * s/osf5-0.h: New file.
10251
10252 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10253 include time.h, done by systime.h.
10254 [__FreeBSD__]: Remove redundant includes.
10255
3fc720e4 10256 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10257 (delete_temp_file): Return Qnil to avoid warning.
10258
10259 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10260
10261 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10262 HAVE_X_WINDOWS.
10263
10264 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10265
10266 * composite.h (compose_text): Declare.
10267
10268 * xterm.c: Don't include sys/types.h unconditionally. Don't
10269 protect its inclusion with !USG (following xmenu.c).
10270
ea055732
GM
102712000-06-23 Gerd Moellmann <gerd@gnu.org>
10272
10273 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10274 in x_create_frame.
10275
74b01b80
EZ
102762000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10277
10278 * coding.c (decode_eol_post_ccl): Special handling for undecided
10279 and inconsistent EOL types.
10280
64f3a166
GM
102812000-06-22 Gerd Moellmann <gerd@gnu.org>
10282
16cf31f7
GM
10283 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10284 trough color and main window's background color.
10285
52283633 10286 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10287
10288 * xterm.h (Xt_app_con): External declaration.
10289
10290 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10291
486a103d
GM
10292 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10293
64f3a166
GM
10294 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10295 (handle_invisible_prop): Record the start of invisible text in
10296 it->add_overlay_start.
10297 (struct overlay_entry): Add member `overlay'.
10298 (handle_overlay_change): Simplify.
10299 (next_overlay_string): After having processed overlay strings at the
10300 end of the buffer, record that fact in
10301 it->overlay_strings_at_end_processed_p.
10302 (compare_overlay_entries): If before- and after-strings come
10303 from the same overlay, let before-strings come first.
10304 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10305 (load_overlay_strings): Take it->add_overlay_start into account
10306 when adding overlay strings.
10307
10308 * dispextern.h (struct it): Add member add_overlay_start.
10309
bb746ea6
DL
103102000-06-22 Dave Love <fx@gnu.org>
10311
10312 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10313
10314 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10315
a8f573f3
KH
103162000-06-22 Kenichi Handa <handa@etl.go.jp>
10317
10318 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10319 is greater than 0.
10320
9f2bbc92
DL
103212000-06-21 Dave Love <fx@gnu.org>
10322
178c5d9c 10323 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10324
3ee5041c
SM
103252000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10326
10327 * syntax.c (back_comment): Simplify string-parity counting (with
10328 the added benefit of handling multiple string-styles as long as
10329 they are not intertwined).
10330 Jump to the slow code as soon as a comment starter is found in
10331 a "string_lossage" position. Fixes the case: " /* " /* " */.
10332
4c343001
DL
103332000-06-21 Dave Love <fx@gnu.org>
10334
10335 * Makefile.in: Use GETLOADAVG_LIBS.
10336
10337 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10338 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10339
e6365855
SM
103402000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10341
10342 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10343 (Fforward_comment, scan_lists):
10344 Check the comstyle of single-char comment-starters.
10345 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10346 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10347 Check the comstyle of single-char comment-starters.
10348 Clarify control-flow around the Scomment case.
e6365855 10349
5700d2cc
DL
103502000-06-20 Dave Love <fx@gnu.org>
10351
d355bd8a
SM
10352 * fns.c (make_hash_table, maybe_resize_hash_table):
10353 Cast arg of next_almost_prime.
5700d2cc 10354
178c5d9c 10355 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10356
10357 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10358 and unistd.h.
10359
4a27bdfb
GM
103602000-06-20 Gerd Moellmann <gerd@gnu.org>
10361
a61d762c 10362 * keyboard.c (adjust_point_for_property): Check if display
52283633 10363 property should be treated as intangible by looking at its value.
a61d762c 10364
178c5d9c 10365 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10366 (display_prop_intangible_p): New functions.
10367
10368 * dispextern.h (display_prop_intangible_p): Add prototype.
10369
10370 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10371
4a27bdfb
GM
10372 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10373 argument to sigprocmask.
10374
10375 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10376 argument to sigprocmask.
10377
10378 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10379 sigprocmask_set, and pass a pointer to it to sigprocmask.
10380
10381 * sysdep.c (sigprocmask_set): New variable.
10382
10383 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10384 report_file_error.
10385
427ec082
SS
103862000-06-20 Sam Steingold <sds@gnu.org>
10387
10388 * xrdb.c: Don't declare xmalloc, xrealloc.
10389
8972fe79 103902000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10391
10392 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10393 (re_comp): Cast gettext return value to avoid complaints when
10394 !HAVE_LIBINTL.
10395
074b6efe
DL
103962000-06-20 Dave Love <fx@gnu.org>
10397
52283633 10398 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10399
5700d2cc 10400 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10401
d355bd8a 10402 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10403
10404 * m/alpha.h: Don't declare xmalloc, xrealloc.
10405
0af4f205
DL
10406 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10407
10408 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10409
10410 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10411
10412 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10413 HAVE_GETWD.
10414
074b6efe
DL
10415 * keyboard.h (poll_for_input_1): Declare.
10416
10417 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10418
10419 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10420
10421 * doprnt.c: Don't declare xmalloc, xrealloc.
10422
10423 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10424 (getenv, ctime, getwd): Removed.
10425 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10426
10427 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10428 x_set_tool_bar_lines.
10429
10430 * config.in: Add HAVE_GETWD. Move some definitions above
10431 machine/system includes.
10432
68a5e97b
KH
104332000-06-20 Kenichi Handa <handa@etl.go.jp>
10434
95417e1e
KH
10435 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10436
68a5e97b
KH
10437 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10438 contain information about ENCODING.
10439
10440 * fontset.c (FONTSET_ASCII): Use the first element of char table
10441 for an ASCII font, not defalt slot.
10442 (fontset_ref_via_base): If FONTSET doesn't contain information for
10443 C, try the default fontset.
10444 (make_fontset): Don't copy the default fontset.
10445 (fontset_font_pattern): Likewise.
10446 (accumulate_font_info): If ELT is nil, use the corresponding
10447 element in the default fontset.
10448
3b4fa1b2
DL
104492000-06-19 Dave Love <fx@gnu.org>
10450
943e731c
DL
10451 * syntax.c (Fparse_partial_sexp): Doc fix.
10452
10453 * regex.h: Test PROTOTYPES as well as __STDC__.
10454
3b4fa1b2
DL
10455 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10456 errno, strerror. Put text after #endif in comment.
10457
52283633 10458 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10459
10460 * xterm.c (x_frame_of_widget): Likewise.
10461
cdf0357b
GM
104622000-06-19 Gerd Moellmann <gerd@gnu.org>
10463
10464 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10465 to Vfundamental_mode_abbrev_table.
10466
10467 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10468 bogus objects are marked. This slows down GC by ~80 percent, but
10469 it might be worth trying when debugging GC-related problems.
10470 This feature requires conservative stack marking to be enabled.
10471
10472 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10473 returns XLookupChars, reset `modifiers' to zero.
10474
998e9f8c
DL
104752000-06-19 Dave Love <fx@gnu.org>
10476
10477 * mktime.c: Unprotoized.
10478
18e21ce8 104792000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10480
10481 * data.c (set_internal): If variable is frame-local,
10482 store the new value immediately into the frame parameter alist.
10483
140c4ac6
KR
104842000-06-19 Ken Raeburn <raeburn@gnu.org>
10485
14358466
KR
10486 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10487 in the custom handler pointer.
10488
140c4ac6
KR
10489 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10490 value, or checks for CHAR_META can fail when Lisp_Object is a
10491 union type.
10492 * keymap.c (get_keyelt): Likewise.
10493
10d7bf84
KH
104942000-06-19 Kenichi Handa <handa@etl.go.jp>
10495
10496 * ccl.h (struct ccl_program): New member eol_type.
10497 (struct ccl_spec): New member cr_carryover.
10498
10499 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10500 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10501
10502 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10503 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10504 (decode_eol_post_ccl): New function.
10505 (decode_coding): Don't detect EOL format here for CCL based coding
10506 systems.
10507 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10508 decode_eol_post_ccl after running the CCL program.
10509 (code_convert_region): Don't detect EOL format here for CCL based
10510 coding systems.
10511 (decode_coding_string): Likewise.
10512
52e386c2
KR
105132000-06-18 Ken Raeburn <raeburn@gnu.org>
10514
10515 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10516 when treating it as an integer.
10517
10518 * coding.h (encode_coding_string): Declare.
10519
10520 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10521 it as an integer.
10522
10523 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10524 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10525 to be passed to get_local_map.
10526
10527 * sound.c (Fplay_sound): Don't call make_number on
10528 Frun_hook_with_args count argument.
10529
10530 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10531 for lisp objects in X event structure data field, when lisp
10532 objects are represented with unions.
10533 (x_scroll_bar_to_input_event): Ditto.
10534
b357b9d4
KR
105352000-06-16 Ken Raeburn <raeburn@gnu.org>
10536
10537 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10538 termination of string. Fix sense of test whether
10539 Vline_number_display_limit is an integer.
b357b9d4 10540
a871441d
GM
105412000-06-16 Gerd Moellmann <gerd@gnu.org>
10542
a9021acd
GM
10543 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10544 only if HAVE_X_WINDOWS.
10545
6344985d
GM
10546 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10547 of titles.
10548
427ec082 10549 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10550 out of bounds.
10551
228b083e
EZ
105522000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10553
10554 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10555 of its headers.
10556
c25b53a2
KH
105572000-06-15 Kenichi Handa <handa@etl.go.jp>
10558
10559 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10560 start of the while loop.
10561
a6981b11
GM
105622000-06-15 Gerd Moellmann <gerd@gnu.org>
10563
e9924e52
GM
10564 * atimer.c (alarm_signal_handler): Add forward declaration.
10565
a6981b11
GM
10566 * data.c (set_internal): Remove debug code.
10567
25fa6deb
GM
105682000-06-14 Gerd Moellmann <gerd@gnu.org>
10569
dce6b995
GM
10570 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10571
9f817ea4
GM
10572 * unexec.c (toplevel) [COFF]: Include coff.h.
10573
10574 * s/lynxos.h: New file.
10575
10576 * keymap.c (Fsingle_key_description): Enclose function key and
10577 event symbol names in angle brackets.
10578
8a4e3c0c
GM
10579 * xdisp.c (setup_echo_area_for_printing): Call
10580 message_log_maybe_newline if message_buf_print is not set.
10581
10582 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10583 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10584 function does something useful even when message_buf_print is
10585 already set.
10586
52283633
SM
10587 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10588 New variables.
25fa6deb
GM
10589 (ensure_echo_area_buffers): Initialize echo buffer's
10590 truncate lines setting to nil.
10591 (with_echo_area_buffer): Don't set the echo buffer's truncate
10592 lines setting here.
8a4e3c0c 10593 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10594 of message_truncate_lines.
10595 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10596 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10597 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10598
10599 * keyboard.c (read_char): Bind message-truncate-lines to t
10600 while displaying a help-echo.
10601
10602 * lisp.h (Qmessage_truncate_lines): External declaration.
10603
163dcff3
GM
106042000-06-13 Gerd Moellmann <gerd@gnu.org>
10605
1681ead6
GM
10606 * xdisp.c (Vline_number_display_limit): Renamed from
10607 line_number_display_limit.
10608 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10609 Extend documentation string. Initialize
10610 Vline_number_display_limit to nil meaning no limit.
10611 (decode_mode_spec): Use Vline_number_display_limit with its new
10612 meaning.
10613
163dcff3
GM
10614 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10615
18e21ce8 106162000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10617
10618 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10619
163dcff3
GM
10620 * xfns.c (x_set_frame_parameters): Comment fix.
10621
10622 * frame.c (store_frame_param): Call swap_in_global_binding if the
10623 variable's current binding was chosen based on this frame.
10624
10625 * data.c (swap_in_global_binding): New function.
10626
a704139d
EZ
106272000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10628
10629 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10630 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10631
9b6610db
EZ
106322000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10633
10634 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10635
c68833d2
JR
106362000-06-12 Jason Rumney <jasonr@gnu.org>
10637
10638 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10639
10640 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10641
10642 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10643
10644 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10645
ed1056b3
GM
106462000-06-12 Gerd Moellmann <gerd@gnu.org>
10647
10648 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10649 (syms_of_xfaces): Defsubr Sdump_colors.
10650 (x_free_colors): Don't treat b&w specially on default visual.
10651 (x_free_dpy_colors): New function.
10652 (free_face_colors): Don't check visual class; it's done
10653 in x_free_colors.
10654
10655 * xterm.c (x_frame_of_widget): New function.
10656 (x_alloc_nearest_color_for_widget): Use it.
10657 (x_copy_dpy_color): New function.
10658 (x_destroy_window): Free various colors.
10659
5050a2ef
KH
106602000-06-12 Kenichi Handa <handa@etl.go.jp>
10661
10662 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10663
10664 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10665
10666 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10667
10668 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10669
10670 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10671
fb1b041d
DL
106722000-06-11 Dave Love <fx@gnu.org>
10673
10674 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10675
ff96b5f4
EZ
106762000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10677
10678 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10679
db8eeecd
GM
106802000-06-11 Gerd Moellmann <gerd@gnu.org>
10681
ed1056b3 10682 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10683 to `XEvent *'.
10684
49b71c5f
KH
106852000-06-10 Kenichi Handa <handa@etl.go.jp>
10686
c479bd55
KH
10687 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10688 (regex_compile): Fix the code for handling the case of single byte
10689 char and multibyte char being mixed in a range within [...].
10690
ff6a65c2
KH
10691 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10692 and dst_multibyte members of coding.
10693
49b71c5f
KH
10694 * charset.c (update_charset_table): Update the table
10695 bytes_by_char_head.
10696 (init_charset_once): Initialize elements of bytes_by_char_head to
10697 1 except for leading codes for private charases.
10698
10699 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10700 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10701
9e80b57d
KR
107022000-06-09 Ken Raeburn <raeburn@gnu.org>
10703
10704 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10705 access the data it doesn't point to.
10706
f83fe4b4
GM
107072000-06-08 Gerd Moellmann <gerd@gnu.org>
10708
10709 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10710 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10711 event queue. This is necessary because Emacs otherwise won't
10712 perform a switch-frame to a new frame until some other event, for
10713 example a keystroke event, forces it to do so. This has various
10714 effects, one visible being that the cursor of a frame created with
10715 C-x 5 2 or switched to with a window manager key binding like
10716 A-TAB stays hollow because selected_window isn't on the newly
10717 focused frame until the switch-frame is performed.
10718
10719 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10720 generating a switch-frame event if necessary.
10721
10722 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10723
10724 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10725 it's an integer.
10726
0890801b
KH
107272000-06-08 Kenichi Handa <handa@etl.go.jp>
10728
52283633 10729 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10730
173cbca8
GM
107312000-06-07 Gerd Moellmann <gerd@gnu.org>
10732
3091c2a6
GM
10733 * window.c (displayed_window_lines): Take empty lines at
10734 the bottom of a window into account.
427ec082 10735
f38952fe
GM
10736 * window.c (displayed_window_lines): New function.
10737 (Fmove_to_window_line): Use displayed_window_lines to determine
10738 the number of lines to move, instead of using the window's height.
10739
10740 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10741 to stop reading, even if the form read sets point to a different
10742 value when evaluated.
10743
427ec082 10744 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10745 put the cursor.
10746
6ba6c818
KH
107472000-06-07 Kenichi Handa <handa@etl.go.jp>
10748
10749 * fileio.c (e_write): Free composition data if stored in
10750 coding->cmp_data.
10751
5f1aea9a
GM
107522000-06-06 Gerd Moellmann <gerd@gnu.org>
10753
666852af
GM
10754 * xdisp.c (display_line): Set row's and iterator's
10755 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10756 Set cursor even if row ends in the middle of a character.
10757 (dump_glyph_row): Print values of new flags.
10758 (redisplay_window) <cursor movement in unchanged window>: When
10759 point has been moved forward, and PT is at the end of the cursor
10760 row, don't place the cursor in the next row if the cursor row ends
10761 in the middle of a character or at ZV.
10762
10763 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10764 (struct glyph_row): Add starts_in_middle_of_char_p and
10765 ends_in_middle_of_char_p.
10766 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10767 ends_in_middle_of_char_p flag.
10768 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10769
d13f3e2e
GM
10770 * term.c (append_glyph): Revert change of 2000-06-06.
10771
10772 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10773 padding glyph not fitting on line as whole character not
10774 fitting on line.
10775
5f1aea9a
GM
10776 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10777 this isn't true for images with `:ascent 100'.
10778
10cda9b0
KH
107792000-06-06 Kenichi Handa <handa@etl.go.jp>
10780
ed00559d
KH
10781 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10782 as modified if it is originally unmodified.
10783
10cda9b0
KH
10784 * term.c (encode_terminal_code): Change the way to check if
10785 terminal coding does any conversion.
10786 (append_glyph): Set glyph->pixel_width correctly.
10787
10788 * xdisp.c (display_line): While checking line continuation, pay
10789 attention to a padding glyph.
10790
1969fae2
GM
107912000-06-05 Gerd Moellmann <gerd@gnu.org>
10792
10793 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10794
162ccef4
DL
107952000-06-05 Dave Love <fx@gnu.org>
10796
f19f32dd
DL
10797 * xdisp.c: Include fontset.h.
10798
10799 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10800
10801 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10802
10803 * dispnew.c: Conditionally include term.h.
10804
10805 * coding.h: Declare code_convert_string_norecord.
10806
10807 * frame.h (struct frame): Use volatile unconditionally.
10808
10809 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10810
10811 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10812
10813 * systime.h: Protect against multiple inclusion.
10814 (timezone) [USG5_4]: Define as time_t.
10815
10816 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10817 (Foptimize_char_table, make_temp_name): Declare.
10818
10819 * Makefile.in (xdisp.o): Depend on fontset.h.
10820
10821 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10822
10823 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10824 (Foptimize_char_table, make_temp_name): Declare.
10825
427ec082 10826 * s/irix4-0.h:
162ccef4
DL
10827 * s/irix5-0.h:
10828 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10829
2082fe81
DL
108302000-06-02 Dave Love <fx@gnu.org>
10831
10832 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10833
dcf671d2
GM
108342000-06-02 Gerd Moellmann <gerd@gnu.org>
10835
10836 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10837 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10838 be freed.
10839
10840 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10841 glyph, use the ASCII NUL character to determine the face.
10842
d42122a3
DL
108432000-06-02 Dave Love <fx@gnu.org>
10844
10845 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10846 (VFORK_RETURN_TYPE): Remove.
427ec082 10847
d42122a3
DL
10848 * config.in: Add NO_MATHERR.
10849
dd432f16
DL
108502000-06-01 Dave Love <fx@gnu.org>
10851
90aa4ea8
DL
10852 * cmds.c (internal_self_insert): Don't check
10853 Vbefore_change_function, Vafter_change_function.
10854
10855 * insdel.c (signal_before_change, signal_after_change): Likewise.
10856
10857 * buffer.c (Vbefore_change_function, Vafter_change_function):
10858 Variables and their initializations deleted.
10859
2330c9d4
DL
10860 * callint.c (Fcall_interactively): Doc fix.
10861
dd432f16
DL
10862 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10863
bf9e8804
DL
108642000-05-31 Dave Love <fx@gnu.org>
10865
10866 * textprop.c: Revert last change -- duplicated.
10867
3694b4ab
GM
108682000-05-31 Gerd Moellmann <gerd@gnu.org>
10869
10870 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10871 in #if 0.
10872
10873 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10874
f14156cd
JR
108752000-05-31 Jason Rumney <jasonr@gnu.org>
10876
8119aab8
JR
10877 * search.c (Fre_search_forward, Fre_search_backward)
10878 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10879
f14156cd
JR
10880 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10881
4aab9be3
JR
108822000-05-30 Jason Rumney <jasonr@gnu.org>
10883
10884 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10885 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10886
52283633 10887 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10888
10889 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10890 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10891 expand a nil default_filename.
10892
10893 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10894 pointer to glyph_to_pixel_coords, not a frame.
10895
10896 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10897 coding.h to dependencies.
10898
10899 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10900
10901 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10902 window pointer to be consistent with w32term.c and xterm.c.
10903
10904 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10905 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10906 (Qline_spacing, Qcenter): New variables.
10907 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10908 (x_set_line_spacing): New function.
52283633 10909 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10910 (x_specified_cursor_type): New function.
10911 (x_set_cursor_type): Use it.
10912 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10913 and icon strings.
10914 (validate_x_resource_name, x_get_resource_string): Measure lengths
10915 of external strings in bytes.
10916 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10917 GetTextExtentPoint32 with NULL title.
10918 (Fx_create_frame): Initialize Qline_spacing.
10919 (w32_load_system_font): Initialize font->double_byte_p.
10920 (x_to_w32_charset): Use Vw32_charset_info_alist.
10921 (Image, busy cursor, tooltip functions): Merged changes from
10922 xfns.c. Not yet functional on Windows.
10923
10924 * w32gui.h (W32FontStruct): Add double_byte_p member.
10925
10926 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10927 (emacs_button_translation): Use it.
10928 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10929 in `mask' to be set.
10930
10931 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10932 menu strings.
10933
10934 * w32term.c: Format and doc changes to bring closer to xterm.c.
10935 (w32_char_font_type): New enum.
10936 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10937 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10938 (w32_encode_char): New function.
10939 (x_encode_char): Removed.
10940 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10941 x_encode_char and w32_font_is_double_byte.
10942 (x_produce_image_glyph): Use image_ascent.
10943 (x_produce_glyphs): Use new version of w32_per_char_metric and
10944 handle NULL return value. Allow extra line spacing.
10945 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10946 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10947 w32_font_type member of glyph instead.
10948 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10949 (fast_find_position): Make sure not to consider rows not visible
10950 in the window.
10951 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10952 w32_menu_display_help with input blocked, as it can abort.
10953 (x_display_and_set_cursor): Choose cursor depending
10954 on buffer-local value of cursor_type.
10955 (x_draw_bar_cursor): Add parameter WIDTH.
10956
10957 * w32term.h (CP_DEFAULT): Define.
10958 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10959
10fc3187
GM
109602000-05-30 Gerd Moellmann <gerd@gnu.org>
10961
10962 * search.c (Fre_search_forward, Fre_search_backward)
10963 (Fposix_search_backward, Fposix_search_forward): Doc fix.
10964
d0555360
KH
109652000-05-30 Kenichi Handa <handa@etl.go.jp>
10966
10967 * coding.c (detect_coding_iso2022): Fix code for checking
10968 CODING_CATEGORY_MASK_ISO_8_2.
10969
f1ad044f
SM
109702000-05-29 Stefan Monnier <monnier@cs.yale.edu>
10971
10972 * regex.c (PREFETCH_NOLIMIT): New function.
10973 (re_match_2_internal): Use it and adjust the end_match_2 logic.
10974
84ec3b4b
GM
109752000-05-29 Gerd Moellmann <gerd@gnu.org>
10976
66254a13
GM
10977 * syntax.c (find_defun_start): Move test for
10978 open_paren_in_column_0_is_defun_start outside of the loop.
10979
49e70dec
GM
10980 * xdisp.c (redisplay_window): Really switch buffers when
10981 displaying mode lines, and temporarily set selected_frame to the
10982 frame of the window that's redisplayed.
10983
84ec3b4b
GM
10984 * xfaces.c (free_realized_faces): Block/unblock input.
10985 (free_realized_multibyte_face): Ditto.
10986
869a3a14
DL
109872000-05-29 Dave Love <fx@gnu.org>
10988
10989 * textprop.c (Qkeymap): New variable.
10990 (syms_of_textprop): Intern it.
10991
10992 * keymap.c: Include intervals.h.
10993 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
10994
10995 * Makefile.in (keymap.o): Depend on intervals.h.
10996
10997 * keyboard.c (menu_bar_items, tool_bar_items)
10998 (Fexecute_extended_command): Deal with `keymap' property.
10999 (read_key_sequence): Track map from `keymap' property as well as
11000 `local_map'.
11001
11002 * intervals.c (get_local_map): Extra arg to allow looking for
11003 `keymap' too.
11004
11005 * intervals.h (map_property): New enum.
11006 (get_local_map): Extra arg using it.
11007 (Qkeymap): Declare.
11008
84ec3b4b 11009 * lisp.h (get_local_map): Don't declare here.
869a3a14 11010
89d0c844
KH
110112000-05-29 Kenichi Handa <handa@etl.go.jp>
11012
11013 * Makefile.in (callproc.o): Depend on composite.h.
11014
11015 * callproc.c: Include composite.h.
11016 (Fcall_process): Handle composition correctly.
11017
11018 * coding.h (coding_allocate_composition_data): Extern it.
11019 (coding_restore_composition): Likewise.
11020
11021 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11022 yet allocated, finish decoding with result
11023 CODING_FINISH_INSUFFICIENT_CMP.
11024 (coding_allocate_composition_data): Make it non-static.
11025 (coding_restore_composition): Likewise.
11026
797a084a
EZ
110272000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11028
11029 * charset.c (syms_of_charset): Revert last change.
11030
cf872af5
EZ
110312000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11032
11033 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11034 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11035 Handa.
cf872af5 11036
5b1ae051
EZ
110372000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11038
11039 * charset.c (syms_of_charset): Set width of character sets
11040 eight-bit-control and eight-bit-graphic to 1 column.
11041
34ec9ebe
GM
110422000-05-26 Gerd Moellmann <gerd@gnu.org>
11043
11044 * config.in (HAVE_SPEED_T): New define.
11045
11046 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11047 `extern speed_t'.
11048
dd854dc2
DL
110492000-05-26 Dave Love <fx@gnu.org>
11050
11051 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11052
11053 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11054 (Fsubr_arity): New function.
11055 (syms_of_data): Install them.
11056
ba9f8f95
KH
110572000-05-26 Kenichi Handa <handa@etl.go.jp>
11058
0f3e0672
KH
11059 * charset.c (init_charset_once): Set the table bytes_by_char_head
11060 correctly.
11061
cebefb44
KH
11062 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11063 the default fontset to what Emacs uses by default.
0f3e0672
KH
11064 (check_registry_encoding): This function deleted.
11065 (Fset_fontset_font): Remove the adhoc condition for the default
11066 fontset. Allow cons in FONTNAME.
cebefb44 11067
0f3e0672
KH
11068 * fns.c (map_char_table): Ignore char-table entries for
11069 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11070
7a18af49
KR
110712000-05-25 Ken Raeburn <raeburn@gnu.org>
11072
11073 * emacs.c (main): Initialize keyboard syms before initializing
11074 window code, so face names are available.
11075
d2af47df
SM
110762000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11077
11078 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11079 of an anchor at the beginning of a shy-group.
11080
fc6a6a4e
GM
110812000-05-25 Gerd Moellmann <gerd@gnu.org>
11082
11083 * xdisp.c (handle_invisible_prop): Don't try to skip over
11084 invisible text if end of text is already reached.
11085
005f0d35
DL
110862000-05-25 Dave Love <fx@gnu.org>
11087
02513cdd
DL
11088 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11089
005f0d35
DL
11090 * coding.c (encode_eol): Add null statement after label.
11091
89f6ca4e
EZ
110922000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11093
11094 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11095 2000-05-20.
11096
a4e1759e
KH
110972000-05-25 Kenichi Handa <handa@etl.go.jp>
11098
11099 * ccl.c (ccl_driver): Fix previous change.
11100
eacfd7fe
KH
111012000-05-25 Kenichi Handa <handa@etl.go.jp>
11102
46ab33a9
KH
11103 * coding.c (run_pre_post_conversion_on_str): Set point to the
11104 beginning of buffer before calling coding->post_read_conversion.
11105 (decode_coding_string): Give correct args to
11106 run_pre_post_conversion_on_str.
11107 (encode_coding_string): Likewise.
11108
eacfd7fe
KH
11109 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11110 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11111 eight-bit-graphic correctly.
11112
f8569325
DL
111132000-05-24 Kenichi HANDA <handa@etl.go.jp>
11114
11115 * fileio.c (Finsert_file_contents): Even if a file is not found,
11116 execute codes for setting up coding system. Call
11117 after-insert-file-functions unconditionally.
11118
04545643
GM
111192000-05-24 Gerd Moellmann <gerd@gnu.org>
11120
11121 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11122 BSD_PGRPS are not defined.
11123
747d90ea
KH
111242000-05-24 Kenichi Handa <handa@etl.go.jp>
11125
11126 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11127 DESCRIPTION.
11128 (syms_of_charset): Avoid building same strings.
11129
716e3b88
GM
111302000-05-23 Gerd Moellmann <gerd@gnu.org>
11131
11132 * lread.c (Fload): Add a comment about the meaning of
11133 Vuser_init_file being t.
11134
11135 * puresize.h (BASE_PURESIZE): Increase to 675000.
11136
11137 * s/gnu-linux.h (setpgrp): Don't define it here because this
11138 prevents compilation on GNU/Linux systems with glib 2.2.
11139
11140 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11141 as setpgid.
427ec082 11142
9aeb39fa
EZ
111432000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11144
11145 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11146 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11147 version.
11148 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11149
29ced61b
KH
111502000-05-23 Kenichi Handa <handa@etl.go.jp>
11151
52283633 11152 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11153
3d80f24d
KH
11154 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11155
52283633 11156 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11157
29ced61b
KH
11158 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11159
d7e00792
KH
111602000-05-22 Kenichi Handa <handa@etl.go.jp>
11161
c9d80d38
KH
11162 * keyboard.c (read_char): Allow character codes 128..255 to be
11163 handled by input-method-function.
11164
d7e00792
KH
11165 * insdel.c (adjust_markers_for_replace): Fix previous change.
11166 (adjust_after_replace): If PREV_TEXT is nil, call
11167 adjust_markers_for_insert, not adjust_markers_for_replace.
11168
087121cc 111692000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11170
087121cc
GM
11171 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11172 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11173 [HAVE_GRANDPT]: Define.
11174 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11175
11176 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11177 like SYSV_PTYS.
11178
11179 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11180
11181 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11182
c9671f81
KH
111832000-05-20 Kenichi Handa <handa@etl.go.jp>
11184
11185 The following changes are to handle 8-bit characters in a
11186 multibyte buffer/string without facing with byte combining
11187 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11188 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11189
11190 * Makefile.in (fns.o): Depend on charset.h.
11191
11192 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11193 convert it to unibyte.
11194 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11195
11196 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11197 apparent char boundary.
11198 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11199 0x80..0x9F to/from multibyte form.
11200
11201 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11202 to unibyte.
11203
11204 * callproc.c (Fcall_process): Always encode an argument string if
11205 it is multibyte. Setup src_multibyte and dst_multibyte members of
11206 process_coding properly.
ce75fd23 11207
c9671f81
KH
11208 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11209 SPLIT_NON_ASCII_CHAR.
11210
11211 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11212 as is.
11213 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11214
52283633 11215 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11216 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11217 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11218 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11219 and eight-bit-graphic.
11220 (char_to_string): Likewise. Signal an error for too large
11221 character code.
11222 (char_printable_p): Return 0 for 8-bit characters.
11223 (update_charset_table): Update iso_charset_table only when a final
11224 character is non-negative.
11225 (find_charset_in_text): Renamed from find_charset_in_str.
11226 Arguments and return value changed. Callers changed.
11227 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11228 be -1 if CHARSET is used only internally.
11229 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11230 eight-bit-graphic.
11231 (Fcharset_after): Simplified.
11232 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11233 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11234 (multibyte_chars_in_text): Simplified by assuming there's no
11235 invalid multibyte sequence.
52283633
SM
11236 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11237 (str_as_unibyte): New functions.
11238 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11239 (init_charset_once): Initialization for
11240 LEADING_CODE_8_BIT_CONTROL.
11241 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11242 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11243 eight-bit-control and eight-bit-graphic.
11244
52283633
SM
11245 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11246 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11247 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11248 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11249 (CHARSET_REVERSE_CHARSET): Likewise.
11250 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11251 eight-bit-graphic.
11252 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11253 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11254 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11255 encounter an invalid multibyte sequence.
11256 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11257 sequence is always valid.
11258 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11259 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11260 (CHAR_STRING): For 8-bit characters, call char_to_string.
11261 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11262 multibyte sequence is always valid.
11263 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11264 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11265 (str_as_unibyte): Extern them.
c9671f81 11266 (BCOPY_SHORT): Fix a bug.
52283633 11267 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11268 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11269 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11270 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11271
bd4bde7f 11272 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11273 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11274 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11275 (EMIT_BYTES): New macros.
11276 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11277 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11278 macros deleted.
11279 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11280 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11281 check the validity of multibyte sequence.
11282 (decode_coding_emacs_mule): New function.
11283 (encode_coding_emacs_mule): New macro.
11284 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11285 the source.
11286 (DECODE_ISO_CHARACTER): Just return a character code.
11287 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11288 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11289 EMIT_CHAR to produced decoded characters. Exit the loop only by
11290 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11291 block here.
11292 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11293 only position codes for an invalid character.
11294 (encode_designation_at_bol): Return new destination pointer. 5th
11295 arg DSTP is changed to DST.
11296 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11297 from the source by ONE_MORE_CHAR. Don't handle the case of last
11298 block here.
11299 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11300 macros deleted.
52283633
SM
11301 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11302 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11303 TWO_MORE_BYTES to fetch a byte from the source.
11304 (encode_eol): Pay attention to coding->src_multibyte.
11305 (detect_coding, detect_eol): Preserve members src_multibyte and
11306 dst_multibyte.
11307 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11308 (encoding_buffer_size): Set magnification to 3 for all coding
11309 systems that require encoding.
11310 (ccl_coding_driver): For decoding, be sure that the result is
11311 valid multibyte sequence.
11312 (decode_coding): Initialize coding->errors and coding->result.
11313 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11314 and raw-text, always call decode_eol. Handle the case of last
11315 block here. If not coding->dst_multibyte, convert the resulting
11316 sequence to unibyte.
11317 (encode_coding): Initialize coding->errors and coding->result.
11318 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11319 and raw-text, always call encode_eol. Handle the case of last
11320 block here.
11321 (shrink_decoding_region, shrink_encoding_region): Detect cases
11322 that we can't skip data more rigidly.
11323 (code_convert_region): Setup src_multibyte and dst_multibyte
11324 members of coding. For decoding, if the buffer is multibyte,
11325 convert the source sequence to unibyte in advance. For encoding,
11326 if the buffer is multibyte, convert the resulting sequence to
11327 multibyte afterward.
11328 (run_pre_post_conversion_on_str): New function.
11329 (code_convert_string): Deleted and divided into the following two.
11330 (decode_coding_string, encode_coding_string): New functions.
11331 (code_convert_string1, code_convert_string_norecord): Call one of
11332 above.
11333 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11334 MAKE_NON_ASCII_CHAR.
52283633
SM
11335 (Fset_terminal_coding_system_internal)
11336 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11337 and dst_multibyte members.
11338 (init_coding_once): Initialize iso_code_class with new enum
11339 ISO_control_0 and ISO_control_1.
11340
11341 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11342 devided into ISO_control_0 and ISO_control_1.
11343 (struct coding_system): New members src_multibyte, dst_multibyte,
11344 errors, and result. Delete member fake_multibyte.
11345 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11346 nonzero.
11347 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11348 nonzero.
11349
11350 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11351 (Faset): Likewise.
11352
11353 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11354 multibyte form.
11355 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11356 combining occurs.
11357 (Ftranspose_region): Delete codes for handling byte combining.
11358
11359 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11360 dst_multibyte members of coding. On handling REPLACE on unibyte
11361 buffer, convert the result of decode_coding to unibyte. On
11362 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11363 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11364 multibyteness of the source (buffer or string).
11365
11366 * fns.c (concat): Handle 8-bit characters correctly.
11367 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11368 unibyte in the result.
11369 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11370 valid multibyte form in the result.
11371 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11372 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11373 return -1, signal an error.
11374 (base64_encode_1): New arg MULTIBYTE. Get each character by
11375 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11376 character is found, return -1.
11377 (Fbase64_decode_region): Delete codes for handling byte-combining.
11378 Treat each decoded byte as a unibyte character.
11379 (Fbase64_decode_string): Return unibyte string.
11380 (Fcompare_strings, concat, string_byte_to_char): Use
11381 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11382 FETCH_STRING_CHAR_ADVANCE.
11383 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11384 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11385
11386 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11387 SPLIT_NON_ASCII_CHAR.
11388 (fontset_ref_via_base, fontset_set): Likewise
11389
11390 * insdel.c (adjust_markers_for_record_delete): Deleted.
11391 (adjust_markers_for_insert): Argument changed. Caller changed.
11392 (adjust_markers_for_replace): Likewise.
52283633
SM
11393 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11394 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11395 (copy_text): Delete unused local varialbe c_save. For converting
11396 to multibyte, be sure to make all 8-bit characters in valid
11397 multibyte form.
11398 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11399 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11400 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11401 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11402 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11403 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11404 handling byte combining.
11405 (adjust_before_replace): Deleted.
427ec082 11406
c9671f81
KH
11407 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11408 SPLIT_NON_ASCII_CHAR.
11409 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11410 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11411 (Fkey_description): Likewise.
11412
11413 * lread.c (read1): On reading multibyte string, be sure to make
11414 all 8-bit chararacters in valid multibyte form.
11415 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11416
11417 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11418 unconditionally.
11419
11420 * process.c (Fstart_process): GCPRO current_dir before calling
11421 Ffind_operation_coding_system. Encode arguments here.
11422 (create_process): Don't encode arguments here. Setup
11423 src_multibyte and dst_multibyte members of struct coding.
11424 (read_process_output): Setup src_multibyte and dst_multibyte
11425 members of struct coding. If the output is to multibyte buffer,
11426 always decode the output of the process. Adjust the
52283633 11427 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11428 (send_process): Setup coding->src_multibyte according to the
11429 multibyteness of the source.
11430
52283633 11431 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11432 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11433 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11434
52283633 11435 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11436
11437 * w16select.c (Fw16_set_clipboard_data): Setup members
11438 src_multibyte and dst_multibyte of coding. Adjusted for the
11439 change for find_charset_in_str.
11440 (Fw16_get_clipboard_data): Likewise.
11441
11442 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11443 dst_multibyte of coding.
11444 (x_to_w32_font): Likewise.
11445
11446 * w32select.c (Fw32_set_clipboard_data): Setup members
11447 src_multibyte and dst_multibyte of coding. Adjusted for the
11448 change for find_charset_in_str.
11449 (Fw32_get_clipboard_data): Likewise.
11450
11451 * xdisp.c (get_next_display_element): Handle 8-bit characters
11452 correctly.
52283633
SM
11453 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11454 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11455
11456 * xselect.c (selection_data_to_lisp_data): Setup members
11457 src_multibyte and dst_multibyte of coding. Adjusted for the
11458 change for find_charset_in_str.
11459 (lisp_data_to_selection_data): Likewise.
11460
5f64c9e0
GM
114612000-05-19 Gerd Moellmann <gerd@gnu.org>
11462
52283633 11463 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11464
5f64c9e0
GM
11465 * dispextern.h (Vimage_types): Add extern declaration.
11466
11467 * xdisp.c (Vimage_types): Moved here from xfns.c.
11468 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11469
11470 * xfns.c (Vimages_types): Moved to xdisp.c.
11471 (syms_of_xfns): Move `image-types' to xdisp.c.
11472
11473 * w32fns.c (Vimage_types): Removed.
11474 (syms_of_w32fns): Remove `image-types'.
11475
813086ea
KH
114762000-05-18 Kenichi Handa <handa@etl.go.jp>
11477
11478 * fns.c (map_char_table): Pay attention to character number of
11479 charset. Check the validity of charset at the first level. For
11480 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11481 the default value.
11482
11483 * fontset.c: Include "buffer.h".
11484 (fs_load_font): If the face has fontset, record the face ID in
11485 that fontset.
11486 (Finternal_char_font): New function.
11487 (accumulate_font_info): New function.
11488 (Ffontset_info): Rewritten for the new fontset implementation.
11489 (syms_of_fontset): Register Vdefault_fontset in the first element
11490 of Vfontset_table. Include Vdefault_fontset in
11491 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11492 function.
11493
bdaebbf0
DL
114942000-05-16 Dave Love <fx@gnu.org>
11495
11496 * m/iris5d.h: Deleted -- unused.
11497
cb613bb8
GM
114982000-05-16 Gerd Moellmann <gerd@gnu.org>
11499
b15f3b77
GM
11500 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11501 `invalid' instead of `illegal'.
11502
11503 * indent.c (Fmove_to_column): When ending within a tab, insert
11504 spaces first so that markers at the end of the tab get adjusted.
11505
835c1b36
GM
11506 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11507 buffer list that wasn't selected in that frame.
11508
cb613bb8
GM
11509 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11510 is needed on mescaline, use a 2 char prefix, and call
11511 make_temp_name with second arg non-zero.
11512
11513 * fileio.c (make_temp_name): New function, extracted from
11514 Fmake_temp_name.
11515 (Fmake_temp_name): Use it.
11516
f685bea9
EZ
115172000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11518
52283633 11519 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11520
a1b8d58b
GM
115212000-05-15 Gerd Moellmann <gerd@gnu.org>
11522
11523 * Makefile.in (lisp): Add env.elc.
11524
11525 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11526
a265079f
GM
115272000-05-12 Gerd Moellmann <gerd@gnu.org>
11528
11529 * search.c (Freplace_match): Handle case of `\N' in the
11530 replacement when there's no group N.
11531
da4496b6
GM
115322000-05-11 Gerd Moellmann <gerd@gnu.org>
11533
0ace421a
GM
11534 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11535 of the message to message_dolog.
11536
1172eb8d
GM
11537 * keyboard.c (read_char): Don't clear current message for help
11538 events; let the code handling help events handle this. Change
11539 code detecting help events that should be ignored.
11540
da4496b6
GM
11541 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11542 we're interating over a string.
11543
0623e40f
DL
115442000-05-09 Dave Love <fx@gnu.org>
11545
11546 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11547 that offset before writing. Move gcpro region past call of
11548 Ffile_regular_p.
11549
bae2503b
DL
115502000-05-04 Dave Love <fx@gnu.org>
11551
11552 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11553
ec82fb2f
GM
115542000-05-04 Gerd Moellmann <gerd@gnu.org>
11555
11556 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11557 of inserted characters when BUF equals the current buffer, and PT
11558 is in front of or equal to FROM.
11559
cbf18892
GM
115602000-05-03 Gerd Moellmann <gerd@gnu.org>
11561
4ff40dd0
GM
11562 * xdisp.c (handle_single_display_prop): If display property value
11563 is invalid, or something not supported on the frame, restore
11564 iterator's position to what it was initially. Make sure to return
11565 0 for invalid and unsupported property values.
11566
cbf18892
GM
11567 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11568 that x_per_char_metric returns null.
11569
1b0672c3
GM
115702000-05-02 Gerd Moellmann <gerd@gnu.org>
11571
576da55d
GM
11572 * xterm.h (struct face): Add forward declaration.
11573 (struct image): Ditto.
11574 (image_ascent): Add prototype.
11575
11576 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11577 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11578 image_ascent instead of using IMAGE_ASCENT.
11579
11580 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11581 (IMAGE_ASCENT): Removed.
11582
11583 * xfns.c (Qcenter): New variable.
11584 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11585 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11586 (image_ascent): New function.
11587 (lookup_image): Recognize `:ascent center'.
11588 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11589 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11590 (xbm_load): Don't set image's ascent here.
11591 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11592 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11593 check ascent values here.
11594 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11595 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11596 (syms_of_xfns): Initialize Qcenter.
11597
1b0672c3
GM
11598 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11599 to the limits, increase the limits.
11600
0d7811ed
KH
116012000-05-01 Kenichi Handa <handa@etl.go.jp>
11602
11603 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11604 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11605
a943a5ca
GM
116062000-04-28 Gerd Moellmann <gerd@gnu.org>
11607
11608 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11609 taller than the window.
11610
5dba1e29
KH
116112000-04-28 Kenichi Handa <handa@etl.go.jp>
11612
11613 * xfaces.c (realize_x_face): Fix the argument of the second
11614 xassert. BASE_FACE may not be a face for ASCII.
11615
353964e3
GM
116162000-04-27 Gerd Moellmann <gerd@gnu.org>
11617
c76e04a8
GM
11618 * print.c (print_object): Treat print-length < 0 as nil.
11619
11620 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11621
11622 * s/freebsd.h (TERMCAP_OBJ): Removed.
11623 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11624
11625 * lread.c (read1): Don't treat period followed by certain
11626 characters as symbol start.
11627
11628 * xfns.c (slurp_file): New function.
11629 (xbm_image_p): Handle case of in-memory XBM files.
11630 (xbm_scan): Rewritten to work on memory buffers instead of files.
11631 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11632 Work on memory buffers instead of files. If DATA is null test
11633 if buffer looks like an in-memory XBM file.
11634 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11635 memory buffers instead of files.
11636 (xbm_file_p): New function.
11637 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11638
353964e3
GM
11639 * lread.c (end_of_file_error): New function.
11640 (read1): Call it instead of signaling `end-of-file' directly.
11641
427ec082 11642 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11643 with Fprinc instead of Fprin1.
11644
24d744ac
KR
116452000-04-26 Ken Raeburn <raeburn@gnu.org>
11646
11647 * window.c (freeze_window_start): Check that minibuffer scroll
11648 window isn't nil before extracting the window structure pointer
11649 from it.
11650
11651 * undo.c (record_delete): If we hit the end of the undo list, stop
11652 picking elements apart.
11653
7464346d
GM
116542000-04-26 Gerd Moellmann <gerd@gnu.org>
11655
11656 * xdisp.c (display_line): If lines are continued, restore
11657 iterator's ascent/descent information to the values before the
11658 first glyph not fitting on the line.
11659
612839b6
GM
116602000-04-25 Gerd Moellmann <gerd@gnu.org>
11661
11662 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11663 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11664
11665 * dispnew.c (increment_matrix_positions): Renamed from
11666 increment_glyph_matrix_buffer_positions.
11667 (increment_row_positions): Renamed from
11668 increment_glyph_row_buffer_positions.
11669
11670 * dispextern.h: Change names of renamed functions from dispnew.c
11671 in prototypes.
11672
cc181e95
GM
116732000-04-24 Gerd Moellmann <gerd@gnu.org>
11674
abfcc168
GM
11675 * fileio.c (Fdo_auto_save): Create directories for auto-save
11676 list file if necessary.
11677
cc181e95
GM
11678 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11679 from buffer or frame.
11680 (automatic_hscrolling_p): New variable.
11681 (hscroll_windows): Scroll windows horizontally only if automatic
11682 hscrolling is allowed.
11683 (syms_of_xdisp): New variable `automatic-hscrolling'.
11684
11685 * frame.h (struct frame): Add member extra_line_spacing.
11686
11687 * xfns.c (x_set_line_spacing): New function.
11688 (Fx_create_frame): Set line spacing from resources.
11689 (Qline_spacing): New variable.
11690 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11691
cc181e95
GM
11692 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11693
11694 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11695 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11696 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11697 extra_line_spacing from default value.
11698 (init_buffer_once): Initialize default value of extra_line_spacing.
11699
11700 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11701 and extra3.
11702
11703 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11704 prompt_width. Add extra line spacing.
11705
11706 * term.c (produce_glyphs): Remove reference to struct it's
11707 prompt_width.
11708
11709 * dispextern.h (struct it): Remove member prompt_width, add
11710 extra_line_spacing.
11711
58827478
GM
117122000-04-22 Gerd Moellmann <gerd@gnu.org>
11713
11714 * dispnew.c (update_frame_line): When writing a whole line, make
11715 sure cursor is in the right row afterwards, otherwise a use of
11716 capability `ch' in cmgoto might leave the cursor in the row below.
11717
25a87f42
GM
117182000-04-21 Gerd Moellmann <gerd@gnu.org>
11719
11720 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11721
11722 * keyboard.c (timer_check): Fix typo in comment.
11723
54edf5c2
KH
117242000-04-21 Kenichi Handa <handa@etl.go.jp>
11725
11726 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11727 name change: ch -> character.
11728
3a64eef5
GM
117292000-04-20 Gerd Moellmann <gerd@gnu.org>
11730
11731 * keyboard.c (echo_message_buffer): New variable.
11732 (echo_now): Set echo_message_buffer to the echo area buffer used
11733 to display the echo.
11734 (cancel_echoing): Reset echo_message_buffer to nil.
11735 (read_char): Code rewritten that handles canceling an echo or
11736 echoing a dash, respectively.
11737
11738 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11739 directory doesn't exist.
11740
6142fdcb
DL
117412000-04-19 Dave Love <fx@gnu.org>
11742
11743 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11744 (concat): Don't allow numeric args.
11745 (Fconcat): Doc change.
6142fdcb 11746
ac6b5352
SM
117472000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11748
11749 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11750 instead define end_match(1|2) more carefully.
11751 Use GET_CHAR_BEFORE_2 for `begline'.
11752
cb9215e4
GM
117532000-04-19 Gerd Moellmann <gerd@gnu.org>
11754
5e3dac3f
GM
11755 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11756 on 64-bit systems where NULL is defined as `0'.
11757
11758 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11759 the `variable argument list' to make it work on Alpha.
11760
cb9215e4
GM
11761 * m/alpha.h (_LP64) [!_LP64]: Define.
11762 (ORDINARY_LINK): Define for NetBSD.
11763
11764 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11765
f532dca0
DL
117662000-04-19 Dave Love <fx@gnu.org>
11767
c750667e
DL
11768 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11769 change.
11770
11771 * Makefile.in (LIBS): Don't use.
11772 (GETLOADAVG_OBJ): Define again.
11773 (otherobj): Add GETLOADAVG_OBJ.
11774
f532dca0
DL
11775 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11776
1c7e22fd
GM
117772000-04-18 Gerd Moellmann <gerd@gnu.org>
11778
f6d3257b
GM
11779 * lread.c (read_filtered_event): Cancel and start busy cursor.
11780
427ec082 11781 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11782 that the per-character metrics may be null.
11783
e10f64e7
GM
117842000-04-17 Gerd Moellmann <gerd@gnu.org>
11785
0daee095
GM
11786 * buffer.c (clone_per_buffer_values): New function.
11787 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11788 clone_per_buffer_values if CLONE is not nil.
11789
e10f64e7
GM
11790 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11791
38687d43
DL
117922000-04-16 Dave Love <fx@gnu.org>
11793
11794 * Makefile.in: Remove obsolete localcpp stuff.
11795 (GETLOADAVG_OBJ): Don't define.
11796 (obj): Move LIBOBJS...
11797 (otherobj): ... to here.
11798 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11799 whitespace-only lines after the continuation (Irix).
11800
c21c7262
GM
118012000-04-14 Gerd Moellmann <gerd@gnu.org>
11802
11803 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11804
11805 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11806
314767c0
DL
118072000-04-14 Dave Love <fx@gnu.org>
11808
11809 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11810 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11811 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11812 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11813 NLIST_STRUCT.
11814
11815 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11816 autoconfiscated HAVE_GETLOADAVG.
11817
11818 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11819 BROKEN_MKTIME.
11820
a2522dca
GM
118212000-04-14 Gerd Moellmann <gerd@gnu.org>
11822
11823 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11824 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11825
33744b5d
DL
118262000-04-14 Dave Love <fx@gnu.org>
11827
c21c7262 11828 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11829 (INTERVAL_SRC): Convert to make variable.
11830 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11831 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11832 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11833 add LIBOBJS.
11834 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11835 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11836 (shortlisp): Add facemenu, float-sup, frame.
11837 (SOME_MACHINE_LISP): Remove them from here.
11838 (LIBES): Change unused LDLIBS to autoconf LIBS.
11839
11840 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11841
9d3d5916
KH
118422000-04-14 Kenichi Handa <handa@etl.go.jp>
11843
11844 * composite.c (update_compositions): If FROM and TO are not in a
11845 valid range, do nothing.
11846
198e3c7a
GM
118472000-04-13 Gerd Moellmann <gerd@gnu.org>
11848
52283633 11849 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11850
52283633 11851 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11852
11853 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11854 as TERMCAP_OBJ.
11855
055a28c9
EZ
118562000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11857
11858 * fileio.c (a_write): Remove redundant semi-colons.
11859 (e_write): Return -1 if failed to write all the data.
11860 This fixes the changes made at 1999-12-15.
11861
f5c75033
DL
118622000-04-12 Dave Love <fx@gnu.org>
11863
11864 * fns.c (mapcar1): Test for null vals to support mapc.
11865 (Fmapc): New function.
11866
0c3cfc51
EZ
118672000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11868
11869 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11870 (IT_frame_up_to_date): Support the buffer local value of
11871 cursor-type, if defined.
11872
33465a31
DL
118732000-04-10 Dave Love <fx@gnu.org>
11874
11875 * editfns.c (preceding-char, following-char): Doc fix.
11876
6ed56568
KR
118772000-04-10 Ken Raeburn <raeburn@gnu.org>
11878
11879 * Makefile.in (temacs): Revert 2000-03-12 change.
11880
7cf80d4e
JR
118812000-04-10 Jason Rumney <jasonr@gnu.org>
11882
11883 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11884
34f3f342
GM
118852000-04-10 Gerd Moellmann <gerd@gnu.org>
11886
1a1b1895
GM
11887 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11888 area buffer, if it's not set up yet.
11889
34f3f342
GM
11890 * indent.c (compute_motion): Set immediate_quit.
11891
be0dbdab
GM
118922000-04-09 Gerd Moellmann <gerd@gnu.org>
11893
52283633 11894 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11895 (realize_tty_face): Suppress boldness if colors are the inverse of
11896 the default colors, and tty_suppress_bold_inverse_default_colors_p
11897 is set.
11898 (Ftty_suppress_bold_inverse_default_colors): New function.
11899 (syms_of_xfaces): Defsubr it.
11900
be0dbdab
GM
11901 * buffer.c (Frestore_buffer_modified_p): New function.
11902 (syms_of_buffer): Defsubr it.
11903
e8413c3b
KR
119042000-04-08 Ken Raeburn <raeburn@gnu.org>
11905
87f67317
KR
11906 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11907 charset id (int) argument, not a charset (Lisp_Object).
11908
e8413c3b
KR
11909 * coding.h (code_convert_string): Declare.
11910 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11911 object, as the fourth argument to code_convert_string.
11912
52283633 11913 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11914 (Fset_fontset_font): Use EQ to compare lisp objects.
11915
7c752c80
KR
119162000-04-05 Ken Raeburn <raeburn@gnu.org>
11917
c0333abc
KR
11918 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11919 a pointer that looks like a lisp object.
11920 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11921 zero, instead see whether it's an integer object, since they can't
11922 have intervals.
11923 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11924
52283633
SM
11925 * dispnew.c (allocate_matrices_for_frame_redisplay)
11926 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11927 to convert between (unsigned) int values and lisp integers.
11928 * keyboard.c (read_key_sequence): Likewise.
11929 * lread.c (substitute_object_recurse): Likewise.
11930 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11931 * minibuf.c (do_completion, Fminibuffer_complete_word)
11932 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11933 * term.c (produce_special_glyphs): Likewise.
11934
11935 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11936 * print.c (print_preprocess, print_object): Likewise.
11937
11938 * search.c (compile_pattern): Use NILP when checking for nil.
11939
74e49b38
KR
11940 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11941 __OPTIMIZE__]: Provide a GNU C macro version that handles
11942 lisp-object unions.
11943 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11944 field, to better cope with ENABLE_CHECKING and calls that modify a
11945 Lisp_Object using its old value.
11946
685e5ed2
GM
119472000-04-04 Gerd Moellmann <gerd@gnu.org>
11948
c407c570
GM
11949 * window.c (compare_window_configurations): Signal an error
11950 if parameters C1 or C2 aren't window configurations.
11951
685e5ed2
GM
11952 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11953 AFTER_POTENTIAL_GC calls around calls to functions that can
11954 signal an error and thus invoke the debugger.
11955
587a49ab
GM
119562000-04-03 Gerd Moellmann <gerd@gnu.org>
11957
62f20204
GM
11958 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11959 an error if decoding fails.
11960
587a49ab
GM
11961 * keyboard.c (lispy_mouse_names): Variable removed.
11962 (Vlispy_mouse_stem): New variable.
11963 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
11964 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
11965 for any mouse button number. Increase size of mouse_syms and
11966 button_down_location as needed. Call modify_event_symbol with
11967 different arguments.
11968 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
11969 Call modify_event_symbol with different arguments.
11970 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
11971 for any button number. Call modify_event_symbol with different
11972 arguments.
11973 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
11974 Accept a string for NAME_ALIST_OR_STEM.
11975
11976 * lisp.h (larger_vector): Add prototype.
11977
11978 * fns.c (larger_vector): Make externally visible.
11979
11980 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
11981
2d1675e4
SM
119822000-04-02 Stefan Monnier <monnier@cs.yale.edu>
11983
11984 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
11985 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
11986 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
11987 we are between str1 and str2.
11988 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
11989 (PATFETCH): Use `TRANSLATE'.
11990 (PATFETCH_RAW): Fetch multibyte char if applicable.
11991 (PATUNFETCH): Remove.
11992 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
11993 When writing a char, write it directly into the pattern buffer rather
11994 than going needlessly through a temp char-array.
11995 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
11996 multibyte magic and remove the useless `#ifdef emacs'.
11997 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
11998 buffer.
11999
12000 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12001 conditional on `emacs'.
12002
12003 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12004
cc2d8c6b
KR
120052000-04-01 Ken Raeburn <raeburn@gnu.org>
12006
12007 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12008 non-union-type versions of XMARK and friends here, because XMARK
12009 and friends won't work on an integer field if NO_UNION_TYPE is not
12010 defined.
52283633 12011 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12012
52283633 12013 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12014 (syms_of_composite): Delete local var NARGS, pass an int as first
12015 argument to Fmake_hash_table.
12016
2387b382
KR
12017 * editfns.c (text_property_stickiness): Use NILP to test
12018 Lisp_Object boolean value.
12019 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12020 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12021 problems reading from and changing the same lisp value in an
12022 XSETSTRING call.
12023
27660e89
GM
120242000-04-01 Gerd Moellmann <gerd@gnu.org>
12025
12026 * term.c (TN_no_color_video): New variable.
12027 (term_init): Intitialize TN_no_color_video.
12028 (enum no_color_bit): New enumeration.
12029 (MAY_USE_WITH_COLORS_P): New macro.
12030 (turn_on_face): Use it to determine if attributes may be used
12031 combined with colors.
12032
3578db3c
KR
120332000-04-01 Ken Raeburn <raeburn@gnu.org>
12034
12035 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12036 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12037 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12038 proper accessor macros.
12039 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12040 (grow_mini_window): Fix typo getting int value of root->height.
12041
6fc556fd
KR
12042 * xdisp.c (compute_string_pos): Fix order of arguments to
12043 string_pos_nchars_ahead.
12044 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12045 count arg to variable-arg routines like Frun_hook_with_args and
12046 Fformat.
587a49ab
GM
12047 (back_to_previous_visible_line_start)
12048 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12049 fixed-arg routines like Fget_char_property and Fmake_string.
12050 (reconsider_clip_changes): Use XINT when comparing integer lisp
12051 objects, or passing them as int arguments.
587a49ab
GM
12052 (mark_window_display_accurate, insert_left_trunc_glyphs)
12053 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12054 storing or passing integer values as lisp objects.
12055 (set_cursor_from_row, highlight_trailing_whitespace): Use
12056 INTEGERP, not implicit test against zero, for glyph object.
12057 (try_window_id): Don't use make_number when we want an int value.
12058
12059 * xfaces.c (xlfd_symbolic_value): Make last argument a
12060 Lisp_Object, to be consistent with callers.
12061 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12062 (lface_hash): Apply XFASTINT to lisp values before folding in.
12063
12064 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12065 fill in window width and height. Pass an int, not a lisp object,
12066 as first arg to Finsert.
12067
6e7b2457
GM
120682000-04-01 Gerd Moellmann <gerd@gnu.org>
12069
610d841e
GM
12070 * xfaces.c (realize_basic_faces): Block input while realizing
12071 the faces.
12072
6e7b2457
GM
12073 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12074
12075 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12076
aa110c0c
GM
120772000-03-31 Gerd Moellmann <gerd@gnu.org>
12078
12079 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12080 or ASCII, handle case that per-char metric is null.
aa110c0c 12081
8801a864
KR
120822000-03-30 Ken Raeburn <raeburn@gnu.org>
12083
c6129d7e
KR
12084 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12085
52283633
SM
12086 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12087 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12088 pointer, using eassert.
12089 * frame.h (XFRAME): Likewise.
12090
52283633
SM
12091 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12092 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12093 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12094 * data.c (set_internal): Likewise.
52283633
SM
12095 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12096 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12097 * fileio.c (auto_save_1): Likewise.
12098 * insdel.c (check_markers): Likewise.
12099 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12100 * undo.c (record_insert): Likewise.
12101 * vmsproc.c (child_sig): Likewise.
12102 * window.c (unshow_buffer, window_loop): Likewise.
12103 * xterm.c (x_erase_phys_cursor): Likewise.
12104
8e7af858
GM
121052000-03-30 Gerd Moellmann <gerd@gnu.org>
12106
12107 * xfns.c (free_image_cache): Free the cache structure itself
12108 last, after all its members have been freed.
12109
12110 * lisp.h (xstrdup): Add prototype.
12111
12112 * alloc.c (xstrdup): Moved here from xfaces.c.
12113 (allocating_for_lisp): Variable removed.
52283633 12114 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12115
12116 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12117 of Fsymbol_value.
12118 (xstrdup): Moved to alloc.c.
12119
e0b8c689
KR
121202000-03-29 Ken Raeburn <raeburn@gnu.org>
12121
b96f9fb7
KR
12122 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12123
12124 * emacs.c (main): Fix sense of no-loadup test.
12125
e0b8c689
KR
12126 * config.in (ENABLE_CHECKING): Undef.
12127
12128 * lisp.h (struct interval): Replace "parent" field with a union of
12129 interval pointer and Lisp_Object; add new bitfield to use as
12130 discriminant. Change other flag fields to bitfields.
12131 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12132 is defined and the supplied test fails, print a message and abort.
12133 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12134
12135 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12136 pointers; abort if the value looks like a lisp object.
52283633
SM
12137 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12138 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12139 Modify for new interval parent definition.
12140
52283633
SM
12141 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12142 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12143 addressable lisp object in the interval structure.
12144 (die): New function.
12145 (suppress_checking): New variable.
12146
12147 * intervals.c (interval_start_pos): Just return 0 if there's no
12148 parent object.
12149
f83c5440
GM
121502000-03-29 Gerd Moellmann <gerd@gnu.org>
12151
12152 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12153 and earlier Emacs versions.
12154
12155 * keyboard.c (Ftop_level): Cancel busy-cursor.
12156
12157 * eval.c (call_debugger): Cancel busy-cursor.
12158
fdce64ff
KH
121592000-03-29 Kenichi Handa <handa@etl.go.jp>
12160
12161 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12162 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12163
f6a3f532
SM
121642000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12165
12166 * regex.c (analyse_first): New function obtained by ripping out most
12167 of re_compile_fastmap and generalizing it a little bit so that it
12168 can also just return whether a given (sub)pattern can match the empty
12169 string or not.
12170 (regex_compile): Use `analyse_first' to decide whether the loop-check
12171 needs to be done or not for *, +, *? and +? (the loop check is costly
12172 for non-greedy repetition).
12173 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12174
e9b309ac
DL
121752000-03-28 Dave Love <fx@gnu.org>
12176
52283633 12177 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12178
e9b309ac
DL
12179 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12180
ed0767d8
SM
121812000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12182
12183 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12184 an expression.
12185 (enum re_opcode_t): Update description of succeed_n.
12186 (PATFETCH): Always define.
12187 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12188 operators, char classes, shy-groups and intervals).
12189 Optimize special cases of intervals so as to only use succeed_n and
12190 jump_n when really needed.
12191 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12192 that we don't have to handle the special cases any more.
12193 Simplify on_failure_jump handling as well.
12194
e11e7e46
JR
121952000-03-28 Jason Rumney <jasonr@gnu.org>
12196
12197 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12198
88faab89
GM
121992000-03-27 Gerd Moellmann <gerd@gnu.org>
12200
182ff242
GM
12201 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12202
12203 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12204
182ff242
GM
12205 * alloc.c (mark_maybe_object): New function.
12206 (mark_memory): Use it.
12207 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12208 (setjmp_tested_p, longjmp_done): New variables.
12209 (test_setjmp): New function.
12210 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12211 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12212
c1005d06
GM
12213 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12214 to DEC_TEXT_POS and INC_TEXT_POS.
12215
12216 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12217 with parameter MULTIBYTE_P.
12218
52283633 12219 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12220
7439e5b9 12221 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12222 buffers because it looks for multibyte character byte sequences
12223 which don't exist in unibyte text.
7439e5b9 12224
d9c545da
GM
12225 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12226
11fd416e 12227 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12228 [DEBUG_X_COLORS]: New functions.
12229 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12230
12231 * xfns.c (x_set_cursor_color): Get color reference counts right.
12232
12233 * xterm.c (x_copy_color): New function.
12234 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12235
12236 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12237 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12238 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12239 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12240 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12241 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12242 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12243 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12244 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12245 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12246
11fd416e
GM
12247 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12248 names for handling per-buffer variables.
d9c545da
GM
12249
12250 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12251 instead of MAX_BUFFER_LOCAL_VARS.
12252 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12253
12254 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12255
88faab89
GM
12256 * xfns.c (x_specified_cursor_type): New function.
12257 (x_set_cursor_type): Use it.
12258
12259 * buffer.h (struct buffer): Add cursor_type.
12260
d80f42b7
SM
122612000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12262
12263 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12264 (print_partial_compiled_pattern, re_compile_fastmap):
12265 Handle new opcode.
d80f42b7
SM
12266 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12267 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12268 executing it as well as when popping it off the stack to find infinite
12269 loops in non-greedy repetition operators.
12270
89e80928
GM
122712000-03-26 Gerd Moellmann <gerd@gnu.org>
12272
3d4ff2dd
GM
12273 * doc.c (Qfunction_documentation): New variable.
12274 (syms_of_doc): Initialize Qfunction_documentation.
12275 (Fdocumentation): If FUNCTION is a symbol with non-nil
12276 `function-documentation' property, return a documentation derived
12277 from that.
12278
bd96bd79
GM
12279 * buffer.c (syms_of_buffer): Add default-cursor-type.
12280 (init_buffer_once): Don't let cursor_type have a local value
12281 in every buffer.
12282
19d1bc27
GM
12283 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12284 on buffer-local value of cursor_type.
12285 (x_draw_bar_cursor): Add parameter WIDTH.
12286
12287 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12288 (init_buffer_once): Set default cursor_type value to t.
12289 Mark cursor_type as local everywhere.
12290 (syms_of_buffer): New per-buffer variable cursor-type.
12291
89e80928
GM
12292 * buffer.h (struct buffer): Remove member local_var_flags,
12293 add local_flags.
12294 (MAX_BUFFER_LOCAL_VARS): New macro.
12295 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12296 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12297 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12298 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12299
52283633 12300 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12301
12302 * category.c (Fset_category_table): Use new macros for per-buffer
12303 variables.
12304
12305 * buffer.c (buffer_permanent_local_flags): Make a char array.
12306 (max_buffer_local_idx): New variable.
12307 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12308 for new handling of per-buffer variables.
12309 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12310 (init_buffer_once): Initialize per-buffer vars differently.
12311 Set max_buffer_local_idx.
12312
12313 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12314 variables.
12315
52283633 12316 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12317
12318 * data.c (do_symval_forwarding, store_symval_forwarding)
12319 (find_symbol_value, set_internal, default_value, Fset_default)
12320 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12321 per-buffer variables.
12322
12323 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12324
9a0dd3dc
GM
123252000-03-24 Gerd Moellmann <gerd@gnu.org>
12326
b68c375f
GM
12327 * xterm.c (x_term_init): Unblock input around call1 of
12328 Qvendor_specific_keysyms.
12329
9a0dd3dc
GM
12330 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12331 (find_defun_start): Consider an open parenthesis in column 0
12332 a defun start only if open_paren_in_column_0_is_defun_start is set.
12333 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12334
7973e637
SM
123352000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12336
12337 * eval.c (Fautoload): Add entry in load-history (if after dump).
12338 * lread.c (load-history): Update docstring.
12339
39210e90
GM
123402000-03-24 Gerd Moellmann <gerd@gnu.org>
12341
12342 * indent.c (Fvertical_motion): Always use the current buffer.
12343 Temporarily change the window's buffer, if necessary.
12344
72db3ab5
GM
123452000-03-23 Gerd Moellmann <gerd@gnu.org>
12346
12347 * xterm.c (fast_find_position): Make sure not to consider rows
12348 not visible in the window.
12349
990b2375
SM
123502000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12351
12352 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12353 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12354
ff4df011
JR
123552000-03-22 Jason Rumney <jasonr@gnu.org>
12356
12357 * w32menu.c (single_submenu): Set help string to NULL if none.
12358 (w32_menu_show): Set help string correctly.
12359 (add-menu-item): Set help string in MIIM_DATA for menu item.
12360 Load SetMenuItemInfoA explicitly.
12361 (w32_menu_display_help): New function.
427ec082 12362
ff4df011
JR
12363 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12364 (QCdata): Moved to xdisp.c.
12365
12366 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12367 (Vw32_charset_to_codepage_alist): Removed.
12368 (Vw32_charset_info_alist): New variable.
52283633
SM
12369 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12370 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12371 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12372 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12373 with TODO comment.
12374 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12375 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12376 Define Vw32_charset_info_alist and w32_charset symbols.
12377
123782000-03-22 Jason Rumney <jasonr@gnu.org>
12379
12380 * makefile.nt (w32bdf.obj): Update dependencies.
12381
12382 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12383
12384 * w32fns.c: Include fontset.h after dispextern.h.
12385 (Fx_create_frame): Do not create fontset.
12386 (w32_load_system_font): Doc fix.
12387 (Fx_close_connection): Free full_name if it is not shared.
12388
12389 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12390 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12391 Callers updated.
ff4df011
JR
12392 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12393 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12394 (w32_font_is_double_byte): New function, needs body.
12395 (x_append_glyph): Set glyph->glyph_not_available_p.
12396 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12397 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12398 character, convert it to a unibyte character.
12399 (struct glyph_string): Delete member `charset'.
12400 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12401 calculating it is found.
12402 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12403 the case that per char metric is not available correctly.
12404 (x_fill_glyph_string): Handle the case that the specific glyph is
12405 not available correctly.
12406 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12407 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12408 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12409 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12410 fontset. Don't call FS_LOAD_FONT.
12411
439d5cb4
KR
124122000-03-22 Ken Raeburn <raeburn@gnu.org>
12413
12414 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12415 (INT_LISPLIKE): New macro.
12416 (NULL_INTERVAL_P): Use it.
52283633
SM
12417 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12418 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12419 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12420
12421 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12422 explicit references to "parent" field of struct interval and
12423 associated unclean type conversions.
52283633
SM
12424 * intervals.c (create_root_interval, root_interval, rotate_right)
12425 (rotate_left, balance_possible_root_interval, split_interval_right)
12426 (split_interval_left, interval_start_pos, find_interval)
12427 (next_interval, previous_interval, update_interval)
12428 (adjust_intervals_for_insertion, delete_node, delete_interval)
12429 (adjust_intervals_for_deletion, merge_interval_right)
12430 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12431 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12432 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12433 Likewise.
12434 * syntax.c (update_syntax_table): Likewise.
12435
12436 * intervals.c (reproduce_tree_obj): New function, like
12437 reproduce_tree but takes a Lisp_Object for the parent. Declare
12438 with prototype.
12439 (graft_intervals_into_buffer): Use it when appropriate.
12440 (reproduce_tree): Declare with prototype.
12441 (balance_possible_root_interval): Check that the parent is a lisp
12442 object before trying to examine its type.
12443
ee1c5b21
GM
124442000-03-22 Gerd Moellmann <gerd@gnu.org>
12445
12446 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12447 as strings only if both are known to be strings.
12448
12449 * s/openbsd.h (LIBS_TERMCAP): Undef.
12450
1fb352e0
SM
124512000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12452
12453 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12454 definitions for non-Emacs compilation.
12455 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12456 outside of `#ifdef emacs'.
12457 (print_partial_compiled_pattern): Update.
12458 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12459 (re_compile_fastmap): Merge handling of charset and charset_not (for
12460 emacs and non-emacs compilation as well).
12461 Similarly for (not)categoryspec and (not)syntaxspec.
12462 Don't use the fastmap when reaching `anychar' since the added
12463 complexity is not justified.
12464 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12465 and (not)syntaxspec. Merge (not)categoryspec.
12466
fdaa1f77
KH
124672000-03-22 Kenichi Handa <handa@etl.go.jp>
12468
52283633
SM
12469 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12470 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12471 --without-x.
fdaa1f77 12472
d152fb46
DL
124732000-03-21 Dave Love <fx@gnu.org>
12474
12475 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12476 doc string.
12477
d2cafc8c
GM
124782000-03-21 Gerd Moellmann <gerd@gnu.org>
12479
12480 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12481 (lface_fully_specified_p): Don't check contents of
12482 LFACE_FONT_INDEX because that attribute is optional.
12483 (realize_x_face): Remove now unwarranted xassert.
12484
9111d4b5
KH
124852000-03-21 Kenichi HANDA <handa@etl.go.jp>
12486
12487 The following changes are to make font selection based on
12488 characters, not charset. In addition, they recover fontset
12489 facilities while utilizing the new font selection mechanism.
12490
6c4bfdc0
KH
12491 * Makefile.in (fontset.o): Depend on dispextern.h.
12492
12493 * alloc.c (mark_face_cache): Don't mark face->registry.
12494
9111d4b5
KH
12495 * dispextern.h (struct glyph): New member glyph_not_available_p.
12496 Use 22 bits for face_id.
12497 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12498 (struct face): Delete member registry, new member ascii_face.
12499 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12500 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12501 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12502 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12503
12504 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12505 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12506 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12507 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12508 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12509 (fs_free_face_fontset, fontset_font_pattern)
12510 (face_suitable_for_char_p, face_for_char)
12511 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12512 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12513 (FS_LOAD_FACE_FONT): New macro.
12514
12515 * fontset.c: All codes rewritten or adjusted for the change of
12516 fontset implementation. Now fontset is represented by char table.
52283633
SM
12517 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12518 Variables removed.
9111d4b5 12519 (my_strcasecmp): Function removed.
52283633 12520 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12521 (AREF, ASIZE): New macros.
52283633
SM
12522 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12523 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12524 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12525 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12526 (fontset_id_valid_p, font_family_registry, fontset_name)
12527 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12528 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12529 New functions.
12530 (fs_load_font): New arg FACE. Caller changed.
12531 (fs_query_fontset): Argument changed. Caller changed.
12532 (Fquery_fontset): call fs_query_fontset.
12533 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12534 Functions removed.
52283633
SM
12535 (clear_fontset_elements, check_registry_encoding)
12536 (check_fontset_name): New functions.
9111d4b5
KH
12537 (syms_of_fontset): Set char-table-extra-slots property of fontset
12538 to 3. Staticpro and initialize Vfontset_table and
12539 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12540
12541 * frame.h (struct frame): Member `fontset_data' removed.
12542 (FRAME_FONTSET_DATA): Macro removed.
12543
12544 * frame.c (make_frame): Don't allocate f->fontset_data.
12545 (Fdelete_frame): Don't free f->fontset_data.
12546
6c4bfdc0
KH
12547 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12548
9111d4b5
KH
12549 * xdisp.c (charset_at_position): Function removed.
12550 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12551 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12552 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12553 Likewise.
12554 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12555 FACE_FOR_CHARSET.
52283633
SM
12556 (get_next_display_element, append_space)
12557 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12558
12559 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12560 Variables removed.
12561 (clear_font_table, frame_update_line_height, load_face_font):
12562 Adjusted for the change of fontset implementation.
12563 (load_face_fontset_font): Function removed.
12564 (pixel_point_size): New function.
12565 (font_list): Argument type changed. Caller changed.
12566 (LFACE_FONT): New macro.
12567 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12568 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12569 Lisp_Object. Determine the font name by actually loading a font
12570 by the specified pattern. Set LFACE_FONT (lface) to the specified
12571 pattern. Even if a font is not found, don't try alternatives.
12572 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12573 (set_font_frame_param): If `font' is specified in lface, use it.
12574 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12575 (lface_same_font_attributes_p): Likewise.
12576 (make_realized_face): Arguent changed. Caller changed. Set
12577 face->ascii_face to face itself.
12578 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12579 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12580 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12581 (free_realized_multibyte_face): New function.
12582 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12583 changed. Caller changed.
12584 (try_font_list): Argument type changed.
12585 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12586 (choose_face_font): Argument changed. Handle fontset properly.
12587 (choose_face_fontset_font): Function removed.
12588 (realize_default_face, realize_named_face): Don't remove the
12589 former face here.
12590 (realize_face): Argument changed. Caller changed. Remove face
52283633 12591 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12592 (realize_x_face): Argument changed. Caller changed. For a
12593 multibyte character, share fontset with base_face. For a single
52283633 12594 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12595 (realize_tty_face): Argument changed. Caller changed.
12596 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12597 (face_at_buffer_position): Don't check multibyte_p for returning
12598 DEFAULT_FACE_ID.
12599 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12600 FACE_SUITABLE_FOR_CHARSET_P.
12601 (syms_of_xfaces): Remove code for Qx_charset_registry and
12602 Vface_default_registry.
12603
6c4bfdc0
KH
12604 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12605 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12606 (x_per_char_metric): Don't try FONT->default_char. Even if
12607 pcm->width is zero, glyph bits may exist.
12608 (x_encode_char): Always initialize char2b->byte1.
12609 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12610 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12611 (x_append_glyph): Set glyph->glyph_not_available_p.
12612 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12613 it->charset. Handle the case that per char metric is not
12614 available. If it->multibyte_p is zero and it->c is a multibyte
12615 character, convert it to a unibyte character.
12616 (struct glyph_string): Delete member `charset'.
12617 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12618 the case that per char metric is not available correctly.
12619 (x_fill_glyph_string): Handle the case that the specific glyph is
12620 not available correctly.
12621 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12622 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12623 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12624 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12625 fontset. Don't call FS_LOAD_FONT.
12626
12627 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12628 (x_create_tip_frame): Likewise.
12629 (Fx_close_connection): Free full_name of font_info.
12630
12631 * fns.c (optimize_sub_char_table): New function.
12632 (Foptimize_char_table): New function.
12633 (syms_of_fns): Defsubr Soptimize_char_table.
12634
b33dd3b0
GM
126352000-03-20 Gerd Moellmann <gerd@gnu.org>
12636
12637 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12638 only if buffer is displayed in some window.
12639
12640 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12641 (try_window_reusing_current_matrix): Don't call scroll run
12642 function if run's current and desired position are the same;
12643 this prevents cursor flickering.
12644
4e8a9132
SM
126452000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12646
12647 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12648
12649 * regex.c (RE_STRING_CHAR): New macro.
12650 (GET_CHAR_AFER_2): Remove.
12651 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12652 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12653 (print_partial_compiled_pattern, re_compile_fastmap)
12654 (re_match_2_internal): Remove on_failure_jump_exclusive.
12655 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12656 optimization only need to work for * (ie. can use of_keep_string_jump).
12657 Remove the special case for .*\n since it is now covered by the general
12658 optimization.
12659 (re_search_2): Don't bother with `room'.
12660 (skip_one_char): New function.
12661 (skip_noops): Simplify since `memory' is not needed any more.
12662 (mutually_exclusive_p): Restructure slightly to use `switch' and
12663 add handling for "all" remaining cases.
12664 (re_match_2_internal): Change on_failure_jump_smart to use
12665 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12666 rather than on_failure_jump_exclusive.
12667
2136fdd4
GM
126682000-03-19 Gerd Moellmann <gerd@gnu.org>
12669
12670 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12671 number of bits per RGB because it's everywhere used as the depth
12672 of the visual.
12673
12674 * term.c (calculate_costs): Remove code dealing with X frames.
12675
18e21ce8 126762000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12677
12678 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12679
d7b511c4
GM
126802000-03-18 Gerd Moellmann <gerd@gnu.org>
12681
12682 * lread.c (read_integer): Unread the last char not consumed.
12683
16b5d424
GM
126842000-03-17 Gerd Moellmann <gerd@gnu.org>
12685
12686 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12687 which are in the process of being deleted.
16b5d424 12688
1fa28578
GM
126892000-03-16 Gerd Moellmann <gerd@gnu.org>
12690
83488cce
GM
12691 * Makefile.in (mostlyclean): Add `*.core'.
12692 (clean): Add `bootstrap-emacs'.
12693
1fa28578
GM
12694 * lread.c (read_integer): New function.
12695 (read1): Support read syntax #o, #x, #b, #r.
12696
99633e97
SM
126972000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12698
1fa28578
GM
12699 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12700 make sure POINTER_TO_OFFSET gives the same value before and after
12701 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12702 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12703 (debug): Now only active if > 0 rather than if != 0.
12704 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12705 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12706 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12707 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12708 (store_op1, store_op2, insert_op1, insert_op2)
12709 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12710 (group_in_compile_stack): Move to after its arg's types are
12711 declared and add a prototype.
99633e97 12712 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12713 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12714 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12715 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12716 indentation of the greedy-op and shy-group code.
99633e97
SM
12717 (at_(beg|end)line_loc_p): Fix argument's types.
12718 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12719 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12720 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12721 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12722 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12723 QUIT unconditionally.
99633e97 12724
699238d9
GM
127252000-03-15 Gerd Moellmann <gerd@gnu.org>
12726
12727 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12728 a sole completion.
12729
12730 * process.c (send_process): Add a hint that the function
12731 can call Lisp code to its comment.
12732
12733 * lread.c (load_dangerous_libraries): New variable.
12734 (Vbytecomp_version_regexp): New variable.
12735 (safe_to_load_p): New function.
12736 (Fload): Handle files not compiled with Emacs specially.
12737 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12738
34e23e5a
GM
127392000-03-14 Gerd Moellmann <gerd@gnu.org>
12740
9c763cca
GM
12741 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12742
12743 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12744 support functions only if HAVE_X11R6_XIM is defined.
12745 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12746
12747 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12748
12749 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12750 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12751 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12752
12753 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12754 (HAVE_X11R6_XIM): Define.
12755
12756 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12757
34e23e5a
GM
12758 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12759 If set, call XSynchronize.
12760
66f0296e
SM
127612000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12762
34e23e5a
GM
12763 * regex.c: Declare a new type `re_char' used throughout the code
12764 for the string char type. It's `const unsigned char' to match the
12765 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12766 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12767 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12768 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12769 code duplication.
66f0296e
SM
12770
12771 * charset.h (GET_CHAR_AFTER_2): Remove.
12772 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12773
854a025c
KR
127742000-03-12 Ken Raeburn <raeburn@gnu.org>
12775
12776 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12777 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12778 of them try to use backquotes.
12779
b9d2c7e2
DL
127802000-03-12 Dave Love <fx@gnu.org>
12781
12782 * unexelf.c: Restore changes of 1999-10-19.
12783 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12784 fix its type and alignment; copy it from current process.
12785
5e5dff44
GM
127862000-03-12 Gerd Moellmann <gerd@gnu.org>
12787
9b2f3c38
GM
12788 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12789 has been found. Fix bug not computing timer's predecessor.
12790
427ec082 12791 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12792 file name.
12793
e1cff360
GM
12794 * window.c (Fsave_window_excursion): Doc fix.
12795
52283633 12796 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12797
e411ce4b
EZ
127982000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12799
12800 * msdos.c (vga_installed): New function, code moved from
12801 dos_set_window_size.
12802 (Qbar, Qcursor_type, outside_cursor): New variables.
12803 (syms_of_msdos): Intern and staticpro them.
12804 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12805 shape used outside Emacs when called for the first time.
12806 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12807 cursor shape used outside Emacs.
12808 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12809 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12810 type has changed.
12811 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12812 parameters specify the cursor. Make qreverse a global
12813 variable (renamed to Qreverse).
12814
80460654
GM
128152000-03-09 Gerd Moellmann <gerd@gnu.org>
12816
12817 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12818
95cd4c40
SM
128192000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12820
12821 This is a big redesign of failure-stack and register handling, prompted
12822 by bugs revealed when trying to add shy-groups. Overall, what happened
12823 is that loops are now structured a little differently, groups can be
12824 shy and the code is a little simpler.
12825
12826 * regex.h: Update the copyright.
12827 (RE_SHY_GROUPS): New value.
12828 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12829 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12830
80460654
GM
12831 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12832 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12833 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12834 for (start|stop)_memory since they now only take one argument (the
12835 second has becomes unnecessary).
52283633 12836 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12837 (print_compiled_pattern): Use %ld to printf long ints and flush to
12838 make debugging a little easier.
95cd4c40
SM
12839 (union fail_stack_elt): Make the integer unsigned.
12840 (struct fail_stack_type): Add a `frame' element.
12841 (INIT_FAIL_STACK): Init `frame' as well.
12842 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12843 (DEBUG_PUSH, DEBUG_POP): Remove.
12844 (NUM_REG_ITEMS): Remove.
12845 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12846 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12847 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12848 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12849 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12850 New macros.
80460654
GM
12851 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12852 address pushed is not the destination of the jump but the source
12853 of it instead.
95cd4c40
SM
12854 (NUM_FAILURE_ITEMS): Remove.
12855 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12856 registers before the actual failure point). Don't hardcode any
12857 meaning for str==NULL anymore.
95cd4c40 12858 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12859 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12860 Remove.
95cd4c40
SM
12861 (REG_UNSET_VALUE): Use NULL (why not?).
12862 (compile_range): Remove declaration since it doesn't exist.
12863 (struct compile_stack_elt_t): Remove inner_group_offset.
12864 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12865 (regex_grow_registers): Remove dead code.
12866 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12867 (regex_compile): Add shy-groups Change loops to use
12868 on_failure_jump_smart&jump instead of
12869 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12870 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12871 variable to me). Use `jump' instead of `jump_past_alt' and don't
12872 bother with push_dummy_failure in alternatives since it is now
12873 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12874 emacs' for (re)allocating the stack.
12875 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12876 from loop when bufp->can_be_null rather than jumping to `done'.
12877 Avoid jumping backwards so as to ensure termination. Use
12878 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12879 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12880 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12881 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12882 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12883 (lowest_active_reg, highest_active_reg)
12884 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12885 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12886 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12887 variables. Push register (in `start_memory') on the stack rather
12888 than storing it in old_reg(start|end). Remove the cycle detection
12889 from `stop_memory', replaced by the use of on_failure_jump_loop
12890 for greedy loops. Add code for the new on_failure_jump_<foo>.
12891 Remove ad-hoc code in `on_failure_jump' to push more registers in
12892 the case of a loop. Take out code from `maybe_pop_jump' into
12893 separate functions and adapt it to the semantics of
12894 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12895 and push_dummy_failure. Remove dummy_failure handling and
12896 handling of `failures to jump to on_failure_jump' (this last one
12897 was already dead code, it seems).
12898 (group_match_null_string_p, alt_match_null_string_p)
12899 (common_op_match_null_string_p): Remove.
95cd4c40 12900
7397acc4
DL
129012000-03-08 Dave Love <fx@gnu.org>
12902
12903 * config.in: Don't depend on __STDC__ for volatile.
12904 Add POINTER_TYPE, PTR, PROTOTYPES.
12905
12906 * hftctl.c, strftime.c: Use PROTOTYPES.
12907 * eval.c (find_handler_clause): Likewise.
12908
12909 * mem-limits.h: Use POINTER_TYPE.
12910
12911 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12912 (memory_warnings): Declare using POINTER_TYPE.
12913
5e91ff9e
GM
129142000-03-08 Gerd Moellmann <gerd@gnu.org>
12915
feab4fba
GM
12916 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12917
52283633 12918 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12919
5e91ff9e
GM
12920 * xfns.c: Remove obsolete code in #if 0.
12921 (Fx_focus_frame): New function.
12922
a735b7e1
KH
129232000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12924
12925 * coding.c (coding_category_name): Add coding-category-utf-8,
12926 coding-category-utf-16-be, coding-category-utf-16-le.
12927 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12928 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12929 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12930 (detect_coding_utf_8): New function.
12931 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12932 UTF_16_LOW_SURROGATE_P): New macros.
12933 (detect_coding_utf_16): New function
12934 (detect_coding_mask): When priorities are specified, skip any
12935 categories that have `nil' coding-system. Fix bug of returning
12936 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12937 returns a mask not set in PRIORITIES.
12938 (detect_eol_type_in_2_octet_form): New function.
12939 (detect_eol): selects detect_eol_type_XXX to call according to
12940 cooding->category_idx.
12941 (detect_coding_system): Remove `nil' coding-system in the result.
12942 (Fupdate_coding_systems_internal): Update all coding-categories.
12943
52283633
SM
12944 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12945 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12946 New macros.
12947 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12948 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12949 (CODING_CATEGORY_IDX_UTF_16_LE)
12950 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12951 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12952 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12953 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12954
9994cc69
GM
129552000-03-07 Gerd Moellmann <gerd@gnu.org>
12956
e9b4e5ff
GM
12957 * doc.c (Fdocumentation_property): If value is not a string,
12958 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12959
f7daf1e1
GM
12960 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12961 close the display with XtCloseDisplay. This caused a bus error
12962 on OpenWindows.
12963
9994cc69
GM
12964 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
12965 complete but not unique.
12966
4336c705
GM
129672000-03-06 Gerd Moellmann <gerd@gnu.org>
12968
18bb0684
GM
12969 * process.c (send_process): Remove local variable `procname' that
12970 might become invalid when a GC happens. Instead, access the
12971 process name slot directly.
12972
4336c705
GM
12973 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
12974 orig_height if set.
12975
12976 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
12977 orig_height if set.
12978
515d0d0e
EZ
129792000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
12980
12981 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
12982 glyph matrices have been freed.
12983
100b3cbb
GM
129842000-03-05 Gerd Moellmann <gerd@gnu.org>
12985
50df5e5a 12986 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 12987 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
12988
12989 * xfns.c (QCdata): Moved to xdisp.c.
12990
12991 * xdisp.c (QCdata): Moved here from xfns.c.
12992 (syms_of_xdisp): Initialize QCdata.
12993
12994 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
12995
12996 * window.c (coordinates_in_window): Use
12997 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
12998 FRAME_INTERNAL_BORDER_WIDTH.
12999
100b3cbb 13000 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13001 it is obviously invalid.
100b3cbb
GM
13002
13003 * xterm.c (x_term_init): Create a colormap if not using the
13004 default visual.
13005
13006 * xterm.h (select_visual): Change prototype.
13007
13008 * xfns.c (select_visual): Rewritten. Recognize user-specified
13009 visual classes.
13010 (visual_classes): New variable.
13011
64d739c4
GM
130122000-03-04 Gerd Moellmann <gerd@gnu.org>
13013
13014 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13015 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13016 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13017 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13018 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13019 XtNcolormap resources.
13020 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13021 (Fx_create_frame): Initialize color members of x_output structure.
13022 (xpm_load): Pass colormap to XPM lib.
13023
13024 * xfaces.c (x_free_colors): Access colormap of frame using
13025 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13026 when default colormap is used.
13027
13028 * xterm.c (x_term_init): Set Colormap member of x_display_info
13029 structure. Copy colormap if resource `privateColormap' is
13030 specified (PseudoColor only).
13031 (x_setup_relief_color): Access colormap of frame using
13032 FRAME_X_COLORMAP.
13033
13034 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13035 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13036
c3cee013
JR
130372000-03-04 Jason Rumney <jasonr@gnu.org>
13038
13039 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13040 other non-platform-specific equivalents.
64d739c4 13041 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13042 specific functions and macros as their w32 equivalents where
13043 non-platform-specifics are not available.
13044 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13045 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13046 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13047 (frame_update_line_height): Use macros to access f->output_data.
13048 (defined_color): Remove FIXME comments; fixed.
13049 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13050 into #ifdef blocks. Add WINDOWSNT blocks.
13051 (Fx_list_fonts): Use macros for accessing font data.
13052 (set_lface_from_font_name): Different default fonts for X and
13053 WINDOWSNT.
13054 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13055 scalable for backward compatibility.
64d739c4 13056 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13057 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13058
64d739c4 13059 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13060 syms_of_w32faces.
13061
13062 * makefile.nt (w32faces.obj): Remove.
13063 (xfaces.obj): Add.
13064
807cc41c
JR
130652000-03-03 Jason Rumney <jasonr@gnu.org>
13066
13067 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13068 correct parameters.
13069
0007072a
KR
130702000-03-03 Ken Raeburn <raeburn@gnu.org>
13071
13072 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13073 standard ELF definitions here if the system header does not.
13074
71a6ba55
GM
130752000-03-03 Gerd Moellmann <gerd@gnu.org>
13076
13077 * xterm.c (PER_CHAR_METRIC): Removed.
13078 (x_per_char_metric_1, x_default_char): New functions.
13079 (x_per_char_metric): If font's default char is invalid, return
13080 metrics of a suitably chosen usable default char.
13081 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13082 char, replace occurrences of unprintable chars with a suitably
13083 chosen usable default char.
71a6ba55 13084
900fa1f1
GM
130852000-03-02 Gerd Moellmann <gerd@gnu.org>
13086
42f55fe0
GM
13087 * xterm.c (note_mouse_highlight): Return quickly if frame's
13088 glyph matrices have been freed.
13089
13090 * dispnew.c (free_glyphs): Block input while freeing matrices.
13091
900fa1f1
GM
13092 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13093
52283633
SM
13094 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13095 Use x_free_colors.
900fa1f1
GM
13096
13097 * dispextern.h (x_free_colors): Add prototype.
13098
13099 * xfaces.c (x_free_colors): New function.
13100 (unload_color, free_face_colors): Use it.
13101
2f950292
EZ
131022000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13103
13104 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13105
13106 * window.c [MSDOS]: Include msdos.h.
13107
54d04320
DL
131082000-03-02 Dave Love <fx@gnu.org>
13109
13110 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13111
13112 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13113 set C_OPTIMIZE_SWITCH for gcc.
13114
0ba93ac4
KH
131152000-03-02 Kenichi Handa <handa@etl.go.jp>
13116
13117 * coding.c (coding_save_composition): Be sure to allocate
13118 composition data area in coding even if there's no composition in
13119 the current run.
13120
a2bc11d4
JR
131212000-03-01 Jason Rumney <jasonr@gnu.org>
13122
13123 * w32term.c: Equivalent changes to those made to xterm.c on
13124 2000-02-25 and 2000-02-24.
13125
13126 * w32fns.c: Equivalent changes to those made to xfns.c on
13127 2000-02-25 and 2000-02-21.
13128
13129 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13130 correct line-end convention is followed.
13131
13132 * w32menu.c [HAVE_BOXES]: Remove #undef.
13133 (single_keymap_panes): Remove code for simulating checkmarks.
13134 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13135 Remove code for drawing simulated checkmarks.
13136 (w32_menu_show): make unibyte help string correctly.
13137 (add_menu_item): draw standard Windows checkmarks. Draw radio
13138 buttons as radio buttons if possible.
13139
72d19d75
GM
131402000-03-01 Gerd Moellmann <gerd@gnu.org>
13141
2df636f4
GM
13142 * sysdep.c (start_of_text): Don't define this function for NetBSD
13143 with ELF.
13144
427ec082 13145 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13146 Don't define.
13147 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13148 (LINKER): Don't undef if __NetBSD__ is defined.
13149
13150 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13151
13152 * fileio.c [__NetBSD__]: Define `unix'.
13153
72d19d75
GM
13154 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13155
ed4d0512
GM
131562000-02-29 Gerd Moellmann <gerd@gnu.org>
13157
50b1039f
GM
13158 * atimer.c (start_atimer): Don't abort when timers are stopped.
13159 (append_atimer_lists): New function.
13160 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13161 arbitrary lists of stopped and running atimers.
13162
ed4d0512
GM
13163 * atimer.c (cancel_atimer): Handle canceling an atimer when
13164 some timers are stopped.
13165
13166 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13167 after canceling it.
13168
13169 * fns.c (maybe_resize_hash_table): Handle case of new size
13170 coming out as being the same as old size.
13171
387023ee
JR
131722000-02-27 Jason Rumney <jasonr@gnu.org>
13173
13174 * makefile.nt: Add atimer.h to dependencies.
13175 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13176 * w32console.c: Only disable window system features for dispextern.h
13177 (initialize_w32_display): Build a display info for the console.
13178 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13179 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13180 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13181 as 2 button mice.
13182 * w32gui.h (struct W32FontStruct): Revert last change after change
13183 to xdisp.c.
13184 * w32menu.c (single_submenu): Set up help string.
13185 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13186 (w32_dialog_show): Set up help string.
13187 * w32term.c (w32_display_info_for_display): Remove unused function.
13188 (w32_draw_bitmap): Use pre-built bitmaps.
13189 (w32_initialize_display_info): New function to initialize parts of
13190 display info that are common to both GUI and console frames.
13191 (w32_term_init): Use w32_initialize_display_info. Do not set
13192 Vw32_num_mouse_buttons here, as it is not called for console
13193 frames. Build bitmaps for indicating truncated lines etc.
13194 (x_delete_display): Destroy pre-built bitmaps.
13195 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13196 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13197
4516715a
DL
131982000-02-27 Dave Love <fx@gnu.org>
13199
13200 * lisp.h: Add a bunch of prototypes.
13201
171ca836
KH
132022000-02-26 Kenichi Handa <handa@etl.go.jp>
13203
13204 * keyboard.c (read_char): Set `usec' correctly.
13205
4013921d
KH
132062000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13207
13208 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13209 `lambda', set reg[RRR] to the map index.
13210 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13211 reg[RRR] to 0. Otherwise, set it to -1.
13212
9244a058
GM
132132000-02-25 Gerd Moellmann <gerd@gnu.org>
13214
2df636f4 13215 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13216
18e21ce8 132172000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13218
f43d79c1
GM
13219 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13220 and contains a `:', prepend `/:'.
13221
13222 * window.c (select_window_1): If selected_window is nil,
13223 don't "swap out" the buffer's point.
13224 (Fset_window_configuration): Set selected_window to nil
13225 before calling Fselect_window.
13226 (unshow_buffer): Don't set point in buffer from window's point
13227 if another more recently selected window also shows the buffer.
13228
bed0c171
GM
132292000-02-25 Gerd Moellmann <gerd@gnu.org>
13230
449c3c52
GM
13231 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13232
f5b58615
GM
13233 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13234 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13235 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13236 New variables.
f5b58615
GM
13237 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13238 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13239 (hide_busy_cursor): New functions.
13240 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13241
13242 * minibuf.c (read_minibuf): Cancel busy-cursor.
13243
13244 * keyboard.c (command_loop_1): Call start_busy_cursor before
13245 Fcommand_execute and cancel_busy_cursor after it.
13246 (timer_check): Remove busy-cursor code.
13247 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13248 cursor timer.
13249
13250 * process.c (wait_reading_process_input): Remove busy-cursor code.
13251
13252 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13253 Fx_hide_busy_cursor.
13254
13255 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13256 Remove prototyoes.
13257 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13258
13259 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13260
13261 * xterm.c (XTread_socket): Remove busy-cursor code.
13262
4eb8436f
GM
13263 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13264 (build_frame_matrix_from_leaf_window): Put code handling
13265 glyph row's not being a slice of a frame row in #if 0.
13266 (sync_window_with_frame_matrix_rows): New function.
13267 (frame_row_to_window): New function.
13268 (mirror_line_dance): Handle copies between windows.
13269
3cb65b0e
GM
13270 * lread.c (Fload): Use `xfree' instead of `free'.
13271 (init_obarray): Use `xmalloc' instead of `malloc'.
13272
bed0c171
GM
13273 * window.c (Fset_window_buffer): Set WINDOW to the window
13274 after decoding.
2add4349
GM
13275 (coordinates_in_window): Take frame's internal border width
13276 into account.
bed0c171 13277
42088c12
GM
132782000-02-24 Gerd Moellmann <gerd@gnu.org>
13279
13280 * xterm.c (x_display_and_set_cursor): Display cursor of
13281 non-selected windows depending on the setting of
13282 cursor_in_non_selected_windows.
13283
13284 * xdisp.c (cursor_in_non_selected_windows): New variable.
13285 (syms_of_xdisp): DEFVAR_BOOL it.
13286
d1e103b2
GM
132872000-02-23 Gerd Moellmann <gerd@gnu.org>
13288
723e779c
GM
13289 * data.c (Fstring_to_number): If number is greater than what
13290 fits into an integer, return a float.
13291
d1e103b2
GM
13292 * eval.c (specbind): Remove references to
13293 keyword_symbols_constant_flag.
13294
13295 * data.c (keyword_symbols_constant_flag): Removed.
13296 (Fmakunbound, set_internal, syms_of_data): Remove references to
13297 keyword_symbols_constant_flag.
13298
13299 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13300
214f877f
KH
133012000-02-23 Kenichi Handa <handa@etl.go.jp>
13302
13303 * syntax.c (multibyte_syntax_as_symbol): New variable.
13304 (syms_of_syntax): Declare it as a Lisp variable.
13305 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13306 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13307 nonzero, treat all multibyte characters as symbol.
52283633 13308 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13309
130adcb7
EZ
133102000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13311
3cb65b0e 13312 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13313 a deleted frame.
130adcb7 13314
17cbbf95
GM
133152000-02-21 Gerd Moellmann <gerd@gnu.org>
13316
13317 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13318
13319 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13320 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13321
beb0bc36
DL
133222000-02-21 Dave Love <fx@gnu.org>
13323
13324 * frame.c (Vmouse_position_function): New variable.
13325 (Fmouse_position): Use it.
13326 (syms_of_frame): Install it.
13327
13328 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13329
1d92afcd
GM
133302000-02-20 Gerd Moellmann <gerd@gnu.org>
13331
13332 * fileio.c (Finsert_file_contents): Unbind the binding of
13333 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13334
13335 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13336 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13337 (specbind, unbind_to): Handle most common case of non-constant
13338 symbol with trivial value specially.
13339
13340 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13341
18e21ce8 133422000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13343
13344 * data.c (Fmake_variable_buffer_local): Doc fix.
13345 Init found_for_buffer to 0.
13346 (Fmake_variable_frame_local): If the variable has already
13347 been buffer-local, set the check_frame field.
13348
1d4311c3
EZ
133492000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13350
13351 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13352 produced for CODING_MODE_LAST_BLOCK requires.
13353
2dc95ddd
DL
133542000-02-18 Dave Love <fx@gnu.org>
13355
13356 * keyboard.c (echo_keystrokes): Remove declaration.
13357 (Vecho_keystrokes) New variable.
13358 (read_char, record_menu_key, read_key_sequence): Use it to allow
13359 use of float value.
13360 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13361
13362 * lread.c: Undef feature selection macros before defining.
13363
f0930f35
GM
133642000-02-18 Gerd Moellmann <gerd@gnu.org>
13365
13366 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13367 for symbols other than the symbol in question.
13368
e3d4de90
DL
133692000-02-17 Dave Love <fx@gnu.org>
13370
13371 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13372
0b378936
GM
133732000-02-17 Gerd Moellmann <gerd@gnu.org>
13374
d621caf7
GM
13375 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13376
0b378936
GM
13377 * alloc.c (enum mem_type): Compile unconditionally.
13378
3b451f74
EZ
133792000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13380
13381 * xfaces.c (tty_defined_color): Don't return faulire indication
13382 for unspecified-fg and unspecified-bg pseudo-colors.
13383
10689a01
GM
133842000-02-17 Gerd Moellmann <gerd@gnu.org>
13385
1216f5e4
GM
13386 * alloc.c (mark_object): Don't mark symbol names in pure space.
13387 (gc_sweep): Don't unmark symbol names in pure space.
13388
13389 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13390 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13391 [GC_MARK_STACK]: New defines.
427ec082 13392 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13393 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13394
13395 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13396
13397 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13398 allocate_buffer instead of xmalloc.
13399
13400 * alloc.c (toplevel): Include setjmp.h.
13401 (PURE_POINTER_P): New define.
13402 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13403 (Vdead) [GC_MARK_STACK]: New variable.
13404 (lisp_malloc): Add parameter TYPE, call mem_insert if
13405 GC_MARK_STACK is defined.
13406 (allocate_buffer): New function.
427ec082 13407 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13408 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13409 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13410 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13411 (MEM_NIL) [GC_MARK_STACK]: New define.
13412 (struct mem_node) [GC_MARK_STACK]: New structure.
13413 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13414 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13415 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13416 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13417 (mark_stack) [GC_MARK_STACK]: New functions.
13418 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13419 (clear_marks): Removed.
13420 (gc_sweep): Set free conses' car, free floats' type, free
13421 symbols' function to Vdead. Use lisp_free to free buffers.
13422 (init_alloc_once): Initialize Vdead.
13423 (survives_gc_p): Return non-zero for pure objects.
13424
13425 * alloc.c: Add comments throughout the file.
13426
2503c8b1
GM
13427 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13428 that unblocks alarms.
13429
8389e1e2
GM
13430 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13431 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13432 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13433
10689a01 13434 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13435
bfc17d18
KH
134362000-02-17 Kenichi Handa <handa@etl.go.jp>
13437
4a09dee0
KH
13438 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13439 avoid infinite error signaling. Allocate sufficient memory for
13440 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13441
2b927d02
SM
134422000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13443
13444 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13445 depends on the previous behavior.
13446
b49cb764
GM
134472000-02-16 Gerd Moellmann <gerd@gnu.org>
13448
13449 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13450
99e95407
GM
134512000-02-15 Gerd Moellmann <gerd@gnu.org>
13452
13453 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13454
13455 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13456 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13457 write(2).
13458
6ffd3cf7
RS
134592000-02-15 Richard M. Stallman <rms@gnu.org>
13460
13461 * data.c (set_internal): Don't make variable buffer-local
13462 if within a let-binding for the same buffer.
13463 (let_shadows_buffer_binding_p): New function.
13464
13465 * eval.c (specbind): For buffer-local value,
13466 record the current buffer also.
13467 (unbind_to): Cope with that change.
13468
cad53475
GM
134692000-02-15 Gerd Moellmann <gerd@gnu.org>
13470
13471 * window.c (Fsave_window_excursion): Doc fix.
13472
1aa963c8
SM
134732000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13474
13475 * syntax.c (back_comment): Make sure we only consider comment-starters
13476 of the relevant style and return -1 in case of a failure to find the
13477 beginning of the comment.
13478 (Fforward_comment): If back_comment fails, go back to the position just
13479 after the comment-end.
13480 (scan_lists): Add comment describing a very minor bug.
13481
b9b84fd3
SM
134822000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13483
13484 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13485 `completion-regexp-list' in the docstring.
13486
3a28db80
DL
134872000-02-14 Dave Love <fx@gnu.org>
13488
13489 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13490
fb4a568d
SM
134912000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13492
13493 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13494 to Emacs' syntax. Also fix the comment about set/not-set meanings
13495 since Emacs syntax is not the value 0 any more.
13496 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13497 since it's now part of RE_SYNTAX_EMACS.
13498
1063ebb5
DL
134992000-02-12 Dave Love <fx@gnu.org>
13500
52283633 13501 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13502
fb07a302
GM
135032000-02-12 Gerd Moellmann <gerd@gnu.org>
13504
13505 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13506
aaf2320c
DL
135072000-02-12 Dave Love <fx@gnu.org>
13508
13509 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13510
13511 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13512 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13513 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13514
13515 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13516
13517 * s/nextstep.h: Don't define HAVE_ALLOCA.
13518
13519 * config.in: Add vfork bits.
13520
eedf8bde
GM
135212000-02-12 Gerd Moellmann <gerd@gnu.org>
13522
13523 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13524 unwind function to undo the effect of stopping atimers.
13525
52283633 13526 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13527
13528 * atimer.c (stopped_atimers): New variable.
13529 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13530 New functions.
13531
13532 * atimer.h (stop_other_atimers, run_all_atimers)
13533 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13534
eedf8bde
GM
13535 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13536
8476c2f8
KR
135372000-02-11 Ken Raeburn <raeburn@gnu.org>
13538
13539 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13540 library may depend on jpeg.
13541 (atimer.o): Depends on atimer.c.
13542
0e85e4a3
KH
135432000-02-11 Kenichi Handa <handa@etl.go.jp>
13544
13545 * insdel.c (del_range_1): Call update_compositions.
13546 (del_range_both): Call update_compositions just once..
13547
97fa0cc8
DL
135482000-02-10 Dave Love <fx@gnu.org>
13549
13550 * xfns.c (create_frame_xic): Fix initialization of automatic
13551 aggregates for pcc.
13552
25566a3c
KH
135532000-02-09 Kenichi Handa <handa@etl.go.jp>
13554
13555 * ccl.c (CCL_MAKE_CHAR): New macro.
13556 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13557 registers by CCL_MAKE_CHAR before calling translate_char.
13558 <CCL_TranslateCharacterConstTbl> Likewise.
13559
69da54ba
DL
135602000-02-08 Dave Love <fx@gnu.org>
13561
13562 * lread.c (__EXTENSIONS__): Define.
13563
f7136ee8
GM
135642000-02-08 Gerd Moellmann <gerd@gnu.org>
13565
13566 * puresize.h (BASE_PURESIZE): Increase to 650000.
13567
7768790b
EZ
135682000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13569
13570 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13571 the help message.
13572
38fd211b
EZ
135732000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13574
13575 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13576 md, mh, mb, mr, and me to the fake termcap entry.
13577
66e4690f
KR
135782000-02-06 Ken Raeburn <raeburn@gnu.org>
13579
13580 * sound.c (sound_cleanup): Don't call device close routine if the
13581 function pointer is null.
13582
a75dfea0
AI
135832000-02-06 Andrew Innes <andrewi@gnu.org>
13584
13585 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13586 around image definitions and prototypes.
13587 (gamma_correct) [WINDOWSNT]: New prototype.
13588
13589 * w32term.c (x_make_frame_visible): Replace call to
13590 input_poll_signal with poll_for_input.
13591
13592 * window.c [WINDOWSNT]: Include w32term.h.
13593
13594 * xdisp.c [WINDOWSNT]: Include w32term.h.
13595
13596 * makefile.nt: Add dependencies on w32gui.h.
13597 (OBJ1): Include atimer.obj.
13598 ($(BLD)\atimer.obj): New dependency rule.
13599
13600 * w32.c (sigmask): New function (does nothing).
13601 (sigunblock): Ditto.
13602
13603 * frame.c [WINDOWSNT]: Include w32term.h.
13604
13605 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13606
13607 * lread.c (syms_of_lread): Fix literal newlines.
13608
13609 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13610 the string constant limit (2048 bytes) in MSVC.
13611 (main): Ditto.
13612
59ddecde
GM
136132000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13614
52283633 13615 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13616 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13617 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13618 dispatch the event.
13619
07590973
DL
136202000-02-04 Dave Love <fx@gnu.org>
13621
13622 * fileio.c: Remove some unused vars.
13623 (_GNU_SOURCE): Define (for euidaccess).
13624
13625 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13626
13627 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13628 gcpro1, gcpro2.
13629 (read_minibuf): Deal with allow_props correctly.
13630
649351f9
EZ
136312000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13632
13633 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13634
66e4690f 136352000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13636
13637 * search.c (compile_pattern): If a cache entry has a nil regexp,
13638 fill in that entry instead of clobbering a previously cached
13639 string regexp.
13640
66e4690f 136412000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13642
13643 * puresize.h (BASE_PURESIZE): Increase to 610000.
13644
d240a249
GM
136452000-02-02 Gerd Moellmann <gerd@gnu.org>
13646
13647 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13648 can GC.
13649
ca91fb26
KH
136502000-02-02 Kenichi Handa <handa@etl.go.jp>
13651
25660570
KH
13652 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13653 instead of incrementing ic directly.
13654 <CCL_WriteExprConst> Likewise.
13655 <ccl_set_expr>: Set ic to jump_address.
13656
ca91fb26
KH
13657 * fileio.c (e_write): Fix the handling of
13658 CODING_FINISH_INSUFFICIENT_SRC.
13659
2ede9689
DL
136602000-02-01 Dave Love <fx@gnu.org>
13661
13662 * editfns.c (Fpropertize): Doc fix.
13663
13664 * process.c (Fstart_process): Doc fix.
13665
13666 * eval.c: Fix various doc strings not to duplicate information
13667 from help-manyarg-func-alist.
13668
52283633 13669 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13670
13671 * doc.c (Vhelp_manyarg_func_alist): New variable.
13672 (Fdocumentation): Use it.
13673 (syms_of_doc): Define it.
13674
b6680a0e
GM
136752000-01-31 Gerd Moellmann <gerd@gnu.org>
13676
2cb750ba
GM
13677 * xterm.c (xim_open_dpy): Remove unused local variable.
13678
52283633 13679 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13680
13681 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13682 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13683
b6680a0e
GM
13684 * fns.c (sweep_weak_table): New function.
13685 (sweep_weak_hash_tables): Use it. Keep on marking until there
13686 is no more change.
13687
994c5afe
GM
136882000-01-30 Gerd Moellmann <gerd@gnu.org>
13689
13690 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13691 that XTread_socket does not crash by trying to call XNoOp on a
13692 closed display.
427ec082 13693
f00276e3
JR
136942000-01-30 Jason Rumney <jasonr@gnu.org>
13695
13696 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13697 Change selected_frame to SELECTED_FRAME ().
13698 (w32_console_mouse_position): Remove #ifndef MULE from around
13699 `insist' parameter.
13700
13701 * makefile.nt: Remove dosfns.obj.
13702
13703 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13704
13705 * w32fns.c (w32_defined_color): Check for valid frame before
13706 applying gamma correction. Eliminate dependency on frame elsewhere.
13707 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13708 (w32_to_x_font): Use resx and resy not height_in and width_in.
13709 (x_to_w32_font): Doc fix.
13710 (xlfd_strip_height): New function to strip and return font height.
13711 (w32_font_match): Compare height separately from rest of xlfd
13712 spec, using xlfd_strip_height.
13713
13714 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13715 width_in. Use w32_defined_color in place of defined_color.
13716
13717 * w32faces.c: Merge more of DOS and X specifics in preparation for
13718 merge with xfaces.c.
13719 (defined_color): Remove FIXME comment.
13720 (tty_color_name): Provide w32-specific function.
13721 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13722
13723 * w32console.c (turn_on_face, turn_off_face): Removed.
13724 (w32_face_attributes): New function.
13725 (Global_variables): Reduce scope where possible.
13726 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13727 fill attribute.
13728 (hl_mode): Don't modify text attributes.
13729 (write_glyphs): Don't do anything if len <= 0. Use
13730 w32_face_attributes to get attributes for drawing. Write
13731 terminating codes using char_attr_normal.
13732 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13733 (update_begin, update_end): Likewise.
13734 (vga_stdcolor_name): New function.
13735 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13736 (Fset_screen_color): Remove char_attr_reverse.
13737
b08e8bb2
GM
137382000-01-29 Gerd Moellmann <gerd@gnu.org>
13739
13740 * xfns.c (xic_set_preeditarea): Take window parameter and
13741 window-relative pixel-positions.
13742
13743 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13744 is its frame's selected window.
13745 (xim_instantiate_callback): Likewise.
13746
13747 * xfns.c (x_create_im): Removed.
13748 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13749 (supported_xim_styles): Renamed from supported_styles.
13750 (best_xim_style): Renamed from best_style.
13751 (create_frame_xic): Renamed from xic_create_frame.
13752 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13753
b08e8bb2
GM
137542000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13755
13756 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13757 our frames, call XFilterEvent with 2nd parameter `None'.
13758 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13759 returning XBufferOverflow.
52283633 13760 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13761 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13762 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13763 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13764 (xim_initialize, xim_close)
13765 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13766 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13767 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13768 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13769
13770 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13771 and `xim_styles'.
13772 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13773 `xic_style' and `xic_xfs'.
13774 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13775 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13776 (FRAME_XIM): Removed.
13777
13778 * xfns.c (supported_styles): New variable.
13779 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13780 (xic_create_xfontset, best_style, xic_create_frame)
13781 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13782 (xic_set_xfontset): New functions.
13783
142e109c
DL
137842000-01-28 Dave Love <fx@gnu.org>
13785
13786 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13787
13788 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13789
b02786f9
GM
137902000-01-28 Gerd Moellmann <gerd@gnu.org>
13791
d060bc9f
GM
13792 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13793 for *scratch* if it already existed.
13794
b02786f9
GM
13795 * emacs.c (USAGE): New macro.
13796 (main): Use it to display usage information.
13797
2c52d7e4
EZ
137982000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13799
13800 Support for the menu-help feature:
13801
52283633 13802 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13803
13804 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13805 part of the line to the termscript file.
13806 (IT_clear_to_end): Clear the entire line, not just its beginning.
13807 (menu_help_message, prev_menu_help_message): New variables.
13808 (IT_menu_make_room): Make room for the help_text member.
13809 (IT_menu_display): New argument disp_help; all callers changed.
13810 If disp_help is non-zero, store the help text of the active menu
13811 item in menu_help_message.
13812 (XMenuAddPane): Initialize the help_text member to NULL.
13813 (XMenuAddSelection): New argument help_text. Store it in the
13814 XMenu structure.
13815 (XMenuActivate): New argument help_callback. If the value of
13816 menu_help_message has changed since the last time, display the
13817 menu help message text while waiting for the mouse to move. Clear
13818 the echo area before exiting.
13819 (XMenuDestroy): Free the help_text member.
13820
ffe0bcd1
GM
138212000-01-27 Gerd Moellmann <gerd@gnu.org>
13822
13823 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13824 XMenuAddSelection. Pass help callback to XMenuActivate.
13825 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13826
50dbd23f
EZ
138272000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13828
13829 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13830 and EMACS_SET_USECS.
13831
f5941bf8
GM
138322000-01-26 Dave Love <fx@gnu.org>
13833
6c67ddee
DL
13834 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13835
f5941bf8
GM
13836 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13837 an error may be signalled.
13838
9e49c990
GM
138392000-01-26 Gerd Moellmann <gerd@gnu.org>
13840
fc3cb460
GM
13841 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13842 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13843
9e49c990
GM
13844 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13845
d0c037d8
GM
138462000-01-25 Gerd Moellmann <gerd@gnu.org>
13847
13848 * charset.c (Fstring): If there is a multibyte char among
13849 the args, always return a multibyte string.
13850
e12489f9
GM
138512000-01-25 Gerd Moellmann <gerd@gnu.org>
13852
13853 * sysdep.c (sys_select): Turn atimers off and on instead of
13854 recording and restoring old alarm handler
13855
13856 * process.c (toplevel): Include atimer.h.
13857 (create_process_1): Rewritten.
13858 (create_process): Use atimers instead of alarm.
13859 (wait_reading_process_input) [hpux]: Turn atimers off instead
13860 of turning off SIGALRM.
13861 (wait_reading_process_input): Turn off atimers instead off
13862 calling stop_polling.
13863
13864 * emacs.c (main): Call init_atimer.
13865
13866 * keyboard.c (toplevel): Include systime.h and atimer.h.
13867 (polling_for_input): Removed because unused.
13868 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13869 (poll_timer): New variable.
13870 (poll_for_input, poll_for_input_1): New functions.
13871 (start_polling, stop_polling): Rewritten.
13872
13873 * keyboard.h (polling_for_input): Removed.
427ec082 13874
e12489f9
GM
13875 * atimer.h, atimer.c: New files.
13876
13877 * Makefile.in (obj): Add atimer.o.
13878 (atimer.o): New target.
13879
13880 * blockinput.h (pending_atimers): Add extern declaration.
13881 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13882
13883 * lisp.h (popup_activated_flag): Add extern declaration.
13884
13885 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13886 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13887 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13888
13889 * xterm.c (toplevel): Include atimer.h.
13890 (toolkit_scroll_bar_interaction): New variable.
13891 (Fxt_process_timeouts): Removed.
13892 (x_process_timeouts): New function.
13893 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13894 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13895 (x_make_frame_visible): Call poll_for_input_1 instead of
13896 input_poll_signal. Don't call alarm.
13897 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13898
1e5279b9
DL
138992000-01-24 Dave Love <fx@gnu.org>
13900
6c67ddee 13901 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13902 Don't use -cckr -- apparently not now necessary.
13903
edf6aeb8
EZ
139042000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13905
13906 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13907 screen boundary.
13908
9badad41
JR
139092000-01-23 Jason Rumney <jasonr@gnu.org>
13910
13911 * w32fns.c (w32_defined_color): Apply gamma correction before
13912 trying to map to the palette.
13913 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13914 to w32_clear_rect.
13915
13916 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13917 here. Callers changed to always pass real device context.
13918 (w32_draw_bitmap): Likewise.
13919 (w32_get_glyph_overhangs): Likewise.
52283633 13920 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13921 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13922 pfnSetScrollInfo and SetScrollRange.
13923 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13924 back into MULE characters after decoding them.
13925 (x_get_glyph_face_and_encoding): Likewise.
13926 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13927 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13928 (x_produce_glyphs): Calculate per char metrics for a character
13929 that we know exists in default font when font_not_found_p is true.
13930
63bd786b
JR
139312000-01-22 Jason Rumney <jasonr@gnu.org>
13932
13933 * makefile.nt (intervals.obj, composite.obj): New modules.
13934 (composite.h): Added as dependency where appropriate.
13935
13936 * w32gui.h (XGCValue): New struct for emulating X GCs.
13937
13938 * w32term.h (XCharStruct): New struct for emulating X.
13939
13940 * w32console.c (turn_on_face, turn_off_face): New functions.
13941 (change_line_highlight): New prototype for new redisplay.
13942 (write_glyphs): Support multibyte text. Support faces.
13943
52283633 13944 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13945
13946 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13947 throughout. struct frame * in place of FRAME_PTR.
13948 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13949 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13950 (w32_get_arg): Renamed from x_get_arg.
13951 (Fx_file_dialog): New function.
13952 (w32_list_fonts): Check cache before asking system.
13953 (Vw32_enable_synthesized_fonts): New variable.
13954 (Vw32_enable_italics): Obsolete, removed.
13955
13956 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13957 Use SELECTED_FRAME macro.
13958
13959 * w32menu.c: Add skeleton support for help strings on menus.
13960 (add_menu_item): Native checkbox and radio support added, but not
13961 yet enabled due to bugs.
13962 (push_menu_item): Add parameters type, selection and help.
13963 Callers updated.
13964 Formatting changes to reduce unnecessary diffs with xmenu.c.
13965
13966 * w32select.c (Fw32_set_clipboard_data): Update call to
13967 find_charset_in_str.
13968
13969 * w32term.c: Complete rewrite for new redisplay based on new
13970 xterm.c with necessary sections merged back in from old w32term.c.
13971
6ffd3cf7 139722000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
13973
13974 * data.c (set_internal): Further fix in same criterion.
13975
6ffd3cf7 139762000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
13977
13978 * data.c (set_internal): Fix the criteria for whether
13979 to swap out the old cached binding.
13980
60af03f1
DL
139812000-01-19 Dave Love <fx@gnu.org>
13982
13983 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
13984
f9be074f
KH
139852000-01-18 Kenichi Handa <handa@etl.go.jp>
13986
13987 * regex.c (re_compile_fastmap): While checking a range table for
13988 `charset', skip flag bits for a character class correctly.
13989
52b8dbf9
GM
139902000-01-17 Gerd Moellmann <gerd@gnu.org>
13991
d36100c9
GM
13992 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
13993
52283633 13994 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
13995
13996 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 13997 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
13998
13999 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14000 MENU_ITEMS_ITEM_.*.
14001 (MENU_ITEMS_ITEM_HELP): New enumerator.
14002 (push_menu_item): Add parameter HELP. Record help in menu_items.
14003 (single_menu_item, single_submenu, list_of_items): Call
14004 push_menu_item with new parameter.
14005 (single_submenu): Set help string in widget value.
14006 (menu_highlight_callback): New function.
14007 (set_frame_menubar): Call lw_create_widget with new
14008 parameter list.
14009 (xmenu_show, xdialog_show): Ditto.
14010
3139018f
GM
140112000-01-13 Gerd Moellmann <gerd@gnu.org>
14012
14013 * sound.c (Fplay_sound): Improve doc string.
14014
83c8f461
RS
140152000-01-11 Richard M. Stallman <rms@gnu.org>
14016
14017 * lisp.h (set_internal): Enter the new arg.
14018
14019 * eval.c (specbind): Record buffer-local variables specially,
14020 indicating which buffer's binding was saved.
14021 (unbind_to): Restore buffer-local variables specially
14022 in the proper buffer.
14023
14024 * data.c (set_internal): New arg BUF.
427ec082 14025
83c8f461
RS
14026 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14027 * data.c (Fset): Pass new arg to set_internal.
14028 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14029
1fab1775
GM
140302000-01-11 Gerd Moellmann <gerd@gnu.org>
14031
52283633 14032 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14033
83c8f461 140342000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14035
14036 * minibuf.c (Ftry_completion): Doc fix.
14037
7a85e4df
GM
140382000-01-11 Gerd Moellmann <gerd@gnu.org>
14039
14040 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14041 vector, too.
14042
a970dae4
AS
140432000-01-11 Andreas Schwab <schwab@suse.de>
14044
14045 * coding.c (code_convert_region): Initialize total_skip.
14046
c65d14ee
DL
140472000-01-08 Dave Love <fx@gnu.org>
14048
14049 * eval.c (Fuser_variable_p): Check customizability too.
14050
834938d2
GM
140512000-01-07 Gerd Moellmann <gerd@gnu.org>
14052
14053 * minibuf.c (Fcompleting_read): Doc fix.
14054
e0303cd6
GM
140552000-01-05 Gerd Moellmann <gerd@gnu.org>
14056
8a26744b
GM
14057 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14058 -L /usr/local/lib.
14059
e0303cd6
GM
14060 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14061 Check that input style is supported before trying to create an
14062 IC for it.
14063 (x_window): Call x_create_im.
427ec082 14064
2e471eb5
GM
140652000-01-04 Gerd Moellmann <gerd@gnu.org>
14066
560a7bd2
GM
14067 * xfns.c (current_gif_memory_src): New variable.
14068 (gif_load): Record the address of the current memory source
14069 in current_gif_memory_src.
14070 (gif_read_from_memory): Use current_gif_memory_src.
14071
f9ee84a3
GM
14072 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14073 macros statement form.
14074
d1299cde
GM
14075 * sound.c (struct sound): Renamed from struct sound_file.
14076 (struct sound): Add members `data' and `header_size'.
14077 (enum sound_attr): Add SOUND_DATA.
14078 (current_sound, current_sound_device): Variables renamed from
14079 sound_file and sound_device.
14080 (parse_sound): Parse :data.
14081 (parse_sound): Handle sound data in strings.
14082 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14083 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14084 needed header size.
14085 (wav_play, au_play): Play sounds from string data.
14086
2e471eb5
GM
14087 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14088
14089 * lisp.h: Add prototype for allocate_string_data.
14090
52283633 14091 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14092
14093 * alloc.c (mark_buffer): Remove code in #if 0.
14094 (gc_sweep): Ditto.
14095 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14096 (strings_consed): New variable.
14097 (allocate_string): Set it.
14098 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14099 (Fmemory_use_counts): Return strings_consed. Use Flist.
14100
14101 * alloc.c: General cleanup in comments etc. Remove conditional
14102 compilation for `standalone'.
14103
14104 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14105
14106 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14107 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14108 (DONT_COPY_FLAG): Removed.
14109 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14110 (struct sdata, struct sblock): New
14111 (struct string_block): Rewritten.
14112 (STRINGS_IN_STRING_BLOCK): New macro.
14113 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14114 (large_sblocks, string_blocks, string_free_list): New variables.
14115 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14116 (init_strings): Rewritten.
14117 (allocate_string, allocate_string_data, compact_small_strings)
14118 (free_large_strings, sweep_strings): New functions.
14119 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14120 (struct string_block_head, current_string_block)
14121 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14122 (STRING_PAD): Removed.
14123 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14124 (Fgarbage_collect): Don't set mark bit in large strings.
14125 (mark_object): Mark strings differently. Mark symbol names
14126 differently.
14127 (survives_gc_p): Test marked strings differently.
427ec082 14128 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14129 symbol names.
14130 (compact_strings): Removed.
14131
42608ba8
EZ
141322000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14133
14134 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14135 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14136
e0a09e1a
KH
141372000-01-04 Kenichi Handa <handa@etl.go.jp>
14138
dd9f0750 14139 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14140 in a non-empty buffer.
dd9f0750 14141
3c0f3b15 14142 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14143
44cd3ae5
GM
141442000-01-03 Gerd Moellmann <gerd@gnu.org>
14145
14146 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14147 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14148
14149 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14150
c182a70f
EZ
141512000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14152
14153 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14154 need to test for MSDOS frames.
14155
24480d5b
EZ
141562000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14157
14158 * dosfns.c (unspecified_colors): Remove.
14159 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14160 unspecified_bg.
14161 (msdos_stdcolor_name): Return strings for unspecified fore- and
14162 back-ground colors.
14163
14164 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14165 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14166 (tty_color_name): Return Lisp strings for unspecified fore- and
14167 back-ground colors.
14168 (Finternal_set_lisp_face_attribute): Remove the special treatment
14169 for Qunspecified_{f,b}g.
52283633 14170 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14171
047f434a
GM
141722000-01-03 Gerd Moellmann <gerd@gnu.org>
14173
14174 * xdisp.c (reseat_at_next_visible_line_start): Position before
14175 newline only if ending up on a newline.
14176 (next_element_from_ellipsis): Return success. Handle case of
52283633 14177 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14178 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14179 returns 0.
14180
d684c676
EZ
141812000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14182
14183 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14184 (Fcolor_supported_p): Renamed from face-color-supported-p.
14185
5fe1d139
EZ
141862000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14187
14188 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14189 list of colors renamed to tty-defined-color-alist.
14190 (tty_color_name): Pass the frame to tty-color-by-index.
14191 (realize_tty_face): tty-color-alist is now a function which
14192 accepts the frame as argument.
14193
52283633 14194 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14195
816be8b8
EZ
141962000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14197
14198 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14199 encode_terminal_code.
14200
b635321e
EZ
142012000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14202
14203 * dispnew.c (mode_line_string): Support termcap frames as well.
14204
9b784e96
GM
142052000-01-01 Gerd Moellmann <gerd@gnu.org>
14206
27189709
GM
14207 * syntax.c (Fforward_word): Undo previous change.
14208
14209 * editfns.c (Fconstrain_to_field): Don't constrain if
14210 inhibit-field-text-motion is non-nil.
14211 (Fline_beginning_position): Undo previous change.
14212 (Fline_end_position): Ditto.
14213
14214 * syntax.c (Fforward_word): Notice field boundaries only if
14215 inhibit-field-text-motion is nil.
14216
14217 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14218
14219 * editfns.c (Vinhibit_field_text_motion): New variable.
14220 (inhibit-field-text-motion): New DEFVAR_LISP.
14221 (Fline_beginning_position, Fline_end_position): Notice field
14222 boundaries only if inhibit-field-text-motion is nil.
14223
45158a91
GM
14224 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14225 All calls adjusted.
14226 (x_build_heuristic_mask): Likewise.
14227 (xbm_load_image_from_file): Change error output.
14228 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14229 (gif_load, gs_load, x_kill_gs_process): Ditto.
14230
9b784e96
GM
14231 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14232 color indices when accessing raster pixels.
63cec32f
GM
14233 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14234 one of :file or :data.
14235 (enum pbm_keyword_index): Add PBM_DATA.
14236 (pbm_format): Add :data.
14237 (pbm_image_p): Allow either :file or :data.
14238 (pbm_read_file): New function.
14239 (pbm_scan_number): Rewritten to read from string.
14240 (pbm_load): Support :data.
9b784e96 14241
2cb085db 14242See ChangeLog.8 for earlier changes.
6922b018
KH
14243
14244;; Local Variables:
49b3bd82 14245;; coding: iso-2022-7bit
6922b018 14246;; End:
2a34a036
GM
14247
14248 Copyright (C) 2001 Free Software Foundation, Inc.
14249 Copying and distribution of this file, with or without modification,
14250 are permitted provided the copyright notice and this notice are preserved.