*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
eae936e2
PJ
12001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3467c402
PJ
3 * emacs.c: Doc fix.
4
5 * coding.c: Doc fix.
6
6e1b91d7
PJ
7 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
8 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
9 `new style' [w/`doc:' keyword].
10
f6e34773
PJ
11 * xmenu.c (x-popup-menu): Reindent.
12 (x-popup-dialog): Likewise.
13
c71f3632
PJ
14 * xfaces.c (Finternal_set_alternative_font_family_alist):
15 Reindent.
16
c2552f79
PJ
17 * xdisp.c (Fdump_tool_bar_row): Reindent.
18
94c7167b
PJ
19 * minibuf.c (Fminibuffer_complete_word): Reindent.
20 (Fminibuffer_complete_and_exit): Likewise.
21 (Fminibuffer_completion_help): Likewise.
22 (Fminibuffer_message): Likewise.
23
462a5e3a
PJ
24 * fns.c (Freverse): Reindent.
25
b8de5714
PJ
26 * eval.c (Fif): Reindent.
27 (Fand): Likewise.
28
deb8e082
PJ
29 * editfns.c (Fuser_real_login_name): Reindent.
30 (Finsert_buffer_substring): Likewise.
31 (Fcompare_buffer_substrings): Likewise.
32 (Fsubst_char_in_region): Likewise.
33
bacf09b4
PJ
34 * dispnew.c (Fsit_for): Reindent.
35 (Fframe_or_buffer_changed_p): Likewise.
36 (Finternal_show_cursor_p): Likewise.
37 (syms_of_display): Likewise.
38
eae936e2
PJ
39 * alloc.c (Flist): Reindent.
40 (Fvector): Likewise.
41
1c1d3d69
RS
422001-11-12 Richard M. Stallman <rms@gnu.org>
43
44 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
45 LeaveNotify events. Only FocusIn and FocusOut do that now.
46 (x_display_and_set_cursor): Do display hollow cursors in active
47 minibuffer windows when they are not selected.
48
b6f4c7ba
JR
492001-11-12 Jason Rumney <jasonr@gnu.org>
50
51 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
52 * w32term.c: Change doc-string comments to `new style'.
53 [w/`doc:' keyword]. Doc fixes.
54
55 * w32fns.c: Don't define max.
56 (Fx_open_connection): Only execute once.
57
a89f435d
PJ
582001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
59
60 * ccl.c: Change macros to use do-while block instead of if-else.
61 Use braces to follow GNU Coding Standards.
62
a4cd0cd7
RS
632001-11-11 Richard M. Stallman <rms@gnu.org>
64
eafb659a
RS
65 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
66
67 * lread.c (read_escape): Use end_of_file_error for reporting eof.
68
a4cd0cd7
RS
69 * insdel.c (replace_range): Use adjust_markers_for_replace
70 instead of adjust_markers_for_delete and adjust_markers_for_insert.
71
72 * intervals.h: Declare set_text_properties and set_text_properties_1.
73
74 * textprop.c (set_text_properties_1): New subroutine
75 broken out of set_text_properties.
76 (set_text_properties): Use set_text_properties_1.
77
78 * intervals.c (graft_intervals_into_buffer):
79 Use set_text_properties_1 to clear out properties.
80
81 * search.c (Freplace_match): Use replace_range to insert
82 and delete. Don't request property inheritance from
83 surrounding text.
84
91823618
JR
852001-11-10 Jason Rumney <jasonr@gnu.org>
86
87 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
88 vertical fonts. Allow them if face name is explicitly specified.
89 Do not give up if we find a font that cannot be converted to an
90 xlfd.
91
86928dfb
GM
922001-11-10 Gerd Moellmann <gerd@gnu.org>
93
94 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
95 instead of malloc/free.
96
40ef1eda
PJ
972001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
98
ab8469eb
PJ
99 * xfaces.c (merge_face_vectors): Use braces to follow GNU
100 Coding Standards.
101 (Finternal_set_lisp_face_attribute): Likewise.
102
a78e0303
PJ
103 * buffer.c (Fbury_buffer): Likewise.
104
40ef1eda
PJ
105 * indent.c (current_column_1): Remove unused variable `prev_col'.
106
fabf4a91
PJ
107 * coding.c (encode_coding): Use precomputed value of `src'.
108 (encode_coding): Remove unused variable `src_end'.
109 (code_convert_region): Remove unused variables `count'.
110
0c99b139
JR
1112001-11-07 Jason Rumney <jasonr@gnu.org>
112
113 * w32term.c (x_display_and_set_cursor): Do not move system caret
114 if cursor_glyph is NULL.
115
830ddd77
PJ
1162001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
117
118 * keymap.c (access_keymap): Fix compilation error.
119
55c6d645
MB
1202001-11-07 Miles Bader <miles@gnu.org>
121
122 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
123
5de38842
PJ
1242001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
125
7a4564a4
PJ
126 * intervals.c (graft_intervals_into_buffer):
127 Remove #ifdef'd-out code.
128 (graft_intervals_into_buffer): Remove unused variable `middle'.
129
5de38842
PJ
130 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
131 code (eval-current-buffer).
132 Change doc-string comments to `new style' [w/`doc:' keyword].
133
4fa23df5
RS
1342001-11-06 Richard M. Stallman <rms@gnu.org>
135
136 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
137
7a6a97d7
SM
1382001-11-06 Stefan Monnier <monnier@cs.yale.edu>
139
c191d13c
SM
140 * lread.c (read1): Fix behavior with nested backquoting.
141
7a6a97d7
SM
142 * keyboard.c (make_lispy_event): Check integerness and fix
143 Lisp_Object/int mixup.
144
44dc78e0
PJ
1452001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
146
147 * fns.c (copy_hash_table): Remove unused variable `v'.
148
17893c65
PJ
149 * fontset.c (fontset_font_pattern): Remove unused variable
150 `family_registry'.
151
4d994a79
PJ
152 * indent.c (current_column_1): Remove unused variable `prev_col'.
153
d5360cc7
RS
1542001-11-05 Richard M. Stallman <rms@gnu.org>
155
156 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
157
158 * buffer.c (Fkill_buffer): Don't delete auto save file
159 if buffer is modified.
160
96238a5a
AI
1612001-11-05 Andrew Innes <andrewi@gnu.org>
162
163 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
164 CHECK_NUMBER_CDR.
165
d9d54213
RS
1662001-11-05 Richard M. Stallman <rms@gnu.org>
167
168 * unexelf.c (unexec): Minor changes; clean up comments.
169
b116830b
SS
1702001-11-05 Sam Steingold <sds@gnu.org>
171
172 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
173
3297e2a1
AS
1742001-11-05 Andreas Schwab <schwab@suse.de>
175
176 * sound.c (sound_perror): Save errno from being clobbered.
177
9212319f 1782001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
179
180 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
181 the program image directly.
182
7dd73b78
PJ
1832001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
184
185 * buffer.h (Fbuffer_local_value): Add prototype.
186
982f6c7e
RS
1872001-11-04 Richard M. Stallman <rms@gnu.org>
188
d31053f9
RS
189 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
190 and CHECK_BUFFER.
191
192 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
193 (record_char): Likewise.
194
195 * keyboard.c (make_lispy_event): Don't insist a drag event must
196 move to a different buffer position. Instead, check for moving at
197 least double_click_fuzz.
198
199 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
200
201 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
202
982f6c7e
RS
203 * indent.c (current_column_1, Fmove_to_column): Separate the code
204 for display-table glyphs from the code buffer text, to fix
205 bugs in the former.
206
830047fd
RS
2072001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
208
209 * buffer.c (Fbuffer_local_value): New function.
c191d13c 210 (syms_of_buffer): Defsubr it.
b116830b 211
830047fd
RS
212 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
213 value of `cursor-in-non-selected-windows'.
214
215 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
216 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
217 (syms_of_xdisp): Initialize it.
b116830b 218
2df5238c
PJ
2192001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
220
4e397688
PJ
221 * xfns.c (Fx_create_frame): Doc fix.
222
48b0f3ae
PJ
223 * coding.c: Change doc-string comments to `new style' [w/`doc:'
224 keyword].
225
2df5238c
PJ
226 * eval.c (top_level_value, top_level_set): Remove commented and
227 #ifdef'd-out code.
228 (Fdefvar): Fix usage in doc-string.
229
3ecaf7e5
RS
2302001-11-03 Richard M. Stallman <rms@gnu.org>
231
232 * xfns.c: Include unistd.h, if it exists.
233
234 * editfns.c: Move the include of ctype.h after unistd.h.
235
236 * gmalloc.c: Test BROKEN_PROTOTYPES.
237
8db2e33b
KR
2382001-11-03 Ken Raeburn <raeburn@gnu.org>
239
240 * lisp.h (CHECK_STRING_CAR): New macro.
241 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
242 treating XCAR and XCDR as lvalues.
243 (openp): Use CHECK_STRING_CAR.
244 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
245
aed29b97
EZ
2462001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
247
248 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 249 (SIGMASKTYPE): Define.
aed29b97
EZ
250
251 * syssignal.h (sigunblock): Don't define if already defined.
252
6cb16f95
PJ
2532001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
254
16b45be4
EZ
255 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
256 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
257 Fix typos in comments.
258
020f9b38
PJ
259 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
260 and #ifdef'd-out code.
261 Fix and reindent comments.
262
c191d13c 263 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 264
6cb16f95
PJ
265 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
266 argument `i' in macros.
267
268 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
269 `i' in macros.
270
16b45be4
EZ
271 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
272 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
273 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
274 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
275 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
276 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
277 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
278 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
279 in macros.
280
281 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
282 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
283 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
284 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
285 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
286 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
287 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
288 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
289 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
290 (remove unused second argument).
291
7e9d3c2f
SM
2922001-11-02 Stefan Monnier <monnier@cs.yale.edu>
293
294 * syntax.c (describe_syntax): New wrapper.
295 (Finternal_describe_syntax_value): Rename from describe_syntax.
296 Don't insert space at front and \n at the end.
297 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
298
299 * regex.c (re_wctype): Try to fix some warnings.
300 (regcomp, regexec): Don't forget the __restrict.
301
e6bff182
RS
3022001-11-02 Richard M. Stallman <rms@gnu.org>
303
304 * textprop.c (Fget_char_property): Doc fix.
305
9ba48103
PJ
3062001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
307
308 * process.c (Fstart_process): Add usage to doc-string.
309
310 * data.c (Fsetq_default): Ditto.
311
312 * callint.c (Finteractive): Ditto.
313
c22e59e1
SM
3142001-11-01 Stefan Monnier <monnier@cs.yale.edu>
315
316 * macros.c: Don't include keymap.h any more.
317
9271ed2c
RS
3182001-11-01 Richard M. Stallman <rms@gnu.org>
319
e6bff182
RS
320 * data.c (Fmake_local_variable): Doc fix.
321
322 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
323 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
324
9271ed2c
RS
325 * keymap.c (Fdescribe_buffer_bindings): Print character property
326 bindings along with or instead of the buffer local map.
327 Make the overriding maps override what they should.
328
8b8bd9c6
PJ
3292001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
330
331 * window.c (grow_mini_window): Fix typo in comment.
332
27188d11
GM
3332001-11-01 Gerd Moellmann <gerd@gnu.org>
334
7b49b9d2
GM
335 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
336 (XTset_vertical_scroll_bar): Likewise.
337
43f7c3ea
GM
338 * xfns.c (x_build_heuristic_mask): Use four_corners_best
339 instead of IMAGE_BACKGROUND.
c22e59e1 340
b350c2e5
GM
341 * xfns.c (four_corners_best): Reindent.
342
c22e59e1 343 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
344 Handle :box so that it is possible to specify sexprs.
345
d576358b
PJ
3462001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
347
348 * xfaces.c (Finternal_merge_in_global_face): Reindent.
349 (Fface_font): Ditto.
350 (Finternal_set_alternative_font_registry_alist): Ditto.
351 (Ftty_suppress_bold_inverse_default_colors): Ditto.
352
353 * xfns.c (x-get-resource): Reindent.
354
bf00d461
EZ
3552001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
356
357 * s/hpux11.h: New file.
358
4e10df59
PJ
3592001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
360
2b209b97
PJ
361 * emacs.c (USAGE1): Show command line option --no-window-system
362 instead of --no-windows in usage.
363 (standard_args): Rename --no-windows to --no-window-system.
364 (bug_reporting_address): Follow Emacs coding conventions.
365
9dbc9081
PJ
366 * eval.c (Fcommandp): Doc fix.
367 Change doc-string comments to `new style' [w/`doc:' keyword].
368
4e10df59
PJ
369 * frame.c (Fframe_live_p): Doc fix.
370
371 * buffer.c (selective-display-ellipses): Doc fix.
372
dd387b25
GM
3732001-10-31 Gerd Moellmann <gerd@gnu.org>
374
fe957e65
GM
375 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
376
dd387b25
GM
377 * xfaces.c (realize_x_face): If C is not a single-byte character,
378 set the face's colors_copied_bitwise_p instead of the defaulted_p
379 members which have a different meaning.
380 (free_face_colors): Do nothing for a face whose colors have been
381 copied bitwise.
382
c22e59e1 383 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 384
2e1280f8
PJ
3852001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
386
687784e8
PJ
387 * marker.c, mocklisp.c: Change doc-string comments to `new style'
388 [w/`doc:' keyword].
2e1280f8 389
b9d9a9b9
GM
3902001-10-31 Gerd Moellmann <gerd@gnu.org>
391
392 * fns.c (require_unwind): Return Lisp_Object.
393
48400103
PJ
3942001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
395
fa1361cb
PJ
396 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
397 (last-input-char): Revert doc-string to be the same as the
398 doc-string of `last-input-event'.
399
48400103
PJ
400 * xdisp.c: Fix typos in comments.
401
eafa3196
GM
4022001-10-31 Gerd Moellmann <gerd@gnu.org>
403
404 * window.c (grow_mini_window): Handle case that the root
405 window is already smaller than the nominal mininum height.
406
747d3f2a
SM
4072001-10-30 Stefan Monnier <monnier@cs.yale.edu>
408
bf9bb76f
SM
409 * emacs.c (main): Don't call keys_of_macros any more.
410
411 * lisp.h (keys_of_macros): Remove.
412
413 * macros.c (keys_of_macros): Remove.
414
747d3f2a
SM
415 * xfaces.c (Fface_attribute_relative_p): Declare args.
416
5e905a57
JR
4172001-10-30 Jason Rumney <jasonr@gnu.org>
418
419 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
420 (enum_font_cb2): Ignore fonts with vertical orientation.
421
3a426197
RS
4222001-10-30 Richard M. Stallman <rms@gnu.org>
423
424 * keyboard.c (Finput_pending_p): Doc fix.
425
a742d646
GM
4262001-10-30 Gerd Moellmann <gerd@gnu.org>
427
259cf6bc
GM
428 * xterm.c (x_after_update_window_line): Don't run the code
429 clearing in borders for rows whose visible height is 0.
430
3f99f948
GM
431 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
432 resized_p flag is set. If not set, use the much less flickering
433 method previously used.
434
435 * dispnew.c (change_frame_size_1): Set frame's resized_p.
436
437 * frame.h (struct frame) <resized_p>: New member.
438
b4a3be43
GM
439 * lread.c (to_multibyte): Ensure read_buffer is at least twice
440 as large as the number of bytes to convert.
747d3f2a 441
a742d646
GM
442 * lread.c (to_multibyte): New function.
443 (read1): Use it.
444
cacbb9e9
EZ
4452001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
446
447 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
448
99cb6b2f
GM
4492001-10-30 Gerd Moellmann <gerd@gnu.org>
450
327f42ee 451 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
452 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
453 if the row's fill_line_p is set and drawing the last glyph with
454 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 455
99cb6b2f
GM
456 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
457
8e8223e2
SM
4582001-10-29 Stefan Monnier <monnier@cs.yale.edu>
459
460 * xmenu.c: Include coding.h and charset.h.
461 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
462 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
463 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
464 Explicitly set wv->help. Use `TRUE' rather than `True'.
465 (menu_help_callback): Use empty_string.
466
467 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
468 (Fx_popup_dialog): Explicitly init f.
469 (w32_menu_display_help): Use empty_string.
470
4d083a8f
RS
4712001-10-29 Richard M. Stallman <rms@gnu.org>
472
b2304472
RS
473 * fns.c (Frequire): Detect recursive try to require the same
474 feature 3 or more levels deep, and get error.
475 (require_unwind): New subroutine.
476 (require_nesting_list): New variable.
477 (syms_of_fns): Init and staticpro it.
478
4d083a8f
RS
479 * print.c (print_object): Clarify indication of insertion type.
480
2fe41216
EZ
4812001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
482
90480000
EZ
483 * coding.c (syms_of_coding): Document that locale-coding-system is
484 used for decoding input on X.
485
2fe41216
EZ
486 * window.c (Fscroll_left, Fscroll_right): Doc fix.
487
74e79967
PJ
4882001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
489
490 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
491 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
492
60ebcfe8
GM
4932001-10-29 Gerd Moellmann <gerd@gnu.org>
494
9a7bdceb
GM
495 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
496 use NO_CURSOR if cursor_in_non_selected_windows is false.
497
3f08fcd2
GM
498 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
499 the slant attribute if FRAME is t.
500
0ccfdad2
GM
501 * xfns.c (x_set_internal_border_width): Set frame garbaged
502 when X window doesn't exist yet.
503
ef253080
GM
504 * xterm.c (x_after_update_window_line): Clear internal border
505 in different circumstances.
b116830b 506
60ebcfe8
GM
507 * xterm.c (XTread_socket) <KeyPress>: Don't use
508 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
509 <handa@etl.go.jp>.
510
73d25f9c
EZ
5112001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
512
513 * m/ibms390.h: New file. From Adam Thornton
514 <athornton@sinenomine.net>.
515
cac1daf0
GM
5162001-10-28 Gerd Moellmann <gerd@gnu.org>
517
053b3256 518 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 519
cac1daf0
GM
520 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
521 a loop counter.
522
13b1a09c
PJ
5232001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
524
186486eb
PJ
525 * emacs.c: Use argv[0] instead of emacs when -t was specified.
526
4707d2d0
PJ
527 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
528 keyword].
529 Fix typos in comments.
b116830b 530
d883731c
PJ
531 * emacs.c (bug_reporting_address): New function.
532 Use it when displaying usage message.
533
04012254
PJ
534 * minibuf.c (read_minibuf): Remove unused external declaration of
535 variable `Qread_only'.
536
13b1a09c
PJ
537 * keymap.c (access_keymap): Remove unused variable `charset'.
538
5bbf4378
MB
5392001-10-28 Miles Bader <miles@gnu.org>
540
541 * xfaces.c (merge_face_heights): Handle TO being relative as well.
542 Remove #ifdef'd-out code.
543 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
544 (syms_of_xfaces): Initialize them.
545
1ce1e4ee
JR
5462001-10-27 Jason Rumney <jasonr@gnu.org>
547
548 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
549 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
550 position using the system caret.
551
552 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
553 (w32_system_caret_height, w32_system_caret_x)
554 (w32_system_caret_y): New variables for tracking system caret.
555 (w32_initialize): Initialize them.
c2d53558 556 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 557
c2d53558
SM
558 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
559 New messages types.
1ce1e4ee
JR
560
561 * w32term.c (note_mouse_highlight): Clear old help_echo.
562
4e30ce42
PJ
5632001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
564
bb4600a4
PJ
565 * xterm.c: Fix typo in a comment.
566
7db35a48
PJ
567 * emacs.c: Fix typos in comments.
568 Remove unnecessary spaces.
569 Change doc-string comments to `new style' [w/`doc:' keyword].
570 (USAGE2): Fix typos in usage string.
571
a7248e4f
PJ
572 * xterm.c: Fix typo in a comment.
573
4e30ce42
PJ
574 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
575 emacs.c.
576
62725a92
GM
5772001-10-27 Gerd Moellmann <gerd@gnu.org>
578
798dbe1f 579 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 580 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
581 farther backward when target_y was not reached.
582
62725a92
GM
583 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
584 Display errno only if non-zero.
585 (sound_warning): New function.
586 (vox_configure): Don't treat failing to set sample rate as error.
587 (various places): Improve error messages.
588
d4e34d24
EZ
5892001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
590
944e6f60
EZ
591 * fileio.c (Faccess_file): Run the argument filename through
592 Fexpand_file_name, before using it.
593
d4e34d24
EZ
594 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
595 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
596
38d2af0c
GM
5972001-10-26 Gerd Moellmann <gerd@gnu.org>
598
da80a8d5
GM
599 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
600
38d2af0c
GM
601 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
602 Fix clearing in the case of scroll bars on the right.
c2d53558 603
56f508dd
EZ
6042001-10-26 Juanma Barranquero <lektu@terra.es>
605
606 * w32gui.h (XImage): Add a dummy typedef.
607
fbd5ceb2
GM
6082001-10-26 Gerd Moellmann <gerd@gnu.org>
609
c2d53558 610 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 611
b23236fb
EZ
6122001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
613
614 * frame.c (Fframe_parameter): Fix last change.
615
5d991fc4
EZ
616 * fileio.c: Revert last change (which removed old commented-out
617 version of expand-file-name). Add a comment that explains why
618 this old version should not be removed.
619
879eadc3
GM
6202001-10-25 Gerd Moellmann <gerd@gnu.org>
621
75700ff2
GM
622 * frame.c (Fframe_parameter): Fix a bug whereby some
623 ``artificial'' frame parameters, like `minibuffer' were not
624 obtained by calling Fframe_parameters.
625
dfe92a6a
GM
626 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
627 cursor differently.
628
879eadc3
GM
629 * xdisp.c (move_it_vertically_backward): Compute line height
630 differently. Add heuristic to try to be more compatible to 20.x.
631
e1010ebe
SM
6322001-10-25 Stefan Monnier <monnier@cs.yale.edu>
633
d73a471b
SM
634 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
635
d6da5a06
GM
636 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
637 boolean.
e1010ebe 638
f66bd220
MB
6392001-10-25 Miles Bader <miles@gnu.org>
640
641 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
642 BG is a pointer to a structure, not a structure.
643 (gif_format, png_format): Add missing commas.
644
d436d538
RS
6452001-10-24 Richard M. Stallman <rms@gnu.org>
646
647 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 648 (syms_of_xfaces): Defsubr it.
d436d538 649
075c507b
PJ
6502001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
651
652 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
653 variable `area'.
654
d492b584
PJ
6552001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
656
c2d53558 657 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 658
e2a57b34
MB
6592001-10-25 Miles Bader <miles@gnu.org>
660
661 * dispextern.h (struct image): Add `background',
662 `background_valid', and `background_transparent' fields.
663 (image_background, image_background_transparent): New declarations.
664 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
665 * xfns.c (image_background, image_background_transparent)
666 (four_corners_best): New functions.
c2d53558 667 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
668 (gs_format): Add `:background' entry.
669 (lookup_image): Set IMG's background color if specified.
670 (pbm_load, xbm_load_image, png_load): Set IMG's background field
671 when appropriate.
672 (x_clear_image_1): Reset `background_valid' and
673 `background_transparent_valid' fields.
674 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
675 calculating it here. Set IMG's background_transparent field.
676 (enum xpm_keyword_index): Add XPM_BACKGROUND.
677 (enum png_keyword_index): Add PNG_BACKGROUND.
678 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
679 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
680 (enum gif_keyword_index): Add GIF_BACKGROUND.
681 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 682 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
683 Pre-calculate image background color where necessary.
684 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
685 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
686 color to use for image glyph reliefs.
687
b547b6e8
GM
6882001-10-24 Gerd Moellmann <gerd@gnu.org>
689
d9e3b8c6
GM
690 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
691 in full-width rows.
c2d53558 692
b547b6e8
GM
693 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
694 Fix clearing of area not covered by scroll bar.
695
2beb36f9
PJ
6962001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
697
698 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
699 and `real_start'.
c2d53558 700 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
701 (glyph_rect): Remove unused variable `area'.
702
76cb5e06
GM
7032001-10-24 Gerd Moellmann <gerd@gnu.org>
704
bdbdebff 705 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
706
707 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
708 (row_containing_pos): Take additional argument DY.
709 Treat rows ending in middle of char differently.
62e33982
GM
710 (display_line): Handle tabs on window systems differently.
711
712 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
713 with additional argument.
714
715 * dispextern.h (row_containing_pos): Adjust prototype.
716
76cb5e06
GM
717 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
718 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
719 (try_window_id, try_window_reusing_current_matrix)
720 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
721 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
722
996fee11
PJ
7232001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
724
c9e60620
PJ
725 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
726 gnuemacs).
727 (HAVE_BOXES): Fix typo in comment.
728 (push_menu_pane): Fix typo in comment.
729
3b552d56
PJ
730 * xdisp.c: (display_prop_string_p): Remove unused local declaration
731 of `Qwhen'.
732 (single_display_prop_string_p): Remove unused local declarations
733 of `Qwhen' and `Qmargin'.
734 (string_buffer_position): Remove unused variable `around'.
735 (store_frame_title): Remove unused variable `width'.
736
15c565ac
PJ
737 * window.c: Don't define max.
738 (coordinates_in_window): Remove unused variable `uy'.
739
a8818eb9
PJ
740 * widget.c: Don't define max.
741
996fee11
PJ
742 * process.c: Don't define max.
743 (create_process): Remove unused variable `buffer'.
744
496e1a5b
GM
7452001-10-23 Gerd Moellmann <gerd@gnu.org>
746
c2d53558 747 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 748
5905ae8b
EZ
7492001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
750
751 * xfaces.c (Finternal_set_lisp_face_attribute)
752 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
753 frame is on a windowed display.
754
24db49fb
GM
7552001-10-23 Gerd Moellmann <gerd@gnu.org>
756
c2d53558
SM
757 * dispnew.c (sync_window_with_frame_matrix_rows):
758 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
759 of marginal areas.
760
c2d53558 761 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 762
f0487f05
EZ
7632001-10-23 Andreas Schwab <schwab@suse.de>
764
765 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
766 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
767
f0a48a01
GM
7682001-10-23 Gerd Moellmann <gerd@gnu.org>
769
c2d53558 770 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
771 REAL_END. Notice if cursor gets overwritten.
772 (notice_overwritten_cursor): Take X positions as parameters.
773 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
774 around call to x_draw_glyphs.
775
a50a10a0
PJ
7762001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
777
fc11dff0
PJ
778 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
779 instead of C) and usage.
a50a10a0 780
fc11dff0
PJ
781 * editfns.c (char-to-string): Fix argument names (use CHAR instead
782 of C) and usage.
a50a10a0
PJ
783
784 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
785 `left', `max_width' and `max_height'.
786
8738febd
GM
7872001-10-23 Gerd Moellmann <gerd@gnu.org>
788
789 * xdisp.c (display_line): For a tab continued to the next line,
790 set row's ends_in_middle_of_char_p.
791
653c329b
GM
7922001-10-22 Gerd Moellmann <gerd@gnu.org>
793
794 * xdisp.c (display_line): Fix computation of continuation lines
795 width for TABs.
796
f958c5ac
PJ
7972001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
798
7ba51063
PJ
799 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
800 `Qlaplace'.
801
f958c5ac
PJ
802 * fileio.c: Remove unused code.
803
eb360291
MB
8042001-10-22 Miles Bader <miles@gnu.org>
805
806 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
807 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
808 Remove `DOC_STRINGS_IN_COMMENTS' cases.
809
98515cf0
JR
8102001-10-21 Jason Rumney <jasonr@gnu.org>
811
812 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
813
93026d88
EZ
8142001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
815
816 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
817 (Finsert_string): Avoid the multi-line string literals warning.
818
c9a95b79
MB
8192001-10-22 Miles Bader <miles@gnu.org>
820
821 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
822 (Fdocumentation): Don't use it.
823 (syms_of_doc): Don't initialize it.
824
825 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
826 * print.c (Fwith_output_to_temp_buffer): Likewise.
827 * window.c (Fsave_window_excursion): Likewise.
c2d53558 828 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 829 (Fsave_restriction): Likewise.
c2d53558
SM
830 * eval.c (Frun_hooks, Frun_hook_with_args)
831 (Frun_hook_with_args_until_failure)
832 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
833 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
834 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
835 (Funwind_protect, Fcondition_case): Likewise.
836 * coding.c (Ffind_operation_coding_system): Likewise.
837 * keyboard.c (Ftrack_mouse): Likewise.
838
a3b10252
MB
8392001-10-21 Miles Bader <miles@gnu.org>
840
c2d53558 841 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
842 (Fmake_hash_table): Add usage: string to doc string.
843 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 844 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
845 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
846 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
847 (Fml_prefix_argument_loop): Likewise.
848
c6f73eec
PJ
8492001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
850
c2d53558 851 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 852
c6f73eec
PJ
853 * sysdep.c (init_sys_modes): Change doc-string comments to `new
854 style' [w/`doc:' keyword].
855
856 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
857 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
858 comments to `new style' [w/`doc:' keyword].
859
3cf3436e
JR
8602001-10-21 Jason Rumney <jasonr@gnu.org>
861
862 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
863
c169b8f1
JR
864 * w32term.c (remember_mouse_glyph): New function.
865 (w32_mouse_position): Use it.
866 (note_mouse_movement): If the mouse moved off the glyph, remember
867 its new position.
c2d53558 868
4fdd691b
JR
869 * w32term.h (struct w32_output): Correct spelling of x_compatible.
870 (w32_display_info): Add mouse_face_overlay.
871
c169b8f1
JR
872 * w32term.c (notice_overwritten_cursor): Renamed from
873 note_overwritten_text_cursor. Rewritten to take glyph widths into
874 account.
875 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
876 (fast_find_string_pos): New function.
877 (fast_find_position): Return the correct vpos. Add parameter
878 STOP. In the final row, stop before glyphs having STOP as object.
879 Don't consider glyphs that are not from a buffer.
880 (fast_find_position) [0]: Add a presumably more correct version
881 for after 21.1.
882 (expose_window_tree, expose_frame): Don't compute intersections here.
883 (expose_window): Do it here instead.
884 (expose_window_tree, expose_window, expose_line): Return 1 when
885 overwriting mouse-face.
886 (expose_window): If W is the window currently being updated, mark
887 the frame garbaged.
888 (expose_frame): If mouse-face was overwritten, redo it.
889 (x_use_underline_position_properties): New variable.
890 (syms_of_xterm): DEFVAR_BOOL it.
891 (x_draw_glyph_string): Add comment to use it in future.
892 (x_draw_glyph_string): Restore clipping after drawing box.
893 Fix a computation of the underline position.
894 (w32_get_glyph_string_clip_rect): Minor cleanup.
895 (x_fill_stretch_glyph_string): Remove an assertion.
896 (x_produce_glyphs): Don't convert multibyte characters
897 to unibyte characters in unibyte buffers.
898 (cursor_in_mouse_face_p): New function.
899 (x_draw_stretch_glyph_string): Use it to choose a different GC
900 when drawing a cursor within highlighted text. Don't draw
901 background again if it has already been drawn.
902 (x_draw_glyph_string_box): Don't draw a full-width
903 box just because the glyph row's full_width_p flag is set.
904 (x_draw_glyphs): Fix computation of rightmost x for
905 full-width rows.
906 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
907 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
908 change bottom shadow accordingly. Some cleanup.
909 (x_update_window_end): Handle overwritten mouse face
910 also for tool bar windows.
911 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
912 DRAW is DRAW_IMAGE_RAISED.
913 (clear_mouse_face): Return 1 if text with mouse face was
914 actually redrawn. Make the function static. Reset
915 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
916 optimize away highlighting if we pass over that same overlay again.
917 (note_mouse_highlight): Call mouse_face_overlay_overlaps
918 to detect a case where we have to highlight a different region
919 despite not having left the currently highlighted region.
920 Set mouse_face_overlay in the x_display_info. Avoid changing the
921 mouse pointer shape when show_mouse_face has already done it, or
922 there is no need. Handle mouse-face and help-echo in strings.
923 (glyph_rect): New function.
924 (w32_mouse_position): Use it to raise the threshold for mouse
925 movement event generation.
926 (w32_initialize_display_info): Initialize the x_display_info's
927 mouse_face_overlay.
928 (w32_set_vertical_scroll_bar): Don't clear a zero height
929 or width area.
930 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
931 a widget to zero height.
932
3cf3436e 933 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 934 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
935 equivalents in menu_items.
936 (w32_menu_show): Don't overwrite an item's name with its key
937 description in case the description is a multibyte string.
938 (single_submenu): Some cleanup.
939
940 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
941 (postprocess_image): New function.
942 (lookup_image): Call it for all image types except PostScript.
943 (x_kill_gs_process): Call postprocess_image.
944 (tiff_error_handler, tiff_warning_handler): New functions.
945 (tiff_load): Install them as handlers.
946 (x_kill_gs_process): Recognize if someone has cleared the image
947 cache under us.
948 (valid_image_p): Protect better against invalid image
949 specifications. Previous code could signal an error.
950 (Fx_hide_tip, Fshow_tip): Doc fix.
951 (Fv_max_tooltip_size): New variable.
952 (syns_of_xfns): DEFVAR_LISP it.
953 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
954 window buffer to *tip* right after creating the frame. Set frame's
955 window_width. Use a maximum tooltip size specified by
956 Vx_max_tooltip_size, if that has valid contents.
957 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
958 Make sure the tooltip is completely visible.
959 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
960 (Fx_create_frame): Adjust the frame's height for presence
961 of the tool bar before calling x_figure_window_size.
962 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
963 when the window gets smaller.
964 (x_set_foreground_color): Set frame's cursor_pixel.
965 (x_set_foreground_color, x_set_background_color): Cleaned up.
966 (x_set_font): Handle case of x_new_fontset returning the same name
967 as before, although there was a change in fontsets.
968
386ca361
MB
9692001-10-21 Miles Bader <miles@gnu.org>
970
c2d53558 971 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
972 (Flogxor): Add usage: string to doc string.
973 * charset.c (Fstring): Likewise.
974 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
975 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
976
14ff1ee0
PJ
9772001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
978
03be2694
PJ
979 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
980
981 * alloc.c: Reindent DEFUNs with doc: keywords.
982
983 * abbrev.c (Finsert_abbrev_table_description): Reindent.
984
14ff1ee0
PJ
985 * frame.c: Change doc-string comments to `new style' [w/`doc:'
986 keyword].
987
71431a0e
GM
9882001-10-20 Gerd Moellmann <gerd@gnu.org>
989
6aa97356 990 * (Version 21.1 released.)
71431a0e 991
39f624fa
PJ
9922001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
993
c2d53558 994 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
995
996 * xdisp.c (invisible_text_between_p): Put prototype inside #if
997 0 because unused.
998
999 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1000 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1001 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1002
abcce93a
MB
10032001-10-20 Miles Bader <miles@gnu.org>
1004
1005 The following changes remove the glyph_row `inverse_p' field,
1006 which is never set anymore, due to other changes:
1007
1008 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1009 (reassert_line_highlight, change_line_highlight): Declarations removed.
1010 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1011 (line_hash_code, row_equal_p, fake_current_matrices)
1012 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1013 (update_frame_line, update_frame_line, update_frame_line):
1014 Don't use `inverse_p' field.
1015 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1016 change_line_highlight_hook.
1017 (XTreassert_line_highlight, x_change_line_highlight):
1018 Functions removed.
c2d53558 1019 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1020 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1021 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1022 `inverse_p' field.
c2d53558 1023 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1024 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1025 (w32_reassert_line_highlight, x_change_line_highlight):
1026 Functions removed.
1027 * w32console.c (reassert_line_highlight, change_line_highlight):
1028 Functions removed.
1029 (initialize_w32_display): Don't set reassert_line_highlight_hook
1030 or change_line_highlight_hook.
1031 (hl_mode): Function removed.
c2d53558
SM
1032 (reset_terminal_modes, set_terminal_modes, update_begin)
1033 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1034 (clear_frame, ins_del_lines): Don't call it.
1035 * termhooks.h (reassert_line_highlight_hook)
1036 (change_line_highlight_hook): Declarations removed.
1037 * term.c (reassert_line_highlight_hook)
1038 (change_line_highlight_hook): Variables removed.
1039 (reassert_line_highlight, change_line_highlight): Functions removed.
1040 * msdos.c (IT_reassert_line_highlight)
1041 (IT_change_line_highlight): Functions removed.
1042 (internal_terminal_init): Don't set reassert_line_highlight_hook
1043 or change_line_highlight_hook.
1044 (highlight): Variable removed.
c2d53558 1045 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1046 (IT_set_terminal_modes): Don't set or use it.
1047
1048 The following changes remove inverse-video support for terminals
1049 that use a `magic cookie' standout mode. Due to changes in the
1050 way mode-lines are displayed, such support no longer works
1051 anyway, and it's probable that almost no one uses such terminals
1052 anymore:
1053
1054 * term.c (standout_requested): Variable removed.
1055 (update_end, highlight_if_desired): Don't use it.
1056 (chars_wasted, copybuf): Variables removed.
1057 (write_standout_marker): Function removed.
c2d53558 1058 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1059 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1060 Don't use `chars_wasted' or `copybuf'.
1061 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1062 Set `costs_set' to true.
1063 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1064 `chars_wasted'.
1065 (clear_end_of_line): Function removed.
1066 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1067 (clear_to_end): Call `clear_end_of_line' instead of
1068 `clear_end_of_line_raw'.
54800acb
MB
1069 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1070 (term_init): Don't set them.
1071 Turn off any standout/underline modes that require magic cookies.
c2d53558 1072 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1073 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1074 Remove special processing for magic-cookie standout modes.
1075 (turn_off_face, turn_on_face): Remove special processing for
1076 underline magic-cookie glitch.
abcce93a 1077
0b5f679f
RS
10782001-10-19 Richard M. Stallman <rms@gnu.org>
1079
1080 * eval.c (syms_of_eval): Doc fixes.
1081
5a4a5bd4
GM
10822001-10-19 Gerd Moellmann <gerd@gnu.org>
1083
1084 * xdisp.c (redisplay_internal): Don't clear echo area if the
1085 mini-window is selected.
1086
79f1f96c
MB
10872001-10-19 Miles Bader <miles@gnu.org>
1088
b57c2708
MB
1089 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1090 doesn't take precedence if the affected property's value is nil.
1091
1092 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1093
79f1f96c
MB
1094 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1095 with fields and suggest using `forward-line' to avoid them.
1096 * editfns.c (Fline_beginning_position, Fline_end_position):
1097 Clarify documentation.
1098
ef879104
SM
10992001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1100
1101 * keymap.c (current_minor_maps): `override' only shadows its
1102 correspondent in minor-mode-map-alist, not the whole tail.
1103
97f4db8c
AI
11042001-10-18 Andrew Innes <andrewi@gnu.org>
1105
1106 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1107 optimization. The fontp->encoding array was not being initialized
1108 correctly when compiled with optimizations by MSVC.
1109
e6b70fd8
GM
11102001-10-18 Gerd Moellmann <gerd@gnu.org>
1111
30903479 1112 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1113
0e804d38
AI
11142001-10-17 Andrew Innes <andrewi@gnu.org>
1115
1116 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1117
1118 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1119 font_info.charset field.
1120
1121 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1122 rather than working it out by calling w32_codepage_for_font for
1123 every glyph.
1124
66e5868a
AI
11252001-10-17 Andrew Innes <andrewi@gnu.org>
1126
1127 * w32term.c (w32_read_socket): Determine clipping rectangle for
1128 the entire frame, including areas covered by scrollbars and the
1129 menubar. This avoids internal arguments about whether a frame is
1130 fully obscured or not.
1131
15b00083
GM
11322001-10-17 Gerd Moellmann <gerd@gnu.org>
1133
23e8bd86
GM
1134 * xdisp.c (try_window_id): Undo last change. Give up if
1135 window ends in strings.
30903479 1136
9c6ba6d1 1137 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1138 end if the rest of the window after the window end was already blank.
23e8bd86 1139
30903479 1140 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1141 for the release of 21.1.
1142
30903479 1143 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1144
945220bd
MB
11452001-10-17 Miles Bader <miles@gnu.org>
1146
1147 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1148 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1149 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1150 Change doc-string comments to `new style' [w/`doc:' keyword].
1151 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1152 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1153 out make-docfile.
1154
14242528
MB
11552001-10-16 Miles Bader <miles@gnu.org>
1156
1157 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1158
3ddf952f
GM
11592001-10-16 Gerd Moellmann <gerd@gnu.org>
1160
1161 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1162 *scratch*.
1163
f3fbd155
KR
11642001-10-16 Ken Raeburn <raeburn@gnu.org>
1165
1166 Avoid the assumption that car and cdr slots of cons cells are
1167 addressable lvalues; this allows for easier experimentation with
1168 other lisp implementations that may not permit such accesses for
1169 various reasons. Not quite complete -- buffer.c still needs some
1170 work, and w32/mac files need rechecking -- so compile-time
1171 enforcement is left disabled for now.
1172
1173 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1174 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1175 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1176 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1177 (XSETCAR, XSETCDR): New macros.
1178 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1179 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1180 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1181 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1182 XSETCDR.
1183 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1184 * buffer.c (record_buffer, Fbury_buffer)
1185 (swap_out_buffer_local_variables, recenter_overlay_lists)
1186 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1187 fields of a cons cell respectively.
1188 * callint.c (quotify_args, Fcall_interactively): Likewise.
1189 * ccl.c (Fregister_code_conversion_map): Likewise.
1190 * coding.c (detect_coding_system): Likewise.
1191 * composite.c (get_composition_id, make_composition_value_copy):
1192 Likewise.
30903479
SM
1193 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1194 (swap_in_symval_forwarding, set_internal, Fset_default)
1195 (Fmake_variable_buffer_local, Fmake_local_variable)
1196 (Fmake_variable_frame_local): Likewise.
f3fbd155 1197 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1198 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1199 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1200 * minibuf.c (get_minibuffer): Likewise.
1201 * search.c (Fmatch_data): Likewise.
1202 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1203 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1204 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1205 Likewise.
1206 * w32term.c (x_delete_display): Likewise.
1207 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1208 Likewise.
c2d53558 1209 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1210 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1211 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1212 (Fread_file_name): Use XSETCAR.
1213 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1214 CHECK_NUMBER_CDR.
1215 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1216 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1217 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1218 CHECK_NUMBER_CDR.
1219 * keyboard.c (read_char): Alter list traversal to avoid taking the
1220 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1221 (parse_menu_item): Use XSETCAR and XSETCDR.
1222 (reach_char_x_menu_prompt): Use XSETCAR.
1223 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1224 (Fcommand_execute): Use XSETCDR.
1225 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1226 (openp): Change list traversal to avoid using XCAR as lvalue.
1227 (read_list): Use XSETCDR.
1228 * process.c (wait_reading_process_input): Change wait_for_cell
1229 handling to avoid taking addresses of cons cell slots.
30903479
SM
1230 * xselect.c (x_own_selection, x_handle_selection_clear)
1231 (x_clear_frame_selections): Use XSETCDR.
1232 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1233 (x_handle_property_notify, x_get_foreign_selection)
1234 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1235
502150e5
PJ
12362001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1237
018ba359
PJ
1238 * buffer.c: Put doc strings in comments.
1239
30903479 1240 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1241
b56ba8de
SS
12422001-10-15 Sam Steingold <sds@gnu.org>
1243
1244 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1245
6a0b793a
PJ
12462001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1247
30903479
SM
1248 * process.c (process-inherit-coding-system-flag)
1249 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1250 in comment.
1251
a1f17501 1252 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1253 arguments. Put doc strings in comments.
a65da641
PJ
1254
1255 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1256
aa601ad0
GM
12572001-10-15 Gerd Moellmann <gerd@gnu.org>
1258
30903479 1259 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1260
aa601ad0
GM
1261 * window.c (select_window_1): Unfreeze window start. Remove a
1262 doubled test for WINDOW being live.
1263
288148a1
PJ
12642001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1265
dd8d1e71
PJ
1266 * fns.c (Fmapconcat): Fix typo in a doc string.
1267
288148a1
PJ
1268 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1269
9f5eb4a3
GM
12702001-10-15 Gerd Moellmann <gerd@gnu.org>
1271
1272 * xterm.c (x_draw_glyph_string): Restore clipping after
1273 drawing box.
1274
dbae44c8
PJ
12752001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1276
30903479 1277 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1278
0c88c937
SM
12792001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1280
56378db4
GM
1281 * indent.c (skip_invisible): Use new retval of
1282 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1283
845e4cf4
SM
1284 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1285 If a parent is reached and noinherit is set, exit immediately.
1286 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1287
0c88c937
SM
1288 * s/ms-w32.h (EXEC_SUFFIXES):
1289 * s/msdos.h (EXEC_SUFFIXES):
1290 * process.h (EXEC_SUFFIXES): Remove.
1291
1292 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1293 (decode_suffixes): Remove.
1294
1295 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1296 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1297 (invisible_ellipsis_p): Remove.
0c88c937
SM
1298
1299 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1300 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1301 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1302 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1303 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1304
d19be8a9
PJ
13052001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1306
04d7d066
PJ
1307 * lisp.h (Ftop_level): Add prototype.
1308
d624284c
PJ
1309 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1310 (XTread_socket): Improve style of comments to follow other
1311 comments.
1312
a87414f9
PJ
1313 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1314 is already prototyped in included lisp.h).
1315
d19be8a9
PJ
1316 * frame.c (Fset_mouse_position): Improve style of comment to
1317 follow other comments.
1318 (Fset_mouse_pixel_position): Improve style of comment to follow
1319 other comments.
1320 (Fmake_frame_visible): Doc fix and typo in comment.
1321 (Fmake_frame_invisible): Doc fix and typo in comment.
1322 (Ficonify_frame): Fix typo in comment.
1323
c061c855
GM
13242001-10-14 Gerd Moellmann <gerd@gnu.org>
1325
37f6b5b6 1326 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1327 * term.c, alloc.c: Put doc strings in comments.
c061c855 1328
e641b454
GM
13292001-10-13 Gerd Moellmann <gerd@gnu.org>
1330
1331 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1332 Provide definitions for doc strings in comments.
1333
1334 * fns.c: Put doc strings in comments.
1335
51724e26
EZ
13362001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1337
1338 * dired.c (file_name_completion): Ignore a candidate directory if
1339 it matches an element in completion-ignored-extensions that ends
1340 in a slash.
1341 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1342 feature in the doc string.
1343 (Ffile_name_completion): Ditto.
1344
be5fc59b
SM
13452001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1346
5a1373f3
SM
1347 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1348
1349 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1350
1351 * lisp.h (Fprovide): Update prototype.
1352 (Ffeaturep, invisible_p): Remove.
1353
bbc4a3d3 1354 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1355 (DOLIST, LOOP_PROPVAL): New macros.
1356 (invisible_p, invisible_ellipsis_p): Use them.
1357 (invisible_noellipsis_p): New function.
1358 (syms_of_xdisp): Use empty_string.
1359
1360 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1361
1362 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1363 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1364
1365 * print.c (Fwith_output_to_temp_buffer): Align with
1366 internal_with_output_to_temp_buffer.
1367 (print_preprocess): Use traverse_intervals_noorder.
1368 (print_object): Update call to traverse_intervals.
1369
1370 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1371 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1372
1373 * intervals.c (traverse_intervals_noorder): New function.
1374 (search_for_interval, count_intervals): Use it.
1375 (traverse_intervals): Use less stack space and drop `depth' arg.
1376
1377 * fns.c (Ffeaturep): Add new `subfeature' arg.
1378 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1379 (Qsubfeatures): New var.
1380 (syms_of_fns): Initialize it.
1381
026f408d
SM
1382 * keymap.c (Fkey_description): Use empty_string.
1383 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1384 (syms_of_keymap): Setup inheritance between maps.
1385 Don't export Sdescribe_bindings_internal any more.
1386
be5fc59b
SM
1387 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1388
3365175e
GM
13892001-10-12 Gerd Moellmann <gerd@gnu.org>
1390
1391 * xterm.c (notice_overwritten_cursor): Renamed from
1392 note_overwritten_text_cursor. Rewritten to take glyph widths into
1393 account.
1394
2ab7765c
EZ
13952001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1396
1397 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1398 multi-line strings without a trailing "\n\".
1399
311346bb
PJ
14002001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1401
1402 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1403 defined.
1404
2168e04d
SM
14052001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1406
026f408d
SM
1407 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1408
c0ec53ad
SM
1409 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1410 * w32proc.c (sys_spawnve):
1411 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1412 * w32.c (check_windows_init_file):
1413 * sound.c (Fplay_sound):
026f408d 1414 * emacs.c (init_cmdargs):
c0ec53ad
SM
1415 * process.c (Fstart_process): Update calls to openp.
1416
1417 * callproc.c (Vexec_suffixes): New var.
1418 (Fcall_process): Update call to openp.
1419 (decode_suffixes): New function.
1420 (syms_of_callproc): Init exec-suffixes.
1421
1422 * lread.c (Vload_suffixes, default_suffixes): New vars.
1423 (openp): Take a lisp list of suffixes.
1424 Check for file-name-handlers even if the file was absolute already.
1425 (syms_of_lread): Declare load-suffixes.
1426 (Fload): Fix up call to openp.
1427 Don't bother checking for file-name-handler at the very beginning.
1428
f6333468
SM
1429 * keymap.h (Fcopy_keymap): Don't export.
1430
1431 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1432 (Vload_suffixes, Vexec_suffixes): Declare.
1433 (openp): Update prototype.
f6333468
SM
1434
1435 * emacs.c (empty_string): New var.
1436 (syms_of_emacs): Initialize it.
1437
1438 * search.c (wordify): Use it.
1439
1440 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1441 selected window if it's not displayed there. Handle the case
1442 when the window is dedicated.
1443 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1444
1445 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1446
2168e04d
SM
1447 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1448 Remove left_ok and right_ok.
1449 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1450 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1451 new meaning of b_property.
1452
1453 * syntax.c (update_syntax_table): Simplify.
1454 (Fforward_comment): Don't skip quoted chars when going backward.
1455
13d95cc0
GM
14562001-10-11 Gerd Moellmann <gerd@gnu.org>
1457
beb0990f
GM
1458 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1459 in case I is of some unsigned type, in which case
1460 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1461 comparison becomes bogus.
1462
cb938d46
GM
1463 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1464 (Fuser_full_name): Fix bug treating a float as a fixnum.
1465
1466 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1467
1468 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1469
13d95cc0
GM
1470 * lisp.h (circular_list_error): Add prototype.
1471
1472 * data.c (Qcircular_list): New variable.
1473 (circular_list_error): New function.
1474 (syms_of_data): Initialize it Qcircular_list.
1475
e35f6ff7
SM
14762001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1477
1478 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1479 casefiddle.c, buffer.c: Include keymap.h.
1480
619632ac
GM
14812001-10-10 Gerd Moellmann <gerd@gnu.org>
1482
1483 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1484 options. From Dave Love <d.love@dl.ac.uk>.
1485
5e5388f6
GM
14862001-10-09 Gerd Moellmann <gerd@gnu.org>
1487
1488 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1489 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1490
14a3dff7
GM
1491 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1492 unsigned char.
1493 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1494
76ba8daf
AI
14952001-10-08 Andrew Innes <andrewi@gnu.org>
1496
1497 * lisp.h [max]: Undef min and max before redefining them.
1498
1499 * w32gui.h: Do not undef min and max.
1500
1501 * w32heap.h: Do not undef min and max.
1502
1503 * s/ms-w32.h: Do not undef min and max.
1504
166253cb
SM
15052001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1506
1507 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1508
0c4d9527
SS
15092001-10-08 Sam Steingold <sds@gnu.org>
1510
1511 * keymap.c (current-active-maps): Quote newlines (compilation error).
1512
14bfa771
EZ
15132001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1514
1515 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1516 bindings.elc, since otherwise doc strings in bindings.el get wrong
1517 offsets in etc/DOC.
1518
bdb7aa47
SM
15192001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1520
9985827f
SM
1521 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1522
1523 * keyboard.h (map_prompt): Remove.
1524
1525 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1526 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1527
bdb7aa47
SM
1528 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1529
1530 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1531
1532 * keyboard.c (map_prompt): Remove.
1533 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1534 Use Fkeymap_prompt.
1535
1536 * keymap.h: New file. Extracted from lisp.h.
1537
9985827f
SM
1538 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1539 (accessible_keymaps_1): New function.
1540 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1541 (Fwhere_is_internal): Use Fcurrent_active_maps.
1542 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1543 Insert in current buffer rather than standard-output.
1544 Don't call `help-mode'. Export to elisp.
1545 (describe_buffer_bindings): New wrapper.
1546 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1547 and Sdescribe_buffer_bindings.
1548
402c9a51
GM
15492001-10-08 Gerd Moellmann <gerd@gnu.org>
1550
9985827f 1551 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1552 Remove code setting signal handler.
1553
9985827f 1554 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1555 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1556
3fe81fdf
PJ
15572001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1558
1559 * keyboard.c: Don't define min/max.
1560
55fa7820
GM
15612001-10-08 Gerd Moellmann <gerd@gnu.org>
1562
9985827f 1563 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1564 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1565 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1566 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1567 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1568 Don't define min/max.
1569
1570 * lisp.h (min, max): New macros.
1571
55fa7820
GM
1572 * puresize.h (BASE_PURESIZE): Increase to 725000.
1573
1aad31e4
PJ
15742001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1575
9180dc8c
PJ
1576 * xfaces.c (free_frame_menubar): Add prototype.
1577
01f67d2c
PJ
1578 * lisp.h (init_window): Add prototype.
1579
1580 * editfns.c: Include ctype.h.
1581
1582 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1583 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1584 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1585 variable `sb'.
1586
5f351ff1
PJ
1587 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1588 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1589 `popup_activated_flag' and `title'.
1590
479dfe87
PJ
1591 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1592
dff49fc8
PJ
1593 * emacs.c (main): Remove extra `;'.
1594
248ac615
PJ
1595 * atimer.h (struct atimer): Fix typos in a comment.
1596
1597 * atimer.c: Fix typo.
1598
af232c7d
PJ
1599 * Makefile.in: Fix typo.
1600
1601 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1602
d876f455
MB
16032001-10-07 Miles Bader <miles@gnu.org>
1604
1605 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1606
0037e2f2
KR
16072001-10-07 Ken Raeburn <raeburn@gnu.org>
1608
b056f36d
KR
1609 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1610 Lisp_Object.
1611
0037e2f2
KR
1612 * lisp.h (Ffield_end): Declare.
1613
1a4372ef
GM
16142001-10-07 Gerd Moellmann <gerd@gnu.org>
1615
a4a74e8c
GM
1616 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1617
1618 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1619
1620 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1621
1622 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1623
1a4372ef
GM
1624 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1625 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1626
1627 * alloc.c (inhibit_garbage_collection): Simplify.
1628 (Fmemory_use_counts): Ditto.
1629
9985827f 1630 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1631 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1632 most-negative-fixnum.
1633
9985827f 1634 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1635 (FIXNUM_OVERFLOW_P): New macros.
1636
4650e362
MB
16372001-10-06 Miles Bader <miles@gnu.org>
1638
1639 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1640 scroll_bar_bottom_shadow_pixel fields.
1641 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1642 for the shadows, and tell the toolkit about them if we succeed.
1643 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1644 Free scroll-bar shadow colors.
1645 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1646 Free scroll-bar shadow colors when the background color changes.
1647 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1648 Initialize scroll-bar shadow-color fields.
1649
ace64e0a
GM
16502001-10-05 Gerd Moellmann <gerd@gnu.org>
1651
1652 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1653
ec66bdc7
MB
16542001-10-05 Miles Bader <miles@gnu.org>
1655
9985827f
SM
1656 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1657 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1658 New functions (were in simple.el).
9985827f 1659 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1660 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1661 (syms_of_minibuf): Initialize them.
1662
a0fb4492
GM
16632001-10-05 Gerd Moellmann <gerd@gnu.org>
1664
1665 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1666 (tiff_load): Install them as error and warning handler.
1667
0bcf87c1
AI
16682001-10-04 Andrew Innes <andrewi@gnu.org>
1669
1670 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1671 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1672 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1673 (x_to_w32_charset): Handle private format for unknown charsets.
1674 Handle wildcards in charset spec, by ignoring them.
1675 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1676 "*-" prefix from charset.
1677 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1678 handle the truncated font spec form constructed by font_list_1, so
1679 that we correctly identify the charset fields. Don't remove "*-"
1680 prefix from charset.
1681 (w32_list_synthesized_fonts): Fix argument to alloca.
1682
c89e4bc5
GM
16832001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1684
1685 * window.h (MINI_WINDOW_P): Use NILP.
1686
1687 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1688
1689 * termhooks.h (struct input_event): Use proper type for `kind'.
1690
16912001-10-04 Gerd Moellmann <gerd@gnu.org>
1692
1693 This handles unknown keysyms better than before. For example,
1694 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1695 Emacs formerly completely ignored F5. With the change, it derives
1696 a key symbol from the name of the X keysym, `ccaron' in this case.
1697 Reported by Martin Buchholz.
1698
1699 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1700 unknown keysyms.
1701
1702 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1703 that EVENT->code isn't a function key, use the keysym's name.
1704
17052001-10-04 Gerd Moellmann <gerd@gnu.org>
1706
1707 FOREACH is a macro that should make it easier to loop over Lisp
1708 lists with checks for cycles and proper lists.
1709
1710 * lisp.h (LIST_END_P, FOREACH): New macros.
1711
17122001-10-04 Gerd Moellmann <gerd@gnu.org>
1713
1714 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1715 called for a lost connection. Prevent dumping core in this case.
1716 Instead print the X error, and exit. On user request.
1717
1718 * xterm.c (error_msg): New variable.
1719 (x_fatal_error_signal): New function.
1720 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1721 as fatal_error_signal_hook around the call to XtCloseDisplay.
1722
1723 * emacs.c (fatal_error_signal_hook): New variable.
1724 (fatal_error_signal): Call that function.
1725
17262001-10-04 Gerd Moellmann <gerd@gnu.org>
1727
1728 With this, Emacs prints how much pure storage it will
1729 approximately need in case pure storage overflows while dumping.
1730
1731 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1732 New variables.
1733 (init_alloc_once): Initialize new variables.
1734 (PURE_POINTER_P): Use new variables.
1735 (pure_alloc): If pure storage overflows, allocate from the heap.
1736 (check_pure_size): New function.
1737 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1738
1739 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1740 (check_pure_size): Add prototype.
1741
1742 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1743
17442001-10-04 Gerd Moellmann <gerd@gnu.org>
1745
1746 This adds a post-gc-hook that's run with GC inhibited.
1747 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1748
1749 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1750 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1751 (Fgarbage_collect): Run post-gc-hook.
1752
17532001-10-04 Gerd Moellmann <gerd@gnu.org>
1754
1755 This adds `defvaralias' and `indirect-variable'. Changes not
1756 directly related to this feature are there to gain the same
1757 performance again as before variable aliases.
1758
1759 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1760 code to get and set symbol values, to take defvaralias into account.
1761
1762 (Note: the new `constant' bit-flag in symbols would make it
1763 possible to define arbitrary read-only variables, e.g. with
1764 `defconst'.)
1765
1766 Documentation is in lispref/variables.texi. Added to NEWS.
1767
1768 * lisp.h (enum symbol_interned): New enumeration.
1769 (struct Lisp_Symbol): Remove member `obarray', add
1770 `indirect_variable', `constant', and `interned'.
1771 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1772 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1773 (indirect_variable): Add prototype.
1774
1775 * print.c (print_preprocess, print_object): Test internedness of
1776 symbols differently.
1777
1778 * lread.c (Fintern, Funintern): Set symbol's interned and constant
1779 bit-fields.
1780 (init_obarray): Likewise for t and nil.
1781
1782 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1783 (Fdefvaralias): New function.
1784 (specbind): Simplify the test if symbol is a constant.
1785 (syms_of_eval): Defsubr Fdefvaralias.
1786
1787 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
1788 (Qcyclic_variable_indirection): New variable.
1789 (Fkeywordp): Check for internedness differently.
1790 (Fmakunbound): Simplify the test if symbol is a constant.
1791 (indirect_variable, Findirect_variable): New functions.
1792 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
1793 aliased symbol.
1794 (let_shadows_buffer_binding_p): Check for variable aliases.
1795 (set_internal): Simplify the test if SYMBOL is a constant.
1796 If SYMBOL has a buffer-local value and is an alias, use the aliased
1797 symbol instead.
1798 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
1799 Sindirect_variable.
1800
1801 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
1802 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
1803 set directly.
1804
1805 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
1806
1807 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
1808 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
1809 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
1810
ab952a4f
GM
18112001-10-04 Gerd Moellmann <gerd@gnu.org>
1812
1813 * Branch for 21.1.
b56ba8de 1814
ba88ff28
MB
18152001-10-03 Miles Bader <miles@gnu.org>
1816
1817 * callproc.c (syms_of_callproc): Explicitly state in the
1818 documentation for `process-environment' that earlier entries take
1819 precedence over later ones.
1820
ae1a9581
MB
18212001-10-02 Miles Bader <miles@gnu.org>
1822
1823 * textprop.c (Fnext_char_property_change)
1824 (Fprevious_char_property_change): Remove reference to non-existant
1825 argument OBJECT from doc-string.
1826
257e3f57
GM
18272001-10-01 Gerd Moellmann <gerd@gnu.org>
1828
1829 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
1830 (try_window_id): Skip back over lines ending in a newline from a
1831 string.
1832
1833 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
1834 New bit flag
1835
c1f29759
RS
18362001-10-01 Richard M. Stallman <rms@gnu.org>
1837
1838 * search.c (Freplace_match): Doc fix.
1839
c30dce3d
AI
18402001-09-28 Andrew Innes <andrewi@gnu.org>
1841
1842 * w32menu.c (set_frame_menubar): Take into account that
1843 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
1844 <raeburn@gnu.org>.
1845
03be5931
EZ
18462001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
1847
1848 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
1849
75bec752
PJ
18502001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1851
1852 * s/gnu-linux.h: Fix a typo in comment.
1853
83100e0a
AS
18542001-09-28 Andreas Schwab <schwab@suse.de>
1855
1856 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
1857 nocombreloc, in case -z combreloc is the default.
1858
a74b48cf
GM
18592001-09-28 Gerd Moellmann <gerd@gnu.org>
1860
1861 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
1862 really going on here.
1863
09c4719e
SM
18642001-09-27 Stefan Monnier <monnier@cs.yale.edu>
1865
1866 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
1867
f7d5d963
EZ
18682001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
1869
1870 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
1871 utf-8, menu-bar, and latin-N.
1872 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
1873 unconditionally now.
1874 (lisp): Add latin-N, since they are preloaded.
1875
9240e746
GM
18762001-09-27 Gerd Moellmann <gerd@gnu.org>
1877
14531065
GM
1878 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
1879 to the left. Some cleanup.
1880
9240e746
GM
1881 * xdisp.c (display_mode_element): One more case where a string's
1882 multibyteness should be used for display.
1883
edd1e654
GM
18842001-09-26 Gerd Moellmann <gerd@gnu.org>
1885
b02439c8
GM
1886 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
1887 reading at EOF.
1888
032906b1 1889 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 1890 of the only temporarily set echoing flag for deciding when
032906b1
GM
1891 the cancel echoing.
1892
1893 * keyboard.c (echo_kboard): Make externally visible.
1894
1895 * lisp.h (echo_kboard): Declare extern.
1896
cb617e7c 1897 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 1898 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
1899 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
1900 this round of redisplay if make_cursor_line_fully_visible fails.
1901 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 1902 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
1903
1904 * dispextern.h (required_matrix_width, required_matrix_height):
1905 Add prototypes.
1906
09c4719e
SM
1907 * dispnew.c (required_matrix_width, required_matrix_height):
1908 New functions.
cb617e7c 1909 (allocate_matrices_for_window_redisplay)
09c4719e
SM
1910 (allocate_matrices_for_frame_redisplay: Use them.
1911 Remove parameters CH_DIM.
cb617e7c 1912
edd1e654
GM
1913 * xdisp.c (display_mode_lines): Temporarily set selected_frame
1914 and selected_window to the frame of the window whose mode-lines
1915 are displayed, and to the window itself.
1916 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 1917 here.
edd1e654 1918
924b604c
GM
19192001-09-25 Gerd Moellmann <gerd@gnu.org>
1920
daba7643
GM
1921 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
1922 the image cache under us.
1923
b7a22712 1924 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 1925 with a string value, use that string's multibyteness for displaying.
b7a22712 1926
ad648212
GM
1927 * keyboard.c (read_char): Don't clear a message for a switch-frame
1928 event. From Stefan Monnier <monnier@cs.yale.edu>.
1929
9f8531e5
GM
1930 * xterm.c (fast_find_position) [0]: Add a presumably more correct
1931 version for after 21.1.
1932
1933 * xdisp.c (row_containing_pos): Make externally visible.
1934
1935 * dispextern.h (row_containing_pos): Add prototype.
1936
924b604c
GM
1937 * process.c (send_process): Disable composition if from_byte < 0.
1938 From Kenichi Handa <handa@etl.go.jp>.
1939
6f3f0db4
GM
19402001-09-24 Gerd Moellmann <gerd@gnu.org>
1941
c69c0ebc
GM
1942 * xterm.c (refreshicon): Function removed.
1943
d1182bc4
GM
1944 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
1945
1946 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
1947
1948 * xterm.c (toplevel): Remove includes in #if 0.
1949
6f3f0db4
GM
1950 * process.c (sigchld_handler) [LINUX]: Don't return from
1951 the signal handler at the end of the loop.
1952
59957f85
GM
19532001-09-21 Gerd Moellmann <gerd@gnu.org>
1954
09c4719e
SM
1955 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
1956 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 1957
a0528984
EZ
19582001-09-21 Markus Rost <rost@math.ohio-state.edu>
1959
1960 * Makefile.in (shortlisp): Add ../lisp/env.elc.
1961
db92b288
GM
19622001-09-20 Gerd Moellmann <gerd@gnu.org>
1963
3fed8ad5
GM
1964 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
1965 since this function can be called during GC.
1966
db92b288
GM
1967 * callproc.c (Fcall_process): Handle errors from pipe(2).
1968 (child_setup): Delete code in #ifdef vipc.
1969
7121b85a
GM
19702001-09-19 Gerd Moellmann <gerd@gnu.org>
1971
72f62cb5
GM
1972 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
1973 (display_mode_element): Display the string from decode_mode_spec
1974 depending on its multibyteness.
1975
a2697022
GM
1976 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
1977
7121b85a
GM
1978 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
1979
bfc97351
GM
19802001-09-18 Gerd Moellmann <gerd@gnu.org>
1981
c9063433
GM
1982 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
1983 recursive_edit_unwind.
1984 (recursive_edit_unwind): Set kboard state according to
1985 SINGLE-KBOARD.
1986
3fbdba3e
GM
1987 * buffer.c (modify_overlay): Don't do nothing if START == END;
1988 This can still be a modification, for example when an overlay has
1989 a before-string or after-string.
1990 (Fdelete_overlay): Prevent redisplay optimizations when deleting
1991 an overlay with before-string or after-string.
1992
1270031d
GM
1993 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
1994 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
1995
bfc97351
GM
1996 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
1997 first_unchanged_at_end_row is in front of
1998 last_unchanged_at_beg_row. This code should be removed after the
1999 release of 21.1.
2000
d8a973aa
GM
20012001-09-17 Gerd Moellmann <gerd@gnu.org>
2002
e18c8b8d
GM
2003 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2004 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2005
d8a973aa
GM
2006 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2007 versions >= 2.95.
2008
ed7d6ba4
EZ
20092001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2010
2011 * dired.c (Ffile_attributes): Doc fix.
2012
551629f9
GM
20132001-09-14 Gerd Moellmann <gerd@gnu.org>
2014
2015 * fileio.c (Ffile_symlink_p): Fix last change.
2016
2017 * filelock.c (current_lock_owner): Fix last change.
2018
4c8c7926
GM
20192001-09-13 Gerd Moellmann <gerd@gnu.org>
2020
620c4704
GM
2021 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2022 take that to mean that the buffer is too small.
2023
81c3310d
GM
2024 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2025 that to mean that the buffer is too small.
2026
06fd3792
GM
2027 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2028 current buffer's multibyteness when discarding the iterator's
2029 stack.
2030
4c8c7926
GM
2031 * xfns.c (Fx_window_property): Handle case that property gets
2032 deleted between the two calls to XGetWindowProperty.
2033
9a72e4c1
GM
20342001-09-11 Gerd Moellmann <gerd@gnu.org>
2035
bd819d14 2036 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2037
a41edd99
GM
2038 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2039 in addition to read-only.
2040
2041 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2042 to t in addition to read-only.
2043
2044 * lisp.h (Qinhibit_modification_hooks): Declare.
2045
2046 * insdel.c (Qinhibit_modification_hooks): New variable.
2047 (syms_of_insdel): Initialize and staticpro it.
2048
d4881c6a
GM
2049 * textprop.c (verify_interval_modification): Don't run
2050 modification-hooks if inhibit_modification_hooks.
2051
2052 * dispnew.c (set_window_cursor_after_update): Fix code
2053 finding glyph row containing cursor when cursor_in_echo_area
2054 is >= 0.
2055
9a72e4c1
GM
2056 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2057 (add_to_log): Use bcopy instead of strcpy.
2058 (init_from_display_pos): Use an explicit loop over bytes in
2059 overlay strings instead of calling index.
2060
f4a374a1
GM
20612001-09-10 Gerd Moellmann <gerd@gnu.org>
2062
300e57bd
GM
2063 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2064
2065 * dispnew.c (direct_output_for_insert): Don't change IT's
2066 stop_charpos to something in front of its current position.
2067
f4a374a1
GM
2068 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2069 `format'.
2070
7e4cbc91
RS
20712001-09-10 Richard M. Stallman <rms@gnu.org>
2072
2073 * frame.c (Fmouse_position): Doc fix.
2074
6afad91e
GM
20752001-09-07 Gerd Moellmann <gerd@gnu.org>
2076
2077 * xdisp.c (init_from_display_pos): Don't compare the result
2078 of calling index with NULL.
2079
f76e0368
GM
20802001-09-06 Gerd Moellmann <gerd@gnu.org>
2081
2082 * xfns.c (x_set_background_color): Don't change the colors
2083 of the X window of scroll bar widgets.
2084
9ead1b60
AI
20852001-09-05 Andrew Innes <andrewi@gnu.org>
2086
2087 * w32fns.c (w32_createwindow): Undo last change.
2088
c3b497b3
GM
20892001-09-05 Gerd Moellmann <gerd@gnu.org>
2090
08e1d6df
GM
2091 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2092
c3b497b3
GM
2093 * xdisp.c (string_buffer_position): Use *single_char_property*
2094 functions instead of the *single_property* functions.
b56ba8de 2095
8f860180
AI
20962001-09-04 Andrew Innes <andrewi@gnu.org>
2097
9a72e4c1
GM
2098 * w32term.c (w32_read_socket): Add more information to debugging
2099 output.
8f860180
AI
2100
2101 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2102 from Emacs frames, so that calls to GetClipBox in w32term.c
2103 correctly report when part of a frame is visible (including
2104 scrollbars, etc). This prevents repeated redrawing of frames when
2105 only a scrollbar is visible.
2106 (w32_wnd_proc): Add more frame information to debugging output.
2107
2ee1aa00
SM
21082001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2109
2110 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2111
e3b22517
GM
21122001-09-03 Gerd Moellmann <gerd@gnu.org>
2113
7e376260
GM
2114 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2115 help-echo for a string which doesn't have help-echo itself, use
2116 get-char-property to obtain the help-echo from the string's buffer
2117 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2118 have mouse-face, look ``under'' the string for mouse-face from an
2119 overlay.
2120 (fast_find_position): Add parameter STOP. In the final row, stop
2121 before glyphs having STOP as object. Don't consider glyphs that
2122 are not from a buffer.
2123
e3b22517
GM
2124 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2125
9a249bba
EZ
21262001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2127
2128 * fns.c (Fmd5): Doc fix.
2129
c9979669
GM
21302001-08-31 Gerd Moellmann <gerd@gnu.org>
2131
2132 * composite.c (update_compositions): Do nothing if
2133 inhibit-modification-hooks is set.
2134
9584e63a
GM
21352001-08-30 Gerd Moellmann <gerd@gnu.org>
2136
986ec8f2 2137 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2138 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2139 glyph matrices etc. in a core dump.
2140
92a25631
GM
2141 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2142 (syms_of_xdisp): Initialize them.
2143 (handle_single_display_prop): Don't change point, bind `object',
2144 `position', and `buffer-position' instead to the object having the
2ee1aa00 2145 `display' property, position in the object and position in the buffer.
92a25631 2146
9584e63a
GM
2147 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2148 of the buffer if REPLACE is non-nil.
2149
d38633a3
GM
21502001-08-29 Gerd Moellmann <gerd@gnu.org>
2151
2152 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2153
f4fccc1e
EZ
21542001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2155
2156 * w32term.c (x_set_glyph_string_background_width)
2157 (show_mouse_face): Track the last changes in xterm.c.
2158
eaaa65b0
GM
21592001-08-28 Gerd Moellmann <gerd@gnu.org>
2160
7b0870b2
GM
2161 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2162 string's background width so that multi-line mouse-face is drawn
2163 to the right edge of the window.
2164 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2165 glyphs.
2166
6b6e2422 2167 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2168 before inserting/writing glyphs.
6b6e2422 2169
eaaa65b0
GM
2170 * xdisp.c (display_mode_element): Use string_byte_to_char to
2171 determine character positions in strings, use chars_in_text
2172 instead of strwidth.
2173 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2174 a matrix as parameter; this is easier to use from GDB.
2175
9ad62cf8
MB
21762001-08-28 Miles Bader <miles@gnu.org>
2177
2ee1aa00
SM
2178 * textprop.c (Fprevious_single_char_property_change)
2179 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2180
32171635
GM
21812001-08-27 Gerd Moellmann <gerd@gnu.org>
2182
47d57b22
GM
2183 * fileio.c (Finsert_file_contents): Allocate, restore, and
2184 free composition data in the case of REPLACE not being nil.
2185
2186 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2187 there exist overlay strings with newlines at POS.
2188 (text_outside_line_unchanged_p): Return 0 if changes start at
2189 START and overlays exist at START. Likewise for END.
2190 (try_window_id): Give up if init_to_row_end returns 0.
2191
32171635
GM
2192 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2193 unconditionally.
2194
e1249666
GM
21952001-08-24 Gerd Moellmann <gerd@gnu.org>
2196
33954c45
GM
2197 * keymap.c (access_keymap): Return the cdr of the binding of
2198 a generic character instead of its definition (KEY . BINDING).
2199
e1249666
GM
2200 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2201 to 0 also in the REPLACE case.
2202
fb4c6c96
AC
22032001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2204
2205 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2206 open to determine whether file is readable (as for DOS_NT).
2207
59ecf80b
GM
22082001-08-23 Gerd Moellmann <gerd@gnu.org>
2209
2210 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2211 coding.type is coding_type_no_conversion or coding_type_raw_text,
2212 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2213 non-nil instead of just setting enable_multibyte_characters in the
2214 buffer to nil.
2215
40e33037
GM
22162001-08-22 Gerd Moellmann <gerd@gnu.org>
2217
374388c3
GM
2218 * dispextern.h (struct face_cache): Add member
2219 menu_face_changed_p.
2220
2221 * xfaces.c (menu_face_changed_default): New variable.
2222 (menu_face_changed_count): Variable removed.
2223 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2224 the menu_face_changed_default flag, otherwise set the FRAME's
2225 menu_face_changed_p flag if the `menu' face has been changed.
2226 Prevent calling set_font_frame_param if FRAME is t.
2227 (make_face_cache): Initialize cache's menu_face_changed_p
2228 from menu_face_changed_default.
2229 (realize_basic_faces): Look into the frame's face cache to
2230 determine if the menu appearance needs updating.
2231
40e33037
GM
2232 * keymap.c (access_keymap): Fix last change to not consider
2233 IDX when it has modifiers.
2234
859ea4b8
GM
22352001-08-21 Gerd Moellmann <gerd@gnu.org>
2236
2237 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2238 . BINDING) exists, where GENERIC-CHAR is the generic character of
2239 the charset of IDX, return BINDING unless there exists a binding
2240 for IDX itself.
2241
e8660d73
GM
22422001-08-16 Gerd Moellmann <gerd@gnu.org>
2243
cca1b1d7
GM
2244 * xrdb.c (SYSV): Don't define on Solaris 2.
2245 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2246
e8660d73 2247 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2248 of the screen line, not text line, containing IT's current position.
e8660d73 2249
93aba6fc
GM
22502001-08-15 Gerd Moellmann <gerd@gnu.org>
2251
288d4e06
GM
2252 * window.c (window_scroll_pixel_based): Don't recenter if
2253 PT is partially visible in the window.
2254
3452efc2
SM
2255 * xterm.c (expose_window_tree, expose_window, expose_line):
2256 Return 1 when overwriting mouse-face.
82f053ab
GM
2257 (expose_frame): If mouse-face was overwritten, redo it.
2258
93aba6fc
GM
2259 * xfaces.c (x_update_menu_appearance): Don't call
2260 set_frame_menubar, let the next redisplay do it.
2261
858a55c1
AI
22622001-08-14 Andrew Innes <andrewi@gnu.org>
2263
2264 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2265 drawing glyph string.
2266
3a990b67
EZ
22672001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2268
2269 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2270 running HI-UX/MPP.
2271
04386463
GM
22722001-08-14 Gerd Moellmann <gerd@gnu.org>
2273
2274 * xfaces.c (x_update_menu_appearance): Save and restore value of
2275 interrupt_input_blocked.
2276
3e6385a4
GM
22772001-08-13 Gerd Moellmann <gerd@gnu.org>
2278
b0e619b4
GM
2279 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2280 a line start, move back to the line start.
3452efc2 2281
0de73d5a
GM
2282 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2283 exactly when a mini-buffer is active.
2284
3e6385a4
GM
2285 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2286 in units of 1/8 character on non window-system frames.
2287 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2288
d1b5f629
EZ
22892001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2290
2291 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2292 a doc string.
2293
eaa2319f
GM
22942001-08-09 Gerd Moellmann <gerd@gnu.org>
2295
8e3189f0
GM
2296 * keyboard.c (Vpre_help_message): New variable.
2297 (syms_of_keyboard): Initialize and staticpro it.
2298 (show_help_echo): Record current message before displaying a
2299 help-echo, and restore that message when clearing the help.
2300
eaa2319f
GM
2301 * xfns.c (x_create_im): Remove prototype.
2302
2303 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2304
2305 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2306
eaa2319f
GM
23072001-08-08 Gerd Moellmann <gerd@gnu.org>
2308
2309 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2310 windows whose height has changed, disable partially visible lines.
eaa2319f 2311
17fdcfc8
GM
23122001-08-07 Gerd Moellmann <gerd@gnu.org>
2313
22d01aed 2314 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2315 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2316
17fdcfc8
GM
2317 * xdisp.c (start_display): Don't try to determine the continuation
2318 lines width if lines are truncated. It's superfluous and leads to
2319 incorrect results if POS is not visible in the window after
2320 reseating the iterator at the previous line start.
2321
8e3fe78e
GM
23222001-08-06 Gerd Moellmann <gerd@gnu.org>
2323
2324 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2325
98a8938c
GM
23262001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2327
2328 * alloc.c (init_stack): Remove declaration.
2329
18f9986a
GM
23302001-08-03 Gerd Moellmann <gerd@gnu.org>
2331
5e1f85e0
GM
2332 * keyboard.c (read_key_sequence): Check that key is an integer
2333 before comparing it with quit_char.
2334 (add_command_key): Use larger_vector.
2335 (read_char_x_menu_prompt): Instead of converting symbol and
2336 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2337 which cannot be confused with valid events.
5e1f85e0
GM
2338 (read_char): When reading from Vunread_command_events, check for
2339 events of the form (EVENT . disabled) instead of
2340 (EVENT . nil).
2341
18f9986a
GM
2342 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2343 a float, determine the max height from the frame's height.
2344
fbc7f2a6
GM
23452001-08-02 Gerd Moellmann <gerd@gnu.org>
2346
2347 * xdisp.c (redisplay_internal): Take message_cleared_p into
2348 account only if minibuf_level == 0.
2349
81b1a79d
GM
23502001-08-01 Gerd Moellmann <gerd@gnu.org>
2351
e5c60873
GM
2352 * xdisp.c (redisplay_internal): Add a check for the last
2353 displayed message.
3452efc2 2354
6e019995
GM
2355 * xdisp.c (message_cleared_p): New variable.
2356 (clear_message): Set message_cleared_p when clearing the current
2357 message.
2358 (redisplay_internal): Look at message_cleared_p to capture
2359 the case that the echo area should be cleared.
2360
308a74d8
GM
2361 * keyboard.c (command_loop_1): Fix spelling of
2362 resize_echo_area_exactly.
2363
3452efc2 2364 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2365
2366 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2367
81b1a79d
GM
2368 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2369 current matrix when the window gets smaller.
2370
ada329e6
EZ
23712001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2372
2373 * print.c (strout): Cast the character passed to insert_char to
2374 unsigned char, to avoid sign extension when it is promoted to int.
2375
ed86208c
GM
23762001-07-31 Gerd Moellmann <gerd@gnu.org>
2377
2378 * fileio.c (Finsert_file_contents): Don't treat a return value
2379 of 0 from emacs_read as an IO error.
2380
6594ac22
GM
23812001-07-30 Gerd Moellmann <gerd@gnu.org>
2382
cef68af5
GM
2383 * keyboard.c (abs): New macro.
2384 (double_click_fuzz): New variable.
2385 (make_lispy_event): Use it to determine what makes a double-click.
2386 (syms_of_keyboard): DEFVAR_INT it.
2387
6594ac22
GM
2388 * xmenu.c (set_frame_menubar): Take into account that
2389 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2390 <raeburn@gnu.org>.
2391
75c5350a
GM
23922001-07-27 Gerd Moellmann <gerd@gnu.org>
2393
2394 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2395
2396 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2397 of row's visible height.
2398
2399 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2400 deal with the first overlay string having an image `display' property.
2401 (try_window_reusing_current_matrix, compute_line_metrics):
2402 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2403 row is invisible above and part of the row is at the same time
2404 invisible below the window.
2405
ac49effe
GM
24062001-07-26 Gerd Moellmann <gerd@gnu.org>
2407
2408 * xfns.c (x-show-tip): Doc fix.
3452efc2 2409
ac49effe
GM
2410 * xfns.c (Vx_max_tooltip_size): New variable.
2411 (syms_of_xfns): DEFVAR_LISP it.
2412 (Fx_show_tip): Set frame's window_width to the width of the
2413 window. Use a maximum tooltip size specified by
2414 Vx_max_tooltip_size, if that has valid contents.
2415 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2416
8c3b00cb
AI
24172001-07-26 Andrew Innes <andrewi@gnu.org>
2418
2419 * w32term.c (x_display_list): New variable.
2420 (w32_term_init): Set it.
2421
2422 * w32term.h (x_display_list): New extern.
2423
16098288
GM
24242001-07-26 Gerd Moellmann <gerd@gnu.org>
2425
2426 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2427 is non-nil, instead of when redisplaying_p is non-zero.
2428 See comment there.
16098288
GM
2429 (mark_window_display_accurate_1): Add an assertion.
2430
64c5be50
GM
24312001-07-25 Gerd Moellmann <gerd@gnu.org>
2432
e743f599
GM
2433 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2434
563b384d
GM
2435 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2436 events so that we get a chance of processing expose events.
2437
64c5be50
GM
2438 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2439
296808a5
GM
24402001-07-24 Gerd Moellmann <gerd@gnu.org>
2441
2442 * xfns.c (valid_image_p): Protect better against invalid image
2443 specifications. Previous code could signal an error.
2444
5247262a
GM
24452001-07-23 Gerd Moellmann <gerd@gnu.org>
2446
3452efc2 2447 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2448 presence of display table entries.
2449 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2450
dd42b31a
GM
2451 * dispnew.c (adjust_glyph_matrix): In the optimization for
2452 windows whose height has changed, use the new window height
2453 to compute which rows to invalidate.
2454
9e5a7f2a
GM
2455 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2456 (MAX_10_EXP): New macro.
2457 (Fformat): Use it.
2458
5247262a
GM
2459 * coding.c (code_convert_region): Handle the multibyte case if
2460 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2461
177ab8ce
GM
24622001-07-20 Gerd Moellmann <gerd@gnu.org>
2463
6e07c0a5
GM
2464 * dispextern.h (struct face): Change type of `stipple' to
2465 int; it's an ID.
2466
177ab8ce
GM
2467 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2468
b5b80599
GM
24692001-07-19 Gerd Moellmann <gerd@gnu.org>
2470
4e2a256b
GM
2471 * dispnew.c (update_window): Don't set the cursor at the end
2472 of the update if display update has been paused.
2473
3452efc2 2474 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2475
c1fd9232
KR
24762001-07-18 Ken Raeburn <raeburn@gnu.org>
2477
2478 * fns.c (Fset_char_table_default): Check that a charset is defined
2479 before checking its dimension.
2480
928a85c1
KR
24812001-07-17 Ken Raeburn <raeburn@gnu.org>
2482
2483 * coding.c (setup_coding_system): Don't do any designation based
2484 on reg_bits if charset is not yet defined.
2485
fb4c6c96 2486 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2487 pointer, using eassert.
2488
de11c1ea
GM
24892001-07-17 Gerd Moellmann <gerd@gnu.org>
2490
3452efc2
SM
2491 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2492 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2493
467f1209
GM
24942001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2495
2496 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2497
c3d6be34
GM
24982001-07-16 Gerd Moellmann <gerd@gnu.org>
2499
c1d61a7d
GM
2500 * fileio.c (unwind_read): Function removed.
2501 (read_non_regular, read_non_regular_quit): New functions.
2502 (Finsert_file_contents): When reading from non-regular files,
2503 arrange to catch a `quit' and terminate the loop. Rearrange
2504 code so that a `quit' when reading from a regular file doesn't
2505 insert text in the buffer.
2506
c3d6be34
GM
2507 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2508 Clear faces afterwards.
2509 (clear_font_table): Take a x_display_info parameter. Don't free
2510 fonts being the default font of any frame on the given display.
2511
e06aa1f9
GM
25122001-07-13 Gerd Moellmann <gerd@gnu.org>
2513
2514 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2515 instead of CHAR_STRING which can signal an error.
2516
2517 * charset.c (char_to_string_1): Extracted from char_to_string.
2518 Return -1 instead of signaling an error.
2519 (char_to_string): Use it.
2520
2521 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2522
176c92e6
SM
25232001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2524
2525 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2526 is t, don't try to append anything to it.
2527
1c56232f
EZ
25282001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2529
2530 * dired.c (file_name_completion): Pass dp->d_name to
2531 Fstring_match, not elt, which is always nil here.
2532
1d2b2268
GM
25332001-07-12 Gerd Moellmann <gerd@gnu.org>
2534
2535 * xselect.c (x_decline_selection_request): Handle errors
2536 caused by receivers that have vanished.
2537
2538 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2539 ignoring events on foreign windows in #if 0. Always dispatch
2540 the event after checking it with x_handle_property_notify.
2541
2542 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2543 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2544 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2545 (toplevel): Add prototypes for file-local functions.
2546 (x_atom_to_symbol): Remove DPYINFO parameter.
2547
fe5a0162
SM
25482001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2549
2550 * w32menu.c (menubar_selection_callback, w32_menu_show):
2551 Initialize `entry' to nil.
2552 (w32_dialog_show): Remove unused `save_wv' variable.
2553 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2554
a777242c
GM
25552001-07-11 Gerd Moellmann <gerd@gnu.org>
2556
8ee5b6a3
GM
2557 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2558
d0e2444e
GM
2559 * fileio.c (unwind_read): Print a message when discarding inserted
2560 text or switching the buffer to unibyte. Change parameter.
2561 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2562
a777242c
GM
2563 * fileio.c (unwind_read): New function.
2564 (Finsert_file_contents): Record it as unwind-function for
2565 the case that reading is interrupted by C-g.
2566
ae794295
GM
25672001-07-10 Gerd Moellmann <gerd@gnu.org>
2568
fe5a0162 2569 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2570 update when scrolling_window returns 0.
2571
6b05fae3
GM
2572 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2573
2574 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2575 for the case that x_decode_color signals an error.
6b05fae3 2576
ae794295
GM
2577 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2578
bb6e8cee
GM
25792001-07-09 Gerd Moellmann <gerd@gnu.org>
2580
2581 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2582 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2583 around ioctls.
2584
36b40a8a
EZ
25852001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2586
24b97d4b
EZ
2587 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2588 doc string line for dos-timezone-offset.
2589
36b40a8a
EZ
2590 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2591 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2592 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2593 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2594
2595 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2596
0967b4b0
GM
25972001-07-05 Gerd Moellmann <gerd@gnu.org>
2598
f25cfe53
GM
2599 * sound.c: Include Emacs' header files with #include "...".
2600
0967b4b0
GM
2601 * eval.c (specbind): Additionally record the buffer that was
2602 current when a buffer-local or frame-local variable was bound.
2603
c347a1c3
GM
26042001-07-04 Gerd Moellmann <gerd@gnu.org>
2605
2606 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2607 to unibyte characters in unibyte buffers.
2608
6332ca8a
GM
26092001-07-03 Gerd Moellmann <gerd@gnu.org>
2610
38472d44
GM
2611 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2612 the frame on the binding stack. Change format of entries for
2613 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2614 (unbind_to): Handle unbinding a frame-local variable.
2615
6332ca8a 2616 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2617 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2618 (dump_glyph_row): Print row's continuation_lines_width.
2619 (try_window_id): Take the shortcut if ZV is visible in the
2620 window, but there are actually no changes at ZV.
2621
63d1b174
GM
26222001-07-02 Gerd Moellmann <gerd@gnu.org>
2623
4c175203
GM
2624 * xterm.h (x_free_dpy_colors): Add prototype.
2625
2626 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2627 right number of arguments.
2628
0b54ce28
GM
2629 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2630 ($(lwlibdir)TAGS): New target.
4c175203 2631 (TAGS): Fix dependency list.
0b54ce28 2632
63d1b174
GM
2633 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2634 with input blocked.
2635
d827466c
GM
26362001-06-30 Gerd Moellmann <gerd@gnu.org>
2637
2638 * emacs.c (main): Remove extern declaration for sys_nerr, which
2639 isn't used and causes a compilation error with GCC 3.0 on
2640 FreeBSD 4.3.
2641
b5cb1ada
GM
26422001-06-27 Gerd Moellmann <gerd@gnu.org>
2643
a5d3ec3f 2644 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2645 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2646 (toplevel): Include <signal.h> and syssignal.h.
2647
b5cb1ada
GM
2648 * sound.c (vox_configure, vox_close): Turn off atimers
2649 around ioctls.
2650
d9bad487
GM
26512001-06-26 Gerd Moellmann <gerd@gnu.org>
2652
fdbb67fe
GM
2653 * keyboard.c (read_char) <non_reread>: Record the previous idle
2654 start time before calling timer_stop_idle.
2655 (read_char) <reread_first>: After processing a help-echo event,
2656 restore the previous idle start time.
2657
d9bad487
GM
2658 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2659 the start of invisible text.
2660 (setup_for_ellipsis): New function.
2661 (next_overlay_string): After all overlay strings have been
2662 processed, display an ellipsis if necessary.
2663 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2664 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2665
2666 * dispextern.h (struct iterator_stack_entry): Add member
2667 display_ellipsis_p.
2668
2b9c25e0
GM
26692001-06-25 Gerd Moellmann <gerd@gnu.org>
2670
80de57df
GM
2671 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2672 on the value of the wait-for-wm frame parameter.
2673
2674 * xterm.h (struct x_output): Add member wait_for_wm.
2675
2676 * xfns.c (Qwait_for_wm): New variable.
2677 (x_frame_parms): Add entry for `wait-for-wm".
2678 (x_set_wait_for_wm): New function.
2679 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2680 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2681
2b9c25e0
GM
2682 * xdisp.c (try_window_id) <all changes below window end>: Don't
2683 take this shortcut if ZV is visible in the window.
2684 (try_window_id): When checking for window start being in changed
2685 text, don't check that the buffer's size has changed.
2686
f772775c
RS
26872001-06-23 Richard M. Stallman <rms@gnu.org>
2688
2689 * minibuf.c (Fcompleting_read): Doc fix.
2690
fa9090b8
GM
26912001-06-19 Gerd Moellmann <gerd@gnu.org>
2692
2693 * composite.c (Ffind_composition_internal): Accept ZV
2694 and a string's end position as POS.
2695
f6f1beba
GM
26962001-06-18 Gerd Moellmann <gerd@gnu.org>
2697
2698 * composite.c (Ffind_composition_internal): Check POS
2699 for validity.
2700
0ae83348
EZ
27012001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2702
2703 * editfns.c (Fmessage_box): If the frame is not under a window
2704 system, output the message in the echo area.
2705
e4cdc335
RS
27062001-06-14 Richard M. Stallman <rms@gnu.org>
2707
2708 * xdisp.c (try_window_id): When EOB is visible, don't treat
2709 insertion at EOB as if it were "off the bottom of the screen."
2710
a55a5f3c
AI
27112001-06-11 Andrew Innes <andrewi@gnu.org>
2712
2713 * w32proc.c (create_child): Add new parameter is_gui_app.
2714 (w32_executable_type): Add new parameter is_gui_app.
2715 (sys_spawnve): Use it.
2716 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2717 SIGQUIT. This matches better how the signals are interpreted by
2718 MSVC compiled programs.
2719 (syms_of_ntproc): Update docstring.
2720
1b85dc1c
SM
27212001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2722
2723 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2724 well otherwise note_mouse_highlight might optimize away highlighting
2725 if we pass over that same overlay again.
2726
b75f8eab
EZ
27272001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2728
2729 * lread.c (Fload): Document that the argument is run via
2730 substitute-in-file-name.
2731
94843cc1
GM
27322001-05-31 Gerd Moellmann <gerd@gnu.org>
2733
b14659e6
GM
2734 * Makefile.in (bootstrap-doc): New target.
2735 (bootstrap-emacs): Depend on it.
2736
0894672f
GM
2737 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2738 auto-save-list-file-name when shutting down Emacs, because
2739 creating the directory might signal an error, and leaves
2740 Emacs in a strange state.
2741
94843cc1
GM
2742 * term.c: (tty_cursor_hidden): New variable.
2743 (update_begin): Don't call tty_hide_cursor. Clean up.
2744 (update_end, set_terminal_window, set_scroll_region): Clean up.
2745 (ring_bell, reset_terminal_modes): Clean up.
2746 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2747 on tty_cursor_hidden.
2748 (write_glyphs): Call tty_hide_cursor.
2749
db3a49a6
SM
27502001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2751
2752 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2753
8bd189fb
GM
27542001-05-30 Gerd Moellmann <gerd@gnu.org>
2755
6f1be3b9
GM
2756 * xfns.c (enum image_value_type): New enumerator
2757 IMAGE_STRING_OR_NIL_VALUE.
2758 (parse_image_spec): Handle it.
2759 (xbm_format, pbm_format): Use it for :foreground and :background.
2760 (xbm_load, pbm_load): Check for nil color names.
2761
8bd189fb
GM
2762 * xterm.c (note_mouse_highlight): If an overlapping overlay
2763 exists, but we find that we highlight the same overlay as before,
2764 don't do the highlighting again.
2765
7bdba03c
GM
27662001-05-29 Gerd Moellmann <gerd@gnu.org>
2767
4c329aa8
GM
2768 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2769 Protect unibyte strings created by replacing their multibyte
2770 equivalents in menu_items.
2771
e15e2828
GM
2772 * keymap.c (Fsingle_key_description): NUL-terminate the string
2773 buffer before calling build_string.
2774
7bdba03c
GM
2775 * callproc.c (Fcall_process): Deal with decode_coding returning
2776 CODING_FINISH_INCONSISTENT_EOL.
2777
89c8dc6c
GM
27782001-05-28 Gerd Moellmann <gerd@gnu.org>
2779
db3a49a6 2780 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
2781 an item's name with its key description in case the description
2782 is a multibyte string.
2783
2784 * keymap.c (Fsingle_key_description): Create a multibyte string
2785 only if necessary.
2786
eb04d6cd
GM
2787 * macros.c (Fstart_kbd_macro): Doc fix.
2788
8bd6307f
GM
2789 * xterm.c (cursor_in_mouse_face_p): New function.
2790 (x_draw_stretch_glyph_string): Use it to choose a different GC
2791 when drawing a cursor within highlighted text.
2792
e26c4089
GM
2793 * editfns.c (char_property_eq): Put in #if 0.
2794
2795 * indent.c (string_display_width): Put in #if 0.
2796
2797 * lread.c (Fload): Remove unused label.
2798
89c8dc6c
GM
2799 * termcap.c (speeds): Put in #if 0.
2800
9a1211f2
GM
28012001-05-18 Gerd Moellmann <gerd@gnu.org>
2802
29148a3f
GM
2803 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
2804
9a1211f2
GM
2805 * xfaces.c (xlfd_point_size): Don't divide pixel size from
2806 transformation matrix by 10.
2807
09393d07
GM
28082001-05-16 Gerd Moellmann <gerd@gnu.org>
2809
2810 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
2811 only if it's equal to the former foreground pixel color.
db3a49a6 2812 (x_set_foreground_color, x_set_background_color)
09393d07
GM
2813 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
2814
460e6bae
GM
28152001-05-16 Dave Love <fx@gnu.org>
2816
2817 * insdel.c (signal_before_change, signal_after_change): Consider a
2818 local change hook which changes the buffer.
99c78ce8
GM
2819
2820 * process.c (read_process_output): Don't call signal_after_change
2821 and update_compositions after insert_from_string_before_markers.
2822
dbcf3c03
GM
28232001-05-16 Gerd Moellmann <gerd@gnu.org>
2824
a90b3d3c
GM
2825 * xfaces.c (split_font_name): Use the right field when
2826 checking for `[...]' syntax.
2827
1b7818b4
GM
2828 * buffer.c (copy_overlays): New function.
2829 (clone_per_buffer_values): Use it.
2830
2831 * buffer.h (OVERLAY_PLIST): New macro.
2832
9bae8781
GM
2833 * keymap.c (Fsingle_key_description): Replace a build_string with
2834 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
2835
dbcf3c03
GM
2836 * fontset.c (Ffontset_info): Check that face is non-null
2837 before accessing its fields.
2838
8a1ae4dd
GM
28392001-05-15 Gerd Moellmann <gerd@gnu.org>
2840
18a0a39e
GM
2841 * keyboard.c (read_key_sequence): Prevent generating a fake
2842 prefix key twice.
2843
e335b66a
GM
2844 * xfaces.c (split_font_name): Handle `[...]' for the right
2845 font name fields.
2846
8a1ae4dd
GM
2847 * ccl.c (ccl_driver): Don't copy remaining bytes in case
2848 of CCL_STAT_INVALID_CMD.
2849
3cf80731
SM
28502001-05-14 Stefan Monnier <monnier@cs.yale.edu>
2851
33568849
SM
2852 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
2853 in <var> has no default value yet.
2854
3cf80731
SM
2855 * xfaces.c (try_alternative_families): First try the FAMILY.
2856 And if nothing is found in the end, try again with scalable fonts.
2857 (try_font_list): Let try_alternative_families do a bit more of
2858 the work. Only use FAMILY if it is not nil.
2859 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
2860
933b0249
GM
28612001-05-14 Gerd Moellmann <gerd@gnu.org>
2862
58e5af83
GM
2863 * xterm.c (note_mouse_highlight): Avoid changing the mouse
2864 pointer shape when show_mouse_face has already done it.
33568849 2865
58e5af83 2866 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
2867 full-width rows.
2868
7b16a6bf
GM
2869 * xfaces.c (split_font_name): Make sure to leave the loop
2870 with the right value of `i'.
3cf80731 2871
933b0249
GM
2872 * xfaces.c (split_font_name): Handle matrix transformations
2873 in the pixel and point size fields of XLFD font names.
2874 (xlfd_point_size): Likewise.
2875
dddcbf00
EZ
28762001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
2877
3cf80731 2878 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
2879 (x_to_w32_font): Add prototype.
2880
7689ef0b
EZ
2881 * regex.c (malloc, realloc, free) [emacs]: Undefine before
2882 redefining, to avoid compiler warnings.
2883
e7c15bba
EZ
2884 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
2885
dddcbf00
EZ
2886 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
2887 (w32_get_bdf_glyph): Cast between unsigned char and char when
2888 passing arguments to subroutines, to shut up compiler warnings.
2889 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
2890 GET_HEX_VAL.
2891
2892 * xfaces.c: Include keyboard.h before frame.h, not after it.
2893
2894 * widget.c: Include keyboard.h before frame.h.
2895
2896 * w32term.h (struct image, struct face): Forward declaration, to
2897 avoid compiler warnings.
2898
7bd2d083
GM
28992001-05-11 Gerd Moellmann <gerd@gnu.org>
2900
47e72862
GM
2901 * keyboard.c (read_key_sequence): Don't modify events when
2902 generating fake prefix keys (mode-line, scroll-bar, ...) since
2903 this prevents proper processing of such events when pushed back
2904 into unread-command-events.
2905
dd5f324b
GM
2906 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
2907 actually redrawn. Make the function static.
2908 (note_mouse_highlight): Fix a case where the mouse cursor
2909 was changed back to the text cursor.
2910
2911 * xterm.h (clear_mouse_face): Remove prototype.
2912
d88a79d4
GM
2913 * xdisp.c (try_window_id): Fix the fix and set the right
2914 window_end_vpos.
2915
2916 * xdisp.c (try_window_id): Fix computation of window end in the
2917 case that lines were deleted at the end of the window. Add some
2918 more debug_method_adds.
0416532f 2919
7bd2d083
GM
2920 * xfaces.c (try_alternative_families): New function.
2921 (try_font_list): Use it. If ATTRS specifies a family, check
2922 fonts from that family first.
2923 (choose_face_font): Remove code setting the family part of
2924 the pattern to nil.
2925
23fca891
GM
29262001-05-10 Gerd Moellmann <gerd@gnu.org>
2927
ff9aa2ca
GM
2928 * xdisp.c (try_window_id): Fix case of all changes before
2929 the window start.
7b2654b5 2930
23fca891
GM
2931 * xdisp.c (try_window_id): Add some xasserts.
2932
e9726794
GM
29332001-05-09 Gerd Moellmann <gerd@gnu.org>
2934
2935 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
2936
9e53a675
GM
29372001-05-09 Dave Love <fx@gnu.org>
2938
2939 * xdisp.c (GIVE_UP): Fix for K&R C.
2940
0d487c52
GM
29412001-05-09 Gerd Moellmann <gerd@gnu.org>
2942
fe88d421
GM
2943 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
2944
0d487c52
GM
2945 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
2946 back to the text cursor shape without need.
2947
1e9fc92e
GM
29482001-05-07 Gerd Moellmann <gerd@gnu.org>
2949
a2a6232e
GM
2950 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
2951
2952 * dispextern.h (inverse_video): Declare extern.
2953
1e9fc92e
GM
2954 * keyboard.c (delete_kboard): Handle the case that selected_frame
2955 has been deleted in the course of x_connection_closed.
2956
12949a7f
EZ
29572001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
2958
7b2654b5
SM
2959 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
2960 Fix the change from 2001-04-30.
12949a7f 2961
2fa2f461
GM
29622001-05-03 Gerd Moellmann <gerd@gnu.org>
2963
a779d213
GM
2964 * xfns.c (file_dialog_unmap_cb): New function.
2965 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
2966 where a dialog is closed via the window manager.
2967
7b2654b5 2968 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
2969 the window start or all below the window end mostly rewritten.
2970 (redisplay_window): Move the tests if try_window_id is
2971 applicable to try_window_id.
2972 (GIVE_UP): New macro.
2973
3356df63
GM
29742001-05-02 Gerd Moellmann <gerd@gnu.org>
2975
a39202f6 2976 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
2977 currently being updated, mark the frame garbaged.
2978 Fix computation of rows intersecting the exposed rectangle.
a39202f6 2979 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 2980
3356df63
GM
2981 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
2982 again if it has already been drawn.
2983
a9d2fd1d
SM
29842001-05-01 Stefan Monnier <monnier@cs.yale.edu>
2985
2986 * syntax.c (update_syntax_table): Check that oldi has the same
2987 properties as old_prop before deciding not to invalidate.
2988
c95fc5f1
GM
29892001-04-30 Gerd Moellmann <gerd@gnu.org>
2990
a9793e45
GM
2991 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
2992 read-only text that is so because of text properties.
2993
c95fc5f1 2994 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 2995 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
2996 windows that are components of a Lucid menu bar.
2997
5a5d9185
GM
29982001-04-27 Gerd Moellmann <gerd@gnu.org>
2999
3000 * term.c (turn_on_face): Fix reverse video handling on terminals
3001 that don't support colors.
3002
ba973f7a
GM
30032001-04-26 Gerd Moellmann <gerd@gnu.org>
3004
3005 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3006 a non-buffer.
3007
8c56a983
GM
30082001-04-25 Gerd Moellmann <gerd@gnu.org>
3009
a728644c
GM
3010 * term.c (toggle_highlight): New function.
3011 (turn_on_face): Change handling of reverse video.
3012
7b2654b5
SM
3013 * process.c (wait_reading_process_input):
3014 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3015
bfd8410f
GM
3016 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3017 of the number of overlays to check.
3018
be2488ca
GM
3019 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3020
8c56a983
GM
3021 * xdisp.c (try_window_id): Fix a case where window_end_pos
3022 and window_end_bytepos were not adjusted.
3023
522d42f7
GM
30242001-04-23 Gerd Moellmann <gerd@gnu.org>
3025
3026 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3027 zero instead of -1.
3028
78c1afb6
EZ
30292001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3030
a9d2fd1d
SM
3031 * process.c (wait_reading_process_input) [!subprocesses]:
3032 Don't reference waiting_for_user_input_p, it's not defined in the
3033 branch without async subprocesses support.
78c1afb6 3034
a2fab450
GM
30352001-04-19 Gerd Moellmann <gerd@gnu.org>
3036
a122a38e
GM
3037 * keyboard.c (delete_kboard): Prevent a dangling reference
3038 from current_kboard to KB, which is freed.
3039
a9d2fd1d
SM
3040 * process.c (wait_reading_process_input):
3041 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3042 read_key_sequence aware of buffer changes from under it.
3043
0f8d6dc7
GM
30442001-04-18 Gerd Moellmann <gerd@gnu.org>
3045
eeffb293
GM
3046 * xfaces.c (Qscalable_fonts_allowed): New variable.
3047 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3048 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3049 removed.
eeffb293 3050 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3051 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3052 for scalable-fonts-allowed to t.
eeffb293 3053
0f8d6dc7
GM
3054 * fileio.c (Finsert_file_contents): If the file size returned from
3055 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3056 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3057
eec2d1de
EZ
30582001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3059
3060 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3061 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3062 (__memalign_hook): Make the two prototypes consistent.
3063
f4f480bd
GM
30642001-04-17 Gerd Moellmann <gerd@gnu.org>
3065
3066 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3067 matrix of mini-windows.
3068
52283633
SM
30692001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3070
3071 * intervals.c (find_interval): Don't rebalance during signal handling.
3072
ec2423c9
GM
30732001-04-11 Gerd Moellmann <gerd@gnu.org>
3074
30cb0001 3075 * fns.c: Include blockinput.h.
52283633 3076
ec2423c9
GM
3077 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3078
719d83ad
GM
30792001-04-10 Gerd Moellmann <gerd@gnu.org>
3080
60f8d735
GM
3081 * fns.c (Fcompare_strings): Fix return values.
3082
afffeb57
GM
3083 * window.c (window_scroll): Change the meaning of N to mean
3084 N screen-fulls or N lines.
3085 (window_scroll_pixel_based, window_scroll_line_based)
3086 (scroll_command, Fscroll_other_window): Change accordingly.
3087
52283633
SM
3088 * window.c (window_scroll_pixel_based, Frecenter):
3089 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3090 height of the window.
3091
3092 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3093 instead of using it.last_visible_y for the height of the window.
52283633 3094
719d83ad 3095 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3096 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3097
3098 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3099 able to write to hidden and system files. From Dan Holmsand
3100 <dan@eyebee.com>.
719d83ad 3101
8ddf3ee1
GM
3102 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3103 Holmsand <dan@eyebee.com>.
719d83ad 3104
522ed7fb
GM
31052001-04-09 Gerd Moellmann <gerd@gnu.org>
3106
9170e5d4
GM
3107 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3108
522ed7fb
GM
3109 * window.c (window_internal_height): Return 1 less if the
3110 window has a header line.
3111
3112 * xdisp.c (try_window_id): When scrolling on a terminal, take
3113 the change of window_internal_height into account.
3114
ceeb3d7d
EZ
31152001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3116
3117 * gmalloc.c (align): If the argument SIZE would overflow
3118 __malloc_ptrdiff_t, fail right away.
3119
63685b9d
GM
31202001-04-06 Gerd Moellmann <gerd@gnu.org>
3121
3122 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3123 Make sure the tooltip is completely visible.
3124 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3125
3126 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3127
3128 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3129
3ffb33bb
DL
31302001-04-06 Dave Love <fx@gnu.org>
3131
52283633
SM
3132 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3133 Fix test of `from'.
3ffb33bb 3134
869fb12c
GM
31352001-04-06 Gerd Moellmann <gerd@gnu.org>
3136
52283633 3137 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3138
869fb12c
GM
3139 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3140
441bf856
GM
31412001-04-05 Gerd Moellmann <gerd@gnu.org>
3142
4d664b04
GM
3143 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3144
52283633 3145 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3146
30ca89f5
GM
3147 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3148 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3149
3150 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3151 shell widget's position only if it is non-null.
3152
52283633
SM
3153 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3154 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3155
81a81c0f
GM
3156 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3157 FILENAME to bring it in synch with the documentation.
3158
441bf856
GM
3159 * xfaces.c (realizing_basic_faces_p): Renamed from
3160 realize_default_face_p.
3161 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3162 (realize_default_face): Don't set the flag.
3163
702a1e8e
GM
31642001-04-04 Gerd Moellmann <gerd@gnu.org>
3165
1013f4e3
GM
3166 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3167
52283633
SM
3168 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3169
1013f4e3
GM
3170 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3171 the buffer that was used for echoing.
3172
702a1e8e
GM
3173 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3174 (first_font_matching): Removed unused function.
3175 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3176 (may_use_scalable_font_p): Remove parameter FONT; rename
3177 parameter NAME to FONT.
3178 (x_face_list_fonts): Fix missing bounds check.
3179 (realizing_default_face_p): New variable.
3180 (realize_default_face): Set and clear that flag.
3181 (x_face_list_fonts): When called during the realization of the
3182 default face, and no matching fonts are found when ignoring
3183 scalable fonts and fonts matching a regexp from
3184 face-ignored-fonts, try without ignoring fonts.
3185
f9dbcda4
GM
31862001-04-03 Gerd Moellmann <gerd@gnu.org>
3187
ad18ffb1
GM
3188 * xfns.c (postprocess_image): New function.
3189 (lookup_image): Call it for all image types except PostScript.
3190 (x_kill_gs_process): Call postprocess_image.
3191
f9dbcda4
GM
3192 * xterm.c (x_use_underline_position_properties): New variable.
3193 (x_draw_glyph_string): Use it.
3194 (syms_of_xterm): DEFVAR_BOOL it.
3195
651f03b6
GM
31962001-04-02 Gerd Moellmann <gerd@gnu.org>
3197
3198 * xterm.c (x_alloc_nearest_color_1): New function.
3199 (x_alloc_nearest_color): Use it.
3200 (x_color_cells): Take a Display as argument, instead of a frame.
3201 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3202 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3203 (x_initialize): Register cvt_string_to_pixel as resource converter
3204 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3205
73d75a62
GM
32062001-03-30 Gerd Moellmann <gerd@gnu.org>
3207
b2046df8
GM
3208 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3209 (set_iterator_to_next): If a string from a display property ends,
3210 consider the case that this might also be the end of an
3211 overlay string having the display property.
3212
52283633 3213 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3214
87d8eba4
GM
3215 * xdisp.c (reseat_to_string): Undo last change.
3216
73d75a62
GM
3217 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3218 matrix of a window when the header line changes, when
3219 new rows are allocated, or when the width changes.
3220
911a2406
EZ
32212001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3222
52283633 3223 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3224
aea51abe
EZ
32252001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3226
3227 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3228 deprecated.
3229
176bc847
GM
32302001-03-29 Gerd Moellmann <gerd@gnu.org>
3231
ed31fabf
GM
3232 * data.c (Fsubr_interactive_form): New function.
3233 (syms_of_data): Defsubr it.
3234
176bc847
GM
3235 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3236 (live_float_p, live_misc_p): Return 1 only if the offset of the
3237 pointer in its block is >= 0.
3238
e59d0e9d
GM
32392001-03-28 Paul Eggert <eggert@twinsun.com>
3240
3241 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3242 microseconds calcuation. Avoid double-rounding problem.
3243 In doc string, warn that the result is approximate.
3244
f827b862
GM
32452001-03-28 Gerd Moellmann <gerd@gnu.org>
3246
30a3f61c
GM
3247 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3248 bind `inhibit-eval-during-redisplay' to t.
3249
3250 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3251
3252 * xdisp.c (inhibit_eval_during_redisplay)
3253 (Qinhibit_eval_during_redisplay): New variables.
3254 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3255 don't eval, return nil instead.
3256 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3257 Initialize Qinhibit_eval_during_redisplay.
3258
e719f5ae
GM
3259 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3260 the iterator's multibyte_p flag.
3261
deb2613a
GM
3262 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3263 instead of setting it to zero; it's incremented for each frame
3264 where the menu face is changed.
3265
52283633
SM
3266 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3267 change bottom shadow accordingly.
3268
3269 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3270 intersections here.
3271 (expose_window): Do it here instead.
52283633 3272 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3273
f827b862
GM
3274 * bytecode.c (BYTE_CODE_QUIT): New macro.
3275 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3276
4bde0ebb
GM
32772001-03-27 Gerd Moellmann <gerd@gnu.org>
3278
607ec83c
GM
3279 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3280 Give up if matrix starts in an ellipsis.
3281 (init_from_display_pos): Do nothing if POS doesn't specify
3282 a dpvec_index but the iterator has such a position.
3283
0245398f
GM
3284 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3285
aba25348
GM
3286 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3287 x/y position is (0, 0) after destroying the menu bar, restore
3288 its original position.
3289
4bde0ebb
GM
3290 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3291 (init_from_display_pos): Use it.
3292 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3293
8cdb267e
GM
32942001-03-26 Gerd Moellmann <gerd@gnu.org>
3295
3296 * xdisp.c (try_window_id): Undo last change.
3297
9948db79
EZ
32982001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3299
3300 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3301
3302 * buffer.c (syms_of_buffer): Doc fix.
3303
2eddf899
GM
33042001-03-26 Gerd Moellmann <gerd@gnu.org>
3305
3306 * xfaces.c (x_update_menu_appearance): Use local variable
3307 popup_path for setting font resources.
3308
6c145d35
EZ
33092001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3310
6a65b1b5
EZ
3311 * frame.c (Fframe_list): Don't reference tip_frame if
3312 HAVE_WINDOW_SYSTEM is not defined.
3313
6c145d35
EZ
3314 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3315 <wl@gnu.org>.
3316
d74c1900
GM
33172001-03-25 Gerd Moellmann <gerd@gnu.org>
3318
20fbd925
GM
3319 * xdisp.c (init_from_display_pos): Test invisible property
3320 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3321
927c5b3b
GM
3322 * xdisp.c (redisplay_internal) <update one window>: Make sure
3323 last_arrow_position and last_arrow_string are set.
3324
d74c1900
GM
3325 * frame.c (Fframe_list): Don't return a tooltip frame.
3326
091f8878
GM
33272001-03-23 Gerd Moellmann <gerd@gnu.org>
3328
52283633
SM
3329 * xdisp.c (mark_window_display_accurate_1): New function,
3330 extracted from mark_window_display_accurate.
3331 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3332 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3333 (mark_window_display_accurate): Use it.
3334 (redisplay_internal): Use it for the selected window.
3335 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3336 for the selected frame.
3337
ac90c44f
GM
3338 * xdisp.c Use make_number, for readability.
3339 (try_window_id): Disable rows below the window end.
3340 (try_window_reusing_current_matrix): Use cursor_row_p.
3341 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3342 of rows.
3343 (init_from_display_pos): If POS specifies a position in a display
3344 vector, maybe get the iterator set up for that ellipsis.
43c09969 3345
091f8878
GM
3346 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3347
991786dd
EZ
33482001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3349
3350 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3351
6c29b43c
GM
33522001-03-23 Gerd Moellmann <gerd@gnu.org>
3353
3354 * xfaces.c (x_update_menu_appearance): Use a different path
3355 for Lucid popup menus.
3356
d8731202
SM
33572001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3358
3359 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3360
3361 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3362 (string_buffer_position): Use `make_number'.
3363
f61a541b
GM
33642001-03-22 Gerd Moellmann <gerd@gnu.org>
3365
3c9e997b
GM
3366 * xfaces.c (x_update_menu_appearance): Renamed from
3367 x_set_menu_face_resources. Use different resources for popups.
3368
3369 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3370 (GC_CHECK_STRING_BYTES): Don't define.
3371
364cd450
GM
3372 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3373 Removed, together with subroutines.
3374 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3375 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3376
d8731202
SM
3377 * dispextern.h (x_set_menu_resources_from_menu_face):
3378 Remove prototype.
364cd450 3379
d8731202 3380 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3381 Remove calls to x_set_menu_resources_from_menu_face.
3382
d8731202
SM
3383 * xfaces.c (xm_set_menu_resources_from_menu_face):
3384 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3385
3386 * xmenu.c: Include widget.h.
3387 (single_submenu): Return int. Some cleanup.
3388 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3389
140330de
GM
33902001-03-21 Gerd Moellmann <gerd@gnu.org>
3391
3392 * xterm.c (x_update_window_end): Handle overwritten mouse face
3393 also for tool bar windows.
3394 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3395 DRAW is DRAW_IMAGE_RAISED.
3396
1741905c
GM
33972001-03-20 Gerd Moellmann <gerd@gnu.org>
3398
fa88947e
GM
3399 * print.c (syms_of_print): Doc fixes.
3400
1741905c
GM
3401 * fns.c (Fmd5): Doc fix.
3402
ade0bee1
GM
34032001-03-19 Gerd Moellmann <gerd@gnu.org>
3404
357e7376
GM
3405 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3406 Clear area of the frame not occupied by the scroll bar.
3407
c2c097cc
GM
3408 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3409 tip frame's root window buffer to *tip* right after creating
3410 the frame.
3411
ade0bee1
GM
3412 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3413 is an integer don't have to be for space characters.
3414
88c6e37e
GM
34152001-03-16 Gerd Moellmann <gerd@gnu.org>
3416
52283633
SM
3417 * indent.c (current_column, current_column_1, Fmove_to_column)
3418 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3419
c62eed76
KH
34202001-03-15 Kenichi Handa <handa@etl.go.jp>
3421
3422 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3423 drawing glyph string.
3424
c899e7e6
GM
34252001-03-15 Gerd Moellmann <gerd@gnu.org>
3426
d0bbfc99
GM
3427 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3428 (command_loop_1): Undo last change.
3429
03d1a189
GM
3430 * xterm.c (fast_find_position): Return the correct vpos.
3431
c899e7e6 3432 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3433 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3434 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3435 Call store_symval_forwarding with BUF null.
3436 (set_internal): Call store_symval_forwarding with the BUF
3437 parameter passed to set_internal. Formerly, the value was always
3438 set in the current buffer; the buffer recorded in specbind for
3439 this case wasn't used.
3440 (arith_driver): Reindent.
3441
52283633
SM
3442 * buffer.c (swap_out_buffer_local_variables):
3443 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3444
3445 * lisp.h (store_symval_forwarding): Change prototype.
3446
3447 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3448
57ac7c81
GM
34492001-03-14 Gerd Moellmann <gerd@gnu.org>
3450
697617d9
GM
3451 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3452 FOR_DELETION. Avoid resizing the mini-window of the selected
3453 frame if FOR_DELETION is set.
3454 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3455 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3456 signature.
3457
3458 * window.c (Fset_window_configuration): Change call to
3459 do_switch_frame to new format.
3460
3461 * keyboard.c (quit_throw_to_read_char): Change call to
3462 do_switch_frame to new format.
3463
3464 * lisp.h (do_switch_frame): Change prototype.
3465
819dce0f
GM
3466 * frame.c (Fframe_parameters): In the `buffer-list' frame
3467 parameter, store the buffer list of FRAME, not the list of the
3468 selected frame.
3469
57ac7c81
GM
3470 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3471 box just because the glyph row's full_width_p flag is set.
3472
65008712
GM
34732001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3474
3475 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3476 skip the padding blanks inserted in extend_face_to_end_of_line,
3477 before checking for trailing whitespace.
3478
159cf431
GM
34792001-03-13 Gerd Moellmann <gerd@gnu.org>
3480
52283633 3481 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3482 Remove special handling for LessTif/Motif.
3483 (toplevel): Don't include Xm/Xm.h.
3484
52283633
SM
3485 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3486 Remove workaround code for LessTif; it doesn't work anymore.
3487
2564ea1b 3488 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3489 Xm/ScrollBarP.h.
afcdc0a1 3490
52283633
SM
3491 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3492 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3493 contemporary LessTif.
3494
52283633
SM
3495 * xfaces.c (xm_set_menu_resources_from_menu_face):
3496 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3497
159cf431
GM
3498 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3499 removing button grabs.
3500
c6f7429a
KH
35012001-03-13 Kenichi Handa <handa@etl.go.jp>
3502
cb82d767
KH
3503 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3504 and clip-large-size-font as obsolete.
3505
c6f7429a
KH
3506 * lread.c (read_multibyte): Check the validity of multibyte
3507 sequence. If invalid, return the first byte.
3508
760cefb5
GM
35092001-03-12 Gerd Moellmann <gerd@gnu.org>
3510
3511 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3512 before running the command; timer functions or process
3513 filters may have set it.
3514
5141f9d0
EZ
35152001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3516
3517 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3518 Doc fix.
3519
b6a15240
GM
35202001-03-12 Gerd Moellmann <gerd@gnu.org>
3521
3522 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3523 to sprintf.
3524
95522746
GM
35252001-03-09 Gerd Moellmann <gerd@gnu.org>
3526
db14cfc5
GM
3527 * dispextern.h (string_buffer_position): Add prototype.
3528
52283633 3529 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3530 (single_display_prop_string_p): New functions.
3531
3532 * xterm.c (note_mouse_highlight): If there's no help-echo on
3533 a string, look at the buffer text ``under'' it.
3534
3535 * keyboard.c (make_lispy_event): Add string info to the event,
3536 analogous to what's done on mode lines.
3537 (read_key_sequence): For a click on a string, consider `local-map'
3538 and `keymap' of that string.
3539
52283633
SM
3540 * keyboard.c (make_lispy_event, make_lispy_movement):
3541 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3542
3543 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3544
3545 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3546 POS; return void.
3547
95522746
GM
3548 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3549 flags argument to emacs_open; it seems to conflict with O_EXCL.
3550
898a399d
KH
35512001-03-09 Kenichi Handa <handa@etl.go.jp>
3552
28cd4910
KH
3553 * composite.h (struct composition): Change types of members;
3554 glyph_len to unsigned, width to unsigned short.
898a399d 3555
4cdf6a6c
AI
35562001-03-08 Andrew Innes <andrewi@gnu.org>
3557
3558 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3559 menu titles.
3560
129004d3
GM
35612001-03-08 Gerd Moellmann <gerd@gnu.org>
3562
221dd3e7
GM
3563 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3564 instead of nil.
3565
52283633 3566 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3567 help-echo in strings.
3568 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3569 (fast_find_string_pos): New function.
3570
52283633
SM
3571 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3572 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3573
3574 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3575 Handle `mouse-face'.
3576
3577 * dispextern.h (face_at_string_position): Change prototype.
3578
52283633 3579 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3580
129004d3
GM
3581 * keyboard.c (make_lispy_event): Avoid generating drag events
3582 if the mouse hasn't actually moved to another buffer position.
52283633 3583
80c8ab8c
DL
35842001-03-08 Dave Love <fx@gnu.org>
3585
129004d3 3586 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3587
989521fd
GM
35882001-03-08 Gerd Moellmann <gerd@gnu.org>
3589
3590 * process.c (Fset_process_window_size): Fix a typo.
3591
bb5c338d
KH
35922001-03-08 Kenichi Handa <handa@etl.go.jp>
3593
3594 * coding.c (detect_coding_sjis): Do more rigid check.
3595 (detect_coding_big5): Likewise.
3596 (decode_coding_sjis_big5): Likewise.
3597 (Fdetect_coding_region): Call detect_coding_system with tailing
3598 anchor byte `\0' for more rigid detection.
52283633 3599 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3600 (Fdetect_coding_string): Likewise.
3601
8b8f9197
SM
36022001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3603
3604 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3605 a string before extracting its data.
3606
3bdf2660
GM
36072001-03-07 Gerd Moellmann <gerd@gnu.org>
3608
3609 * window.c (Frecenter): Rewrite code handling negative values
3610 of ARG on graphical frames.
3611
36122001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3613
3614 * window.c (displayed_window_lines): If W->start is outside the
3615 accessible portion of the buffer, call start_display with BEGV or
3616 ZV instead of W->start.
3617
471f86b9
GM
36182001-03-07 Gerd Moellmann <gerd@gnu.org>
3619
2ab62c6c
GM
3620 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3621
471f86b9
GM
3622 * process.c (Fset_process_filter): Don't crash if the input
3623 file descriptor of PROCESS is closed.
3624 (Fset_process_window_size): Likewise.
3625
101922c3
GM
36262001-03-06 Kenichi Handa <handa@etl.go.jp>
3627
3628 * xterm.c (XTflash): Make the timeout of select shorter, and call
3629 select repeatedly until the desired time expires.
3630
45d051a7
GM
36312001-03-06 Gerd Moellmann <gerd@gnu.org>
3632
3633 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3634
3635 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3636
3637 * lisp.h (Vwindow_list): Declare extern.
3638
8f372c46
EZ
36392001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3640
3641 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3642
f16a7aa5
GM
36432001-03-06 Gerd Moellmann <gerd@gnu.org>
3644
157ae273
GM
3645 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3646 to detect a case where we have to highlight a different region
3647 despite not having left the currently highlighted region.
3648 Set mouse_face_overlay in the x_display_info.
45d051a7 3649 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3650
3651 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3652
3653 * buffer.c (mouse_face_overlay_overlaps): New function.
3654
3655 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3656 (Qmouse_face): Declare extern.
3657
f16a7aa5
GM
3658 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3659 if face_change_count is non-zero.
3660
827afcac
KH
36612001-03-06 Kenichi Handa <handa@etl.go.jp>
3662
3663 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3664 that the source is unibyte.
3665
14c7242e
DL
36662001-03-05 Dave Love <fx@gnu.org>
3667
827afcac 3668 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3669
c28b847b
GM
36702001-03-05 Gerd Moellmann <gerd@gnu.org>
3671
3672 * minibuf.c (read_minibuf): Clean up the binding stack if
3673 called noninteractively.
3674
b86644f2
KH
36752001-03-05 Kenichi Handa <handa@etl.go.jp>
3676
3677 * coding.c (syms_of_coding): Docstring modified.
3678
203682cc 36792001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3680
3681 * charset.c (char_to_string): If a single byte char has modifier
3682 bits that can't be reflected to the character code, ignore them
45d051a7 3683 instead of signaling an error.
b86644f2 3684
e30bd7b7
EZ
36852001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3686
3687 * s/msdos.h: Update copyright notice.
3688
3689 * dosfns.h: Update copyright notice.
3690
3691 * dosfns.c: Update copyright notice.
3692
3693 * msdos.c: Update copyright notice.
3694
b52b65bd
GM
36952001-03-02 Gerd Moellmann <gerd@gnu.org>
3696
3697 * xterm.c (glyph_rect): New function.
3698 (XTmouse_position): Use it to raise the threshold for mouse
3699 movement event generation.
3700
53c4b1e6
EZ
37012001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3702
3703 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3704 specifies (reverse . t), reverse the initial screen colors.
3705 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3706 but we are reversing the colors, set bg_set, not fg_set.
3707 Likewise for setting background-color and reversing: set fg_set.
3708 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3709 in effect.
3710
3711 * xfaces.c (Finternal_set_lisp_face_attribute)
3712 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3713 parameters alist.
3714
f964b4d7
GM
37152001-03-02 Gerd Moellmann <gerd@gnu.org>
3716
ef53d75e
GM
3717 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3718 to a single slash in the middle of file names.
3719
52283633 3720 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3721 Accept only alphanumeric time zone names.
3722
f964b4d7
GM
3723 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3724 or width area.
3725 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3726 a widget to zero height.
52283633 3727
c3c45f65
GM
37282001-03-01 Gerd Moellmann <gerd@gnu.org>
3729
3730 * window.c (Fwindow_end): Call move_it_past_eol only if
3731 ending up on a partially visible line.
3732
028d739a
DL
37332001-03-01 Dave Love <fx@gnu.org>
3734
3735 * ccl.c (Fccl_execute): Doc fix.
3736
57c5889c
GM
37372001-03-01 Gerd Moellmann <gerd@gnu.org>
3738
35f59f6b
GM
3739 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3740 of the tool bar before calling x_figure_window_size.
3741
f84ff02c
GM
3742 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3743 NULL after destroying it, otherwise XTread_socket can access a
3744 destroyed widget when input is unblocked.
3745
8b8f9197 3746 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3747
57c5889c
GM
3748 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3749 same name as before, although there was a change in fontsets.
3750
224227d1
KR
37512001-02-28 Ken Raeburn <raeburn@gnu.org>
3752
4560730a
KR
3753 * lisp.h (Fframe_parameter): Declare.
3754
224227d1 3755 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3756 Lisp_Object.
224227d1 3757
ece93c02
GM
37582001-02-28 Gerd Moellmann <gerd@gnu.org>
3759
11ef99b9
GM
3760 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3761 NULL instead.
3762
3763 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3764 NULL instead.
3765
ece93c02
GM
3766 * alloc.c (toplevel): Include process.h.
3767 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3768 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3769 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3770 (allocate_vector, allocate_hash_table, allocate_window)
3771 (allocate_frame, allocate_process, allocate_other_vector):
3772 New functions.
ece93c02
GM
3773 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3774 (mark_maybe_pointer): New function.
52283633 3775 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3776 remain and not Lisp_Objects.
3777 (min_heap_address, max_heap_address): New variables.
3778 (mem_find): Return MEM_NIL if START is below min_heap_address or
3779 above max_heap_address.
3780 (mem_insert): Compute min_heap_address and max_heap_address.
3781
3782 * process.c (make_process): Use allocate_process.
3783
3784 * frame.c (make_frame): Use allocate_frame.
3785
3786 * window.c (make_window, make_dummy_parent): Use allocate_window.
3787 (Fcurrent_window_configuration): Use allocate_other_vector.
3788
3789 * lisp.h (allocate_vectorlike): Remove prototype.
3790 (allocate_vector, allocate_other_vector, allocate_frame)
3791 (allocate_window, allocate_process, allocate_hash_table):
3792 Add prototypes.
3793
3794 * fns.c (Fdelete, larger_vector): Use allocate_vector.
3795 (make_hash_table, copy_hash_table): Use allocate_hash_table.
3796
063af457
KH
37972001-02-27 Kenichi Handa <handa@etl.go.jp>
3798
3799 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
3800 treat the produced bytes as a valid multibyte sequence.
3801
3802 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
3803 (ccl_driver) <CCL_WriteMultibyteChar2>:
3804 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
3805 <ccl_finish>: Set ccl->eight_bit_control properly.
3806
3807 * ccl.h (struct ccl_program): New member eight_bit_control.
3808
f58c6494
SM
38092001-02-26 Stefan Monnier <monnier@cs.yale.edu>
3810
3811 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
3812 accessible_keymaps_char_table.
3813 (accessible_keymaps_char_table): Obey `is_metized'.
3814 (where_is_internal, Fwhere_is_internal): Don't confuse int and
3815 Lisp_Object.
3816
c596c392
GM
38172001-02-26 Gerd Moellmann <gerd@gnu.org>
3818
3819 * dispnew.c: Check HAVE_TERM_H before including term.h.
3820
425de386
AI
38212001-02-24 Andrew Innes <andrewi@gnu.org>
3822
3823 * makefile.w32-in: Update copyright notice.
3824
2ba11bbd
SM
38252001-02-24 Stefan Monnier <monnier@cs.yale.edu>
3826
3827 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
3828
66c56ed1
KH
38292001-02-24 Kenichi Handa <handa@etl.go.jp>
3830
4c1593ce
KH
3831 * Makefile.in (lisp): Add international/utf-8.elc.
3832
66c56ed1
KH
3833 * fontset.c (Fnew_fontset): Fix handling of the case that an
3834 element of FONTLIST is a cons of family and registry.
3835
796ead7e
JR
38362001-02-23 Jason Rumney <jasonr@gnu.org>
3837
3838 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
3839 to height unconditionally.
3840
3841 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 3842 background face to the end of the drawing area in the text area, only.
796ead7e
JR
3843 (x_insert_glyphs): Call window_box_left to obtain the left
3844 x-coordinate of the area to shift.
3845
3846 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
3847 safe_run_hooks.
3848
f6839838
AI
38492001-02-22 Andrew Innes <andrewi@gnu.org>
3850
52283633 3851 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
3852 ($(BLD)\dispnew.obj):
3853 ($(BLD)\editfns.obj):
3854 ($(BLD)\fileio.obj):
3855 ($(BLD)\filelock.obj):
3856 ($(BLD)\keyboard.obj):
3857 ($(BLD)\w32proc.obj):
3858 ($(BLD)\process.obj):
3859 ($(BLD)\sysdep.obj): Ditto.
3860
3861 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
3862 header files.
52283633
SM
3863 ($(BLD)/dispnew.$(O)):
3864 ($(BLD)/editfns.$(O)):
3865 ($(BLD)/fileio.$(O)):
3866 ($(BLD)/filelock.$(O)):
3867 ($(BLD)/keyboard.$(O)):
3868 ($(BLD)/w32proc.$(O)):
3869 ($(BLD)/process.$(O)):
f6839838
AI
3870 ($(BLD)/sysdep.$(O)): Ditto.
3871
c224f70b
GM
38722001-02-22 Gerd Moellmann <gerd@gnu.org>
3873
51695746
GM
3874 * xdisp.c (forward_to_next_line_start): When taking the shortcut
3875 at the start of the function, check that the \n in it->c is
3876 from the iterator's current position.
52283633 3877
a61b7058
GM
3878 * xdisp.c (handle_single_display_prop): Add parameter
3879 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
3880 properties which replace the display of text with something else.
3881 (handle_display_prop): Call handle_single_display_prop with
3882 additional argument saying if we already replaced text display
3883 with something else. Use AREF.
52283633 3884 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
3885 (decode_mode_spec_coding): Use AREF and ASIZE.
3886
3473f362
GM
3887 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
3888 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
3889 * vmstime.h: Files removed.
52283633 3890
2bb58df3
GM
3891 * unexencap.c, unexfx2800.c: Files removed.
3892
c224f70b
GM
3893 * dispnew.c (direct_output_for_insert): Give up if we are showing
3894 a message or just cleared the message because we might need to
3895 resize the echo area window or display an empty echo area.
3896
ffc9ff0c
GM
38972001-02-21 Gerd Moellmann <gerd@gnu.org>
3898
0528abe1
GM
3899 * xdisp.c (redisplay_internal): Do the
3900 mark_window_display_accurate after all windows have been
3901 redisplayed because this call resets flags in buffers which are
3902 needed for proper redisplay.
3903
52283633
SM
3904 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
3905 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
3906 the old names.
3907
52283633
SM
3908 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3909 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3910
3911 * msdos.h (struct x_output): Rename busy_window to
3912 hourglass_window, busy_p to hourglass_p.
3913
52283633
SM
3914 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
3915 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
3916
3917 * xfns.c: Rename everything containing *busy_cursor* and similar
3918 to *hourglass*.
3919 (syms_of_w32fns): Rename x-busy-pointer-shape to
3920 x-hourglass-pointer-shape, display-busy-cursor to
3921 display-hourglass, busy-cursor-delay to hourglass-delay.
3922
3923 * w32fns.c: Rename everything containing *busy_cursor* and similar
3924 to *hourglass*.
3925 (syms_of_w32fns): Rename x-busy-pointer-shape to
3926 x-hourglass-pointer-shape, display-busy-cursor to
3927 display-hourglass, busy-cursor-delay to hourglass-delay.
3928
3929 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
3930 of its busy_p flag.
3931
3932 * dispextern.h (start_hourglass, cancel_hourglass)
3933 (display_hourglass_p): Renamed from *busy_cursor*.
3934
ab2c5f0a
GM
39352001-02-20 Gerd Moellmann <gerd@gnu.org>
3936
d17e49a8
GM
3937 * keyboard.c (read_char): When an event from unread-command-events
3938 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
3939
fa97adf6
GM
3940 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
3941 equal to the current buffer.
3942
ab2c5f0a
GM
3943 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
3944 nil, otherwise we're left with truncate_lines t when a message
3945 is printed with message-truncate-lines bound to t.
3946
aeac019e
GM
39472001-02-19 Gerd Moellmann <gerd@gnu.org>
3948
c8bc6f65
GM
3949 * window.c (Fmove_to_window_line): Undo last change.
3950 (displayed_window_lines): Call line_bottom_y to determine
3951 the line's bottom position.
3952
3953 * dispextern.h (line_bottom_y): Add prototype.
3954
52283633 3955 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
3956 (pos_visible_p): Use it.
3957
980a2d69
GM
3958 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
3959 set redisplaying_p to 0 here instead of in Frecursive_edit.
3960 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
3961 set redisplaying_p.
3962
52283633 3963 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
3964 New variables.
3965 (syms_of_xdisp): Initialize new variables.
3966 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
3967 Specbind `inhibit-menubar-update' when updating the menu bar.
3968
65048e97
GM
3969 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
3970 safe_run_hooks.
3971
3972 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
3973 safe_run_hooks.
3974
a57c4026
GM
3975 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
3976 is null.
3977
aeac019e
GM
3978 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
3979 to the start of the file.
3980
76846b31
GM
39812001-02-16 Gerd Moellmann <gerd@gnu.org>
3982
f3f053f3 3983 * window.c (set_window_buffer): Fix last change.
52283633 3984
f3f053f3
GM
3985 * window.c (set_window_buffer): Set window's vscroll to 0.
3986
dad75588
GM
3987 * window.c (coordinates_in_window): Increase width of area
3988 where the vertical line can be dragged.
3989
c220b753
GM
3990 * xterm.c (x_set_glyph_string_background_width): Extend the
3991 background face to the end of the drawing area in the text
3992 area, only.
3993
c56b1c1b
GM
3994 * xdisp.c (handle_single_display_prop): Set iterator's position
3995 to where the `display' property starts, like for images.
3996 (dump_glyph): New function.
3997 (dump_glyph_row): Use it. Dump info about marginal areas.
3998
3999 * dispnew.c (direct_output_for_insert): Recognize more cases where
4000 glyphs can be written instead of being inserted.
4001
4002 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4003 the left x-coordinate of the area to shift.
4004
76846b31
GM
4005 * dired.c (directory_files_internal): Set result list to nil
4006 before retrying.
4007
0fc71a77
KH
40082001-02-15 Kenichi Handa <handa@etl.go.jp>
4009
4010 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4011 invalid multibyte sequence, treat *SRC as a character of
4012 eight-bit-graphic.
4013
25078b54
EZ
40142001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4015
4016 * textprop.c (Fset_text_properties): Doc fix.
4017
8399f8a0
GM
40182001-02-15 Gerd Moellmann <gerd@gnu.org>
4019
4020 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4021
9a2a6f73
DL
40222001-02-14 Dave Love <fx@gnu.org>
4023
4024 * coding.c: Doc and message fixes.
4025
bf853fee
AI
40262001-02-14 Andrew Innes <andrewi@gnu.org>
4027
4028 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4029 Emacs frame above the screen size.
4030
78c663d8
GM
40312001-02-14 Gerd Moellmann <gerd@gnu.org>
4032
4033 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4034
7cc9f69f
GM
40352001-02-13 Gerd Moellmann <gerd@gnu.org>
4036
0a411995
GM
4037 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4038 case that TO ends up beyond ZV after running before-change-functions.
4039
5ddc1b75
GM
4040 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4041 the selected window if it is showing the buffer in question.
4042
7cc9f69f
GM
4043 * dired.c (directory_files_internal): Initialize errno.
4044 (toplevel): Include errno.h.
4045
2e6621ca
GM
40462001-02-13 Kenichi Handa <handa@etl.go.jp>
4047
4048 * xfaces.c (best_matching_font): New parameter width_ratio.
4049 Multiply avgwidth by width_ratio.
4050 (choose_face_font): Call best_matching_font with width_ratio
4051 calculated from the column width of C.
4052
60222d69
AI
40532001-02-12 Andrew Innes <andrewi@gnu.org>
4054
4055 The following changes are to draw box lines inside characters area
4056 if line-width is negative.
52283633 4057
60222d69
AI
4058 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4059 face->box_line_width is negative.
4060 (x_produce_stretch_glyph): Likewise.
4061 (x_produce_glyphs): Likewise.
4062 (x_estimate_mode_line_height): Likewise.
4063 (x_draw_glyph_string_background): Likewise.
4064 (x_draw_glyph_string_foreground): Likewise.
4065 (x_draw_composite_glyph_string_foreground): Likewise.
4066 (x_draw_glyph_string_box): Likewise.
4067 (x_draw_image_foreground): Likewise.
4068 (x_draw_image_relief): Likewise.
4069 (x_draw_image_foreground_1): Likewise.
4070 (x_draw_image_glyph_string): Likewise.
4071
9804b846
KH
40722001-02-09 Kenichi Handa <handa@etl.go.jp>
4073
4074 The following changes are to draw box lines inside characters area
4075 if line-width is negative.
52283633 4076
9804b846
KH
4077 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4078 face->box_line_width is negative.
4079 (x_produce_stretch_glyph): Likewise.
4080 (x_produce_glyphs): Likewise.
4081 (x_estimate_mode_line_height): Likewise.
4082 (x_draw_glyph_string_background): Likewise.
4083 (x_draw_glyph_string_foreground): Likewise.
4084 (x_draw_composite_glyph_string_foreground): Likewise.
4085 (x_draw_glyph_string_box): Likewise.
4086 (x_draw_image_foreground): Likewise.
4087 (x_draw_image_relief): Likewise.
4088 (x_draw_image_foreground_1): Likewise.
4089 (x_draw_image_glyph_string): Likewise.
4090
4091 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4092 and :line-width can be negative.
52283633 4093 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4094
49be9f70
JR
40952001-02-09 Jason Rumney <jasonr@gnu.org>
4096
4097 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4098 characters the same as ASCII and latin-1.
4099 (x_display_and_set_cursor): Check for the focus frame's selected
4100 window instead of selected_window.
4101 (x_after_update_window_line): Don't clear if frame's internal
4102 border width is zero.
4103 (x_new_font): Don't change a tooltip's size.
4104 (w32_initialize): Set char_ins_del_ok to 1.
4105
4106 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4107 (x_set_font): If font hasn't changed, avoid recomputing
4108 faces and other things.
52283633
SM
4109 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4110 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4111 (x_create_tip_frame): Prevent changing the tooltip's
4112 background color by specifying a color for the default font
4113 in .Xdefaults.
4114 (Qcancel_timer): New variable.
4115 (syms_of_w32fns): Initialize and staticpro it.
4116 (Fx_hide_tip, Fx_show_tip): Use it.
4117 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4118 the timer.
4119 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4120
4121 * w32.c (init_environment): Duplicate local string before putenv.
4122
555e35d2
SZ
41232001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4124
4125 * charset.c (Fstring): A typo.
4126
19c92c94
KH
41272001-02-09 Kenichi Handa <handa@etl.go.jp>
4128
e47a1c33
KH
4129 * charset.c (Fstring): If all arguments are less than 256, return
4130 a unibyte string.
4131
4132 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4133 return a unibyte string.
4134
19c92c94
KH
4135 * coding.c (code_convert_region): After detecting a coding, if
4136 nothing found, set coding->composing to COMPOSITION_NO.
4137 (decode_coding_string): Likewise.
4138
d8e675f5
SM
41392001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4140
4141 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4142 to avoid overflow.
4143
bd503487
KH
41442001-02-07 Kenichi Handa <handa@etl.go.jp>
4145
4146 * charset.c (parse_str_to_multibyte): New function.
4147
4148 * charset.h (parse_str_to_multibyte): Extern it.
4149
4150 * print.c (print_string): If we are going to print a unibyte
4151 string into a multibyte buffer, convert the string to multibyte by
4152 str_to_multibyte.
4153
a8370d72
AI
41542001-02-06 Andrew Innes <andrewi@gnu.org>
4155
4156 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4157 been created. It seems we can get sent window messages such as
4158 WM_ERASEBKGND before we properly update a frame.
4159
c363a1d6
GM
41602001-02-06 Gerd Moellmann <gerd@gnu.org>
4161
4162 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4163 Avoid some unnecessary cursor positioning.
4164
a08332c0
GM
41652001-02-05 Gerd Moellmann <gerd@gnu.org>
4166
52283633 4167 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4168 (LFACE_AVGWIDTH): New macro.
4169 (LFACEP): Use AREF.
4170 (check_lface_attrs): Check LFACE_AVGWIDTH.
4171 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4172 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4173 (merge_face_vectors): Check LFACE_AVGWIDTH.
4174 (Finternal_make_lisp_face): Use AREF.
4175 (xm_set_menu_resources_from_menu_face)
4176 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4177 (Finternal_lisp_face_empty_p): Use AREF.
4178 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4179 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4180 Compare average widths..
4181 (best_matching_font): Arrange for comparing average widths.
4182
52283633
SM
4183 * dispextern.h (enum lface_attribute_index):
4184 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4185
5cb3c8d4
DL
41862001-02-05 Dave Love <fx@gnu.org>
4187
4188 * puresize.h: Revert last change following loadup.el change.
4189
193fba87
AI
41902001-02-05 Andrew Innes <andrewi@gnu.org>
4191
4192 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4193 invocation of temacs, to work with Windows 2000.
4194 (bootstrap-emacs): Ditto.
4195
e16f52ce
GM
41962001-02-05 Gerd Moellmann <gerd@gnu.org>
4197
7a58ab59
GM
4198 * xterm.c (x_display_and_set_cursor): Check for the focus
4199 frame's selected window instead of selected_window.
4200
e89aaabd
GM
4201 * xdisp.c (try_scrolling): If point is in the line below the
4202 window, make sure to move the iterator at least a canonical
4203 char height down.
4204
52283633 4205 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4206
789ce875
KH
42072001-02-05 Kenichi Handa <handa@etl.go.jp>
4208
52283633
SM
4209 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4210 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4211 (ccl_driver): If the CCL program is terminated because of
4212 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4213 destination instead of throwing them away.
4214
20b28f82
GM
42152001-02-02 Gerd Moellmann <gerd@gnu.org>
4216
79fb38c0
GM
4217 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4218 faces and other things.
4219
20b28f82
GM
4220 * xdisp.c (get_next_display_element): Fix case of empty
4221 display table entry.
4222
5a72551e
EZ
42232001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4224
eb24d0bf
EZ
4225 * editfns.c (Fconstrain_to_field): Doc fix.
4226
6a3f48c7
EZ
4227 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4228 into `thoroughly', to make it consistent with the doc string.
4229
5a72551e
EZ
4230 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4231
01acdb05
GM
42322001-02-01 Gerd Moellmann <gerd@gnu.org>
4233
0353b28f
GM
4234 * search.c (search_buffer): Call set_search_regs with a byte
4235 position, not a character position.
4236
01acdb05
GM
4237 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4238 minibuffer-only,
4239
e86b5133
EZ
42402001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4241
4242 * frame.c (Fmodify_frame_parameters): Doc fix.
4243
7442878f
GM
42442001-01-31 Gerd Moellmann <gerd@gnu.org>
4245
01acdb05
GM
4246 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4247 identifier which is not reserved by Standard C.
52283633 4248
7442878f
GM
4249 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4250
4251 * window.c (enum window_part): New enumeration.
4252 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4253 Qright_bitmap_area.
4254 (coordinates_in_window): Return an enumerator from enum
4255 window_part. Fix handling of right scroll bar.
4256 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4257 `right-fringe' instead of `left-bitmap-area' and
4258 `right-bitmap-area'. Use enumerators from enum window_part
4259 instead of hard-coded integers.
52283633
SM
4260 (check_window_containing, window_from_coordinates):
4261 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4262 (syms_of_window): Replace Qleft_bitmap_area and
4263 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4264
7c132cba
EZ
42652001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4266
4267 * editfns.c (Fformat_time_string): Doc fix.
4268
c359dd9e
SM
42692001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4270
4271 * keymap.c (Fwhere_is_internal): Use the first valid binding
4272 if no ascii binding is found (when firstonly is t).
4273
ce070307
GM
42742001-01-31 Gerd Moellmann <gerd@gnu.org>
4275
b4f30ec5
GM
4276 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4277 instead of Finteractive_p.
4278
4279 * lisp.h (interactive_p): Add prototype.
4280
4281 * eval.c (interactive_p): New function.
4282 (Finteractive_p): Use it.
4283
ce070307
GM
4284 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4285
f57b6e64
DL
42862001-01-31 Dave Love <fx@gnu.org>
4287
d61c7afe
DL
4288 * .gdbinit (hook-run): Define to run xreload.
4289
f57b6e64
DL
4290 * textprop.c (Fset_text_properties): Fix newline in doc string.
4291
eef93f99
GM
42922001-01-30 Gerd Moellmann <gerd@gnu.org>
4293
52283633
SM
4294 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4295 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4296
4297 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4298 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4299 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4300
4301 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4302 height.
4303
d9c1f6f9
DL
43042001-01-30 Dave Love <fx@gnu.org>
4305
4306 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4307 AFTER_POTENTIAL_GC.
4308
e8f044a0
GM
43092001-01-29 Gerd Moellmann <gerd@gnu.org>
4310
52283633
SM
4311 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4312 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4313
8e1db7b3
EZ
43142001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4315
4316 * textprop.c (Fset_text_properties): Doc fix.
4317
4eefd9d2
GM
43182001-01-29 Gerd Moellmann <gerd@gnu.org>
4319
4320 * xdisp.c (forward_to_next_line_start): Remove xassert.
4321
fccb8288
EZ
43222001-01-29 Jason Rumney <jasonr@gnu.org>
4323
4eefd9d2 4324 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4325 returning without releasing it.
4326
76581eab
KH
43272001-01-29 Kenichi Handa <handa@etl.go.jp>
4328
4329 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4330 for '^', '$', and '\0'.
4331
83a96b4d
AC
43322001-01-28 Andrew Choi <akochoi@i-cable.com>
4333
5604ec34
AC
4334 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4335 regex for '^', '$', and '\0'.
4336
83a96b4d
AC
4337 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4338 only if current_sblock has been initialized.
4339
4340 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4341 terminal frame even if it is the only visible frame.
4342
c09a6440
KH
43432001-01-28 Kenichi Handa <handa@etl.go.jp>
4344
4345 * fontset.c (font_family_registry): Even if FONTNAME conform to
4346 XLFD, if it specifies other fields than family and registry,
52283633 4347 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4348 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4349 a signle byte character. Don't set FAMILY part to nil here.
4350 It is handled by the caller choose_face_font.
c09a6440
KH
4351 (Fnew_fontset): Call font_family_registry with FORCE 0.
4352 (Fset_fontset_font): Likewise.
4353
4dcd74e6
GM
43542001-01-27 Gerd Moellmann <gerd@gnu.org>
4355
4356 * xdisp.c (display_line): Don't treat a newline as fitting
4357 on the line.
4358
d2906bf8
GM
43592001-01-26 Gerd Moellmann <gerd@gnu.org>
4360
0130fe1a
GM
4361 * window.c (size_window): Set the window's orig_top to nil when
4362 changing heights, so that a future shrink_mini_window won't
4363 restore a bogus height.
4364
550f0e6a
GM
4365 * frame.c (do_switch_frame): If selected frame has a mini-window,
4366 resize that to exact size.
4367
b7b20fbd
GM
4368 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4369
a47b7816
GM
4370 * xdisp.c (display_line): Simplify check for glyphs fitting
4371 entirely in the line.
4372
d2906bf8
GM
4373 * xfns.c (xic_style): New variable.
4374 (create_frame_xic): Move static variable to global scope for
550f0e6a 4375 the case that `static' gets defined away.
d2906bf8 4376
73df2b1e
KH
43772001-01-26 Kenichi Handa <handa@etl.go.jp>
4378
4379 * coding.c (decode_coding): Set a flag for inhibiting
4380 inconsistent eol.
4381 (code_convert_region): Always set saved_coding_symbol.
4382 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4383 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4384
6613cfc4
GM
43852001-01-25 Gerd Moellmann <gerd@gnu.org>
4386
c5e6e06b
GM
4387 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4388 XClearArea.
4389
4390 * xterm.c (x_after_update_window_line): Don't clear if frame's
4391 internal border width is zero.
4392 (x_clear_area): New function.
4393 (x_after_update_window_line, x_clear_end_of_line)
4394 (x_scroll_bar_create, x_scroll_bar_set_handle)
4395 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4396 instead of XClearArea.
4397
4398 * xterm.h (x_clear_area): Add prototype.
4399
6613cfc4
GM
4400 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4401 which doesn't seem necessary anymore with Lesstif 0.92.
4402
650cc6cc
DL
44032001-01-25 Dave Love <fx@gnu.org>
4404
34ac3367
DL
4405 * puresize.h (BASE_PURESIZE): Up to 720000.
4406
650cc6cc
DL
4407 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4408
5e37dc22
GM
44092001-01-25 Gerd Moellmann <gerd@gnu.org>
4410
e1e441f9
GM
4411 * xdisp.c (echo_area_display): Don't call redisplay_internal
4412 when Emacs is shutting down. We can't run hooks etc. that
4413 would be necessary to do a redisplay.
4414
5e37dc22
GM
4415 * lread.c (read_integer): Use type EMACS_INT instead of int.
4416
0fb94c7f
EZ
44172001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4418
4419 * ccl.c (ccl_driver): Fix last change.
4420
e3778624
KH
44212001-01-25 Kenichi Handa <handa@etl.go.jp>
4422
4423 * ccl.h (sturct ccl_program): New member suppress_error.
4424
bb264518 4425 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4426 insert error message to the output.
4427 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4428
4429 * coding.h (struct coding_system): New member suppress_error.
4430
4431 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4432 (Fset_terminal_coding_system_internal): Set the member
4433 suppress_error to 1.
4434 (Fset_safe_terminal_coding_system_internal): Likewise.
4435
245ed2b1
SM
44362001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4437
4438 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4439 as if it was a `charset'.
4440
f9aaedb6
GM
44412001-01-24 Gerd Moellmann <gerd@gnu.org>
4442
4443 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4444 value in where_is_cache; the next lookup in the cache returns
4445 something bogus if we do.
4446
c3902c3e
EZ
44472001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4448
4449 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4450 if HAVE_WINDOW_SYSTEM isn't defined.
4451
3497f73e
GM
44522001-01-24 Gerd Moellmann <gerd@gnu.org>
4453
e7e41584
GM
4454 * fns.c (sweep_weak_table): Fix code taking items out of
4455 the hash collision chain. Some cleanup.
4456
3497f73e
GM
4457 * xterm.c (x_new_font): Don't change a tooltip's size.
4458
4459 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4460 background color by specifying a color for the default font
4461 in .Xdefaults.
4462
3d48e687
KH
44632001-01-24 Kenichi Handa <handa@etl.go.jp>
4464
96531b20
KH
4465 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4466 a workaround for SunOS 4's cc.
4467 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4468 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4469 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4470 statement.
3d48e687 4471
a30629d2
GM
44722001-01-23 Gerd Moellmann <gerd@gnu.org>
4473
4474 * xterm.c (x_set_window_size_1): New function extracted from
4475 x_set_window_size.
4476 (x_set_window_size): Use it.
4477 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4478 doesn't have a widget, like tooltips.
4479
5a43decf
EZ
44802001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4481
52283633 4482 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4483
b0e98867
KH
44842001-01-23 Kenichi Handa <handa@etl.go.jp>
4485
4486 * fns.c (Fset_char_table_default): Fix to make sub char-table
4487 correctly.
4488
50606b4c
GM
44892001-01-22 Gerd Moellmann <gerd@gnu.org>
4490
cb2ddc53 4491 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4492 a desired tool bar string, even if there are no tool bar items.
4493
57c28064
GM
4494 * xdisp.c (Ftool_bar_lines_needed): New function.
4495 (syms_of_xdisp): Defsubr it.
4496
50606b4c
GM
4497 * editfns.c (Fformat): Don't extend text properties from arguments
4498 to padding chars in the result.
4499
2f169c38
EZ
45002001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4501
4502 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4503
0f32f023
AI
45042001-01-20 Andrew Innes <andrewi@gnu.org>
4505
52283633 4506 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4507 (w32_initialize): Don't set term hooks that aren't actually needed
4508 in windowed mode.
4509
4510 * xfaces.c (realize_default_face):
4511 (realize_face):
4512 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4513
4514 * xdisp.c (handle_single_display_prop): Remove references to
4515 FRAME_W32_CONSOLE_P.
4516
52283633 4517 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4518
4519 * frame.h (output_method): Remove output_w32_console method.
4520 (FRAME_W32_CONSOLE_P): Remove macro.
4521
4522 * frame.c (Qw32_console): Remove variable.
4523 (Fframep): Remove references to it.
4524 (syms_of_frame): Ditto.
4525 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4526
4527 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4528 redefinition.
4529
7173eada
KH
45302001-01-20 Kenichi Handa <handa@etl.go.jp>
4531
4532 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4533
755b45ce
AI
45342001-01-19 Andrew Innes <andrewi@gnu.org>
4535
4536 * w32.c (init_environment): Add a version-independent site-lisp
4537 directory to EMACSLOADPATH, after the version dependent one.
4538
0a949811
GM
45392001-01-19 Gerd Moellmann <gerd@gnu.org>
4540
8501998a
GM
4541 * editfns.c (Fbuffer_substring): Doc fix.
4542
52283633
SM
4543 * xdisp.c (message_dolog, message2, message2_nolog):
4544 Rename parameter LEN to NBYTES.
0a949811 4545
e6ebcbbe
KH
45462001-01-19 Kenichi Handa <handa@etl.go.jp>
4547
200ecca2
KH
4548 * charset.c (strwidth): Use c_string_width.
4549 (c_string_width): New function.
4550 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4551 Caller changed.
4552
4553 * charset.h (c_string_width, lisp_string_width): Extern them.
4554
52283633 4555 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4556
e6ebcbbe
KH
4557 * indent.c (check_composition): Check validity of composition.
4558
200ecca2
KH
4559 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4560 characters by calling c_string_width.
4561 (x_consider_frame_title): Get byte length of frame tile string
4562 correctly.
4563 (display_mode_element): Pay attention to width of non-ASCII
4564 characters by calling strwidth.
4565
8692ca92
GM
45662001-01-18 Gerd Moellmann <gerd@gnu.org>
4567
8962e303
GM
4568 * xfns.c (Qcancel_timer): New variable.
4569 (syms_of_xfns): Initialize and staticpro it.
4570 (Fx_hide_tip, Fx_show_tip): Use it.
4571 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4572 the timer.
4573 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4574
91523be9
GM
4575 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4576
4577 * window.h (WINDOW_LIVE_P): New macro.
4578
b0b7ed0e
GM
4579 * window.c (window_size_fixed): New variable.
4580 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4581 the doc string.
4582
06bccf8e
GM
4583 * eval.c (specbind): If binding a per-buffer variable which
4584 doesn't have a buffer-local value in the current buffer, change
4585 the global value by changing the value of the symbol bound in all
4586 buffers not having their own value, to make it consistent with
4587 what happens with other buffer-local variables.
4588
8692ca92
GM
4589 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4590
4591 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4592 when searching for a newline.
4593
bb3a3b50
KH
45942001-01-18 Kenichi Handa <handa@etl.go.jp>
4595
4596 * xdisp.c (display_string): Fix previous change.
4597
c2cc16fa
JR
45982001-01-18 Jason Rumney <jasonr@gnu.org>
4599
4600 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4601 GLYPH_DEBUG is defined.
4602 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4603 true for images with `:ascent 100'.
4604 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4605 meantime, use face MOUSE_FACE_ID.
4606 If first glyph isn't a character glyph, use the ASCII NUL
4607 character to determine the face.
4608 (expose_area): Do not treat left margin specially.
4609 (note_mode_line_highlight): If no local_map, check global keymap.
4610 (note_mouse_highlight): Initialize overlay.
52283633 4611 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4612 (show_scroll_bars): Remove unused function.
4613 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4614 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4615 Clip to row.
52283633 4616 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4617 (x_free_frame_resources): Unload relief colors.
4618
9c11f79e
GM
46192001-01-17 Gerd Moellmann <gerd@gnu.org>
4620
3aec8722 4621 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4622 get_next_display_element when the newline is already found.
4623 This may change the iterator's position, when its current position is
3aec8722
GM
4624 equal to the iterator's stop_charpos.
4625
f3ffc2c3
GM
4626 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4627 zero, use this method only at the end of a line.
4628
52283633 4629 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4630 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4631 if SCALABLE_FONTS_P is set.
52283633 4632
d26d6fd9
GM
4633 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4634 so that scalable fonts are included.
4635
9c11f79e
GM
4636 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4637 In the cache, use a key containing the information if scalable
4638 fonts are included.
4639 (x_load_font): Adapt to change of keys in the font cache.
4640
46412001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4642
d26d6fd9
GM
4643 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4644 XListFonts to take advantage of font caching.
4645
9c11f79e
GM
4646 * xterm.c (x_list_fonts): Ensure caching font information when
4647 called for a null frame, which is the case frequently when Emacs
4648 starts.
4649
51446987
GM
46502001-01-17 Gerd Moellmann <gerd@gnu.org>
4651
f864120f
GM
4652 * xfns.c (QCconversion): Replaces QCalgorithm.
4653
4654 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4655
4656 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4657 of :algorithm.
52283633 4658
e37d1417
GM
4659 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4660 not everything could be displayed.
4661
51446987
GM
4662 * line.h, x-list-font.c: Files removed because unused.
4663
9ad4f3e5
AI
46642001-01-17 Andrew Innes <andrewi@gnu.org>
4665
4666 * dired.c (directory_files_internal): Convert result from readdir
4667 to a unibyte string initially, to avoid possible misinterpretation
4668 of some bytes as the internal form of Emacs characters.
4669
2eda09b5
KH
46702001-01-17 Kenichi Handa <handa@etl.go.jp>
4671
4672 * fns.c (concat): Be sure to avoid putting the same `composition'
4673 property on the adjacent regions.
4674
826f3788
GM
46752001-01-16 Gerd Moellmann <gerd@gnu.org>
4676
52283633 4677 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4678 (Fscroll_right, Fscroll_left): Set it here instead, if called
4679 interactively.
4680
d57b83b3
GM
4681 * buffer.c (Fset_buffer_modified_p): Set buffer's
4682 prevent_redisplay_optimizations_p flag.
4683
826f3788 4684 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4685 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4686 with additional arg.
4687
4688 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4689 Change prototype.
826f3788 4690
826f3788
GM
4691 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4692 FROM_WHERE, for debugging.
4693
261d788b
KH
46942001-01-16 Kenichi Handa <handa@etl.go.jp>
4695
4696 * ccl.c (Fregister_ccl_program): Handle the return value of
4697 resolve_symbol_ccl_program correctly.
52283633 4698 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4699
bccee4f2
GM
47002001-01-15 Gerd Moellmann <gerd@gnu.org>
4701
e4ded23c
GM
4702 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4703 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4704
4705 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4706 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4707 the display; we didn't open it.
4708
bccee4f2
GM
4709 * dispnew.c (save_or_restore_current_matrices): Function removed.
4710 (save_current_matrix, restore_current_matrix): New functions.
4711 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4712 restore the frame's current matrix. Due to the glyph pointer
4713 setup done in adjust_glyph_matrix, there is no easy way to make
4714 saving the current matrix in the desired matrix generally correct,
4715 so don't try it.
4716
ebeccffa
KH
47172001-01-15 Kenichi Handa <handa@etl.go.jp>
4718
4719 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4720 truncation glyphs.
4721 (display_line): Optimize for wide characters.
e4ded23c 4722 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4723 partially. On ttys, produce more than one truncation glyph for
4724 multi-column characters that don't fit on the line.
4725
64388126
KH
47262001-01-13 Kenichi Handa <handa@etl.go.jp>
4727
52283633
SM
4728 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4729 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4730
8edb0a6f
JR
47312001-01-13 Jason Rumney <jasonr@gnu.org>
4732
4733 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4734 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4735 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4736 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4737
52283633
SM
4738 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4739 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4740 (x_draw_image_glyph_string): Adapt to change of image margins.
4741
4742 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4743 variables.
4744
4745 * w32bdf.c (search_file_line, get_cached_font_char)
4746 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4747
4748 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4749
4750 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4751 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4752 (Fw32_send_sys_command): Remove unused variables.
4753 (w32_msg_pump): Add parentheses.
4754
4755 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4756 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4757 Add parentheses.
4758
4956d1ef
GM
47592001-01-12 Gerd Moellmann <gerd@gnu.org>
4760
b30623be
GM
4761 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4762 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4763 being a pair of margins.
4764 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4765 to DEFVAR_LISP. Extend doc.
4766
4767 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4768 margins.
4769 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4770 pair of integers `(X . Y)', use X for the horizontal and Y for the
4771 vertical margin.
4772 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4773 (parse_image_spec): Check it.
52283633
SM
4774 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4775 (tiff_format, gif_format, gs_format):
4776 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4777
52283633
SM
4778 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
4779 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
4780 (x_draw_image_glyph_string): Adapt to the change of image margins.
4781
4782 * dispextern.h (struct image): Replace member `margin' with
4783 `hmargin' and `vmargin'.
4784
4554cc79
GM
4785 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
4786 and GLYPHS.
4787
4788 * dispnew.c (update_text_area): Put code which decrements the
4789 stop position when the row's face extends to the end of the
3bffc665 4790 line in #if 0.
4554cc79 4791
3cccce8d
GM
4792 * xfns.c (x_set_mouse_color): Fix color allocation.
4793
4956d1ef
GM
4794 * keyboard.c: Call get_local_map with new argument list.
4795
4796 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
4797
4798 * intervals.h (enum map_property): Removed.
4799 (get_local_map): Change prototype.
4800
4801 * keymap.c: Call get_local_map with new argument list.
4802 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
4803
2c2ff7f2
GM
48042001-01-11 Gerd Moellmann <gerd@gnu.org>
4805
a23887b9
GM
4806 * xdisp.c (build_desired_tool_bar_string): Correct the computation
4807 of the size needed for the tool bar string. For the last image,
4808 use a `display' property that reaches to the end of the string.
4809
a7ee2d2e
GM
4810 * xselect.c (selection_request_dpyinfo): New variable.
4811 (x_handle_selection_request): Set it.
4812 (x_selection_request_lisp_error): Don't call
4813 x_decline_selection_request if selection request's display has
4814 been closed.
4815
52283633
SM
4816 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
4817 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 4818
457b792c
GM
48192001-01-10 Dave Love <fx@gnu.org>
4820
4821 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
4822 ${SOME_MACHINE_LISP}, not ${lisp}.
4823
c1efd260
GM
48242001-01-10 Gerd Moellmann <gerd@gnu.org>
4825
52283633
SM
4826 * xdisp.c (display_line): On ttys, produce more than one truncation
4827 glyph for multi-column characters that don't fit on the line.
a98b5ed9 4828
ac95a621
GM
4829 * xselect.c (x_reply_selection_request): Add a comment.
4830
c1efd260
GM
4831 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
4832 XkbGetNames instead of XkbGetKeyboard.
4833
1bfb1345
DL
48342001-01-10 Dave Love <fx@gnu.org>
4835
4836 * sysdep.c (random): Revert the declaration.
4837
38119822
GM
48382001-01-09 Gerd Moellmann <gerd@gnu.org>
4839
52283633
SM
4840 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
4841 Call function string_bytes.
35f464a7
GM
4842 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
4843
4844 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
4845 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
4846 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
4847 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
4848 the current sblock.
4849 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
4850 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
4851 after sweeping strings, and at the end.
4852 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
4853
38119822
GM
4854 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
4855 ensure that pop_message is called.
4856
4857 * keyboard.c (Fexecute_extended_command): Use a
4858 record_unwind_protect to ensure that pop_message is called.
4859
4860 * lisp.h (push_message_unwind): Add prototype.
4861
4862 * xdisp.c (push_message_unwind): New function.
4863
4864 * fileio.c (do_auto_save_unwind): Do the pop_message here
4865 instead of in Fdo_auto_save.
4866 (Fdo_auto_save): Don't call pop_message.
4867
f47a9ec4
KR
48682001-01-08 Ken Raeburn <raeburn@gnu.org>
4869
4870 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
4871 in inner block.
4872
a758f97d
GM
48732001-01-08 Gerd Moellmann <gerd@gnu.org>
4874
6d0afc03
GM
4875 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4876 when increasing window's vscroll.
4877
a758f97d
GM
4878 * macros.c (Qkbd_macro_termination_hook): New variable.
4879 (syms_of_macros): Initialize and staticpro it.
4880 (pop_kbd_macro): Run kbd-macro-termination-hook.
4881
4882 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
4883
1bfb1345 48842001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
4885
4886 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
4887 arglist, for documentation's sake.
4888
0dac6924
AI
48892001-01-06 Andrew Innes <andrewi@gnu.org>
4890
4891 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
4892 of *.pdb.
4893
8182406a
AI
48942001-01-05 Andrew Innes <andrewi@gnu.org>
4895
4896 * term.c (update_end): Don't check updating_frame; for some reason
4897 this can be 0 sometimes, such as after dismissing a popup menu,
4898 and isn't necessary given the explicit frame argument.
4899
3828218c
GM
49002001-01-05 Gerd Moellmann <gerd@gnu.org>
4901
4902 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
4903 on some systems, and an unsigned long on others, like FreeBSD 4.1.
4904
2f5ded21
GM
49052001-01-04 Gerd Moellmann <gerd@gnu.org>
4906
52283633 4907 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
4908
4909 * xfns.c (x_create_tip_frame): Preserve the value of
4910 face_change_count around the creation of the tip frame.
52283633 4911
2f5ded21
GM
4912 * xfns.c (last_show_tip_args): New variable.
4913 (compute_tip_xy): New function.
4914 (Fx_show_tip): Reuse an existing tip frame, if possible.
4915 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
4916
dfad65fa
DL
49172001-01-04 Dave Love <fx@gnu.org>
4918
64d4ec0f
DL
4919 * editfns.c (Fformat): Doc fix.
4920
dfad65fa
DL
4921 * systime.h (set_file_times): Prototype.
4922
4923 * widget.h (EmacsFrameSetCharSize_): Prototype.
4924
4925 * sysdep.c (random, srandom): Declare explicitly.
4926
4927 * dispextern.h (move_it_vertically_backward): Declare.
4928
85fe3b5e
GM
49292001-01-04 Gerd Moellmann <gerd@gnu.org>
4930
0f2ac578
GM
4931 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
4932 like in Fx_create_frame.
4933
482cca61
GM
4934 * xfaces.c (set_font_frame_param): Don't do anything for
4935 non-graphical frames.
4936
85fe3b5e
GM
4937 * window.c (Fdelete_other_windows): Set window's window_end_valid
4938 to nil when changing the window's start. Don't change the
4939 window's start when its top position hasn't changed. If we do,
4940 this will set the window's optional_new_start, which act's like a
4941 force_start during redisplay with C-x 1 M-> under particular
4942 circumstances (see report from Per Starback to emacs-pretest-bug
4943 from 2000-12-13.).
4944
3e99d3b4
GM
49452001-01-03 Gerd Moellmann <gerd@gnu.org>
4946
a77dc1ec
GM
4947 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
4948 short cut at the start of the function. Add an assertion.
4949 (reseat_at_next_visible_line_start): Add an assertion.
4950
2f3cad6c
GM
4951 * window.c (Frecenter): When changing the window start, set the
4952 window's window_end_valid to nil.
4953 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
4954
4955 * dispextern.h (move_it_past_eol): Add prototype.
4956
4957 * xdisp.c (move_it_past_eol): New function.
4958
3e99d3b4
GM
4959 * window.c (Fwindow_end): Doc fix.
4960
49612001-01-03 Dave Love <fx@gnu.org>
4962
52283633 4963 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 4964
bafb434c
GM
49652001-01-03 Gerd Moellmann <gerd@gnu.org>
4966
4967 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
4968 the enabled_p flag of the glyph row at window_end_vpos to 0.
4969 (handle_single_display_prop): Fix last change.
4970
5297fb00
RS
49712001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4972
4973 * window.c (Frecenter): Doc fix.
4974
13d6a61c
AI
49752001-01-02 Andrew Innes <andrewi@gnu.org>
4976
4977 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
4978
4979 * frame.h (output_method): Add output_w32_console method.
4980 (FRAME_W32_CONSOLE_P): New macro.
4981
4982 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
4983 use output_w32_console method.
4984 (Qw32_console): New Lisp_Object.
4985 (Fframep): Return it.
4986 (syms_of_frame): Init it.
52283633 4987 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
4988
4989 * xfaces.c (realize_default_face): Set face foreground and
4990 background to unspecified for w32_console frames.
4991 (realize_face): Realize face cache for w32_console frames.
4992 (realize_tty_face): Accept w32_console frames.
4993
52283633 4994 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
4995 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
4996 necessary, even if running interactively.
4997
4998 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
4999 w32_console frames.
5000
52283633
SM
5001 * w32term.c (x_update_begin):
5002 (x_update_end):
5003 (x_clear_frame):
5004 (x_ins_del_lines):
5005 (x_change_line_highlight):
5006 (x_delete_glyphs):
5007 (w32_ring_bell):
5008 (x_update_begin):
5009 (x_update_end):
5010 (w32_reassert_line_highlight):
5011 (w32_frame_rehighlight):
13d6a61c
AI
5012 (w32_frame_raise_lower): Do nothing if not w32 frame.
5013
5014 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5015
5016 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5017 system doesn't tell us directly.
5018 (Fx_display_visual_class): Implement properly.
5019
d6bb0c0d
GM
50202001-01-02 Gerd Moellmann <gerd@gnu.org>
5021
5022 * window.c (Frecenter): Handle centering in graphical frames
5023 specially. Centering on the basis of line counts doesn't work
5024 reliably with variable-height lines.
52283633 5025
315f5865
EZ
50262001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5027
5028 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5029 and al[].
5030
52283633 5031 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5032 (update_compositions): Remove unused variable `hook'.
5033
5034 * intervals.c (get_local_map): Remove unused variable `tem'.
5035
5036 * doprnt.c (doprnt1): Remove unused variable `size'.
5037
5038 * fns.c (Flength): Remove unused variable `tail'.
5039 (Fdelete): Remove unused variable `size'.
5040
5041 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5042 and `gcpro2'.
5043
52283633 5044 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5045
5046 * data.c (find_symbol_value): Remove extra 3rd argument in the
5047 call to swap_in_symval_forwarding.
5048
52283633 5049 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5050
5051 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5052 (trivial_regexp_p): Remove unused variable `c'.
5053 (boyer_moore): Remove unused variable `k'.
5054
5055 * indent.c (current_column): Remove unused variable `stopchar'.
5056 (Fcompute_motion): Remove unused variable `contin'.
5057
5058 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5059
5060 * dired.c (directory_files_internal): Fix a typo in a comment.
5061 Remove an unused variable `handler'.
52283633 5062 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5063 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5064 on BSD4_2.
5065
52283633 5066 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5067
5068 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5069 and `buf'.
5070 (Fmarker_insertion_type): Remove unused variable `buf'.
5071
5072 * insdel.c (make_gap): Remove unused variable `result'.
5073
52283633 5074 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5075 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5076 (menu_bar_items): Remove unused function-scope variable `tem'.
5077
5078 * fontset.c (fontset_ref): Remove unused variable `i'.
5079 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5080 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5081 (make_fontset_for_ascii_face): Remove unused variable `name'.
5082 (fs_load_font): Remove unused variable `font_idx'.
52283633 5083 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5084 (list_fontsets): Remove unused variable `tail'.
5085 (Fnew_fontset): Remove unused variables `family' and `registry'.
5086 (accumulate_font_info): Remove unused variable `tmp'.
5087 (Ffontset_font): Remove unused variable `id'.
5088 (syms_of_fontset): Remove unused variable `i'.
5089
5090 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5091 to x_term_init.
5092 (lookup_image): Remove unused variable `file'.
5093 (xbm_load): Remove unused variables `bitmap_data', `height', and
5094 `width'. Remove function-local variable `i', leave the
5095 block-local one.
5096 (gif_load): Remove unused variable `inc'.
5097
52283633 5098 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5099 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5100 leave only the one in the inner block.
5101
5102 * xfaces.c (face_fontset, realize_default_face): Remove unused
5103 variable `fontset'.
5104 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5105
5106 * term.c (encode_terminal_code): Remove unused variable `c'.
5107
5108 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5109 char *' instead of `char *'.
5110
5111 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5112 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5113 (Fchar_category_set): Remove unused variables `val', `charset',
5114 `c1' and `c2'.
5115
52283633
SM
5116 * coding.c (detect_coding_iso2022, setup_coding_system):
5117 Remove unused variable `i'.
315f5865
EZ
5118 (detect_coding_mask): Remove unused variable `idx'.
5119 (detect_coding): Remove unused variable `i'.
5120 (ccl_coding_driver): Remove unused variable `result'.
5121 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5122 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5123 (encode_coding_string): Remove unused variables `gcpro1' and
5124 `saved_coding_symbol'.
5125 (Ffind_coding_systems_region_internal): Remove function-local
5126 variable args[], leave only the block-local one.
5127 (code_convert_region1): Remove unused variable `len'.
5128
5129 * charset.c (char_printable_p): Remove unused variable `chars'.
5130 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5131 (str_to_multibyte): Remove unused variable `c'.
5132
5133 * window.c (size_window): Remove block-local variable `min_size'.
5134
5135 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5136 `header_line_height'.
5137 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5138 enum display_element_type.
5139
1a8a9daf
GM
51402001-01-02 Gerd Moellmann <gerd@gnu.org>
5141
6dde6abc 5142 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5143 statements that call X. Save away the error message in a local copy.
5144
1883b2c6
GM
5145 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5146 the start.
5147
a13be207
GM
5148 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5149 in or at the start of invisible text.
5150
1a8a9daf
GM
5151 * dispnew.c (update_window): Don't check_current_matrix_flags.
5152
3608c0f9
JR
51532001-01-01 Jason Rumney <jasonr@gnu.org>
5154
5155 * w32fns.c (x_figure_window_size): Do not allow new_height and
5156 new_width of frame to override specified values.
5157
abb1acc4
KH
51582000-12-30 Kenichi Handa <handa@etl.go.jp>
5159
52283633 5160 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5161
762a68ec
GM
51622000-12-29 Gerd Moellmann <gerd@gnu.org>
5163
52283633 5164 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5165 (update_window) [GLYPH_DEBUG]: Call it.
5166 (scrolling_window): Prevent including current rows which are below
5167 what's displayed in the window.
5168
5169 * xdisp.c (try_window_reusing_current_matrix)
5170 <new start <= old start>: Disable rows in the current matrix
5171 which are below the window after scrolling.
52283633 5172
762a68ec
GM
5173 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5174 is zero. It's not worth the complexity.
5175 (invisible_text_between_p): Put in #if 0 because unused.
5176
2d5912c1
GM
51772000-12-28 Gerd Moellmann <gerd@gnu.org>
5178
46f6a258
GM
5179 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5180 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5181
89f93679
GM
5182 * keyboard.c (echo_char): If C is an integer, always call
5183 push_key_description. Former code could signal an invalid
5184 character error.
5185
5186 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5187 If set, print multibyte text.
5188 (Fsingle_key_description): Call push_key_description with
5189 FORCE_MULTIBYTE set.
5190 (describe_buffer_bindings): Likewise.
5191
5192 * lisp.h (push_key_description): Add prototype.
5193
c06017fb
GM
5194 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5195 around the call to redisplay_internal.
5196
f1d2ce7f
GM
5197 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5198
2d5912c1
GM
5199 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5200
9371f831
KH
52012000-12-28 Kenichi Handa <handa@etl.go.jp>
5202
5203 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5204 (ccl_driver): New local variable `extra_bytes'.
5205
5206 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5207
52283633
SM
5208 * coding.c (setup_coding_system):
5209 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5210 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5211
0c80628a
KH
52122000-12-28 Kenichi Handa <handa@etl.go.jp>
5213
5214 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5215 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5216 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5217 (decode_composition_emacs_mule): New function.
5218 (decode_coding_emacs_mule): Decode composition sequence by calling
5219 decode_composition_emacs_mule.
5220 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5221 (encode_coding_emacs_mule): Changed from macro to function.
5222 If a text contains compositions, encode them correctly.
0c80628a
KH
5223 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5224 that decoding and encoding are required.
5225
3e32cc27
GM
52262000-12-27 Gerd Moellmann <gerd@gnu.org>
5227
5e25feee
GM
5228 * xfaces.c (PT_PER_INCH): New macro.
5229 (xlfd_point_size): Compute real point size from font's pixel size.
5230 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5231 instead of 72.
5232
892d8fcd
GM
5233 * .gdbinit: Comment out the line pointing to the Lesstif source
5234 directory.
5235
12c8b416
GM
5236 * window.c (Frecenter): Use displayed_window_lines instead
5237 of window_internal_height.
5238
6061fbf0
GM
5239 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5240 instead of x-toolkit-scroll-bars-p.
5241 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5242
5243 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5244 instead of x-toolkit-scroll-bars-p.
5245 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5246
3e32cc27
GM
5247 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5248 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5249 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5250 New variables.
5251 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5252 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5253 (build_frame_matrix_from_leaf_window): Remove unused code.
5254 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5255 redisplay history.
5256 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5257 (update_window) [GLYPH_DEBUG]: Likewise.
5258 (syms_of_display): Defsubr dump-redisplay-history.
5259
31798cfe
GM
52602000-12-23 Gerd Moellmann <gerd@gnu.org>
5261
f717c2ba
GM
5262 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5263 the end of the prompt. Set echo_after_prompt to the offset
5264 of echoptr in echobuf.
5265
aeb2b8fc
GM
5266 * xdisp.c (init_from_display_pos): Pop until the iterator's
5267 stack is empty; there may be frames for stretch or images
5268 on the stack.
5269
31798cfe
GM
5270 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5271 (save_or_restore_current_matrix): New function for the same
5272 purpose, but more efficient.
5273 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5274
f8156156
EZ
52752000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5276
5277 * xdisp.c (syms_of_xdisp): Fix last change.
5278
bdd6d4e8
GM
52792000-12-23 Gerd Moellmann <gerd@gnu.org>
5280
5281 * xdisp.c (syms_of_xdisp): Doc fix.
5282
5283 * xdisp.c (redisplay_window): Remove label restore_buffers;
5284 use finish_scroll_bars instead to make sure that scroll bars
5285 are redeemed. If we don't do this, flickering can result from
5286 scroll bars being destroyed and recreated.
5287
9436cdf9
JR
52882000-12-22 Jason Rumney <jasonr@gnu.org>
5289
5290 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5291 in the wrong colors when the foreground is not black.
5292 (expose_window): Don't redraw the window that's currently being
5293 updated.
5294
951f9df5
GM
52952000-12-22 Gerd Moellmann <gerd@gnu.org>
5296
856ff7a7
GM
5297 * window.c (size_window): When setting the window's too_small_ok
5298 flag, compare old size with minimum size depending on WIDTH_P,
5299 don't compare with window_min_width.
52283633 5300
951f9df5
GM
5301 * window.c (delete_window): Simplify somewhat.
5302 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5303 freeing window matrices. The flag windows_or_buffers_changed is
5304 set, so the next redisplay will consider all windows; this should
5305 suffice.
5306
886bc933
KH
53072000-12-22 Kenichi Handa <handa@etl.go.jp>
5308
5309 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5310
5311 * ccl.h (struct ccl_program): New member cr_consumed.
5312
5313 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5314 (CCL_READ_CHAR): Handle EOL conversion here.
5315 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5316
177f4e88
GM
53172000-12-21 Gerd Moellmann <gerd@gnu.org>
5318
52283633 5319 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5320
5321 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5322 otherwise tabs of different size compare equal.
5323
5324 * callint.c (Fcall_interactively): Prevent a compiler warning.
5325
5326 * print.c (print_unwind): Return nil.
5327 (PRINTDECLARE): Initialize all local variables.
5328 (print_preprocess): Add a default case.
5329
8e15274f
GM
5330 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5331
5332 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5333
52283633 5334 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5335 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5336
5337 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5338
5339 * dispnew.c (ensure_frame_matrix): Removed.
5340 (save_frame_matrix, restore_frame_matrix): New functions.
5341 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5342
5343 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5344 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5345
99012074
AI
53462000-12-21 Andrew Innes <andrewi@gnu.org>
5347
5348 * w32term.c (x_update_begin): Regenerate the palette here, rather
5349 than for each window.
5350
5351 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5352 palette is NULL, since this corrupts memory! Also get
5353 display_info reference from frame.
5354
29ef7d2d
JR
53552000-12-21 Jason Rumney <jasonr@gnu.org>
5356
5357 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5358
5359 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5360 to avoid returning without releasing it.
3e27fa1f 5361
3f9d67a6
KH
53622000-12-21 Kenichi Handa <handa@etl.go.jp>
5363
587fc3f9
KH
5364 * keymap.c (push_key_description): Don't convert eight-bit-control
5365 and eight-bit-graphic to multibyte character.
5366
3f9d67a6
KH
5367 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5368 generic character and CODE1 is nil, return the smallest character
5369 in CHARSET.
5370
774ba8c9
DL
53712000-12-20 Dave Love <fx@gnu.org>
5372
5373 * s/osf5-0.h (NSIG): Don't redefine.
5374
88416888
SM
53752000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5376
5377 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5378 excluding menu-bar and tool-bar.
5379 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5380 (menu_item_p): Remove.
5381 (where_is_internal_1): Don't ignore menu-items.
5382
a6426c6f
GM
53832000-12-20 Gerd Moellmann <gerd@gnu.org>
5384
03ff8aab
GM
5385 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5386 into account.
5387
5388 * window.c (make_window): Initialize window's min_hscroll.
5389 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5390 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5391 to zero.
5392 (struct saved_window): New member min_hscroll.
5393 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5394 (Fset_window_configuration): Set window's min_hscroll.
5395 (save_window_save): Save window's min_hscroll.
5396 (compare_window_configurations): Compare min_hscroll values.
5397
5398 * window.h (struct window): New member min_hscroll.
5399
5400 * keyboard.c (echo_prompt): Prevent a compiler warning.
5401
8de4aaf8
GM
5402 * xdisp.c (try_cursor_movement): Fix last change. The real
5403 condition is that PT is at the end of the row, and should
5404 be displayed at the start of the next row.
52283633 5405
3f7e3031
GM
5406 * xdisp.c (try_cursor_movement): If we end on a partially
5407 visible line, end we already decided to scroll, return -1.
5408
a6426c6f
GM
5409 * dispextern.h (ensure_frame_matrix): Add prototype.
5410
5411 * window.c (delete_window, Fsplit_window)
5412 (Fset_window_configuration): Call ensure_frame_matrix.
5413
52283633
SM
5414 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5415 New functions.
a6426c6f
GM
5416 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5417 completed, call fake_current_matrices instead of marking frame
5418 garbaged.
5419
57fa2774
JR
54202000-12-20 Jason Rumney <jasonr@gnu.org>
5421
5422 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5423
d925df90
EZ
54242000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5425
5426 * fns.c (Frequire): Doc fix.
5427
7b93a85b
GM
54282000-12-19 Gerd Moellmann <gerd@gnu.org>
5429
52283633 5430 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5431
c74e645b
GM
5432 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5433 currently displaying a message.
5434
7b93a85b
GM
5435 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5436 xterm.h.
5437 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5438
90d97e64
AI
54392000-12-18 Andrew Innes <andrewi@gnu.org>
5440
5441 * w32.c (w32_strerror): New function.
5442
5443 * w32.h (w32_strerror): New extern.
5444
5445 * w32fns.c (Fw32_shell_execute): Use it.
5446
91c9e6ce
GM
54472000-12-18 Gerd Moellmann <gerd@gnu.org>
5448
5449 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5450
6f4745e2
EZ
54512000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5452
5453 * msdos.c (IT_set_face): Obey inverse_video.
5454
c9e088ce
KH
54552000-12-18 Kenichi Handa <handa@etl.go.jp>
5456
5457 * dired.c (directory_files_internal): Always return decoded filenames.
5458
c3695f5f
GM
54592000-12-18 Gerd Moellmann <gerd@gnu.org>
5460
52d8e4ff
GM
5461 * xterm.c (x_connection_closed): Prevent being called recursively
5462 because of an error condition in XtCloseDisplay.
52283633 5463
62be9979
GM
5464 * xdisp.c (init_iterator): If noninteractive, and the frame's
5465 face cache is null, make one.
5466
52283633 5467 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5468
c3695f5f
GM
5469 * process.c (wait_reading_process_input): Check for pending
5470 input when running timers.
5471
78555fbe
EZ
54722000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5473
52283633 5474 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5475
b2b36264
KH
54762000-12-18 Kenichi Handa <handa@etl.go.jp>
5477
5478 * process.c (read_process_output): Don't run a filter if the code
5479 decoder produces nothing but carryover.
5480
9c543fbf
AI
54812000-12-17 Andrew Innes <andrewi@gnu.org>
5482
5483 * w32.c (sys_rename): Only check errno against EEXIST, and not
5484 EACCES, when determining whether rename failed because the target
5485 exists. This was resulting in indefinite looping on Windows 9x if
5486 the source file was locked by another process.
5487
5488 * w32fns.c (Ffile_system_info): New function.
5489 (syms_of_w32fns): Defsubr it.
5490
10c2b5a8
GM
54912000-12-17 Gerd Moellmann <gerd@gnu.org>
5492
b0228ace
GM
5493 * window.c (coordinates_in_window): Fix computation for
5494 position on vertical line between mode lines.
5495
10c2b5a8
GM
5496 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5497 Don't alter tip_frame or tip_window.
5498 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5499 was deleted.
5500
c844a81a
GM
5501 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5502 Don't alter tip_frame or tip_window.
5503 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5504 was deleted.
5505
6c825f8e
EZ
55062000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5507
5508 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5509 be consistent with the doc string. Reported by NAKAJIMA Mikio
5510 <minakaji@osaka.email.ne.jp>.
5511
af4bb4c8
KH
55122000-12-16 Kenichi Handa <handa@etl.go.jp>
5513
5514 * xfaces.c (Vface_ignored_fonts): New variable.
5515 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5516 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5517
8062e53a
GM
55182000-12-15 Gerd Moellmann <gerd@gnu.org>
5519
e87b8809
GM
5520 * dispnew.c (update_window): Detect pending input every nth line
5521 updated, i.e. do it depending on real work done, and not on the
5522 vpos of the line.
5523
5524 * xterm.c (expose_window): Don't redraw the window that's
5525 currently being updated.
5526
a6768cc5
GM
5527 * window.c (Fset_window_point): Remove test for
5528 cursor_in_non_selected_windows.
5529
4ea7fdca
GM
5530 * lread.c (read1): Recognize end of file after `\\'.
5531
8062e53a
GM
5532 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5533 not unwind_create_frame.
5534
bb7959c1
GM
55352000-12-15 Dave Love <fx@gnu.org>
5536
5537 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5538 bcopy & al.
5539
5540 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5541
ced04c42
KH
55422000-12-15 Kenichi Handa <handa@etl.go.jp>
5543
c5443913
KH
5544 * coding.c (setup_coding_system): Clear all members of the struct
5545 coding_system at first.
bc137305
KH
5546 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5547 argument.
5548 (code_convert_region): Don't override coding->src_multibyte and
5549 coding->dst_multibyte.
c5443913 5550
ced04c42
KH
5551 * fns.c (Fmd5): Docstring improved.
5552
c2d7f289
MB
55532000-12-15 Miles Bader <miles@gnu.org>
5554
5555 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5556 are actually marked as mode-lines; otherwise use
5557 estimate_mode_line_height.
5558
9d7d9263
GM
55592000-12-14 Gerd Moellmann <gerd@gnu.org>
5560
5561 * editfns.c (Fformat): Prevent a buffer overrun when the format
5562 specifies a precision.
5563
7cf0153a
EZ
55642000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5565
5566 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5567 argument is outside the range [2..3].
5568
1de0f662
AI
55692000-12-14 Andrew Innes <andrewi@gnu.org>
5570
5571 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5572 nothing to do. Bind inhibit-quit.
5573 (tip_frame): Make it a Lisp_Object.
5574 (x_create_tip_frame): Set tip_frame after it has been added to
5575 Vframe_list.
5576 (Fx_show_tip): Don't set tip_frame here.
52283633 5577 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5578 (unwind_create_frame, unwind_create_tip_frame): New functions.
5579 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5580 while a frame is only partially constructed.
5581
5582 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5583 (x_free_frame_resources): New function.
5584 (x_destroy_window): Use it.
5585
02387dcc
GM
55862000-12-14 Gerd Moellmann <gerd@gnu.org>
5587
5588 * xfns.c (Fx_backspace_delete_keys_p): New function.
5589 (syms_of_xfns): Defsubr it.
5590
5591 * config.in (HAVE_XKBGETKEYBOARD): Add.
5592
0544ef49
KH
55932000-12-14 Kenichi Handa <handa@etl.go.jp>
5594
98d62747
KH
5595 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5596 Always store string in multibyte representation in echobuf.
5597 (echo_char): Always store string in multibyte representation in
5598 echobuf.
5599 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5600 (read_key_sequence): Adjusted for the change of echo_prompt.
5601
a20193cd
KH
5602 * fns.c (Fmd5): Docstring improved.
5603
191b83b6
KH
5604 * lisp.h (detect_coding_system): Prototype adjusted.
5605
0544ef49
KH
5606 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5607 (detect_coding_emacs_mule, detect_coding_iso2022,)
5608 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5609 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5610 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5611 (detect_coding_mask, detect_coding_system): New argument
5612 MULTIBYTEP. Callers changed.
1da1bb05
KH
5613 (decode_coding_string): Set coding->src_multibyte and
5614 coding->dst_multibyte before calling detect_coding and detect_eol.
5615 Update them after some coding system is detected.
52283633 5616
d5b3eb1b
SM
56172000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5618
5619 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5620
5621 * keyboard.c (menu_bar_items, tool_bar_items):
5622 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5623
f7f8bb69
GM
56242000-12-13 Gerd Moellmann <gerd@gnu.org>
5625
52283633 5626 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5627 New variables.
5628 (unwind_create_frame, unwind_create_tip_frame): New functions.
5629 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5630 while a frame is only partially constructed.
5631
5632 * xterm.h (x_free_frame_resources): Declare.
5633
5634 * xterm.c (x_free_frame_resources): New function.
5635 (x_destroy_window): Use it.
5636
e10da507
GM
5637 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5638 don't interrupt the update for pending input initially, i.e.
5639 update at least some lines.
5640
5641 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5642
d5b3eb1b 5643 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5644
5645 * xfns.c (gray_bitmap_bits): Declare `char *'.
5646
90aa2856
GM
56472000-12-12 Gerd Moellmann <gerd@gnu.org>
5648
5649 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5650 lines start with a relief line.
5651
a308c9cd
DL
56522000-12-12 Dave Love <fx@gnu.org>
5653
5654 * window.c (Fdisplay_buffer): Doc fix.
5655 (Fwindow_list): Remove unused var.
5656
5657 * buffer.h (mmap_set_vars): Declare.
5658
5659 * window.h (Fset_window_point): Declare.
5660
d575011f
EZ
56612000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5662
bf6282d2 5663 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5664 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5665 variable `area'. When looking for a row under (X,Y), give up if some
5666 of the previous rows is not enabled.
d575011f 5667
ecf4d726
GM
56682000-12-12 Gerd Moellmann <gerd@gnu.org>
5669
2ebf6139
GM
5670 * window.c (Fset_window_point): If displaying cursors in windows
5671 other than the selected window, make sure redisplay updates
5672 other windows to show the new value of point in the window.
5673
5674 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5675
bfdb75ee
GM
5676 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5677 the buffer is the sole visible buffer when in the mini-buffer.
5678
52283633 5679 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5680 Bind `inhibit-read-only' to t.
5681 (unwind_with_echo_area_buffer): Use AREF.
5682
c0006262
GM
5683 * xfns.c (Fx_hide_tip): Simplified.
5684
52283633
SM
5685 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5686 instead of `1'.
e9a59cad 5687
ecf4d726
GM
5688 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5689
e5959a9a
GM
56902000-12-11 Gerd Moellmann <gerd@gnu.org>
5691
a3642e49 5692 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5693
44b5a125
GM
5694 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5695 nothing to do. Bind inhibit-quit.
5696 (tip_frame): Make it a Lisp_Object.
5697 (x_create_tip_frame): Set tip_frame after it has been added to
5698 Vframe_list.
5699 (Fx_show_tip): Don't set tip_frame here.
5700
5701 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5702
5703 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5704 Lisp_Object.
5705
5706 * dispextern.h: Change external declaration of tip_frame.
5707
d990421f
GM
5708 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5709 return an empty string.
5710
4db87380
GM
5711 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5712 of the window's update_mode_line flag, since the former is set by
5713 force-mode-line-update, not the latter. This makes
5714 column-number-mode slightly faster.
52283633 5715
e5959a9a
GM
5716 * xdisp.c (try_window_id) <all changes above window start>:
5717 Set the cursor.
5718
169fe44e
GM
57192000-12-11 Paul Eggert <eggert@twinsun.com>
5720
5721 * config.in (HAVE_FTELLO): Remove.
5722 (HAVE_FSEEKO): Add.
5723 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5724 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5725 HAVE_FTELLO.
5726 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5727 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5728
59ec59ae
MB
57292000-12-11 Miles Bader <miles@gnu.org>
5730
5731 * window.c (displayed_window_lines): Don't round up when
5732 converting empty space at bottom to lines.
ff904dd6
MB
5733 Handle non-newline-terminated final lines properly.
5734 (Fwindow_text_height): New function (used to be in lisp).
5735 (syms_of_window): Initialize it.
59ec59ae 5736
42ebfa31
SM
57372000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5738
5739 * syntax.c (scan_lists): Check that the right quote char has the
5740 right Sstring syntax when jumping over strings.
5741 (init_syntax_once): Use Smax rather than 13.
5742
5cdb3cf3
MB
57432000-12-09 Miles Bader <miles@gnu.org>
5744
5745 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5746 with PARTIALLY, inverting the sense.
5747 (window_scroll_pixel_based): Scroll partially visible lines into
5748 place if we hit the beginning or end of the buffer.
a12167c5
MB
5749 (displayed_window_lines): Don't include partially visible lines.
5750 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5751
842b2a94
GM
57522000-12-08 Gerd Moellmann <gerd@gnu.org>
5753
5754 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5755
5756 * tparam.c (tparam1): Change the way buffers are reallocated to be
5757 portable and less obfuscated.
5758
5759 * termcap.c (tgetent): Change the way buffers are reallocated to
5760 be portable and less obfuscated.
5761
5762 * macros.c (store_kbd_macro_char): Change the way buffers are
5763 reallocated to be portable and less obfuscated.
5764
5765 * lread.c (read1): Change the way buffers are reallocated to be
5766 portable and less obfuscated.
5767
5768 * doc.c (Fsubstitute_command_keys): Change the way buffers
5769 are reallocated so that it is portable.
5770
137cad7c
EZ
57712000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5772
5773 * dosfns.c (Ffile_system_info): New function.
5774 (syms_of_dosfns): Defsubr it.
5775
5c7f629c
SM
57762000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5777
5778 * alloc.c (gc_sweep): Add comment.
5779
959e647d
GM
57802000-12-07 Gerd Moellmann <gerd@gnu.org>
5781
52283633
SM
5782 * sound.c (vox_configure): Change order of ioctls.
5783 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
5784 Ignore errors when changing volume.
5785 (vox_close): Don't reset the device.
5786
926b7e5e
GM
5787 * process.c (read_process_output): Make sure the process marker's
5788 position is valid when the process buffer is changed in
5789 after-change functions. W3 does that.
52283633 5790
959e647d
GM
5791 * xfns.c (x_free_gcs): New function.
5792
5793 * xterm.h (x_free_gcs): Add prototype.
5794
5795 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
5796 freeing GCs here.
5797
5798 * xterm.c (x_destroy_window): Call x_free_gcs so that
5799 resources of non-toolkit X windows will be freed.
5800
478ea067
AI
58012000-12-07 Andrew Innes <andrewi@gnu.org>
5802
5803 * w32fns.c (xlfd_charset_of_font): Fix last change.
5804
fbee3231
DL
58052000-12-06 Dave Love <fx@gnu.org>
5806
67292061
DL
5807 * md5.h (__P): Don't define -- it comes from config.h.
5808
fbee3231
DL
5809 * strftime.c: Change some #if foo to #ifdef foo.
5810
4ee87dbb
AI
58112000-12-06 Andrew Innes <andrewi@gnu.org>
5812
5813 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
5814
52283633 5815 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 5816 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 5817 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 5818
9765b4a4
GM
58192000-12-06 Gerd Moellmann <gerd@gnu.org>
5820
d285b373
GM
5821 * alloc.c (gc_sweep): Prevent symbols read during loadup
5822 from being freed.
5823
384333ee
GM
5824 * xdisp.c (underlying_face_id): New function.
5825 (handle_face_prop, face_before_or_after_it_pos): Use it
5826 to determine the face ``under'' a string. Let strings inherit
5827 the face of the buffer under them.
5828
5829 * xfaces.c (face_at_string_position): Update function comment.
52283633 5830
d4b72d58
GM
5831 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
5832 matrix if the window's left position has changed; we need to
5833 redraw it in this case.
5834
5835 * dispextern.h (struct glyph_matrix): Add member window_left_x.
5836
e1d05387
GM
5837 * window.c (coordinates_in_window): Check mouse on mode-line or
5838 header-line first.
5839
eb1b0c74
GM
5840 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
5841 advertized by the function documentation.
5842
d94d636f
GM
5843 * window.c (syms_of_window): Doc fix.
5844
3887b449
GM
5845 * sound.c (vox_configure): Set volume for left and right channel.
5846 (sound_cleanup): Return nil.
5847
efc8f57a
GM
5848 * xdisp.c (move_it_by_lines): Fix paren typo.
5849
9765b4a4
GM
5850 * xterm.c (x_load_font): Don't use the font's max_bounds for
5851 computing the height of the font. If max_bounds' ascent or
5852 descent are greater than the font's ascent or descent, this means
5853 glyphs overlap, which should be handled now by redisplay.
5854
6529ed87
GM
5855 * window.c (Veven_window_heights): New variable.
5856 (syms_of_window): DEFVAR_LISP it.
5857 (Fdisplay_buffer): Check Veven_window_heights before evening the
5858 window heights.
52283633 5859
0eb2ecde
MB
58602000-12-06 Miles Bader <miles@gnu.org>
5861
5862 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
5863 update `default-frame-alist' instead of setting no frame parameters.
5864
03d7a167
KH
58652000-12-06 Kenichi Handa <handa@etl.go.jp>
5866
5867 * composite.c (update_compositions): Fix typo (use the correct
5868 variable).
5869
5f8803c2
JR
58702000-12-05 Jason Rumney <jasonr@gnu.org>
5871
5872 * md5.h: Remove underscores from function declarations.
5873 (__attribute__, __alignof__) [!__GNUC__]: Define.
5874
5875 * md5.c: Delay include of md5.h until after namespace cleaning.
5876
c28a075b
JR
5877 * makefile.w32-in (fns.o): Depend on md5.h
5878 (md5.o): New target.
5879 (sunfns.o): Remove.
5880
5881 * makefile.nt: Likewise.
5882
ff3c7056
JR
58832000-12-05 Jason Rumney <jasonr@altavista.net>
5884
5885 * w32term.c (expose_area): Complete last change.
5886
0c21eeeb
KR
58872000-12-05 Ken Raeburn <raeburn@gnu.org>
5888
5889 * minibuf.c: Include intervals.h.
5890
f201d732
JR
58912000-12-05 Jason Rumney <jasonr@gnu.org>
5892
5893 * w32term.c (x_produce_glyphs): If a font for a component of
5894 a composition is not found, use 1 pixel dot ascent and 0 dot
5895 descent value to avoid displaying terribly tall empty boxes.
5896 (expose_area): Pass x-coordinate relative to the exposed
5897 area to x_draw_glyphs instead of a window-relative coordinate.
5898
21999ab9
GM
58992000-12-05 Gerd Moellmann <gerd@gnu.org>
5900
4d2036e4
GM
5901 * xdisp.c (next_element_from_ellipsis): Save face before selective
5902 display in saved_face_id, and set face_before_selective_p.
5903 (reseat_1): Reset face_before_selective_p.
5904 (append_space, extend_face_to_end_of_line): If iterator's
5905 face_before_selective_p is set, use the face from saved_face_id.
5906 (extend_face_to_end_of_line): For tty frames, make sure to
5907 use the right face id when producing spaces at the end of
5908 the line.
5909
5910 * dispextern.h (struct it): Add face_before_selective_p.
5911
52be17cc
GM
5912 * keyboard.c (record_char): Don't record identical help-echo
5913 events in recent_keys.
5914
8a4f36cc
GM
5915 * xterm.c [USE_X_TOOLKIT]: Close the display.
5916 (xim_close_dpy): Handle case that the display has been closed.
5917
57d6e381
GM
5918 * xterm.c (x_destroy_window): Reset the frame's X window after
5919 destroying it.
5920
21999ab9
GM
5921 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
5922 variable window_width.
5923 (line_draw_cost): Fix code skipping over spaces at the end of the
5924 line when must_write_spaces is not set.
5925 (scrolling_window): Fix code inserting runs in list of all runs.
5926
91372bb7
KH
59272000-12-05 Kenichi Handa <handa@etl.go.jp>
5928
5929 * coding.c (setup_coding_system): Be sure to initialize
5930 coding->category_idx.
5931
6c083b4c
GM
59322000-12-04 Gerd Moellmann <gerd@gnu.org>
5933
0c68ce6f 5934 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 5935
6452929e
GM
5936 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
5937 area to x_draw_glyphs instead of a window-relative coordinate.
5938
d7f31e22
GM
5939 * fileio.c (auto_save_error): Add parameter ERROR. Show the
5940 error in the message.
5941
ae18aa3b
GM
5942 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
5943 timer after having read a key. It's not good for code reading
5944 several keys in a loop, like an input method.
5945
caa15ef7
GM
5946 * fileio.c (Finsert_file_contents): When VISIT is t, don't
5947 record undo information for format-decode.
5948
5949 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
5950 current buffer is read-only, not if it isn't.
5951
6c083b4c
GM
5952 * keyboard.c (record_char): Record `help-echo' input events
5953 in recent_keys only if they display some help. Don't record
5954 `help-echo' events as macro char.
5955
caa15ef7
GM
59562000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5957
5958 * editfns.c (save_excursion_restore): Don't move point
5959 in another window if it is showing the wrong buffer.
5960 Avoid the call to Fwindow_live_p, for speed.
5961
5a13529b
KH
59622000-12-04 Kenichi Handa <handa@etl.go.jp>
5963
e225faa7
KH
5964 * xfaces.c (struct font_name): New member registry_priority.
5965 (split_font_name): Initialize the above member to zero.
5966 (concat_font_list): New function.
5967 (font_list): Include fonts of all alternative registries.
5968 (FONT_POINT_SIZE_QUANTUM): New macro.
5969 (better_font_p): Ignore point size difference less than
5970 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
5971
e89648b4
KH
5972 * xterm.c (x_produce_glyphs): If a font for a component of
5973 a composition is not found, use 1 pixel dot ascent and 0 dot
5974 descent value to avoid displaying terribly tall empty boxes.
5975
5a13529b
KH
5976 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
5977
d7935eb6
KR
59782000-12-03 Ken Raeburn <raeburn@gnu.org>
5979
5980 * coding.h (code_convert_string1): Declare.
5981
5982 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
5983
52283633 5984 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 5985
0dd5e255
JR
59862000-12-02 Jason Rumney <jasonr@gnu.org>
5987
5988 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
5989 correctly for single byte character case.
5990 (w32_per_char_metric): Do not try to make any assumptions about
5991 the metrics of BDF fonts.
250cfece 5992 (x_estimate_mode_line_height): If `mode-line' face
52283633 5993 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
5994 (note_mouse_highlight): Change the cursor shape on the vertical
5995 border between windows [not enabled].
5996
5997 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
5998
5999 * w32fns.c (Fx_create_frame): Reintroduce the call to
6000 face-set-after-frame-defaults.
6001 (Vx_window_horizontal_drag_shape): New variable.
6002 (syms_of_xfns): DEFVAR_LISP it.
6003 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6004 enabled].
0dd5e255 6005
b5d8d2ca
GM
60062000-12-02 Simon Josefsson <simon@josefsson.org>
6007
6008 * fns.c (Fmd5): Use a different logic to decide the coding system
6009 to use.
6010
6011 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6012
fbb87147
EZ
60132000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6014
52283633 6015 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6016
447e9da0
GM
60172000-12-01 Gerd Moellmann <gerd@gnu.org>
6018
7708ced0
GM
6019 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6020 height for YNegative.
6021 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6022 height; also see comment there.
6023
447e9da0
GM
6024 * window.c (coordinates_in_window): Handle computations for
6025 positions on the vertical bar and fringes differently for
6026 window-system frames. Consider some pixels near the vertical bar
6027 as on the bar if the frame doesn't have vertical scroll bars.
6028 Associate positions between mode or header lines with the
6029 right window, the left one.
6030
86d1db20
JR
60312000-12-01 Jason Rumney <jasonr@gnu.org>
6032
6033 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6034
6035 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6036 invalid frame.
6037
a1d58e5b
GM
60382000-12-01 Gerd Moellmann <gerd@gnu.org>
6039
52283633 6040 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6041 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6042 (save_window_save, Fset_window_configuration): Save/restore
6043 window's orig_top and orig_height.
6044
89c609af
JR
60452000-12-01 Jason Rumney <jasonr@gnu.org>
6046
4d177746 6047 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6048
89c609af
JR
6049 * w32fns.c (x_set_cursor_color): Fix last change.
6050
eccc05db
GM
60512000-11-30 Gerd Moellmann <gerd@gnu.org>
6052
31b6671b
GM
6053 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6054 sure that the next redisplay displays the minibuffer, so that
6055 the cursor will be replaced with what the minibuffer wants.
6056
eccc05db
GM
6057 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6058 #ifndef instead of using #if.
6059 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6060 USE_TOOLKIT_SCROLL_BARS is defined.
6061
162de750
JR
60622000-11-30 Jason Rumney <jasonr@gnu.org>
6063
6064 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6065 x_display_cursor.
6066
693c4692
GM
60672000-11-30 Gerd Moellmann <gerd@gnu.org>
6068
6069 * fns.c (Fmd5): Doc fix.
6070
b5d8d2ca 60712000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6072
6073 * fns.c (Fmd5): New function.
6074 (syms_of_fns): Defsubr md5.
6075
6076 * Makefile.in (obj): Add md5.o
6077
b02cd40b
GM
60782000-11-30 Gerd Moellmann <gerd@gnu.org>
6079
edfb795e
GM
6080 * md5.h, md5.c: New files, taken from glibc.
6081
df3aedcf
GM
6082 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6083
b02cd40b 6084 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6085 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6086
8b5176cd
SM
60872000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6088
6089 * eval.c (Frun_hooks): Allow 0 arguments.
6090
346598f1
GM
60912000-11-29 Gerd Moellmann <gerd@gnu.org>
6092
f9396e03
GM
6093 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6094 is over the menu bar widget, say it's not on the frame.
6095
4a967a9b
GM
6096 * xfns.c (Fx_create_frame): Reintroduce the call to
6097 face-set-after-frame-defaults.
6098
346598f1
GM
6099 * eval.c (Fsignal): Reset handling_signal.
6100
222456a1
JR
61012000-11-28 Jason Rumney <jasonr@gnu.org>
6102
6103 * w32menu.c (add_menu_item): Reset menu item text when changing
6104 type to radio button.
6105
8049ddc0
GM
61062000-11-28 Gerd Moellmann <gerd@gnu.org>
6107
346598f1 6108 * xselect.c: Update copyright.
f4f4ee4d 6109
bebe4a2c
GM
6110 * window.c (coordinates_in_window): If on a mode or header line,
6111 but sufficiently close to its start, return ``on vertical
6112 border''. This gives us a way to drag windows horizontally when
6113 using toolkit scroll bars.
6114
6115 * xterm.c (note_mouse_highlight): Change the cursor shape
6116 on the vertical border between windows.
6117
6118 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6119
6120 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6121 (syms_of_xfns): DEFVAR_LISP it.
6122 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6123
8d2c2642
GM
6124 * textprop.c (text_read_only): New function.
6125 (verify_interval_modification): Use it instead of signaling
6126 `text-read-only'. This makes it easier to catch this error
52283633 6127 with a breakpoint.:
8d2c2642 6128
52283633 6129 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6130 not end of line, which includes CR.
6131
5a2bae6c
KH
61322000-11-28 Kenichi Handa <handa@etl.go.jp>
6133
6134 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6135 include no-conversion.
6136
ae31f84d
JR
61372000-11-27 Jason Rumney <jasonr@gnu.org>
6138
6139 * w32fns.c (w32_load_system_font): Always mark font as double byte
6140 if codepage is unicode.
6141
67f1cf4c
GM
61422000-11-27 Gerd Moellmann <gerd@gnu.org>
6143
4a74d071 6144 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6145 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6146
902ae620
GM
6147 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6148 `vertical-line', `mode-line' and `header-line' events.
6149
6150 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6151 of a character, a TAB for instance. This is easier than to set
6152 up the iterator exactly, and it's not a frequent case, so the
6153 additional effort wouldn't really pay off.
6154
c1e279c2
AC
61552000-11-26 Andrew Choi <akochoi@i-cable.com>
6156
67f1cf4c 6157 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6158 init_window_once.
6159
a609568a
JR
61602000-11-25 Jason Rumney <jasonr@gnu.org>
6161
52283633
SM
6162 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6163 Args to window_from_coordinates should be pixel coordinates.
48b21762 6164
a609568a
JR
6165 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6166 redisplay handles them properly.
6167
a658d039
MB
61682000-11-25 Miles Bader <miles@gnu.org>
6169
6170 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6171
d3416cca
JR
61722000-11-24 Jason Rumney <jasonr@gnu.org>
6173
6174 * w32.c (init_environment): Set LANG environment variable based on
6175 locale settings, if not set.
6176
6177 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6178 making tool bar smaller. When clearing the frame, also
6179 clear current matrices. Clear frame when tool bar disappears.
6180 Don't use more lines for the tool-bar than is available.
6181 (x_change_window_heights): New function.
6182
ba193890
GM
61832000-11-24 Gerd Moellmann <gerd@gnu.org>
6184
2be8f184
GM
6185 * xdisp.c (init_from_display_pos): If POS says we're already after
6186 an overlay string ending at POS, make sure to pop the iterator
6187 because it will be in front of that overlay string. When POS is
6188 ZV, we've thereby also ``processed'' overlay strings at ZV.
6189
ba193890
GM
6190 * xfaces.c (lface_from_face_name): Function comment fix.
6191
1862a24e
MB
61922000-11-24 Miles Bader <miles@gnu.org>
6193
6194 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6195 apply `mode-line-inverse-video' -- zero means force display using
6196 the default face, non-zero means display using the specialized face.
6197 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6198
f07fa1b8
KH
61992000-11-23 Kenichi Handa <handa@etl.go.jp>
6200
6201 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6202 hard coded `4'.
6203
2bcdf662
EZ
62042000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6205
6206 * coding.c (decode_coding_emacs_mule): Fix the case of
6207 CODING_EOL_LF, which used uninitialized value of c.
6208
ba8299ff
SM
62092000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6210
6211 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6212
f4117c4d
GM
62132000-11-22 Gerd Moellmann <gerd@gnu.org>
6214
03e757c1
GM
6215 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6216 buffer object.
6217
f4117c4d
GM
6218 * frame.h (struct frame): Replace desired_tool_bar_items,
6219 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6220 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6221
6222 * frame.c (make_frame): Change initialization of tool bar
6223 items accordingly.
6224
6225 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6226 Change references to members deleted from struct frame to use the
f4117c4d
GM
6227 new ones.
6228
6229 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6230 references to members deleted from struct frame to use the new ones.
f4117c4d 6231
52283633 6232 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6233
6234 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6235
6236 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6237 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6238 from struct frame to use the new ones.
6239
f8e2f3f2
MB
62402000-11-23 Miles Bader <miles@gnu.org>
6241
6242 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6243 the face's inverse-video attribute, rather than overriding it.
6244
60e8e0a5
GM
62452000-11-22 Gerd Moellmann <gerd@gnu.org>
6246
6247 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6248 making tool bar smaller.
6249
92dd1b29
DL
62502000-11-22 Dave Love <fx@gnu.org>
6251
6252 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6253
e672fdce
MB
62542000-11-22 Miles Bader <miles@gnu.org>
6255
3a17d6cc
MB
6256 * keyboard.c (Vminibuffer_message_timeout): New variable.
6257 (command_loop_1): Use it to determine message timeout.
6258 (syms_of_keyboard): Initialize it.
6259
60e8e0a5 6260 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6261
e9655d81
KH
62622000-11-22 Kenichi Handa <handa@etl.go.jp>
6263
6264 * sysdep.c: Move the code for declaring h_errno after #include
6265 <netdb.h>.
6266
77270fac
GM
62672000-11-21 Gerd Moellmann <gerd@gnu.org>
6268
cd913aae
GM
6269 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6270 the menu bar when the tooltip is unmapped.
6271
77270fac
GM
6272 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6273 sole visible buffer when we're currently in the mini-buffer, and
6274 give up if so.
52283633 6275
556635d6
JR
62762000-11-21 Jason Rumney <jasonr@gnu.org>
6277
6278 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6279 put on the clipboard.
6280 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6281 copy of what Emacs last put there. If they are the same, do not
52283633 6282 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6283
5b7bde64
MB
62842000-11-22 Miles Bader <miles@gnu.org>
6285
6286 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6287 (syms_of_minibuf): Initialize it.
6288 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6289 to prompt, don't make read-only.
6290
ff23e1dd
GM
62912000-11-21 Gerd Moellmann <gerd@gnu.org>
6292
52283633
SM
6293 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6294 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6295
7aaf4388
GM
6296 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6297
f5f47add 6298 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6299
ff23e1dd
GM
6300 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6301
37c35586
KH
63022000-11-21 Kenichi Handa <handa@etl.go.jp>
6303
6304 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6305 ... #endif scope.
6306
ff9ab414
GM
63072000-11-20 Gerd Moellmann <gerd@gnu.org>
6308
52283633 6309 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6310 screen supports it.
6311
29a01b72
GM
6312 * s/gnu-linux.h: Don't use `#cpu'.
6313
09dfdf85
GM
6314 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6315 not defined in mman.h.
6316
52283633 6317 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6318 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6319 and store an index in the XClientMessageEvent. Storing a
6320 Lisp_Object or pointer can fail on a 64 bit system, since X only
6321 transfers 32 bits.
52283633
SM
6322 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6323
81459ac9
DL
63242000-11-20 Dave Love <fx@gnu.org>
6325
6326 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6327
56c13ae6
GM
63282000-11-20 Gerd Moellmann <gerd@gnu.org>
6329
6330 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6331
495a6df3
KH
63322000-11-20 Kenichi Handa <handa@etl.go.jp>
6333
2bcf3714
KH
6334 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6335 by WIDTH.
6336
495a6df3
KH
6337 * alloc.c (make_string): Fix previous change. Be sure to make
6338 unibyte string correctly.
6339
6d950f4c
GM
63402000-11-19 Gerd Moellmann <gerd@gnu.org>
6341
39b39373
GM
6342 * window.c (Fwindow_list): Change parameter list to be XEmacs
6343 compatible.
6344 (window_list_1): New function.
6345 (window_loop): Use it instead of Fwindow_list.
6346
b95b34e5
GM
6347 * sysdep.c (emacs_ospeed): New variable.
6348 (toplevel): Don't declare ospeed extern.
6349 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6350
6351 * termcap.c (ospeed): Remove.
6352 (tputs) [!emacs]: Remove unused code.
6353 (tgetent): Avoid a compiler warning.
6354
e83dc917
GM
6355 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6356 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6357 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6358
6359 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6360 removed.
6361 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6362 Take the X display as additional argument.
6363 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6364 `Widget' is a pointer type that's not easily stored in Lisp_Object
6365 form in a portable way.
52283633 6366
6d950f4c
GM
6367 * dispnew.c (update_text_area): Fix last change.
6368
e47306e6
GM
63692000-11-18 Gerd Moellmann <gerd@gnu.org>
6370
fb3cd89b
GM
6371 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6372
6373 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6374 clear current matrices.
6375
edaa9aed
GM
6376 * buffer.c (mmap_enlarge): Don't print a message on stderr
6377 if mapping new memory at the end of the existing region fails.
6378
e47306e6
GM
6379 * dispnew.c (update_text_area): Don't skip over equal glyphs
6380 when the last current glyph overlaps the glyph to its right.
6381
509633e3
MB
63822000-11-18 Miles Bader <miles@gnu.org>
6383
6384 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6385 lines that *end* with "..." too (that's the most common case!).
6386
d392e9c5
GM
63872000-11-18 Gerd Moellmann <gerd@gnu.org>
6388
67988445
GM
6389 * xdisp.c (resize_mini_window): Temporarily change to the
6390 mini-window's buffer if necessary.
1bfdbe43 6391
d392e9c5
GM
6392 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6393 the tooltip obscures less text under it.
6394
63952000-11-17 Gerd Moellmann <gerd@gnu.org>
6396
6397 * puresize.h (BASE_PURESIZE): Increase to 700000.
6398
92bb977f
JR
63992000-11-18 Jason Rumney <jasonr@gnu.org>
6400
6401 * w32term.c (w32_draw_bitmap): Use face to set colors.
6402
26fbf20b
DL
64032000-11-17 Dave Love <fx@gnu.org>
6404
6405 * lread.c (Fload): Fix #ifdef for pcc.
6406
100b593b
GM
64072000-11-17 Gerd Moellmann <gerd@gnu.org>
6408
6409 * xdisp.c (pos_visible_p): Compute the default character height
6410 differently.
6411
a288d0d1
GM
64122000-11-16 Gerd Moellmann <gerd@gnu.org>
6413
cac94de6 6414 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6415 knowing the line's height; use the default font's height in that case.
cac94de6 6416
a288d0d1
GM
6417 * xfaces.c (weight_table): Add `demi' with the same meaning as
6418 `demibold'.
6419
981fb6f6
KH
64202000-11-16 Kenichi Handa <handa@etl.go.jp>
6421
2cca872d 6422 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6423 (clear_glyph_row): Delete local static variable null_row.
6424
e5fa381b
JR
64252000-11-15 Jason Rumney <jasonr@gnu.org>
6426
6427 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6428 (w32_alloc_lighter_color): Use new brightness calculations from
6429 xterm.c. Scale delta to be in the range expected by W32.
6430 (w32_draw_relief_rect): Use frame relief colors.
6431
8e42f043
GM
64322000-11-15 Gerd Moellmann <gerd@gnu.org>
6433
6d133d1f
GM
6434 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6435 (Qinhibit_default_face_x_resources): New variable.
6436 (syms_of_frame): Initialize it.
6437 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6438
6439 * xdisp.c (pos_visible_p): Improve function comment.
6440
6441 * lisp.h (BINDING_STACK_SIZE): New macro.
6442
8e42f043
GM
6443 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6444 reading the directory if readdir returns null and errno is EAGAIN
6445 or EINTR.
6446
e8c87124
SM
64472000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6448
6449 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6450 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6451 Set amount_to_scroll to max of dx and scroll_step so that
6452 scroll-conservatively doesn't defeat scroll-step>1.
6453 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6454 scroll-conservatively for line-at-a-time scrolling.
6455
5f0c971d
GM
64562000-11-14 Gerd Moellmann <gerd@gnu.org>
6457
6458 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6459 extra argument.
6460
6461 * xdisp.c (current_mode_line_height, current_header_line_height):
6462 New variables.
6463 (init_xdisp): Initialize them.
6464 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6465 and use exact mode line heights if it is set.
6466
6467 * lisp.h (pos_visible_p): Change prototype.
6468
6469 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6470 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6471 and current_header_line_height first.
52283633
SM
6472 (current_mode_line_height, current_header_line_height):
6473 Declare extern.
5f0c971d 6474
d7361edf
MB
64752000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6476
6477 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6478 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6479 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6480
ee5e440a
MB
64812000-11-14 Miles Bader <miles@gnu.org>
6482
6483 * xterm.c (x_alloc_lighter_color): Include an additive component
6484 too for dark colors, because FACTOR isn't enough.
6485 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6486 New macros.
6487
5ca020fc
GM
64882000-11-13 Gerd Moellmann <gerd@gnu.org>
6489
6490 * keyboard.c (show_help_echo): Call message3_nolog with number of
6491 bytes in the help string as 2nd parameter, instead of the number
6492 of characters.
6493
9d348294
MB
64942000-11-13 Miles Bader <miles@gnu.org>
6495
6496 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6497 (Fload): Use new openp return protocol.
6498 Don't try to use Vload_source_file_function to load .elc files.
6499 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6500 openp return protocol.
6501 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6502
1729bb9a
KH
65032000-11-11 Kenichi Handa <handa@etl.go.jp>
6504
4e677396
KH
6505 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6506
6507 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6508 Defined these macros.
6509 (NLIST_STRUCT): Avoid re-defining it.
6510
1729bb9a
KH
6511 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6512 -I/usr/contrib/X11R6/include.
6513 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6514
a82fe213
JR
65152000-11-10 Jason Rumney <jasonr@gnu.org>
6516
6517 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6518
6519 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6520 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6521
6522 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6523 (Qw32_charset_vietnamese): New symbol.
6524 (xlfd_charset_of_font): New function.
6525 (w32_load_system_font): Use it.
6526 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6527 when Vw32_charset_info_alist is nil to ensure default face always
6528 has font. Use Fcar and Fcdr for safety.
6529 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6530 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6531 pseudo-codepages for special cases.
6532 (w32_to_x_font): New parameter to allow charset portion to be
6533 specified where there is many to one mapping. Callers changed.
6534 (w32_list_fonts): Avoid listing fonts that won't display.
6535
52d89894
GM
65362000-11-10 Gerd Moellmann <gerd@gnu.org>
6537
6538 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6539 (font_list_1): Renamed from font_list.
6540 (font_list): New function, trying alternative registries from
6541 Vface_alternative_font_registry_alist.
6542 (Finternal_set_alternative_font_registry_alist): New function.
6543 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6544 Vface_alternative_font_registry_alist.
6545 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6546
651cd3da
KR
65472000-11-09 Ken Raeburn <raeburn@gnu.org>
6548
6549 * lisp.h (Flooking_at): Declare.
6550
388ac098
GM
65512000-11-09 Gerd Moellmann <gerd@gnu.org>
6552
778fbc46 6553 * dired.c (directory_files_internal): Fix a braino.
52283633 6554
388ac098
GM
6555 * dired.c (directory_files_internal): Add missing GCPRO's.
6556 Some cleanup.
6557
ecaedde1
GM
65582000-11-08 Gerd Moellmann <gerd@gnu.org>
6559
f7eb32aa
GM
6560 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6561 (resize_mini_window): Return quickly if Vresize_mini_window is
6562 nil. Don't return if Vmax_mini_window_height is nil.
6563
6564 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6565 (syms_of_xdisp): Initialize them.
6566 (resize_mini_window): Act according to the setting of
6567 Vresize_mini_window.
6568 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6569
ecaedde1
GM
6570 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6571 scroll bar widget after configuring it, so that it will appear at
6572 the right position from the start.
6573 (XTredeem_scroll_bar): Cleaned up.
6574
3747ef2c
KH
65752000-11-08 Kenichi Handa <handa@etl.go.jp>
6576
6577 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6578 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6579 division by two.
6580
6581 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6582
03391420
DL
65832000-11-07 Dave Love <fx@gnu.org>
6584
7758f1c1 6585 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6586
6587 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6588
b5de343d
GM
65892000-11-07 Gerd Moellmann <gerd@gnu.org>
6590
acad3c0b
GM
6591 * window.c (Fset_window_configuration): Don't try to preserve
6592 point in the current buffer, if that buffer is displayed in more
6593 than one window.
6594
b5de343d
GM
6595 * xfaces.c (lookup_named_face): If default face isn't realized,
6596 try to realize it. Return -1 if not successful.
6597 (Fx_list_fonts): Handle case that face cannot be determined.
6598 (Fface_font): Likewise.
6599
cdb1fe49
GM
66002000-11-06 Gerd Moellmann <gerd@gnu.org>
6601
6602 * window.c (displayed_window_lines): Detect partially
6603 visible lines at the bottom correctly.
6604
d3a67486
SM
66052000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6606
6607 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6608 when ensuring we don't do visit in indirect buffer.
6609
ff8dd5d5
KH
66102000-11-06 Kenichi Handa <handa@etl.go.jp>
6611
6612 * composite.h (compose_chars_in_text): Add prototype.
6613
6614 * composite.c (Vcomposition_function_table): New variable.
6615 (Qcomposition_function_table): New variable.
6616 (run_composition_function): Call
6617 Vcompose_chars_after_function with three arguments.
6618 (compose_chars_in_text): New function.
6619 (syms_of_composite): Modified the doc-string of
6620 Vcompose_chars_after_function. Declare composition-function-table
6621 as a lisp variable, and initialize it.
6622
6623 * xfns.c (x_encode_text): Suppress producing escape sequences for
6624 composition.
6625
6626 * xselect.c: Include composite.h.
6627 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6628
d1145f85
AI
66292000-11-05 Andrew Innes <andrewi@gnu.org>
6630
6631 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6632
6633 * sysdep.c (read_input_waiting): Remove extraneous argument to
6634 read_socket_hook.
6635
6636 * w32fns.c (Fx_server_version): Include w32_build_number in the
6637 return list.
6638
6639 * w32heap.c (w32_build_number): New variable.
6640 (cache_system_info): Set it.
6641
6642 * w32heap.h (w32_build_number): Add extern.
6643
6644 * emacs.c (syms_of_emacs): Update docstring for
6645 system-configuration, to reflect the actual usage on MS-Windows.
6646
e85ee976
GM
66472000-10-31 Gerd Moellmann <gerd@gnu.org>
6648
26dcb81b
GM
6649 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6650 process idle timers while waiting for another event.
6651
52283633 6652 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6653 the default face are colored.
6654
e85ee976
GM
6655 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6656 window height hasn't changed.
6657
01b220b6
JR
66582000-10-31 Jason Rumney <jasonr@gnu.org>
6659
6660 * w32term.c (x_produce_glyphs): Handle composite characters.
6661 (x_draw_glyph_string_foreground)
6662 (x_draw_composite_glyph_string_foreground): Restore old font.
6663
4e6b7204
MB
66642000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6665
6666 * minibuf.c (read_minibuf): Reset the undo history just before
6667 starting the recursive-edit.
6668
d4358b37
GM
66692000-10-30 Gerd Moellmann <gerd@gnu.org>
6670
563f68f1
GM
6671 * xfaces.c (menu_face_change_count): New variable.
6672 (Finternal_set_lisp_face_attribute): Increment it for changes
6673 of the `menu' face.
6674 (realize_basic_faces): Reflect changes in the `menu' faces
6675 in menu bars.
6676
82e274d1
GM
6677 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6678 dy obtained from the iterator's y-position after moving from
6679 scroll_margin_pos to PT; see comment there.
52283633 6680
0dbf9fd2
GM
6681 * xdisp.c (safe_eval_handler): Call add_to_log.
6682
906b3b14
GM
6683 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6684 is not a symbol or string.
6685
d4358b37
GM
6686 * xdisp.c (echo_area_display): Don't perform a display update from
6687 inside redisplay. The update will happen anyway at the end of
6688 redisplay, and it can confuse redisplay (GC messages while
6689 redisplaying, for instance.)
6690
70c825df
SM
66912000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6692
cf9b4b0b
SM
6693 * xrdb.c (x_load_resources): Use the class name in the defaults.
6694
70c825df
SM
6695 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6696 (regex_compile): Catch bogus \(\1\).
6697
a1d34b1e
GM
66982000-10-30 Gerd Moellmann <gerd@gnu.org>
6699
cae71efe
GM
6700 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6701 RGB values.
52283633 6702
35efe0a1
GM
6703 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6704 we have a color cache, check that the cached color equals the
6705 allocated color. If not, clear the color cache.
6706
1d3baf74
GM
6707 * window.c (displayed_window_lines): Change buffers if necessary.
6708 Fix computation of displayed lines.
6709
a1d34b1e
GM
6710 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6711 update_menu_bindings to DEFVAR_BOOL.
6712
70737ea9
KH
67132000-10-30 Kenichi Handa <handa@etl.go.jp>
6714
70c825df 6715 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6716
fa0cb51d
KH
6717 * puresize.h (BASE_PURESIZE): Increase to 680000.
6718
70737ea9
KH
6719 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6720
0e4c08e8
JR
67212000-10-29 Jason Rumney <jasonr@gnu.org>
6722
6723 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6724
6725 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6726 (w32_cache_char_metrics): Handle possibility that 'x' does not
6727 exist in a BDF font.
6728 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6729
6730 * w32bdf.h (bdffont): Add nchars.
6731
6732 * w32bdf.c (set_bdf_font_info): Set it.
6733 (w32_BDF_TextOut): Swap byte order of double byte characters.
6734 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6735
45b84006
EZ
67362000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6737
6738 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6739 don't override the colors in frame's param_alist, unless they are
6740 unspecified.
6741
6742 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6743 reverse the effect of the highlight flag.
6744
caf9deee
KR
67452000-10-27 Ken Raeburn <raeburn@gnu.org>
6746
6747 * window.h (Fwindow_live_p): Declare.
6748
ae0b9b46
KR
6749 * undo.c (record_delete): Check that last_undo_buffer is really a
6750 buffer before applying XBUFFER to it.
6751
6752 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6753 Faref.
6754
02067692
SM
67552000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6756
6757 * lisp.h (KEYMAPP): New macro.
6758 (get_keymap): Remove.
6759 (get_keymap_1): Rename get_keymap.
6760
6761 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6762
6763 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6764
6765 * xmenu.c (single_submenu): Use KEYMAPP.
6766 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6767 Use KEYMAPP rather than Fkeymapp.
6768
6769 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6770
6771 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6772 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6773 Use KEYMAPP rather than Fkeymapp.
6774 (single_submenu): Use KEYMAPP.
6775 (w32_menu_show, w32_dialog_show): Use TRUE.
6776
6777 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6778
6779 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
6780 (Fkeymapp): Use KEYMAPP.
6781 (get_keymap): Rename from get_keymap_1. Remove old def.
6782 Return t when autoload=0 and error=0 and the keymap needs autoloading.
6783 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
6784 (Fminor_mode_key_binding): Don't raise an error if the binding
6785 is not a keymap.
6786 (Fuse_global_map, Fuse_local_map): Allow autoloading.
6787 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
6788
6789 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
6790 Allow Vspecial_event_map to be autoloaded.
6791 (menu_bar_items): Fetch the keymap rather than using keymapp.
6792 (menu_bar_one_keymap): No need to follow func-indirect any more.
6793 (parse_menu_item): get_keymap_1 -> get_keymap.
6794 (tool_bar_items): Fetch the keymap rather than using keymapp.
6795 (read_key_sequence): Use KEYMAPP.
6796
6797 * intervals.c (get_local_map): Use get_keymap rather than following
6798 function-indirections explicitly.
6799
6800 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
6801
f9d80af3
JR
68022000-10-27 Jason Rumney <jasonr@gnu.org>
6803
6804 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
6805 point, as Windows has oversized fonts.
6806
6807 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
6808
a3ba27da
GM
68092000-10-27 Gerd Moellmann <gerd@gnu.org>
6810
6811 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
6812 (freehook, reallochook): Handle null pointer arguments.
6813 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
6814
aa3b80cc
SM
68152000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6816
6817 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
6818 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
6819 Giving in to popular pressure to shut up the compiler with casts.
6820
e24e84cc
GM
68212000-10-27 Gerd Moellmann <gerd@gnu.org>
6822
6823 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
6824 signed value, and use a default value computed from the font's
6825 maximum descent.
6826
05ea7ef2
MB
68272000-10-27 Miles Bader <miles@lsi.nec.co.jp>
6828
6829 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
6830 that specify a negative underline position can still use underlines.
6831
6832 * window.c (Fpos_visible_in_window_p): Make POS default to
6833 WINDOW's point, not the current buffer's point.
6834
0b95284b
DL
68352000-10-26 Dave Love <fx@gnu.org>
6836
6837 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
6838 when it's necessary.
6839
6c5b90af
GM
68402000-10-26 Gerd Moellmann <gerd@gnu.org>
6841
8b6d9dc9
GM
6842 * window.c (size_window): Compute size difference from sum of old
6843 child window sizes instead of from parent's size.
6844
6bc92b2e
GM
6845 * xdisp.c (pos_visible_p): Change current buffer if necessary.
6846 Handle obscured lines at the top of the window.
6847
6848 * frame.c (Fdelete_frame): Doc fix. Move running the hook
6849 down after the last error condition check.
6850
6c5b90af
GM
6851 * frame.c (Fdelete_frame): Run delete-frame-hook.
6852
42f92d4d
KH
68532000-10-26 Kenichi Handa <handa@etl.go.jp>
6854
6855 * coding.c (decode_coding): Fix previous change (check also
6856 CODING_MODE_LAST_BLOCK).
6857
d97151cb
SM
68582000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6859
e7efc503
SM
6860 * regex.c: More `unsigned char' -> `re_char' changes.
6861 Also change several `int' into `re_wchar_t'.
6862 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
6863 (PUSH_FAILURE_POINTER): Don't cast any more.
6864 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
6865 We want GCC to complain, since this piece of code makes
6866 re_match non-reentrant, which *should* be fixed.
6867 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
6868 (EXTEND_BUFFER): Use RETALLOC.
6869 (SET_LIST_BIT): Don't cast.
6870 (re_wchar_t): New type.
6871 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
6872 that those two functions will always properly return.
6873 (IMMEDIATE_QUIT_CHECK): Cast to void.
6874 (analyse_first): Use recursion rather than an explicit stack.
6875 (re_compile_fastmap): Can't fail anymore.
6876 (re_search_2): Don't check re_compile_fastmap for failure.
6877 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
6878 Now also sets the new value (passed in a new argument).
6879 (re_match_2_internal): Use it.
6880 Also, use a new var `reg' of type size_t when looping through regs
6881 rather than reuse the inappropriate `mcnt'.
6882
d97151cb
SM
6883 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
6884 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
6885 (where_is_internal): Renamed from Fwhere_is_internal.
6886 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
6887 (Fwhere_is_internal): New function wrapping where_is_internal.
6888 (where_is_internal_1): Handle the case where we're filling the cache.
6889 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
6890
d5789b65
MB
68912000-10-25 Miles Bader <miles@gnu.org>
6892
6893 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
6894
4ecda532
GM
68952000-10-25 Gerd Moellmann <gerd@gnu.org>
6896
6897 * window.c (pos_fully_visible_p): Removed.
6898 (Fpos_visible_in_window_p): Use pos_visible_p to determine
6899 if position is visible and/or fully visible.
6900
6901 * lisp.h (pos_visible_p): Add prototype.
6902
6903 * xdisp.c (pos_visible_p): New function.
6904
68c3a137
KH
69052000-10-25 Kenichi Handa <handa@etl.go.jp>
6906
6907 * process.c (send_process): If OBJECT is t, it means that the data
6908 is from C string, but we should encode it. Before calling
6909 setup_raw_text_coding_system, be sure to flush out data by the
6910 previous coding system.
6911
7ae1c032
MB
69122000-10-25 Miles Bader <miles@lsi.nec.co.jp>
6913
ff4dcd4b
MB
6914 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
6915 assignment of startpos to prev when startpos == pos.
6916
7ae1c032
MB
6917 * editfns.c (find_field): Set the field stickiness correctly from
6918 overlay fields. Use renamed `text_property_stickiness'.
6919 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 6920 Only check text properties, not overlays.
7ae1c032
MB
6921 * textprop.c (get_char_property_and_overlay): New function.
6922 (Fget_char_property): Use it.
6923 * intervals.h (get_char_property_and_overlay): Add declaration.
6924
49801145
SM
69252000-10-25 Stefan Monnier <monnier@cs.yale.edu>
6926
6927 * keymap.c: Use AREF, ASET and ASIZE macros.
6928 (Fmake_sparse_keymap): Docstring fix.
6929 (synkey): Remove.
6930 (shadow_lookup): Move up.
6931 Handle the case where lookup-key returns an integer.
6932 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
6933 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
6934 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
6935 Simplify/rewrite the keymap-finding code.
6936 Add check for command shadowing, using shadow_lookup.
6937
39e776cd
SM
69382000-10-24 Stefan Monnier <monnier@cs.yale.edu>
6939
6940 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
6941 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
6942 a symbol.
6943
2488aba5
AI
69442000-10-24 Andrew Innes <andrewi@gnu.org>
6945
6946 * dired.c (directory_files_internal_unwind): New function.
6947 (directory_files_internal): Use it to ensure closedir is called
6948 even if expand-file-name or file-attributes throw, eg. because of
6949 a user interrupt. Also enable immediate_quit while calling
6950 re_search, so that matching can be interrupted as well.
6951
b94fdf61
AI
69522000-10-24 Andrew Innes <andrewi@gnu.org>
6953
6954 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
6955 NT-Emacs only.
6956 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
6957 so that re_search functions only quit when callers expect them to.
6958
69592000-10-24 Kenichi Handa <handa@etl.go.jp>
6960
6961 * regex.c (regex_compile): Change the way of handling a range from
6962 a char less than 256 to a char not less than 256.
6963
1946f901
GM
69642000-10-24 Gerd Moellmann <gerd@gnu.org>
6965
7ae2f10f
GM
6966 * window.c (size_window): Prevent setting window's width or
6967 height to a negative value (esp. with XSETFASTINT).
6968
5dcab13e
GM
6969 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
6970 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
6971 (protect_malloc_state) [GC_MALLOC_CHECK &&
6972 GC_PROTECT_MALLOC_STATE]: New function.
6973 (PROTECT_MALLOC_STATE): New macro.
6974 (__malloc_initialize, morecore, _malloc_internal)
6975 (_free_internal) _realloc_internal): Use it to make _heapinfo
6976 read-only outside of gmalloc.
6977
63e1b552
GM
6978 * keymap.c: Update copyright.
6979
1946f901
GM
6980 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
6981 a symbol.
6982
4fa09beb
GM
69832000-10-24 Colin Walters <walters@cis.ohio-state.edu>
6984
6985 * filelock.c (unlock_all_files): Use unlock_file to expand each
6986 buffer's file_truename before trying remove its lock file.
6987
23afac01
EZ
69882000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
6989
6990 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
6991 or CRLF, decode EOLs.
6992
04448b95
KH
69932000-10-24 Kenichi Handa <handa@etl.go.jp>
6994
6995 * window.c (Fdisplay_buffer): Fix doc.
6996
3090a5a5
JR
69972000-10-23 Jason Rumney <jasonr@gnu.org>
6998
6999 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7000 ASCII font of default fontset on Windows.
7001
7002 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7003 xterm.c comment below).
7004
7005 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7006
a83fee2c
GM
70072000-10-23 Gerd Moellmann <gerd@gnu.org>
7008
7009 * xterm.c (x_connection_closed): Reset handling_signal.
7010
52283633 7011 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7012
6ffdb539
MB
70132000-10-23 Miles Bader <miles@gnu.org>
7014
7015 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7016 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7017 maintain old behavior.
7018 * minibuf.c (Fminibuffer_complete): Likewise.
7019
7f1c969b
MB
70202000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7021
7022 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7023 that when a font can't be exactly centered, it errs up rather than
7024 down.
7025
23afac01 70262000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7027
52283633 7028 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7029
1a578e9b
AC
70302000-10-23 Andrew Choi <akochoi@i-cable.com>
7031
7032 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7033
7034 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7035 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7036
7037 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7038 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7039 syms_of_search, x_term_init, and init_keyboard before calling
7040 init_window_once. Also, call syms_of_xmenu.
7041
7042 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7043 default fontset to Monaco.
7044
7045 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7046 NewMacWindow and DisposeMacWindow.
7047 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7048 instead of calling NewMacWindow and setting fields of
7049 f->output_data.mac directly. Call init_frame_faces.
7050 (Fdelete_frame) [macintosh]: Remove unused code.
7051 (Fmodify_frame_parameters) [macintosh]: Call
7052 x_set_frame_parameters instead of mac_set_frame_parameters.
7053
7054 * frame.h [macintosh]: Define menu_bar_lines field in struct
7055 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7056
7057 * keyboard.c [macintosh]: Include macterm.h.
7058 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7059 and menu_bar_activate_event type events as for X and NT.
7060 (make_lispy_event) [macintosh]: Construct lisp events of type
7061 MENU_BAR_EVENT as for X and NT.
7062
7063 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7064 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7065 (sys_subshell) [macintosh]: Remove definition entirely.
7066 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7067 Vwindow_system_version here. Remove initialization of
7068 Vx_bitmap_file_path.
7069 (read_input_waiting): Correct the number of parameters passed to
7070 read_socket_hook.
7071 Move all Macintosh functions to mac/mac.c.
7072
7073 * term.c [macintosh]: Include macterm.h.
7074
7075 * window.c [macintosh]: Include macterm.h.
7076
7077 * xdisp.c [macintosh]: Include macterm.h. Declare
7078 set_frame_menubar and pending_menu_activation.
7079 (echo_area_display) [macintosh]: Do not return if terminal frame
7080 is the selected frame.
7081 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7082 Allow only the selected frame to set menu bar.
7083 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7084 calling FRAME_EXTERNAL_MENU_BAR (f).
7085 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7086
7087 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7088 and check_x. Declare XCreateGC. Define x_create_gc and
7089 x_free_gc. Initialize font_sort_order.
7090 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7091 but call x_list_fonts instead of w32_list_fonts.
7092 (Finternal_face_x_get_resource) [macintosh]: Do not call
7093 display_x_get_resource.
7094 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7095 (realize_x_face) [macintosh]: Load the font if it is specified in
7096 ATTRS.
52283633 7097 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7098
1ffbabe3
SM
70992000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7100
7101 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7102 is nil: since we go to the end of submap anyway, we'd end up
7103 setting nil to nil.
7104 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7105 doesn't obey autoload.
7106
bed43f1d
EZ
71072000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7108
1ffbabe3 7109 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7110
ea4233a7
JR
71112000-10-21 Jason Rumney <jasonr@gnu.org>
7112
7113 * w32term.c (w32_cache_char_metrics): Double check that font is
7114 really fixed pitch before trusting tmPitchAndFamily.
7115
f3d3c491
AI
71162000-10-21 Andrew Innes <andrewi@gnu.org>
7117
7118 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7119
7120 * w32term.h: Extern decl for w32_cache_char_metrics.
7121
7122 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7123
7124 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7125 (w32_unload_font): Free per_char array if present.
7126
7127 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7128 cached information in emulated XFontStruct to handle common cases
7129 quickly. Do not allocate XCharStruct for return.
7130 (w32_native_per_char_metric): New function.
7131 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7132 allocating one.
7133 (x_produce_glyphs): Don't get an HDC. Change calls to
7134 w32_per_char_metric to match arg change above. Remove calls to
7135 free results.
7136 (w32_get_glyph_overhangs): Ditto.
7137 (w32_cache_char_metrics): New function.
7138
7139 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7140 ($(BLD)/casefiddle.$(O)): Remove compile command.
7141 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7142 ($(BLD)/dispnew.obj):
7143 ($(BLD)/keyboard.obj):
7144 ($(BLD)/w32inevt.obj):
7145 ($(BLD)/w32bdf.obj):
7146 ($(BLD)/alloc.obj):
7147 ($(BLD)/buffer.obj):
7148 ($(BLD)/editfns.obj):
7149 ($(BLD)/emacs.obj):
7150 ($(BLD)/fileio.obj):
7151 ($(BLD)/fns.obj):
7152 ($(BLD)/indent.obj):
7153 ($(BLD)/insdel.obj):
7154 ($(BLD)/intervals.obj):
7155 ($(BLD)/minibuf.obj):
7156 ($(BLD)/print.obj):
7157 ($(BLD)/scroll.obj):
7158 ($(BLD)/sysdep.obj):
7159 ($(BLD)/textprop.obj):
7160 ($(BLD)/widget.obj):
f3d3c491
AI
7161 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7162 ($(BLD)/term.obj): Add dependency on dispextern.h.
7163
52283633
SM
7164 * makefile.nt ($(BLD)\dispnew.obj):
7165 ($(BLD)\keyboard.obj):
7166 ($(BLD)\w32inevt.obj):
7167 ($(BLD)\w32bdf.obj):
7168 ($(BLD)\alloc.obj):
7169 ($(BLD)\buffer.obj):
7170 ($(BLD)\editfns.obj):
7171 ($(BLD)\emacs.obj):
7172 ($(BLD)\fileio.obj):
7173 ($(BLD)\fns.obj):
7174 ($(BLD)\indent.obj):
7175 ($(BLD)\insdel.obj):
7176 ($(BLD)\intervals.obj):
7177 ($(BLD)\minibuf.obj):
7178 ($(BLD)\print.obj):
7179 ($(BLD)\scroll.obj):
7180 ($(BLD)\sysdep.obj):
7181 ($(BLD)\textprop.obj):
7182 ($(BLD)\widget.obj):
f3d3c491
AI
7183 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7184 ($(BLD)\term.obj): Add dependency on dispextern.h
7185
18ad4821
EZ
71862000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7187
7188 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7189 with an additional argument of Qt.
7190
de54681a
MB
71912000-10-21 Miles Bader <miles@gnu.org>
7192
7193 * window.c (pos_fully_visible_in_window_p): New function.
7194 (Fpos_visible_in_window_p): Add FULLY argument.
7195 Use pos_fully_visible_in_window_p.
7196 (window_scroll_pixel_based, window_scroll_line_based): Update
7197 calls to Fpos_visible_in_window_p.
7198 * lisp.h (Fpos_visible_in_window_p): Update prototype
7199
13c844fb
GM
72002000-10-20 Gerd Moellmann <gerd@gnu.org>
7201
7202 * alloc.c (toplevel): Conditionalize compilation of mem_*
7203 functions differently.
52283633 7204
d9506268
JR
72052000-10-20 Jason Rumney <jasonr@gnu.org>
7206
7207 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7208 mem_init where it used to be. mem_z etc not defined otherwise.
7209
8094989b
GM
72102000-10-20 Gerd Moellmann <gerd@gnu.org>
7211
7212 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7213 GC_MALLOC_CHECK.
7214 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7215 structure definition and related variabled to the top of the file.
7216 Include this code when GC_MALLOC_CHECK is defined.
7217 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7218 register/unregister allocated region.
7219 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7220 which isn't allocated.
7221 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7222 something which is already in use.
7223 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7224 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7225 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7226 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7227
7228 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7229 _malloc_internal instead of malloc.
7230 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7231 of free.
7232
ea456eb4
AI
72332000-10-20 Andrew Innes <andrewi@gnu.org>
7234
7235 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7236 Windows.
7237 (my_strftime) <macro>: Don't use macro arg list when redefining as
7238 _strftime_copytm.
7239 (my_strftime) <function>: Supply 0 as ut argument.
7240
e64c3a75
JR
72412000-10-19 Jason Rumney <jasonr@altavista.net>
7242
7243 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7244 including dispextern.h, as it stops faces from working.
7245
7246 * w32fns.c (Fx_create_frame): Don't bother calling
7247 face-set-after-frame-default since the caller does it for us
7248 anyway. Clean up calls to x_get_arg to be consistent with X.
7249
7250 * w32term.c (x_produce_glyphs): Handle
7251 unibyte_display_via_language_environment correctly.
7252 (w32_draw_box_rect): Fix the calculation of width and height.
7253
7254 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7255 as it has stopped working.
7256 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7257 menu-bar.
7258
17401c97
GM
72592000-10-19 Gerd Moellmann <gerd@gnu.org>
7260
7261 * eval.c (skip_debugger): Prevent a compiler warning.
7262 (Fcondition_case): Likewise.
7263 (Fbacktrace_frame): Use a null interactive spec.
7264
773272d8
KH
72652000-10-19 Kenichi Handa <handa@etl.go.jp>
7266
7267 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7268
a42943e9
GM
72692000-10-18 Gerd Moellmann <gerd@gnu.org>
7270
e50517d9
GM
7271 * strftime.c: Sync with glibc, file version 1.78.
7272 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7273 should no longer be used according to ISO 8601.
7274
9035a35a
GM
7275 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7276 no map for meta_prefix_char, don't try to use it as a keymap.
7277 Instead, if T_OK is non-zero, look up a default binding, if any,
7278 otherwise, if T_OK is zero, return nil.
7279
a42943e9
GM
7280 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7281 (x_to_xcolors, png_load): Use x_query_color.
7282
52283633
SM
7283 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7284 New functions.
a42943e9
GM
7285 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7286 which can be slow.
7287 (x_copy_color, x_alloc_lighter_color): Likewise.
7288
7289 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7290 (x_query_color, x_query_colors): Add prototype.
7291
7292 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7293 check_string_bytes only if not noninteractive, increase count to 50.
7294
00de2987
MB
72952000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7296
7297 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7298 markers correctly.
7299
54918e2b
GM
73002000-10-17 Gerd Moellmann <gerd@gnu.org>
7301
1f0b3fd2
GM
7302 * alloc.c (pure_bytes_used): Renamed from pureptr.
7303 (ALIGN): New macro.
7304 (pure_alloc): New function.
7305 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7306 Use it.
7307 (Fpurecopy): Use PURE_POINTER_P.
7308
68c5d1db
GM
7309 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7310 PT has moved backward.
52283633 7311
9a038881
GM
7312 * xdisp.c (cursor_row_p): Take continued lines into account.
7313
361b097f
GM
7314 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7315 string's size_byte.
7316 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7317 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7318 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7319 string allocated.
7320
54918e2b
GM
7321 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7322 of selective display off while searching for the next line start.
7323
03ed0806
KH
73242000-10-17 Kenichi Handa <handa@etl.go.jp>
7325
7326 * Makefile.in (term.o): Depend on dispextern.h.
7327
7e05cdaf
SM
73282000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7329
7330 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7331
a6801fd1
GM
73322000-10-16 Gerd Moellmann <gerd@gnu.org>
7333
483de32b
GM
7334 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7335 the iterator at the beginning, so that they can be set later on,
7336 for instance in reseat_at_next_visible_line_start, without being
7337 overwritten.
7338
a6801fd1
GM
7339 * xfns.c (pbm_format): Add :foreground and :background keywords.
7340 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7341 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7342
dbf1fcc1
EZ
73432000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7344
7345 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7346
52283633 7347 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7348
7349 * msdos.c (IT_set_face): Compare highlighted face with the default
7350 face, and invert colors if these faces' colors are identical.
7351 (Fmsdos_remember_default_colors): Don't swap foreground and
7352 background colors in initial_colors[].
7353 (IT_set_frame_parameters): Don't swap frame's foreground and
7354 background pixels. If ALIST includes "(reverse . t)", swap
7355 foreground-color and background-color properties in frame's
7356 param_alist. If the original frame's param_alist doesn't specify
7357 the colors, store unspecified-fg and unspecified-bg, reversed if
7358 required.
7359
7360 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7361 the colors are unspecified and reversed, reverse fore- and back-
7362 ground in the returned value.
7363 (Fframe_parameter): Ditto.
7364
b41fe2c3 73652000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7366
3a6b59d9
GM
7367 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7368 get_last_unchanged_at_beg_row.
7369 (find_first_unchanged_at_end_row): Renamed from
7370 get_first_unchanged_at_end_row.
7371 (find_first_unchanged_at_end_row): Convert assertions to
7372 unconditional tests which abort. When looking for a row in
7373 unchanged text, don't go further back than first_text_row.
7374
b41fe2c3
GM
7375 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7376 Don't add in the last line's height when deciding if the new
7377 position is below the scroll margin.
9d1af64f 7378
b41fe2c3 73792000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7380
7381 * editfns.c (Fconstrain_to_field): Check carefully for field
7382 boundaries if either OLD_POS or NEW_POS has a non-nil field
7383 property, even if they're the same.
7384
c412cb7b
KH
73852000-10-16 Kenichi Handa <handa@etl.go.jp>
7386
7387 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7388 height for XFillRectangle.
7389
5586f3eb
SM
73902000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7391
7392 * syntax.c (Fstring_to_syntax): New function extracted from
7393 Fmodify_syntax_entry.
7394 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7395 (skip_chars, Fforward_comment): Remove unused variables.
7396 (syms_of_syntax): Add defsubr for string-to-syntax.
7397 (describe_syntax): Add code for comment and string fences.
7398
db785038
SM
73992000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7400
7401 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7402 Do the meta->esc mapping. Call get_keyelt before returning.
7403 Start scanning from the second element (the first is always `keymap')
7404 to make it easier to detect when we reach a parent map.
7405 Handle the case of inheriting from a symbol whose function is a map.
7406 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7407 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7408 (get_keyelt, Flookup_key): Update call to access_keymap.
7409 Remove the meta->esc mappings.
7410 (define_as_prefix): Delete old disabled code.
7411 (menu_item_p): New function.
7412 (where_is_internal_1): Skip over the few remaining menu items.
7413 * lisp.h (access_keymap): Update prototype.
7414 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7415 Update call to access_keymap.
7416 (follow_key, read_key_sequence): Update calls to access_keymap.
7417 Remove the meta->esc mappings.
7418
cafafe0b
GM
74192000-10-13 Gerd Moellmann <gerd@gnu.org>
7420
a2e2a7f6
GM
7421 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7422 with additional argument.
7423
cafafe0b
GM
7424 * xdisp.c (cursor_row_p): New function.
7425 (try_cursor_movement, display_line): Use it.
52283633 7426
cafafe0b
GM
7427 * xdisp.c (append_space): Also save/restore iterator's current
7428 character and its length.
7429
7430 * xdisp.c (init_from_display_pos): Add an assertion.
7431 (handle_stop): Don't set iterator's add_overlay_start.
7432 (handle_invisible_prop): Likewise.
7433 (load_overlay_strings): If text under an overlay is invisible,
7434 take both before- and after-strings into account when the iterator
7435 is positioned either at the start or at the end of the overlay.
7436 (forward_to_next_line_start): Rewritten.
7437 (reseat_at_next_visible_line_start): Rewritten.
7438 (set_iterator_to_next): Add parameter RESEAT_P.
7439
7440 * dispextern.h (struct it): Remove member add_overlay_start.
7441 (set_iterator_to_next): Change prototype.
7442
c744452b
KH
74432000-10-13 Kenichi Handa <handa@etl.go.jp>
7444
7445 * coding.c (code_convert_region): Be sure to initialize
7446 coding->category_idx.
e4a3f4e1
KH
7447 (decode_coding_string): Set coding->src_multibyte and
7448 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7449 (encode_coding_string): Set coding->src_multibyte and
7450 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7451
321fd26f
SM
74522000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7453
7454 * xfns.c (Fx_create_frame): Don't bother calling
7455 face-set-after-frame-default since the caller does it for us anyway.
7456
76832439
EZ
74572000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7458
7459 * window.c (coordinates_in_window): Fix detection of vertical line
7460 on character terminals.
7461
2483cf58
GM
74622000-10-12 Gerd Moellmann <gerd@gnu.org>
7463
7464 * editfns.c (save_excursion_save): Additionally record the
7465 selected window.
7466 (save_excursion_restore): If buffer was visible in a window, and a
7467 different window was selected, and the old selected window is
7468 still live, restore point in that window.
7469
eb991b25
KH
74702000-10-12 Kenichi Handa <handa@etl.go.jp>
7471
8a0eba09
KH
7472 * xterm.c (x_produce_glyphs): Handle
7473 unibyte_display_via_language_environment correctly.
7474
20401fcc
KH
7475 * regex.c (regex_compile): Change the way of handling a range from
7476 unibyte char to multibyte char.
7477
7478 * syntax.c (skip_chars): Change the way of handling a range from
7479 unibyte char to multibyte char.
7480
eb991b25
KH
7481 * process.c (read_process_output): Cancel previous change.
7482
365dd325
EZ
74832000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7484
c1b096cb
EZ
7485 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7486
365dd325
EZ
7487 * charset.c (Ffind_charset_string): Doc fix.
7488 (Ffind_charset_region): Doc fix.
7489
eb483c2b
KH
74902000-10-11 Kenichi Handa <handa@mule.m17n.org>
7491
7492 * process.c (read_process_output): Fix previous change. Adjust
7493 multibyteness of text to insert in a buffer by
52283633 7494 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7495
b40bfb99
AS
74962000-10-10 Andreas Schwab <schwab@suse.de>
7497
7498 * alloc.c (mark_object): Remove all workarounds installed on
7499 1993-08-08.
7500
caff31d4
KH
75012000-10-10 Kenichi Handa <handa@etl.go.jp>
7502
52283633 7503 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7504 (base64_encode_1): Make it work for a text of multibyte form.
7505 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7506 case. Don't call str_to_multibyte because base64_decode_1
7507 produces correct multibyte form for eight-bit codes.
52283633 7508 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7509 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7510 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7511 codes.
7512
7513 * charset.h (CHAR_STRING): Optimized for single byte characters.
7514
cba026ef
AS
75152000-10-09 Andreas Schwab <schwab@suse.de>
7516
7517 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7518 -1 after socket is closed, to fall through to error processing.
7519
1e21fe48
EZ
75202000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7521
7522 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7523 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7524 background-color, change also the colors of the default face for
7525 this frame.
7526
a640322e
EZ
75272000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7528
7529 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7530 them extern (they are defined on xfaces.c).
7531 (syms_of_msdos): Don't intern and don't staticpro
7532 Qbackground_color and Qforeground_color.
7533
a115794c
EZ
75342000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7535
7536 * frame.c (Fframe_parameter): For non-windowed frames, if
7537 f->param_alist says foreground or background color is unspecified,
7538 call tty_color_name to return the color name computed from the
7539 frame's current colors.
7540
f5533b63
DL
75412000-10-06 Dave Love <fx@gnu.org>
7542
7543 * terminfo.c (ospeed): Don't declare.
7544
7545 * sysdep.c: Don't include string.h.
7546 (h_errno): Declare conditional also on TRY_AGAIN.
7547
7548 * charset.c (Ffind_charset_string): Doc fix.
7549
52283633 7550 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7551 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7552 error messages.
7553
2b06561a
DL
75542000-10-05 Dave Love <fx@gnu.org>
7555
7556 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7557 position like menu-bar.
7558
ca839c85
GM
75592000-10-05 Gerd Moellmann <gerd@gnu.org>
7560
7561 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7562
7563 * xdisp.c (handle_single_display_prop): Use safe_call1.
7564 (safe_call): Renamed from call_function.
7565 (safe_call1): New function.
7566 (handle_fontified_prop): Use safe_call1 instead of call1.
7567 (safe_eval): Renamed from eval_form.
7568 (safe_eval_handler): Renamed from eval_handler.
7569 (handle_single_display_prop, display_mode_element): Use safe_eval
7570 instead of eval_form.
7571
7572 * xfaces.c (merge_face_heights): Use safe_call instead of
7573 call_function.
7574
7575 * keyboard.c (show_help_echo): Use safe_call instead of
7576 call_function; use safe_eval instead of eval_form.
7577
7578 * lisp.h (safe_call): Renamed from call_function.
7579 (safe_eval): Renamed from eval_form.
7580 (safe_call1): Add prototype.
7581
a3489ece
MB
75822000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7583
7584 * xfns.c (image_ascent): Rearrange ascent calculation for the
7585 has-a-font case.
7586
35810b6f
SM
75872000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7588
7589 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7590 (where_is_internal_1): Don't bother ignoring menu-items any more.
7591
3dc78168
GM
75922000-10-04 Gerd Moellmann <gerd@gnu.org>
7593
7594 * keyboard.c (update_menu_bindings): New variable.
7595 (parse_menu_item): Use AREF. If update_menu_bindings
7596 is 0, don't update menu bindings.
7597 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7598
1efc2bb9
EZ
75992000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7600
7601 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7602 to `mark_object'.
7603
3f679f55
SM
76042000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7605
7606 * syntax.c (forw_comment): Match nestedness of ender/starter.
7607 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7608 (prev_char_comstart_first): Remove.
7609 (back_comment): Check two-char comment markers more carefully
7610 to better handle overlapping cases like *//* or /* */* */ ...
7611 Match nestedness of ender/starter.
7612
2021ab61
DL
76132000-10-02 Dave Love <fx@gnu.org>
7614
7615 * config.in (HAVE_GAI_STRERROR): Add undef.
7616
7617 * process.c (Fopen_network_stream): Use it.
7618
7619 * m/alpha.h (NO_REMAP): Don't define.
7620
64e6cc18
GM
76212000-10-02 Gerd Moellmann <gerd@gnu.org>
7622
7623 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7624 return with a string converted to an integer or vice versa when
7625 Vmocklisp_arguments is t.
7626 (Fsignal): Likewise. The function can return for `quit'.
7627 (struct gcpro): Declare member `var' to point to a volatile
7628 Lisp_Object.
7629
7630 * eval.c (error): Prevent compiler warning.
7631
b1904cd9
SM
76322000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7633
7634 * keymap.c (keymap_memberp): New function.
7635 (Fset_keymap_parent): Use it.
7636 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7637 Use keymap_memberp to avoid creating cycles.
7638 (access_keymap): Use KEYMAPP.
7639
71c9ec51
GM
76402000-09-30 Gerd Moellmann <gerd@gnu.org>
7641
7642 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7643 gai_strerror. Make sure xerrno is set if connect fails. Improve
7644 error recovery.
71c9ec51 7645
c70c6b58
JR
76462000-09-29 Jason Rumney <jasonr@gnu.org>
7647
7648 * w32term.c (w32_char_font_type, w32_encode_char)
7649 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7650 (w32_bdf_per_char_metric): New function.
7651 (w32_per_char_metric): Use it.
7652 (x_draw_glyph_string_background): Always draw background for BDF
7653 glyphs.
7654
7655 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7656 GDI object which is a scarce resource.
7657
7658 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7659 (get_quoted_string): Fix limit on memchr search.
7660 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7661 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7662 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7663 (get_cached_font_char, cache_char_offset): Use macro
7664 BDF_CODEPOINT_RANGE_COVER_P.
7665 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7666 (clear_cached_bitmap_slots): New function.
7667 (GET_HEX_VALUE): G-Z, g-z are not hex.
7668 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7669 (get_bitmap_with_cache): Use new cache implementation.
7670 (create_offscreen_bitmap): New function.
7671 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7672
7673 * w32term.c (x_produce_glyphs): If the distance from the current
7674 position to the next tab stop is less than a canonical character
7675 width, use the tab stop after that.
7676 (x_draw_glyphs): Handle case START and END are out of bounds more
7677 carefully.
7678 (x_clear_mouse_face): Block/unblock input.
7679 (x_display_and_set_cursor): Don't show a hollow box cursor for
7680 buffers whose cursor_type is nil.
7681
fe01239f
GM
76822000-09-29 Gerd Moellmann <gerd@gnu.org>
7683
52283633 7684 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7685
7686 * dispextern.h (updating_frame): Declare extern.
7687
e7c52f1f
AS
76882000-09-29 Andreas Schwab <schwab@suse.de>
7689
7690 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7691
de6e1f7c
GM
76922000-09-29 Gerd Moellmann <gerd@gnu.org>
7693
25126faa
GM
7694 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7695 use its function definition.
7696 (tool_bar_items): Likewise.
7697
de6e1f7c 7698 * lisp.h (fatal): Declare NO_RETURN.
52283633 7699
454ee39b
KH
77002000-09-29 Kenichi Handa <handa@etl.go.jp>
7701
7702 * keymap.c: Remove the line "#undef NULL".
7703
96301c5f
GM
77042000-09-28 Gerd Moellmann <gerd@gnu.org>
7705
52283633 7706 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7707
efffeeb4
DL
77082000-09-28 Dave Love <fx@gnu.org>
7709
ecb8b666
DL
7710 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7711
dc3cd20f
DL
7712 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7713
7714 * .gdbinit (xreload): Note its need on GNU/Linux.
7715
efffeeb4
DL
7716 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7717 r_alloc, r_alloc_free.
7718
8610d903
KH
77192000-09-28 Kenichi Handa <handa@etl.go.jp>
7720
7721 * syntax.c (skip_chars): Handle negation correctly.
7722
8901d1ac
GM
77232000-09-27 Gerd Moellmann <gerd@gnu.org>
7724
6f22f1ad
GM
7725 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7726 with non-zero FORCE_P argument.
7727
52283633 7728 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7729 Add assertions.
7730
7731 * xdisp.c (window_box_height): Add an assertion.
7732
7733 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7734 tool-bar than is available.
7735 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7736
36f1966f
DL
77372000-09-27 Dave Love <fx@gnu.org>
7738
efffeeb4 7739 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7740
31d929e5
GM
77412000-09-26 Gerd Moellmann <gerd@gnu.org>
7742
c98863bf
GM
7743 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7744 instead of BITS_PER_INT.
7745 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7746 EMACS_UINT, respectively.
7747 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7748
7749 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7750
7751 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7752
77072ab1
GM
7753 * window.c (freeze_window_starts): Construct last argument for
7754 foreach_window differently.
7755
7756 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7757
7758 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7759 EMACS_UINT instead of `int' and `unsigned int'.
7760 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7761
7762 * frame.h (struct frame): Make the `nothing' member of union
7763 output_data an EMACS_INT.
7764
52283633 7765 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7766 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7767 size in the sdata structure.
7768 (SDATA_NBYTES, SDATA_DATA): New macros.
7769 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7770 differently for the different layout of the sdata structure.
7771 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7772 in sdata.
7773 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7774 Check that size recorded in the string size and size recorded in
7775 the sdata structure agree.
7776
3e60b029
DL
77772000-09-25 Dave Love <fx@gnu.org>
7778
7779 * buffer.c: Include stdio.h.
7780
7781 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 7782
3e60b029
DL
7783 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
7784
7785 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 7786 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
7787 (__malloc_extra_blocks): Declare as __malloc_size_t.
7788
8ff16b4e
GM
77892000-09-25 Gerd Moellmann <gerd@gnu.org>
7790
755a2ccd
GM
7791 * alloc.c (mark_image): Use GC_NILP instead of NILP.
7792
d8b4516f
GM
7793 * keyboard.c (show_help_echo): Set help_echo_showing_p.
7794 (read_char): If help-echo is showing, preserve the echo area
7795 when redisplaying.
7796
7797 * xdisp.c (help_echo_showing_p): New variable.
7798 (set_message): Reset it to 0.
7799 (init_xdisp): Initialize help_echo_showing_p.
7800
7801 * dispextern.h (help_echo_showing_p): Declare extern.
7802
7803 * config.in: Fix typo in __GNUC_MINOR__.
7804
7805 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
7806
b11af2dd
GM
7807 * s/freebsd.h (POSIX_SIGNALS): Define.
7808
8ff16b4e
GM
7809 * xterm.c (x_clear_mouse_face): Block/unblock input.
7810
844eb643
DL
78112000-09-24 Dave Love <fx@gnu.org>
7812
7813 * fns.c (base64_encode_1): Fix last change.
7814
b30ab1b3
GM
78152000-09-22 Gerd Moellmann <gerd@gnu.org>
7816
7817 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
7818
7819 * xdisp.c (try_window_reusing_current_matrix): More fixes
7820 for the case window has a header-line.
7821
c6cbe5f0
DL
78222000-09-22 Dave Love <fx@gnu.org>
7823
4c7c1f3f
DL
7824 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
7825 a doc string.
7826
7827 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
7828
c6cbe5f0
DL
7829 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
7830
550a625e
GM
78312000-09-21 Gerd Moellmann <gerd@gnu.org>
7832
4c7c1f3f 7833 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
7834 for GCC >= 2.5.
7835
52283633
SM
7836 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
7837 Declare NO_RETURN.
fca99116 7838
80d26f99
GM
7839 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
7840 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
7841 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
7842 warnings.
52283633 7843
80d26f99
GM
7844 * marker.c (byte_char_debug_check): Return void.
7845
623a0aae
GM
7846 * xfns.c (Fx_create_frame): Set default frame parameter value
7847 for tool-bar-lines to 1.
7848
7849 * dispnew.c (scrolling_window): Compare y-positions of rows
7850 equal at the start. Some simplification.
7851
7852 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
7853 reused rows' y-position in the case window has a header-line, and
7854 new window start is greater than old window start.
7855
42ac0ae5
GM
7856 * process.c (process_sent_to): New variable.
7857 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
7858 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
7859 Declare more parameters volatile.
7860
550a625e
GM
7861 * lread.c (Vrecursive_load_depth_limit): New variable.
7862 (Fload): Check recursive loads whose recursion depth exceeds
7863 Vrecursive_load_depth_limit.
7864 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
7865
8320414c
GM
78662000-09-20 Gerd Moellmann <gerd@gnu.org>
7867
f46c275e
GM
7868 * fileio.c (Fread_file_name): Doc fix.
7869
7870 * editfns.c (Fmessage_or_box): Doc fix.
7871
7872 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
7873
b7e11c5b 7874 * xfns.c (xbm_scan): Allow C-style comments.
52283633 7875
8320414c
GM
7876 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
7877 symbols are specified, add color translations to the cache.
52283633 7878 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
7879 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
7880 xpm_cache_color.
7881 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
7882 structures to xpm_init_color_cache.
7883
da1608d9
GM
78842000-09-19 Gerd Moellmann <gerd@gnu.org>
7885
52283633 7886 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 7887
6badfa25
AI
78882000-09-19 Andrew Innes <andrewi@gnu.org>
7889
7890 * makefile.nt (bootstrap-emacs): Don't change directory.
7891
3a5f42bb
KH
78922000-09-19 Kenichi Handa <handa@etl.go.jp>
7893
1b7649bd
KH
7894 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
7895
3a5f42bb
KH
7896 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
7897 If output buffer is too small, signal an appropriated error.
7898
9f83cf0b
DL
78992000-09-18 Dave Love <fx@gnu.org>
7900
52283633 7901 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
7902 (current_active_maps): Remove redundant get_local_map call.
7903
28c7826c
GM
79042000-09-18 Gerd Moellmann <gerd@gnu.org>
7905
5cefa566
GM
7906 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
7907 cursor for buffers whose cursor_type is nil.
52283633 7908
6fed3546
GM
7909 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
7910 a feature to implement that is already implemented.
7911 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
7912 warnings.
7913
7914 * xfns.c (x_clear_image_1): New function.
7915 (x_clear_image): Use it.
52283633 7916 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 7917
05b1f851
GM
7918 * dispnew.c (update_window): Move test for invisible lines
7919 at the top to update_window_line.
7920 (update_window_line): Handle invisible lines here.
7921
f4779de9
GM
7922 * xfns.c (clear_image_cache): Clear current matrices of all
7923 frames sharing an image cache. Block input while freeing
7924 images. Fix timestamp comparison.
7925 (x_clear_image): Also free the mask.
7926
28c7826c
GM
7927 * xfns.c (lookup_image): Block input while loading the image so
7928 that we won't get interrupted in a state where the image isn't yet
7929 set up completely.
7930 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
7931 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
7932 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 7933 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 7934
b7412313
GM
79352000-09-16 Gerd Moellmann <gerd@gnu.org>
7936
7937 * dispnew.c (update_window): Make sure to make desired rows
7938 current even if they are completely invisible at the top
7939 of a window.
7940
47e351a3
GM
79412000-09-15 Gerd Moellmann <gerd@gnu.org>
7942
7f8f1edc
GM
7943 * xfns.c (lookup_image): Build mask before applying an algorithm.
7944 Recognize algorithm `disabled'.
7945 (cross_disabled_images): New variable.
7946 (COLOR_INTENSITY): New macro.
7947 (x_detect_edges): Use COLOR_INTENSITY.
7948 (x_disable_image): New function.
7949 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
7950
7951 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
7952 disabled state, don't apply an image transformation algorithm if
7953 the user specified an image for the disabled state. Use
28c7826c 7954 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
7955 user hasn't specified an image.
7956
ebb8f116
GM
7957 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
7958 allocation functions with the XPM lib.
7959 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
7960 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
7961 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
7962 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 7963 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
7964 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
7965 functions, if possible, because these handle color allocation
7966 failure more gracefully.
7967 (Fimage_mask_p): New function.
7968
47e351a3
GM
7969 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
7970 (Qedge_detection, Qheuristic): New symbols.
7971 (syms_of_xfns): Initialize new symbols.
7972 (lookup_image): Handle `:mask X', `:algorithm emboss', and
7973 `algorithm (edge-detection ...)'.
7974 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
7975 (tiff_format, gif_format, gs_format): Add `:mask'.
7976 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
7977 (GIF_MASK, GS_MASK): New enumerators.
7978 (x_laplace_read_row, x_laplace_write_row): Functions removed.
7979 (emboss_matrix, laplace_matrix): New variables.
7980 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
7981 (x_edge_detection): New functions.
7982 (x_laplace): Rewritten in terms of x_detect_edges.
7983 (x_build_heuristic_mask): If image has a mask, free it.
7984
fe83b953
AI
79852000-09-14 Andrew Innes <andrewi@gnu.org>
7986
7987 * makefile.w32-in: Revert to Unix line endings.
7988
3021e816
AI
79892000-09-14 Andrew Innes <andrewi@gnu.org>
7990
7991 * makefile.w32-in: Standardize indentation somewhat.
7992 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
7993 cater for differences between shells.
7994
7995 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
7996
2a32b5ea
GM
79972000-09-14 Gerd Moellmann <gerd@gnu.org>
7998
7999 * xterm.c (x_produce_glyphs): If the distance from the current
8000 position to the next tab stop is less than a canonical character
8001 width, use the tab stop after that.
8002
b4331e96
DL
80032000-09-14 Dave Love <fx@gnu.org>
8004
8005 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8006
ef9e4345
GM
80072000-09-14 Gerd Moellmann <gerd@gnu.org>
8008
085536c2
GM
8009 * xdisp.c (handle_fontified_prop): While running fontification
8010 functions, bind `fontification-functions' and
8011 `after-change-functions' to nil.
8012
ef9e4345
GM
8013 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8014 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8015
8016 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8017
8018 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8019 USE_MMAP_FOR_BUFFERS.
8020
8021 * insdel.c (make_gap): Use enlarge_buffer_text.
8022
8023 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8024 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8025 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8026 from former r_alloc_* functions in ralloc.c.
52283633 8027 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8028 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8029 (mmap_init) [REL_ALLOC_MMAP]: New function.
8030 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8031 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8032 BUFFER_FREE.
8033
8034 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8035 (enlarge_buffer_text): Add prototype.
8036
8037 * ralloc.c: Remove everything having to do with the use of mmap.
8038
f8608968
GM
80392000-09-13 Gerd Moellmann <gerd@gnu.org>
8040
2a494b2d
GM
8041 * sound.c (Fplay_sound): Doc fix.
8042
8c907a56
GM
8043 * keyboard.c: Avoid some more compiler warnings.
8044 (parse_tool_bar_item): Ignore cached key bindings.
8045
f8608968
GM
8046 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8047 and allocation of Lisp data.
8048
6ab70e9a
GM
80492000-09-12 Gerd Moellmann <gerd@gnu.org>
8050
d12d0a9b
GM
8051 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8052 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8053 defaults first.
8054
6ab70e9a
GM
8055 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8056
63c36c3c
KH
80572000-09-12 Miyashita Hisashi <himi@meadowy.org>
8058
8059 * ccl.c: Comment fixed.
8060 (MAX_MAP_SET_LEVEL): Increased to 30.
8061 (PUSH_MAPPING_STACK): Enclose with do-while block.
8062 (POP_MAPPING_STACK): Likewise.
8063 (stack_idx_of_map_multiple): New variable.
8064 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8065 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8066 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8067 (ccl_driver) <CCL_MapSingle>: Likewise.
8068 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8069 with the case where looking up process reaches to the end of
8070 map-set, and call CCL programs as the above change.
8071
7ee3bd7b
GM
80722000-09-11 Gerd Moellmann <gerd@gnu.org>
8073
8ec8a5ec
GM
8074 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8075 that might be clobbered by longjmp.
8076 (check_x_display_info, x_decode_color, create_frame_xic)
8077 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8078 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8079
f74b0705
GM
8080 * lread.c (init_lread): Set Vloads_in_progress to nil.
8081 (Fload): Show list of recursively loaded files, when signaling an
8082 error.
8083
7ee3bd7b
GM
8084 * lread.c (Vloads_in_progress): New variable.
8085 (record_load_unwind): New function.
8086 (Fload): Check for recursive loads.
8087 (syms_of_lread): Initialize Vloads_in_progress.
8088 (read_integer, read1): Avoid some compiler warnings.
8089
8090 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8091 compiler warnings.
8092
974e1e5b
MB
80932000-09-11 Miles Bader <miles@gnu.org>
8094
8095 * editfns.c (Fbuffer_string): Doc fix.
8096
9824c4e3
GM
80972000-09-10 Gerd Moellmann <gerd@gnu.org>
8098
8099 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8100
6a72fdd1
KR
81012000-09-09 Ken Raeburn <raeburn@gnu.org>
8102
8103 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8104 whether to include other header files.
8105
28e6fb66
GM
81062000-09-09 Gerd Moellmann <gerd@gnu.org>
8107
52283633 8108 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8109 by Fmemq as a boolean.
28e6fb66 8110
7f8b6551
SM
81112000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8112
8113 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8114
a8710abf
GM
81152000-09-08 Gerd Moellmann <gerd@gnu.org>
8116
d1a02881
GM
8117 * ralloc.c (mmap_fd): Remove initializer which can make it
8118 read-only in a dumped Emacs.
8119 (mmap_fd_1): New variable.
8120 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8121 restore it from there.
8122 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8123 unconditionally so that mmap_fd can be initialized there.
8124 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8125 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8126 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8127
c454aac1
GM
8128 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8129
8130 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8131 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8132
fc653ef2
GM
8133 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8134
3015eec0
GM
8135 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8136 inheritance.
8137
bfe0ee88
GM
8138 * xdisp.c (try_window_id): When trying to locate cursor in
8139 unchanged rows at the top, handle the case that we can't find it.
8140
a8710abf
GM
8141 * xterm.c (x_draw_glyphs): Handle case START and END are out
8142 of bounds more carefully.
8143
6b7d4ae4
DL
81442000-09-08 Dave Love <fx@gnu.org>
8145
423193c5
DL
8146 * s/sol2.h (REL_ALLOC_MMAP): Define.
8147 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8148
8149 * ralloc.c: Don't include string.h (redundant).
8150 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8151 [!MAP_ANON]: Include fcntl.h.
8152 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8153 (r_alloc, r_re_alloc, r_alloc_free)
8154 (mmap_enlarge, mmap_set_vars): Use it.
8155 (r_alloc_init_fd): New function.
8156 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8157 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8158 malloc type.
8159
8160 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8161 Remove vm-limit.o.
8162
6b7d4ae4
DL
8163 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8164 change to __NetBSD__.
8165
44d31981
KH
81662000-09-08 Kenichi Handa <handa@etl.go.jp>
8167
8168 * search.c (compile_pattern): Check the multibyteness of cached
8169 string and PATTERN.
8170
aad40737
MB
81712000-09-08 Miles Bader <miles@gnu.org>
8172
8173 * xfaces.c (default_face_vector): Function removed.
8174 (Finternal_merge_in_global_face): Restore old global/local
8175 attribute override order. Use inline loop instead of calling
8176 default_face_vector.
8177
91a211b5
GM
81782000-09-07 Gerd Moellmann <gerd@gnu.org>
8179
8180 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8181 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8182 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8183 where necessary, in case POINTER_TYPE is `void'.
8184
03419440
EZ
81852000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8186
8187 * frame.c (make_terminal_frame): Initialize frame foreground and
8188 background colors to unspecified, for the initial instance of an
8189 MSDOS frame.
8190
f46f845b
GM
81912000-09-07 Gerd Moellmann <gerd@gnu.org>
8192
24f76fbf
GM
8193 * ralloc.c (mmap_find): Fix overlap computation.
8194 (mmap_enlarge): Compute nbytes before trying to find an
8195 overlapping region.
8196
f46f845b
GM
8197 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8198 instead of `!='.
8199
8200 * lread.c (syms_of_lread): Change value of regexp
8201 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8202
8203 * xmenu.c (xdialog_show): When looking up the selection in
8204 menu_items, take `quote' boundaries into account; this corresponds
8205 to a nil ITEM in x-popup-dialog.
8206
3c014385
KH
82072000-09-07 Kenichi Handa <handa@etl.go.jp>
8208
fd6f711b
KH
8209 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8210 not 0x81.
8211 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8212
3c014385 8213 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8214 encoding, not decoding. Fix the handling of latin-jisx0201.
8215 Check for the charset katakana-jisx0201 too.
3c014385 8216 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8217 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8218
0da3ecef
GM
82192000-09-07 Gerd Moellmann <gerd@gnu.org>
8220
ab0ee409
GM
8221 * xfaces.c (Vparam_value_alist): New variable.
8222 (syms_of_xfaces): Initialize it.
8223 (Finternal_set_lisp_face_attribute): Avoid more consing.
8224
8225 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8226 specially.
8227 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8228 (Qbackground_mode): New variable.
8229 (syms_of_frame_1): Initialize Qbackground_mode.
8230
8231 * lisp.h (Qdisplay): Declare extern.
1091dd67 8232
0da3ecef
GM
8233 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8234 change face on all frames, and change the default for new frames.
8235
b14654b9
DL
82362000-09-07 Dave Love <fx@gnu.org>
8237
8238 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8239
d24fd56f
KH
82402000-09-07 Kenichi Handa <handa@etl.go.jp>
8241
794f3670
KH
8242 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8243
0fddd0dc
KH
8244 * charset.c: Include composite.h
8245 (lisp_string_width): New function.
8246 (Fstring_width): Call lisp_string_width instead of strwidth.
8247
8248 * Makefile.in (charset.o): Depends on composite.h.
8249
d24fd56f
KH
8250 * process.c (read_process_output): Before inserting the decoded
8251 text in the buffer, adjust the multibyteness.
8252
fa0b693c
GM
82532000-09-06 Gerd Moellmann <gerd@gnu.org>
8254
52283633 8255 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8256 buffer's text buffer is null, map new memory.
8257
0a58f946
GM
8258 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8259 POINTER_TYPE and size_t.
8260 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8261 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8262 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8263 [REL_ALLOC_MMAP]: New macros.
8264 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8265 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8266 [REL_ALLOC_MMAP]: New functions.
8267
8268 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8269 before and after unexec.
8270
8271 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8272 text buffers if necessary.
8273
8274 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8275 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8276 in prototypes.
8277
fa0b693c
GM
8278 * config.in (HAVE_MMAP): Add #undef.
8279
877055f6
GM
82802000-09-05 Gerd Moellmann <gerd@gnu.org>
8281
08ba3862
GM
8282 * frame.c (Qdisplay_type): New variable.
8283 (syms_of_frame_1): Initialize it.
8284 (Fframe_parameter): New function that avoids consing.
8285 (syms_of_frame): Defsubr it.
8286
66ffe51c
GM
8287 * buffer.c (Fother_buffer): Consider buffers as invisible when
8288 they are displayed in a window on an invisible frame.
8289
877055f6
GM
8290 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8291 get-largest-window always return nil.
8292
bb970e67
GM
82932000-09-04 Gerd Moellmann <gerd@gnu.org>
8294
8295 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8296 variable; recognize Emacs 19 elc files.
8297
7a3d0e0e
MB
82982000-09-04 Miles Bader <miles@gnu.org>
8299
8300 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8301 before initially popping up the menu, so the menu doesn't flash
52283633 8302 when the face settings are significantly different from the defaults.
7a3d0e0e 8303
14473664
SM
83042000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8305
8306 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8307 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8308 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8309 (BIT_UNIBYTE): Remove.
8310 (re_match_2_internal): Delete corresponding code and streamline the
8311 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8312 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8313 (re_wctype_t): New type.
8314 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8315 (regex_compile): Use them and fix handling of overly long char classes.
8316
c1174479
AI
83172000-09-03 Andrew Innes <andrewi@gnu.org>
8318
f8803e97
AI
8319 * makefile.w32-in: Change to DOS line endings.
8320
c1174479
AI
8321 * s/ms-w32.h (ORDINARY_LINK): New define.
8322
8323 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8324 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8325
8326 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8327 (distclean): Delete them here instead.
8328
44ef7cf6
AI
8329 * w32proc.c (compare_env): Convert to uppercase for comparison,
8330 not lowercase, to match how the native Windows shell works.
8331
49b3bd82
JR
83322000-09-03 Jason Rumney <jasonr@gnu.org>
8333
8334 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8335 CVS changes the line-ends when checking in/out on DOS/Windows.
8336
8337 * makefile.nt (emacs): Do not change directory to run temacs, as
8338 the load-path is set relative to current directory.
8339
a3d35a39
MB
83402000-09-03 Miles Bader <miles@gnu.org>
8341
8342 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8343
d276b0cf
GM
83442000-09-02 Gerd Moellmann <gerd@gnu.org>
8345
715e84c9
GM
8346 * xdisp.c (redisplay_mode_lines): New function.
8347 (display_mode_lines): Return number of mode lines displayed.
8348 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8349 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8350
8892f40b
GM
8351 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8352 string.h and strings.h.
8353 (index) [HAVE_INDEX]: Add prototype.
8354
d276b0cf
GM
8355 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8356 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8357
8358 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8359 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8360
38404229
GM
83612000-09-01 Gerd Moellmann <gerd@gnu.org>
8362
8363 * lread.c (read1): Accept `?' as symbol constituent, for
8364 compatiblity with XEmacs.
8365
c0f9ea08
SM
83662000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8367
8368 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8369 (struct re_pattern_buffer): Remove newline_anchor.
8370 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8371 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8372 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8373 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8374 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8375 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8376 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8377 Get rid of references to newline_anchor.
8378 (regcomp): Allocate and precompute a fastmap.
8379
8c0f83fe
GM
83802000-08-31 Gerd Moellmann <gerd@gnu.org>
8381
8382 * lread.c (openp): GCPRO local variable `filename'.
8383
4bb91c68
SM
83842000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8385
8386 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8387
8388 * regex.c: Merge some changes from GNU libc. Add prototypes.
8389 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8390 Use memcmp and memcpy instead of bcopy and bcmp.
8391 (init_syntax_once): Use ISALNUM.
8392 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8393 (REG_UNSET_VALUE): Remove. Use NULL instead.
8394 (REG_UNSET, re_match_2_internal): Use NULL.
8395 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8396 New macros.
8397 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8398 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8399 (regex_compile): In handle_interval, return an error rather than try to
8400 unfetch the interval if we can't find the closing brace.
8401 Obey the RE_NO_GNU_OPS syntax bit.
8402 (TOLOWER): New macro.
8403 (regcomp): Use it.
8404 (regexec): Allocate regs.start and regs.end as one block.
8405
5226a931
GM
84062000-08-30 Gerd Moellmann <gerd@gnu.org>
8407
868dd24b
GM
8408 * xdisp.c (echo_area_display): Check display_completed instead
8409 of calling detect_input_pending.
8410
8411 * dispnew.c (update_frame): Only set display_completed here; move
8412 the update_begin and update_end calls here from update_frame_1.
8413 (update_frame_1): Don't set display_completed here, don't call
8414 update_begin/update_end.
8415
5226a931
GM
8416 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8417 instead of store_frame_param.
8418
2a8bd25f
GM
84192000-08-29 Gerd Moellmann <gerd@gnu.org>
8420
8421 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8422 desired window matrix hasn't been displayed, use the current row
8423 instead. Make sure that only those frame rows are updated for
8424 which there exists a corresponding enabled desired row.
52283633 8425
ba3478d9
MB
84262000-08-29 Miles Bader <miles@gnu.org>
8427
8428 * xfaces.c (default_face_vector): New function.
8429 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8430
87d0f685
GM
84312000-08-29 Gerd Moellmann <gerd@gnu.org>
8432
8433 * lread.c (openp): Prevent temporary string passed to
8434 Ffile_readable_p from being garbage collected.
8435
6fa86045
DL
84362000-08-28 Dave Love <fx@gnu.org>
8437
8438 * keymap.c (store_in_keymap): Add `static' to declaration.
8439
bb17930d
GM
84402000-08-28 Gerd Moellmann <gerd@gnu.org>
8441
8442 * emacs.c, callint.c, doc.c, editfns.c
8443 (toplevel) [HAVE_STRING_H]: Include string.h.
8444 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8445 (index): Remove prototypes which might conflict with non-standard
8446 definitions of index/strchr.
8447
8448 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8449 (rindex): Define only if !HAVE_RINDEX.
8450
8451 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8452
8453 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8454
87188200
MB
84552000-08-28 Miles Bader <miles@gnu.org>
8456
8457 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8458 made inconsistent by a font-related attribute in FROM.
8459 (merge_face_inheritance): Add function comment.
8460
41a68aef
KH
84612000-08-28 Kenichi Handa <handa@etl.go.jp>
8462
8463 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8464 the 4th arg (PREV_EVENT) Qt to suppress input method.
8465
f7c436c1
SM
84662000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8467
0b32bf0e
SM
8468 * regex.c: Indent cpp directives and remove parens after `defined'.
8469 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8470 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8471 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8472 (re_compile_pattern): Use size_t for length.
8473 (init_syntax_once): Move to a better place.
8474 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8475 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8476
f7c436c1
SM
8477 * syntax.c (back_comment): Detect cases where a comment-starter is
8478 actually inside another comment as in: /* a // b */ c // d \n.
8479 Make it clear that `comstart_pos' is unused for nested comments.
8480
8481 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8482 (KEYMAPP): New macro.
8483 (Fkeymap_parent, Fset_keymap_parent): Use it.
8484 (fix_submap_inheritance): Mark it static.
8485 (define_as_prefix, describe_buffer_bindings, describe_command)
8486 (describe_translation, describe_map): Complete prototypes.
8487
8488 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8489
8490 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8491 to better match the key-lookup behavior.
8492
6288c62f
GM
84932000-08-27 Gerd Moellmann <gerd@gnu.org>
8494
8495 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8496 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8497
e931344e
EZ
84982000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8499
8500 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8501 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8502 (xterm.o): Depend on coding.h
8503
d10dfeef
KH
85042000-08-26 Kenichi Handa <handa@etl.go.jp>
8505
8506 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8507 the corresponding '#endif'.
8508
2d73e8d3
MB
85092000-08-26 Miles Bader <miles@gnu.org>
8510
8511 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8512 * xfaces.c (QCinherit): New variable.
8513 (syms_of_xfaces): Initialize it.
8514 (LFACE_INHERIT): New macro.
8515 (Finternal_get_lisp_face_attribute)
52283633 8516 (merge_face_vector_with_property)
2d73e8d3
MB
8517 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8518 (check_lface_attrs): Allow new types of face height. Check
8519 inherit attribute.
8520 (CYCLE_CHECK): New macro.
8521 (merge_face_inheritance): New function.
8522 (merge_face_vectors): Merge inherited faces too. Add F and
8523 CYCLE_CHECK arguments.
8524 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8525 (lookup_named_face, lookup_derived_face, realize_named_face)
8526 (face_at_string_position, face_at_buffer_position): Supply
8527 new F and CYCLE_CHECK arguments to merge_face_vectors.
8528 (merge_face_heights): New function.
52283633 8529 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8530 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8531 handle relative face heights.
8532 (lface_same_font_attributes_p): Compare heights using EQ.
8533
6ce974d4
KH
85342000-08-26 Kenichi Handa <handa@etl.go.jp>
8535
8536 * charset.c (char_to_string): Check the character validity.
52283633 8537 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8538
dc1e502d
SM
85392000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8540
8541 * regex.c (PUSH_FAILURE_COUNT): New macro.
8542 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8543 Handle popping of a register's or a counter's data.
8544 (POP_FAILURE_POINT): Use the new name.
8545 (re_match_2_internal): Push counter data on the stack for succeed_n,
8546 jump_n and set_number_at and remove misleading dead code in succeed_n.
8547
bd9d0f3f
GM
85482000-08-25 Gerd Moellmann <gerd@gnu.org>
8549
8550 * xdisp.c (redisplay_internal): If considering all windows on all
8551 frames, update the display for each frame as soon as possible,
8552 instead of first building all desired matrices for all frames, and
8553 then updating them all.
8554 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8555
aa5b8e15
GM
85562000-08-24 Gerd Moellmann <gerd@gnu.org>
8557
17494071
GM
8558 * bytecode.c (mark_byte_stack): Add a comment.
8559
52283633
SM
8560 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8561 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8562 a graphical frame.
8563
c543db81
KH
85642000-08-24 Kenichi Handa <handa@etl.go.jp>
8565
d246d5f5
KH
8566 * minibuf.c (do_completion): Always use compare-string, not
8567 string-equal because the latter doesn't pay attention to
8568 multibyteness of strings.
8569
c543db81
KH
8570 * process.c (create_process): Don't setup raw-text coding here.
8571 (Fopen_network_stream): Don't set coding->src_multibyte and
8572 coding->dst_multibyte here.
8573 (read_process_output): For process filter, return unibyte string
8574 if default-enable-multibyte-characters is nil.
8575 (send_process): If OBJECT is multibyte text, be sure to encoded it
8576 by the specified coding system for the process. Otherwise, setup
8577 raw-text coding.
52283633 8578 (init_process): Don't initialize default-process-coding-system here.
c543db81 8579
9b47cfe0
EZ
85802000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8581
8582 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8583 <scroll-down-aggressively>: Likewise.
8584
f5a36960
KH
85852000-08-23 Kenichi Handa <handa@etl.go.jp>
8586
8587 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8588 zero. Set coding->produced_char correctly.
8589
69a7ffa7
AI
85902000-08-22 Andrew Innes <andrewi@gnu.org>
8591
8592 * makefile.w32-in: New file.
8593
8594 * unexw32.c (unexec): Ignore old_name, and use the actual location
8595 of the current executable instead. Base new_name on this.
8596
8597 * w32proc.c (create_child): Remove reference to security
8598 descriptor, which isn't needed and doesn't compile with mingw32.
8599
8600 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8601 up dllimport attributes.
8602 (x_update_window_end): Update prototype.
8603
8604 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8605 extern, which screws up dllimport attributes.
8606
8607 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8608 up dllimport attributes.
8609
8610 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8611 screws up dllimport attributes.
8612
8613 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8614 up dllimport attributes.
8615 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8616 screws up dllimport attributes.
8617
8618 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8619 up dllimport attributes.
8620
8621 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8622 screws up dllimport attributes.
8623
8624 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8625 screws up dllimport attributes.
8626
8627 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8628 up dllimport attributes.
8629
8630 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8631 unnecessary extern, which screws up dllimport attributes.
8632 (main): Ditto.
8633
8634 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8635 up dllimport attributes.
8636
8637 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8638 unnecessary extern, which screws up dllimport attributes.
8639
8640 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8641 screws up dllimport attributes.
8642
8643 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8644 up dllimport attributes.
8645
8646 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8647
52283633
SM
8648 * w32bdf.c (search_file_line):
8649 (set_bdf_font_info):
8650 (seek_char):
8651 (w32_get_bdf_glyph):
69a7ffa7
AI
8652 (w32_BDF_to_x_font): Fix compile warnings.
8653
52283633 8654 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8655
8656 * w32select.c: Include keyboard.h before frame.h.
8657
8658 * w32fns.c (max): Define macro.
8659 (JOHAB_CHARSET): Define if not known.
8660 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8661 (Fx_show_tip): Synch with X version.
8662
8663 * w32xfns.c: Include keyboard.h before frame.h.
8664
8665 * w32fns.c: Include keyboard.h before frame.h.
8666
8667 * w32term.c: Include keyboard.h before frame.h.
8668
8669 * fontset.c: Include keyboard.h before frame.h.
8670
8671 * w32inevt.c: Include keyboard.h before frame.h.
8672 (MOUSE_MOVED): Define if not known.
8673
8674 * minibuf.c: Include keyboard.h before frame.h.
8675
8676 * keyboard.c: Include keyboard.h before frame.h.
8677
8678 * indent.c: Include keyboard.h before frame.h.
8679
8680 * dispnew.c: Include keyboard.h before frame.h.
8681
8682 * buffer.c: Include keyboard.h before frame.h.
8683
8684 * alloc.c: Include keyboard.h before frame.h.
8685
8686 * print.c: Include keyboard.h before frame.h.
8687
8688 * process.c: Include keyboard.h before frame.h.
8689
8690 * scroll.c: Include keyboard.h before frame.h.
8691
8692 * sysdep.c: Include keyboard.h before frame.h.
8693
8694 * term.c: Include keyboard.h before frame.h.
8695
8696 * window.c: Include keyboard.h before frame.h.
8697
8698 * xdisp.c: Include keyboard.h before frame.h.
8699 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8700
8701 * frame.c: Include keyboard.h before frame.h.
8702
8703 * w32heap.h: Undefine min, max.
8704
8705 * w32gui.h: Undefine min, max.
8706
8707 * unexw32.c: Change PUCHAR to PCHAR.
8708 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8709 (relocate_offset):
8710 (get_section_info):
69a7ffa7
AI
8711 (copy_executable_and_dump_data): Remove unnecessary static defs.
8712 (copy_executable_and_dump_data): Fix compile warnings.
8713
8714 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8715
8716 * w32console.c (min): Define macro.
8717 (clear_frame, write_glyphs): Fix compile warning.
8718
52283633 8719 * w32proc.c (compare_env):
69a7ffa7
AI
8720 (find_child_console): Fix compile warning.
8721
8722 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8723 sys_errlist instead of _sys_errlist.
8724 (get_emacs_configuration_options): New function.
8725
8726 * s/ms-w32.h (sys_nerr): Provide default definition.
8727 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8728 name with _ prepended.
8729 (NSIG): Define if not known.
8730 (get_emacs_configuration): Provide extern declaration.
8731 (get_emacs_configuration_options): Provide extern declaration.
8732 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8733
8734 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8735 (map_w32_filename):
69a7ffa7
AI
8736 (read_unc_volume): Fix compile warning.
8737
8738 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8739 definitions from being used.
8740
8741 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8742
52283633 8743 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8744 (open_unc_volume): Make arg const.
8745
8746 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8747 (read_input_waiting): Remove excess parameter.
8748
8749 * w32.c (init_environment): Call _access.
8750 (check_windows_init_file): Call _close.
8751 (init_user_info): Call _putenv.
8752 (init_environment): Call _putenv and _strdup.
8753 (init_ntproc): Reset volume info cache on startup.
8754
8755 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8756 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8757 cannot override the CRT malloc.
8758
8759 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8760 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8761
8762 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8763 unless we are linking with a static CRT.
8764 (RVA_TO_PTR): Cast result to unsigned char*.
8765
8766 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8767 (add_volume_info): Use xstrdup.
8768
25060080
SM
87692000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8770
8771 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8772 (do_completion, Fminibuffer_complete_word): Use it.
8773 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8774 var so it can take non-boolean values.
8775
6917e6bb
GM
87762000-08-21 Gerd Moellmann <gerd@gnu.org>
8777
acb7cc89 8778 * editfns.c (find_field): Formatting changes.
52283633 8779 (toplevel): Some old-style function forward declarations
acb7cc89
GM
8780 changed to prototypes, some new protypes added, some functions
8781 made static.
8782
8783 * lisp.h (set_time_zone_rule): Add prototype.
8784 (use_dialog_box): External declaration.
8785
0bbfdc25
GM
8786 * keyboard.c (gen_help_event): Add parameter SIZE.
8787 (kbd_buffer_events_waiting): Slightly rewritten.
8788 (clear_event): New function.
8789 (kbd_buffer_get_event): Use it, and clear the input_events of
8790 HELP_EVENTs.
8791 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
8792 don't fill the newly created array with nils.
8793 (toplevel): Convert some old-style function forward declarations
8794 to prototypes.
8795
8796 * keyboard.h (gen_help_event): Change prototype.
8797
8798 * xterm.c (XTread_socket): Change calls to gen_help_event.
8799
8800 * w32term.c (w32_read_socket): Change calls to gen_help_event.
8801
6917e6bb
GM
8802 * eval.c (Fmacroexpand): Doc fix.
8803
e5cd3d11
JR
88042000-08-20 Jason Rumney <jasonr@gnu.org>
8805
8806 * w32term.h (x_display_info_for_display): Remove as this function
8807 does not exist on W32.
8808
8809 * w32term.c (help_echo_window): New variable.
8810 (syms_of_w32term): staticpro it.
8811 (note_mode_line_highlight): Set it.
8812 (XTextExtents16): Removed as there is no equivalent on W32.
8813 (x_compute_glyph_string_overhangs): Incomplete body removed, as
8814 the X way of doing this will not work for W32.
8815 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
8816 (x_draw_image_foreground): Avoid drawing outside of the clip area
8817 when image doesn't have a mask.
8818 (note_mouse_highlight): Process overlays in the right order of
8819 priority. Set help_echo_window.
8820 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
8821 because that's more visible for large images.
8822
8823 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
8824 name to single_keymap_panes.
8825 (w32_menu_show): Set wv->title when dealing with titles.
8826 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
8827
6e69ab8c
MB
88282000-08-21 Miles Bader <miles@gnu.org>
8829
8830 * minibuf.c (do_completion): Try again if we rewrite the input
8831 string, but no completion was done, so that any completion message
8832 will be correct.
8833
511bd4eb
GM
88342000-08-20 Gerd Moellmann <gerd@gnu.org>
8835
8836 * xfaces.c (lface_equal_p): Compare strings differently.
8837 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
8838 (realize_tty_face): Use them.
8839 (syms_of_xfaces): Initialize new variables.
8840 (map_tty_color): New function, extracted from realize_tty_face.
8841 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
8842 foreground or background color, store the new color name in the
8843 realized face; previous code trying to do this had no effect.
8844 (realize_tty_face): Use map_tty_color.
8845 (Fclear_face_cache): Set face_change_count and ensure thorough
8846 redisplay.
8847
1433385f
GM
88482000-08-19 Gerd Moellmann <gerd@gnu.org>
8849
511bd4eb
GM
8850 * undo.c (record_first_change, record_marker_adjustment): Don't
8851 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 8852
419ac0a2
KH
88532000-08-18 Kenichi Handa <handa@etl.go.jp>
8854
8855 * coding.c (decode_coding_string): Set members consumed,
8856 consumed_char, produced, produced_char of *coding correctly. If
8857 decode_coding doesn't consume any byte, don't try anymore.
8858 (encode_coding_string): Likewise.
8859
7eb9e30d
GM
88602000-08-18 Gerd Moellmann <gerd@gnu.org>
8861
511bd4eb
GM
8862 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
8863 conditional have void type, for Standard C compilers.
7eb9e30d
GM
8864
8865 * xdisp.c (redisplay_internal): Compare windows for equality with
8866 EQ, instead of applying XWINDOW to something that might not
8867 be a window.
52283633 8868
dd34a735
KH
88692000-08-18 Kenichi Handa <handa@etl.go.jp>
8870
8871 * fontset.c (Finternal_char_font): Search only the selected frame
8872 for a window of the current buffer.
8873
385ff9e3
GM
88742000-08-18 Gerd Moellmann <gerd@gnu.org>
8875
511bd4eb 8876 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
8877 Lisp_Objects.
8878
385ff9e3
GM
8879 * keyboard.c (kbd_buffer_get_event): Handle the case that the
8880 second half of a HELP_EVENT is found at the start of kbd_buffer.
8881
d6abb4c7
MB
88822000-08-18 Miles Bader <miles@gnu.org>
8883
4618074a
MB
8884 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
8885
d6abb4c7
MB
8886 * editfns.c (save_restriction_save): Rewrite to use markers.
8887 (save_restriction_restore): Rewrite to understand new form of data
8888 saved by save_restriction_save.
8889 (Fsave_restriction): Remove cautionary note in doc-string.
8890
a7b28523
GM
88912000-08-17 Gerd Moellmann <gerd@gnu.org>
8892
8893 * fileio.c (build_annotations): Add a comment explaining the
8894 return value of format-annotate-function. Replace a spurious call
8895 to Flength with a CONSP test. Call format-annotate-function with
8896 a fifth arg specifying how many times the function is been called
8897 in a row, to let it choose temporary buffers appropriately.
8898
03c9ed77
DL
88992000-08-17 Dave Love <fx@gnu.org>
8900
8901 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
8902 declare make_temp_name twice.
8903
52283633 8904 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
8905 (unreadpure): Give it an arg.
8906
8907 * unexalpha.c: Prototype fatal_unexec, mark_x,
8908 update_dynamic_symbols. Declare unexec as void.
8909
8910 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
8911 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
8912
8913 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 8914 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
8915
8916 * alloca.c: Use #error.
8917 [POINTER_TYPE]: Use it.
8918
8919 * eval.c (Fdefvar): Doc fix.
8920
8921 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
8922 INITIALIZE_INTERVAL.
8923
8924 * buffer.h: Avoid DECLARE_INTERVALS.
8925
8926 * config.in: Add size_t.
8927
aae41d97
EZ
89282000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
8929
8930 * w16select.c (set_clipboard_data): If there's not enough memory
8931 to put text into clipboard, return 1, as Fw16_set_clipboard_data
8932 expects. In case of other failures, return 3.
8933 (system_error_msg): New error message.
8934 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
8935 system_error_msg.
8936
65aa5e85
GM
89372000-08-16 Gerd Moellmann <gerd@gnu.org>
8938
8939 * term.c (write_glyphs): Also turn off inverse video after turning
8940 off other appearances in case TS_exit_attribute_mode is not equal
8941 to TS_end_standout_mode.
8942 (insert_glyphs): Turn inverse video on/off for each run of glyphs
8943 with the same face.
8944 (turn_off_face): Reset standout_mode only if
8945 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
8946 is equal to TS_end_standout_mode.
8947
ece23901
KH
89482000-08-16 Kenichi Handa <handa@etl.go.jp>
8949
9d7bcb2e
KH
8950 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
8951 sequence at the end of the source block.
8952
ece23901
KH
8953 * ccl.c (Fccl_program_p): Docstring modified.
8954 (Fccl_execute): Likewise.
8955 (Fccl_execute_on_string): Likewise.
8956
5e30eaa2
EZ
89572000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
8958
8959 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
8960
290602fd
KH
89612000-08-16 Kenichi Handa <handa@etl.go.jp>
8962
8963 The following changes are mainly to fix bugs of
8964 encode/decode-coding-string failing if encoding/decoding return
8965 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
8966 variable conversion_buffer.
8967
8968 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
8969 decrement dst_end to avoid buffer overflow in the later call of
8970 string_as_multibyte
8971
8972 * coding.h (conversion_buffer_size, conversion_buffer)
8973 (get_conversion_buffer): Extern deleted.
8974
8975 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
8976 (conversion_buffer, conversion_buffer_size): Variables deleted.
8977 (get_conversion_buffer): Function deleted.
8978 (struct conversion_buffer): New structure.
8979 (MAX_ALLOCA): New macro.
8980 (allocate_conversion_buffer): New macro.
8981 (extend_conversion_buffer, free_conversion_buffer): New functions.
8982 (ccl_coding_driver): Set coding->result.
8983 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
8984 this is the last block of source.
8985 (encode_coding): Likewise. Handle the source block as the last
8986 one only when the whole source text is consumed.
8987 (decode_coding_string): Handle the case that the output buffer is
8988 too small to decode the whole source text. Use
8989 allocate_conversion_buffer, extend_conversion_buffer and
8990 free_conversion_buffer, not get_conversion_buffer.
8991 (encode_coding_string): Likewise.
8992 (init_coding): Function deleted.
52283633 8993 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
8994
8995 * emacs.c (main): Don't call init_coding.
8996
52283633 8997 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
8998
8999 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9000 (insert_glyphs): Likewise.
9001
9002 * w32console.c (write_glyphs): Use a locally declared
9003 conversion_buffer.
9004
b9f80d41
EZ
90052000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9006
9007 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9008 member of display_info is NULL.
9009
32dc52f7
GM
90102000-08-15 Gerd Moellmann <gerd@gnu.org>
9011
52283633 9012 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9013
32dc52f7 9014 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9015 appearances with capability `me'.
32dc52f7
GM
9016 (write_glyphs): Switch on inverse video before each face change.
9017
4eb22d33
DL
90182000-08-14 Dave Love <fx@gnu.org>
9019
9020 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9021 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9022 (lisp_free): Declare and make static.
9023
9024 * window.c: Fix embedded comment.
9025 (syms_of_window): Fix doc string.
9026
90cbf47e
GM
90272000-08-14 Gerd Moellmann <gerd@gnu.org>
9028
52283633 9029 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9030 make sure to print `C-' before `M-', like in the manual.
9031
440fc135
GM
90322000-08-11 Gerd Moellmann <gerd@gnu.org>
9033
9034 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9035 since they aren't relocated anymore.
52283633 9036 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9037
9038 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9039 partially visible line which is smaller than the window's height.
440fc135 9040
6e264fad
KH
90412000-08-11 Kenichi Handa <handa@etl.go.jp>
9042
9043 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9044 the multibyte form of eight-bit-control characters.
6e264fad
KH
9045 (Fccl_execute_on_string): Initialize ccl->multibyte.
9046
9047 * ccl.h (struct ccl_program): New member multibyte.
9048
9049 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9050
c371f69a
KH
90512000-08-11 Kenichi Handa <handa@etl.go.jp>
9052
9053 * regex.c (regex_compile) <normal_char>: Pay attention to
9054 multibyteness.
9055 (analyse_first) <exactn>: Setup fastmap correctly for
9056 eight-bit-control characters.
9057
90582000-08-11 Kenichi Handa <handa@etl.go.jp>
9059
52283633 9060 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9061
9062 * keyboard.c (make_lispy_event): Handle the new event type
9063 multibyte_char_keystroke.
9064
9065 * xterm.c: Include coding.h.
9066 (XTread_socket): Work around a bug of XmbLookupString. If the
9067 input is from XIM, decode it according to the current locale. In
9068 that case, generate multibyte_char_keystroke events.
9069
b8ddbe71
KH
90702000-08-11 Kenichi Handa <handa@etl.go.jp>
9071
9072 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9073 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9074
47589c8c
GM
90752000-08-10 Gerd Moellmann <gerd@gnu.org>
9076
9077 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9078 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9079 (move_it_in_display_line_to): Record iterator's ascent and descent
9080 before producing glyphs, and restore them when we know the glyph
9081 doesn't fit on the line.
9082 (move_it_to): Restructured so that it's easier to debug. If
9083 moving to a vpos, and not moving to an x or character position,
9084 stop as soon as the specified vpos is reached; don't move further
9085 into that line because that might change the computed line height.
9086 (try_cursor_movement): New function, extracted from the cursor
9087 movement branch of redisplay_window. If ending on a partially
9088 visible line, don't try to scroll if the cursor line is taller
9089 than the window.
9090 (redisplay_window): Use try_cursor_movement.
9091
9092 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9093 because that function doesn't cope with variable-height lines.
9094
9095 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9096 box cursor because that's better visible for large images.
52283633 9097
c51bacd6
MB
90982000-08-10 Miles Bader <miles@gnu.org>
9099
9100 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9101
bea56df7
GM
91022000-08-10 Gerd Moellmann <gerd@gnu.org>
9103
9104 * xdisp.c (Vmessages_buffer_name): New variable.
9105 (message_dolog): Use it.
9106 (syms_of_xdisp): Initialize it.
9107
99cd7364
EZ
91082000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9109
52283633 9110 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9111 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9112 redundant now that keyboard.h is included.
9113
7d093d56
EZ
91142000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9115
9116 * keyboard.c (kbd_buffer_events_waiting): New function.
9117
9118 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9119
9120 * msdos.c: Include keyboard.h.
9121 (XMenuActivate): Empty no_event events from the event buffer. If
9122 no events are left after that, call clear_input_pending.
9123 (mouse_clear_clicks): New function, code moved from mouse_init.
9124 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9125 mouse driver to ``forget'' any past clicks.
9126
9127 * Makefile.in (msdos.o): Depend on keyboard.h.
9128
41e757a6
GM
91292000-08-09 Gerd Moellmann <gerd@gnu.org>
9130
8e7bd231
GM
9131 * lisp.h (input_pending): External declaration.
9132
9133 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9134
8e7bd231
GM
9135 * xdisp.c (echo_area_display): Display thoroughly if input is
9136 pending. Bind redisplay-dont-pause to t during the redisplay.
9137 in case input is pending.
9138
9139 * dispnew.c (Qredisplay_dont_pause): New variable.
9140 (syms_of_display): Initialize and staticpro it.
9141 (update_frame_1): Don't interrupt the display for pending input if
9142 redisplay_dont_pause is set.
52283633 9143
43028b7e
GM
9144 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9145
41e757a6
GM
9146 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9147
2f2174fa
KH
91482000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9149
9150 * callproc.c (Fcall_process): Terminate the unwind-protect around
9151 the post-read-conversion of coding system.
9152
0a6fd67e
MB
9153 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9154 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9155 * buffer.h (overlays_at): Update prototype.
9156 * xdisp.c (next_overlay_change): Update call to overlays_at.
9157 * xfaces.c (face_at_buffer_position): Likewise.
9158 * textprop.c (Fget_char_property): Likewise.
9159 * xterm.c (note_mouse_highlight): Likewise.
9160
0c80756e
MB
9161 * minibuf.c (do_completion): Don't consider a simple change of
9162 case as `completion'.
9163
975f250a
KR
91642000-08-08 Ken Raeburn <raeburn@gnu.org>
9165
52283633 9166 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9167 * undo.c (record_delete): Make sure last_point_position_buffer is
9168 a buffer before comparing pointers.
9169
9170 * coding.h (decode_coding_string): Declare.
9171
9172 * intervals.h (Fprevious_single_char_property_change): Declare.
9173
9174 * textprop.c (Fprevious_single_char_property_change): Don't do
9175 arithmetic directly on lisp objects.
9176
52283633 9177 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9178
9179 * keyboard.h (menu_item_eval_property): Declare.
9180
9181 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9182 reuse as buffer name, instead of recreating (and discarding) every
9183 time a message is logged.
9184 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9185 (current_message_1, truncate_message_1, set_message_1)
9186 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9187 (current_message, truncate_echo_area, display_echo_area)
9188 (resize_echo_area_axactly): Changed calls.
b347b3fd 9189
975f250a 9190 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9191 Lisp object.
975f250a 9192 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9193 must be an integer, not a Lisp object.
975f250a 9194
46dc9912
KH
91952000-08-08 Kenichi Handa <handa@etl.go.jp>
9196
9197 * charset.c (Fchar_width): Doc fix.
9198
9f6d1a6c
GM
91992000-08-08 Gerd Moellmann <gerd@gnu.org>
9200
9201 * charset.c (Fstring_width): Doc fix.
9202
ff3d9573
GM
92032000-08-07 Gerd Moellmann <gerd@gnu.org>
9204
41e757a6 9205 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9206 line, clear ascent and descent members of the iterator structure;
9207 the height of the continued line does not affect the height of the
9208 continuation line.
9209 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9210 line taller than the window.
9211 (redisplay_window) <forced window start>: Handle case that the
9212 middle of the window is not found in any row.
9213 (dump_glyph_row): Show more information.
9214 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9215 first text line in a glyph matrix.
9216
9217 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9218 of the clip area when image doesn't have a mask.
9219
70fc58b3
GM
9220 * fns.c (sweep_weak_table): Fix survival conditions for
9221 key-or-value and key-and-value weakness.
9222
9223 * .gdbinit (xhashtable): New command.
9224
ac0e96ee
GM
9225 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9226 tables out of the list of all weak hash tables.
9227
ff3d9573
GM
9228 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9229 a new buffer is created, make sure echo_area_buffer[] references
9230 the new buffer.
9231
e0d8827b
EZ
92322000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9233
9234 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9235 the doc string.
9236
c6f35378
KH
92372000-08-07 Kenichi Handa <handa@etl.go.jp>
9238
9239 * syntax.c (skip_chars): Fix previous change. Make the handling
9240 of unibyte string consistent with that of regex search.
9241
1fd4c450
GM
92422000-08-05 Gerd Moellmann <gerd@gnu.org>
9243
e49aa397
GM
9244 * xmenu.c (popup_get_selection): Use xfree instead of free.
9245
9246 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9247
9248 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9249
9250 * callproc.c (child_setup): Use xfree instead of free.
9251
9252 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9253 instead of malloc.
9254 (run_mac_command, closedir): Use `xfree' instead of `free'.
9255
9256 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9257
9258 * eval.c (error): Use xfree instead of free.
9259
1fd4c450
GM
9260 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9261
9262 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9263 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9264
82d497fc
KH
92652000-08-05 Kenichi Handa <handa@etl.go.jp>
9266
9267 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9268 conversion.
9269
59f953a2
NF
92702000-08-04 Noah Friedman <friedman@splode.com>
9271
9272 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9273 docstring.
9274
688351f2
GM
92752000-08-04 Gerd Moellmann <gerd@gnu.org>
9276
9277 * syntax.c (skip_chars): Fix typo in error message.
9278
2dad51cc
AS
92792000-08-04 Andreas Schwab <schwab@suse.de>
9280
9281 * m/ia64.h: Moved from s/ia64.h.
9282
99bb2c60
KH
92832000-08-04 Kenichi Handa <handa@etl.go.jp>
9284
082a1df2
KH
9285 * process.c (read_process_output): Big simplification. Handle
9286 composition and post-read-conversion of coding system correctly.
9287 (send_process): Handle composition correctly.
9288
9289 * callproc.c (Fcall_process): Handle post-read-conversion of
9290 coding system if any.
9291
99bb2c60
KH
9292 * coding.c (decode_coding_iso2022): More strict check for handling
9293 single shifting.
082a1df2
KH
9294 (coding_restore_composition): Pay attention to the case that
9295 cmp_data is not set properly (because of invalid code in the
9296 source text).
9297 (run_pre_post_conversion_on_str): Include text properties in the
9298 resulting string.
9299 (decode_coding_string): Set members of coding correctly.
99bb2c60 9300
f4988be7
GM
93012000-08-03 Gerd Moellmann <gerd@gnu.org>
9302
9303 * s/ia64.h: New file.
9304
9305 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9306 Use NULL instead of 0 at the end of variable argument list of
9307 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9308 sizeof (int) < sizeof (void *).
9309
9310 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9311 of variable argument lists of XtVaGetValues and XtVaSetValues.
9312
9313 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9314 variable argument lists of XtVaGetValues and XtVaSetValues.
9315
ead53494
GM
93162000-08-02 Gerd Moellmann <gerd@gnu.org>
9317
9318 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9319 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9320
9321 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9322 prototype.
9323
9324 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9325 in call to Fsingle_key_description.
9326
9327 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9328 Callers changed.
9329
93302000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9331
9332 * window.c (display_buffer_reuse_frames): New variable.
9333 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9334 frames displaying BUFFER.
52283633 9335 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9336
10b0f752
MB
93372000-08-01 Miles Bader <miles@gnu.org>
9338
9339 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9340 when to constrain NEW_POS (they were pretty screwed up before).
9341
16425c4a
EZ
93422000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9343
9344 * msdos.c (run_msdos_command): Save and restore the master
9345 environment, for the case that child_setup signals an error.
9346 When mirroring slashes in DOS shell commands, don't fail when
9347 argv[2] has embedded blanks.
da288c14
EZ
9348 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9349 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9350 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9351
9352 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9353 using alloca; free it after run_msdos_command returns.
9354
27f73852
DL
93552000-07-27 Dave Love <fx@gnu.org>
9356
52283633
SM
9357 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9358 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9359
9360 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9361
c0261b5e
EZ
93622000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9363
9364 * editfns.c (lisp_time_argument): Fix last change.
9365
b548072f
GM
93662000-07-27 Gerd Moellmann <gerd@gnu.org>
9367
3ab82477
GM
9368 * fns.c (Fdelete): Make it work on vectors and strings in addition
9369 to lists.
9370
b548072f
GM
9371 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9372 (syms_of_fns): Initialize new variables.
52283633 9373 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9374 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9375 weakness, with t meaning the same as `key-and-value'.
9376
91ae8751
KH
93772000-07-27 Kenichi Handa <handa@etl.go.jp>
9378
9379 * coding.h (struct coding_system): Member safe_charset deleted.
9380
9381 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9382 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9383 New variables.
91ae8751
KH
9384 (coding_safe_chars): New function.
9385 (CODING_SAFE_CHAR_P): New macro.
9386 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9387 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9388 (detect_coding_iso2022): New local variable safe_chars.
9389 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9390 safe_charsets member of the coding system.
9391 (decode_coding_iso2022): New local variable safe_chars.
9392 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9393 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9394 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9395 (ENCODE_UNSAFE_CHARACTER): New macro.
9396 (encode_coding_iso2022): New local variable safe_chars. Check
9397 unsafe chars.
9398 (setup_coding_system): Delete the code to initialize
9399 coding->safe_charses
9400 (intersection, find_safe_codings): New functions.
9401 (Ffind_coding_systems_region_internal): New function.
9402 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9403 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9404 variable and initialize it.
9405
9406 * fns.c (char_table_ref_and_index): New function.
9407
9408 * lisp.h (char_table_ref_and_index): Add prototype.
9409
34a7a267
SS
94102000-07-26 Sam Steingold <sds@gnu.org>
9411
9412 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9413 (Ffloat_time): New built-in Lisp function.
34a7a267 9414
a95cb10a
GM
94152000-07-26 Gerd Moellmann <gerd@gnu.org>
9416
3353ef5a
GM
9417 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9418 for the character code.
9419
9420 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9421 GNU/Linux.
9422
a95cb10a
GM
9423 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9424 if called for a popup menu.
9425 (xmenu_show): Store help string in widget values.
9426
b4a12321
DL
94272000-07-26 Dave Love <fx@gnu.org>
9428
9429 * syswait.h: Move some definitions.
9430 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9431 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9432 perspicuous definitions.
9433 (WTERMSIG): Fix bit pattern used.
9434
13f5ad37
KH
94352000-07-26 Kenichi Handa <handa@etl.go.jp>
9436
9437 * print.c (print_object): If vector printing is truncated, print
9438 "..." to indicate it as well as the case of list printing.
9439
070fe99c
GM
94402000-07-25 Gerd Moellmann <gerd@gnu.org>
9441
969065c3
GM
9442 * xdisp.c (next_element_from_display_vector): Improve comments.
9443
9444 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9445 for the character code, and the rest for the face id as in 20.x.
9446 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9447
9448 * window.c (window_display_table): Cleaned up.
9449
070fe99c
GM
9450 * syntax.c (Fforward_word): Add last arg nil in call of
9451 Fconstrain_to_field.
9452
bad77ef7
EZ
94532000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9454
969065c3 9455 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9456 identical but for the letter-case, don't call
9457 barf_or_query_if_file_exists.
bad77ef7 9458
c28da489
MB
94592000-07-25 Miles Bader <miles@gnu.org>
9460
9461 * editfns.c (find_field): Honor special `boundary' fields.
9462 (Qboundary): New variables.
9463 (syms_of_editfns): Initialize Qboundary.
9464 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9465 Use scan_buffer instead of find_before_next_newline, because it
9466 allows us to detect the boundary case where there's a newline at
9467 the search limit.
9468 * lisp.h (Fconstrain_to_field): Update external declaration.
9469
e3c31fd5
GM
94702000-07-24 Gerd Moellmann <gerd@gnu.org>
9471
9472 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9473 if that is nil.
c28da489 9474
c66c29a2
DL
94752000-07-24 Dave Love <fx@gnu.org>
9476
9477 * s/sunos4-0.h, s/sol2.h:
9478 (LIBS_TERMCAP): Move from m/sparc.h.
9479
9480 * m/sparc.h (TERMINFO): Moved to system files (probably only
9481 relevant for sunos4 judging by its vintage).
9482 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9483 __arch64__.
9484
fbe0a958
EZ
94852000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9486
9487 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9488 name to single_keymap_panes.
9489
7d88e5c9
AS
94902000-07-24 Andreas Schwab <schwab@suse.de>
9491
9492 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9493
e024b101
GM
94942000-07-24 Gerd Moellmann <gerd@gnu.org>
9495
9496 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9497 parameters instead of using int parameters. Expect FN to accept
9498 EMACS_INT parameters.
9499 (display_echo_area, resize_echo_area_axactly, current_message)
9500 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9501 with new argument list.
9502 (resize_mini_window_1): New callback function.
9503 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9504 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9505
25c1a9ce
KH
95062000-07-24 Kenichi Handa <handa@etl.go.jp>
9507
9508 * fontset.c (fontset_ref): Remove INLINE declaration.
9509 (fontset_ref_via_base): Likewise.
9510 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9511 to downcase.
9512
7f987ac0
EZ
95132000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9514
9515 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9516 correct order of priority. If help echo was found in an overlay,
9517 use that overlay as the object in which the help echo was found.
9518
e2db3069
MB
95192000-07-22 Miles Bader <miles@gnu.org>
9520
9521 * textprop.c (Fprevious_single_char_property_change): The initial
9522 property value should be from the position preceding POSITION, not
9523 following it.
9524
5e3203e4
EZ
95252000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9526
9527 * coding.c (syms_of_coding): Doc fix for
9528 inhibit-iso-escape-detection.
9529
62145073
GM
95302000-07-21 Gerd Moellmann <gerd@gnu.org>
9531
c20aeb83
GM
9532 * xterm.c (note_mouse_highlight): Process overlays in the right
9533 order of priority.
34a7a267 9534
743934db
GM
9535 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9536
9537 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9538 overlay, use that overlay as the object in which the help was found.
743934db 9539
d1dc7e43 9540 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9541
62145073
GM
9542 * window.c (foreach_window): Instead of a fake variable argument
9543 list, take one USER_DATA argument.
9544 (foreach_window_1): Likewise, and call callback functions with two
9545 args, the window and USER_DATA.
9546 (struct check_window_data): New struct.
9547 (check_window_containing): Use it.
9548 (window_from_coordinates): Set up a struct check_window_data for
9549 foreach_window.
9550 (add_window_to_list, freeze_window_start): Change parameters
9551 according to new calling convention.
9552
9553 * window.h (foreach_window): Change prototype.
9554
9555 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9556
95572000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9558
9559 * xmenu.c (menu_help_callback): Call show_help_echo with
9560 additional arguments OBJECT and POS.
9561
11270583
KH
95622000-07-21 Kenichi Handa <handa@etl.go.jp>
9563
07b14857
KH
9564 * data.c (Faset): Allow storing any multibyte character in a
9565 string. Convert unibyte string to multibyte if necessary.
9566
11270583
KH
9567 * xfns.c (x_encode_text): New function.
9568 (x_set_name): Use x_encode_text.
9569 (x_set_title): Likewise.
9570
9571 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9572
9573 * xterm.h (x_encode_text): Add prototype.
9574
bc75b4fd
DL
95752000-07-20 Dave Love <fx@gnu.org>
9576
9577 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9578 xfree, not free.
9579
48c14970
EZ
95802000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9581
9582 * msdos.c (help_echo_window): New variable.
9583 (syms_of_msdos): Initialize and staticpro it.
9584 (IT_note_mode_line_highlight): Set help_echo_window.
9585 (IT_note_mouse_highlight): Ditto.
9586 (dos_rawgetc): Store help_echo_window in the second event produced
9587 for HELP_EVENTs.
9588
9589 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9590 Record the object that generated the help echo and the position of
9591 that object in help_echo_object and help_echo_pos. Record that
9592 some glyphs in a row are displayed in mouse-face.
9593 (IT_update_begin): Don't clear mouse highlight unless one of the
9594 enabled glyph rows is marked as being displayed in mouse-face.
9595 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9596 and position recorded in help_echo_object and help_echo_pos to the
9597 event queue.
9598 (IT_menu_display): Accept a new argument PN: the pane number of
9599 the current menu pane. Record the pane number and the item
9600 number of the item which has associated help string.
9601 (XMenuActivate): Update the prototype for help_callback in
9602 function declaration. Call IT_menu_display with the current menu
9603 pane number as an additional argument. Call help_callback with
9604 two additional arguments: the pane number and the item number of
9605 the menu item associated with the help text.
9606 (help_echo_object, help_echo_pos): New variables.
9607 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9608
9609 * msdos.h (XMenuActivate): Update prototype.
9610
4279296d
GM
96112000-07-19 Gerd Moellmann <gerd@gnu.org>
9612
47db06aa
GM
9613 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9614 Add some more prototypes.
9615
9616 * xterm.c, xterm.h: Add some more prototypes.
9617
9618 * lisp.h (Fnext_single_char_property_change): Add prototype.
9619
9620 * dispnew.c (direct_output_for_insert): Remove confusing
9621 outer local variable mouse_face_overwritten_p.
9622 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9623
4279296d
GM
9624 * alloc.c (allocate_string_data): Don't copy old string contents.
9625
670acd62
KH
96262000-07-19 Kenichi Handa <handa@etl.go.jp>
9627
9628 * coding.c (code_convert_region): Delete text properties before
9629 shrinking the conversion region.
9630
7cea38bc
GM
96312000-07-18 Gerd Moellmann <gerd@gnu.org>
9632
dc1cac59
GM
9633 * dispnew.c (update_text_area): Write the whole row if it
9634 has mouse-face in it.
9635
85a8aca9
GM
9636 * xfaces.c (face-alternative-font-family-alist): Remove
9637 DEFVAR_LISP; staticpro instead.
9638
34a7a267 9639 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9640 new arguments.
9641
9642 * keyboard.c (show_help_echo): Add parameter WINDOW.
9643 (read_char): Call show_help_echo with window extracted from Lisp
9644 help event.
9645 (gen_help_event): Add parameter WINDOW.
9646
9647 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9648
9649 * xterm.c (help_echo_window): New variable.
52283633 9650 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9651 (XTread_socket): Pass help_echo_window to gen_help_event.
9652 (syms_of_xterm): Initialize and staticpro help_echo_window.
9653
f8276b77
DL
96542000-07-18 Dave Love <fx@gnu.org>
9655
52283633 9656 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9657
088831a6
GM
96582000-07-18 Gerd Moellmann <gerd@gnu.org>
9659
3d6cd763
GM
9660 * alloc.c (allocate_string_data): If string had already data
9661 assigned, copy old contents to new string data.
9662
9663 * coding.c (syms_of_coding): Fix typo in spelling of variable
9664 `inhibit-iso-escape-detection'.
9665
088831a6
GM
9666 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9667
9668 * Makefile.in: Add dependencies on dispextern.h.
9669 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9670 `free'; both can conflict with system header files.
9671
bc8a8d55
KH
96722000-07-18 Kenichi Handa <handa@etl.go.jp>
9673
9674 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9675 undefined.
9676
069f5950
DL
96772000-07-18 Dave Love <fx@gnu.org>
9678
9679 * window.c (Fwindow_list): Declare arg `window'.
9680
aa96c820
KH
96812000-07-18 Kenichi Handa <handa@etl.go.jp>
9682
9683 * coding.c (setup_coding_system): Don't override the explicitly
9684 specified designations.
9685
06be8d32
MB
96862000-07-15 Miles Bader <miles@gnu.org>
9687
9688 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9689 from `text_property_eq' and `text_property_stickiness', respectively.
9690 (find_field, Fconstrain_to_field, char_property_eq)
9691 (char_property_stickiness): Changed to call char-property functions
9692 instead of text-property-only ones.
9693
9694 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9695 `next_single_char_property_change'). Do more error checking, and
9696 cleanup limit behavior.
9697 (Fprevious_single_char_property_change): New function.
9698 (syms_of_textprop): Initialize new subrs.
9699
9700 * xdisp.c (display_prop_end, invisible_text_between_p):
9701 Call Fnext_single_char_property_change instead of
9702 next_single_char_property_change.
9703
3fddcdc3
JR
97042000-07-15 Jason Rumney <jasonr@gnu.org>
9705
9706 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9707 after menu is finished with.
9708 (add_menu_item): Only consider wv->title as a menu title.
9709 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9710
9711 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9712 null title.
9713 (FONT_REGEXP): Remove unused macro, and its sub-components.
9714 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9715
9716 * w32term.c (help_echo_object, help_echo_pos): New variables.
9717 (note_mode_line_highlight): Store additional information about the
9718 help-echo in help_echo_object and help_echo_pos. Check both
9719 `local-map' and `keymap' properties for changing the cursor
9720 (note_mouse_highlight): Store additional information about the
9721 help-echo in help_echo_object and help_echo_pos.
9722 (note_tool_bar_highlight): Set help_echo_object to nil and
9723 help_echo_pos to -1.
9724 (w32_read_socket): Use gen_help_event instead of filling
9725 input_events manually.
9726 (syms_of_w32term): Staticpro help_echo_object.
9727 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9728 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9729 (x_clear_mouse_face): New function.
9730 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9731 (x_update_window_begin): No need to turn off the mouse
9732 highlight here.
9733 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9734 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9735 (x_fill_stretch_glyph_string): Consume runs of stretch
9736 glyphs instead of a single one.
9737 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9738 with new argument list.
9739 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9740 (x_append_glyph, x_append_composite_glyph)
9741 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9742 changes in struct glyph starting 1999-12-27. See comments for
9743 xterm.c on 2000-07-05.
9744
178c5d9c
SS
97452000-07-14 Sam Steingold <sds@gnu.org>
9746
9747 * xfaces.c (realize_x_face): Fix the last patch:
9748 check `default_face' before dereferencing.
9749
6fe533f6
DL
97502000-07-14 Dave Love <fx@gnu.org>
9751
069f5950 9752 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9753
dd7b81cf
KH
97542000-07-14 Kenichi Handa <handa@etl.go.jp>
9755
0693904a 9756 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9757 default_face's fontset, not using the default fontset.
0693904a 9758
dd7b81cf
KH
9759 * coding.c (inhibit_iso_escape_detection): New variable.
9760 (syms_of_coding): Make it a Lisp variable.
9761 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9762 nonzero, ignore ISO2022's escape sequence.
9763
d5aa31d8
GM
97642000-07-14 Gerd Moellmann <gerd@gnu.org>
9765
e5acf0ca
GM
9766 * alloca.c (malloc) [emacs]: Define as xmalloc.
9767
bd23a692
GM
9768 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9769 use that instead of the mouse position. Add parameters DX and DY.
9770
9771 * dispextern.h (Fx_show_tip): Adjust number of parameters
9772 in prototype.
9773
9662da0b
GM
9774 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9775 if HELP is a function, call it with OBJECT and POS as parameters
9776 to get the help to display.
9777 (gen_help_event, kbd_buffer_store_help_event): New functions.
9778 (kbd_buffer_get_event): Construct the Lisp help-event differently.
9779 (read_char): Call show_help_echo with new parameters.
9780
178c5d9c 9781 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
9782 Add prototypes.
9783
9784 * xterm.c (help_echo_object, help_echo_pos): New variables.
9785 (note_mode_line_highlight): Store additional information about the
9786 help-echo in help_echo_object and help_echo_pos. Check both
9787 `local-map' and `keymap' properties for changing the cursor
9788 (note_mouse_highlight): Store additional information about the
9789 help-echo in help_echo_object and help_echo_pos.
9790 (note_tool_bar_highlight): Set help_echo_object to nil and
9791 help_echo_pos to -1.
9792 (XTread_socket): Use gen_help_event instead of filling
9793 input_events manually.
9794 (syms_of_xterm): Staticpro help_echo_object.
9795
9796 * xmenu.c (menu_highlight_callback): Use
9797 kbd_buffer_store_help_event instead of setting up and input_event
9798 structure manually.
9799
9800 * xdisp.c (eval_form): GCPRO argument sexpr.
9801 (call_function): New function.
9802 (handle_single_display_prop): Use call_function and FUNCTIONP
9803 instead of checking whether if font_height is a symbol and
9804 using eval_form.
9805
9806 * eval.c (internal_condition_case_2): New function.
9807
9808 * lisp.h (FUNCTIONP): New macro.
9809 (internal_condition_case_2, call_function): Add prototypes.
9810
d5aa31d8
GM
9811 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
9812 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
9813 Always set `arg' member of input_events.
9814 (construct_menu_click): Unused function removed.
9815
9816 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
9817
9818 * w32term.c (construct_mouse_click, construct_mouse_wheel)
9819 (construct_drag_n_drop, x_scroll_bar_handle_click)
9820 (w32_read_socket): Always set `arg' member of input_events.
9821
9822 * keyboard.c (show_help_echo): Use eval_form. Add comment.
9823
9824 * lisp.h (eval_form): Add prototype.
9825
9826 * xdisp.c (eval_form): Make it externally visible.
9827
0f1a9b23
GM
98282000-07-13 Gerd Moellmann <gerd@gnu.org>
9829
9830 * xterm.c (x_handle_tool_bar_click): Store the frame in the
9831 frame_or_window slot of TOOL_BAR_EVENT input events instead of
9832 consing. For prefix events, store the frame in the `arg' slot of
9833 the event, otherwise store the key there.
9834 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 9835 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
9836
9837 * xmenu.c (menu_highlight_callback): Store help string in the
9838 `arg' member of the input event; don't cons.
9839 (menubar_selection_callback): Use the `arg' slot of input events
9840 to queue additional information, instead of consing.
9841
9842 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
9843
9844 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
9845 TOOL_BAR_EVENTs.
9846 (w32_read_socket): Adapt to changes in HELP_EVENTs.
9847
9848 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
9849 input events to queue additional information, instead of consing.
9850
9851 * keyboard.c (kbd_buffer_gcpro): Renamed from
9852 kbd_buffer_frame_or_window. Now used for all Lisp objects
9853 referenced from the input queue.
9854 (kbd_buffer_store_event): Always use structure assignment for
9855 copying input events. Record all Lisp objects referenced from
9856 events in kbd_buffer_gcpro.
9857 (kbd_buffer_get_event): Construct Lisp `help-echo' events
9858 differently from input events. Test for prefix menu_bar_events
9859 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
9860 event in kbd_buffer_gcpro to nil.
9861 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
9862 frame_or_window is equal to its arg member as prefix events.
9863 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
9864 used by an input event to nil.
9865 (init_keyboard): Use two times the size of the input queue
9866 for kbd_buffer_gcpro.
9867 (syms_of_keyboard): Likewise.
9868
52283633
SM
9869 * emacs.c (handle_USR2_signal, handle_USR1_signal):
9870 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
9871
9872 * termhooks.h (struct input_event): Add member `arg'.
9873 (MENU_BAR_EVENT): Renamed from menu_bar_event.
9874 (USER_SIGNAL_EVENT): Renamed from user_signal.
9875
9876 * xfaces.c (ASET): Remove definition.
9877
9878 * lisp.h (AREF, ASET, ASIZE): New macros.
9879
9880 * fontset.c (AREF, ASIZE): Remove definitions.
9881
9882 * fns.c (AREF): Remove definition.
178c5d9c 9883
0f1a9b23
GM
9884 * composite.c (AREF): Remove definition.
9885
712eaef2
GM
98862000-07-12 Gerd Moellmann <gerd@gnu.org>
9887
d8ee7803
GM
9888 * dispnew.c (redraw_overlapped_rows): Add missing local.
9889 (scrolling_window): Remove debug code.
9890
712eaef2
GM
9891 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
9892 Before scrolling, turn off a mouse-highlight in the window
9893 being scrolled.
9894
9895 * xterm.c (x_update_window_end): Add parameter
9896 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
9897 redisplay in XTframe_up_to_date.
9898 (x_clear_mouse_face): New function.
9899 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
9900
9901 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
9902 current glyph row.
9903 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
9904 it when any row is written to that contains glyphs highlighted in
9905 mouse-face.
9906 (update_window): Call the window update end hook with new
9907 parameter MOUSE_FACE_OVERWRITTEN_P.
9908 (direct_output_for_insert): Give up if row contains mouse-face.
9909
9910 * dispextern.h (struct redisplay_interface): Add parameter
9911 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
9912 (clear_mouse_face): New function pointer member.
9913
02010917
SM
99142000-07-11 Stefan Monnier <monnier@cs.yale.edu>
9915
9916 * syntax.c (back_comment): Use one switch rather than a few `if's.
9917 Obey open_paren_in_column_0_is_defun_start.
9918 When reverting to the `slow' method, try to nicely handle the case
9919 of nested comments by checking that the comment-starter we found
9920 does indeed match the comment-ender.
9921 (scan_sexps_forward, scan_sexps_forward):
9922 Ignore excessive opening parenthesis rather than throwing an error.
9923
d76c03ea
GM
99242000-07-11 Gerd Moellmann <gerd@gnu.org>
9925
9926 * doc.c (Fsubstitute_command_keys): Handle case that a GC
9927 in Fwhere_is_internal or get_keymap_1 relocates string contents.
9928
9929 * dispnew.c (direct_output_forward_char): Give up if currently
9930 displaying a message instead of the minibuffer contents.
9931
9932 * xterm.c (x_update_window_begin): No need to turn off the mouse
9933 highlight here.
9934 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9935 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
9936
9937 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
9938 compare the mouse_face_p flags of both rows.
9939
9940 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
9941
d55ead18
EZ
99422000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
9943
9944 * keyboard.c (show_help_echo): Accept additional parameter
9945 ok_to_overwrite_keystroke_echo.
9946 (read_char): Call show_help_echo with a zero
9947 ok_to_overwrite_keystroke_echo argument.
52283633 9948 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
9949 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
9950 ok_to_overwrite_keystroke_echo argument.
9951 * w32menu.c (w32_menu_display_help): Call show_help_echo with
9952 non-zero ok_to_overwrite_keystroke_echo argument.
9953
df75b1a3
GM
99542000-07-10 Gerd Moellmann <gerd@gnu.org>
9955
4b92c49a
GM
9956 * xdisp.c (try_window_id): If changes are all below what is
9957 displayed in the window, and point is in the window, we still
9958 might have to find point on the display.
9959
9960 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
9961 glyphs instead of a single one.
9962 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9963 with new argument list.
9964 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9965
df75b1a3
GM
9966 * keymap.c (get_keymap_1): Add comment that this function can GC.
9967 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
9968 comment that functions can GC.
9969 (Fset_keymap_parent): GCPRO arg KEYMAP.
9970
4314cf3e
EZ
99712000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
9972
9973 * msdos.c (XMenuActivate): After exiting the menu, restore the
9974 echo area message and erase it.
9975
ab49ce15
KH
99762000-07-10 Kenichi Handa <handa@etl.go.jp>
9977
9978 * fontset.c (Ffontset_info): Make the return value more compatible
9979 with that of Emacs 20.
9980
090a072f
GM
99812000-07-07 Gerd Moellmann <gerd@gnu.org>
9982
9983 * eval.c (Fsignal): Handle case that backtrace_list is null.
9984
f92de4a6
KH
99852000-07-07 Kenichi Handa <handa@etl.go.jp>
9986
9987 * ccl.c (Fccl_execute): Typo fixed.
9988
dd8888a1
GM
99892000-07-06 Gerd Moellmann <gerd@gnu.org>
9990
e5c81191 9991 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 9992
dd8888a1
GM
9993 * window.c (Fwindow_list): Reverse list at the end.
9994 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
9995 means allow windows on OWINDOW's frame, only.
9996 (window_loop): Simplified; use Fwindow_list.
9997
9998 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
9999
485266d0
GM
100002000-07-05 Gerd Moellmann <gerd@gnu.org>
10001
10002 * xterm.c (XTread_socket): Increment handling_signal at the start,
10003 decrement it at the end.
10004
10005 * eval.c (handling_signal): New variable.
10006 (Fsignal): Abort if handling_signal is non-zero.
10007
10008 * lisp.h (handling_signal): External declaration.
178c5d9c 10009
485266d0
GM
10010 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10011
80fcd514
KR
100122000-07-05 Ken Raeburn <raeburn@gnu.org>
10013
10014 Sound support for NetBSD through "Linux emulation" support:
10015 * config.in (HAVE_SOUNDCARD_H): Undef.
10016 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10017 * Makefile.in (LIBSOUND): New variable.
10018 (LIBES): Include it.
52283633
SM
10019 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10020 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10021 (vox_open): Use DEFAULT_SOUND_DEVICE.
10022 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10023
d5c5cddd
GM
100242000-07-05 Gerd Moellmann <gerd@gnu.org>
10025
10026 * print.c (print_error_message): If Vsignaling_function is set,
10027 show it in *Messages*.
10028
10029 * lisp.h (Vsignaling_function): External declaration.
10030
10031 * eval.c (Vsignaling_function): New variable.
10032 (Fsignal): Compute it.
10033 (syms_of_eval): Staticpro it.
10034
65171e3a
DL
100352000-07-05 Dave Love <fx@gnu.org>
10036
10037 * syswait.h: Use the autoconf recommended approach. Old code
10038 #if'd out in case we need to revert.
10039
178c5d9c 10040 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10041
e2c46326
AI
100422000-07-05 Andrew Innes <andrewi@gnu.org>
10043
10044 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10045 when non-NULL instead of __morecore, to take account of buffer
10046 memory. This also solves a problem with spurious memory warnings
10047 on Windows.
10048
10049 * ralloc.c: Make real_morecore non-static.
10050
10051 * eval.c (internal_condition_case): Comment out abort if
10052 interrupt_input_blocked is not zero.
10053
10054 * makefile.nt: Add support for `bootstrap' and related targets.
10055 Include minimal debug info in emacs.exe in release build.
10056 Remove all dependencies on lisp.h, and fixup some others.
10057
10058 * w32.c (init_environment): Install code from 20.7 for providing
10059 default values for environment variables, based on the
10060 executable's own location.
52283633 10061 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10062 (sys_socket): Install socket inheritance bug fix from 20.7.
10063
10064 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10065 here via blockinput.h).
10066
a027a91b
SM
100672000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10068
e4b31601
SM
10069 * w32menu.c (w32_menu_display_help):
10070 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10071
10072 * keyboard.h (show_help_echo): Declare.
10073
10074 * keyboard.c (show_help_echo): New function, extracted from read_char.
10075 Feval its `msg' argument if it's a cons cell.
10076 (read_char): Use it.
4cf8d9d5 10077 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10078
178c5d9c 10079 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10080 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10081 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10082 (dos_rawgetc):
10083 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10084 (note_tool_bar_highlight, w32_read_socket):
10085 Do not gratuitously ignore non-string `help-echo' properties.
10086
88d75730
GM
100872000-07-05 Gerd Moellmann <gerd@gnu.org>
10088
969f7e79
GM
10089 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10090
71201b00
GM
10091 * window.c (delete_all_subwindows): Reset Vwindow_list.
10092
88d75730
GM
10093 * xterm.c (x_append_glyph, x_append_composite_glyph)
10094 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10095 changes in struct glyph starting 1999-12-27. Some bit-fields of
10096 struct glyph were not set, which made glyphs unequal when compared
10097 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10098 effects were the result. This also depended on the contents of
10099 memory returned by xmalloc. If flickering happens again, activate
10100 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10101 gone with that, chances are that it is caused by something similar.
88d75730
GM
10102
10103 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10104
88d75730
GM
10105 * dispextern.h: Add some comments.
10106
10107 * window.c (add_window_to_list): Add parameter LIST.
10108 (window_list): Order list so that, for each frame, windows are
10109 in canonical order, and so that frames appear in the list in
10110 the order given by Vframe_list.
10111 (next_window): Reverse the handling of NEXT_P.
10112
53654733
GM
101132000-07-04 Gerd Moellmann <gerd@gnu.org>
10114
87efd256
GM
10115 * window.c (Vwindow_list): New variable.
10116 (make_window, delete_window): Set Vwindow_list to nil.
10117 (check_window_containing): New function.
10118 (window_from_coordinates): Rewritten.
10119 (add_window_to_list, window_list, candidate_window_p)
10120 (decode_next_window_args, next_window): New functions.
52283633 10121 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10122 (Fwindow_list): New function.
10123 (Fother_window): Cleaned up.
10124 (foreach_window): Add a longer "variable argument list". Let
10125 callback function return 0 to indicate that cycling over windows
10126 should stop.
10127 (foreach_window_1): Likewise.
10128 (freeze_window_start): Return int.
10129 (init_window): New function.
10130 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10131
10132 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10133 input_event with bzero.
10134 (main): Call init_window.
10135
53654733
GM
10136 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10137 a menu filter.
10138
4a8c194f
KH
101392000-07-04 Kenichi Handa <handa@etl.go.jp>
10140
10141 * composite.h (make_composition_value_copy): Extern it.
10142
10143 * composite.c (make_composition_value_copy): New function.
10144
10145 * editfns.c (Fformat): While copying text properties, make each
10146 composition property value a copy.
10147
10148 * fns.c (concat): While copying text properties, make each
10149 composition property value a copy.
10150
831a6cb0
GM
101512000-07-03 Gerd Moellmann <gerd@gnu.org>
10152
2f516940
GM
10153 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10154
178c5d9c 10155 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10156 marked already.
10157
831a6cb0
GM
10158 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10159 include those frames as candidates which have their focus
10160 redirected to the minibuffer frame.
10161
d9c4f922
SM
101622000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10163
10164 * fns.c (Fputhash): Return `value' rather than nil.
10165
3780bc22
GM
101662000-06-30 Gerd Moellmann <gerd@gnu.org>
10167
97d176db
GM
10168 * frame.c (next_frame): Don't check focus redirection in case
10169 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10170 unless their focus is redirected, which contradicts the
10171 specification of next-frame, and leads to infinite loops in
10172 certain situations when cycling through windows with next-window.
10173
dca9961d
KH
101742000-06-30 Kenichi Handa <handa@etl.go.jp>
10175
10176 * coding.c (code_convert_region): Even if the length of text is
10177 zero, try to convert it if coding->type is coding_type_ccl.
10178 (decode_coding_string, encode_coding_string): Likewise.
10179
d5483ab1
GM
101802000-06-28 Gerd Moellmann <gerd@gnu.org>
10181
af5c25e1 10182 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10183 the display if windows_or_buffers_changed.
af5c25e1
GM
10184
10185 * dispnew.c (struct row_entry): New structure.
10186 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10187 (row_table_size, old_lines, new_lines, old_lines_size)
10188 (new_lines_size, run_pool, runs_size, runs): New variables.
10189 (add_row_entry): New function.
10190 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10191 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10192 holding them in local variables. Use a larger hash table whose
10193 size depends on glyph matrix sizes. Don't use bzero to clear the
10194 hash table; instead, clear used slots only.
10195
10196 * fns.c (next_almost_prime): Make it externally visible.
10197
10198 * lisp.h (next_almost_prime): Add prototype.
10199
d5483ab1
GM
10200 * s/isc4-0.h (sigunblock): Define.
10201
10202 * s/sco5.h (sigunblock): Define.
10203
93e40f40
DL
102042000-06-27 Dave Love <fx@gnu.org>
10205
10206 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10207 (moved to osf5-0.h).
10208 [!NOT_C_CODE]: Protect string.h stuff.
10209
10210 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10211 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10212
3c4b7685
GM
102132000-06-27 Gerd Moellmann <gerd@gnu.org>
10214
97d176db 10215 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10216 below the last line from the needed window height.
10217
32cad0aa
SM
102182000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10219
10220 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10221 (Fwidget_get): Use it.
10222 (syms_of_fns): Defsubr it.
10223
2c69ced2
GM
102242000-06-26 Gerd Moellmann <gerd@gnu.org>
10225
178c5d9c 10226 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10227 display info for XIM.
10228 (xim_open_dpy): Likewise.
10229 (xim_close_dpy): Don't free the display info's XIM.
10230
10231 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10232
10233 * config.in (USE_XIM): New define.
10234
3fc720e4
GM
10235 * keymap.c (get_keyelt): For menu-items containing a `:filter
10236 FILTER', apply FILTER to the menu-item's definition to get the
10237 real definition to use.
10238
10239 * lisp.h (QCfilter): External declaration.
10240
2c69ced2
GM
10241 * xfns.c (Fimage_size): New function.
10242 (syms_of_xfns): Defsubr it.
10243
f978b2a2
AS
102442000-06-26 Andreas Schwab <schwab@suse.de>
10245
10246 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10247 Fstring_as_unibyte.
10248
94cc7892
DL
102492000-06-25 Dave Love <fx@gnu.org>
10250
52283633 10251 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10252
10253 * Makefile.in (blockinput.h): Depend on atimer.h.
10254 (atimer.h): Depend on systime.h.
10255
52283633 10256 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10257
52283633 10258 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10259
10260 * lisp.h (swap_in_global_binding): Declare.
10261
b8c24556
KR
102622000-06-24 Ken Raeburn <raeburn@gnu.org>
10263
10264 * process.c (Fopen_network_stream): Turn off atimers for duration
10265 of call to connect. (Patch from Gerd.)
10266
8cf8560b
DL
102672000-06-23 Dave Love <fx@gnu.org>
10268
511c7541
DL
10269 * ralloc.c: Maybe include unistd.h
10270
8cf8560b
DL
10271 * emacs.c (setgrp): Undefine before defining.
10272 (malloc_warning, set_time_zone_rule, index): Prototype.
10273
10274 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10275 HAVE_STRUCT_TIMEZONE.
10276
10277 * s/osf1.h: Move string.h hack here from alpha.h and make it
10278 conditional.
10279 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10280 _XOPEN_SOURCE.
10281 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10282 (SOCKLEN_TYPE): Don't define.
10283
10284 * m/alpha.h: Remove string.h hack.
10285
10286 * s/osf5-0.h: New file.
10287
10288 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10289 include time.h, done by systime.h.
10290 [__FreeBSD__]: Remove redundant includes.
10291
3fc720e4 10292 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10293 (delete_temp_file): Return Qnil to avoid warning.
10294
10295 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10296
10297 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10298 HAVE_X_WINDOWS.
10299
10300 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10301
10302 * composite.h (compose_text): Declare.
10303
10304 * xterm.c: Don't include sys/types.h unconditionally. Don't
10305 protect its inclusion with !USG (following xmenu.c).
10306
ea055732
GM
103072000-06-23 Gerd Moellmann <gerd@gnu.org>
10308
10309 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10310 in x_create_frame.
10311
74b01b80
EZ
103122000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10313
10314 * coding.c (decode_eol_post_ccl): Special handling for undecided
10315 and inconsistent EOL types.
10316
64f3a166
GM
103172000-06-22 Gerd Moellmann <gerd@gnu.org>
10318
16cf31f7
GM
10319 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10320 trough color and main window's background color.
10321
52283633 10322 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10323
10324 * xterm.h (Xt_app_con): External declaration.
10325
10326 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10327
486a103d
GM
10328 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10329
64f3a166
GM
10330 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10331 (handle_invisible_prop): Record the start of invisible text in
10332 it->add_overlay_start.
10333 (struct overlay_entry): Add member `overlay'.
10334 (handle_overlay_change): Simplify.
10335 (next_overlay_string): After having processed overlay strings at the
10336 end of the buffer, record that fact in
10337 it->overlay_strings_at_end_processed_p.
10338 (compare_overlay_entries): If before- and after-strings come
10339 from the same overlay, let before-strings come first.
10340 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10341 (load_overlay_strings): Take it->add_overlay_start into account
10342 when adding overlay strings.
10343
10344 * dispextern.h (struct it): Add member add_overlay_start.
10345
bb746ea6
DL
103462000-06-22 Dave Love <fx@gnu.org>
10347
10348 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10349
10350 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10351
a8f573f3
KH
103522000-06-22 Kenichi Handa <handa@etl.go.jp>
10353
10354 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10355 is greater than 0.
10356
9f2bbc92
DL
103572000-06-21 Dave Love <fx@gnu.org>
10358
178c5d9c 10359 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10360
3ee5041c
SM
103612000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10362
10363 * syntax.c (back_comment): Simplify string-parity counting (with
10364 the added benefit of handling multiple string-styles as long as
10365 they are not intertwined).
10366 Jump to the slow code as soon as a comment starter is found in
10367 a "string_lossage" position. Fixes the case: " /* " /* " */.
10368
4c343001
DL
103692000-06-21 Dave Love <fx@gnu.org>
10370
10371 * Makefile.in: Use GETLOADAVG_LIBS.
10372
10373 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10374 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10375
e6365855
SM
103762000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10377
10378 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10379 (Fforward_comment, scan_lists):
10380 Check the comstyle of single-char comment-starters.
10381 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10382 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10383 Check the comstyle of single-char comment-starters.
10384 Clarify control-flow around the Scomment case.
e6365855 10385
5700d2cc
DL
103862000-06-20 Dave Love <fx@gnu.org>
10387
d355bd8a
SM
10388 * fns.c (make_hash_table, maybe_resize_hash_table):
10389 Cast arg of next_almost_prime.
5700d2cc 10390
178c5d9c 10391 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10392
10393 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10394 and unistd.h.
10395
4a27bdfb
GM
103962000-06-20 Gerd Moellmann <gerd@gnu.org>
10397
a61d762c 10398 * keyboard.c (adjust_point_for_property): Check if display
52283633 10399 property should be treated as intangible by looking at its value.
a61d762c 10400
178c5d9c 10401 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10402 (display_prop_intangible_p): New functions.
10403
10404 * dispextern.h (display_prop_intangible_p): Add prototype.
10405
10406 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10407
4a27bdfb
GM
10408 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10409 argument to sigprocmask.
10410
10411 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10412 argument to sigprocmask.
10413
10414 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10415 sigprocmask_set, and pass a pointer to it to sigprocmask.
10416
10417 * sysdep.c (sigprocmask_set): New variable.
10418
10419 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10420 report_file_error.
10421
427ec082
SS
104222000-06-20 Sam Steingold <sds@gnu.org>
10423
10424 * xrdb.c: Don't declare xmalloc, xrealloc.
10425
8972fe79 104262000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10427
10428 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10429 (re_comp): Cast gettext return value to avoid complaints when
10430 !HAVE_LIBINTL.
10431
074b6efe
DL
104322000-06-20 Dave Love <fx@gnu.org>
10433
52283633 10434 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10435
5700d2cc 10436 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10437
d355bd8a 10438 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10439
10440 * m/alpha.h: Don't declare xmalloc, xrealloc.
10441
0af4f205
DL
10442 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10443
10444 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10445
10446 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10447
10448 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10449 HAVE_GETWD.
10450
074b6efe
DL
10451 * keyboard.h (poll_for_input_1): Declare.
10452
10453 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10454
10455 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10456
10457 * doprnt.c: Don't declare xmalloc, xrealloc.
10458
10459 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10460 (getenv, ctime, getwd): Removed.
10461 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10462
10463 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10464 x_set_tool_bar_lines.
10465
10466 * config.in: Add HAVE_GETWD. Move some definitions above
10467 machine/system includes.
10468
68a5e97b
KH
104692000-06-20 Kenichi Handa <handa@etl.go.jp>
10470
95417e1e
KH
10471 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10472
68a5e97b
KH
10473 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10474 contain information about ENCODING.
10475
10476 * fontset.c (FONTSET_ASCII): Use the first element of char table
10477 for an ASCII font, not defalt slot.
10478 (fontset_ref_via_base): If FONTSET doesn't contain information for
10479 C, try the default fontset.
10480 (make_fontset): Don't copy the default fontset.
10481 (fontset_font_pattern): Likewise.
10482 (accumulate_font_info): If ELT is nil, use the corresponding
10483 element in the default fontset.
10484
3b4fa1b2
DL
104852000-06-19 Dave Love <fx@gnu.org>
10486
943e731c
DL
10487 * syntax.c (Fparse_partial_sexp): Doc fix.
10488
10489 * regex.h: Test PROTOTYPES as well as __STDC__.
10490
3b4fa1b2
DL
10491 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10492 errno, strerror. Put text after #endif in comment.
10493
52283633 10494 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10495
10496 * xterm.c (x_frame_of_widget): Likewise.
10497
cdf0357b
GM
104982000-06-19 Gerd Moellmann <gerd@gnu.org>
10499
10500 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10501 to Vfundamental_mode_abbrev_table.
10502
10503 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10504 bogus objects are marked. This slows down GC by ~80 percent, but
10505 it might be worth trying when debugging GC-related problems.
10506 This feature requires conservative stack marking to be enabled.
10507
10508 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10509 returns XLookupChars, reset `modifiers' to zero.
10510
998e9f8c
DL
105112000-06-19 Dave Love <fx@gnu.org>
10512
10513 * mktime.c: Unprotoized.
10514
18e21ce8 105152000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10516
10517 * data.c (set_internal): If variable is frame-local,
10518 store the new value immediately into the frame parameter alist.
10519
140c4ac6
KR
105202000-06-19 Ken Raeburn <raeburn@gnu.org>
10521
14358466
KR
10522 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10523 in the custom handler pointer.
10524
140c4ac6
KR
10525 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10526 value, or checks for CHAR_META can fail when Lisp_Object is a
10527 union type.
10528 * keymap.c (get_keyelt): Likewise.
10529
10d7bf84
KH
105302000-06-19 Kenichi Handa <handa@etl.go.jp>
10531
10532 * ccl.h (struct ccl_program): New member eol_type.
10533 (struct ccl_spec): New member cr_carryover.
10534
10535 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10536 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10537
10538 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10539 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10540 (decode_eol_post_ccl): New function.
10541 (decode_coding): Don't detect EOL format here for CCL based coding
10542 systems.
10543 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10544 decode_eol_post_ccl after running the CCL program.
10545 (code_convert_region): Don't detect EOL format here for CCL based
10546 coding systems.
10547 (decode_coding_string): Likewise.
10548
52e386c2
KR
105492000-06-18 Ken Raeburn <raeburn@gnu.org>
10550
10551 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10552 when treating it as an integer.
10553
10554 * coding.h (encode_coding_string): Declare.
10555
10556 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10557 it as an integer.
10558
10559 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10560 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10561 to be passed to get_local_map.
10562
10563 * sound.c (Fplay_sound): Don't call make_number on
10564 Frun_hook_with_args count argument.
10565
10566 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10567 for lisp objects in X event structure data field, when lisp
10568 objects are represented with unions.
10569 (x_scroll_bar_to_input_event): Ditto.
10570
b357b9d4
KR
105712000-06-16 Ken Raeburn <raeburn@gnu.org>
10572
10573 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10574 termination of string. Fix sense of test whether
10575 Vline_number_display_limit is an integer.
b357b9d4 10576
a871441d
GM
105772000-06-16 Gerd Moellmann <gerd@gnu.org>
10578
a9021acd
GM
10579 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10580 only if HAVE_X_WINDOWS.
10581
6344985d
GM
10582 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10583 of titles.
10584
427ec082 10585 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10586 out of bounds.
10587
228b083e
EZ
105882000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10589
10590 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10591 of its headers.
10592
c25b53a2
KH
105932000-06-15 Kenichi Handa <handa@etl.go.jp>
10594
10595 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10596 start of the while loop.
10597
a6981b11
GM
105982000-06-15 Gerd Moellmann <gerd@gnu.org>
10599
e9924e52
GM
10600 * atimer.c (alarm_signal_handler): Add forward declaration.
10601
a6981b11
GM
10602 * data.c (set_internal): Remove debug code.
10603
25fa6deb
GM
106042000-06-14 Gerd Moellmann <gerd@gnu.org>
10605
dce6b995
GM
10606 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10607
9f817ea4
GM
10608 * unexec.c (toplevel) [COFF]: Include coff.h.
10609
10610 * s/lynxos.h: New file.
10611
10612 * keymap.c (Fsingle_key_description): Enclose function key and
10613 event symbol names in angle brackets.
10614
8a4e3c0c
GM
10615 * xdisp.c (setup_echo_area_for_printing): Call
10616 message_log_maybe_newline if message_buf_print is not set.
10617
10618 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10619 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10620 function does something useful even when message_buf_print is
10621 already set.
10622
52283633
SM
10623 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10624 New variables.
25fa6deb
GM
10625 (ensure_echo_area_buffers): Initialize echo buffer's
10626 truncate lines setting to nil.
10627 (with_echo_area_buffer): Don't set the echo buffer's truncate
10628 lines setting here.
8a4e3c0c 10629 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10630 of message_truncate_lines.
10631 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10632 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10633 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10634
10635 * keyboard.c (read_char): Bind message-truncate-lines to t
10636 while displaying a help-echo.
10637
10638 * lisp.h (Qmessage_truncate_lines): External declaration.
10639
163dcff3
GM
106402000-06-13 Gerd Moellmann <gerd@gnu.org>
10641
1681ead6
GM
10642 * xdisp.c (Vline_number_display_limit): Renamed from
10643 line_number_display_limit.
10644 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10645 Extend documentation string. Initialize
10646 Vline_number_display_limit to nil meaning no limit.
10647 (decode_mode_spec): Use Vline_number_display_limit with its new
10648 meaning.
10649
163dcff3
GM
10650 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10651
18e21ce8 106522000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10653
10654 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10655
163dcff3
GM
10656 * xfns.c (x_set_frame_parameters): Comment fix.
10657
10658 * frame.c (store_frame_param): Call swap_in_global_binding if the
10659 variable's current binding was chosen based on this frame.
10660
10661 * data.c (swap_in_global_binding): New function.
10662
a704139d
EZ
106632000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10664
10665 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10666 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10667
9b6610db
EZ
106682000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10669
10670 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10671
c68833d2
JR
106722000-06-12 Jason Rumney <jasonr@gnu.org>
10673
10674 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10675
10676 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10677
10678 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10679
10680 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10681
ed1056b3
GM
106822000-06-12 Gerd Moellmann <gerd@gnu.org>
10683
10684 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10685 (syms_of_xfaces): Defsubr Sdump_colors.
10686 (x_free_colors): Don't treat b&w specially on default visual.
10687 (x_free_dpy_colors): New function.
10688 (free_face_colors): Don't check visual class; it's done
10689 in x_free_colors.
10690
10691 * xterm.c (x_frame_of_widget): New function.
10692 (x_alloc_nearest_color_for_widget): Use it.
10693 (x_copy_dpy_color): New function.
10694 (x_destroy_window): Free various colors.
10695
5050a2ef
KH
106962000-06-12 Kenichi Handa <handa@etl.go.jp>
10697
10698 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10699
10700 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10701
10702 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10703
10704 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10705
10706 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10707
fb1b041d
DL
107082000-06-11 Dave Love <fx@gnu.org>
10709
10710 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10711
ff96b5f4
EZ
107122000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10713
10714 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10715
db8eeecd
GM
107162000-06-11 Gerd Moellmann <gerd@gnu.org>
10717
ed1056b3 10718 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10719 to `XEvent *'.
10720
49b71c5f
KH
107212000-06-10 Kenichi Handa <handa@etl.go.jp>
10722
c479bd55
KH
10723 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10724 (regex_compile): Fix the code for handling the case of single byte
10725 char and multibyte char being mixed in a range within [...].
10726
ff6a65c2
KH
10727 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10728 and dst_multibyte members of coding.
10729
49b71c5f
KH
10730 * charset.c (update_charset_table): Update the table
10731 bytes_by_char_head.
10732 (init_charset_once): Initialize elements of bytes_by_char_head to
10733 1 except for leading codes for private charases.
10734
10735 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10736 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10737
9e80b57d
KR
107382000-06-09 Ken Raeburn <raeburn@gnu.org>
10739
10740 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10741 access the data it doesn't point to.
10742
f83fe4b4
GM
107432000-06-08 Gerd Moellmann <gerd@gnu.org>
10744
10745 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10746 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10747 event queue. This is necessary because Emacs otherwise won't
10748 perform a switch-frame to a new frame until some other event, for
10749 example a keystroke event, forces it to do so. This has various
10750 effects, one visible being that the cursor of a frame created with
10751 C-x 5 2 or switched to with a window manager key binding like
10752 A-TAB stays hollow because selected_window isn't on the newly
10753 focused frame until the switch-frame is performed.
10754
10755 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10756 generating a switch-frame event if necessary.
10757
10758 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10759
10760 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10761 it's an integer.
10762
0890801b
KH
107632000-06-08 Kenichi Handa <handa@etl.go.jp>
10764
52283633 10765 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10766
173cbca8
GM
107672000-06-07 Gerd Moellmann <gerd@gnu.org>
10768
3091c2a6
GM
10769 * window.c (displayed_window_lines): Take empty lines at
10770 the bottom of a window into account.
427ec082 10771
f38952fe
GM
10772 * window.c (displayed_window_lines): New function.
10773 (Fmove_to_window_line): Use displayed_window_lines to determine
10774 the number of lines to move, instead of using the window's height.
10775
10776 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10777 to stop reading, even if the form read sets point to a different
10778 value when evaluated.
10779
427ec082 10780 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
10781 put the cursor.
10782
6ba6c818
KH
107832000-06-07 Kenichi Handa <handa@etl.go.jp>
10784
10785 * fileio.c (e_write): Free composition data if stored in
10786 coding->cmp_data.
10787
5f1aea9a
GM
107882000-06-06 Gerd Moellmann <gerd@gnu.org>
10789
666852af
GM
10790 * xdisp.c (display_line): Set row's and iterator's
10791 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
10792 Set cursor even if row ends in the middle of a character.
10793 (dump_glyph_row): Print values of new flags.
10794 (redisplay_window) <cursor movement in unchanged window>: When
10795 point has been moved forward, and PT is at the end of the cursor
10796 row, don't place the cursor in the next row if the cursor row ends
10797 in the middle of a character or at ZV.
10798
10799 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
10800 (struct glyph_row): Add starts_in_middle_of_char_p and
10801 ends_in_middle_of_char_p.
10802 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
10803 ends_in_middle_of_char_p flag.
10804 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
10805
d13f3e2e
GM
10806 * term.c (append_glyph): Revert change of 2000-06-06.
10807
10808 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
10809 padding glyph not fitting on line as whole character not
10810 fitting on line.
10811
5f1aea9a
GM
10812 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
10813 this isn't true for images with `:ascent 100'.
10814
10cda9b0
KH
108152000-06-06 Kenichi Handa <handa@etl.go.jp>
10816
ed00559d
KH
10817 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
10818 as modified if it is originally unmodified.
10819
10cda9b0
KH
10820 * term.c (encode_terminal_code): Change the way to check if
10821 terminal coding does any conversion.
10822 (append_glyph): Set glyph->pixel_width correctly.
10823
10824 * xdisp.c (display_line): While checking line continuation, pay
10825 attention to a padding glyph.
10826
1969fae2
GM
108272000-06-05 Gerd Moellmann <gerd@gnu.org>
10828
10829 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
10830
162ccef4
DL
108312000-06-05 Dave Love <fx@gnu.org>
10832
f19f32dd
DL
10833 * xdisp.c: Include fontset.h.
10834
10835 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
10836
10837 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10838
10839 * dispnew.c: Conditionally include term.h.
10840
10841 * coding.h: Declare code_convert_string_norecord.
10842
10843 * frame.h (struct frame): Use volatile unconditionally.
10844
10845 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
10846
10847 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
10848
10849 * systime.h: Protect against multiple inclusion.
10850 (timezone) [USG5_4]: Define as time_t.
10851
10852 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10853 (Foptimize_char_table, make_temp_name): Declare.
10854
10855 * Makefile.in (xdisp.o): Depend on fontset.h.
10856
10857 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
10858
10859 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
10860 (Foptimize_char_table, make_temp_name): Declare.
10861
427ec082 10862 * s/irix4-0.h:
162ccef4
DL
10863 * s/irix5-0.h:
10864 * s/netbsd.h: Don't define autoconfiscated MATHERR.
10865
2082fe81
DL
108662000-06-02 Dave Love <fx@gnu.org>
10867
10868 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
10869
dcf671d2
GM
108702000-06-02 Gerd Moellmann <gerd@gnu.org>
10871
10872 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 10873 result face, set flags in that face indicating that colors may not
dcf671d2
GM
10874 be freed.
10875
10876 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
10877 glyph, use the ASCII NUL character to determine the face.
10878
d42122a3
DL
108792000-06-02 Dave Love <fx@gnu.org>
10880
10881 * sysdep.c: Conditionally include stdlib.h, unistd.h.
10882 (VFORK_RETURN_TYPE): Remove.
427ec082 10883
d42122a3
DL
10884 * config.in: Add NO_MATHERR.
10885
dd432f16
DL
108862000-06-01 Dave Love <fx@gnu.org>
10887
90aa4ea8
DL
10888 * cmds.c (internal_self_insert): Don't check
10889 Vbefore_change_function, Vafter_change_function.
10890
10891 * insdel.c (signal_before_change, signal_after_change): Likewise.
10892
10893 * buffer.c (Vbefore_change_function, Vafter_change_function):
10894 Variables and their initializations deleted.
10895
2330c9d4
DL
10896 * callint.c (Fcall_interactively): Doc fix.
10897
dd432f16
DL
10898 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
10899
bf9e8804
DL
109002000-05-31 Dave Love <fx@gnu.org>
10901
10902 * textprop.c: Revert last change -- duplicated.
10903
3694b4ab
GM
109042000-05-31 Gerd Moellmann <gerd@gnu.org>
10905
10906 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
10907 in #if 0.
10908
10909 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
10910
f14156cd
JR
109112000-05-31 Jason Rumney <jasonr@gnu.org>
10912
8119aab8
JR
10913 * search.c (Fre_search_forward, Fre_search_backward)
10914 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
10915
f14156cd
JR
10916 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
10917
4aab9be3
JR
109182000-05-30 Jason Rumney <jasonr@gnu.org>
10919
10920 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
10921 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
10922
52283633 10923 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
10924
10925 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
10926 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
10927 expand a nil default_filename.
10928
10929 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
10930 pointer to glyph_to_pixel_coords, not a frame.
10931
10932 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
10933 coding.h to dependencies.
10934
10935 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
10936
10937 * w32console.c (glyph_to_pixel_coords): Change first parameter to
10938 window pointer to be consistent with w32term.c and xterm.c.
10939
10940 * w32fns.c: Format and doc changes to bring closer to xfns.c.
10941 (VIETNAMESE_CHARSET): Define if not defined in system headers.
10942 (Qline_spacing, Qcenter): New variables.
10943 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
10944 (x_set_line_spacing): New function.
52283633 10945 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
10946 (x_specified_cursor_type): New function.
10947 (x_set_cursor_type): Use it.
10948 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
10949 and icon strings.
10950 (validate_x_resource_name, x_get_resource_string): Measure lengths
10951 of external strings in bytes.
10952 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
10953 GetTextExtentPoint32 with NULL title.
10954 (Fx_create_frame): Initialize Qline_spacing.
10955 (w32_load_system_font): Initialize font->double_byte_p.
10956 (x_to_w32_charset): Use Vw32_charset_info_alist.
10957 (Image, busy cursor, tooltip functions): Merged changes from
10958 xfns.c. Not yet functional on Windows.
10959
10960 * w32gui.h (W32FontStruct): Add double_byte_p member.
10961
10962 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
10963 (emacs_button_translation): Use it.
10964 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
10965 in `mask' to be set.
10966
10967 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
10968 menu strings.
10969
10970 * w32term.c: Format and doc changes to bring closer to xterm.c.
10971 (w32_char_font_type): New enum.
10972 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
10973 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
10974 (w32_encode_char): New function.
10975 (x_encode_char): Removed.
10976 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
10977 x_encode_char and w32_font_is_double_byte.
10978 (x_produce_image_glyph): Use image_ascent.
10979 (x_produce_glyphs): Use new version of w32_per_char_metric and
10980 handle NULL return value. Allow extra line spacing.
10981 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
10982 (w32_get_glyph_overhangs): Remove unicode_p param. Use
10983 w32_font_type member of glyph instead.
10984 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
10985 (fast_find_position): Make sure not to consider rows not visible
10986 in the window.
10987 (w32_read_socket) [WM_MENUSELECT]: Cannot call
10988 w32_menu_display_help with input blocked, as it can abort.
10989 (x_display_and_set_cursor): Choose cursor depending
10990 on buffer-local value of cursor_type.
10991 (x_draw_bar_cursor): Add parameter WIDTH.
10992
10993 * w32term.h (CP_DEFAULT): Define.
10994 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
10995
10fc3187
GM
109962000-05-30 Gerd Moellmann <gerd@gnu.org>
10997
10998 * search.c (Fre_search_forward, Fre_search_backward)
10999 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11000
d0555360
KH
110012000-05-30 Kenichi Handa <handa@etl.go.jp>
11002
11003 * coding.c (detect_coding_iso2022): Fix code for checking
11004 CODING_CATEGORY_MASK_ISO_8_2.
11005
f1ad044f
SM
110062000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11007
11008 * regex.c (PREFETCH_NOLIMIT): New function.
11009 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11010
84ec3b4b
GM
110112000-05-29 Gerd Moellmann <gerd@gnu.org>
11012
66254a13
GM
11013 * syntax.c (find_defun_start): Move test for
11014 open_paren_in_column_0_is_defun_start outside of the loop.
11015
49e70dec
GM
11016 * xdisp.c (redisplay_window): Really switch buffers when
11017 displaying mode lines, and temporarily set selected_frame to the
11018 frame of the window that's redisplayed.
11019
84ec3b4b
GM
11020 * xfaces.c (free_realized_faces): Block/unblock input.
11021 (free_realized_multibyte_face): Ditto.
11022
869a3a14
DL
110232000-05-29 Dave Love <fx@gnu.org>
11024
11025 * textprop.c (Qkeymap): New variable.
11026 (syms_of_textprop): Intern it.
11027
11028 * keymap.c: Include intervals.h.
11029 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11030
11031 * Makefile.in (keymap.o): Depend on intervals.h.
11032
11033 * keyboard.c (menu_bar_items, tool_bar_items)
11034 (Fexecute_extended_command): Deal with `keymap' property.
11035 (read_key_sequence): Track map from `keymap' property as well as
11036 `local_map'.
11037
11038 * intervals.c (get_local_map): Extra arg to allow looking for
11039 `keymap' too.
11040
11041 * intervals.h (map_property): New enum.
11042 (get_local_map): Extra arg using it.
11043 (Qkeymap): Declare.
11044
84ec3b4b 11045 * lisp.h (get_local_map): Don't declare here.
869a3a14 11046
89d0c844
KH
110472000-05-29 Kenichi Handa <handa@etl.go.jp>
11048
11049 * Makefile.in (callproc.o): Depend on composite.h.
11050
11051 * callproc.c: Include composite.h.
11052 (Fcall_process): Handle composition correctly.
11053
11054 * coding.h (coding_allocate_composition_data): Extern it.
11055 (coding_restore_composition): Likewise.
11056
11057 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11058 yet allocated, finish decoding with result
11059 CODING_FINISH_INSUFFICIENT_CMP.
11060 (coding_allocate_composition_data): Make it non-static.
11061 (coding_restore_composition): Likewise.
11062
797a084a
EZ
110632000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11064
11065 * charset.c (syms_of_charset): Revert last change.
11066
cf872af5
EZ
110672000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11068
11069 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11070 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11071 Handa.
cf872af5 11072
5b1ae051
EZ
110732000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11074
11075 * charset.c (syms_of_charset): Set width of character sets
11076 eight-bit-control and eight-bit-graphic to 1 column.
11077
34ec9ebe
GM
110782000-05-26 Gerd Moellmann <gerd@gnu.org>
11079
11080 * config.in (HAVE_SPEED_T): New define.
11081
11082 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11083 `extern speed_t'.
11084
dd854dc2
DL
110852000-05-26 Dave Love <fx@gnu.org>
11086
11087 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11088
11089 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11090 (Fsubr_arity): New function.
11091 (syms_of_data): Install them.
11092
ba9f8f95
KH
110932000-05-26 Kenichi Handa <handa@etl.go.jp>
11094
0f3e0672
KH
11095 * charset.c (init_charset_once): Set the table bytes_by_char_head
11096 correctly.
11097
cebefb44
KH
11098 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11099 the default fontset to what Emacs uses by default.
0f3e0672
KH
11100 (check_registry_encoding): This function deleted.
11101 (Fset_fontset_font): Remove the adhoc condition for the default
11102 fontset. Allow cons in FONTNAME.
cebefb44 11103
0f3e0672
KH
11104 * fns.c (map_char_table): Ignore char-table entries for
11105 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11106
7a18af49
KR
111072000-05-25 Ken Raeburn <raeburn@gnu.org>
11108
11109 * emacs.c (main): Initialize keyboard syms before initializing
11110 window code, so face names are available.
11111
d2af47df
SM
111122000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11113
11114 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11115 of an anchor at the beginning of a shy-group.
11116
fc6a6a4e
GM
111172000-05-25 Gerd Moellmann <gerd@gnu.org>
11118
11119 * xdisp.c (handle_invisible_prop): Don't try to skip over
11120 invisible text if end of text is already reached.
11121
005f0d35
DL
111222000-05-25 Dave Love <fx@gnu.org>
11123
02513cdd
DL
11124 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11125
005f0d35
DL
11126 * coding.c (encode_eol): Add null statement after label.
11127
89f6ca4e
EZ
111282000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11129
11130 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11131 2000-05-20.
11132
a4e1759e
KH
111332000-05-25 Kenichi Handa <handa@etl.go.jp>
11134
11135 * ccl.c (ccl_driver): Fix previous change.
11136
eacfd7fe
KH
111372000-05-25 Kenichi Handa <handa@etl.go.jp>
11138
46ab33a9
KH
11139 * coding.c (run_pre_post_conversion_on_str): Set point to the
11140 beginning of buffer before calling coding->post_read_conversion.
11141 (decode_coding_string): Give correct args to
11142 run_pre_post_conversion_on_str.
11143 (encode_coding_string): Likewise.
11144
eacfd7fe
KH
11145 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11146 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11147 eight-bit-graphic correctly.
11148
f8569325
DL
111492000-05-24 Kenichi HANDA <handa@etl.go.jp>
11150
11151 * fileio.c (Finsert_file_contents): Even if a file is not found,
11152 execute codes for setting up coding system. Call
11153 after-insert-file-functions unconditionally.
11154
04545643
GM
111552000-05-24 Gerd Moellmann <gerd@gnu.org>
11156
11157 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11158 BSD_PGRPS are not defined.
11159
747d90ea
KH
111602000-05-24 Kenichi Handa <handa@etl.go.jp>
11161
11162 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11163 DESCRIPTION.
11164 (syms_of_charset): Avoid building same strings.
11165
716e3b88
GM
111662000-05-23 Gerd Moellmann <gerd@gnu.org>
11167
11168 * lread.c (Fload): Add a comment about the meaning of
11169 Vuser_init_file being t.
11170
11171 * puresize.h (BASE_PURESIZE): Increase to 675000.
11172
11173 * s/gnu-linux.h (setpgrp): Don't define it here because this
11174 prevents compilation on GNU/Linux systems with glib 2.2.
11175
11176 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11177 as setpgid.
427ec082 11178
9aeb39fa
EZ
111792000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11180
11181 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11182 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11183 version.
11184 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11185
29ced61b
KH
111862000-05-23 Kenichi Handa <handa@etl.go.jp>
11187
52283633 11188 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11189
3d80f24d
KH
11190 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11191
52283633 11192 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11193
29ced61b
KH
11194 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11195
d7e00792
KH
111962000-05-22 Kenichi Handa <handa@etl.go.jp>
11197
c9d80d38
KH
11198 * keyboard.c (read_char): Allow character codes 128..255 to be
11199 handled by input-method-function.
11200
d7e00792
KH
11201 * insdel.c (adjust_markers_for_replace): Fix previous change.
11202 (adjust_after_replace): If PREV_TEXT is nil, call
11203 adjust_markers_for_insert, not adjust_markers_for_replace.
11204
087121cc 112052000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11206
087121cc
GM
11207 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11208 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11209 [HAVE_GRANDPT]: Define.
11210 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11211
11212 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11213 like SYSV_PTYS.
11214
11215 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11216
11217 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11218
c9671f81
KH
112192000-05-20 Kenichi Handa <handa@etl.go.jp>
11220
11221 The following changes are to handle 8-bit characters in a
11222 multibyte buffer/string without facing with byte combining
11223 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11224 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11225
11226 * Makefile.in (fns.o): Depend on charset.h.
11227
11228 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11229 convert it to unibyte.
11230 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11231
11232 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11233 apparent char boundary.
11234 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11235 0x80..0x9F to/from multibyte form.
11236
11237 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11238 to unibyte.
11239
11240 * callproc.c (Fcall_process): Always encode an argument string if
11241 it is multibyte. Setup src_multibyte and dst_multibyte members of
11242 process_coding properly.
ce75fd23 11243
c9671f81
KH
11244 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11245 SPLIT_NON_ASCII_CHAR.
11246
11247 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11248 as is.
11249 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11250
52283633 11251 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11252 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11253 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11254 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11255 and eight-bit-graphic.
11256 (char_to_string): Likewise. Signal an error for too large
11257 character code.
11258 (char_printable_p): Return 0 for 8-bit characters.
11259 (update_charset_table): Update iso_charset_table only when a final
11260 character is non-negative.
11261 (find_charset_in_text): Renamed from find_charset_in_str.
11262 Arguments and return value changed. Callers changed.
11263 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11264 be -1 if CHARSET is used only internally.
11265 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11266 eight-bit-graphic.
11267 (Fcharset_after): Simplified.
11268 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11269 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11270 (multibyte_chars_in_text): Simplified by assuming there's no
11271 invalid multibyte sequence.
52283633
SM
11272 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11273 (str_as_unibyte): New functions.
11274 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11275 (init_charset_once): Initialization for
11276 LEADING_CODE_8_BIT_CONTROL.
11277 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11278 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11279 eight-bit-control and eight-bit-graphic.
11280
52283633
SM
11281 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11282 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11283 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11284 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11285 (CHARSET_REVERSE_CHARSET): Likewise.
11286 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11287 eight-bit-graphic.
11288 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11289 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11290 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11291 encounter an invalid multibyte sequence.
11292 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11293 sequence is always valid.
11294 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11295 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11296 (CHAR_STRING): For 8-bit characters, call char_to_string.
11297 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11298 multibyte sequence is always valid.
11299 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11300 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11301 (str_as_unibyte): Extern them.
c9671f81 11302 (BCOPY_SHORT): Fix a bug.
52283633 11303 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11304 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11305 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11306 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11307
bd4bde7f 11308 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11309 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11310 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11311 (EMIT_BYTES): New macros.
11312 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11313 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11314 macros deleted.
11315 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11316 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11317 check the validity of multibyte sequence.
11318 (decode_coding_emacs_mule): New function.
11319 (encode_coding_emacs_mule): New macro.
11320 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11321 the source.
11322 (DECODE_ISO_CHARACTER): Just return a character code.
11323 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11324 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11325 EMIT_CHAR to produced decoded characters. Exit the loop only by
11326 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11327 block here.
11328 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11329 only position codes for an invalid character.
11330 (encode_designation_at_bol): Return new destination pointer. 5th
11331 arg DSTP is changed to DST.
11332 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11333 from the source by ONE_MORE_CHAR. Don't handle the case of last
11334 block here.
11335 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11336 macros deleted.
52283633
SM
11337 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11338 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11339 TWO_MORE_BYTES to fetch a byte from the source.
11340 (encode_eol): Pay attention to coding->src_multibyte.
11341 (detect_coding, detect_eol): Preserve members src_multibyte and
11342 dst_multibyte.
11343 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11344 (encoding_buffer_size): Set magnification to 3 for all coding
11345 systems that require encoding.
11346 (ccl_coding_driver): For decoding, be sure that the result is
11347 valid multibyte sequence.
11348 (decode_coding): Initialize coding->errors and coding->result.
11349 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11350 and raw-text, always call decode_eol. Handle the case of last
11351 block here. If not coding->dst_multibyte, convert the resulting
11352 sequence to unibyte.
11353 (encode_coding): Initialize coding->errors and coding->result.
11354 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11355 and raw-text, always call encode_eol. Handle the case of last
11356 block here.
11357 (shrink_decoding_region, shrink_encoding_region): Detect cases
11358 that we can't skip data more rigidly.
11359 (code_convert_region): Setup src_multibyte and dst_multibyte
11360 members of coding. For decoding, if the buffer is multibyte,
11361 convert the source sequence to unibyte in advance. For encoding,
11362 if the buffer is multibyte, convert the resulting sequence to
11363 multibyte afterward.
11364 (run_pre_post_conversion_on_str): New function.
11365 (code_convert_string): Deleted and divided into the following two.
11366 (decode_coding_string, encode_coding_string): New functions.
11367 (code_convert_string1, code_convert_string_norecord): Call one of
11368 above.
11369 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11370 MAKE_NON_ASCII_CHAR.
52283633
SM
11371 (Fset_terminal_coding_system_internal)
11372 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11373 and dst_multibyte members.
11374 (init_coding_once): Initialize iso_code_class with new enum
11375 ISO_control_0 and ISO_control_1.
11376
11377 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11378 devided into ISO_control_0 and ISO_control_1.
11379 (struct coding_system): New members src_multibyte, dst_multibyte,
11380 errors, and result. Delete member fake_multibyte.
11381 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11382 nonzero.
11383 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11384 nonzero.
11385
11386 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11387 (Faset): Likewise.
11388
11389 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11390 multibyte form.
11391 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11392 combining occurs.
11393 (Ftranspose_region): Delete codes for handling byte combining.
11394
11395 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11396 dst_multibyte members of coding. On handling REPLACE on unibyte
11397 buffer, convert the result of decode_coding to unibyte. On
11398 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11399 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11400 multibyteness of the source (buffer or string).
11401
11402 * fns.c (concat): Handle 8-bit characters correctly.
11403 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11404 unibyte in the result.
11405 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11406 valid multibyte form in the result.
11407 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11408 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11409 return -1, signal an error.
11410 (base64_encode_1): New arg MULTIBYTE. Get each character by
11411 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11412 character is found, return -1.
11413 (Fbase64_decode_region): Delete codes for handling byte-combining.
11414 Treat each decoded byte as a unibyte character.
11415 (Fbase64_decode_string): Return unibyte string.
11416 (Fcompare_strings, concat, string_byte_to_char): Use
11417 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11418 FETCH_STRING_CHAR_ADVANCE.
11419 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11420 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11421
11422 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11423 SPLIT_NON_ASCII_CHAR.
11424 (fontset_ref_via_base, fontset_set): Likewise
11425
11426 * insdel.c (adjust_markers_for_record_delete): Deleted.
11427 (adjust_markers_for_insert): Argument changed. Caller changed.
11428 (adjust_markers_for_replace): Likewise.
52283633
SM
11429 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11430 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11431 (copy_text): Delete unused local varialbe c_save. For converting
11432 to multibyte, be sure to make all 8-bit characters in valid
11433 multibyte form.
11434 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11435 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11436 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11437 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11438 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11439 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11440 handling byte combining.
11441 (adjust_before_replace): Deleted.
427ec082 11442
c9671f81
KH
11443 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11444 SPLIT_NON_ASCII_CHAR.
11445 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11446 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11447 (Fkey_description): Likewise.
11448
11449 * lread.c (read1): On reading multibyte string, be sure to make
11450 all 8-bit chararacters in valid multibyte form.
11451 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11452
11453 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11454 unconditionally.
11455
11456 * process.c (Fstart_process): GCPRO current_dir before calling
11457 Ffind_operation_coding_system. Encode arguments here.
11458 (create_process): Don't encode arguments here. Setup
11459 src_multibyte and dst_multibyte members of struct coding.
11460 (read_process_output): Setup src_multibyte and dst_multibyte
11461 members of struct coding. If the output is to multibyte buffer,
11462 always decode the output of the process. Adjust the
52283633 11463 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11464 (send_process): Setup coding->src_multibyte according to the
11465 multibyteness of the source.
11466
52283633 11467 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11468 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11469 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11470
52283633 11471 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11472
11473 * w16select.c (Fw16_set_clipboard_data): Setup members
11474 src_multibyte and dst_multibyte of coding. Adjusted for the
11475 change for find_charset_in_str.
11476 (Fw16_get_clipboard_data): Likewise.
11477
11478 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11479 dst_multibyte of coding.
11480 (x_to_w32_font): Likewise.
11481
11482 * w32select.c (Fw32_set_clipboard_data): Setup members
11483 src_multibyte and dst_multibyte of coding. Adjusted for the
11484 change for find_charset_in_str.
11485 (Fw32_get_clipboard_data): Likewise.
11486
11487 * xdisp.c (get_next_display_element): Handle 8-bit characters
11488 correctly.
52283633
SM
11489 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11490 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11491
11492 * xselect.c (selection_data_to_lisp_data): Setup members
11493 src_multibyte and dst_multibyte of coding. Adjusted for the
11494 change for find_charset_in_str.
11495 (lisp_data_to_selection_data): Likewise.
11496
5f64c9e0
GM
114972000-05-19 Gerd Moellmann <gerd@gnu.org>
11498
52283633 11499 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11500
5f64c9e0
GM
11501 * dispextern.h (Vimage_types): Add extern declaration.
11502
11503 * xdisp.c (Vimage_types): Moved here from xfns.c.
11504 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11505
11506 * xfns.c (Vimages_types): Moved to xdisp.c.
11507 (syms_of_xfns): Move `image-types' to xdisp.c.
11508
11509 * w32fns.c (Vimage_types): Removed.
11510 (syms_of_w32fns): Remove `image-types'.
11511
813086ea
KH
115122000-05-18 Kenichi Handa <handa@etl.go.jp>
11513
11514 * fns.c (map_char_table): Pay attention to character number of
11515 charset. Check the validity of charset at the first level. For
11516 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11517 the default value.
11518
11519 * fontset.c: Include "buffer.h".
11520 (fs_load_font): If the face has fontset, record the face ID in
11521 that fontset.
11522 (Finternal_char_font): New function.
11523 (accumulate_font_info): New function.
11524 (Ffontset_info): Rewritten for the new fontset implementation.
11525 (syms_of_fontset): Register Vdefault_fontset in the first element
11526 of Vfontset_table. Include Vdefault_fontset in
11527 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11528 function.
11529
bdaebbf0
DL
115302000-05-16 Dave Love <fx@gnu.org>
11531
11532 * m/iris5d.h: Deleted -- unused.
11533
cb613bb8
GM
115342000-05-16 Gerd Moellmann <gerd@gnu.org>
11535
b15f3b77
GM
11536 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11537 `invalid' instead of `illegal'.
11538
11539 * indent.c (Fmove_to_column): When ending within a tab, insert
11540 spaces first so that markers at the end of the tab get adjusted.
11541
835c1b36
GM
11542 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11543 buffer list that wasn't selected in that frame.
11544
cb613bb8
GM
11545 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11546 is needed on mescaline, use a 2 char prefix, and call
11547 make_temp_name with second arg non-zero.
11548
11549 * fileio.c (make_temp_name): New function, extracted from
11550 Fmake_temp_name.
11551 (Fmake_temp_name): Use it.
11552
f685bea9
EZ
115532000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11554
52283633 11555 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11556
a1b8d58b
GM
115572000-05-15 Gerd Moellmann <gerd@gnu.org>
11558
11559 * Makefile.in (lisp): Add env.elc.
11560
11561 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11562
a265079f
GM
115632000-05-12 Gerd Moellmann <gerd@gnu.org>
11564
11565 * search.c (Freplace_match): Handle case of `\N' in the
11566 replacement when there's no group N.
11567
da4496b6
GM
115682000-05-11 Gerd Moellmann <gerd@gnu.org>
11569
0ace421a
GM
11570 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11571 of the message to message_dolog.
11572
1172eb8d
GM
11573 * keyboard.c (read_char): Don't clear current message for help
11574 events; let the code handling help events handle this. Change
11575 code detecting help events that should be ignored.
11576
da4496b6
GM
11577 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11578 we're interating over a string.
11579
0623e40f
DL
115802000-05-09 Dave Love <fx@gnu.org>
11581
11582 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11583 that offset before writing. Move gcpro region past call of
11584 Ffile_regular_p.
11585
bae2503b
DL
115862000-05-04 Dave Love <fx@gnu.org>
11587
11588 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11589
ec82fb2f
GM
115902000-05-04 Gerd Moellmann <gerd@gnu.org>
11591
11592 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11593 of inserted characters when BUF equals the current buffer, and PT
11594 is in front of or equal to FROM.
11595
cbf18892
GM
115962000-05-03 Gerd Moellmann <gerd@gnu.org>
11597
4ff40dd0
GM
11598 * xdisp.c (handle_single_display_prop): If display property value
11599 is invalid, or something not supported on the frame, restore
11600 iterator's position to what it was initially. Make sure to return
11601 0 for invalid and unsupported property values.
11602
cbf18892
GM
11603 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11604 that x_per_char_metric returns null.
11605
1b0672c3
GM
116062000-05-02 Gerd Moellmann <gerd@gnu.org>
11607
576da55d
GM
11608 * xterm.h (struct face): Add forward declaration.
11609 (struct image): Ditto.
11610 (image_ascent): Add prototype.
11611
11612 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11613 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11614 image_ascent instead of using IMAGE_ASCENT.
11615
11616 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11617 (IMAGE_ASCENT): Removed.
11618
11619 * xfns.c (Qcenter): New variable.
11620 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11621 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11622 (image_ascent): New function.
11623 (lookup_image): Recognize `:ascent center'.
11624 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11625 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11626 (xbm_load): Don't set image's ascent here.
11627 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11628 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11629 check ascent values here.
11630 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11631 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11632 (syms_of_xfns): Initialize Qcenter.
11633
1b0672c3
GM
11634 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11635 to the limits, increase the limits.
11636
0d7811ed
KH
116372000-05-01 Kenichi Handa <handa@etl.go.jp>
11638
11639 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11640 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11641
a943a5ca
GM
116422000-04-28 Gerd Moellmann <gerd@gnu.org>
11643
11644 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11645 taller than the window.
11646
5dba1e29
KH
116472000-04-28 Kenichi Handa <handa@etl.go.jp>
11648
11649 * xfaces.c (realize_x_face): Fix the argument of the second
11650 xassert. BASE_FACE may not be a face for ASCII.
11651
353964e3
GM
116522000-04-27 Gerd Moellmann <gerd@gnu.org>
11653
c76e04a8
GM
11654 * print.c (print_object): Treat print-length < 0 as nil.
11655
11656 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11657
11658 * s/freebsd.h (TERMCAP_OBJ): Removed.
11659 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11660
11661 * lread.c (read1): Don't treat period followed by certain
11662 characters as symbol start.
11663
11664 * xfns.c (slurp_file): New function.
11665 (xbm_image_p): Handle case of in-memory XBM files.
11666 (xbm_scan): Rewritten to work on memory buffers instead of files.
11667 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11668 Work on memory buffers instead of files. If DATA is null test
11669 if buffer looks like an in-memory XBM file.
11670 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11671 memory buffers instead of files.
11672 (xbm_file_p): New function.
11673 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11674
353964e3
GM
11675 * lread.c (end_of_file_error): New function.
11676 (read1): Call it instead of signaling `end-of-file' directly.
11677
427ec082 11678 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11679 with Fprinc instead of Fprin1.
11680
24d744ac
KR
116812000-04-26 Ken Raeburn <raeburn@gnu.org>
11682
11683 * window.c (freeze_window_start): Check that minibuffer scroll
11684 window isn't nil before extracting the window structure pointer
11685 from it.
11686
11687 * undo.c (record_delete): If we hit the end of the undo list, stop
11688 picking elements apart.
11689
7464346d
GM
116902000-04-26 Gerd Moellmann <gerd@gnu.org>
11691
11692 * xdisp.c (display_line): If lines are continued, restore
11693 iterator's ascent/descent information to the values before the
11694 first glyph not fitting on the line.
11695
612839b6
GM
116962000-04-25 Gerd Moellmann <gerd@gnu.org>
11697
11698 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11699 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11700
11701 * dispnew.c (increment_matrix_positions): Renamed from
11702 increment_glyph_matrix_buffer_positions.
11703 (increment_row_positions): Renamed from
11704 increment_glyph_row_buffer_positions.
11705
11706 * dispextern.h: Change names of renamed functions from dispnew.c
11707 in prototypes.
11708
cc181e95
GM
117092000-04-24 Gerd Moellmann <gerd@gnu.org>
11710
abfcc168
GM
11711 * fileio.c (Fdo_auto_save): Create directories for auto-save
11712 list file if necessary.
11713
cc181e95
GM
11714 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11715 from buffer or frame.
11716 (automatic_hscrolling_p): New variable.
11717 (hscroll_windows): Scroll windows horizontally only if automatic
11718 hscrolling is allowed.
11719 (syms_of_xdisp): New variable `automatic-hscrolling'.
11720
11721 * frame.h (struct frame): Add member extra_line_spacing.
11722
11723 * xfns.c (x_set_line_spacing): New function.
11724 (Fx_create_frame): Set line spacing from resources.
11725 (Qline_spacing): New variable.
11726 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11727
cc181e95
GM
11728 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11729
11730 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11731 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11732 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11733 extra_line_spacing from default value.
11734 (init_buffer_once): Initialize default value of extra_line_spacing.
11735
11736 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11737 and extra3.
11738
11739 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11740 prompt_width. Add extra line spacing.
11741
11742 * term.c (produce_glyphs): Remove reference to struct it's
11743 prompt_width.
11744
11745 * dispextern.h (struct it): Remove member prompt_width, add
11746 extra_line_spacing.
11747
58827478
GM
117482000-04-22 Gerd Moellmann <gerd@gnu.org>
11749
11750 * dispnew.c (update_frame_line): When writing a whole line, make
11751 sure cursor is in the right row afterwards, otherwise a use of
11752 capability `ch' in cmgoto might leave the cursor in the row below.
11753
25a87f42
GM
117542000-04-21 Gerd Moellmann <gerd@gnu.org>
11755
11756 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11757
11758 * keyboard.c (timer_check): Fix typo in comment.
11759
54edf5c2
KH
117602000-04-21 Kenichi Handa <handa@etl.go.jp>
11761
11762 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11763 name change: ch -> character.
11764
3a64eef5
GM
117652000-04-20 Gerd Moellmann <gerd@gnu.org>
11766
11767 * keyboard.c (echo_message_buffer): New variable.
11768 (echo_now): Set echo_message_buffer to the echo area buffer used
11769 to display the echo.
11770 (cancel_echoing): Reset echo_message_buffer to nil.
11771 (read_char): Code rewritten that handles canceling an echo or
11772 echoing a dash, respectively.
11773
11774 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11775 directory doesn't exist.
11776
6142fdcb
DL
117772000-04-19 Dave Love <fx@gnu.org>
11778
11779 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
11780 (concat): Don't allow numeric args.
11781 (Fconcat): Doc change.
6142fdcb 11782
ac6b5352
SM
117832000-04-19 Stefan Monnier <monnier@cs.yale.edu>
11784
11785 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
11786 instead define end_match(1|2) more carefully.
11787 Use GET_CHAR_BEFORE_2 for `begline'.
11788
cb9215e4
GM
117892000-04-19 Gerd Moellmann <gerd@gnu.org>
11790
5e3dac3f
GM
11791 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
11792 on 64-bit systems where NULL is defined as `0'.
11793
11794 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
11795 the `variable argument list' to make it work on Alpha.
11796
cb9215e4
GM
11797 * m/alpha.h (_LP64) [!_LP64]: Define.
11798 (ORDINARY_LINK): Define for NetBSD.
11799
11800 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 11801
f532dca0
DL
118022000-04-19 Dave Love <fx@gnu.org>
11803
c750667e
DL
11804 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
11805 change.
11806
11807 * Makefile.in (LIBS): Don't use.
11808 (GETLOADAVG_OBJ): Define again.
11809 (otherobj): Add GETLOADAVG_OBJ.
11810
f532dca0
DL
11811 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
11812
1c7e22fd
GM
118132000-04-18 Gerd Moellmann <gerd@gnu.org>
11814
f6d3257b
GM
11815 * lread.c (read_filtered_event): Cancel and start busy cursor.
11816
427ec082 11817 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
11818 that the per-character metrics may be null.
11819
e10f64e7
GM
118202000-04-17 Gerd Moellmann <gerd@gnu.org>
11821
0daee095
GM
11822 * buffer.c (clone_per_buffer_values): New function.
11823 (Fmake_indirect_buffer): Add optional argument CLONE. Call
11824 clone_per_buffer_values if CLONE is not nil.
11825
e10f64e7
GM
11826 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
11827
38687d43
DL
118282000-04-16 Dave Love <fx@gnu.org>
11829
11830 * Makefile.in: Remove obsolete localcpp stuff.
11831 (GETLOADAVG_OBJ): Don't define.
11832 (obj): Move LIBOBJS...
11833 (otherobj): ... to here.
11834 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
11835 whitespace-only lines after the continuation (Irix).
11836
c21c7262
GM
118372000-04-14 Gerd Moellmann <gerd@gnu.org>
11838
11839 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
11840
11841 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
11842
314767c0
DL
118432000-04-14 Dave Love <fx@gnu.org>
11844
11845 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
11846 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
11847 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
11848 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
11849 NLIST_STRUCT.
11850
11851 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
11852 autoconfiscated HAVE_GETLOADAVG.
11853
11854 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
11855 BROKEN_MKTIME.
11856
a2522dca
GM
118572000-04-14 Gerd Moellmann <gerd@gnu.org>
11858
11859 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 11860 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 11861
33744b5d
DL
118622000-04-14 Dave Love <fx@gnu.org>
11863
c21c7262 11864 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
11865 (INTERVAL_SRC): Convert to make variable.
11866 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
11867 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
11868 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
11869 add LIBOBJS.
11870 (SOME_MACHINE_OBJECTS): Remove interval stuff.
11871 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
11872 (shortlisp): Add facemenu, float-sup, frame.
11873 (SOME_MACHINE_LISP): Remove them from here.
11874 (LIBES): Change unused LDLIBS to autoconf LIBS.
11875
11876 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
11877
9d3d5916
KH
118782000-04-14 Kenichi Handa <handa@etl.go.jp>
11879
11880 * composite.c (update_compositions): If FROM and TO are not in a
11881 valid range, do nothing.
11882
198e3c7a
GM
118832000-04-13 Gerd Moellmann <gerd@gnu.org>
11884
52283633 11885 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 11886
52283633 11887 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
11888
11889 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
11890 as TERMCAP_OBJ.
11891
055a28c9
EZ
118922000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
11893
11894 * fileio.c (a_write): Remove redundant semi-colons.
11895 (e_write): Return -1 if failed to write all the data.
11896 This fixes the changes made at 1999-12-15.
11897
f5c75033
DL
118982000-04-12 Dave Love <fx@gnu.org>
11899
11900 * fns.c (mapcar1): Test for null vals to support mapc.
11901 (Fmapc): New function.
11902
0c3cfc51
EZ
119032000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
11904
11905 * msdos.c (NUM_MOUSE_BUTTONS): Define.
11906 (IT_frame_up_to_date): Support the buffer local value of
11907 cursor-type, if defined.
11908
33465a31
DL
119092000-04-10 Dave Love <fx@gnu.org>
11910
11911 * editfns.c (preceding-char, following-char): Doc fix.
11912
6ed56568
KR
119132000-04-10 Ken Raeburn <raeburn@gnu.org>
11914
11915 * Makefile.in (temacs): Revert 2000-03-12 change.
11916
7cf80d4e
JR
119172000-04-10 Jason Rumney <jasonr@gnu.org>
11918
11919 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
11920
34f3f342
GM
119212000-04-10 Gerd Moellmann <gerd@gnu.org>
11922
1a1b1895
GM
11923 * xdisp.c (setup_echo_area_for_printing): Choose an echo
11924 area buffer, if it's not set up yet.
11925
34f3f342
GM
11926 * indent.c (compute_motion): Set immediate_quit.
11927
be0dbdab
GM
119282000-04-09 Gerd Moellmann <gerd@gnu.org>
11929
52283633 11930 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
11931 (realize_tty_face): Suppress boldness if colors are the inverse of
11932 the default colors, and tty_suppress_bold_inverse_default_colors_p
11933 is set.
11934 (Ftty_suppress_bold_inverse_default_colors): New function.
11935 (syms_of_xfaces): Defsubr it.
11936
be0dbdab
GM
11937 * buffer.c (Frestore_buffer_modified_p): New function.
11938 (syms_of_buffer): Defsubr it.
11939
e8413c3b
KR
119402000-04-08 Ken Raeburn <raeburn@gnu.org>
11941
87f67317
KR
11942 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
11943 charset id (int) argument, not a charset (Lisp_Object).
11944
e8413c3b
KR
11945 * coding.h (code_convert_string): Declare.
11946 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
11947 object, as the fourth argument to code_convert_string.
11948
52283633 11949 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
11950 (Fset_fontset_font): Use EQ to compare lisp objects.
11951
7c752c80
KR
119522000-04-05 Ken Raeburn <raeburn@gnu.org>
11953
c0333abc
KR
11954 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
11955 a pointer that looks like a lisp object.
11956 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
11957 zero, instead see whether it's an integer object, since they can't
11958 have intervals.
11959 (GET_INTERVAL_OBJECT): Simply assign to the destination.
11960
52283633
SM
11961 * dispnew.c (allocate_matrices_for_frame_redisplay)
11962 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
11963 to convert between (unsigned) int values and lisp integers.
11964 * keyboard.c (read_key_sequence): Likewise.
11965 * lread.c (substitute_object_recurse): Likewise.
11966 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
11967 * minibuf.c (do_completion, Fminibuffer_complete_word)
11968 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
11969 * term.c (produce_special_glyphs): Likewise.
11970
11971 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
11972 * print.c (print_preprocess, print_object): Likewise.
11973
11974 * search.c (compile_pattern): Use NILP when checking for nil.
11975
74e49b38
KR
11976 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
11977 __OPTIMIZE__]: Provide a GNU C macro version that handles
11978 lisp-object unions.
11979 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
11980 field, to better cope with ENABLE_CHECKING and calls that modify a
11981 Lisp_Object using its old value.
11982
685e5ed2
GM
119832000-04-04 Gerd Moellmann <gerd@gnu.org>
11984
c407c570
GM
11985 * window.c (compare_window_configurations): Signal an error
11986 if parameters C1 or C2 aren't window configurations.
11987
685e5ed2
GM
11988 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
11989 AFTER_POTENTIAL_GC calls around calls to functions that can
11990 signal an error and thus invoke the debugger.
11991
587a49ab
GM
119922000-04-03 Gerd Moellmann <gerd@gnu.org>
11993
62f20204
GM
11994 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
11995 an error if decoding fails.
11996
587a49ab
GM
11997 * keyboard.c (lispy_mouse_names): Variable removed.
11998 (Vlispy_mouse_stem): New variable.
11999 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12000 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12001 for any mouse button number. Increase size of mouse_syms and
12002 button_down_location as needed. Call modify_event_symbol with
12003 different arguments.
12004 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12005 Call modify_event_symbol with different arguments.
12006 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12007 for any button number. Call modify_event_symbol with different
12008 arguments.
12009 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12010 Accept a string for NAME_ALIST_OR_STEM.
12011
12012 * lisp.h (larger_vector): Add prototype.
12013
12014 * fns.c (larger_vector): Make externally visible.
12015
12016 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12017
2d1675e4
SM
120182000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12019
12020 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12021 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12022 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12023 we are between str1 and str2.
12024 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12025 (PATFETCH): Use `TRANSLATE'.
12026 (PATFETCH_RAW): Fetch multibyte char if applicable.
12027 (PATUNFETCH): Remove.
12028 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12029 When writing a char, write it directly into the pattern buffer rather
12030 than going needlessly through a temp char-array.
12031 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12032 multibyte magic and remove the useless `#ifdef emacs'.
12033 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12034 buffer.
12035
12036 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12037 conditional on `emacs'.
12038
12039 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12040
cc2d8c6b
KR
120412000-04-01 Ken Raeburn <raeburn@gnu.org>
12042
12043 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12044 non-union-type versions of XMARK and friends here, because XMARK
12045 and friends won't work on an integer field if NO_UNION_TYPE is not
12046 defined.
52283633 12047 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12048
52283633 12049 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12050 (syms_of_composite): Delete local var NARGS, pass an int as first
12051 argument to Fmake_hash_table.
12052
2387b382
KR
12053 * editfns.c (text_property_stickiness): Use NILP to test
12054 Lisp_Object boolean value.
12055 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12056 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12057 problems reading from and changing the same lisp value in an
12058 XSETSTRING call.
12059
27660e89
GM
120602000-04-01 Gerd Moellmann <gerd@gnu.org>
12061
12062 * term.c (TN_no_color_video): New variable.
12063 (term_init): Intitialize TN_no_color_video.
12064 (enum no_color_bit): New enumeration.
12065 (MAY_USE_WITH_COLORS_P): New macro.
12066 (turn_on_face): Use it to determine if attributes may be used
12067 combined with colors.
12068
3578db3c
KR
120692000-04-01 Ken Raeburn <raeburn@gnu.org>
12070
12071 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12072 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12073 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12074 proper accessor macros.
12075 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12076 (grow_mini_window): Fix typo getting int value of root->height.
12077
6fc556fd
KR
12078 * xdisp.c (compute_string_pos): Fix order of arguments to
12079 string_pos_nchars_ahead.
12080 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12081 count arg to variable-arg routines like Frun_hook_with_args and
12082 Fformat.
587a49ab
GM
12083 (back_to_previous_visible_line_start)
12084 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12085 fixed-arg routines like Fget_char_property and Fmake_string.
12086 (reconsider_clip_changes): Use XINT when comparing integer lisp
12087 objects, or passing them as int arguments.
587a49ab
GM
12088 (mark_window_display_accurate, insert_left_trunc_glyphs)
12089 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12090 storing or passing integer values as lisp objects.
12091 (set_cursor_from_row, highlight_trailing_whitespace): Use
12092 INTEGERP, not implicit test against zero, for glyph object.
12093 (try_window_id): Don't use make_number when we want an int value.
12094
12095 * xfaces.c (xlfd_symbolic_value): Make last argument a
12096 Lisp_Object, to be consistent with callers.
12097 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12098 (lface_hash): Apply XFASTINT to lisp values before folding in.
12099
12100 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12101 fill in window width and height. Pass an int, not a lisp object,
12102 as first arg to Finsert.
12103
6e7b2457
GM
121042000-04-01 Gerd Moellmann <gerd@gnu.org>
12105
610d841e
GM
12106 * xfaces.c (realize_basic_faces): Block input while realizing
12107 the faces.
12108
6e7b2457
GM
12109 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12110
12111 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12112
aa110c0c
GM
121132000-03-31 Gerd Moellmann <gerd@gnu.org>
12114
12115 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12116 or ASCII, handle case that per-char metric is null.
aa110c0c 12117
8801a864
KR
121182000-03-30 Ken Raeburn <raeburn@gnu.org>
12119
c6129d7e
KR
12120 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12121
52283633
SM
12122 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12123 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12124 pointer, using eassert.
12125 * frame.h (XFRAME): Likewise.
12126
52283633
SM
12127 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12128 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12129 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12130 * data.c (set_internal): Likewise.
52283633
SM
12131 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12132 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12133 * fileio.c (auto_save_1): Likewise.
12134 * insdel.c (check_markers): Likewise.
12135 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12136 * undo.c (record_insert): Likewise.
12137 * vmsproc.c (child_sig): Likewise.
12138 * window.c (unshow_buffer, window_loop): Likewise.
12139 * xterm.c (x_erase_phys_cursor): Likewise.
12140
8e7af858
GM
121412000-03-30 Gerd Moellmann <gerd@gnu.org>
12142
12143 * xfns.c (free_image_cache): Free the cache structure itself
12144 last, after all its members have been freed.
12145
12146 * lisp.h (xstrdup): Add prototype.
12147
12148 * alloc.c (xstrdup): Moved here from xfaces.c.
12149 (allocating_for_lisp): Variable removed.
52283633 12150 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12151
12152 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12153 of Fsymbol_value.
12154 (xstrdup): Moved to alloc.c.
12155
e0b8c689
KR
121562000-03-29 Ken Raeburn <raeburn@gnu.org>
12157
b96f9fb7
KR
12158 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12159
12160 * emacs.c (main): Fix sense of no-loadup test.
12161
e0b8c689
KR
12162 * config.in (ENABLE_CHECKING): Undef.
12163
12164 * lisp.h (struct interval): Replace "parent" field with a union of
12165 interval pointer and Lisp_Object; add new bitfield to use as
12166 discriminant. Change other flag fields to bitfields.
12167 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12168 is defined and the supplied test fails, print a message and abort.
12169 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12170
12171 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12172 pointers; abort if the value looks like a lisp object.
52283633
SM
12173 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12174 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12175 Modify for new interval parent definition.
12176
52283633
SM
12177 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12178 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12179 addressable lisp object in the interval structure.
12180 (die): New function.
12181 (suppress_checking): New variable.
12182
12183 * intervals.c (interval_start_pos): Just return 0 if there's no
12184 parent object.
12185
f83c5440
GM
121862000-03-29 Gerd Moellmann <gerd@gnu.org>
12187
12188 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12189 and earlier Emacs versions.
12190
12191 * keyboard.c (Ftop_level): Cancel busy-cursor.
12192
12193 * eval.c (call_debugger): Cancel busy-cursor.
12194
fdce64ff
KH
121952000-03-29 Kenichi Handa <handa@etl.go.jp>
12196
12197 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12198 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12199
f6a3f532
SM
122002000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12201
12202 * regex.c (analyse_first): New function obtained by ripping out most
12203 of re_compile_fastmap and generalizing it a little bit so that it
12204 can also just return whether a given (sub)pattern can match the empty
12205 string or not.
12206 (regex_compile): Use `analyse_first' to decide whether the loop-check
12207 needs to be done or not for *, +, *? and +? (the loop check is costly
12208 for non-greedy repetition).
12209 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12210
e9b309ac
DL
122112000-03-28 Dave Love <fx@gnu.org>
12212
52283633 12213 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12214
e9b309ac
DL
12215 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12216
ed0767d8
SM
122172000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12218
12219 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12220 an expression.
12221 (enum re_opcode_t): Update description of succeed_n.
12222 (PATFETCH): Always define.
12223 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12224 operators, char classes, shy-groups and intervals).
12225 Optimize special cases of intervals so as to only use succeed_n and
12226 jump_n when really needed.
12227 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12228 that we don't have to handle the special cases any more.
12229 Simplify on_failure_jump handling as well.
12230
e11e7e46
JR
122312000-03-28 Jason Rumney <jasonr@gnu.org>
12232
12233 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12234
88faab89
GM
122352000-03-27 Gerd Moellmann <gerd@gnu.org>
12236
182ff242
GM
12237 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12238
12239 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12240
182ff242
GM
12241 * alloc.c (mark_maybe_object): New function.
12242 (mark_memory): Use it.
12243 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12244 (setjmp_tested_p, longjmp_done): New variables.
12245 (test_setjmp): New function.
12246 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12247 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12248
c1005d06
GM
12249 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12250 to DEC_TEXT_POS and INC_TEXT_POS.
12251
12252 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12253 with parameter MULTIBYTE_P.
12254
52283633 12255 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12256
7439e5b9 12257 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12258 buffers because it looks for multibyte character byte sequences
12259 which don't exist in unibyte text.
7439e5b9 12260
d9c545da
GM
12261 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12262
11fd416e 12263 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12264 [DEBUG_X_COLORS]: New functions.
12265 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12266
12267 * xfns.c (x_set_cursor_color): Get color reference counts right.
12268
12269 * xterm.c (x_copy_color): New function.
12270 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12271
12272 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12273 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12274 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12275 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12276 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12277 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12278 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12279 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12280 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12281 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12282
11fd416e
GM
12283 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12284 names for handling per-buffer variables.
d9c545da
GM
12285
12286 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12287 instead of MAX_BUFFER_LOCAL_VARS.
12288 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12289
12290 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12291
88faab89
GM
12292 * xfns.c (x_specified_cursor_type): New function.
12293 (x_set_cursor_type): Use it.
12294
12295 * buffer.h (struct buffer): Add cursor_type.
12296
d80f42b7
SM
122972000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12298
12299 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12300 (print_partial_compiled_pattern, re_compile_fastmap):
12301 Handle new opcode.
d80f42b7
SM
12302 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12303 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12304 executing it as well as when popping it off the stack to find infinite
12305 loops in non-greedy repetition operators.
12306
89e80928
GM
123072000-03-26 Gerd Moellmann <gerd@gnu.org>
12308
3d4ff2dd
GM
12309 * doc.c (Qfunction_documentation): New variable.
12310 (syms_of_doc): Initialize Qfunction_documentation.
12311 (Fdocumentation): If FUNCTION is a symbol with non-nil
12312 `function-documentation' property, return a documentation derived
12313 from that.
12314
bd96bd79
GM
12315 * buffer.c (syms_of_buffer): Add default-cursor-type.
12316 (init_buffer_once): Don't let cursor_type have a local value
12317 in every buffer.
12318
19d1bc27
GM
12319 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12320 on buffer-local value of cursor_type.
12321 (x_draw_bar_cursor): Add parameter WIDTH.
12322
12323 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12324 (init_buffer_once): Set default cursor_type value to t.
12325 Mark cursor_type as local everywhere.
12326 (syms_of_buffer): New per-buffer variable cursor-type.
12327
89e80928
GM
12328 * buffer.h (struct buffer): Remove member local_var_flags,
12329 add local_flags.
12330 (MAX_BUFFER_LOCAL_VARS): New macro.
12331 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12332 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12333 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12334 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12335
52283633 12336 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12337
12338 * category.c (Fset_category_table): Use new macros for per-buffer
12339 variables.
12340
12341 * buffer.c (buffer_permanent_local_flags): Make a char array.
12342 (max_buffer_local_idx): New variable.
12343 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12344 for new handling of per-buffer variables.
12345 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12346 (init_buffer_once): Initialize per-buffer vars differently.
12347 Set max_buffer_local_idx.
12348
12349 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12350 variables.
12351
52283633 12352 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12353
12354 * data.c (do_symval_forwarding, store_symval_forwarding)
12355 (find_symbol_value, set_internal, default_value, Fset_default)
12356 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12357 per-buffer variables.
12358
12359 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12360
9a0dd3dc
GM
123612000-03-24 Gerd Moellmann <gerd@gnu.org>
12362
b68c375f
GM
12363 * xterm.c (x_term_init): Unblock input around call1 of
12364 Qvendor_specific_keysyms.
12365
9a0dd3dc
GM
12366 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12367 (find_defun_start): Consider an open parenthesis in column 0
12368 a defun start only if open_paren_in_column_0_is_defun_start is set.
12369 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12370
7973e637
SM
123712000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12372
12373 * eval.c (Fautoload): Add entry in load-history (if after dump).
12374 * lread.c (load-history): Update docstring.
12375
39210e90
GM
123762000-03-24 Gerd Moellmann <gerd@gnu.org>
12377
12378 * indent.c (Fvertical_motion): Always use the current buffer.
12379 Temporarily change the window's buffer, if necessary.
12380
72db3ab5
GM
123812000-03-23 Gerd Moellmann <gerd@gnu.org>
12382
12383 * xterm.c (fast_find_position): Make sure not to consider rows
12384 not visible in the window.
12385
990b2375
SM
123862000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12387
12388 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12389 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12390
ff4df011
JR
123912000-03-22 Jason Rumney <jasonr@gnu.org>
12392
12393 * w32menu.c (single_submenu): Set help string to NULL if none.
12394 (w32_menu_show): Set help string correctly.
12395 (add-menu-item): Set help string in MIIM_DATA for menu item.
12396 Load SetMenuItemInfoA explicitly.
12397 (w32_menu_display_help): New function.
427ec082 12398
ff4df011
JR
12399 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12400 (QCdata): Moved to xdisp.c.
12401
12402 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12403 (Vw32_charset_to_codepage_alist): Removed.
12404 (Vw32_charset_info_alist): New variable.
52283633
SM
12405 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12406 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12407 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12408 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12409 with TODO comment.
12410 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12411 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12412 Define Vw32_charset_info_alist and w32_charset symbols.
12413
124142000-03-22 Jason Rumney <jasonr@gnu.org>
12415
12416 * makefile.nt (w32bdf.obj): Update dependencies.
12417
12418 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12419
12420 * w32fns.c: Include fontset.h after dispextern.h.
12421 (Fx_create_frame): Do not create fontset.
12422 (w32_load_system_font): Doc fix.
12423 (Fx_close_connection): Free full_name if it is not shared.
12424
12425 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12426 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12427 Callers updated.
ff4df011
JR
12428 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12429 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12430 (w32_font_is_double_byte): New function, needs body.
12431 (x_append_glyph): Set glyph->glyph_not_available_p.
12432 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12433 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12434 character, convert it to a unibyte character.
12435 (struct glyph_string): Delete member `charset'.
12436 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12437 calculating it is found.
12438 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12439 the case that per char metric is not available correctly.
12440 (x_fill_glyph_string): Handle the case that the specific glyph is
12441 not available correctly.
12442 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12443 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12444 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12445 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12446 fontset. Don't call FS_LOAD_FONT.
12447
439d5cb4
KR
124482000-03-22 Ken Raeburn <raeburn@gnu.org>
12449
12450 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12451 (INT_LISPLIKE): New macro.
12452 (NULL_INTERVAL_P): Use it.
52283633
SM
12453 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12454 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12455 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12456
12457 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12458 explicit references to "parent" field of struct interval and
12459 associated unclean type conversions.
52283633
SM
12460 * intervals.c (create_root_interval, root_interval, rotate_right)
12461 (rotate_left, balance_possible_root_interval, split_interval_right)
12462 (split_interval_left, interval_start_pos, find_interval)
12463 (next_interval, previous_interval, update_interval)
12464 (adjust_intervals_for_insertion, delete_node, delete_interval)
12465 (adjust_intervals_for_deletion, merge_interval_right)
12466 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12467 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12468 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12469 Likewise.
12470 * syntax.c (update_syntax_table): Likewise.
12471
12472 * intervals.c (reproduce_tree_obj): New function, like
12473 reproduce_tree but takes a Lisp_Object for the parent. Declare
12474 with prototype.
12475 (graft_intervals_into_buffer): Use it when appropriate.
12476 (reproduce_tree): Declare with prototype.
12477 (balance_possible_root_interval): Check that the parent is a lisp
12478 object before trying to examine its type.
12479
ee1c5b21
GM
124802000-03-22 Gerd Moellmann <gerd@gnu.org>
12481
12482 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12483 as strings only if both are known to be strings.
12484
12485 * s/openbsd.h (LIBS_TERMCAP): Undef.
12486
1fb352e0
SM
124872000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12488
12489 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12490 definitions for non-Emacs compilation.
12491 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12492 outside of `#ifdef emacs'.
12493 (print_partial_compiled_pattern): Update.
12494 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12495 (re_compile_fastmap): Merge handling of charset and charset_not (for
12496 emacs and non-emacs compilation as well).
12497 Similarly for (not)categoryspec and (not)syntaxspec.
12498 Don't use the fastmap when reaching `anychar' since the added
12499 complexity is not justified.
12500 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12501 and (not)syntaxspec. Merge (not)categoryspec.
12502
fdaa1f77
KH
125032000-03-22 Kenichi Handa <handa@etl.go.jp>
12504
52283633
SM
12505 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12506 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12507 --without-x.
fdaa1f77 12508
d152fb46
DL
125092000-03-21 Dave Love <fx@gnu.org>
12510
12511 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12512 doc string.
12513
d2cafc8c
GM
125142000-03-21 Gerd Moellmann <gerd@gnu.org>
12515
12516 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12517 (lface_fully_specified_p): Don't check contents of
12518 LFACE_FONT_INDEX because that attribute is optional.
12519 (realize_x_face): Remove now unwarranted xassert.
12520
9111d4b5
KH
125212000-03-21 Kenichi HANDA <handa@etl.go.jp>
12522
12523 The following changes are to make font selection based on
12524 characters, not charset. In addition, they recover fontset
12525 facilities while utilizing the new font selection mechanism.
12526
6c4bfdc0
KH
12527 * Makefile.in (fontset.o): Depend on dispextern.h.
12528
12529 * alloc.c (mark_face_cache): Don't mark face->registry.
12530
9111d4b5
KH
12531 * dispextern.h (struct glyph): New member glyph_not_available_p.
12532 Use 22 bits for face_id.
12533 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12534 (struct face): Delete member registry, new member ascii_face.
12535 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12536 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12537 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12538 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12539
12540 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12541 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12542 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12543 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12544 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12545 (fs_free_face_fontset, fontset_font_pattern)
12546 (face_suitable_for_char_p, face_for_char)
12547 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12548 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12549 (FS_LOAD_FACE_FONT): New macro.
12550
12551 * fontset.c: All codes rewritten or adjusted for the change of
12552 fontset implementation. Now fontset is represented by char table.
52283633
SM
12553 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12554 Variables removed.
9111d4b5 12555 (my_strcasecmp): Function removed.
52283633 12556 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12557 (AREF, ASIZE): New macros.
52283633
SM
12558 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12559 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12560 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12561 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12562 (fontset_id_valid_p, font_family_registry, fontset_name)
12563 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12564 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12565 New functions.
12566 (fs_load_font): New arg FACE. Caller changed.
12567 (fs_query_fontset): Argument changed. Caller changed.
12568 (Fquery_fontset): call fs_query_fontset.
12569 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12570 Functions removed.
52283633
SM
12571 (clear_fontset_elements, check_registry_encoding)
12572 (check_fontset_name): New functions.
9111d4b5
KH
12573 (syms_of_fontset): Set char-table-extra-slots property of fontset
12574 to 3. Staticpro and initialize Vfontset_table and
12575 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12576
12577 * frame.h (struct frame): Member `fontset_data' removed.
12578 (FRAME_FONTSET_DATA): Macro removed.
12579
12580 * frame.c (make_frame): Don't allocate f->fontset_data.
12581 (Fdelete_frame): Don't free f->fontset_data.
12582
6c4bfdc0
KH
12583 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12584
9111d4b5
KH
12585 * xdisp.c (charset_at_position): Function removed.
12586 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12587 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12588 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12589 Likewise.
12590 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12591 FACE_FOR_CHARSET.
52283633
SM
12592 (get_next_display_element, append_space)
12593 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12594
12595 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12596 Variables removed.
12597 (clear_font_table, frame_update_line_height, load_face_font):
12598 Adjusted for the change of fontset implementation.
12599 (load_face_fontset_font): Function removed.
12600 (pixel_point_size): New function.
12601 (font_list): Argument type changed. Caller changed.
12602 (LFACE_FONT): New macro.
12603 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12604 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12605 Lisp_Object. Determine the font name by actually loading a font
12606 by the specified pattern. Set LFACE_FONT (lface) to the specified
12607 pattern. Even if a font is not found, don't try alternatives.
12608 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12609 (set_font_frame_param): If `font' is specified in lface, use it.
12610 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12611 (lface_same_font_attributes_p): Likewise.
12612 (make_realized_face): Arguent changed. Caller changed. Set
12613 face->ascii_face to face itself.
12614 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12615 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12616 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12617 (free_realized_multibyte_face): New function.
12618 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12619 changed. Caller changed.
12620 (try_font_list): Argument type changed.
12621 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12622 (choose_face_font): Argument changed. Handle fontset properly.
12623 (choose_face_fontset_font): Function removed.
12624 (realize_default_face, realize_named_face): Don't remove the
12625 former face here.
12626 (realize_face): Argument changed. Caller changed. Remove face
52283633 12627 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12628 (realize_x_face): Argument changed. Caller changed. For a
12629 multibyte character, share fontset with base_face. For a single
52283633 12630 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12631 (realize_tty_face): Argument changed. Caller changed.
12632 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12633 (face_at_buffer_position): Don't check multibyte_p for returning
12634 DEFAULT_FACE_ID.
12635 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12636 FACE_SUITABLE_FOR_CHARSET_P.
12637 (syms_of_xfaces): Remove code for Qx_charset_registry and
12638 Vface_default_registry.
12639
6c4bfdc0
KH
12640 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12641 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12642 (x_per_char_metric): Don't try FONT->default_char. Even if
12643 pcm->width is zero, glyph bits may exist.
12644 (x_encode_char): Always initialize char2b->byte1.
12645 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12646 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12647 (x_append_glyph): Set glyph->glyph_not_available_p.
12648 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12649 it->charset. Handle the case that per char metric is not
12650 available. If it->multibyte_p is zero and it->c is a multibyte
12651 character, convert it to a unibyte character.
12652 (struct glyph_string): Delete member `charset'.
12653 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12654 the case that per char metric is not available correctly.
12655 (x_fill_glyph_string): Handle the case that the specific glyph is
12656 not available correctly.
12657 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12658 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12659 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12660 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12661 fontset. Don't call FS_LOAD_FONT.
12662
12663 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12664 (x_create_tip_frame): Likewise.
12665 (Fx_close_connection): Free full_name of font_info.
12666
12667 * fns.c (optimize_sub_char_table): New function.
12668 (Foptimize_char_table): New function.
12669 (syms_of_fns): Defsubr Soptimize_char_table.
12670
b33dd3b0
GM
126712000-03-20 Gerd Moellmann <gerd@gnu.org>
12672
12673 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12674 only if buffer is displayed in some window.
12675
12676 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12677 (try_window_reusing_current_matrix): Don't call scroll run
12678 function if run's current and desired position are the same;
12679 this prevents cursor flickering.
12680
4e8a9132
SM
126812000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12682
12683 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12684
12685 * regex.c (RE_STRING_CHAR): New macro.
12686 (GET_CHAR_AFER_2): Remove.
12687 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12688 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12689 (print_partial_compiled_pattern, re_compile_fastmap)
12690 (re_match_2_internal): Remove on_failure_jump_exclusive.
12691 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12692 optimization only need to work for * (ie. can use of_keep_string_jump).
12693 Remove the special case for .*\n since it is now covered by the general
12694 optimization.
12695 (re_search_2): Don't bother with `room'.
12696 (skip_one_char): New function.
12697 (skip_noops): Simplify since `memory' is not needed any more.
12698 (mutually_exclusive_p): Restructure slightly to use `switch' and
12699 add handling for "all" remaining cases.
12700 (re_match_2_internal): Change on_failure_jump_smart to use
12701 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12702 rather than on_failure_jump_exclusive.
12703
2136fdd4
GM
127042000-03-19 Gerd Moellmann <gerd@gnu.org>
12705
12706 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12707 number of bits per RGB because it's everywhere used as the depth
12708 of the visual.
12709
12710 * term.c (calculate_costs): Remove code dealing with X frames.
12711
18e21ce8 127122000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12713
12714 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12715
d7b511c4
GM
127162000-03-18 Gerd Moellmann <gerd@gnu.org>
12717
12718 * lread.c (read_integer): Unread the last char not consumed.
12719
16b5d424
GM
127202000-03-17 Gerd Moellmann <gerd@gnu.org>
12721
12722 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12723 which are in the process of being deleted.
16b5d424 12724
1fa28578
GM
127252000-03-16 Gerd Moellmann <gerd@gnu.org>
12726
83488cce
GM
12727 * Makefile.in (mostlyclean): Add `*.core'.
12728 (clean): Add `bootstrap-emacs'.
12729
1fa28578
GM
12730 * lread.c (read_integer): New function.
12731 (read1): Support read syntax #o, #x, #b, #r.
12732
99633e97
SM
127332000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12734
1fa28578
GM
12735 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12736 make sure POINTER_TO_OFFSET gives the same value before and after
12737 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12738 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12739 (debug): Now only active if > 0 rather than if != 0.
12740 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12741 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12742 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12743 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12744 (store_op1, store_op2, insert_op1, insert_op2)
12745 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12746 (group_in_compile_stack): Move to after its arg's types are
12747 declared and add a prototype.
99633e97 12748 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12749 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12750 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12751 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12752 indentation of the greedy-op and shy-group code.
99633e97
SM
12753 (at_(beg|end)line_loc_p): Fix argument's types.
12754 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12755 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12756 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12757 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12758 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12759 QUIT unconditionally.
99633e97 12760
699238d9
GM
127612000-03-15 Gerd Moellmann <gerd@gnu.org>
12762
12763 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12764 a sole completion.
12765
12766 * process.c (send_process): Add a hint that the function
12767 can call Lisp code to its comment.
12768
12769 * lread.c (load_dangerous_libraries): New variable.
12770 (Vbytecomp_version_regexp): New variable.
12771 (safe_to_load_p): New function.
12772 (Fload): Handle files not compiled with Emacs specially.
12773 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12774
34e23e5a
GM
127752000-03-14 Gerd Moellmann <gerd@gnu.org>
12776
9c763cca
GM
12777 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12778
12779 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
12780 support functions only if HAVE_X11R6_XIM is defined.
12781 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
12782
12783 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
12784
12785 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 12786 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
12787 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
12788
12789 * config.in (HAVE_X_I18N): Moved here from xterm.h.
12790 (HAVE_X11R6_XIM): Define.
12791
12792 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
12793
34e23e5a
GM
12794 * xterm.c (x_term_init): Add support for X resource `synchronous'.
12795 If set, call XSynchronize.
12796
66f0296e
SM
127972000-03-13 Stefan Monnier <monnier@cs.yale.edu>
12798
34e23e5a
GM
12799 * regex.c: Declare a new type `re_char' used throughout the code
12800 for the string char type. It's `const unsigned char' to match the
12801 rest of Emacs. Consistently make sure all pointers to strings use
52283633 12802 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 12803 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
12804 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
12805 code duplication.
66f0296e
SM
12806
12807 * charset.h (GET_CHAR_AFTER_2): Remove.
12808 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
12809
854a025c
KR
128102000-03-12 Ken Raeburn <raeburn@gnu.org>
12811
12812 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
12813 variable before the invocation of YMF_PASS_LDFLAGS, in case both
12814 of them try to use backquotes.
12815
b9d2c7e2
DL
128162000-03-12 Dave Love <fx@gnu.org>
12817
12818 * unexelf.c: Restore changes of 1999-10-19.
12819 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
12820 fix its type and alignment; copy it from current process.
12821
5e5dff44
GM
128222000-03-12 Gerd Moellmann <gerd@gnu.org>
12823
9b2f3c38
GM
12824 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
12825 has been found. Fix bug not computing timer's predecessor.
12826
427ec082 12827 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
12828 file name.
12829
e1cff360
GM
12830 * window.c (Fsave_window_excursion): Doc fix.
12831
52283633 12832 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 12833
e411ce4b
EZ
128342000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
12835
12836 * msdos.c (vga_installed): New function, code moved from
12837 dos_set_window_size.
12838 (Qbar, Qcursor_type, outside_cursor): New variables.
12839 (syms_of_msdos): Intern and staticpro them.
12840 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
12841 shape used outside Emacs when called for the first time.
12842 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
12843 cursor shape used outside Emacs.
12844 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
12845 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
12846 type has changed.
12847 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
12848 parameters specify the cursor. Make qreverse a global
12849 variable (renamed to Qreverse).
12850
80460654
GM
128512000-03-09 Gerd Moellmann <gerd@gnu.org>
12852
12853 * fns.c (Fy_or_n_p): Cancel busy-cursor.
12854
95cd4c40
SM
128552000-03-08 Stefan Monnier <monnier@cs.yale.edu>
12856
12857 This is a big redesign of failure-stack and register handling, prompted
12858 by bugs revealed when trying to add shy-groups. Overall, what happened
12859 is that loops are now structured a little differently, groups can be
12860 shy and the code is a little simpler.
12861
12862 * regex.h: Update the copyright.
12863 (RE_SHY_GROUPS): New value.
12864 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
12865 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
12866
80460654
GM
12867 * regex.c (enum re_opcode_t): Remove jump_past_alt,
12868 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
12869 on_failure_jump_(exclusive, loop and smart). Also fix the comment
12870 for (start|stop)_memory since they now only take one argument (the
12871 second has becomes unnecessary).
52283633 12872 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
12873 (print_compiled_pattern): Use %ld to printf long ints and flush to
12874 make debugging a little easier.
95cd4c40
SM
12875 (union fail_stack_elt): Make the integer unsigned.
12876 (struct fail_stack_type): Add a `frame' element.
12877 (INIT_FAIL_STACK): Init `frame' as well.
12878 (POP_PATTERN_OP): New macro for re_compile_fastmap.
12879 (DEBUG_PUSH, DEBUG_POP): Remove.
12880 (NUM_REG_ITEMS): Remove.
12881 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
12882 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
12883 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 12884 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
12885 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
12886 New macros.
80460654
GM
12887 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
12888 address pushed is not the destination of the jump but the source
12889 of it instead.
95cd4c40
SM
12890 (NUM_FAILURE_ITEMS): Remove.
12891 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
12892 registers before the actual failure point). Don't hardcode any
12893 meaning for str==NULL anymore.
95cd4c40 12894 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
12895 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
12896 Remove.
95cd4c40
SM
12897 (REG_UNSET_VALUE): Use NULL (why not?).
12898 (compile_range): Remove declaration since it doesn't exist.
12899 (struct compile_stack_elt_t): Remove inner_group_offset.
12900 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
12901 (regex_grow_registers): Remove dead code.
12902 (FIXUP_ALT_JUMP): New macro.
80460654
GM
12903 (regex_compile): Add shy-groups Change loops to use
12904 on_failure_jump_smart&jump instead of
12905 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
12906 initial (dummy_failure_)jump. Remove c1_base (looks like unused
12907 variable to me). Use `jump' instead of `jump_past_alt' and don't
12908 bother with push_dummy_failure in alternatives since it is now
12909 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
12910 emacs' for (re)allocating the stack.
12911 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
12912 from loop when bufp->can_be_null rather than jumping to `done'.
12913 Avoid jumping backwards so as to ensure termination. Use
12914 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
12915 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 12916 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
12917 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
12918 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
12919 (lowest_active_reg, highest_active_reg)
12920 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
12921 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
12922 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
12923 variables. Push register (in `start_memory') on the stack rather
12924 than storing it in old_reg(start|end). Remove the cycle detection
12925 from `stop_memory', replaced by the use of on_failure_jump_loop
12926 for greedy loops. Add code for the new on_failure_jump_<foo>.
12927 Remove ad-hoc code in `on_failure_jump' to push more registers in
12928 the case of a loop. Take out code from `maybe_pop_jump' into
12929 separate functions and adapt it to the semantics of
12930 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
12931 and push_dummy_failure. Remove dummy_failure handling and
12932 handling of `failures to jump to on_failure_jump' (this last one
12933 was already dead code, it seems).
12934 (group_match_null_string_p, alt_match_null_string_p)
12935 (common_op_match_null_string_p): Remove.
95cd4c40 12936
7397acc4
DL
129372000-03-08 Dave Love <fx@gnu.org>
12938
12939 * config.in: Don't depend on __STDC__ for volatile.
12940 Add POINTER_TYPE, PTR, PROTOTYPES.
12941
12942 * hftctl.c, strftime.c: Use PROTOTYPES.
12943 * eval.c (find_handler_clause): Likewise.
12944
12945 * mem-limits.h: Use POINTER_TYPE.
12946
12947 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
12948 (memory_warnings): Declare using POINTER_TYPE.
12949
5e91ff9e
GM
129502000-03-08 Gerd Moellmann <gerd@gnu.org>
12951
feab4fba
GM
12952 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
12953
52283633 12954 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 12955
5e91ff9e
GM
12956 * xfns.c: Remove obsolete code in #if 0.
12957 (Fx_focus_frame): New function.
12958
a735b7e1
KH
129592000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
12960
12961 * coding.c (coding_category_name): Add coding-category-utf-8,
12962 coding-category-utf-16-be, coding-category-utf-16-le.
12963 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
12964 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
12965 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
12966 (detect_coding_utf_8): New function.
12967 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
12968 UTF_16_LOW_SURROGATE_P): New macros.
12969 (detect_coding_utf_16): New function
12970 (detect_coding_mask): When priorities are specified, skip any
12971 categories that have `nil' coding-system. Fix bug of returning
12972 wrong mask when PRIORITIES is specified and detect_coding_XXX()
12973 returns a mask not set in PRIORITIES.
12974 (detect_eol_type_in_2_octet_form): New function.
12975 (detect_eol): selects detect_eol_type_XXX to call according to
12976 cooding->category_idx.
12977 (detect_coding_system): Remove `nil' coding-system in the result.
12978 (Fupdate_coding_systems_internal): Update all coding-categories.
12979
52283633
SM
12980 * coding.h (CODING_CATEGORY_IDX_UTF_8)
12981 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
12982 New macros.
12983 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
12984 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
12985 (CODING_CATEGORY_IDX_UTF_16_LE)
12986 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
12987 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
12988 (CODING_CATEGORY_MASK_ANY): Include the above macros.
12989 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
12990
9994cc69
GM
129912000-03-07 Gerd Moellmann <gerd@gnu.org>
12992
e9b4e5ff
GM
12993 * doc.c (Fdocumentation_property): If value is not a string,
12994 and doesn't refer to etc/DOC, evaluate it to obtain a string.
12995
f7daf1e1
GM
12996 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
12997 close the display with XtCloseDisplay. This caused a bus error
12998 on OpenWindows.
12999
9994cc69
GM
13000 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13001 complete but not unique.
13002
4336c705
GM
130032000-03-06 Gerd Moellmann <gerd@gnu.org>
13004
18bb0684
GM
13005 * process.c (send_process): Remove local variable `procname' that
13006 might become invalid when a GC happens. Instead, access the
13007 process name slot directly.
13008
4336c705
GM
13009 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13010 orig_height if set.
13011
13012 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13013 orig_height if set.
13014
515d0d0e
EZ
130152000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13016
13017 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13018 glyph matrices have been freed.
13019
100b3cbb
GM
130202000-03-05 Gerd Moellmann <gerd@gnu.org>
13021
50df5e5a 13022 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13023 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13024
13025 * xfns.c (QCdata): Moved to xdisp.c.
13026
13027 * xdisp.c (QCdata): Moved here from xfns.c.
13028 (syms_of_xdisp): Initialize QCdata.
13029
13030 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13031
13032 * window.c (coordinates_in_window): Use
13033 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13034 FRAME_INTERNAL_BORDER_WIDTH.
13035
100b3cbb 13036 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13037 it is obviously invalid.
100b3cbb
GM
13038
13039 * xterm.c (x_term_init): Create a colormap if not using the
13040 default visual.
13041
13042 * xterm.h (select_visual): Change prototype.
13043
13044 * xfns.c (select_visual): Rewritten. Recognize user-specified
13045 visual classes.
13046 (visual_classes): New variable.
13047
64d739c4
GM
130482000-03-04 Gerd Moellmann <gerd@gnu.org>
13049
13050 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13051 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13052 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13053 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13054 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13055 XtNcolormap resources.
13056 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13057 (Fx_create_frame): Initialize color members of x_output structure.
13058 (xpm_load): Pass colormap to XPM lib.
13059
13060 * xfaces.c (x_free_colors): Access colormap of frame using
13061 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13062 when default colormap is used.
13063
13064 * xterm.c (x_term_init): Set Colormap member of x_display_info
13065 structure. Copy colormap if resource `privateColormap' is
13066 specified (PseudoColor only).
13067 (x_setup_relief_color): Access colormap of frame using
13068 FRAME_X_COLORMAP.
13069
13070 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13071 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13072
c3cee013
JR
130732000-03-04 Jason Rumney <jasonr@gnu.org>
13074
13075 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13076 other non-platform-specific equivalents.
64d739c4 13077 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13078 specific functions and macros as their w32 equivalents where
13079 non-platform-specifics are not available.
13080 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13081 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13082 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13083 (frame_update_line_height): Use macros to access f->output_data.
13084 (defined_color): Remove FIXME comments; fixed.
13085 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13086 into #ifdef blocks. Add WINDOWSNT blocks.
13087 (Fx_list_fonts): Use macros for accessing font data.
13088 (set_lface_from_font_name): Different default fonts for X and
13089 WINDOWSNT.
13090 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13091 scalable for backward compatibility.
64d739c4 13092 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13093 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13094
64d739c4 13095 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13096 syms_of_w32faces.
13097
13098 * makefile.nt (w32faces.obj): Remove.
13099 (xfaces.obj): Add.
13100
807cc41c
JR
131012000-03-03 Jason Rumney <jasonr@gnu.org>
13102
13103 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13104 correct parameters.
13105
0007072a
KR
131062000-03-03 Ken Raeburn <raeburn@gnu.org>
13107
13108 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13109 standard ELF definitions here if the system header does not.
13110
71a6ba55
GM
131112000-03-03 Gerd Moellmann <gerd@gnu.org>
13112
13113 * xterm.c (PER_CHAR_METRIC): Removed.
13114 (x_per_char_metric_1, x_default_char): New functions.
13115 (x_per_char_metric): If font's default char is invalid, return
13116 metrics of a suitably chosen usable default char.
13117 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13118 char, replace occurrences of unprintable chars with a suitably
13119 chosen usable default char.
71a6ba55 13120
900fa1f1
GM
131212000-03-02 Gerd Moellmann <gerd@gnu.org>
13122
42f55fe0
GM
13123 * xterm.c (note_mouse_highlight): Return quickly if frame's
13124 glyph matrices have been freed.
13125
13126 * dispnew.c (free_glyphs): Block input while freeing matrices.
13127
900fa1f1
GM
13128 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13129
52283633
SM
13130 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13131 Use x_free_colors.
900fa1f1
GM
13132
13133 * dispextern.h (x_free_colors): Add prototype.
13134
13135 * xfaces.c (x_free_colors): New function.
13136 (unload_color, free_face_colors): Use it.
13137
2f950292
EZ
131382000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13139
13140 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13141
13142 * window.c [MSDOS]: Include msdos.h.
13143
54d04320
DL
131442000-03-02 Dave Love <fx@gnu.org>
13145
13146 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13147
13148 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13149 set C_OPTIMIZE_SWITCH for gcc.
13150
0ba93ac4
KH
131512000-03-02 Kenichi Handa <handa@etl.go.jp>
13152
13153 * coding.c (coding_save_composition): Be sure to allocate
13154 composition data area in coding even if there's no composition in
13155 the current run.
13156
a2bc11d4
JR
131572000-03-01 Jason Rumney <jasonr@gnu.org>
13158
13159 * w32term.c: Equivalent changes to those made to xterm.c on
13160 2000-02-25 and 2000-02-24.
13161
13162 * w32fns.c: Equivalent changes to those made to xfns.c on
13163 2000-02-25 and 2000-02-21.
13164
13165 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13166 correct line-end convention is followed.
13167
13168 * w32menu.c [HAVE_BOXES]: Remove #undef.
13169 (single_keymap_panes): Remove code for simulating checkmarks.
13170 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13171 Remove code for drawing simulated checkmarks.
13172 (w32_menu_show): make unibyte help string correctly.
13173 (add_menu_item): draw standard Windows checkmarks. Draw radio
13174 buttons as radio buttons if possible.
13175
72d19d75
GM
131762000-03-01 Gerd Moellmann <gerd@gnu.org>
13177
2df636f4
GM
13178 * sysdep.c (start_of_text): Don't define this function for NetBSD
13179 with ELF.
13180
427ec082 13181 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13182 Don't define.
13183 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13184 (LINKER): Don't undef if __NetBSD__ is defined.
13185
13186 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13187
13188 * fileio.c [__NetBSD__]: Define `unix'.
13189
72d19d75
GM
13190 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13191
ed4d0512
GM
131922000-02-29 Gerd Moellmann <gerd@gnu.org>
13193
50b1039f
GM
13194 * atimer.c (start_atimer): Don't abort when timers are stopped.
13195 (append_atimer_lists): New function.
13196 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13197 arbitrary lists of stopped and running atimers.
13198
ed4d0512
GM
13199 * atimer.c (cancel_atimer): Handle canceling an atimer when
13200 some timers are stopped.
13201
13202 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13203 after canceling it.
13204
13205 * fns.c (maybe_resize_hash_table): Handle case of new size
13206 coming out as being the same as old size.
13207
387023ee
JR
132082000-02-27 Jason Rumney <jasonr@gnu.org>
13209
13210 * makefile.nt: Add atimer.h to dependencies.
13211 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13212 * w32console.c: Only disable window system features for dispextern.h
13213 (initialize_w32_display): Build a display info for the console.
13214 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13215 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13216 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13217 as 2 button mice.
13218 * w32gui.h (struct W32FontStruct): Revert last change after change
13219 to xdisp.c.
13220 * w32menu.c (single_submenu): Set up help string.
13221 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13222 (w32_dialog_show): Set up help string.
13223 * w32term.c (w32_display_info_for_display): Remove unused function.
13224 (w32_draw_bitmap): Use pre-built bitmaps.
13225 (w32_initialize_display_info): New function to initialize parts of
13226 display info that are common to both GUI and console frames.
13227 (w32_term_init): Use w32_initialize_display_info. Do not set
13228 Vw32_num_mouse_buttons here, as it is not called for console
13229 frames. Build bitmaps for indicating truncated lines etc.
13230 (x_delete_display): Destroy pre-built bitmaps.
13231 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13232 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13233
4516715a
DL
132342000-02-27 Dave Love <fx@gnu.org>
13235
13236 * lisp.h: Add a bunch of prototypes.
13237
171ca836
KH
132382000-02-26 Kenichi Handa <handa@etl.go.jp>
13239
13240 * keyboard.c (read_char): Set `usec' correctly.
13241
4013921d
KH
132422000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13243
13244 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13245 `lambda', set reg[RRR] to the map index.
13246 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13247 reg[RRR] to 0. Otherwise, set it to -1.
13248
9244a058
GM
132492000-02-25 Gerd Moellmann <gerd@gnu.org>
13250
2df636f4 13251 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13252
18e21ce8 132532000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13254
f43d79c1
GM
13255 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13256 and contains a `:', prepend `/:'.
13257
13258 * window.c (select_window_1): If selected_window is nil,
13259 don't "swap out" the buffer's point.
13260 (Fset_window_configuration): Set selected_window to nil
13261 before calling Fselect_window.
13262 (unshow_buffer): Don't set point in buffer from window's point
13263 if another more recently selected window also shows the buffer.
13264
bed0c171
GM
132652000-02-25 Gerd Moellmann <gerd@gnu.org>
13266
449c3c52
GM
13267 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13268
f5b58615
GM
13269 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13270 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13271 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13272 New variables.
f5b58615
GM
13273 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13274 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13275 (hide_busy_cursor): New functions.
13276 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13277
13278 * minibuf.c (read_minibuf): Cancel busy-cursor.
13279
13280 * keyboard.c (command_loop_1): Call start_busy_cursor before
13281 Fcommand_execute and cancel_busy_cursor after it.
13282 (timer_check): Remove busy-cursor code.
13283 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13284 cursor timer.
13285
13286 * process.c (wait_reading_process_input): Remove busy-cursor code.
13287
13288 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13289 Fx_hide_busy_cursor.
13290
13291 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13292 Remove prototyoes.
13293 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13294
13295 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13296
13297 * xterm.c (XTread_socket): Remove busy-cursor code.
13298
4eb8436f
GM
13299 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13300 (build_frame_matrix_from_leaf_window): Put code handling
13301 glyph row's not being a slice of a frame row in #if 0.
13302 (sync_window_with_frame_matrix_rows): New function.
13303 (frame_row_to_window): New function.
13304 (mirror_line_dance): Handle copies between windows.
13305
3cb65b0e
GM
13306 * lread.c (Fload): Use `xfree' instead of `free'.
13307 (init_obarray): Use `xmalloc' instead of `malloc'.
13308
bed0c171
GM
13309 * window.c (Fset_window_buffer): Set WINDOW to the window
13310 after decoding.
2add4349
GM
13311 (coordinates_in_window): Take frame's internal border width
13312 into account.
bed0c171 13313
42088c12
GM
133142000-02-24 Gerd Moellmann <gerd@gnu.org>
13315
13316 * xterm.c (x_display_and_set_cursor): Display cursor of
13317 non-selected windows depending on the setting of
13318 cursor_in_non_selected_windows.
13319
13320 * xdisp.c (cursor_in_non_selected_windows): New variable.
13321 (syms_of_xdisp): DEFVAR_BOOL it.
13322
d1e103b2
GM
133232000-02-23 Gerd Moellmann <gerd@gnu.org>
13324
723e779c
GM
13325 * data.c (Fstring_to_number): If number is greater than what
13326 fits into an integer, return a float.
13327
d1e103b2
GM
13328 * eval.c (specbind): Remove references to
13329 keyword_symbols_constant_flag.
13330
13331 * data.c (keyword_symbols_constant_flag): Removed.
13332 (Fmakunbound, set_internal, syms_of_data): Remove references to
13333 keyword_symbols_constant_flag.
13334
13335 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13336
214f877f
KH
133372000-02-23 Kenichi Handa <handa@etl.go.jp>
13338
13339 * syntax.c (multibyte_syntax_as_symbol): New variable.
13340 (syms_of_syntax): Declare it as a Lisp variable.
13341 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13342 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13343 nonzero, treat all multibyte characters as symbol.
52283633 13344 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13345
130adcb7
EZ
133462000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13347
3cb65b0e 13348 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13349 a deleted frame.
130adcb7 13350
17cbbf95
GM
133512000-02-21 Gerd Moellmann <gerd@gnu.org>
13352
13353 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13354
13355 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13356 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13357
beb0bc36
DL
133582000-02-21 Dave Love <fx@gnu.org>
13359
13360 * frame.c (Vmouse_position_function): New variable.
13361 (Fmouse_position): Use it.
13362 (syms_of_frame): Install it.
13363
13364 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13365
1d92afcd
GM
133662000-02-20 Gerd Moellmann <gerd@gnu.org>
13367
13368 * fileio.c (Finsert_file_contents): Unbind the binding of
13369 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13370
13371 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13372 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13373 (specbind, unbind_to): Handle most common case of non-constant
13374 symbol with trivial value specially.
13375
13376 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13377
18e21ce8 133782000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13379
13380 * data.c (Fmake_variable_buffer_local): Doc fix.
13381 Init found_for_buffer to 0.
13382 (Fmake_variable_frame_local): If the variable has already
13383 been buffer-local, set the check_frame field.
13384
1d4311c3
EZ
133852000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13386
13387 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13388 produced for CODING_MODE_LAST_BLOCK requires.
13389
2dc95ddd
DL
133902000-02-18 Dave Love <fx@gnu.org>
13391
13392 * keyboard.c (echo_keystrokes): Remove declaration.
13393 (Vecho_keystrokes) New variable.
13394 (read_char, record_menu_key, read_key_sequence): Use it to allow
13395 use of float value.
13396 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13397
13398 * lread.c: Undef feature selection macros before defining.
13399
f0930f35
GM
134002000-02-18 Gerd Moellmann <gerd@gnu.org>
13401
13402 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13403 for symbols other than the symbol in question.
13404
e3d4de90
DL
134052000-02-17 Dave Love <fx@gnu.org>
13406
13407 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13408
0b378936
GM
134092000-02-17 Gerd Moellmann <gerd@gnu.org>
13410
d621caf7
GM
13411 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13412
0b378936
GM
13413 * alloc.c (enum mem_type): Compile unconditionally.
13414
3b451f74
EZ
134152000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13416
13417 * xfaces.c (tty_defined_color): Don't return faulire indication
13418 for unspecified-fg and unspecified-bg pseudo-colors.
13419
10689a01
GM
134202000-02-17 Gerd Moellmann <gerd@gnu.org>
13421
1216f5e4
GM
13422 * alloc.c (mark_object): Don't mark symbol names in pure space.
13423 (gc_sweep): Don't unmark symbol names in pure space.
13424
13425 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13426 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13427 [GC_MARK_STACK]: New defines.
427ec082 13428 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13429 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13430
13431 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13432
13433 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13434 allocate_buffer instead of xmalloc.
13435
13436 * alloc.c (toplevel): Include setjmp.h.
13437 (PURE_POINTER_P): New define.
13438 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13439 (Vdead) [GC_MARK_STACK]: New variable.
13440 (lisp_malloc): Add parameter TYPE, call mem_insert if
13441 GC_MARK_STACK is defined.
13442 (allocate_buffer): New function.
427ec082 13443 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13444 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13445 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13446 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13447 (MEM_NIL) [GC_MARK_STACK]: New define.
13448 (struct mem_node) [GC_MARK_STACK]: New structure.
13449 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13450 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13451 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13452 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13453 (mark_stack) [GC_MARK_STACK]: New functions.
13454 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13455 (clear_marks): Removed.
13456 (gc_sweep): Set free conses' car, free floats' type, free
13457 symbols' function to Vdead. Use lisp_free to free buffers.
13458 (init_alloc_once): Initialize Vdead.
13459 (survives_gc_p): Return non-zero for pure objects.
13460
13461 * alloc.c: Add comments throughout the file.
13462
2503c8b1
GM
13463 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13464 that unblocks alarms.
13465
8389e1e2
GM
13466 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13467 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13468 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13469
10689a01 13470 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13471
bfc17d18
KH
134722000-02-17 Kenichi Handa <handa@etl.go.jp>
13473
4a09dee0
KH
13474 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13475 avoid infinite error signaling. Allocate sufficient memory for
13476 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13477
2b927d02
SM
134782000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13479
13480 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13481 depends on the previous behavior.
13482
b49cb764
GM
134832000-02-16 Gerd Moellmann <gerd@gnu.org>
13484
13485 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13486
99e95407
GM
134872000-02-15 Gerd Moellmann <gerd@gnu.org>
13488
13489 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13490
13491 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13492 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13493 write(2).
13494
6ffd3cf7
RS
134952000-02-15 Richard M. Stallman <rms@gnu.org>
13496
13497 * data.c (set_internal): Don't make variable buffer-local
13498 if within a let-binding for the same buffer.
13499 (let_shadows_buffer_binding_p): New function.
13500
13501 * eval.c (specbind): For buffer-local value,
13502 record the current buffer also.
13503 (unbind_to): Cope with that change.
13504
cad53475
GM
135052000-02-15 Gerd Moellmann <gerd@gnu.org>
13506
13507 * window.c (Fsave_window_excursion): Doc fix.
13508
1aa963c8
SM
135092000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13510
13511 * syntax.c (back_comment): Make sure we only consider comment-starters
13512 of the relevant style and return -1 in case of a failure to find the
13513 beginning of the comment.
13514 (Fforward_comment): If back_comment fails, go back to the position just
13515 after the comment-end.
13516 (scan_lists): Add comment describing a very minor bug.
13517
b9b84fd3
SM
135182000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13519
13520 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13521 `completion-regexp-list' in the docstring.
13522
3a28db80
DL
135232000-02-14 Dave Love <fx@gnu.org>
13524
13525 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13526
fb4a568d
SM
135272000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13528
13529 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13530 to Emacs' syntax. Also fix the comment about set/not-set meanings
13531 since Emacs syntax is not the value 0 any more.
13532 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13533 since it's now part of RE_SYNTAX_EMACS.
13534
1063ebb5
DL
135352000-02-12 Dave Love <fx@gnu.org>
13536
52283633 13537 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13538
fb07a302
GM
135392000-02-12 Gerd Moellmann <gerd@gnu.org>
13540
13541 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13542
aaf2320c
DL
135432000-02-12 Dave Love <fx@gnu.org>
13544
13545 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13546
13547 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13548 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13549 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13550
13551 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13552
13553 * s/nextstep.h: Don't define HAVE_ALLOCA.
13554
13555 * config.in: Add vfork bits.
13556
eedf8bde
GM
135572000-02-12 Gerd Moellmann <gerd@gnu.org>
13558
13559 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13560 unwind function to undo the effect of stopping atimers.
13561
52283633 13562 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13563
13564 * atimer.c (stopped_atimers): New variable.
13565 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13566 New functions.
13567
13568 * atimer.h (stop_other_atimers, run_all_atimers)
13569 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13570
eedf8bde
GM
13571 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13572
8476c2f8
KR
135732000-02-11 Ken Raeburn <raeburn@gnu.org>
13574
13575 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13576 library may depend on jpeg.
13577 (atimer.o): Depends on atimer.c.
13578
0e85e4a3
KH
135792000-02-11 Kenichi Handa <handa@etl.go.jp>
13580
13581 * insdel.c (del_range_1): Call update_compositions.
13582 (del_range_both): Call update_compositions just once..
13583
97fa0cc8
DL
135842000-02-10 Dave Love <fx@gnu.org>
13585
13586 * xfns.c (create_frame_xic): Fix initialization of automatic
13587 aggregates for pcc.
13588
25566a3c
KH
135892000-02-09 Kenichi Handa <handa@etl.go.jp>
13590
13591 * ccl.c (CCL_MAKE_CHAR): New macro.
13592 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13593 registers by CCL_MAKE_CHAR before calling translate_char.
13594 <CCL_TranslateCharacterConstTbl> Likewise.
13595
69da54ba
DL
135962000-02-08 Dave Love <fx@gnu.org>
13597
13598 * lread.c (__EXTENSIONS__): Define.
13599
f7136ee8
GM
136002000-02-08 Gerd Moellmann <gerd@gnu.org>
13601
13602 * puresize.h (BASE_PURESIZE): Increase to 650000.
13603
7768790b
EZ
136042000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13605
13606 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13607 the help message.
13608
38fd211b
EZ
136092000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13610
13611 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13612 md, mh, mb, mr, and me to the fake termcap entry.
13613
66e4690f
KR
136142000-02-06 Ken Raeburn <raeburn@gnu.org>
13615
13616 * sound.c (sound_cleanup): Don't call device close routine if the
13617 function pointer is null.
13618
a75dfea0
AI
136192000-02-06 Andrew Innes <andrewi@gnu.org>
13620
13621 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13622 around image definitions and prototypes.
13623 (gamma_correct) [WINDOWSNT]: New prototype.
13624
13625 * w32term.c (x_make_frame_visible): Replace call to
13626 input_poll_signal with poll_for_input.
13627
13628 * window.c [WINDOWSNT]: Include w32term.h.
13629
13630 * xdisp.c [WINDOWSNT]: Include w32term.h.
13631
13632 * makefile.nt: Add dependencies on w32gui.h.
13633 (OBJ1): Include atimer.obj.
13634 ($(BLD)\atimer.obj): New dependency rule.
13635
13636 * w32.c (sigmask): New function (does nothing).
13637 (sigunblock): Ditto.
13638
13639 * frame.c [WINDOWSNT]: Include w32term.h.
13640
13641 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13642
13643 * lread.c (syms_of_lread): Fix literal newlines.
13644
13645 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13646 the string constant limit (2048 bytes) in MSVC.
13647 (main): Ditto.
13648
59ddecde
GM
136492000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13650
52283633 13651 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13652 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13653 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13654 dispatch the event.
13655
07590973
DL
136562000-02-04 Dave Love <fx@gnu.org>
13657
13658 * fileio.c: Remove some unused vars.
13659 (_GNU_SOURCE): Define (for euidaccess).
13660
13661 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13662
13663 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13664 gcpro1, gcpro2.
13665 (read_minibuf): Deal with allow_props correctly.
13666
649351f9
EZ
136672000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13668
13669 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13670
66e4690f 136712000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13672
13673 * search.c (compile_pattern): If a cache entry has a nil regexp,
13674 fill in that entry instead of clobbering a previously cached
13675 string regexp.
13676
66e4690f 136772000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13678
13679 * puresize.h (BASE_PURESIZE): Increase to 610000.
13680
d240a249
GM
136812000-02-02 Gerd Moellmann <gerd@gnu.org>
13682
13683 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13684 can GC.
13685
ca91fb26
KH
136862000-02-02 Kenichi Handa <handa@etl.go.jp>
13687
25660570
KH
13688 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13689 instead of incrementing ic directly.
13690 <CCL_WriteExprConst> Likewise.
13691 <ccl_set_expr>: Set ic to jump_address.
13692
ca91fb26
KH
13693 * fileio.c (e_write): Fix the handling of
13694 CODING_FINISH_INSUFFICIENT_SRC.
13695
2ede9689
DL
136962000-02-01 Dave Love <fx@gnu.org>
13697
13698 * editfns.c (Fpropertize): Doc fix.
13699
13700 * process.c (Fstart_process): Doc fix.
13701
13702 * eval.c: Fix various doc strings not to duplicate information
13703 from help-manyarg-func-alist.
13704
52283633 13705 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13706
13707 * doc.c (Vhelp_manyarg_func_alist): New variable.
13708 (Fdocumentation): Use it.
13709 (syms_of_doc): Define it.
13710
b6680a0e
GM
137112000-01-31 Gerd Moellmann <gerd@gnu.org>
13712
2cb750ba
GM
13713 * xterm.c (xim_open_dpy): Remove unused local variable.
13714
52283633 13715 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13716
13717 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13718 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13719
b6680a0e
GM
13720 * fns.c (sweep_weak_table): New function.
13721 (sweep_weak_hash_tables): Use it. Keep on marking until there
13722 is no more change.
13723
994c5afe
GM
137242000-01-30 Gerd Moellmann <gerd@gnu.org>
13725
13726 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13727 that XTread_socket does not crash by trying to call XNoOp on a
13728 closed display.
427ec082 13729
f00276e3
JR
137302000-01-30 Jason Rumney <jasonr@gnu.org>
13731
13732 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13733 Change selected_frame to SELECTED_FRAME ().
13734 (w32_console_mouse_position): Remove #ifndef MULE from around
13735 `insist' parameter.
13736
13737 * makefile.nt: Remove dosfns.obj.
13738
13739 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13740
13741 * w32fns.c (w32_defined_color): Check for valid frame before
13742 applying gamma correction. Eliminate dependency on frame elsewhere.
13743 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13744 (w32_to_x_font): Use resx and resy not height_in and width_in.
13745 (x_to_w32_font): Doc fix.
13746 (xlfd_strip_height): New function to strip and return font height.
13747 (w32_font_match): Compare height separately from rest of xlfd
13748 spec, using xlfd_strip_height.
13749
13750 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13751 width_in. Use w32_defined_color in place of defined_color.
13752
13753 * w32faces.c: Merge more of DOS and X specifics in preparation for
13754 merge with xfaces.c.
13755 (defined_color): Remove FIXME comment.
13756 (tty_color_name): Provide w32-specific function.
13757 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13758
13759 * w32console.c (turn_on_face, turn_off_face): Removed.
13760 (w32_face_attributes): New function.
13761 (Global_variables): Reduce scope where possible.
13762 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13763 fill attribute.
13764 (hl_mode): Don't modify text attributes.
13765 (write_glyphs): Don't do anything if len <= 0. Use
13766 w32_face_attributes to get attributes for drawing. Write
13767 terminating codes using char_attr_normal.
13768 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13769 (update_begin, update_end): Likewise.
13770 (vga_stdcolor_name): New function.
13771 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13772 (Fset_screen_color): Remove char_attr_reverse.
13773
b08e8bb2
GM
137742000-01-29 Gerd Moellmann <gerd@gnu.org>
13775
13776 * xfns.c (xic_set_preeditarea): Take window parameter and
13777 window-relative pixel-positions.
13778
13779 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
13780 is its frame's selected window.
13781 (xim_instantiate_callback): Likewise.
13782
13783 * xfns.c (x_create_im): Removed.
13784 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
13785 (supported_xim_styles): Renamed from supported_styles.
13786 (best_xim_style): Renamed from best_style.
13787 (create_frame_xic): Renamed from xic_create_frame.
13788 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 13789
b08e8bb2
GM
137902000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
13791
13792 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
13793 our frames, call XFilterEvent with 2nd parameter `None'.
13794 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
13795 returning XBufferOverflow.
52283633 13796 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
13797 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
13798 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
13799 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
13800 (xim_initialize, xim_close)
13801 [HAVE_X_I18N && HAVE_X11R6]: New functions.
13802 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
13803 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
13804 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
13805
13806 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
13807 and `xim_styles'.
13808 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
13809 `xic_style' and `xic_xfs'.
13810 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
13811 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
13812 (FRAME_XIM): Removed.
13813
13814 * xfns.c (supported_styles): New variable.
13815 (DEFAULT_STYLE, DEFAULT_FONT): New macros
13816 (xic_create_xfontset, best_style, xic_create_frame)
13817 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
13818 (xic_set_xfontset): New functions.
13819
142e109c
DL
138202000-01-28 Dave Love <fx@gnu.org>
13821
13822 * s/irix6-5.h: Revert last change after change to irix5-0.h.
13823
13824 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
13825
b02786f9
GM
138262000-01-28 Gerd Moellmann <gerd@gnu.org>
13827
d060bc9f
GM
13828 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
13829 for *scratch* if it already existed.
13830
b02786f9
GM
13831 * emacs.c (USAGE): New macro.
13832 (main): Use it to display usage information.
13833
2c52d7e4
EZ
138342000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13835
13836 Support for the menu-help feature:
13837
52283633 13838 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
13839
13840 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
13841 part of the line to the termscript file.
13842 (IT_clear_to_end): Clear the entire line, not just its beginning.
13843 (menu_help_message, prev_menu_help_message): New variables.
13844 (IT_menu_make_room): Make room for the help_text member.
13845 (IT_menu_display): New argument disp_help; all callers changed.
13846 If disp_help is non-zero, store the help text of the active menu
13847 item in menu_help_message.
13848 (XMenuAddPane): Initialize the help_text member to NULL.
13849 (XMenuAddSelection): New argument help_text. Store it in the
13850 XMenu structure.
13851 (XMenuActivate): New argument help_callback. If the value of
13852 menu_help_message has changed since the last time, display the
13853 menu help message text while waiting for the mouse to move. Clear
13854 the echo area before exiting.
13855 (XMenuDestroy): Free the help_text member.
13856
ffe0bcd1
GM
138572000-01-27 Gerd Moellmann <gerd@gnu.org>
13858
13859 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
13860 XMenuAddSelection. Pass help callback to XMenuActivate.
13861 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
13862
50dbd23f
EZ
138632000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
13864
13865 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
13866 and EMACS_SET_USECS.
13867
f5941bf8
GM
138682000-01-26 Dave Love <fx@gnu.org>
13869
6c67ddee
DL
13870 * editfns.c (Fchar_after, Fchar_before): Doc fix.
13871
f5941bf8
GM
13872 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
13873 an error may be signalled.
13874
9e49c990
GM
138752000-01-26 Gerd Moellmann <gerd@gnu.org>
13876
fc3cb460
GM
13877 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
13878 LD_SWITCH_SYSTEM inherited from irix5-0.h.
13879
9e49c990
GM
13880 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
13881
d0c037d8
GM
138822000-01-25 Gerd Moellmann <gerd@gnu.org>
13883
13884 * charset.c (Fstring): If there is a multibyte char among
13885 the args, always return a multibyte string.
13886
e12489f9
GM
138872000-01-25 Gerd Moellmann <gerd@gnu.org>
13888
13889 * sysdep.c (sys_select): Turn atimers off and on instead of
13890 recording and restoring old alarm handler
13891
13892 * process.c (toplevel): Include atimer.h.
13893 (create_process_1): Rewritten.
13894 (create_process): Use atimers instead of alarm.
13895 (wait_reading_process_input) [hpux]: Turn atimers off instead
13896 of turning off SIGALRM.
13897 (wait_reading_process_input): Turn off atimers instead off
13898 calling stop_polling.
13899
13900 * emacs.c (main): Call init_atimer.
13901
13902 * keyboard.c (toplevel): Include systime.h and atimer.h.
13903 (polling_for_input): Removed because unused.
13904 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
13905 (poll_timer): New variable.
13906 (poll_for_input, poll_for_input_1): New functions.
13907 (start_polling, stop_polling): Rewritten.
13908
13909 * keyboard.h (polling_for_input): Removed.
427ec082 13910
e12489f9
GM
13911 * atimer.h, atimer.c: New files.
13912
13913 * Makefile.in (obj): Add atimer.o.
13914 (atimer.o): New target.
13915
13916 * blockinput.h (pending_atimers): Add extern declaration.
13917 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
13918
13919 * lisp.h (popup_activated_flag): Add extern declaration.
13920
13921 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 13922 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
13923 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
13924
13925 * xterm.c (toplevel): Include atimer.h.
13926 (toolkit_scroll_bar_interaction): New variable.
13927 (Fxt_process_timeouts): Removed.
13928 (x_process_timeouts): New function.
13929 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
13930 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
13931 (x_make_frame_visible): Call poll_for_input_1 instead of
13932 input_poll_signal. Don't call alarm.
13933 (x_initialize): Install timer calling x_process_timeouts.
427ec082 13934
1e5279b9
DL
139352000-01-24 Dave Love <fx@gnu.org>
13936
6c67ddee 13937 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
13938 Don't use -cckr -- apparently not now necessary.
13939
edf6aeb8
EZ
139402000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
13941
13942 * msdos.c (IT_menu_display): Truncate long menu lines at the right
13943 screen boundary.
13944
9badad41
JR
139452000-01-23 Jason Rumney <jasonr@gnu.org>
13946
13947 * w32fns.c (w32_defined_color): Apply gamma correction before
13948 trying to map to the palette.
13949 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
13950 to w32_clear_rect.
13951
13952 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
13953 here. Callers changed to always pass real device context.
13954 (w32_draw_bitmap): Likewise.
13955 (w32_get_glyph_overhangs): Likewise.
52283633 13956 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
13957 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
13958 pfnSetScrollInfo and SetScrollRange.
13959 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
13960 back into MULE characters after decoding them.
13961 (x_get_glyph_face_and_encoding): Likewise.
13962 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
13963 GetCharABCWidthsW fails, since this is defined on Windows 9x.
13964 (x_produce_glyphs): Calculate per char metrics for a character
13965 that we know exists in default font when font_not_found_p is true.
13966
63bd786b
JR
139672000-01-22 Jason Rumney <jasonr@gnu.org>
13968
13969 * makefile.nt (intervals.obj, composite.obj): New modules.
13970 (composite.h): Added as dependency where appropriate.
13971
13972 * w32gui.h (XGCValue): New struct for emulating X GCs.
13973
13974 * w32term.h (XCharStruct): New struct for emulating X.
13975
13976 * w32console.c (turn_on_face, turn_off_face): New functions.
13977 (change_line_highlight): New prototype for new redisplay.
13978 (write_glyphs): Support multibyte text. Support faces.
13979
52283633 13980 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
13981
13982 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
13983 throughout. struct frame * in place of FRAME_PTR.
13984 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 13985 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
13986 (w32_get_arg): Renamed from x_get_arg.
13987 (Fx_file_dialog): New function.
13988 (w32_list_fonts): Check cache before asking system.
13989 (Vw32_enable_synthesized_fonts): New variable.
13990 (Vw32_enable_italics): Obsolete, removed.
13991
13992 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13993 Use SELECTED_FRAME macro.
13994
13995 * w32menu.c: Add skeleton support for help strings on menus.
13996 (add_menu_item): Native checkbox and radio support added, but not
13997 yet enabled due to bugs.
13998 (push_menu_item): Add parameters type, selection and help.
13999 Callers updated.
14000 Formatting changes to reduce unnecessary diffs with xmenu.c.
14001
14002 * w32select.c (Fw32_set_clipboard_data): Update call to
14003 find_charset_in_str.
14004
14005 * w32term.c: Complete rewrite for new redisplay based on new
14006 xterm.c with necessary sections merged back in from old w32term.c.
14007
6ffd3cf7 140082000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14009
14010 * data.c (set_internal): Further fix in same criterion.
14011
6ffd3cf7 140122000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14013
14014 * data.c (set_internal): Fix the criteria for whether
14015 to swap out the old cached binding.
14016
60af03f1
DL
140172000-01-19 Dave Love <fx@gnu.org>
14018
14019 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14020
f9be074f
KH
140212000-01-18 Kenichi Handa <handa@etl.go.jp>
14022
14023 * regex.c (re_compile_fastmap): While checking a range table for
14024 `charset', skip flag bits for a character class correctly.
14025
52b8dbf9
GM
140262000-01-17 Gerd Moellmann <gerd@gnu.org>
14027
d36100c9
GM
14028 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14029
52283633 14030 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14031
14032 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14033 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14034
14035 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14036 MENU_ITEMS_ITEM_.*.
14037 (MENU_ITEMS_ITEM_HELP): New enumerator.
14038 (push_menu_item): Add parameter HELP. Record help in menu_items.
14039 (single_menu_item, single_submenu, list_of_items): Call
14040 push_menu_item with new parameter.
14041 (single_submenu): Set help string in widget value.
14042 (menu_highlight_callback): New function.
14043 (set_frame_menubar): Call lw_create_widget with new
14044 parameter list.
14045 (xmenu_show, xdialog_show): Ditto.
14046
3139018f
GM
140472000-01-13 Gerd Moellmann <gerd@gnu.org>
14048
14049 * sound.c (Fplay_sound): Improve doc string.
14050
83c8f461
RS
140512000-01-11 Richard M. Stallman <rms@gnu.org>
14052
14053 * lisp.h (set_internal): Enter the new arg.
14054
14055 * eval.c (specbind): Record buffer-local variables specially,
14056 indicating which buffer's binding was saved.
14057 (unbind_to): Restore buffer-local variables specially
14058 in the proper buffer.
14059
14060 * data.c (set_internal): New arg BUF.
427ec082 14061
83c8f461
RS
14062 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14063 * data.c (Fset): Pass new arg to set_internal.
14064 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14065
1fab1775
GM
140662000-01-11 Gerd Moellmann <gerd@gnu.org>
14067
52283633 14068 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14069
83c8f461 140702000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14071
14072 * minibuf.c (Ftry_completion): Doc fix.
14073
7a85e4df
GM
140742000-01-11 Gerd Moellmann <gerd@gnu.org>
14075
14076 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14077 vector, too.
14078
a970dae4
AS
140792000-01-11 Andreas Schwab <schwab@suse.de>
14080
14081 * coding.c (code_convert_region): Initialize total_skip.
14082
c65d14ee
DL
140832000-01-08 Dave Love <fx@gnu.org>
14084
14085 * eval.c (Fuser_variable_p): Check customizability too.
14086
834938d2
GM
140872000-01-07 Gerd Moellmann <gerd@gnu.org>
14088
14089 * minibuf.c (Fcompleting_read): Doc fix.
14090
e0303cd6
GM
140912000-01-05 Gerd Moellmann <gerd@gnu.org>
14092
8a26744b
GM
14093 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14094 -L /usr/local/lib.
14095
e0303cd6
GM
14096 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14097 Check that input style is supported before trying to create an
14098 IC for it.
14099 (x_window): Call x_create_im.
427ec082 14100
2e471eb5
GM
141012000-01-04 Gerd Moellmann <gerd@gnu.org>
14102
560a7bd2
GM
14103 * xfns.c (current_gif_memory_src): New variable.
14104 (gif_load): Record the address of the current memory source
14105 in current_gif_memory_src.
14106 (gif_read_from_memory): Use current_gif_memory_src.
14107
f9ee84a3
GM
14108 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14109 macros statement form.
14110
d1299cde
GM
14111 * sound.c (struct sound): Renamed from struct sound_file.
14112 (struct sound): Add members `data' and `header_size'.
14113 (enum sound_attr): Add SOUND_DATA.
14114 (current_sound, current_sound_device): Variables renamed from
14115 sound_file and sound_device.
14116 (parse_sound): Parse :data.
14117 (parse_sound): Handle sound data in strings.
14118 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14119 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14120 needed header size.
14121 (wav_play, au_play): Play sounds from string data.
14122
2e471eb5
GM
14123 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14124
14125 * lisp.h: Add prototype for allocate_string_data.
14126
52283633 14127 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14128
14129 * alloc.c (mark_buffer): Remove code in #if 0.
14130 (gc_sweep): Ditto.
14131 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14132 (strings_consed): New variable.
14133 (allocate_string): Set it.
14134 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14135 (Fmemory_use_counts): Return strings_consed. Use Flist.
14136
14137 * alloc.c: General cleanup in comments etc. Remove conditional
14138 compilation for `standalone'.
14139
14140 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14141
14142 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14143 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14144 (DONT_COPY_FLAG): Removed.
14145 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14146 (struct sdata, struct sblock): New
14147 (struct string_block): Rewritten.
14148 (STRINGS_IN_STRING_BLOCK): New macro.
14149 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14150 (large_sblocks, string_blocks, string_free_list): New variables.
14151 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14152 (init_strings): Rewritten.
14153 (allocate_string, allocate_string_data, compact_small_strings)
14154 (free_large_strings, sweep_strings): New functions.
14155 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14156 (struct string_block_head, current_string_block)
14157 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14158 (STRING_PAD): Removed.
14159 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14160 (Fgarbage_collect): Don't set mark bit in large strings.
14161 (mark_object): Mark strings differently. Mark symbol names
14162 differently.
14163 (survives_gc_p): Test marked strings differently.
427ec082 14164 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14165 symbol names.
14166 (compact_strings): Removed.
14167
42608ba8
EZ
141682000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14169
14170 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14171 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14172
e0a09e1a
KH
141732000-01-04 Kenichi Handa <handa@etl.go.jp>
14174
dd9f0750 14175 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14176 in a non-empty buffer.
dd9f0750 14177
3c0f3b15 14178 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14179
44cd3ae5
GM
141802000-01-03 Gerd Moellmann <gerd@gnu.org>
14181
14182 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14183 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14184
14185 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14186
c182a70f
EZ
141872000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14188
14189 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14190 need to test for MSDOS frames.
14191
24480d5b
EZ
141922000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14193
14194 * dosfns.c (unspecified_colors): Remove.
14195 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14196 unspecified_bg.
14197 (msdos_stdcolor_name): Return strings for unspecified fore- and
14198 back-ground colors.
14199
14200 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14201 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14202 (tty_color_name): Return Lisp strings for unspecified fore- and
14203 back-ground colors.
14204 (Finternal_set_lisp_face_attribute): Remove the special treatment
14205 for Qunspecified_{f,b}g.
52283633 14206 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14207
047f434a
GM
142082000-01-03 Gerd Moellmann <gerd@gnu.org>
14209
14210 * xdisp.c (reseat_at_next_visible_line_start): Position before
14211 newline only if ending up on a newline.
14212 (next_element_from_ellipsis): Return success. Handle case of
52283633 14213 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14214 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14215 returns 0.
14216
d684c676
EZ
142172000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14218
14219 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14220 (Fcolor_supported_p): Renamed from face-color-supported-p.
14221
5fe1d139
EZ
142222000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14223
14224 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14225 list of colors renamed to tty-defined-color-alist.
14226 (tty_color_name): Pass the frame to tty-color-by-index.
14227 (realize_tty_face): tty-color-alist is now a function which
14228 accepts the frame as argument.
14229
52283633 14230 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14231
816be8b8
EZ
142322000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14233
14234 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14235 encode_terminal_code.
14236
b635321e
EZ
142372000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14238
14239 * dispnew.c (mode_line_string): Support termcap frames as well.
14240
9b784e96
GM
142412000-01-01 Gerd Moellmann <gerd@gnu.org>
14242
27189709
GM
14243 * syntax.c (Fforward_word): Undo previous change.
14244
14245 * editfns.c (Fconstrain_to_field): Don't constrain if
14246 inhibit-field-text-motion is non-nil.
14247 (Fline_beginning_position): Undo previous change.
14248 (Fline_end_position): Ditto.
14249
14250 * syntax.c (Fforward_word): Notice field boundaries only if
14251 inhibit-field-text-motion is nil.
14252
14253 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14254
14255 * editfns.c (Vinhibit_field_text_motion): New variable.
14256 (inhibit-field-text-motion): New DEFVAR_LISP.
14257 (Fline_beginning_position, Fline_end_position): Notice field
14258 boundaries only if inhibit-field-text-motion is nil.
14259
45158a91
GM
14260 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14261 All calls adjusted.
14262 (x_build_heuristic_mask): Likewise.
14263 (xbm_load_image_from_file): Change error output.
14264 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14265 (gif_load, gs_load, x_kill_gs_process): Ditto.
14266
9b784e96
GM
14267 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14268 color indices when accessing raster pixels.
63cec32f
GM
14269 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14270 one of :file or :data.
14271 (enum pbm_keyword_index): Add PBM_DATA.
14272 (pbm_format): Add :data.
14273 (pbm_image_p): Allow either :file or :data.
14274 (pbm_read_file): New function.
14275 (pbm_scan_number): Rewritten to read from string.
14276 (pbm_load): Support :data.
9b784e96 14277
2cb085db 14278See ChangeLog.8 for earlier changes.
6922b018
KH
14279
14280;; Local Variables:
49b3bd82 14281;; coding: iso-2022-7bit
6922b018 14282;; End:
2a34a036
GM
14283
14284 Copyright (C) 2001 Free Software Foundation, Inc.
14285 Copying and distribution of this file, with or without modification,
14286 are permitted provided the copyright notice and this notice are preserved.